C語言第3章最簡單的C程序設計_第1頁
C語言第3章最簡單的C程序設計_第2頁
C語言第3章最簡單的C程序設計_第3頁
C語言第3章最簡單的C程序設計_第4頁
C語言第3章最簡單的C程序設計_第5頁
已閱讀5頁,還剩47頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、2022年4月14日1第第3 3章章 最簡單的最簡單的C C程序設計程序設計 3.1 賦值語句 3.2 數(shù)據(jù)的輸入輸出 3.3 編程實例本節(jié)掌握以下內(nèi)容本節(jié)掌握以下內(nèi)容 3.1 賦值語句 3.2 數(shù)據(jù)輸入輸出的概念及在C語言中的實現(xiàn) 3.3 字符數(shù)據(jù)的輸入輸出 3.4 格式輸入與輸出2022年4月14日33.1 3.1 賦值語句賦值語句n變量聲明語句變量聲明語句int x, y;n表達式語句表達式語句i+;i = i + 1;n空語句空語句;n復合語句復合語句t = x; x = y; y = t;n控制語句控制語句注意注意:賦值語句和變量賦初值的賦值語句和變量賦初值的區(qū)別區(qū)別。C C語言允許

2、在定義變量的同語言允許在定義變量的同時給變量賦初值,例如時給變量賦初值,例如int int a=3,b=3,c=3;a=3,b=3,c=3;賦初值后的變量與賦初值后的變量與其他變量之間仍用逗號分隔,而其他變量之間仍用逗號分隔,而賦值語句的結(jié)尾必須是分號,例賦值語句的結(jié)尾必須是分號,例如如a=3;b=5;a=3;b=5;3.1 3.1 賦值語句賦值語句在賦值符在賦值符“=”右邊的表達式也可以又是一個賦值表達式右邊的表達式也可以又是一個賦值表達式;注意區(qū)別賦值語句與賦值表達式的使用場合,在需要表達注意區(qū)別賦值語句與賦值表達式的使用場合,在需要表達式的地方不能使用語句,反之亦然。式的地方不能使用語句

3、,反之亦然。注意賦值語句和變量賦初值的區(qū)別。注意賦值語句和變量賦初值的區(qū)別。3.1 3.1 賦值語句賦值語句 例例3.1 賦值語句的應用。 #include void main() int x,y,z; x=1 ;y=2 ;z=3 ; printf(x=%d,y=%d,z=%dn,x,y,z) ; x=y=z ; printf(x=%d,y=%d,z=%dn,x,y,z) ;2022年4月14日6第第3 3章章 最簡單的最簡單的C C程序設計程序設計 3.1 賦值語句 3.2 數(shù)據(jù)的輸入輸出 3.3 順序結(jié)構程序舉例2022年4月14日73.2 3.2 數(shù)據(jù)的輸入輸出數(shù)據(jù)的輸入輸出n所謂輸入輸

4、出是以計算機主機為主體計算機主機為主體而言的。從計算機向輸出設備(如顯示屏、打印機等)傳輸數(shù)據(jù)稱為“輸出”, 通過輸入設備(如鍵盤、磁盤、光盤、掃描儀等)向計算機傳輸數(shù)據(jù)稱為輸入。n#include stdio.h 在當前目錄和TC指定的目錄中找該文件n#include 在由TC指定的文件目錄中找該文件2022年4月14日83.2 3.2 數(shù)據(jù)的輸入輸出數(shù)據(jù)的輸入輸出n如何在程序中給變量賦值?如何在程序中給變量賦值?賦值表達式語句賦值表達式;Total = m * aver(1+r, n);n如何進行數(shù)據(jù)的輸入輸出?如何進行數(shù)據(jù)的輸入輸出?輸入:從標準輸入設備上輸入數(shù)據(jù)到計算機內(nèi)存輸出:將計算

