4、第四講 最簡單的C程序設(shè)計(jì)_第1頁
4、第四講 最簡單的C程序設(shè)計(jì)_第2頁
4、第四講 最簡單的C程序設(shè)計(jì)_第3頁
4、第四講 最簡單的C程序設(shè)計(jì)_第4頁
4、第四講 最簡單的C程序設(shè)計(jì)_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第四講第四講l 主要內(nèi)容4.1 4.1 C C語句概述語句概述4.2 4.2 賦值語句賦值語句4.3 4.3 數(shù)據(jù)輸入輸出數(shù)據(jù)輸入輸出的概念及在的概念及在c c語言中的實(shí)現(xiàn)語言中的實(shí)現(xiàn)4.4 4.4 字符數(shù)據(jù)的輸入輸出字符數(shù)據(jù)的輸入輸出4.5 4.5 格式輸入與輸出格式輸入與輸出4.6 4.6 順序結(jié)構(gòu)程序設(shè)計(jì)舉例順序結(jié)構(gòu)程序設(shè)計(jì)舉例 4.1 C 4.1 C語句概述語句概述C程序源程序文件1源程序文件2源程序文件n預(yù)處理命令函數(shù)n函數(shù)1數(shù)據(jù)聲明函數(shù)首部函數(shù)體數(shù)據(jù)聲明執(zhí)行語句 4.1 C 4.1 C語句概述語句概述 一個(gè)c程序可以有若干個(gè)源程序文件組成 一個(gè)源文件可以有若干個(gè)函數(shù)和預(yù)處理命令以及

2、全局變量聲明部分組成 一個(gè)函數(shù)有函數(shù)首部和函數(shù)體組成 函數(shù)體由數(shù)據(jù)聲明和執(zhí)行語句組成 C語句分為5類類控制語句函數(shù)調(diào)用語句表達(dá)式語句空語句復(fù)合語句 4.1 C 4.1 C語句概述語句概述 (一)控制語句 完成一定的控制功能1 if() else 條件條件語句語句 6 break 間斷語句間斷語句 2 for() 循環(huán)循環(huán)語句語句 7 switch() 開關(guān)語句開關(guān)語句3 while()循環(huán)循環(huán)語句語句 8 goto 轉(zhuǎn)向語句轉(zhuǎn)向語句 4 do while();循環(huán)循環(huán)語句語句 9 return 返回語句返回語句5 continue 繼續(xù)繼續(xù)語句語句 4.1 C 4.1 C語句概述語句概述 (二

3、)函數(shù)調(diào)用語句 有一個(gè)函數(shù)調(diào)用加一個(gè)分號(hào)構(gòu)成一個(gè)語句 Printf(“This is a C statement.”);輸入數(shù)據(jù):scanf(“%d,%d”,&c,&d); 4.1 C 4.1 C語句概述語句概述 (三)表達(dá)式語句 有一個(gè)表達(dá)式加一個(gè)分號(hào)構(gòu)成一個(gè)語句 a = 3 ;分號(hào)賦值表達(dá)式表達(dá)式語句 4.1 C 4.1 C語句概述語句概述 (四)空語句 只有一個(gè)分號(hào)的語句 (什么也不做)(什么也不做) 用來做流程的轉(zhuǎn)向點(diǎn)用來做流程的轉(zhuǎn)向點(diǎn) 用來作為循環(huán)語句中的循環(huán)體用來作為循環(huán)語句中的循環(huán)體 4.1 C 4.1 C語句概述語句概述 (五)復(fù)合語句 用一對(duì)括起來的語句 z=x+y;t=z/

4、100;printf(“%f”,t);注意:注意:復(fù)合語句中最后一個(gè)語句中最后的分號(hào)不能復(fù)合語句中最后一個(gè)語句中最后的分號(hào)不能 忽略不寫忽略不寫(演示演示) 4.2 4.2 賦值語句賦值語句賦值語句是由賦值表達(dá)式加上一個(gè)分號(hào)構(gòu)成例:例:a=100 賦值表達(dá)式 a=100; 賦值語句條件中不能含有賦值符號(hào),但是賦值表達(dá)式可以包含于條件表達(dá)式中例:例:if(a=b) t=a; 錯(cuò)誤 if(a=b)0) t=a; 正確4.34.3數(shù)據(jù)輸入輸出的概念及在數(shù)據(jù)輸入輸出的概念及在C C語言中的實(shí)現(xiàn)語言中的實(shí)現(xiàn)(一).所謂輸入輸出是以計(jì)算機(jī)主機(jī)為主體而言的輸出輸出:從計(jì)算機(jī)向外部輸出設(shè)備(顯示器,打印機(jī))

