C語言基本輸入輸出_第1頁
C語言基本輸入輸出_第2頁
C語言基本輸入輸出_第3頁
C語言基本輸入輸出_第4頁
C語言基本輸入輸出_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第四章基本輸入輸出4.1C語句概述語句:語句用來向計(jì)算機(jī)系統(tǒng)發(fā)出操作命令,編譯后產(chǎn)生若干機(jī)器指令。C語句都是用來完成一定操作任務(wù)的,聲明部分的內(nèi)容不應(yīng)稱為語句,如floata;return4.1C語句概述C語句的分類:(1)控制語句(2)函數(shù)調(diào)用語句(3)表達(dá)式語句(4)空語句(5)復(fù)合語句(1)控制語句1.選擇分支控制語句

if()…else…

switch(){…} 2.循環(huán)控制語句for()…

while()…do…while()3.其他控制語句break、continue、gotoreturn表達(dá)式后面加一個(gè)分號(hào),構(gòu)成表達(dá)式語句x=3i++x=3;y=y+5;x=a-b&&c||d;printf("x=%d,y=%d\n",x,y);c=max(a,b);(2)表達(dá)式語句、函數(shù)調(diào)用語句賦值語句函數(shù)調(diào)用語句表達(dá)式注意區(qū)分表達(dá)式與語句:if((a=b)>0)t=a;if((a=b;)>0)t=a;

注意:

①分號(hào)是語句必不可少的一部分②單獨(dú)的一個(gè)分號(hào)“;”構(gòu)成一個(gè)空語句例如:;(可以表示循環(huán)語句的循環(huán)體)(2)表達(dá)式語句、函數(shù)調(diào)用語句(3)復(fù)合語句用一對(duì)花括號(hào)“{}”括起來的若干條語句

花括號(hào)中可以是說明語句、表達(dá)式語句、控制語句,也可以是復(fù)合語句例如:⑴if(a>b){max=a;min=b;}

⑵for(n=1;n<10;n++)

{p=n+p;if(p>=100)

{

printf(“%d\n”,p);break;

}

}

4.2數(shù)據(jù)I/O的概念及在C語言中的實(shí)現(xiàn)1.I/O的概念2.C本身無輸入輸出語句,I/O由函數(shù)完成printf,scanf不是C語言的關(guān)鍵字,而只是函數(shù)名3.使用庫函數(shù)時(shí),要用預(yù)編譯指令#include將有關(guān)的“頭文件”包括到用戶源文件中如,使用標(biāo)準(zhǔn)I/O函數(shù)時(shí),要用到“stdio.h”文件

#include<stdio.h>或#include“stdio.h”格式:putchar(c)參數(shù):c為字符或整型常量、變量或表達(dá)式功能:把字符c輸出到顯示器上4.3字符數(shù)據(jù)的輸入和輸出putchar函數(shù)(字符輸出函數(shù))#include<stdio.h>main(){intc;chara;c=65;a='B';putchar(c);putchar('\n');putchar(a);}運(yùn)行結(jié)果:AB例1#include<stdio.h>main(){putchar('\101');putchar('\'');putchar('\015');}例2//輸出字符‘A’//輸出單撇號(hào)字符‘//輸出回車不換行格式:getchar()功能:接收從鍵盤輸入的一個(gè)字符,

函數(shù)值為輸入的字符值getchar函數(shù)(字符輸入函數(shù))#include<stdio.h>main(){intc;printf(“Enteracharacter:\n");c=getchar();putchar(c);}運(yùn)行結(jié)果:Enteracharacter:aa注意:(1)getchar()只能接收一個(gè)字符,接受到的字符可以賦給字符型或整型變量,也可以作為表達(dá)式(2)調(diào)用getchar()時(shí),需要在main()函數(shù)前加