5、機內(nèi)存中的數(shù)據(jù)送到標準輸出設備C語言中輸入輸出操作通過調(diào)用標準庫函數(shù)來實現(xiàn)2022年4月14日93.2 3.2 數(shù)據(jù)的輸入輸出數(shù)據(jù)的輸入輸出字符輸入輸出函數(shù)字符輸入輸出函數(shù)n字符輸出函數(shù)字符輸出函數(shù)putchar(ch)輸出一個字符chn字符輸入函數(shù)字符輸入函數(shù)getchar()無參數(shù)函數(shù)值為從輸入設備接收的字符2022年4月14日103.2 3.2 數(shù)據(jù)的輸入輸出數(shù)據(jù)的輸入輸出字符輸入輸出函數(shù)字符輸入輸出函數(shù)例例3.2 輸出單個字符(變量為字符型)輸出單個字符(變量為字符型) #includevoid main() char c1,c2; c1=A; c2=B; putchar(c1);pu

6、tchar(n);putchar(c2); 2022年4月14日113.2 3.2 數(shù)據(jù)的輸入輸出數(shù)據(jù)的輸入輸出字符輸入輸出函數(shù)字符輸入輸出函數(shù)例例3.3 輸出單個字符(變量為整型)輸出單個字符(變量為整型) #includevoid main() int i; i=65; putchar(i);putchar(n);putchar(66); 2022年4月14日123.2 3.2 數(shù)據(jù)的輸入輸出數(shù)據(jù)的輸入輸出字符輸入輸出函數(shù)字符輸入輸出函數(shù)例例3.4 輸出字符常量。輸出字符常量。 #includevoid main() putchar(A);putchar(n);putchar(x61);

7、2022年4月14日133.2 3.2 數(shù)據(jù)的輸入輸出數(shù)據(jù)的輸入輸出字符輸入函數(shù)字符輸入函數(shù)getchargetchar例例3.5 輸入單個字符。輸入單個字符。 #includevoid main() char c; printf( input a character:n); c=getchar(); putchar(c); 2022年4月14日143.2 3.2 數(shù)據(jù)的輸入輸出數(shù)據(jù)的輸入輸出例例3.6 從鍵盤輸入一個小寫字母,要求用大小寫形式輸出該字母及對應的從鍵盤輸入一個小寫字母,要求用大小寫形式輸出該字母及對應的ASCII碼值。碼值。 #include void main ()char

8、c1 , c2 ;printf(input a lowercase letter:);c1 = getchar ( );putchar(c1);printf (,%dn,c1);c2 = c1-32; /*將小寫字母轉(zhuǎn)換成對應的大寫字母將小寫字母轉(zhuǎn)換成對應的大寫字母*/printf (%c,%dn,c2,c2);2022年4月14日153.2 3.2 數(shù)據(jù)的輸入輸出數(shù)據(jù)的輸入輸出格式輸出函數(shù)格式輸出函數(shù)n格式輸出函數(shù)格式輸出函數(shù)printf(格式控制字符串格式控制字符串, 輸出項表列輸出項表列);輸出若干個任意類型的數(shù)據(jù)輸出若干個任意類型的數(shù)據(jù)nprintf(a=%d b=%f, a, b);