5、輸出數(shù)據(jù)輸入輸入:從輸入設(shè)備(鍵盤,鼠標(biāo),掃描儀)向計(jì)算機(jī) 輸入數(shù)據(jù).(二).C語言本身不提供輸入輸出語句,輸入和輸出操作是由C函數(shù)庫中的函數(shù)來實(shí)現(xiàn)的例如例如: :字符輸入函數(shù):getchar()字符輸出函數(shù):putchar()格式輸入函數(shù):scanf() 格式輸出函數(shù): printf()字符串輸入函數(shù):gets()字符串輸出函數(shù):puts()4.34.3數(shù)據(jù)輸入輸出的概念及在數(shù)據(jù)輸入輸出的概念及在C C語言中的實(shí)現(xiàn)語言中的實(shí)現(xiàn)(三).在使用系統(tǒng)庫函數(shù)時(shí),要用預(yù)編譯命令“#include”將有關(guān)的“頭文件”包括到用戶源文件中.例如:在調(diào)用標(biāo)準(zhǔn)輸入輸出庫函數(shù)時(shí),文件開頭應(yīng)該有: #include

6、 “stdio.h” 或: #include 頭文件4.34.3數(shù)據(jù)輸入輸出的概念及在數(shù)據(jù)輸入輸出的概念及在C C語言中的實(shí)現(xiàn)語言中的實(shí)現(xiàn) 4.4 4.4 字符數(shù)據(jù)的輸入輸出字符數(shù)據(jù)的輸入輸出(一)字符輸出函數(shù) 一般形式:putchar(c) 函數(shù)作用:向終端輸出一個(gè)字符 字符型變量整型變量 4.4 4.4 字符數(shù)據(jù)的輸入輸出字符數(shù)據(jù)的輸入輸出 例4.1 輸出單個(gè)字符。#includevoid main()char a,b,c;a=B;b=O;c=Y;putchar(a);putchar(b);putchar(c);putchar(n);運(yùn)行結(jié)果:BOYputchar(a);putchar(n

7、);putchar(b);putchar(n);putchar(c);putchar(n);運(yùn)行結(jié)果:B O Y 4.4 4.4 字符數(shù)據(jù)的輸入輸出字符數(shù)據(jù)的輸入輸出 (二)字符輸入函數(shù) 一般形式:getchar() 函數(shù)作用:從終端(或系統(tǒng)隱含指定的輸入設(shè)備)輸入一個(gè)字符。 函數(shù)值: 從輸入設(shè)備得到的字符。 4.4 4.4 字符數(shù)據(jù)的輸入輸出字符數(shù)據(jù)的輸入輸出 例4.2 輸入單個(gè)字符。#includevoid main() char c; c=getchar(); putchar(c); putchar(n);運(yùn)行程序:從鍵盤輸入字符a按Enter鍵屏幕上將顯示輸出的字符aaa也可:putc

