版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第3章順序結(jié)構(gòu)
C程序的語句
數(shù)據(jù)的輸入和輸出
程序舉例
本章要點C程序的語句一、說明語句說明語句包括變量(或數(shù)組)定義語句和函數(shù)聲明語句兩種,而最常用的是變量(或數(shù)組)定義語句,通過變量定義語句確定變量的類型與初值。例如:charch1,ch2;intx,y,z=1;floata,b,c;doubled1,d2;執(zhí)行語句可分為以下五類:1、表達(dá)式語句。如:k=k+1;為賦值語句
k+1;為表達(dá)式語句k++;為自增1語句
a=(b=5)+(c=3);2、復(fù)合語句。如:{z=x+y;t=z/100;}一個復(fù)合語句在語法上作為一條語句處理,在一對花括號中的語句數(shù)量不限。
復(fù)合語句花括號必須配對;右花括號的后面不加分號。在復(fù)合語句中,不僅可以有執(zhí)行語句,還可以有說明語句.
如:{inta=5;b=a*a;}
C程序的語句二、執(zhí)行語句3、空語句。“;”4、函數(shù)調(diào)用語句。如:printf(“**book**”);
5、控制語句(9種)。如:if語句,for語句等條件語句。用于控制分支結(jié)構(gòu)的語句;如if語句、switch語句等。循環(huán)語句。用于控制循環(huán)結(jié)構(gòu)的語句;如while語句、dowhile語句、for語句等。轉(zhuǎn)向語句。轉(zhuǎn)向語句主要有g(shù)oto語句、break語句、continue語句、return語句等。C程序的語句數(shù)據(jù)的輸入和輸出C語言中沒有提供輸入輸出語句,其輸入輸出操作,是通過C語言系統(tǒng)所提供的輸入輸出函數(shù)
來實現(xiàn)的。1、默認(rèn)的標(biāo)準(zhǔn)輸入輸出設(shè)備是鍵盤和顯示器。2、輸入輸出函數(shù)被放在標(biāo)準(zhǔn)的I/O函數(shù)庫中,庫中的公用信息存放在頭文件stdio.h中,若要使用這些輸入輸出函數(shù),必須在源程序的開始使用預(yù)處理命令:
#include"stdio.h"一、字符輸入函數(shù)getchar()
格式:getchar()功能:從標(biāo)準(zhǔn)輸入設(shè)備上輸入一個字符。函數(shù)的值就是從輸入設(shè)備得到的字符。
如:charch;ch=getchar();注意:getchar()只能接收一個字符,而且只有在用戶敲入回車鍵<Enter>后,讀入才開始執(zhí)行。數(shù)據(jù)的輸入和輸出二、字符輸出函數(shù)putchar()格式:putchar(ch)
功能:將ch的值向標(biāo)準(zhǔn)輸出設(shè)備輸出。其中ch可以是字符型變量,整型變量,字符型常量。也可以輸出轉(zhuǎn)義字符。數(shù)據(jù)的輸入和輸出例:#include“stdio.h”main(){chara,b,c;a=‘T’;b=‘e’;c=‘a(chǎn)’;
putchar(a);putchar(b);putchar(c);
}程序運行結(jié)果:Tea#include"stdio.h"main(){ chara,b,c;a=getchar();b='c';c='t';putchar(a);putchar('\n');putchar(b);putchar('\n');putchar(c);putchar('\n');}數(shù)據(jù)的輸入和輸出三、格式輸出函數(shù)printf()格式:printf(“控制字符串”,輸出項列表)功能:按控制字符串規(guī)定的輸出格式,將輸出項列表中的各輸出項的值依次輸出到系統(tǒng)指定的標(biāo)準(zhǔn)輸出設(shè)備(顯示器)上。數(shù)據(jù)的輸入和輸出其中:控制字符串包括:格式說明和普通字符
①格式說明:%[m.n][l]格式字符作用是將輸出的數(shù)據(jù)轉(zhuǎn)換為格式字符規(guī)定的格式,然后輸出。
格式字符意義d以十進(jìn)制有符號形式輸出整型數(shù)據(jù)o以八進(jìn)制無符號形式輸出整型數(shù)據(jù)(不帶前導(dǎo)0)x以十六進(jìn)制無符號形式輸出整型數(shù)據(jù)(不帶前導(dǎo)0x)u以十進(jìn)制無符號形式輸出整型數(shù)據(jù)c輸出一個字符s輸出字符串中的字符,直到遇到“\0”,或者輸出由精度指定的字符數(shù)f以小數(shù)形式輸出單精度和雙精度數(shù)據(jù),隱含的小數(shù)位數(shù)為6e以規(guī)格化的指數(shù)形式輸出單精度和雙精度數(shù)據(jù),隱含的小數(shù)位數(shù)為6g按e和f格式中寬度較短的一種輸出,不輸出無意義的0printf(“控制字符串”,輸出項列表)字符意義字母l用于長整型整數(shù)的輸出,可加在格式符d、o、x、u前面m(正整數(shù))指定輸出數(shù)據(jù)所占的寬度,若輸出的數(shù)據(jù)位數(shù)>m,為保證數(shù)據(jù)的正確性,則按實際位數(shù)輸出;如果數(shù)據(jù)的位數(shù)<m,則多出的位數(shù)補空格.n(正整數(shù)).n稱為精度。對實數(shù),表示輸出n位小數(shù);對字符串,表示截取的字符個數(shù);對于整數(shù),指定必須輸出的數(shù)字個數(shù),若輸出的數(shù)字少于指定的個數(shù),則前面補0,否則按原樣輸出-輸出的數(shù)字或字符左對齊+使輸出的數(shù)字總是帶“+”或“-”號0在輸出的數(shù)據(jù)前加前導(dǎo)“0”#使輸出的八進(jìn)制數(shù)(或十六進(jìn)制數(shù))帶前導(dǎo)0(或0x)printf(“控制字符串”,輸出項列表)
輸出項列表:是需要輸出的一些數(shù)據(jù),可以是一個或者是多個輸出項,當(dāng)有多個輸出項時,輸出項之間用逗號“,”隔開,輸出項可以是常量、變量或表達(dá)式。輸出項的個數(shù)和類型必須與控制字符串的格式字符的個數(shù)、類型相匹配。②普通字符:原樣輸出的字符;它可以包含可打印的字符和不可打印的字符,可打印的字符在“控制字符串”中直接用字符符號表示,不可打印的字符用轉(zhuǎn)義字符表示,如換行‘\n’,水平制表‘\t’等。數(shù)據(jù)的輸入和輸出printf(“控制字符串”,輸出項列表)數(shù)據(jù)的輸入和輸出例:main(){charch=‘a(chǎn)’;inta=123;floatx=12.3456;printf(“Hellocomputer\n”);printf(“%c,%d\n”,ch,ch); printf(“%d,%o,%x,%u\n”,a,a,a,a);printf(“%+d,%+d,%#o,%#x\n”,8,-8,a,a);printf(“%.5d,%.2d,%5d,%05d\n”,a,a,a,a);printf(“%f%10.4f%5.4f%2.3f\n”,x,x,x,x);}運行結(jié)果為:Hellocomputera,97123,173,7b,123+8,-8,0173,0x7b00123,123,123,0012312.34560012.345612.345612.346例:設(shè)a=12478,b=1274.678,c=’Hello’格式控制符 a輸出格式 b輸出格式 c輸出格式 %d %8d %3d %o %x %u %-8d %f %e %8.2f %6.2f %10.2e %-10.2e %s %3s %7s %7.2s %-7.2s
12478 12478124783027630be1247812478
1274.6780001.274678e+0031274.681274.681.27e+0031.27e+003HelloHello HelloHeHe數(shù)據(jù)的輸入和輸出注意:(1)在格式控制字符串中,格式說明與輸出項從左到右在類型上必須一一對應(yīng)匹配。對long型數(shù)據(jù)要使用%ld格式輸出。(2)在格式控制字符串中,格式說明與輸出項的個數(shù)應(yīng)該相同。如果格式說明的個數(shù)少于輸出項的個數(shù),則多余的輸出項不輸出;如果格式說明的個數(shù)多于輸出項的個數(shù),則對于多余的格式將輸出項不定值(或0值)。(3)在格式控制字符串中,除了合法的格式說明外,可以包含任意的合法字符(包括轉(zhuǎn)義字符),這些字符在輸出時“原樣照印”。(4)若需輸出百分號%,則在格式控制字符串中用“%%”表示。(5)在輸出語句中改變輸出變量的值,如:inta=5;printf(“%d%d\n”,a,a++);(6)printf函數(shù)的返回值通常是本次調(diào)用中輸出字符的個數(shù)。數(shù)據(jù)的輸入和輸出四、格式輸入函數(shù)scanf()格式:scanf(“控制字符串”,地址表列)功能:按控制字符串規(guī)定的輸入格式,從系統(tǒng)指定的標(biāo)準(zhǔn)輸入設(shè)備(鍵盤)上將輸入的數(shù)據(jù)依次存到輸入項地址表列所指定的內(nèi)存單元中。
地址表列:變量的地址表,即:&變量名,&變量名,…
控制字符串:與printf()函數(shù)類似。數(shù)據(jù)的輸入和輸出例:main(){inta,b,c;scanf(“%d%d%d”,&a,&b,&c);printf(“a=%d,b=%d,c=%d\n”,a,b,c);printf(“s=%d”,a+b+c);}運行結(jié)果:從鍵盤上輸入:312110屏幕上則顯示:a=3,b=12,c=110s=125數(shù)據(jù)的輸入和輸出注意:(1)輸入long整型數(shù)據(jù)時,在“%”和“d”之間必須加“l(fā)”;輸入double型數(shù)據(jù)時,在“%”和“f(e)”之間也必須加l。否則得不到正確的數(shù)據(jù)。(2)當(dāng)指定輸入數(shù)據(jù)所占的寬度m時,系統(tǒng)自動按寬度m截取所需數(shù)據(jù)。但不能對實型數(shù)據(jù)指定小數(shù)位的寬度。例:scanf(“%4d%2d”,&a,&b);
若輸入:123456則將1234→a,56→b
scanf(“%7.2f”,&a);不合法。(3)輸入項與控制字符串中的格式說明從左到右在類型上必須一一對應(yīng)匹配。(4)數(shù)據(jù)輸入的合法結(jié)束:空格(一個或多個)、回車、TAB鍵、數(shù)據(jù)域?qū)?,非法輸入。?)在用“%c”格式輸入字符時,空格符、制表符或回車符、“轉(zhuǎn)義字符”等都是有效字符。但是,如果在格式說明之間加入了空格后,這時輸入字符中的空格符、制表符和回車符都將作為間隔符。數(shù)據(jù)的輸入和輸出例:已知:charc1,c2,c3;inta,b;floatd,e;格式輸入語句輸入數(shù)據(jù)的格式變量獲得的值 scanf(“%d%d%f”,&a,&b,&d) 101112.5a=10,b=11,d=12.5 scanf(“%d,%d,%f”,&a,&b,&d) 10,11,12.5a=10,b=11,d=12.5 scanf(“%d,%*d,%f”,&a,&d) 10,11,12.5a=10,d=12.5 scanf(“%2d%2d”,&a,&b) 10113a=10,b=11 scanf(“%c%c%c”,&c1,&c2,&c3) ABCc1=’A’,c2=’B’,c3=’C’ABCc1=’A’,c2=’‘,c3=’B’ scanf(“%d%c%d”,&a,&c1,&b) 123c48Da=123,c1=’c’,b=48 scanf(“%7.2f”,&d)這是錯誤格式。因為輸入數(shù)據(jù)時不能規(guī)定精度。 程序舉例例:已知a=5.0,b=2.5,c=7.8,計算運行結(jié)果:y=1.602041程序代碼如下:#include"stdio.h"#definePI3.14main(){floata=5.0,b=2.5,c=7.8,y;y=PI*a*b/(a+b*c);printf("y=%f\n",y);}程序舉例例:從鍵盤輸入兩個整數(shù)賦給變量a和b,要求交換變量a和b中的值。程序代碼如下:#include"stdio.h"main(){inta,b,t;sanf(“%d%d”,&a,&b);printf("a=%d,b=%d\n",a,b);
t=a;a=b;b=t;printf("a=%d,b=%d\n",a,b);}運行結(jié)果:輸入:2266<Enter>輸出:a=22,b=66a=66,b=22學(xué)會如何交換兩個變量的值!!#include"stdio.h"main(){charc1,c2;c1=getchar();printf("%c,%d",c1,c1);c2=c1+32;printf("%c,%d",c2,c2);}例:從鍵盤輸入一個大寫字母,要求改用小寫字母輸出。程序代碼如下:運行結(jié)果:輸入:A<Enter>輸出:A,65a,97程序舉例1、若有以下定義和語句:intu=010,v=0x10,w=10;printf("%d,%d,%d\n",u,v,w);則輸出結(jié)果是:A)8,16,10B)10,10,10C)8,8,10D)8,10,102、
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 在線問答平臺推廣合同(2篇)
- 墊付資金購車協(xié)議書(2篇)
- 礦山企業(yè)人防工程承包合同
- 礦山開采項目施工合同
- 2024版消防標(biāo)識制作采購合同
- 浙江防火潔凈板施工方案
- 電子產(chǎn)品租賃:諾成合同的重要性
- 冰雪運動設(shè)備租賃合同
- 風(fēng)電場基礎(chǔ)工程定向鉆施工合同
- 職業(yè)規(guī)劃師聘用合同協(xié)議
- 【傳媒大學(xué)】2024年新營銷
- 2025屆廣東省佛山市高三上學(xué)期普通高中教學(xué)質(zhì)量檢測(一模)英語試卷(無答案)
- 自身免疫性腦炎課件
- 2024-2030年撰寫:中國第三方檢測項目風(fēng)險評估報告
- 信陽農(nóng)林學(xué)院《新媒體傳播學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024建筑公司年終工作總結(jié)(32篇)
- 污水廠防汛知識培訓(xùn)課件
- (正式版)SH∕T 3548-2024 石油化工涂料防腐蝕工程施工及驗收規(guī)范
- (高清版)JTG 3370.1-2018 公路隧道設(shè)計規(guī)范 第一冊 土建工程
- 醫(yī)院安保人員錄用上崗管理辦法
- 公共政策分析簡答題
評論
0/150
提交評論