9、函數(shù)名輸出表列普通字符格式說明2022年4月14日163.2 3.2 數(shù)據(jù)的輸入輸出數(shù)據(jù)的輸入輸出printfprintf格式字符格式字符d 以帶符號十進制整數(shù)輸出以帶符號十進制整數(shù)輸出o 以八進制無符號整數(shù)輸出(無前導以八進制無符號整數(shù)輸出(無前導0)x 以十六進制無符號整數(shù)輸出(無前導以十六進制無符號整數(shù)輸出(無前導0 x)u 以十進制無符號整數(shù)輸出以十進制無符號整數(shù)輸出c 以字符形式輸出單個字符以字符形式輸出單個字符s 輸出一個字符串輸出一個字符串f 以小數(shù)形式輸出浮點數(shù)(以小數(shù)形式輸出浮點數(shù)(6位小數(shù))位小數(shù))e 以標準指數(shù)形式輸出(以標準指數(shù)形式輸出(6位小數(shù))位小數(shù))g 選用選用%

10、f,%e中輸出寬度較小的一種格式中輸出寬度較小的一種格式重要重要2022年4月14日173.2 3.2 數(shù)據(jù)的輸入輸出數(shù)據(jù)的輸入輸出printfprintf附加格式附加格式l 長整型整數(shù),加在長整型整數(shù),加在d、o、x、u前前L long double型數(shù),加在型數(shù),加在f、e、g前前m 表示數(shù)據(jù)占用的最小寬度表示數(shù)據(jù)占用的最小寬度 數(shù)據(jù)寬度大于數(shù)據(jù)寬度大于m,按實際寬度輸出,按實際寬度輸出 數(shù)據(jù)寬度小于數(shù)據(jù)寬度小于m時,補空格時,補空格n 對實數(shù)表示輸出對實數(shù)表示輸出n位小數(shù)位小數(shù) 對字符串表示最多輸出的字符個數(shù)對字符串表示最多輸出的字符個數(shù)- 改變輸出內(nèi)容的對齊方式改變輸出內(nèi)容的對齊方式

11、缺省為右對齊缺省為右對齊重要重要2022年4月14日183.2 3.2 數(shù)據(jù)的輸入輸出數(shù)據(jù)的輸入輸出#include/* 第第1行行 */void main()/* 第第2行行 */* 第第3行行 */ int a=65,b=66; /* 第第4行行 */ printf(%d %dn,a,b); /* 第第5行行 */ printf(%d,%dn,a,b); /* 第第6行行 */ printf(%c,%cn,a,b); /* 第第7行行 */ printf(a=%d,b=%d,a,b); /* 第第8行行 */* 第第9行行 */2022年4月14日193.2 3.2 數(shù)據(jù)的輸入輸出數(shù)據(jù)的輸

12、入輸出例例3.8 指定整數(shù)的輸出寬度。指定整數(shù)的輸出寬度。 #includevoid main()int a;int d;a=123;d=12345;printf(%4d,%4dn,a,d);2022年4月14日203.2 3.2 數(shù)據(jù)的輸入輸出數(shù)據(jù)的輸入輸出例例3.9 用八進制輸出整數(shù)。用八進制輸出整數(shù)。 #includevoid main()int b,d;b=-1;d=8; printf(%d,%on,b,b); printf(%d,%on,d,d); 2022年4月14日213.2 3.2 數(shù)據(jù)的輸入輸出數(shù)據(jù)的輸入輸出例例3.10 用十六進制輸出整數(shù)。用十六進制輸出整數(shù)。 #inclu

13、devoid main()int a,d;a=-1;d=16;printf(%x,%o,%dn,a,a,a);printf(%x,%o,%dn,d,d,d);2022年4月14日223.2 3.2 數(shù)據(jù)的輸入輸出數(shù)據(jù)的輸入輸出例例3.11 有符號數(shù)據(jù)傳送給無符號變量。有符號數(shù)據(jù)傳送給無符號變量。#includevoid main() unsigned a; int b = -1; a = b; printf(“%un”, a);2022年4月14日233.2 3.2 數(shù)據(jù)的輸入輸出數(shù)據(jù)的輸入輸出例例3.12 無符號數(shù)據(jù)的輸出。無符號數(shù)據(jù)的輸出。 #includevoid main() unsi

14、gned 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); 2022年4月14日243.2 3.2 數(shù)據(jù)的輸入輸出數(shù)據(jù)的輸入輸出例例3.13 字符數(shù)據(jù)的輸出。字符數(shù)據(jù)的輸出。 #include void main() char c = b; int k = 98; printf(%c,%dn,c,c); printf(%c,%dn,k,k); 2022年4月14日253.2 3.2 數(shù)據(jù)的輸入輸出數(shù)據(jù)的輸入輸出例例3.14 字符串的輸出。 #include voi

15、d main() printf(“%3s,%-7.3s,%.3s,%6.2sn, welcome, welcome, welcome, welcome); 2022年4月14日263.2 3.2 數(shù)據(jù)的輸入輸出數(shù)據(jù)的輸入輸出例例3.15 輸出實數(shù)和雙精度數(shù)時的有效位數(shù)輸出實數(shù)和雙精度數(shù)時的有效位數(shù) #includevoid main()float x;double y;x=33333.333333;y=2222222222222.222222222;printf( x=%f,y=%fn,x,y);2022年4月14日273.2 3.2 數(shù)據(jù)的輸入輸出數(shù)據(jù)的輸入輸出例例3.16 輸出實數(shù)時指定小

16、數(shù)位數(shù)。輸出實數(shù)時指定小數(shù)位數(shù)。 #includevoid main() float f=123.967; printf(%f %10f %10.2f %.2f %-10.2fn,f,f,f,f,f); 2022年4月14日283.2 3.2 數(shù)據(jù)的輸入輸出數(shù)據(jù)的輸入輸出例例3.17 按指數(shù)形式輸出實數(shù),并指定小數(shù)位數(shù)。按指數(shù)形式輸出實數(shù),并指定小數(shù)位數(shù)。 #includevoid main() float f=123.967; printf(%e %10e %10.1e %.1e %-10.1en,f,f,f,f,f);2022年4月14日293.2 3.2 數(shù)據(jù)的輸入輸出數(shù)據(jù)的輸入輸出例例

17、3.18 輸出實數(shù)。輸出實數(shù)。 #includevoid main() float f=123.967; printf(%f %e %gn,f,f,f);2022年4月14日303.2 3.2 數(shù)據(jù)的輸入輸出數(shù)據(jù)的輸入輸出例例3.19 寫出下列程序的運行結(jié)果寫出下列程序的運行結(jié)果 #include void main() int a=6; printf( %d,%d, %d,%d, %d,%dn,+a,-a,a+,a-,-a+,-a-);2022年4月14日313.2 3.2 數(shù)據(jù)的輸入輸出數(shù)據(jù)的輸入輸出若把程序改為如下:若把程序改為如下: #include void main()int a=

18、6; printf(%d,+a);printf( %d,-a);printf( %d, ,a+);printf( %d, ,a-);printf( %d, ,-a+);printf( %dn,-a-);2022年4月14日323.2 3.2 數(shù)據(jù)的輸入輸出數(shù)據(jù)的輸入輸出例例3.20 整型數(shù)據(jù)的輸出。整型數(shù)據(jù)的輸出。 #include void main() int a,b; long l=1367390; a=21; b=138; printf(a=%3d,a=%dn,a,a); printf(b=%d,b=%o,b=%xn,b,b,b); printf(l=%ldn,l); printf(%

19、d,%dn,a*b,a-b); 2022年4月14日333.2 3.2 數(shù)據(jù)的輸入輸出數(shù)據(jù)的輸入輸出例例3.21 字符型數(shù)據(jù)以及字符串的輸出。字符型數(shù)據(jù)以及字符串的輸出。 #include void main() char c; c=a; printf(c=%3c,c=%cn,c,c); printf(%c,%cn,c+3,c-32);printf(%sn,abcdefgh); printf(%6sn,abcde);printf(%-6sn,abcde);printf(%6.3sn,abcdefgh); 2022年4月14日343.2 3.2 數(shù)據(jù)的輸入輸出數(shù)據(jù)的輸入輸出例例3.22 實型數(shù)據(jù)