8、har(getchar();printf(“%c”,getchar(); 4.5 4.5 格式輸入與輸出格式輸入與輸出(一).格式輸出函數(shù) 函數(shù)作用:向終端(或系統(tǒng)隱含指定的輸出設(shè)備函數(shù)作用:向終端(或系統(tǒng)隱含指定的輸出設(shè)備)輸出)輸出若干個(gè)任意類型若干個(gè)任意類型的數(shù)據(jù)。的數(shù)據(jù)。 一般格式:一般格式:printfprintf(格式控制,輸出表列)(格式控制,輸出表列)%d%d: :以帶符號(hào)的十進(jìn)制形式輸出整數(shù)以帶符號(hào)的十進(jìn)制形式輸出整數(shù)%o%o: :以八進(jìn)制無符號(hào)形式輸出整數(shù)以八進(jìn)制無符號(hào)形式輸出整數(shù)%x%x: :以十六進(jìn)制無符號(hào)形式輸出整數(shù)以十六進(jìn)制無符號(hào)形式輸出整數(shù)To be contin

9、uedTo be continued 4.5 4.5 格式輸入與輸出格式輸入與輸出 %u%u: :以無符號(hào)十進(jìn)制形式輸出整數(shù)以無符號(hào)十進(jìn)制形式輸出整數(shù)%c%c: :以字符形式輸出,只輸出一個(gè)字符以字符形式輸出,只輸出一個(gè)字符%s%s: :輸出字符串輸出字符串%f%f: :以小數(shù)形式輸出單,雙精度數(shù),隱含輸出六位小數(shù)以小數(shù)形式輸出單,雙精度數(shù),隱含輸出六位小數(shù)%e%e: :以指數(shù)形式輸出實(shí)數(shù)以指數(shù)形式輸出實(shí)數(shù)%g%g: :選用選用%f%f或或%e%e格式中輸出寬度較短的一種格式,不輸格式中輸出寬度較短的一種格式,不輸 出無意義的出無意義的0 0 4.5 4.5 格式輸入與輸出格式輸入與輸出 幾種

10、常見的格式符的修飾符:L:用于長整型整數(shù),可加在格式符d,o,x,u前面M(代表一個(gè)正整數(shù)):數(shù)據(jù)最小寬度N(代表一個(gè)正整數(shù)):對(duì)實(shí)數(shù),表示輸出n位小數(shù); 對(duì)字符串,表示截取的字符個(gè)數(shù):輸出的數(shù)字或字符在域內(nèi)向左靠 4.5 4.5 格式輸入與輸出格式輸入與輸出 格式符格式符。用來輸出十進(jìn)制整數(shù)。幾種用法: :按十進(jìn)制整型數(shù)據(jù)的實(shí)際長度輸出。 :為指定的輸出字段的寬度。如果數(shù)據(jù)的位數(shù)小于, 則左端補(bǔ)以空格,若大于,則按實(shí)際位數(shù)輸出。 例: (,); 若,則輸出結(jié)果為 , :輸出長整型數(shù)據(jù)。 例: ;/* 定義a為長整型變量*/ (,); 4.5 4.5 格式輸入與輸出格式輸入與輸出 (2) 格式

11、符格式符。以八進(jìn)制整數(shù)形式輸出。輸出的數(shù)值不帶符號(hào),符號(hào)位也一起作為八進(jìn)制數(shù)的一部分輸出。例:int a=-1; printf(%d,%o,a,a); 在內(nèi)存單元中的存放形式(以補(bǔ)碼形式存放)如下: 1111111111111111 輸出為: ,不會(huì)輸出帶負(fù)號(hào)的八進(jìn)制整數(shù)。對(duì)長整數(shù)(型)可以用“”格式輸出。還可以指定字段寬度,例:(,); 輸出為: 177777。 (數(shù)字前有2個(gè)空格) 4.5 4.5 格式輸入與輸出格式輸入與輸出 (3)格式符格式符。以十六進(jìn)制數(shù)形式輸出整數(shù)。同樣不會(huì)出現(xiàn)負(fù)的十六進(jìn)制數(shù)。例: ; (,); 輸出結(jié)果為: ffff,可以用“”輸出長整型數(shù),也可以指定輸出字段的寬

12、度例: “” 4.5 4.5 格式輸入與輸出格式輸入與輸出 (4)格式符格式符,用來輸出型數(shù)據(jù).一個(gè)有符號(hào)整數(shù)(型)也可以用格式輸出;一個(gè)型數(shù)據(jù)也可以用格式輸出。型數(shù)據(jù)也可用或格式輸出。(5)格式符格式符,用來輸出一個(gè)字符。如:d; (,d); 輸出字符.一個(gè)整數(shù),只要它的值在范圍內(nèi),可以用“”使之按字符形式輸出,在輸出前,系統(tǒng)會(huì)將該整數(shù)作為ASCII碼轉(zhuǎn)換成相應(yīng)的字符;一個(gè)字符數(shù)據(jù)也可以用整數(shù)形式輸出。 4.5 4.5 格式輸入與輸出格式輸入與輸出 例4.3 無符號(hào)數(shù)據(jù)的輸出。#includevoid main()unsigned int a=65535;int b=-2;printf(“a

13、=%d,%o,%x,%un”,a,a,a,a);printf(“b=%d,%o,%x,%un”,b,b,b,b); 運(yùn)行結(jié)果:運(yùn)行結(jié)果:a=-1a=-1,177777177777,ffffffff,6553565535b=-2b=-2,177776177776,fffefffe,6553465534 4.5 4.5 格式輸入與輸出格式輸入與輸出 例4.4 字符數(shù)據(jù)的輸出。#includevoid main()char c=a;int i=97;printf(“%c,%dn”,c,c);printf(“%c,%dn”,i,i); 運(yùn)行結(jié)果:運(yùn)行結(jié)果:a,97a,97a,97a,97指定輸出字?jǐn)?shù)的

14、寬度,指定輸出字?jǐn)?shù)的寬度,printf(“%3c”,c);printf(“%3c”,c);則輸出:則輸出: a a 4.5 4.5 格式輸入與輸出格式輸入與輸出 (6)s s格式符格式符 輸出字符串. 。例如: (,) 輸出字符串“”(不包括雙引號(hào))。 %ms,輸出的字符串占m列,若串長大于m,則全部輸出,若串長 小于m,則左補(bǔ)空格。 %-ms,若串長小于m,字符串向左靠,右補(bǔ)空格。 %m. ns,輸出占m列,只取字符串中左端n個(gè)字符,輸出在m列的 右側(cè),左補(bǔ)空格。 %-m.ns,n個(gè)字符輸出在m列的左側(cè),右補(bǔ)空格,若nm,m自 動(dòng)取n值。 4.5 4.5 格式輸入與輸出格式輸入與輸出 例例4

