版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第三章順序結(jié)構(gòu)程序設(shè)計
8/6/20231第三章順序結(jié)構(gòu)程序設(shè)計7/31/202313.1基本語句(1)空語句:即只有一個分號的語句。
;(2)表達式語句:表達式后加一個分號。如:m=0;x+y-10%2+2*x,10/2;無具體意義(3)函數(shù)調(diào)用語句:函數(shù)調(diào)用加一個分號。如:printf(“thisisaexample.\n”);(4)控制語句:是C語言中完成一定控制功能的語句,有如表3.1所示。8/6/202323.1基本語句(1)空語句:即只有一個分號的語句。7/31表3.1條件控制語句循環(huán)控制語句輔助控制語句if語句switch語句while語句do-while語句for語句break中斷語句continue繼續(xù)語句goto轉(zhuǎn)向語句return返回語句8/6/20233表3.1條件控制語句循環(huán)控制語句輔助控制語句if語句whil(5)復(fù)合語句。將一組語句用花括號{}括起來就形成了復(fù)合語句,又稱其為分程序。如:{m=10;printf(“m=%d\n”,m);}8/6/20234(5)復(fù)合語句。將一組語句用花括號{}括起來就形成了復(fù)合語3.2賦值語句賦值表達式后加上一個分號。例:利用賦值語句交換兩變量的值。設(shè)有定義:inta=12,b=5,t;則可以用如下兩種方式交換變量a和b的值:⑴t=a;a=b;b=t;⑵a=a+b;b=a-b;a=a-b;8/6/202353.2賦值語句賦值表達式后加上一個分號。7/31/2023.3數(shù)據(jù)的輸入輸出
C語言無I/O語句,I/O操作由函數(shù)實現(xiàn)#include<stdio.h>格式:printf(“格式控制串”,輸出表)功能:按指定格式向顯示器輸出數(shù)據(jù)返值:正常,返回輸出字節(jié)數(shù);出錯,返回EOF(-1)一、格式輸出函數(shù)輸出表:要輸出的數(shù)據(jù)(可以沒有,多個時以“,”分隔)格式控制串:包含兩種信息格式說明:%[修飾符]格式字符
,用于指定輸出格式普通字符或轉(zhuǎn)義序列:原樣輸出格式字符8/6/202363.3數(shù)據(jù)的輸入輸出C語言無I/O語句,I/O操作由函數(shù)d,ix,Xoucse,Efg%%格式字符:十六進制無符號整數(shù)不帶符號十進制整數(shù)十進制整數(shù)指數(shù)形式浮點小數(shù)單一字符字符串八進制無符號整數(shù)小數(shù)形式浮點小數(shù)e和f中較短一種百分號本身inta=567;printf(“%d”,a);inta=255;printf(“%x”,a);inta=65;printf(“%o”,a);inta=567;printf(“%u”,a);chara=65;printf(“%c”,a);printf(“%s”,“ABC”);floata=567.789;printf(“%e”,a);floata=567.789;printf(“%f”,a);floata=567.789;printf(“%g”,a);printf(“%%”);567ff101567AABC5.677890e+02567.789000567.789%說明 格式字符要用小寫格式字符與輸出項個數(shù)應(yīng)相同,按先后順序一一對應(yīng)輸出轉(zhuǎn)換:格式字符與輸出項類型不一致,自動按指定格式輸出例
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=41111111111111111655358/6/20237d,ix,Xoucse,Efg%%格式字符:十六進制無符號整附加格式說明符(修飾符).n對實數(shù),指定小數(shù)點后位數(shù)(四舍五入)對字符串,指定實際輸出位數(shù)修飾符功能m輸出數(shù)據(jù)域?qū)?數(shù)據(jù)長度<m,左補空格;否則按實際輸出輸出數(shù)據(jù)在域內(nèi)左對齊(缺省右對齊)-指定在有符號數(shù)的正數(shù)前顯示正號(+)+輸出數(shù)值時指定左面不使用的空位置自動填00在八進制和十六進制數(shù)前顯示前導(dǎo)0,0x#在d,o,x,u前,指定輸出精度為long型在e,f,g前,指定輸出精度為double型l8/6/20238附加格式說明符(修飾符).n對實數(shù),指定小數(shù)點后位數(shù)(四舍五例inta=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);運行結(jié)果:1234,1234
123.46,123.5
Hello,Hel格式說明符例子8/6/20239例inta=1234;運行結(jié)果:1234,12例inta=1234;floatf=123.456;printf(“%08d\n”,a);printf(“%010.2f\n”,f);printf(“%0+8d\n”,a);printf(“0+10.2f\n”,f);附加格式說明符0、+的例子例inta=123;printf(“%o,%#o,%X,%#X\n”,a,a,a,a);
例#例longa=65536;printf(“%d,%8ld\n”,a,a);
例l00000000000000010000000000000000000012340000123.46000+1234000+123.56173,0173,7B,0X7B0,655368/6/202310例inta=1234;附加格式說明符0、+的例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);運行1234,1234結(jié)果:123.456000,123.456000,123.5,123.46,1.23e+02
a例staticchara[]=“Hello,world!”printf(“%s\n%15s\n%10.5s\n%2.5s\n%.2s\n”,a,a,a,a,a);運行結(jié)果:Hello,world!
Hello,world!
HelloHelloHe附加格式說明符m.n的例子(q_zero.c;two.c;div.c)8/6/202311例inta=1234;運行1234二、格式輸入函數(shù)格式:scanf(“格式控制串”,地址表)功能:按指定格式從鍵盤讀入數(shù)據(jù),存入地址表指定的存儲單元中,并按回車鍵結(jié)束返值:正常,返回輸入數(shù)據(jù)個數(shù)地址表:變量的地址,常用取地址運算符&格式字符:d,i,o,x,u,c,s,f,e例scanf(“%d”,&a);
輸入:10
則a=10例scanf(“%x”,&a);
輸入:11
則a=178/6/202312二、格式輸入函數(shù)格式:scanf(“格式控制串”,地址表)scanf()中的附加格式說明符(修飾符)l修飾符功能hm*用于d,o,x前,指定輸入為short型整數(shù)用于d,o,x前,指定輸入為long型整數(shù)用于e,f前,指定輸入為double型實數(shù)指定輸入數(shù)據(jù)寬度,遇空格或不可轉(zhuǎn)換字符則結(jié)束抑制符,指定輸入項讀入后不賦給變量例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’c28/6/202313scanf()中的附加格式說明符(修飾符)l修飾符功輸入分隔符的指定一般以空格、TAB或回車鍵作為分隔符其它字符做分隔符:格式串中兩個格式符間字符例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例scanf(“%d%o%x”,&a,&b,&c);printf(“a=%d,b=%d,c=%d\n”,a,b,c);輸入123123123
輸出a=123,b=83,c=2918/6/202314輸入分隔符的指定例scanf(“%d:%d:%d”,&h說明:⑴用“%c”格式符時,空格和轉(zhuǎn)義字符作為有效字符輸入如scanf(“%c%c%c”,&c1,&c2,&c3);
若輸入abc
則ac1,
c2,bc3⑵輸入數(shù)據(jù)時,遇以下情況認為該數(shù)據(jù)結(jié)束:遇空格、TAB、或回車遇寬度結(jié)束遇非法輸入如scanf(“%d%c%f”,&a,&b,&c);若輸入1234a123o.26
則1234a,‘a(chǎn)’b,123c⑶輸入函數(shù)留下的“垃圾”:例intx;charch;scanf(“%d”,&x);ch=getchar();printf(“x=%d,ch=%d\n”,x,ch);執(zhí)行:123輸出:x=123,ch=10(換行符LF)例intx;charch;scanf(“%d”,&x);scanf(“%c”,&ch);printf(“x=%d,ch=%d\n”,x,ch);執(zhí)行:123輸出:x=123,ch=10(換行符LF)解決方法:(1)用格式串中的空格或“%*c”來“吃掉”(2)用getchar()清除(3)用函數(shù)fflush(stdin)清除全部剩余內(nèi)容例intx;charch;scanf(“%d”,&x);
scanf(“%c”,&ch);或scanf(“%*c%c”,&ch);
Double.ctri.c8/6/202315說明:如scanf(“%c%c%c”,&c1,&c2,&c格式:getchar()功能:從鍵盤讀一字符(鍵盤捕捉函數(shù))返值:正常,返回讀取的代碼值;出錯,返回EOF(-1)三、字符輸入函數(shù)例#include<stdio.h>main(){intc;printf("Enteracharacter:");c=getchar();printf("%c--->hex%x\n",c,c);}運行輸入A運行結(jié)果:Enteracharacter:AA--->hex418/6/202316格式:getchar()三、字符輸入函數(shù)例#incl字符輸出函數(shù)格式:putchar(c)參數(shù):c為字符常量、變量或表達式功能:把字符c輸出到顯示器上返值:正常,為顯示的代碼值;出錯,為EOF(-1)#include<stdio.h>main(){intc;chara;c=65;a='B';putchar(c);putchar('\n');putchar(a);}運行結(jié)果:AB例注:使用getchar()和putchar()須編譯預(yù)處理
#include<stdio.h>8/6/202317字符輸出函數(shù)#include<stdio.h>運行結(jié)果:A3.4程序舉例#include<math.h>#include<stdio.h>main(){floata,b,c,s,area;clrscr();
printf(“Inputa,b,c:“);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);}例輸入三角形邊長,求面積編譯預(yù)處理命令變量定義輸入數(shù)據(jù)輸出數(shù)據(jù)清屏幕輸入:3,4,6輸出:a=3.00,b=4.00,c=6.00s=6.50area=5.338/6/2023183.4程序舉例#include<math.h>例輸入例從鍵盤輸入大寫字母,輸出對應(yīng)的小寫字母和ASCII碼#include"stdio.h"main(){charc1,c2;clrscr();c1=getchar();printf("%c,%d\n",c1,c1);c2=c1+32;printf("%c,%d\n",c2,c2);}輸入:A
輸出:A,65a,978/6/202319例從鍵盤輸入大寫字母,輸出對應(yīng)的小寫字母和ASCII碼##include<stdio.h>#include<math.h>main(){floata,b,c,disc,x1,x2,p,q;
clrscr();printf("Inputa,b,c:");scanf("%f,%f,%f",&a,&b,&c);disc=b*b-4*a*c;p=-b/(2*a);q=sqrt(disc)/(2*a);x1=p+q;x2=p-q;printf("\n\nx1=%5.2f\nx2=%5.2f\n",x1,x2);}提示:a,b,c:_輸入:1,3,2
輸出:x1=-1.00x2=-2.008/6/202320#include<stdio.h>提示:a,b,c:_習題課(輸入輸出格式)1.運行下面的程序,分析輸出結(jié)果。main(){inti=45;
printf(\n(1)i=%d,%u,%ld,i,i,i);printf(\n(2)i=|%+8d|%2d|%-8d|%08d|,i,i,i,i);}運行結(jié)果
i=45,45,17104941
i=|+45|45|45|00000045|分析:為什么45變成了17104941呢?將i的值改成-45,重新運行:運行結(jié)果:i=-45,65491,17170387
i=|-45|-45|-45|-0000045|分析:為什么-45變成了65491和17170387呢?
8/6/202321習題課(輸入輸出格式)1.運行下面的程序,分析輸出結(jié)果。運(2)main(){unsignedk=50000;printf(\n(1)k=%d,%u,%ld,k,k,k);printf(\n(2)k=|%+10u|%-10o|%10x|,k,k,k);}運行結(jié)果:(1)k=-15536,50000,171154896
(2)k=|+50000|141520|c350|分析:為什么50000變成了-15536呢?
8/6/202322(2)main()運行結(jié)果:(1)k=-15536,5(3)main(){floatx=6.72e-7;printf(\n(1)x=%f,%e,%g,x,x,x);printf(\n(2)x=|%12e|%12.2e|%.1e|,x,x,x);}
運行結(jié)果:(1)x=0.000001,6.72000e-07,6.72e-07
(2)x=|6.72000e-07|6.7e-07|7e-07|分析結(jié)果:以%f格式顯示太小的數(shù)不合適。8/6/202323(3)main()運行結(jié)果:(1)x=0.0000(4)輸入以下程序main(){intm;floatx;printf(\nInput:);scanf(%d%f,&m,&x);printf(\nm=%d,x=%f”,m,x);}運行結(jié)果:m=10,x=20.000000運行程序,輸入10↙20↙或者輸入1020↙運行程序,輸入:10.0
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年電子支付系統(tǒng)研發(fā)與授權(quán)合同
- 2024年度職工聘用合同與員工團隊建設(shè)活動實施計劃3篇
- 2024年英文個人按揭貸款合同
- 2025年體育場館運營配套勞務(wù)分包合同范本3篇
- 2025年法律法規(guī)學習心得體會模版(2篇)
- 通風安全質(zhì)量標準化考核實施細則(3篇)
- 2025年真空絕熱板芯材合作協(xié)議書
- 二零二五年度體育賽事活動承辦服務(wù)協(xié)議3篇
- 2025年度咖啡機智能化改造項目合同2篇
- 2025年度國際貿(mào)易采購合同(塑料行業(yè))2篇
- 韓流對中國文化的影響課件
- 菌草技術(shù)及產(chǎn)業(yè)化應(yīng)用課件
- 檢驗檢測服務(wù)公司市場營銷計劃
- 醫(yī)務(wù)人員外出進修流程圖
- DB32∕T 2349-2013 楊樹一元立木材積表
- 昌樂二中271高效課堂培訓(xùn)與評價ppt課件
- 顫?。ㄅ两鹕。┲嗅t(yī)護理常規(guī)
- 豬場名詞及指標講義
- T∕CHTS 10040-2021 公路無機結(jié)合料穩(wěn)定粒料基層振動法施工技術(shù)指南
- 集團后備人才培養(yǎng)方案
- 腦卒中偏癱患者早期康復(fù)護理現(xiàn)狀(一)
評論
0/150
提交評論