20、的輸出實型數(shù)據(jù)的輸出 #include void main() float x = 23.618;double y = 123.56783931635;printf(x=%f,x=%7.2f,x=%en,x,x,x);printf(y=%f,y=%e,y=%gn,y,y,y);printf(y=%12e,y=%10.2en,y,y); 2022年4月14日353.2 3.2 數(shù)據(jù)的輸入輸出數(shù)據(jù)的輸入輸出格式輸入函數(shù)格式輸入函數(shù)n格式輸出函數(shù)格式輸出函數(shù)scanf(格式控制字符串, 地址表列);輸入若干個任意類型的數(shù)據(jù)nprintf(“%d, %f, &a,&b);格式說明地址表

21、列格式說明非格式字符2022年4月14日363.2 3.2 數(shù)據(jù)的輸入輸出數(shù)據(jù)的輸入輸出格式輸入函數(shù)格式輸入函數(shù)n常見錯誤常見錯誤scanf(%d, %fn”, &a, &b);scanf(%d, %f”, a, b);scanf(%7.2f, &a);重要重要2022年4月14日373.2 3.2 數(shù)據(jù)的輸入輸出數(shù)據(jù)的輸入輸出scanfscanf格式字符格式字符d 以帶符號十進制形式輸入整型數(shù)據(jù)以帶符號十進制形式輸入整型數(shù)據(jù)o 以八進制無符號形式輸入(無前導以八進制無符號形式輸入(無前導0)x 以十六進制無符號形式輸入(無前導以十六進制無符號形式輸入(無前導0 x)c

22、 以字符形式輸入單個字符以字符形式輸入單個字符s 輸入字符串輸入字符串,以非空字符開始以非空字符開始,遇第一個遇第一個 空白字符結(jié)束空白字符結(jié)束f 以小數(shù)形式輸入浮點數(shù)以小數(shù)形式輸入浮點數(shù)e 以標準指數(shù)形式輸入以標準指數(shù)形式輸入重要重要2022年4月14日383.2 3.2 數(shù)據(jù)的輸入輸出數(shù)據(jù)的輸入輸出ScanfScanf附加格式字符附加格式字符l 加在加在d、o、x、u前:輸入長整型前:輸入長整型 加在加在f、e 前:輸入雙精度型前:輸入雙精度型L 加在加在f、e 前:輸入前:輸入long double型型h 加在加在d、o、x 前前:輸入短整型輸入短整型m 表示數(shù)據(jù)占用的寬度表示數(shù)據(jù)占用的

23、寬度* 本輸入項在讀入后不賦給相應的變量本輸入項在讀入后不賦給相應的變量輸入數(shù)據(jù)時,遇以下情況時該數(shù)據(jù)認為結(jié)束:輸入數(shù)據(jù)時,遇以下情況時該數(shù)據(jù)認為結(jié)束:遇空格、回車、遇空格、回車、TAB 鍵鍵遇寬度遇寬度 :%3d遇非法輸入遇非法輸入2022年4月14日393.2 3.2 數(shù)據(jù)的輸入輸出數(shù)據(jù)的輸入輸出例例3.23 用用scanf函數(shù)輸入數(shù)據(jù)。函數(shù)輸入數(shù)據(jù)。 #include void main() int a,b,c; printf(input a,b,cn);scanf(%d%d%d,&a,&b,&c); printf(a=%d,b=%d,c=%dn,a,b,c);

24、輸入:輸入:6 7 8 以下輸入均合法:以下輸入均合法:67 8scanf的格式字符的格式字符格式字符格式字符說說 明明d,i用來輸入有符號的十進制整數(shù)用來輸入有符號的十進制整數(shù) u用來輸入無符號的十進制整數(shù)用來輸入無符號的十進制整數(shù) o用來輸入無符號的八進制整數(shù)用來輸入無符號的八進制整數(shù) x,X用來輸入無符號的十六進制整數(shù)(大小寫作用相同)用來輸入無符號的十六進制整數(shù)(大小寫作用相同)c用來輸入單個字符用來輸入單個字符 s用來輸入字符串,將字符串保存到一個字符數(shù)組中,在輸入用來輸入字符串,將字符串保存到一個字符數(shù)組中,在輸入時以非空白字符開始,以第一個空白字符結(jié)束。字符串以串時以非空白字符開

25、始,以第一個空白字符結(jié)束。字符串以串結(jié)束標志結(jié)束標志0作為其最后一個字符作為其最后一個字符 f用來輸入實數(shù),可以用小數(shù)形式或指數(shù)形式輸入用來輸入實數(shù),可以用小數(shù)形式或指數(shù)形式輸入e,E,g,G與與f作用相同作用相同注意注意 scanf函數(shù)中要求給出變量地址,而不應是變量名。函數(shù)中要求給出變量地址,而不應是變量名。例如,若例如,若a,b是整型變量,則是整型變量,則scanf(“%d,%d”,a,b);是不對的。應該改成是不對的。應該改成scanf(“%d,%d”,&a,&b); scanf函數(shù)中沒有精度控制,輸入數(shù)據(jù)時不能規(guī)定精度。函數(shù)中沒有精度控制,輸入數(shù)據(jù)時不能規(guī)定精度。例如

26、:例如:scanf(“%7.2”,&a);是非是非法的,不能企圖用這樣的法的,不能企圖用這樣的scanf函數(shù)輸入數(shù)據(jù)函數(shù)輸入數(shù)據(jù)1234567而使而使a的值為的值為12345.67 在輸入多個數(shù)值數(shù)據(jù)時,若格式控制字符串中沒有非格式字符作輸入數(shù)據(jù)之間的間隔在輸入多個數(shù)值數(shù)據(jù)時,若格式控制字符串中沒有非格式字符作輸入數(shù)據(jù)之間的間隔,則可用空格,制表符或回車作間隔。,則可用空格,制表符或回車作間隔。C編譯在碰到空格,編譯在碰到空格,Tab,回車或非法數(shù)據(jù)(如,回車或非法數(shù)據(jù)(如對對“%d”輸入輸入“12A”時,時,A即為非法數(shù)據(jù))時即認為該數(shù)據(jù)結(jié)束。即為非法數(shù)據(jù))時即認為該數(shù)據(jù)結(jié)束。 在用

27、在用“%c”格式輸入字符時,空格字符和轉(zhuǎn)義字符都作為有效字符輸入格式輸入字符時,空格字符和轉(zhuǎn)義字符都作為有效字符輸入。 如果在格式控制字符串中除了格式說明外還有其他字符,則在輸入數(shù)據(jù)時在對應位置如果在格式控制字符串中除了格式說明外還有其他字符,則在輸入數(shù)據(jù)時在對應位置應輸入與這些字符相同的字符。應輸入與這些字符相同的字符。2022年4月14日423.2 3.2 數(shù)據(jù)的輸入輸出數(shù)據(jù)的輸入輸出例例3.24 輸入格式舉例。輸入格式舉例。 #includevoid main() char ch; int k,m; float x; scanf(c=%ck=%d,%d%f,&ch,&k,

28、&m,&x); printf(%c,%d,%d,%fn,ch,k,m,x); 輸入:輸入:c=wk=123,123 0.4562022年4月14日433.2 3.2 數(shù)據(jù)的輸入輸出數(shù)據(jù)的輸入輸出例例3.24 從鍵盤輸入一個整數(shù)和一個浮點數(shù),并在屏幕上顯示出來。從鍵盤輸入一個整數(shù)和一個浮點數(shù),并在屏幕上顯示出來。 #includevoid main() int i; float f;scanf(%d,%f,&i,&f);printf(i=%d,f=%fn,i,f);輸入:輸入:50,8.92022年4月14日44第第3 3章章 最簡單的最簡單的C C程序設計程序設計 3.1 3.1 賦值語句賦值語句 3.2 3.2 數(shù)據(jù)的輸入輸出數(shù)據(jù)的輸入輸出 3.3 3.3 編程實例編程實例2022年4月14日453.3 3.3 順序結(jié)構程序舉例順序結(jié)構程序舉例

溫馨提示

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

評論

0/150

提交評論