15、.54.5字符串的輸出。#includevoid main()printf(“%3s,%7.2s,%.4s,%-5.3sn”, “CHINA”, “CHINA”, “CHINA”, “CHINA”); 運(yùn)行結(jié)果:運(yùn)行結(jié)果:CHINACHINA, CH ,CHIN,CHI CH ,CHIN,CHI 4.5 4.5 格式輸入與輸出格式輸入與輸出 (7)格式符。格式符。用來以小數(shù)形式輸出實(shí)數(shù)(包括單雙精度)有以下幾種用法: 。不指定字段寬度,由系統(tǒng)自動(dòng)指定字段寬度,使整數(shù)部分全部輸出,并輸出位小數(shù)。應(yīng)當(dāng)注意,在輸出的數(shù)字中并非全部數(shù)字都是有效數(shù)字。單精度實(shí)數(shù)的有效位數(shù)一般為位。.。指定輸出的數(shù)據(jù)共占

16、列,其中有位小數(shù)。如果數(shù)值長度小于,則左端補(bǔ)空格。.與.基本相同,只是使輸出的數(shù)值向左端靠,右端補(bǔ)空格。 4.5 4.5 格式輸入與輸出格式輸入與輸出 例例4.6 4.6 輸出實(shí)數(shù)時(shí)的有效位數(shù)。#include void () ,;(,); 運(yùn)行結(jié)果:運(yùn)行結(jié)果:. . 4.5 4.5 格式輸入與輸出格式輸入與輸出 例例4.74.7輸出雙精度數(shù)時(shí)的有效位數(shù)。#include void () ,;x=1111111111111.111111111; y=2222222222222.222222222;printf(“%f”,x+y); 運(yùn)行結(jié)果:運(yùn)行結(jié)果:3333333333333.333010

17、3333333333333.333010 4.5 4.5 格式輸入與輸出格式輸入與輸出 例4.8 輸出實(shí)數(shù)時(shí)指定小數(shù)位數(shù)。#include void ()float f=123.456;printf(“%f%10f%10.2f%.2f%-10.2fn”,f,f,f,f,f); 運(yùn)行結(jié)果:運(yùn)行結(jié)果:123.455994 123.455994 123.46 123.46 123.46123.455994 123.455994 123.46 123.46 123.46 4.5 4.5 格式輸入與輸出格式輸入與輸出 (8)格式符格式符,以指數(shù)形式輸出實(shí)數(shù)??捎靡韵滦问剑?。不指定輸出數(shù)據(jù)所占的寬度和數(shù)

18、字部分的小數(shù)位數(shù).例: (,);輸出: 6列 5列所輸出的實(shí)數(shù)共占列寬度。(注:不同系統(tǒng)的規(guī)定略有不同) 4.5 4.5 格式輸入與輸出格式輸入與輸出 m.ne和-m.ne。、和“”字符的含義與前相同。 此處指擬輸出的數(shù)據(jù)的小數(shù)部分(又稱尾數(shù))的小數(shù)位數(shù)。 若,則:printf(%e %10e %10.2e %.2e %-10.2e,f,f,f,f,f); 輸出如下:1.234560e+002 1.234560e+002 1.23e+002 1.23e+002 13列 13列 10列 9列 1.23e+002 10列說明:未指定,自動(dòng)使.超過給定的列,乃突破列的限制,按實(shí)際長度輸出。第3個(gè)數(shù)據(jù)

