版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第4章 最簡(jiǎn)單的C程序設(shè)計(jì)順序程序設(shè)計(jì) C語言程序設(shè)計(jì) 第四章第四章 順序程序設(shè)計(jì)順序程序設(shè)計(jì)C語言概述賦值語句數(shù)據(jù)輸入輸出的概念及在C語言中的實(shí)現(xiàn)字符數(shù)據(jù)的輸入輸出格式輸入與輸出順序結(jié)構(gòu)程序設(shè)計(jì)舉例4.1 C語句概述C程序結(jié)構(gòu):v一個(gè)C程序可以由多個(gè)源程序文件構(gòu)成 v一個(gè)源程序文件由若干函數(shù)、預(yù)編譯命令及全局變量聲明部分構(gòu)成v函數(shù)包括數(shù)據(jù)定義部分和執(zhí)行部分,執(zhí)行部分是C語言語句,完成對(duì)數(shù)據(jù)的操作 C語言程序設(shè)計(jì) 第四章第四章 順序程序設(shè)計(jì)順序程序設(shè)計(jì)源程序文件1預(yù)處理命令全局變量聲明函數(shù)首部局部變量聲明執(zhí)行語句函數(shù)體函數(shù)1函數(shù)n源程序文件2源程序文件nC程序C語句分為5類v控制語句:共9種l
2、完成一定的控制功能,這些語句能夠根據(jù)一定的測(cè)試條件決定某些語句是否被執(zhí)行,如分支、循環(huán)、跳轉(zhuǎn)等語句。 C語言程序設(shè)計(jì) 第四章第四章 順序程序設(shè)計(jì)順序程序設(shè)計(jì)if( )else (條件語句)for( )while( ) (循環(huán)語句) dowhile( )continue (結(jié)束本次循環(huán)語句) switch (多分支選擇語句)break (終止switch或循環(huán)語句)goto (轉(zhuǎn)向語句) return (從函數(shù)返回語句) C語言程序設(shè)計(jì) 第四章第四章 順序程序設(shè)計(jì)順序程序設(shè)計(jì)v 空語句:只有一個(gè)“ ; ”,什么也不做v 表達(dá)式語句:由表達(dá)式加“ ; ”組成l典型的是賦值語句,由賦值表達(dá)式加分號(hào)構(gòu)
3、成,如:y=x+1是表達(dá)式,而y=x+1;則是賦值語句。實(shí)際上函數(shù)調(diào)用語句也屬于表達(dá)式語句。v 函數(shù)調(diào)用語句:由函數(shù)加“ ; ”組成printf(“This is a C program”); a=3 ; i+ ;for(i=0;i100;i+) ; v復(fù)合語句:l用 括起來的一組語句,也稱作程序塊。l一般形式: C語言程序設(shè)計(jì) 第四章第四章 順序程序設(shè)計(jì)順序程序設(shè)計(jì)int i=0,sum=0;while(i=100) sum=sum+i;i=i+1; l說明u復(fù)合語句“ ”后不加分號(hào)u語法上和其它語句相同u復(fù)合語句可嵌套4.2 賦值語句v基本格式: 賦值表達(dá)式 + ;賦值表達(dá)式可以包含在其它
4、表達(dá)式中,而賦值語句不可以。 C語言程序設(shè)計(jì) 第四章第四章 順序程序設(shè)計(jì)順序程序設(shè)計(jì)例:if (a=b)0) t=a;不可寫為:if (a=b;)0) t=a; C語言程序設(shè)計(jì) 第四章第四章 順序程序設(shè)計(jì)順序程序設(shè)計(jì)表達(dá)式中允許出現(xiàn)運(yùn)算符號(hào)、變量、數(shù)值、函數(shù)序號(hào)語句含義右側(cè)表達(dá)式包括1a=5常量5i=0 x30+255十進(jìn)制、十六進(jìn)制ch=ch- A6變量、字符常量7m=a1+a2數(shù)組變量8x=*px+指針變量、增1運(yùn)算2S=pi*r*r變量、乘號(hào)求圓面積3average=(a+b)/2變量、常數(shù)、括號(hào)求平均數(shù)4x=l*cos(q)變量、函數(shù)求橫坐標(biāo)v另一種形式的賦值語句 = ; C語言程序設(shè)
5、計(jì) 第四章第四章 順序程序設(shè)計(jì)順序程序設(shè)計(jì)示例含義a+ = 表達(dá)式a= a + (表達(dá)式)a % = 表達(dá)式a= a %(表達(dá)式)a - = 表達(dá)式a= a - (表達(dá)式)a * = 表達(dá)式a= a * (表達(dá)式)a / = 表達(dá)式a= a / (表達(dá)式)我們可以理解為:=;只適合于整型變量v連續(xù)賦值語句 C語言程序設(shè)計(jì) 第四章第四章 順序程序設(shè)計(jì)順序程序設(shè)計(jì)int a , b , c ;a=b=c=1 ;連續(xù)賦值語句應(yīng)“從右向左”計(jì)算 a=b=c=1 ;等價(jià)于: a=(b=(c=1) );1. 把常數(shù) 1 賦給變量c,表達(dá)式(c=1) 的值為1;2. 把表達(dá)式(c=1)賦給變量b,表達(dá)式(b
6、=(c=1) )的值為1;3. 將右側(cè)表達(dá)式的值1賦給a , a =1 。步驟: int a=b=c=1 ;4.3 數(shù)據(jù)輸入輸出的概念及在C語言中的實(shí)現(xiàn) C語言程序設(shè)計(jì) 第四章第四章 順序程序設(shè)計(jì)順序程序設(shè)計(jì)v標(biāo)準(zhǔn)輸入輸出函數(shù)putchar 輸出字符, scanf 格式輸入,puts 輸出字符串getchar 輸入字符, printf 格式輸出,gets 輸入字符串v所謂數(shù)據(jù)的輸入輸出是從計(jì)算機(jī)角度出發(fā)的。vC語言本身沒有I/O語句,所有I/O都由函數(shù)來實(shí)現(xiàn)。vC語言的標(biāo)準(zhǔn)庫函數(shù)l由編譯系統(tǒng)提供的一系列函數(shù),以庫形式存放在系統(tǒng)中,不是C語言文本的組成部分。l庫函數(shù)已編譯成目標(biāo)文件(.obj),
7、在連接階段才與源程序編譯成的目標(biāo)文件相連接,生成可執(zhí)行文件。l調(diào)用形式:函數(shù)名(參數(shù)表)l注意在調(diào)用C語言庫函數(shù)時(shí),需要使用編譯預(yù)處理命令#include ,使相應(yīng)的頭文件包含到用戶源程序中。 #include 或 #include ”stdio.h”常用頭文件: stdio.h 定義輸入輸出函數(shù)string.h 定義字符串操作函數(shù)math.h 定義sin、cos等數(shù)學(xué)函數(shù)4.4 字符數(shù)據(jù)的輸入輸出putchar 函數(shù)(單字符輸出函數(shù)) C語言程序設(shè)計(jì) 第四章第四章 順序程序設(shè)計(jì)順序程序設(shè)計(jì)v輸出一個(gè)字符:格式: putchar( 字符); 或 putchar( 字符變量); 強(qiáng)調(diào):被輸出的單
8、個(gè)字符必須被 括起來運(yùn)行結(jié)果:BOY /* 例 4.1 putchar(字符)*/#include void main()putchar(B); putchar(O); putchar(Y);/* 例 4.1 putchar(字符變量) */#include void main() char a,b,c; a=B; b=O; c=Y; putchar(a); putchar(b); putchar(c); putchar(n);結(jié)果當(dāng)然還是一樣的!v輸出控制字符 C語言程序設(shè)計(jì) 第四章第四章 順序程序設(shè)計(jì)順序程序設(shè)計(jì)/* 例 putchar(控制字符) */#include void main
9、() char a,b; a=O; b=k; putchar(a); putchar(n); putchar(b);運(yùn)行結(jié)果:O k v輸出轉(zhuǎn)義字符/*例 putchar( ) 含有轉(zhuǎn)義符* /#include void main() char a; a=B; putchar(101); putchar(a);運(yùn)行結(jié)果:AB getchar 函數(shù)(單字符輸入函數(shù)) 。 C語言程序設(shè)計(jì) 第四章第四章 順序程序設(shè)計(jì)順序程序設(shè)計(jì)格式: getchar( ) ; 強(qiáng)調(diào):輸入單個(gè)字符后,必須按一次回車, 計(jì)算機(jī)才接受輸入的字符。結(jié)果:可以賦給一個(gè)字符變量、整型變量,或作為表達(dá)式的一部分# include
10、 不能少!/*例4.2 */#include void main() char c; c=getchar( ); putchar(c);運(yùn)行結(jié)果:aa4.5 格式輸入與輸出printf函數(shù)(格式輸出函數(shù))vprintf函數(shù)的一般格式 C語言程序設(shè)計(jì) 第四章第四章 順序程序設(shè)計(jì)順序程序設(shè)計(jì)格式: printf( 格式控制,輸出表列);l格式控制:用雙引號(hào)括起來的字符串,包含兩種信息u格式說明:%修飾符格式字符,指定輸出格式u普通字符:原樣輸出l輸出表列:要輸出的數(shù)據(jù),可以是變量或表達(dá)式,可以沒有,多個(gè)時(shí)以“,”分隔)例: printf( “%d %d”,a,b); printf( “a=%d b
11、= %dn”,a,b); C語言程序設(shè)計(jì) 第四章第四章 順序程序設(shè)計(jì)順序程序設(shè)計(jì)/*從最簡(jiǎn)單的學(xué)起 */#include void main() printf(“Hello World !” );運(yùn)行結(jié)果:Hello World!調(diào)用 printf( ) 時(shí)不可以省略# include 命令!格式字符vd格式符:輸出十進(jìn)制整數(shù),有3種用法l%d格式:按十進(jìn)制整型數(shù)據(jù)的實(shí)際長(zhǎng)度輸出 C語言程序設(shè)計(jì) 第四章第四章 順序程序設(shè)計(jì)順序程序設(shè)計(jì)/* %d 格式的 printf( ) 函數(shù)使用 */#include void main() int a=3 , b=4; printf(“%d %dn ”,a
12、,b); printf(“a=%d , b=%dn”,a,b); 運(yùn)行結(jié)果:3 4 a=3, b=4格式說明決定最終輸出的格式格式說明應(yīng)與輸出列表項(xiàng)個(gè)數(shù)相同,順序一致格式說明通常用小寫字母表示l%md格式:m指定輸出字段的寬度u數(shù)據(jù)位數(shù)小于m,左端補(bǔ)空格,反之按實(shí)際輸出。 C語言程序設(shè)計(jì) 第四章第四章 順序程序設(shè)計(jì)順序程序設(shè)計(jì) int a=123 , b=12345 ; printf(“%4d %4d ”, a , b); l%ld格式:輸出長(zhǎng)整型數(shù)據(jù)u可以用%mld格式指定輸出列寬 long c=135790 printf(“%ld n”, c); printf(“%8ld ”, c); 1
13、35790 135790 123 12345vo格式符:八進(jìn)制輸出整數(shù)l是將內(nèi)存中的二進(jìn)制位整個(gè)按八進(jìn)制輸出,所以輸出值沒有符號(hào)。l可以指定輸出寬度%mo,長(zhǎng)整型可以用%lo格式輸出。 C語言程序設(shè)計(jì) 第四章第四章 順序程序設(shè)計(jì)順序程序設(shè)計(jì) int a= -1; printf(“%d , %o , %8o , %x ”, a , a , a , a);輸出:-1,37777777777, 37777777777 ,ffffffff11 11 11 11 11 11 11 11-1在內(nèi)存的存放形式(補(bǔ)碼)vx格式符:十六進(jìn)制輸出整數(shù)l同o格式符,無符號(hào),即無負(fù)十六進(jìn)制數(shù)。l可以指定輸出寬度%mx
14、 ,長(zhǎng)整型可以用%lx格式輸出。11 11 11 11 11 11 11 11 C語言程序設(shè)計(jì) 第四章第四章 順序程序設(shè)計(jì)順序程序設(shè)計(jì)vu格式符:十進(jìn)制輸出unsigned型數(shù)據(jù)lint型可以用%u格式輸出,unsigned型也可以用%d、%o和%x格式輸出。例4.3 無符號(hào)數(shù)據(jù)的輸出 #include void main() unsigned int a=65535; int b= -2; printf(“a=%d , %o , %x , %un ”,a,a,a,a); printf(“b=%d , %o , %x , %un” ,b,b,b,b); 11 11 11 11 11 11 11
15、 10-2在內(nèi)存的存放形式(補(bǔ)碼)11 11 11 11 11 11 11 11 C語言程序設(shè)計(jì) 第四章第四章 順序程序設(shè)計(jì)順序程序設(shè)計(jì)vc格式符:輸出一個(gè)字符l值在0255的整數(shù),也可以用%c形式輸出為字符例4.4 字符數(shù)據(jù)的輸出 #include void main() char c=a; int i=97; printf(“%c , %dn ”,c,c); printf(“%c , %dn” ,i ,i); 運(yùn)行結(jié)果: a , 97 a , 97 C語言程序設(shè)計(jì) 第四章第四章 順序程序設(shè)計(jì)順序程序設(shè)計(jì)vs格式符:輸出一個(gè)字符串l有%s,%ms,% -ms,%m.ns,% -m.ns五種用
16、法例4.5 字符串的輸出 #include void main() printf(“%3s , %7.2s , %.4s , %-5.3sn ”, “CHINA”, “CHINA”, “CHINA”, “CHINA”); 運(yùn)行結(jié)果: CHINA , _ _ _ _ _CH , CHIN , CHI _ _m自動(dòng)=n C語言程序設(shè)計(jì) 第四章第四章 順序程序設(shè)計(jì)順序程序設(shè)計(jì)vf格式符:輸出實(shí)數(shù)l%f格式:整數(shù)部分全部輸出,小數(shù)6位??梢杂蟹怯行?shù)字輸出,因?yàn)閱尉扔行?位,雙精度16位。l%m.nf格式:占m列,其中n位小數(shù),左補(bǔ)空格。l% -m.nf格式:右補(bǔ)空格例4.8 %f格式輸出實(shí)數(shù)時(shí)指
17、定小數(shù)位數(shù) #include void main() float f=123.456; printf(“%f %10f %10.2f %.2f %-10.2fn”,f,f,f,f,f); 例4.6 %f格式輸出實(shí)數(shù)時(shí)的有效位數(shù) #include void main() flot x,y; x=111111.111;y=222222.222; printf(“%fn”,x+y); 運(yùn)行結(jié)果: 333333.328125例4.7 %f格式輸出雙精度實(shí)數(shù)時(shí)的有效位數(shù) #include void main() double x,y; a=1111111111111.111111111; b=22222
18、22222222.222222222; printf(“%fn”,x+y); 運(yùn)行結(jié)果: 3333333333333.333010運(yùn)行結(jié)果:123.456001_ _123.456001_ _ _ _ _ _123.46_ _123.46_ _123.46_ _ _ _ C語言程序設(shè)計(jì) 第四章第四章 順序程序設(shè)計(jì)順序程序設(shè)計(jì)ve格式符:指數(shù)形式輸出實(shí)數(shù)l%e格式:不指定m和n,小數(shù)6位,指數(shù)部分共5位, 其中e和指數(shù)符號(hào)各1位,指數(shù)值3位。l%m.ne和% -m.ne格式:m、n、-的含義同前面。 沒有n時(shí),自動(dòng)=6vg格式符:輸出實(shí)數(shù)l可以自動(dòng)根據(jù)數(shù)值大小選擇 f 或 e 格式(選列少的)l
19、不輸出無意義的零 C語言程序設(shè)計(jì) 第四章第四章 順序程序設(shè)計(jì)順序程序設(shè)計(jì)dx,Xoucse,Efg,G%v 格式字符表十六進(jìn)制無符號(hào)整數(shù)不帶符號(hào)十進(jìn)制整數(shù)十進(jìn)制整數(shù)指數(shù)形式浮點(diǎn)小數(shù)單一字符字符串八進(jìn)制無符號(hào)整數(shù)小數(shù)形式浮點(diǎn)小數(shù)e和f中較短一種百分號(hào)本身int a=100;printf ( “%d”,a);int a=255;printf(“%x”,a);int a=8;printf(“%o”,a);int a=100;printf(“%u”,a);char a=65;printf(“%c”,a);printf(“%s”,“ABC”);float a=567.789;printf(“%e”,a)
20、;float a=567.789;printf(“%f”,a);float a=567.789;printf(“%g”,a);printf(“%”);100ff10100AABC5.677890e+002567.789000567.789%scanf 函數(shù)(格式輸入函數(shù)) v一般形式l 功能:按指定格式從鍵盤讀入數(shù)據(jù),存入地址表指定的存儲(chǔ) 單元中,并按回車鍵結(jié)束l格式控制:含義同printf函數(shù)l地址表列:變量地址或字符串地址,地址間“,”分隔。l強(qiáng)調(diào):地址列表中每一項(xiàng)必須以取地址運(yùn)算符&開頭。 C語言程序設(shè)計(jì) 第四章第四章 順序程序設(shè)計(jì)順序程序設(shè)計(jì)格式: scanf(格式控制,地址表
21、列 ) ; 例4.9 用scanf函數(shù)輸入數(shù)據(jù)#include void main() int a , b , c ; scanf(“%d%d%d”,&a,&b,&c) ; printf(“%d, %d, %dn”,a,b,c) ;輸入:3_4_5輸出:3,4,5 C語言程序設(shè)計(jì) 第四章第四章 順序程序設(shè)計(jì)順序程序設(shè)計(jì)例 scanf(“%3d%*4d%f”,&k,&f); 輸入 12345678765.43 則 123k, 8765.43f例 scanf(“%2d %*3d %2d”,&a,&b); 輸入 12 345 67 則 12a,
22、 67b例 scanf(“%3c%2c”,&c1,&c2); 輸入 abcde 則 ac1, d c2例 scanf(“%4d%2d%2d”,&yy,&mm,&dd);輸入 19991015 則 1999yy, 10 mm, 15 ddv輸入分隔符的指定l一般以空格、TAB或回車鍵作為分隔符l輸入數(shù)據(jù)時(shí),遇非法輸入則認(rèn)為數(shù)據(jù)結(jié)束l其它字符做分隔符:格式串中兩個(gè)格式符間有其它字符,則輸入時(shí)對(duì)應(yīng)位置也要有相同的字符。 C語言程序設(shè)計(jì) 第四章第四章 順序程序設(shè)計(jì)順序程序設(shè)計(jì)例 scanf(“%d:%d:%d”,&h,&m,&s); 輸入
23、 12:30:45 則12 h, 30 m, 45 s例 scanf(“%d%c%f”,&a,&b,&c); 輸入1234a123o.26 則 1234 a, a b, 123 c4.6 順序結(jié)構(gòu)程序舉例 C語言程序設(shè)計(jì) 第四章第四章 順序程序設(shè)計(jì)順序程序設(shè)計(jì)例4.10 輸入三角形邊長(zhǎng),求面積#include #include void main() float a,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.2fn,a,b,c,s);
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《家庭護(hù)士》課件
- 2023-2024學(xué)年福建省福州市福清市高一(下)期中地理試卷
- 高速公路施工總承包合同段春節(jié)節(jié)后復(fù)工工作計(jì)劃及保障措施
- 2024年山東省日照市公開招聘警務(wù)輔助人員輔警筆試自考題2卷含答案
- 2024年福建省福州市公開招聘警務(wù)輔助人員輔警筆試自考題2卷含答案
- 2024年四川省眉山市公開招聘警務(wù)輔助人員輔警筆試自考題2卷含答案
- 2021年貴州省安順市公開招聘警務(wù)輔助人員輔警筆試自考題1卷含答案
- 湖南省張家界市(2024年-2025年小學(xué)六年級(jí)語文)部編版摸底考試(上學(xué)期)試卷及答案
- 2024年ATM機(jī)項(xiàng)目資金需求報(bào)告代可行性研究報(bào)告
- 2025年P(guān)S鋁合金板項(xiàng)目立項(xiàng)申請(qǐng)報(bào)告模板
- 2024年度員工試用期勞動(dòng)合同模板(含保密條款)3篇
- 2024年江蘇省徐州市中考化學(xué)真題卷及答案解析
- 2024年軍事理論知識(shí)全冊(cè)復(fù)習(xí)題庫及答案
- 公路水運(yùn)工程施工企業(yè)主要負(fù)責(zé)人和安全生產(chǎn)管理人員考核大綱及模擬題庫
- 2024年中國郵政集團(tuán)有限公司重慶分公司招聘筆試參考題庫含答案解析
- 2024年江蘇省普通高中學(xué)業(yè)水平測(cè)試(必修試卷)物理試卷
- 春思盛唐李白
- 施工干擾措施
- 畢業(yè)設(shè)計(jì)(論文)三元催化轉(zhuǎn)化器應(yīng)用與檢測(cè)
- (完整版)調(diào)蓄池施工組織設(shè)計(jì)方案
- 給你想要的CRM之BW報(bào)表應(yīng)用
評(píng)論
0/150
提交評(píng)論