上“預(yù)處理命令”:#include<stdio.h>#include"stdio.h"main(){charch;printf("Pleaseinputtwocharacter:");ch=getchar(); putchar(ch);putchar('\n');putchar(getchar());putchar('\n');}運(yùn)行結(jié)果:abab運(yùn)行結(jié)果:abcdeab#include<stdio.h>main(){inti;charj;clrscr();i=getchar();j=getchar();putchar(getchar());printf("%c",getchar());}運(yùn)行結(jié)果:abcdcd運(yùn)行結(jié)果:abcdefgcd格式:printf(“格式控制”,輸出表列)功能:按指定格式向顯示器輸出數(shù)據(jù)4.5格式輸出函數(shù)格式控制:包含兩種信息格式說明:

%[修飾符]格式字符

,用于指定輸出格式普通字符或轉(zhuǎn)義序列輸出表列:要輸出的數(shù)據(jù)(可以沒有,多個(gè)時(shí)以“,”分隔)printf函數(shù)(格式輸出函數(shù))例例inta=3,b=4;printf(“%d%d\n”,a,b);

printf(“a=%4d,b=%d\n”,a,b);

格式說明輸出列表格式說明輸出列表

輸出結(jié)果:34輸出結(jié)果:a=3,b=4格式字符:十六進(jìn)制無符號(hào)整數(shù)不帶符號(hào)十進(jìn)制整數(shù)十進(jìn)制整數(shù)單一字符八進(jìn)制無符號(hào)整數(shù)inta=567;printf(“%d”,a);inta=-1;printf(“%x”,a);inta=-1;printf(“%o”,a);inta=-1;printf(“%u”,a);chara=65;printf(“%c”,a);567fffdx,Xouc說明:以%o,%x形式輸出的數(shù)值是無符號(hào)數(shù)格式字符:se,Efg,G%指數(shù)形式輸出實(shí)數(shù)字符串小數(shù)形式輸出實(shí)數(shù)e和f中較短一種百分號(hào)本身printf(“%s”,“ABC”);floata=567.789;printf(“%e”,a);floata=567.789;printf(“%f”,a);floata=567.789;printf(“%g”,a);printf(“%%”);ABC5.67789e+02567.789000567.789%說明

除X、E、G外,格式字符要用小寫格式字符與輸出項(xiàng)個(gè)數(shù)應(yīng)相同,按先后順序一一對(duì)應(yīng)輸出轉(zhuǎn)換:格式字符與輸出項(xiàng)類型不一致,自動(dòng)按指定格式輸出例

main(){unsignedintu=65535;printf(“u=%d\n”,u);}

輸出結(jié)果:u=-1例inta=3,b=4;printf(“%d%d\n”,a,b);printf(“a=%d,b=%d\n”,a,b);“例inta=3,b=4;printf(“%d%d\n”,a,b);printf(“a=%d,b=%d\n”,a,b);輸出結(jié)果:34a=3,b=4111111111111111165535附加格式說明符(修飾符)功能.n對(duì)實(shí)數(shù),指定小數(shù)點(diǎn)后位數(shù)(四舍五入)對(duì)字符串,截取的字符個(gè)數(shù)修飾符m輸出數(shù)據(jù)域?qū)?數(shù)據(jù)長度<m,左補(bǔ)空格;否則按實(shí)際輸出輸出數(shù)據(jù)在域內(nèi)左對(duì)齊(缺省右對(duì)齊)-在d,o,x,u前,指定輸出精度為long型l例inta=1234;floatf=123.456;charch=‘a(chǎn)’;printf(“%8d,%2d\n”,a,a);

printf(“%f,%8f,%8.1f,%.2f,%.2e\n”,f,f,f,f,f);printf(“%3c\n”,ch);運(yùn)行1234,1234結(jié)果:123.456000,123.456000,123.5,123.46,1.23e+02

a例m.ninta=1234;floatf=123.456;staticcharc[]=“Hello,world!”;printf(“%8d,%-8d\n”,a,a);printf(“%10.2f,%-10.1f\n”,f,f);printf(“%10.5s,%-10.3s\n”,c,c);1234,1234

