




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第二講第二講C C程序設計初步程序設計初步(3)(3)C言語程序設計言語程序設計 Programming in C2022-4-202一、輸入輸出函數的簡單運用一、輸入輸出函數的簡單運用 1. 1.格式輸出函數格式輸出函數printfprintf 2. 2.格式輸入函數格式輸入函數scanfscanf二、程序中的常用運算符二、程序中的常用運算符(Operator)(Operator)和表和表達式達式(Expression)(Expression) 1. 1.算術運算符和算術表達式算術運算符和算術表達式 2. 2.賦值運算符和賦值表達式賦值運算符和賦值表達式 3. 3.自增自增/ /自減運算符自
2、減運算符 4. 4.逗號運算符和逗號表達式逗號運算符和逗號表達式 5. 5.指針運算符指針運算符 6. 6.數據類型轉換數據類型轉換上講內容回想上講內容回想2022-4-203本講內容本講內容2.4.2 輸入輸出的復雜格式控制輸入輸出的復雜格式控制2.4.3 字符字符/字符串數據的輸入和輸出字符串數據的輸入和輸出2.5 C語句概述語句概述2022-4-2042.4.2 輸入輸出的復雜格式控制輸入輸出的復雜格式控制1.輸出的復雜格式控制輸出的復雜格式控制 printf函數調用方式:函數調用方式:功能功能1:按原樣輸出字符串。:按原樣輸出字符串。 printf(“字符串字符串);功能功能2:按格式
3、闡明符輸出對應的數據項。:按格式闡明符輸出對應的數據項。 printf(%格式闡明符格式闡明符, 輸出項列表輸出項列表); printf(a=%d,b=%fn,a,b)2022-4-205int a=1; float b=2;printf(a=%d,b=%fn,a,b)變量變量a對應格對應格式符為式符為%d變量變量b對應格對應格式符為式符為%f非格式符原樣輸非格式符原樣輸出,出,n是本義字是本義字符符格式控制字符串格式控制字符串輸出數據列表輸出數據列表1.1.輸出的復雜格式控制輸出的復雜格式控制 2022-4-206常用的常用的printf格式符格式符2022-4-207程序運轉結果為:程序運
4、轉結果為:1.1.輸出的復雜格式控制輸出的復雜格式控制 2022-4-208printf (%dn %un%x ,%X,%o n, 10, 10, 10, 10, 10);printf (%dn %un%x ,%X,%o n,-1, -1, -1, -1, -1);1 01 0a , A , 1 21.1.輸出的復雜格式控制輸出的復雜格式控制 2022-4-209數據在計算機中的存儲數據在計算機中的存儲-補碼補碼補碼的最高位為符號位補碼的最高位為符號位 正數最高位為正數最高位為0,負數最高位為,負數最高位為1正數的補碼就是它本身正數的補碼就是它本身例如:例如:1的補碼假設為短整型,的補碼假設為
5、短整型,2個字節個字節 0000 0000 0000 0001負數的補碼負數的補碼例如:例如:-1的補碼假設為短整型,的補碼假設為短整型,2個字節個字節先求它的絕對值為先求它的絕對值為1 0000 0000 0000 0001按位取反按位取反 1111 1111 1111 1110最低位加最低位加1 -1的補碼是的補碼是 1111 1111 1111 2022-4-2010printf (%dn %un%x ,%X,%o n,-1, -1, -1, -1, -1); -1的補碼是:的補碼是: 1111 1111 1111 1111- 165 5 3 5f f f f, F F F F , 1
6、77 7 7 71.1.輸出的復雜格式控制輸出的復雜格式控制 2022-4-2011程序運轉結果為:程序運轉結果為:1.1.輸出的復雜格式控制輸出的復雜格式控制 2022-4-2012程序運轉結果為:程序運轉結果為:1.1.輸出的復雜格式控制輸出的復雜格式控制 2022-4-2013常用的常用的printf 的附加格式闡明的附加格式闡明 2022-4-2014printf (%dn,100);printf%5dn,100;printf(%8dn%8d,100,100*100);0000100100001001001001printf%-5dn,100;1.1.輸出的復雜格式控制輸出的復雜格式控
7、制 2022-4-2015char c= A ;printf (%4c,%c%dn,c, c,c);56A,A 1.1.輸出的復雜格式控制輸出的復雜格式控制 2022-4-2016printf (%fn%10.3fn%6.3fn ,a, a,a);1 0 0 .7 6 5 4 0 41 0 0 . 7 6 51 0 0 .7 6 5float a= 100.7654;寬度不夠,寬度不夠,整數部分原整數部分原樣輸出。樣輸出。1.1.輸出的復雜格式控制輸出的復雜格式控制 2022-4-2017【學生工程案例【學生工程案例2-1 2-1 】某學生在】某學生在“學生信息管理系學生信息管理系統中查詢學生
8、信息,系統需求顯示學生的學號、統中查詢學生信息,系統需求顯示學生的學號、姓名、性別和課程的成果等信息。閱讀下面程序,姓名、性別和課程的成果等信息。閱讀下面程序,了解不同類型數據的輸出方式。了解不同類型數據的輸出方式。#include void main() char *pnum=20190901,*pname=汪涵汪涵; /*指針可以指向字符串常量指針可以指向字符串常量*/ char x=f; int kc1=70,kc2=82; printf(%s,%s,%c,%d,%dn,pnum,pname,x,kc1,kc2); 2022-4-2018printf( %d ,90);printf( %
9、d ,90);0000100109%d%1.1.輸出的復雜格式控制輸出的復雜格式控制 2022-4-2019 假設輸出項個數多假設輸出項個數多于格式字符個數,多余于格式字符個數,多余數據部分不輸出。數據部分不輸出。1.1.輸出的復雜格式控制輸出的復雜格式控制 2022-4-2020從右向左計算從右向左計算從左向右輸出從左向右輸出1.1.輸出的復雜格式控制輸出的復雜格式控制 2022-4-2021【例】閱讀程序,領會【例】閱讀程序,領會scanf()scanf()函數的運用。函數的運用。#include stdio.hvoid main(void) char ch; printf(請從鍵盤上輸入
10、請從鍵盤上輸入Y(贊同贊同)或或N(反對反對):n);/*提示信提示信息息*/ scanf(%c,&ch); /*從鍵盤上輸入從鍵盤上輸入Y或或N字符字符*/ printf(您所選擇的是您所選擇的是:%cn,ch); /*在屏幕上顯示用戶在屏幕上顯示用戶的選擇的選擇*/2022-4-2022scanf函數調用的簡單方式有:函數調用的簡單方式有:1scanf(%格式闡明符格式闡明符, &簡單變量名簡單變量名);2scanf(“%格式闡明符格式闡明符, 指針變量指針變量);功能:功能: 按照按照“格式控制字符串的格式要求,用戶從格式控制字符串的格式要求,用戶從規范輸入設備普通是鍵盤
11、鍵入一或多個規范輸入設備普通是鍵盤鍵入一或多個數據,回車鍵終了后,將輸入數據依次保管到地數據,回車鍵終了后,將輸入數據依次保管到地址列表指定的對應內存變量中。址列表指定的對應內存變量中。2.2.輸入的復雜格式控制輸入的復雜格式控制 留意:留意:“輸入項地址列表中的數據和輸入項地址列表中的數據和“格式闡明符應格式闡明符應該在類型、個數、位置上一致。該在類型、個數、位置上一致。輸入格式控制字符串中不能出現本義字符。輸入格式控制字符串中不能出現本義字符。 如:如:scanf(%d,%dn,&a,&b); scanf(%d,%dn,&a,&b); 2022-4-2022
12、-4-2024程序中出現程序中出現八進制數的八進制數的表示方法:表示方法:X=012X=0122.2.輸入的復雜格式控制輸入的復雜格式控制 輸入輸入輸出輸出數值型數據間用空數值型數據間用空格、跳格格、跳格TABTAB鍵鍵或回車分隔或回車分隔2022-4-202503=i3=i 321 3,2,1錯錯0 0 輸入輸入輸出輸出2.2.輸入的復雜格式控制輸入的復雜格式控制 普通字符普通字符原樣輸入原樣輸入2022-4-2026 scanf (%c%c%c, &a,&b,&c);scanf (%d%d%d, &a,&b,&c);scanf (%d%d %
13、c , &m, &n, &ch);c de c c e123 1 2 3 1 , 2 , 3 12 a錯錯錯錯2.2.輸入的復雜格式控制輸入的復雜格式控制 字符數據字符數據間不需求間不需求用分隔符用分隔符2022-4-20272.2.輸入的復雜格式控制輸入的復雜格式控制 輸入輸入輸出輸出2022-4-2028 scanf (%3d, &a); scanf (%4d%4d, &a,&b); scanf (%4f, &c); scanf (“%6.2f, &c);不能控制精度;不能控制精度錯錯 7654.1 87654321 7652
14、1 321 54321a=123a=1 a=125a=1234 b=5678C=1.4500002.2.輸入的復雜格式控制輸入的復雜格式控制 2022-4-2029 數值數據輸入時:數值數據輸入時: 遇空格、跳格遇空格、跳格TAB鍵或回車終了;鍵或回車終了; 遇非數值字符終了;遇非數值字符終了; 遇寬度終了;遇寬度終了; 遇非法輸入終了。遇非法輸入終了。字符型數據輸入時:字符型數據輸入時: 可以接納空格、跳格可以接納空格、跳格TAB鍵或回車。鍵或回車。如:如: int a,b,d; char c;scanf(%d%d%c%3d,&a,&b,&c,&d); 輸入序
15、列為:輸入序列為: 1011A12345 表示空格表示空格 那么,那么,a=10,b=11,c=,d=1232.2.輸入的復雜格式控制輸入的復雜格式控制 2022-4-2030a=7,b=8 a=7,b=8 a=7,b=8a=7,b=8 盡量不要將格式控制字符串盡量不要將格式控制字符串指定得太復雜,用戶看不到,會指定得太復雜,用戶看不到,會添加不用要得難度和錯誤。添加不用要得難度和錯誤。2.2.輸入的復雜格式控制輸入的復雜格式控制 2022-4-2031input a,b: 7input a,b: 7 88a=7,b=8a=7,b=8 參與必要的提示信息,參與必要的提示信息,降低了用戶輸入的難
16、度。降低了用戶輸入的難度。2.2.輸入的復雜格式控制輸入的復雜格式控制 2022-4-2032 在鍵盤上輸入:在鍵盤上輸入:5.3,123,456,1.23456 #include void main() int b; float c; double a; scanf(%f,%d,%*d,%5f,&a,&b,&c); printf(%e,%d,%f,a,b,c); pa值不正確。值不正確。a是是double型,輸入時須用型,輸入時須用%lf或或%le;p%*d對應的數據是對應的數據是456,附加格式符,附加格式符“*允許對應的允許對應的輸入數據被忽略,因此輸入數據被忽略
17、,因此456未賦給未賦給c變量;變量;p1.23456按按%5f格式截取格式截取1.234賦給賦給c,輸出,輸出1.234000。 修正為修正為%lf【例】【例】2022-4-20332.4.3 字符字符/字符串數據的輸入和輸出字符串數據的輸入和輸出輸入和輸出一個字符:輸入和輸出一個字符: getchar和和putchar函數函數輸入和輸出一個字符串:輸入和輸出一個字符串:gets和和puts函數函數2022-4-2034功能:功能: 從規范輸入設備從規范輸入設備(鍵盤鍵盤)接納一個字符,該字符接納一個字符,該字符作為作為getchar函數的前往值。函數的前往值。輸入字符后,按回車鍵,輸入的字
18、符才有效。輸入字符后,按回車鍵,輸入的字符才有效。如:如:ch=getchar( );/*輸入輸入a */ ch=getchar()+10;闡明:闡明:getchar( )是無參函數,原型包含是無參函數,原型包含stdio.h頭文件中。頭文件中。1.字符輸入函數字符輸入函數getchar( )2022-4-2035#include void main() char a,b;a=getchar();b=getchar();printf(a=%c,b=%cn,a,b);【例】閱讀并分析程序。領會鍵盤字符輸入。【例】閱讀并分析程序。領會鍵盤字符輸入。 getchar();1.字符輸入函數字符輸入函數
19、getchar( )v從鍵盤輸入:從鍵盤輸入:vq vw v從鍵盤輸入:從鍵盤輸入:vqw 2022-4-2036 getchar getchar函數將輸入的英文字母、標點符號函數將輸入的英文字母、標點符號和數字都作為字符輸入。和數字都作為字符輸入。 回車會作為一個字符讀入。假設程序中有回車會作為一個字符讀入。假設程序中有兩個或兩個以上兩個或兩個以上getchargetchar函數時,應該一次輸入函數時,應該一次輸入一切字符,最后再按回車鍵。一切字符,最后再按回車鍵。 或用或用getchargetchar函函數耗費掉多余的回車。數耗費掉多余的回車。1.字符輸入函數字符輸入函數2022-4-20
20、37#include void main() char a,b;a=getchar();b=getchar(); printf(a=%c,b=%cn,a,b);【例】閱讀并分析程序。領會鍵盤字符輸入。【例】閱讀并分析程序。領會鍵盤字符輸入。 getchar();1.字符輸入函數字符輸入函數getchar( ) getchar();2022-4-2038#include void main() char a,b;scanf(%c%c,&a,&b); printf(a=%c,b=%cn,a,b);【例】閱讀并分析程序。領會鍵盤字符輸入。【例】閱讀并分析程序。領會鍵盤字符輸入。1.字
21、符輸入函數字符輸入函數getchar( )2022-4-2039功能:功能:向輸出設備向輸出設備(普通為顯示器普通為顯示器)輸出一個字符,前輸出一個字符,前往該字符的往該字符的ASCII碼值。調用普通方式為:碼值。調用普通方式為: putchar(c);參數參數c可以是字符型常量、字符型變量、字符可以是字符型常量、字符型變量、字符型表達式、整型常量、整型變量、整型表達式等。型表達式、整型常量、整型變量、整型表達式等。包含在包含在stdio.h。2.字符輸出函數字符輸出函數putchar()2022-4-2040#include “stdio.h ABBCABBCmain( ) int x=65
22、; char y=B; putchar(x); putchar(65+1); putchar(y); putchar(B+1); 2.字符輸出函數字符輸出函數putchar()2022-4-2041分析:分析: 對 應 大 小對 應 大 小寫 字 母 的寫 字 母 的ASCII碼值之碼值之差為差為32,利用,利用這一特點實現這一特點實現大小寫字母的大小寫字母的轉換。轉換。【文本工程案例【文本工程案例2-12-1】文字處置軟件有許多根本功能,如】文字處置軟件有許多根本功能,如更改字母大小寫、字符統計等。編程實現將小寫字母轉換更改字母大小寫、字符統計等。編程實現將小寫字母轉換成大寫字母。成大寫字母
23、。#include stdio.hvoid main( ) char ch1,ch2; printf(“請輸入第一個小寫字母請輸入第一個小寫字母:n); ch1=getchar(); getchar(); printf(“請輸入第二個小寫字母請輸入第二個小寫字母:n); ch2=getchar(); getchar(); ch1=ch1-32, ch2=ch2-32; /*轉換轉換*/ putchar(ch1); putchar(ch2); 2022-4-2042#include void main() char ch; ch=getchar(); putchar(ch); #include
24、void main() char ch; scanf(“%c,&ch); printf(“%c, ch); 字符型數據的輸入輸出字符型數據的輸入輸出2022-4-2043功能:功能: 接納用戶從鍵盤輸入的一個字符串,輸入的接納用戶從鍵盤輸入的一個字符串,輸入的字符串以回車終了。字符串以回車終了。普通調用方式:普通調用方式:gets(str_adr)闡明:闡明:參數參數str_adr表示存放輸入的字符串的首地址。表示存放輸入的字符串的首地址。char a10; /*定義字符數組定義字符數組a*/gets(a);3.字符串輸入函數字符串輸入函數gets()2022-4-2044區別:區別:
25、 gets(a);gets函數接納包含空格在內的字符串,末尾的回車換函數接納包含空格在內的字符串,末尾的回車換行符讀入后不作為字符串的內容,系統將自動用終了行符讀入后不作為字符串的內容,系統將自動用終了符符“0替代。替代。scanf(%s,a); scanf函數的函數的“%s格式輸入字符串時,假設輸入的字格式輸入字符串時,假設輸入的字符串中包含空格,系統只接納空格之前的字符。符串中包含空格,系統只接納空格之前的字符。3.字符串輸入函數字符串輸入函數gets()2022-4-2045函數的調用方式為:函數的調用方式為:puts(str_adr)功能:功能: 輸出以輸出以str_adr地址為起始地
26、址的字符串。直至地址為起始地址的字符串。直至遇到第一個遇到第一個“0時為止,并將其自動轉換成一個時為止,并將其自動轉換成一個換行符。換行符。puts(a);4.字符串輸出函數字符串輸出函數puts()2022-4-2046#include stdio.hvoid main(void) char a100; puts(請輸入一個字符串可以包含空格請輸入一個字符串可以包含空格:); gets(a); printf(他所輸入的字符串是:他所輸入的字符串是:); puts(a); printf(請輸入一個字符串不包含空格請輸入一個字符串不包含空格:); scanf(%s,a); puts(他所輸入的字
27、符串是:他所輸入的字符串是:); printf(%s,a); 【例】閱讀程序,了解字符串輸入輸出函數的運用【例】閱讀程序,了解字符串輸入輸出函數的運用2022-4-2047總結總結變量獲取數據的幾種方法:變量獲取數據的幾種方法:1.賦初值賦初值int x=1;2.賦值語句賦值語句K=123;3.輸入函數輸入函數scanf(“%d,&x); x=getchar( );gets(x); 2022-4-20482.5 C語句概述語句概述一、簡單語句一、簡單語句二、復合語句二、復合語句三、空語句三、空語句四、流程控制語句后續章節四、流程控制語句后續章節2022-4-2049語句種類語句種類語句
28、的大概格式語句的大概格式說明說明控制語句控制語句if( )else條件語句條件語句for( )循環語句循環語句while( )dowhile( )continue結束本次循環結束本次循環break終止終止switch語句或循環語句或循環switch多分支選擇語句多分支選擇語句goto轉向語句轉向語句return從函數中返回語句從函數中返回語句函數調用語句函數調用語句函數名函數名(參數列表參數列表);如如printf(“C statement.”)表達式語句表達式語句表達式表達式;i+;空語句空語句;復合語句復合語句簡單簡單語句語句2022-4-2050一、一、 簡單語句簡單語句1.1.表達式語
29、句表達式語句 2. 2. 函數調用語句函數調用語句2022-4-20511.1.表達式語句表達式語句 任何任何C C言語表達式加上分號言語表達式加上分號“; ;構成表達式語句。構成表達式語句。普通方式為:普通方式為:表達式表達式; ;功能功能: :執行表達式語句即計算表達式的值。執行表達式語句即計算表達式的值。表達式語句分類表達式語句分類: :(1)(1)賦值語句賦值語句 a=1; a=1;(2)(2)運算符表達式語句運算符表達式語句 a+; a+;2022-4-2052經過運用函數名和實踐參數來調用執行函數體稱經過運用函數名和實踐參數來調用執行函數體稱為函數調用。為函數調用。函數調用語句的普
30、通方式為:函數調用語句的普通方式為:函數名函數名(實踐參數列表實踐參數列表);功能功能:把實踐參數賦予函數定義中的方式參數,然把實踐參數賦予函數定義中的方式參數,然后執行被調函數體中的語句。后執行被調函數體中的語句。例如,例如,printf(“學號學號); /*不運用函數值不運用函數值*/ y=x+sin(a); /*運用函數值運用函數值*/ c=getchar(); /*運用函數值運用函數值*/2.函數調用函數調用(Calling)及函數調用語句及函數調用語句2022-4-2053 C C言語提供了大量的規范庫函數供用戶運用。言語提供了大量的規范庫函數供用戶運用。 調用各種庫函數時,在程序首
31、部用調用各種庫函數時,在程序首部用#include#include預預處置命令包含函數所在的庫文件。處置命令包含函數所在的庫文件。在程序中調用數學函數必需包含數學頭文件:在程序中調用數學函數必需包含數學頭文件: #include #include 常用的數學函數有:常用的數學函數有: 初等數學函數、三角函數、雙曲線函數等。初等數學函數、三角函數、雙曲線函數等。 如,如,fabs(x)fabs(x),sqrt(x)sqrt(x),pow(x,y) pow(x,y) 等。等。 2.函數調用函數調用(Calling)及函數調用語句及函數調用語句2022-4-2054概念:用一對花括號概念:用一對花括號“ 將多條語句括起來,完成一將多條語句括起來,完成一定的功能或計算,稱為復合語句。定的功能或計算,稱為復合語句。 復合語句的普通格式:復合語句的普通格式: 數聽闡明部分數聽闡明部分; /*放在程序塊首部放在程序塊首部*/ 執行語句部分執
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 保險公司藝術活動方案
- 保險及理財沙龍活動方案
- 保險營銷活動策劃方案
- 信仰之名大課間活動方案
- 信息安全防范活動方案
- 信用卡線上申請活動方案
- 信陽公司聚會策劃方案
- 修理公司年會策劃方案
- 俯臥登山活動方案
- 俱樂部新年活動方案
- 四川省2024年中考生物試卷十二套合卷【附答案】
- 呼吸機霧化吸入療法護理實踐專家共識
- 《銀行業從業人員職業操守和行為準則》課件
- 人教版四年級美術下冊《第15課設計文化衫》說課稿
- 2024至2030年中國汽車售后服務行業市場深度調研及前景趨勢與投資發展研究報告
- 人工氣候室投標書
- 廣西桂林市2023-2024學年八年級下學期語文期末試卷
- 2024年第九屆“鵬程杯”五年級語文邀請賽試卷
- 診所負責人變更申請書
- (高清版)JTG D50-2017 公路瀝青路面設計規范
- 廣東省汕頭市2022-2023學年六年級下學期語文期末考試試卷(含答案)
評論
0/150
提交評論