19、共占列,小數(shù)部分占列。只指定,未指定,自動(dòng)使等于數(shù)據(jù)應(yīng)占的長度。第5個(gè)數(shù)據(jù)應(yīng)占列,數(shù)值只有列,由于是“”,數(shù)值向左靠,右補(bǔ)一個(gè)空格。(注:有的C系統(tǒng)的輸出格式與此略有不同) 4.5 4.5 格式輸入與輸出格式輸入與輸出 (9) )格式符格式符,用來輸出實(shí)數(shù). 它根據(jù)數(shù)值的大小,自動(dòng)選格式或格式(選擇輸出時(shí)占寬度較小的一種),且不輸出無意義的零。例:若,則( ,);輸出如下:123.468000 1.234680e+002 123.468 10列 13列 10列說明:用格式輸出占列,用格式輸出占列,用格式時(shí),自動(dòng)從上面兩種格式中選擇短者(今以格式為短)故占列,并按格式用小數(shù)形式輸出,最后3個(gè)小數(shù)

20、位為無意義的,不輸出,因此輸出123.468,然后右補(bǔ)3個(gè)空格。格式用得較少。 4.5 4.5 格式輸入與輸出格式輸入與輸出 說明: 除了X,E,G外,其他各式字符必須用小寫。 可以在printf函數(shù)中的“格式控制”字符串中包含轉(zhuǎn)義字符。 一個(gè)格式說明必須以“%”開頭,以9個(gè)格式字符之一為結(jié)束,中間可以插入附加格式字符。 想輸出%,則應(yīng)該在格式控制字符串中用連續(xù)兩個(gè)%表示 4.5 4.5 格式輸入與輸出格式輸入與輸出 (一).格式輸入函數(shù) 函數(shù)作用:按照變量在內(nèi)存的地址將變量值存 進(jìn)去。 一般格式:scanf(格式控制,地址表列)同同printf函數(shù)函數(shù)是由若干個(gè)地址組成的表列,可以是變量的是

21、由若干個(gè)地址組成的表列,可以是變量的地址,或字符串的首地址地址,或字符串的首地址 4.5 4.5 格式輸入與輸出格式輸入與輸出 例4.9 用scanf函數(shù)輸入數(shù)據(jù)。#includevoid main()int a,b,c;scanf(“%d%d%d”,&a,&b,&c);printf(“%d,%d,%dn”,a,b,c); 運(yùn)行情況:運(yùn)行情況:3 4 5 (3 4 5 (輸入輸入a,b,ca,b,c的值的值) )3 3,4 4,5 5 (輸出(輸出a,b,ca,b,c的值)的值)a a在內(nèi)存中的地在內(nèi)存中的地址址& &是地址運(yùn)算符是地址運(yùn)算符 4.5 4.5 格式輸入與輸出格式輸入與輸出 說明

22、: 對(duì)unsigned型變量所需要的數(shù)據(jù),可以用%u,%d或%o,%x格式輸入。 可以指定輸入數(shù)據(jù)所占的列數(shù),系統(tǒng)自動(dòng)按它截取所需數(shù)據(jù)。 如果在%后有一個(gè)“*”附加說明符,表示跳過它指定的列數(shù)。 輸入數(shù)據(jù)時(shí)不能規(guī)定精度。 4.5 4.5 格式輸入與輸出格式輸入與輸出 使用函數(shù)時(shí)應(yīng)注意的問題使用函數(shù)時(shí)應(yīng)注意的問題 :(1)函數(shù)中的“格式控制”后面應(yīng)當(dāng)是變量地址,而不應(yīng) 是變量名。 (2) 如果在“格式控制”字符串中除了格式說明以外還有其他字符, 則在輸入數(shù)據(jù)時(shí)在對(duì)應(yīng)位置應(yīng)輸入與這些字符相同的字符。 (3) 在用“”格式輸入字符時(shí),空格字符和“轉(zhuǎn)義字符”都作為 有效字符輸入 (4) 在輸入數(shù)據(jù)時(shí),遇以下情況時(shí)認(rèn)為該數(shù)據(jù)結(jié)束。 遇空格,或按“回車”或“跳格”(Tab)鍵; 按指定的寬度結(jié)束,如“”,只取列; 遇非法輸入。 4.6 4.6 順序結(jié)構(gòu)程序設(shè)計(jì)舉例順序結(jié)構(gòu)程序設(shè)計(jì)舉例例4.10 輸入三角形的三邊長,求三角形面積。假設(shè):三個(gè)邊長a,b,c能構(gòu)成三角形。已知面積公式:area=s=(a+b+c)*0.5c)b)(sa)(ss(s開始輸入三邊長計(jì)算s計(jì)算面積結(jié)束 4.6 4.6 順序結(jié)構(gòu)程序設(shè)計(jì)舉例順序結(jié)構(gòu)程序設(shè)計(jì)舉例 #include#includevoid main()float a,b,c,s,area;scanf(

溫馨提示

  • 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)論