123.46,123.5

Hello,Hel例-longa=65536;printf(“%d,%8ld\n”,a,a);

00000000000000010000000000000000運(yùn)行結(jié)果:0,65536scanf函數(shù)(格式輸入函數(shù))格式:scanf(“格式控制串”,地址表)功能:按指定格式從鍵盤讀入數(shù)據(jù),存入地址

表指定的存儲(chǔ)單元中,并按回車鍵結(jié)束地址表:變量的地址,常用取地址運(yùn)算符&格式字符:d,i,o,x,u,c,s,f,e,g例scanf(“%d”,&a);

輸入:10

則a=10例scanf(“%x”,&a);

輸入:10

則a=16附加格式說明符(修飾符)l修飾符功能hm*用于d,o,x前,指定輸入為short型整數(shù)用于d,o,x,u前,指定輸入為long型整數(shù)用于e,f前,指定輸入為double型實(shí)數(shù)指定輸入數(shù)據(jù)寬度,應(yīng)為正整數(shù)表示本輸入項(xiàng)在讀入后不賦給相應(yīng)的變量例scanf(“%4d%2d%2d”,&yy,&mm,&dd);

輸入19991015

則1999yy,10mm,15dd例scanf(“%3d%*4d%f”,&k,&f);

輸入12345678765.43則123k,8765.43f例scanf(“%2d%*3d%2d”,&a,&b);

輸入1234567則12a,67b例scanf(“%3c%2c”,&c1,&c2);

輸入abcde

則‘a(chǎn)’c1,‘d’c2輸入分隔符的指定一般以空格、TAB或回車鍵作為分隔符其它字符做分隔符:格式串中兩個(gè)格式符間字符例scanf(“%d%o%x”,&a,&b,&c);printf(“a=%d,b=%d,c=%d\n”,a,b,c);

輸入123123123輸出a=123,b=83,c=291例scanf(“%d:%d:%d”,&h,&m,&s);

輸入12:30:45則12h,30m,45s例scanf(“%d,%d”,&a,&b)

輸入3,4

則3a,4b例scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);

輸入a=12,b=24,c=36說明:用“%c”格式符時(shí),空格和轉(zhuǎn)義字符作為有效字符輸入如scanf(“%c%c%c”,&c1,&c2,&c3);

若輸入abc

則ac1,

c2,bc3輸入數(shù)據(jù)時(shí),只能規(guī)定寬度,不能規(guī)定精度

scanf(“%7.2f”,&a);(×)4.6程序舉例#include<math.h>#include<stdio.h>main(){floata,b,c,s,area;scanf("%f,%f,%f",&a,&b,&c);s=1.0/2*(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c));printf("a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2f\n",a,b,c,s);printf("area=%7.2f\n",area);}例輸入三角形邊長,求面積輸入:3,4,6輸出:a=3.00,b=4.00,c=6.00s=6.50area=5.33文件包含預(yù)處理命令變量定義輸入數(shù)據(jù)輸出數(shù)據(jù)例從鍵盤輸入大寫字母,用小寫字母輸出/*ch3_10.c*/#include"stdio.h"main(){charc1,c2;c1=getchar();printf("%c,%d\n",c1,c1);c2=c1+32;printf("%c,%d\n",c2,c2);}輸入:A

輸出:A,65a,97順序結(jié)構(gòu)程序設(shè)計(jì)總結(jié)在順序結(jié)構(gòu)程序中,一般包括以下幾個(gè)部分:1.程序開頭的編譯預(yù)處理命令在程序中要使用標(biāo)準(zhǔn)函數(shù)(又稱庫函數(shù))除printf()和scanf()外,其它的都必須使用編

譯預(yù)處理命令,將相應(yīng)的頭文件包含進(jìn)來。return順序結(jié)構(gòu)程序設(shè)計(jì)總結(jié)2.順序結(jié)構(gòu)程序的函數(shù)體(1)變量類型的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論