全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)c語(yǔ)言培訓(xùn)課件
《全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)c語(yǔ)言培訓(xùn)課件》由會(huì)員分享,可在線(xiàn)閱讀,更多相關(guān)《全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)c語(yǔ)言培訓(xùn)課件(259頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、,,,,,,,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),,,*,,,,,,,,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),,,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
2、,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),,,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第
3、五級(jí),,,*,全國(guó)計(jì)算機(jī)等級(jí)考試,二級(jí)教程,—C,語(yǔ)言程序設(shè)計(jì),全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)教程—C語(yǔ)言程序設(shè)計(jì),目錄,第,1,章 程序設(shè)計(jì)基本概念,第,2,章,C,程序設(shè)計(jì)的初步知識(shí),第,3,章 順序結(jié)構(gòu),第,4,章 選擇結(jié)構(gòu),第,5,章 循環(huán)結(jié)構(gòu),第,6,章 字符型數(shù)據(jù),第,7,章 函數(shù),第,8,章 地址和指針,第,9,章 數(shù)組,第,10,章 字符串,,第,11,章 對(duì)函數(shù)的進(jìn)一步討論,第,12,章,C,語(yǔ)言中用戶(hù)標(biāo)識(shí)符,的作用域和存儲(chǔ)類(lèi),第,13,章 編譯預(yù)處理和動(dòng)態(tài)存儲(chǔ)分配,第,14,章 結(jié)構(gòu)體、共用體和用,戶(hù)定義類(lèi)型,第,15,章 位運(yùn)算,第,16,章 文件,第
4、,17,章 上機(jī)指導(dǎo),,,目錄第1章 程序設(shè)計(jì)基本概念第11章 對(duì)函數(shù)的進(jìn)一步討論,1.1,程序和程序設(shè)計(jì),C,語(yǔ)言,源程序,C,語(yǔ)言,編譯程序,二進(jìn)制機(jī)器指令,(,目標(biāo)程序,),.C,.OBJ,高級(jí)語(yǔ)言,機(jī)器語(yǔ)言,C,語(yǔ)言,連接程序,可執(zhí)行文件,.EXE,考點(diǎn),算法的基本特征,①,有窮性、②確定性、③可行性,④有零個(gè)或多個(gè)輸入,⑤有一個(gè)或多個(gè)輸出,結(jié)構(gòu)化程序設(shè)計(jì)的,三種,基本結(jié)構(gòu),順序結(jié)構(gòu),,選擇結(jié)構(gòu),,循環(huán)結(jié)構(gòu),,考點(diǎn)總結(jié),:,由以上,3,種基本結(jié)構(gòu)組成的算法,可以完成任何復(fù)雜的問(wèn)題,.,考點(diǎn)總結(jié),:,用,C,程序?qū)崿F(xiàn)的算法可以,沒(méi)有輸入,,,但必須要有輸出,.,1.1 程序和程序
5、設(shè)計(jì)C語(yǔ)言源程序C語(yǔ)言編譯程序二進(jìn)制機(jī)器,習(xí)題,1.1,在,VC6.0,環(huán)境中用,RUN,命令運(yùn)行一個(gè),C,程序時(shí),這時(shí)所運(yùn)行的程序的后綴是,_________,。,1.2 C,語(yǔ)言源程序文件名的后綴是,_________,;經(jīng)過(guò)編譯后,生成文件的后綴是,_________,;經(jīng)過(guò)連接后,生成文件的后綴是,_________,。,1.3,結(jié)構(gòu)化程序由,_________,、,_________,、,_________,三種基本結(jié)構(gòu)組成。,.exe,.c,.obj,.exe,順序結(jié)構(gòu),選擇結(jié)構(gòu),循環(huán)結(jié)構(gòu),習(xí)題1.1 在VC6.0環(huán)境中用RUN命令運(yùn)行一個(gè)C程序時(shí),第,2,章,C,程序設(shè)計(jì)的初
6、步知識(shí),2.1,簡(jiǎn)單,C,語(yǔ)言程序的構(gòu)成和格式,2.2,標(biāo)識(shí)符、常量和變量,2.3,整型數(shù)據(jù),2.4,實(shí)型數(shù)據(jù),2.5,算術(shù)表達(dá)式,2.6,賦值表達(dá)式,2.7,自加、自減運(yùn)算符和逗號(hào)運(yùn)算符,,第2章 C程序設(shè)計(jì)的初步知識(shí)2.1 簡(jiǎn)單C語(yǔ)言程序的構(gòu)成,2.1,簡(jiǎn)單,C,語(yǔ)言程序的構(gòu)成和格式,本節(jié)將通過(guò)一個(gè)簡(jiǎn)單的程序例子,介紹,C,程序的一些基本構(gòu)成和格式,使大家對(duì),C,語(yǔ)言程序有一個(gè)初步的了解。,,例,2.1,,已知矩形的兩條邊長(zhǎng),(,用,a,表示寬,,b,表示長(zhǎng),),,求矩形的面積,(area),。,#include ,main(),{double a,b,area;,a=1.2;,b=3
7、.6;,area=a*b;,printf(“a=%f,b=%f,area=%f\n”,a,b,area);,},a=1.200000,b=3.600000,area=4.320000,注意:,1. C,程序由函數(shù)組成,一個(gè)程序必須有一個(gè)且只能有一個(gè),主函數(shù),(,main,),,C,程序總是從主函數(shù)開(kāi)始執(zhí)行,并且也是從它結(jié)束的。,2.,函數(shù)體必須放在一對(duì)花括號(hào)“,{}”,內(nèi),在函數(shù)體中,通常有,定義(說(shuō)明)語(yǔ)句,和,執(zhí)行語(yǔ)句,,定義語(yǔ)句應(yīng)出現(xiàn)在執(zhí)行語(yǔ)句之前,每條語(yǔ)句后面的分號(hào)不可少。多條語(yǔ)句可以寫(xiě)在同一行上,并且一條語(yǔ)句也可以寫(xiě)在多行上。,3. C,程序中的注釋必須放在,"/*",和,"*/
8、",之間,,"/",和,"*",之間不允許有空格。,"/*",和,"*/",之間不允許再插入,"/*",或,"*/",。注釋可以出現(xiàn)在程序中任意位置。,/*,包含頭文件*,/,/*,主函數(shù),,,程序的入口*,/,/*,聲明部分,,,定義了,3,實(shí)型個(gè)變量*,/,/*,給變量,a,賦值*,/,/*,給變量,b,賦值*,/,/*,將,a*b,的結(jié)果賦值給變量,area*/,/*,分別輸出矩形的兩條邊長(zhǎng)和面積*,/,,,,,a,b,area,1.2,3.6,4.32,,,,,函數(shù)體,2.1 簡(jiǎn)單C語(yǔ)言程序的構(gòu)成和格式本節(jié)將通過(guò)一個(gè)簡(jiǎn)單的程序,2.2,標(biāo)識(shí)符、常量和變量,2.2.1,標(biāo)識(shí)符,在,C,
9、語(yǔ)言中,有許多東西都需要命名,如變量名、函數(shù)名、數(shù)組名等,在命,名的時(shí)候都必須遵守一定的規(guī)則,按此規(guī)則命名的符號(hào)稱(chēng)為,標(biāo)識(shí)符,。,在,C,語(yǔ)言中,合法的標(biāo)識(shí)符由,字母,、,數(shù)字,和,下劃線(xiàn),組成 。,遵守以下規(guī)則命名:,必須以字母(大小寫(xiě)皆可)或下劃線(xiàn)開(kāi)頭。,隨后可跟若干個(gè)(包括,0,個(gè))字母、數(shù)字、下劃線(xiàn)。,標(biāo)識(shí)符的長(zhǎng)度各個(gè)系統(tǒng)不同,最好不要超過(guò),8,個(gè)字符。,如:,area PI _ini a_array s1234 P101p,(,合法,),456P cade-y w.w a&b,(,不合法,),,注意,C,語(yǔ)言區(qū)分大小寫(xiě)
10、,如,page,、,Page,是兩個(gè)不同的標(biāo)識(shí)符。,2.2 標(biāo)識(shí)符、常量和變量2.2.1 標(biāo)識(shí)符注意C語(yǔ)言區(qū),2.2,標(biāo)識(shí)符、常量和變量,2.2.1,標(biāo)識(shí)符,C,語(yǔ)言的標(biāo)識(shí)符可以分為以下三類(lèi) :,a),關(guān)鍵字,b),預(yù)定義標(biāo)識(shí)符,c),用戶(hù)標(biāo)識(shí)符,關(guān)鍵字:,,C,語(yǔ)言規(guī)定了一批標(biāo)識(shí)符,它們?cè)诔绦蛑卸即碇潭ǖ暮x,不能另作它用。例如,用來(lái)說(shuō)明變量類(lèi)型的標(biāo)識(shí)符,int,、,float,、,double,以及,if,語(yǔ)句中的,if,、,else,等都已有專(zhuān)門(mén)的用途,它們不能再用作變量名或函數(shù)名。注意,所有的關(guān)鍵字都必須小寫(xiě)。,C,語(yǔ)言中的關(guān)鍵字請(qǐng)參考附錄,4,。,,預(yù)定義標(biāo)識(shí)符:,這些標(biāo)識(shí)符
11、在,C,語(yǔ)言中也都有特定的含義,如,C,語(yǔ)言提供的庫(kù)函數(shù)的名字,(,如,include),和預(yù)編譯處理命令,(,如,define),等。,,,用戶(hù)標(biāo)識(shí)符:,由用戶(hù)根據(jù)需要定義的標(biāo)識(shí)符稱(chēng)為用戶(hù)標(biāo)識(shí)符。一般用來(lái)給變量、函數(shù)、數(shù)組或文件等命名。 如例,2.1,中的,a,b,area,三個(gè)變量,2.2 標(biāo)識(shí)符、常量和變量2.2.1 標(biāo)識(shí)符,2.2,標(biāo)識(shí)符、常量和變量,2.2.2,常量,在程序運(yùn)行過(guò)程中,其值不能被改變的量,稱(chēng)為,常量,。,,常量,,整型常量:,實(shí)型常量(符點(diǎn)型),字符常量:,字符串常量:,,單精度型:,雙精度型:,由上述可見(jiàn),常量的類(lèi)型從字面形式上就可以區(qū)分開(kāi)來(lái),我們稱(chēng)此常量為,字
12、面常量。,12,、,-1,、,0,‘A’,、‘,d’,”NCRE”,、“,Beijing”,3.14159,、,-2.71828,、,0.0,12.5678,、,-12.5678,2.2 標(biāo)識(shí)符、常量和變量2.2.2 常量常量整型常量:,2.2,標(biāo)識(shí)符、常量和變量,2.2.3,符號(hào)常量,在,C,語(yǔ)言中,可以用一個(gè),符號(hào)名,來(lái)代表一個(gè)常量,稱(chēng)為,符號(hào)常,量。,但是這個(gè)符號(hào)名必須在程序中用(,#define,)進(jìn)行特別的“,指定,",。,例,2.2,,計(jì)算圓面積和周長(zhǎng),此程序中將如何教大家使用符號(hào)常量。,#include “stdio.h”,#define PI 3.14159,main(),
13、{double r,s,l;,r=5.0;,s=PI*r*r;,l=2*PI*r;,printf(“s=%f,l=%f\n”,s,l);,},,S=78.539750,l=31.415900,/*,包含頭文件*,/,/*,定義符號(hào)常量,,,符號(hào)常量名為,PI,,用,PI,來(lái)代表,3.14159*/,/*,主函數(shù),,,程序的入口*,/,/*,聲明部分,,,定義了,3,實(shí)型個(gè)變量*,/,/*,給變量,r,賦值*,/,/*,計(jì)算圓的面積*,/,/*,計(jì)算圓的周長(zhǎng)*,/,/*,分別圓的面積和周長(zhǎng)*,/,注意,習(xí)慣上,符號(hào)常量名用大寫(xiě),變量名用小寫(xiě),以示區(qū)別,,函數(shù)體,r,,s,,l,,5.0,78.5
14、3975,31.4159,,,2.2 標(biāo)識(shí)符、常量和變量2.2.3 符號(hào)常量例2.2,2.2,標(biāo)識(shí)符、常量和變量,2.2.4,變量,1.,所謂,變量,是指在程序運(yùn)行過(guò)程中可以改變的量。,如下程序:,#include ,main(),{double a,b;,a=1.5;,b=2.5;,printf(“%f%f\n”,a,b);,a=a+1;,b=b+1;,printf(“%f%f\n”,a,b);,},,,a,b,1.5000002.500000,2.,在程序中,聲明變量就是在計(jì)算機(jī)內(nèi)存中申請(qǐng)了某個(gè),內(nèi)存單元,。對(duì)變量,進(jìn)行賦值,實(shí)質(zhì)上就是把數(shù)據(jù)存入該變量所代表的存儲(chǔ)單元中。,3.C,語(yǔ)言
15、規(guī)定,程序中所有變量都必須,先定義后使用,。如程序例,2.1,、例,2.2,。,,,,,,,,,,,內(nèi)存空間,a,b,2.5000003.500000,1.5,2.5,2.5,3.5,1.5,2.5,2.5,3.5,2.2 標(biāo)識(shí)符、常量和變量2.2.4 變量如下程序:#i,2.3,整型數(shù)據(jù),2.3.1,整型常量,,在,C,語(yǔ)言中,按整型常量的,表示形式,可以有三種形式。,整型常量,,由,0~9,十個(gè)數(shù)字組成,如,32767,、,-32768,、,0,等。,由,0~7,八個(gè)數(shù)字組成,如,0,10,、,0,11,、,0,16,等。,注意,最高位必須用,0,作引導(dǎo)符,與十進(jìn)制和十六進(jìn)制區(qū)分。,如
16、:,018,,為不合法的八進(jìn)制常量。,由,0~9,十個(gè)數(shù)字和,a~f(A~F),六個(gè)字母組成,如,0x,10,、,0X,de,、,0x,f,注意,最高位必須用,0x( 0X),作引導(dǎo)符,與十進(jìn)制和八進(jìn)制區(qū)分。,如:,oxff,、,0X12H,,都為不合法的十六進(jìn)制常量。,在,C,語(yǔ)言中,按整型常量的,表示范圍,可以分為四種。,在,C,語(yǔ)言中,八進(jìn)制數(shù)和十六進(jìn)制數(shù)只能是正整數(shù)。,注意,如:,-077,、,-0X11,、,01.0,等,(不合法),短整型,基本整型,長(zhǎng)整型,無(wú)符號(hào)整型,三種進(jìn)制之間的轉(zhuǎn)換,十六進(jìn)制常量:,八進(jìn)制常量:,十進(jìn)制常量:,2.3 整型數(shù)據(jù)2.3.1 整型常量在C語(yǔ)言中
17、,按整型常,2.3,整型數(shù)據(jù),2.2.2,整型變量,整型變量,是用來(lái)存放整型常量的工具??梢园颜妥兞砍橄鬄橐粋€(gè)盒子。,由于整型常量有短整型、基本整型、長(zhǎng)整型和無(wú)符號(hào)整型四種類(lèi)型,既然整型變量,是用來(lái)存放整型數(shù)據(jù)的,那整型變量也要分為四種對(duì)應(yīng)類(lèi)型的整型變量,以方便存,放不同類(lèi)型的整型常量。在此我們只介紹基本整型變量。也叫,整型變量,。,在,C,語(yǔ)言中,整型變量我們需要用一個(gè)符號(hào)來(lái)表示它,即整型變量名。,例如:,int k;,,/*,定義,k,為整型變量,,k,為變量名*,/,關(guān)鍵字,int,是用來(lái)說(shuō)明變量,k,的類(lèi)型為整型。,又如:,int i,j,k;,,/*,定義,i,、,j,、,k,為整
18、型變量*,/,,int i;,int j;,int k;,相同,注意,在同一行上使用關(guān)鍵字定義多個(gè)變量時(shí),變量之間用逗號(hào)隔開(kāi)。,所有定義語(yǔ)句后必須以一個(gè)“;”號(hào)結(jié)束,表示它是一條語(yǔ)句。,2.3 整型數(shù)據(jù)2.2.2 整型變量整型變量是用來(lái)存放整,2.3,整型數(shù)據(jù),2.2.2,整型變量,在前面已經(jīng)講過(guò),聲明變量就是在計(jì)算機(jī)內(nèi)存中申請(qǐng)某個(gè),內(nèi)存單元,。,在,VC6.0,環(huán)境中,用關(guān)鍵字,int,聲明變量時(shí),計(jì)算機(jī)將會(huì)為每個(gè)變量開(kāi)辟,4,字節(jié)(,32,個(gè)二進(jìn)制位)的內(nèi)存單元。,例如,,當(dāng)前的某段內(nèi)存空間如右圖所示。有如下程序段。,,內(nèi)存空間,地址,2000,2001,2002,2003,2004,
19、2005,2006,2007,2011,2010,2009,2008,2012,int i;,int j;,i=100;,j=200,;,C,語(yǔ)言規(guī)定,可以在定義變量的同時(shí)給變量賦初值,該過(guò)程,稱(chēng)為變量的,初始化,。例如:,#include ,main(),{int i=1,j=0,k=2;,:,:,},i,j,100,200,/*,在聲明變量的同時(shí),為三個(gè)變量賦值*,/,2.3 整型數(shù)據(jù)2.2.2 整型變量在前面已經(jīng)講過(guò),聲明,2.3,整型數(shù)據(jù),2.3.3,整型數(shù)據(jù)的分類(lèi),不同的計(jì)算機(jī)系統(tǒng)對(duì)整型數(shù)所占用的字節(jié)數(shù)和數(shù)值范圍有不同規(guī)定,下表列出了在,VC6.0,中定義的整型數(shù)所占用的字節(jié)數(shù)和
20、數(shù)值范圍。,,類(lèi)型名稱(chēng),通常使用簡(jiǎn)寫(xiě),字節(jié)數(shù),數(shù)值范圍,[signed] int,int,4,-2147483648~ 2147483647,[signed] short [int],short,2,-32768~32767,[signed] long [int],long,4,-2147483648~ 2147483647,unsigned [int],unsigned,4,0~4294967295,unsigned short [int],unsigned short,2,0~65535,unsigned long [int],unsigned long,4,0~4294967295,由于
21、整型數(shù)據(jù)在,C,語(yǔ)言中分為上述幾類(lèi),比如,123,。它是屬于哪一類(lèi)型的?,int,123L,、,345l,、,0L,、,123456L,123U,、,345u,、,0U,、,123456U,123LU,、,345lu,、,0LU,、,123456LU,long,unsigned,unsigned long,2.3 整型數(shù)據(jù)2.3.3 整型數(shù)據(jù)的分類(lèi)不同的計(jì)算機(jī)系,2.3,整型數(shù)據(jù),2.3.4,整數(shù)在內(nèi)存中的存儲(chǔ)形式,計(jì)算機(jī)中,內(nèi)存儲(chǔ)器的最小的存儲(chǔ)單位稱(chēng)為“,位,(bit),”,,每一位中只能存放,0,或,1,,因,此稱(chēng)為,二進(jìn)制位,。,8,個(gè)二進(jìn)制位組成一個(gè)“,字節(jié),”,并給每一個(gè)字節(jié)分配
22、一個(gè)地址。,數(shù)據(jù)在內(nèi)存中是以,二進(jìn)制形式,進(jìn)行存放的。,一、正整數(shù),正整數(shù)在內(nèi)存中是以“,原碼,”形式存放的。如果定義了一個(gè),short,類(lèi)型變量,i,:,short i;,i=5;,/*,聲明,i,為短整型變量*,/,/*,給,i,賦以整數(shù),5*/,十進(jìn)制數(shù),5,的二進(jìn)制形式為,101,,在,VC6.0,中,由于短整型變量在內(nèi)存中占,2,個(gè)字節(jié),,i,,,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,i,符號(hào)位,:,0,代表正整數(shù),,1,代表負(fù)整數(shù),二、負(fù)整數(shù),負(fù)整數(shù)在內(nèi)存中是以“,補(bǔ)碼,”形式存放的。,5,2.3 整型數(shù)據(jù)2.3.4 整數(shù)在內(nèi)存中的存儲(chǔ)形式計(jì)算機(jī),2.
23、4,實(shí)型數(shù)據(jù),2.4.1,實(shí)型常量,在,C,語(yǔ)言中,實(shí)型常量的表示形式有兩種。,實(shí)型常量,,由數(shù)字和小數(shù)點(diǎn)組成,如,0.123,、,.123,、,123.,、,0.0,指數(shù)形式:,如:,0.23026,x10,1,,2.3026x10,0,23.026x10,-1,0.23026E1,2.3026e0,23.026e-1,,,,注意,E(e),前后必須有數(shù)字,并且后面的必須為整型數(shù)。,.3e3 3.0e3 3.e3,(,合法,),3e e3 55e0.3,(,不合法,),小數(shù)形式:,2.4 實(shí)型數(shù)據(jù)2.4.1 實(shí)型常量在C語(yǔ)言中,實(shí)型常量,2.4,實(shí)型數(shù)據(jù),2.
24、4.2,實(shí)型變量,分類(lèi),類(lèi)型名稱(chēng),字節(jié)數(shù),數(shù)值范圍,有效數(shù)字位,單精度型,float,4,-10,38,~10,38,7,位,雙精度行,double,8,-10,308,~10,308,15~16,位,單精度型變量定義的形式如下:,float a,b,c;,雙精度型變量定義的形式如下:,double x,y,z;,實(shí)數(shù)在內(nèi)存中是以“,指數(shù),”形式存放的。,也可以在定義實(shí)型變量的同時(shí),對(duì)變量進(jìn)行初始化。例如:,#include ,main(),{float a=1.5,b=.5,c=0.0;,,double x=1.5,y=.5,z=0.0;,:,},/*,在聲明變量的同時(shí),為三個(gè)變量賦值*,/
25、,/*,在聲明變量的同時(shí),為三個(gè)變量賦值*,/,2.4 實(shí)型數(shù)據(jù)2.4.2 實(shí)型變量分類(lèi)類(lèi)型名稱(chēng)字節(jié)數(shù)數(shù),2.5,算術(shù)表達(dá)式,2.5.1,基本的算術(shù)運(yùn)算符,+,(,加法運(yùn)算符,或正值運(yùn)算符,),如:,1+2,、,+3.9,-,(,減法運(yùn)算符,或負(fù)值運(yùn)算符,),如:,3-4,、,-54,*,(,乘法運(yùn)算符,),如:,1.2*3.2,、,3*4,、,2*x,/,(,除法運(yùn)算符,),如:,5/3,、,(a+b)/(x+y),單目運(yùn)算符,雙目運(yùn)算符,兩個(gè)整數(shù)相除,其值仍然為整數(shù)。如:,5/3,值為,1,、,1/2,值為,0,。,兩個(gè)實(shí)數(shù)相除,其值仍然為實(shí)數(shù)。如:,1.0/2.0,值為,0.5,。,
26、除數(shù)、被除數(shù)只要有一個(gè)為實(shí)數(shù)時(shí),系統(tǒng)將自動(dòng)進(jìn)行類(lèi)型轉(zhuǎn)換,轉(zhuǎn)換為,double,型。,如:,1/2.0=0.5,、,,1.0/2.0=0.5,最后結(jié)果的類(lèi)型為,double,型。,%,(,求余運(yùn)算符,),注意:,%,運(yùn)算符的兩側(cè)必須為整型數(shù)據(jù)。,如:,7%4,的結(jié)果為,3,。,-7%4,、,7%-4,、,-7%-4,的結(jié)果為多少?,-3 3 -3,結(jié)果的符號(hào)和被除數(shù)相同,2.5 算術(shù)表達(dá)式2.5.1 基本的算術(shù)運(yùn)算符+ (加法,2.5,算術(shù)表達(dá)式,2.5.2,運(yùn)算符的優(yōu)先級(jí)、結(jié)合性和算術(shù)表達(dá)式,一、優(yōu)先級(jí),( ) + - * /
27、 % + -,,,單目,雙目,,同級(jí),,同級(jí),,同級(jí),高,低,二、結(jié)合性,單目運(yùn)算符的結(jié)合性是從右往左的,即表達(dá)式從右往左進(jìn)行計(jì)算,稱(chēng)為,右結(jié)合,。,其余運(yùn)算符的結(jié)合性是從左往右的。即表達(dá)式從左往右進(jìn)行計(jì)算,稱(chēng)為,左結(jié)合,。,例如,:,(5+1)/2,5+1/2,5*-2,5*(-2),,三、算術(shù)表達(dá)式,用算術(shù)運(yùn)算符和一對(duì)圓括號(hào)將運(yùn)算量,(,或稱(chēng)操作數(shù),),連接起來(lái)的、符合,C,語(yǔ)法的,表達(dá)式稱(chēng)為,算術(shù)表達(dá)式,。,算術(shù)表達(dá)式中,運(yùn)算對(duì)象可以是常量、變量和函數(shù)等。例如:,2+sqrt(c)*b,。,5,-10,3,2.5 算術(shù)表達(dá)式2.5.2 運(yùn)算符的優(yōu)先級(jí)、
28、結(jié)合性和算,2.5,算術(shù)表達(dá)式,2.5.3,強(qiáng)制類(lèi)型轉(zhuǎn)換表達(dá)式,表達(dá)式的形式如下:,(,類(lèi)型名,)(,表達(dá)式,),強(qiáng)制類(lèi)型轉(zhuǎn)換運(yùn)算符,作用:可以利用強(qiáng)制類(lèi)型轉(zhuǎn)換運(yùn)算符將一個(gè)表達(dá)式轉(zhuǎn)換成想要的類(lèi)型。,例如,:,(int)3.234,(double)(10%3),3,注意,int3.234,(錯(cuò)誤),(double)10%3,(錯(cuò)誤),例:閱讀如下程序,關(guān)于強(qiáng)制類(lèi)型轉(zhuǎn)換。,#include ,main(),{double a;,int b;,a=3.6;,b=(int)a;,printf(“a=%f,b=%d\n”,a,b);,},a=3.600000,b=3,1.0,a,,b,,3.6,3,2.
29、5 算術(shù)表達(dá)式2.5.3 強(qiáng)制類(lèi)型轉(zhuǎn)換表達(dá)式表達(dá)式的,2.6,賦值表達(dá)式,2.6.1,賦值運(yùn)算符和賦值表達(dá)式,賦值運(yùn)算符:,=,賦值表達(dá)式:由賦值運(yùn)算符組成的表達(dá)式稱(chēng)為賦值表達(dá)式,它的形式如下:,,變量名,=,表達(dá)式,,賦值號(hào)的左邊必須是一個(gè)代表某一存儲(chǔ)單元的變量名。,賦值運(yùn)算的功能是先求出右邊表達(dá)式的值,然后把此值賦給左邊的變量。,例如,若,a,和,b,都被定義成,int,類(lèi)型變量,a=10,;,,/*,把常量,10,賦給變量,a*/,,,,b=a,;,,/*,把,a,中的值賦給變量,b,,,a,中的值不變*,/,注意,1.,賦值運(yùn)算符的優(yōu)先級(jí)別只高于逗號(hào)運(yùn)算符,比其它任何運(yùn)算符的優(yōu)先,
30、級(jí)都低,且具有自右向左的結(jié)合性。例如:,a=2+7/3,2.,賦值運(yùn)算符的左側(cè)只能是變量不能是常量或表達(dá)式。如,a+b=c,是不合,法的賦值表達(dá)式。,3.,賦值號(hào)右邊的表達(dá)式也可以是一個(gè)賦值表達(dá)式,如,a=b=7+1,。,4.,作為一個(gè)表達(dá)式,它自己也應(yīng)該有一個(gè)值,,C,語(yǔ)言規(guī)定最左邊變量中,所得到的新值就是賦值表達(dá)式的值。,2.6 賦值表達(dá)式2.6.1 賦值運(yùn)算符和賦值表達(dá)式賦值,2.6,賦值表達(dá)式,2.6.2,復(fù)合賦值表達(dá)式,在賦值運(yùn)算符”,=”,之前加上其它運(yùn)算符可以構(gòu)成復(fù)合賦值運(yùn)算符。,+= -= *= /= %=,>= &=
31、 ^= |=,,等價(jià)于,,n=n+1,,等價(jià)于,,a=a+3,,等價(jià)于,,n=n*(m+3),注意:有括號(hào),例,2.3,已有變量,a,,初始值為,9,,計(jì)算表達(dá)式,a+=a-=a+a,的值。,a,表達(dá)式,,,如:,n+=1,a+=3,n*=m+3,a+=a-=a+a,9,18,a+=a-=18,a=a-18,-9,,-9,a+=-9,a=a+-9,a=a+(-9),-18,,-18,a+=a-=a+a,的值是:,-18,2.6 賦值表達(dá)式2.6.2 復(fù)合賦值表達(dá)式在賦值運(yùn)算符,2.6,賦值表達(dá)式,2.6.3,賦值運(yùn)算中的類(lèi)型轉(zhuǎn)換,在賦值運(yùn)算中,只有在賦值號(hào)右側(cè)表達(dá)式的類(lèi)型,與
32、左側(cè)變量類(lèi)型完全一致時(shí),賦值操作才能進(jìn)行。,如:,int a;,double b;,a=10;,b=3.5;,如果賦值運(yùn)算符兩側(cè)的數(shù)據(jù)類(lèi)型不一致,在賦值前,,系統(tǒng)將自動(dòng)先把右側(cè)表達(dá)式求得的數(shù)值,按賦值號(hào),左邊變量的類(lèi)型進(jìn)行轉(zhuǎn)換,也可以用強(qiáng)制類(lèi)型轉(zhuǎn)換,的方式,人為地進(jìn)行轉(zhuǎn)換后賦給賦值號(hào)左邊的變量。,a,10,b,3.5,如:,int a;,double b;,a=20.5;,b=15;,a,20,b,15.0,3.,在,C,語(yǔ)言的表達(dá)式中,(,不包括賦值表達(dá)式,),,如果運(yùn)算,符兩邊的數(shù)據(jù)類(lèi)型不相同,將進(jìn)行類(lèi)型之間的轉(zhuǎn)換。,轉(zhuǎn)換規(guī)則如下:,,double,long,unsigned,int,fl
33、oat,char,short,低,高,如:,10+97+1.5-8765.1234*98,8765.1234*98.0,double,2.6 賦值表達(dá)式2.6.3 賦值運(yùn)算中的類(lèi)型轉(zhuǎn)換在賦值,2.7,自加、自減運(yùn)算符和逗號(hào)運(yùn)算符,2.7.1,自加運(yùn)算符“,++”,和自減運(yùn)算符“,--”,++,(,自加運(yùn)算符,),--,(,自減運(yùn)算符,),1. ++,、,--,運(yùn)算符是單目運(yùn)算符,運(yùn)算對(duì)象只能變量,不能是常量和表達(dá)式。,2. ++,和,--,運(yùn)算符的結(jié)合方向是,",自右至左,",。,i++,、,++i,i--,、,--i,,,i=i+1,i=i-1,例如:,int i=5;,i++;,i
34、nt i=5;,++i;,int i=5;,i--;,int i=5;,--i;,i,:,表達(dá)式:,,,,,,,,,運(yùn)算規(guī)則,運(yùn)算符在前,先計(jì)算,后賦值,運(yùn)算符在后,先賦值,后計(jì)算,,例如:,int i=3,;,,-i++,;,,,int i=3,;,-(i++),;,i,:,表達(dá)式:,,,思考:程序示例,自增自減運(yùn)算,,#include ,main(),{int i=0,j;,j=i++;,printf(“%d,%d\n”,i,j);,i=0;,,j=++i;,printf(“%d,%d\n”,i,j);,},,,上機(jī)練習(xí),6,5,6,6,4,5,4,4,4,-3,2.7 自加、自減運(yùn)算符
35、和逗號(hào)運(yùn)算符2.7.1 自加運(yùn)算,2.7,自加、自減運(yùn)算符和逗號(hào)運(yùn)算符,2.7.2,逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式,,,(,逗號(hào)運(yùn)算符,),用逗號(hào)將表達(dá)式連接起來(lái)的式子稱(chēng)為,逗號(hào)表達(dá)式,。逗號(hào)表達(dá)式的一般形式為:,表達(dá)式,1,,表達(dá)式,2,,,…,,表達(dá)式,n,表達(dá)式之間用,逗號(hào),進(jìn)行連接,1.,逗號(hào)運(yùn)算符的結(jié)合性為從左到右,因此逗號(hào)表達(dá)式將從左到右進(jìn)行運(yùn)算。,如:,i=3,,,i++,,,++i,,,i+5,,,,,,i,表達(dá)式,3,3,i,表達(dá)式,4,3,i,表達(dá)式,5,5,i,表達(dá)式,5,10,逗號(hào)表達(dá)式的值為,2.,在所有運(yùn)算符中,逗號(hào)運(yùn)算符的優(yōu)先級(jí)別最低。,2.7 自加、自減運(yùn)算符和逗號(hào)
36、運(yùn)算符2.7.2 逗號(hào)運(yùn)算,習(xí)題,一、選擇題,2.1,以下選項(xiàng)中正確的整型常量是,A 12. B -20 C 1,000 D 4 5 6,2.2,以下選項(xiàng)中正確的實(shí)型常量是,A 0 B 3. 1415 C 0.329X10,2,D .871,2.3,以下選項(xiàng)中不正確的實(shí)型常量是,A 2.607E-1 B 0.8103e 2 C -77.77 D 456e-2,2.4,以下選項(xiàng)中不合法的用戶(hù)標(biāo)識(shí)符是,A abc.c B f
37、ile C Main D PRINTF,2.5,以下選項(xiàng)中不合法的用戶(hù)標(biāo)識(shí)符是,,A _123 B printf C A $ D Dim,2.6 C,語(yǔ)言中運(yùn)算對(duì)象必須是整型的運(yùn)算符是,A % B / C ! D * *,2.7,可在,C,程序中用作用戶(hù)標(biāo)識(shí)符的一組標(biāo)識(shí)符是,A void B as_b3 C For
38、 D 2c,define _123 -abc DO,WORD If case SIG,B,D,B,A,BC,A,B,習(xí)題一、選擇題BDBABCAB,2.8,若變量已正確定義并賦值,,,符合,C,語(yǔ)言語(yǔ)法的表達(dá)式是,A a=a+7; B a=7+b+c,a++,C int(12.3%4)
39、 D a=a+7=c+b,2.9,以下中敘述中正確的是,A a,是實(shí)型變量,,C,允許進(jìn)行賦值,a=10,,但不可以這樣說(shuō),:,實(shí)型變量中允許存放整型值,B,在賦值表達(dá)式中,,,賦值號(hào)左邊既可以是變量也可以是任意表達(dá)式,C,執(zhí)行表達(dá)式,a=b,后,,,在內(nèi)存中,a,和,b,存儲(chǔ)單元中的原有值都將被改變,,a,的值已由原,值改變?yōu)?b,的值,,b,的值由原值變?yōu)?0,D,已有,a=3,b=5,,當(dāng)執(zhí)行了表達(dá)式,a=b,b=a,之后,,,使,a,中的值為,5,b,中的值為,3,2.10,以下中敘述中正確的是,A,在,C,程序中無(wú)論是整數(shù)還是實(shí)數(shù),,,只要在允許的范圍內(nèi)都能
40、準(zhǔn)確無(wú)誤的表示,B C,程序由主函數(shù)組成,C C,程序由若干個(gè)函數(shù)組成,D C,程序中只允許包含一個(gè)函數(shù),2.11 VC6.0,中,int,類(lèi)型變量所占字節(jié)數(shù)是,A 1 B 2 C 3 D 4,習(xí)題,B,A,C,D,2.8 若變量已正確定義并賦值,符合C語(yǔ)言語(yǔ)法的表達(dá)式是,習(xí)題,2.12,合法的八進(jìn)制數(shù)是,A 0 B 028 C -077 D 01.0,2.13,不合法的十六進(jìn)制數(shù)是,A
41、 oxff B 0Xabc C 0x11 D0x19,,二、填空題,2.14,若,k,為,int,型變量且賦值,11.,請(qǐng)寫(xiě)出運(yùn)算,k++,后表達(dá)式的值,____,和變量,k,的,值,_____.,2.15,若,x,為,double,型變量,,,請(qǐng)寫(xiě)出運(yùn)算,x=3.2,++x,后表達(dá)式的值,_____,和變量,x,的值,______.,2.16,函數(shù)體由符號(hào),___,開(kāi)始,,,到符號(hào),___,結(jié)束,.,函數(shù)體內(nèi)的前面是,_____________,部分,,,后面是,___________,部分,.,2.17 C,語(yǔ)言中的標(biāo)識(shí)符
42、可分為,________.___________,和預(yù)定義標(biāo)識(shí)符三類(lèi),.,2.18,在,C,語(yǔ)言程序中,,,用關(guān)鍵字,____,定義基本整型變量,,,用關(guān)鍵字,_____,定義單,精度實(shí)型變量,,,用關(guān)鍵字,_____,定義雙精度實(shí)型變量,.,2.19,把,a1,a2,定義成雙精度實(shí)型變量,,,并賦初值,1,的定義語(yǔ)句是,________________.,2.20 C,程序中定義的變量,,,代表內(nèi)存中的一個(gè),_________.,11,12,4.2,4.2,{,},定義和說(shuō)明,語(yǔ)句,關(guān)鍵字,用戶(hù)標(biāo)識(shí)符,int,float,double,double a1=1,a2=1;,存儲(chǔ)單元,A,A,習(xí)
43、題2.12 合法的八進(jìn)制數(shù)是 11124.24,習(xí)題,2.21,表達(dá)式,3.5+1/2,的計(jì)算結(jié)果是,______.,2.22,對(duì)數(shù)學(xué)式,a x b,,,寫(xiě)出三個(gè)等價(jià)的,C,語(yǔ)言表達(dá)式,_______._______.________.,c,2.23,表達(dá)式,s=10,應(yīng)當(dāng)讀做,___________________________.,三,.,改錯(cuò)題,2.24,#include stdio.h;,main(); / * main function * /,float r,s; /*/*r is radius*/,/*s is area of
44、circular*/*/,r=5.0;,s=3.14159*r*r;,printf("%f\n",s),2.25,main /* main function */,{float a,b,c,v; /*a,b,c are sides,v is volume of cube*/,a=2.0;b=3.0;c=4.0,v=a*b*c;,printf("%f\n",v),},3.5,(a*b)/c,a*b/c,a*(b/c),將,10,賦給變量,s,習(xí)題2.21 表達(dá)式3.5+1/2的計(jì)算結(jié)果是______.,第,3,章 順序結(jié)構(gòu),3.1,賦值語(yǔ)句,3.2,數(shù)據(jù)輸出,3.
45、3,數(shù)據(jù)輸入,3.4,復(fù)合語(yǔ)句和空語(yǔ)句,3.5,程序舉例,,第3章 順序結(jié)構(gòu)3.1 賦值語(yǔ)句,3.1,賦值語(yǔ)句,在賦值表達(dá)式的尾部加上一個(gè)“,;”,號(hào),就構(gòu)成了,賦值語(yǔ)句,,也稱(chēng)表達(dá)式語(yǔ)句。,例如:,a=a+b,(,賦值表達(dá)式,),a=a+b;,(,賦值語(yǔ)句,),,3.1 賦值語(yǔ)句在賦值表達(dá)式的尾部加上一個(gè)“;”號(hào),就構(gòu)成,3.2,數(shù)據(jù)輸出,3.2.1 printf,函數(shù)的一般調(diào)用形式,首先,我們先來(lái)了解一些其它知識(shí)。,一個(gè)程序,一般情況下都包含數(shù)據(jù)輸入、數(shù)據(jù)處理、數(shù)據(jù)輸出三個(gè)部分。,輸出,:把數(shù)據(jù)從計(jì)算機(jī)內(nèi)部送到計(jì)算機(jī)的外部設(shè)備上的操作稱(chēng)為“輸出” 。,輸入,:從計(jì)算機(jī)外部設(shè)備將數(shù)據(jù)
46、送入計(jì)算機(jī)內(nèi)部的操作稱(chēng)為“輸入”。,顯示器,鍵盤(pán),在,C,語(yǔ)言中,數(shù)據(jù)的輸入和輸出是通過(guò)調(diào)用輸入和輸出函數(shù)來(lái)實(shí)現(xiàn)的。在,VC6.0,環(huán),境下,在調(diào)用輸入和輸出的庫(kù)函數(shù)之前要求在源程序中出現(xiàn)包含頭文件命令行:,,#include ,,或,#include “stdio.h”,1. printf,函數(shù)的調(diào)用形式如下 :,printf(,格式控制,輸出項(xiàng)表,),,作用:按照指定的格式將輸出項(xiàng)中的值輸出到終端。,要輸出的內(nèi)容(常量、變量、表達(dá)式等),雙引號(hào)括起來(lái)的字符串,按照該指定的格式進(jìn)行輸出,3.2 數(shù)據(jù)輸出3.2.1 printf函數(shù)的一般調(diào)用形,3.2,數(shù)據(jù)輸出,3.2.1 print
47、f,函數(shù)的一般調(diào)用形式,例如:,printf(“a=,%,d, b=,%,d ”, a, b),;,函數(shù)名,格式控制,輸出項(xiàng),(,實(shí)參,),,在,printf,函數(shù)調(diào)用的后面加一個(gè)分號(hào)就構(gòu)成,輸出語(yǔ)句,。,例:對(duì)于,printf,函數(shù)的調(diào)用形式,請(qǐng)見(jiàn)下面的程序示例。,#include ,main(),{int i=2518;,double a=3.1415;,printf(“i=%d,a=%f,a*10=%e\n",i,a,a*10);,},格式控制,輸出項(xiàng),(,實(shí)參,),i=2518,a=3.141500,a*10=3.141500e+001,“i=%d,a=%f,a*10=%e\n",原樣
48、輸出,,,,%d,%f,%e,%,為引導(dǎo)符,d,、,f,、,e,為格式字符,轉(zhuǎn)義字符,3.2 數(shù)據(jù)輸出3.2.1 printf函數(shù)的一般調(diào)用形,3.2,數(shù)據(jù)輸出,3.2.1 printf,函數(shù)的一般調(diào)用形式,printf,也可以沒(méi)有輸出項(xiàng),函數(shù)的調(diào)用形式將為:,,printf(,格式控制,),比如:,printf(“OK!”);,OK!,3.2 數(shù)據(jù)輸出3.2.1 printf函數(shù)的一般調(diào)用形,3.2,數(shù)據(jù)輸出,3.2.2 printf,函數(shù)中常用的格式說(shuō)明,格式字符:,,d,-----,以十進(jìn)制整數(shù)進(jìn)行輸出,,o,-----,以八進(jìn)制數(shù)進(jìn)行輸出,,x,-----,以十六進(jìn)制數(shù)進(jìn)行
49、輸出,,f,-----,以小數(shù)形式進(jìn)行輸出,:,:,,使用時(shí),以,%,作為引導(dǎo)符,格式字符必須使用小寫(xiě),如:,%d %o %x %f,簡(jiǎn)單的格式字符形式,完整的格式字符形式,%,,+,,-,,0,,n,,n1.n2,,l/h,,格式字符,,n,,指定輸出的寬度,printf(“%6d\n”,k);,n1.n2,n1,指定輸出的寬度,,n2,指定輸出的小數(shù)位數(shù),printf(“%12.2f\n”,f);,0,,輸出的數(shù)據(jù)右對(duì)齊,前面補(bǔ),0,printf(“%06d\n”,k);,-,,輸出的數(shù)據(jù)左對(duì)齊,printf(“%-6d\n”,k);,+,,輸出的數(shù)據(jù)為正數(shù)時(shí)
50、,使前面帶有“,+”,符號(hào),printf(“%+-6d\n”,k);,l,,輸出整數(shù)時(shí),為長(zhǎng)整型,;,輸出實(shí)數(shù)時(shí),為雙精度型,printf(“%ld\n”,k);,h,,輸出整數(shù)時(shí),為短整型,printf(“%hd\n”,k);,有如下程序段,int k;,float f;,k=1234;,f=123.456,jj,1234,jjjjjj,123.46,00,1234,1234jj,+1234j,1234,1234,3.2 數(shù)據(jù)輸出3.2.2 printf函數(shù)中常用的格式,3.2,數(shù)據(jù)輸出,3.2.2 printf,函數(shù)中常用的格式說(shuō)明,下面,將簡(jiǎn)單的介紹一些輸出格式形式和輸出結(jié)果:,p
51、rintf(“%f\n”,f);,printf(“%12f\n”,f);,printf(“%.6f\n”,f);,printf(“%12.0f\n”,f);,printf(“%e\n”,f);,printf(“%13e\n”,f);,printf(“%13.8e\n”,f);,printf(“%3.8e\n”,f);,printf(“%.8e\n”,f);,printf(“%13.9e\n”,f);,printf(“%13.2e\n”,f);,printf(“%g\n”,f);,printf(“%10g\n”,f);,printf(“%f%%\n”,12.5);,123.456000,jj12
52、3.456000,123.456000,jjjjjjjjj123,1.234560e+002,1.234560e+002,1.23456000e+002,1.23456000e+002,1.23456000e+002,1.234560000e+002,jjjj1.23e+002,123.456,jjj123.456,12.500000%,,以指數(shù)形式輸出,,,輸出時(shí),,,先以小數(shù),位數(shù)為基準(zhǔn),,,再考,慮輸出的寬度,.,,以原數(shù)的最小寬度,進(jìn)行輸出,,,指定寬度,時(shí),,,按指定寬度進(jìn)行,輸出,3.2 數(shù)據(jù)輸出3.2.2 printf函數(shù)中常用的格式,3.2,數(shù)據(jù)輸出,3.2.3,使用,pr
53、intf,函數(shù)時(shí)的注意事項(xiàng),1.,在使用輸出函數(shù)時(shí),,,輸出的數(shù)據(jù)要清晰,,,視覺(jué)感要好。例如:,k=1234,f=123.456,printf(“%d%d%f\n”,k,k,f);,printf(“%d,%d,%f\n”,k,k,f);,printf(“k=%d,k=%d,f=%f\n”,k,k,f);,12341234123.456000,2.,在格式控制串中,格式說(shuō)明與輸出項(xiàng)從左到右在類(lèi)型上要一一對(duì)應(yīng)匹配。,如不匹配,將導(dǎo)致數(shù)據(jù)不能正確輸出,這時(shí),系統(tǒng)并不報(bào)錯(cuò)。,最好,例如:,int a=10;,float b=12.5;,printf(“a=%f,b=%d\n”,a,b);,a=0.0
54、00000,b=1076428800,int a=10;,float b=12.5;,printf(“a=%d,b=%f\n”,a,b);,a=10,b=12.500000,編譯時(shí)能通過(guò),則輸出時(shí)為不正確的數(shù)據(jù),輸出時(shí)類(lèi)型一定要一一對(duì)應(yīng),1234,1234,123.456000,k=1234,k=1234,f=123.456000,3.2 數(shù)據(jù)輸出3.2.3 使用printf函數(shù)時(shí)的注意,3.2,數(shù)據(jù)輸出,3.2.3,使用,printf,函數(shù)時(shí)的注意事項(xiàng),若格式說(shuō)明中的個(gè)數(shù)少于輸出項(xiàng)的個(gè)數(shù)時(shí),則多余的輸出項(xiàng)不予輸出;,若格式說(shuō)明中的個(gè)數(shù)多于輸出項(xiàng)的個(gè)數(shù)時(shí),則將輸出一些毫無(wú)意義的數(shù)字。,例如
55、:,int a=10,b=20,c=30;,printf(“%d,%d\n”,a,b,c);,10,20,int a=10,b=20,c=30;,printf(“%d%d%d%d\n”,a,b,c);,10,20,30,,2367460,4.,在格式控制串中,除了合法的格式說(shuō)明外,可以包含任意的合法字符,,,還可以,包括轉(zhuǎn)義字符,這些字符在輸出時(shí)將,",原樣照印,",。,例如:,printf(“my,\t,name,\t,is,\t,chenhao,\n,”);,my name is chenhao,\t,為轉(zhuǎn)義字符,(,制表符,),代表八個(gè)空格字符,
56、5.,如果需要輸出百分號(hào)%,則應(yīng)該在格式控制串中用兩個(gè)連續(xù)的百分號(hào)%%來(lái)表示。,例如:,printf(“%d%%”,100);,100%,6. printf,函數(shù)的返回值通常是本次調(diào)用中輸出字符的個(gè)數(shù)。,思考:,printf(“my\tname\tis\tchenhao\n”);,函數(shù)的返回值是多少?,3.2 數(shù)據(jù)輸出3.2.3 使用printf函數(shù)時(shí)的注意,3.2,數(shù)據(jù)輸出,3.2.3,使用,printf,函數(shù)時(shí)的注意事項(xiàng),7.,思考:如:,int k=8;,,printf(“%d,%d\n”,k,++k);,9,9,8.,輸出時(shí),也可以用參數(shù)作為域?qū)挕H纾?int m=8,i=10;
57、,printf(“%,*,d”,,m,,i);,jjjjjj10,123.4560000000,int m=8,n=10;,float f=123.456;,printf(“%,*.*,f”,,m,n,,f);,,,首先先對(duì)應(yīng)匹配,然后再輸出,輸出的過(guò)程,是按輸入項(xiàng)從右往左,printf(“%,8,d”,i);,printf(“%,8.10,f”,f);,3.2 數(shù)據(jù)輸出3.2.3 使用printf函數(shù)時(shí)的注意,3.3,數(shù)據(jù)輸入,3.3.1 scanf,函數(shù)的一般調(diào)用形式,scanf(,格式控制,輸入項(xiàng)表,),1. scanf,函數(shù)的調(diào)用形式如下 :,作用:把從終端設(shè)備,(,如,鍵盤(pán),
58、),上輸入的數(shù)據(jù)傳,送給對(duì)應(yīng)的輸入項(xiàng),(,如變量地址,),。,雙引號(hào)括起來(lái)的字符串,按照該指定的格式進(jìn)行輸入,把從鍵盤(pán)上輸入的數(shù)據(jù)送到該指定的輸入項(xiàng)中,輸入項(xiàng)中,必須為變量的地址,例如:,int k; float a; double y;,scanf(“%d%f%lf”,,函數(shù)名,輸入格式控制,變量地址,(,實(shí)參,),在,scanf,函數(shù)調(diào)用的后面加一個(gè)分號(hào)就構(gòu)成輸入語(yǔ)句。,★,變量地址,形式:,&,變量名,,3.3 數(shù)據(jù)輸入3.3.1 scanf函數(shù)的一般調(diào)用形式,3.3,數(shù)據(jù)輸入,3.3.1 scanf,函數(shù)的一般調(diào)用形式,例:對(duì)于,scanf,函數(shù)的調(diào)用形式,請(qǐng)見(jiàn)下面的程序示例。,
59、#include ,main(),{int a;,float b;,scanf(“%d%f”,,printf(“%d,%f\n",a,b);,},scanf(“%d%f”,,,,,比如,想把,23,賦值給,a,12.345,賦值給,b,,輸入形式為:,程序執(zhí)行到此,停止執(zhí)行,等待用戶(hù),從鍵盤(pán)輸入數(shù)據(jù),等輸入數(shù)據(jù)后,待,用戶(hù)安回車(chē)鍵,,后,繼續(xù)向后執(zhí)行。,23 12.345,a,,b,,輸出結(jié)果為:,23,12.345000,23,12.345,3.3 數(shù)據(jù)輸入3.3.1 scanf函數(shù)的一般調(diào)用形式,3.3,數(shù)據(jù)輸入,3.3.2 scanf,函數(shù)中常用的格式說(shuō)明,scanf,函數(shù)中
60、的格式說(shuō)明字符與輸出函數(shù)中的格式說(shuō)明字符相同。,在使用,scanf,函數(shù)進(jìn)行輸入時(shí),應(yīng)該注意以下幾點(diǎn):,,1.,在格式控制中,格式說(shuō)明的類(lèi)型與輸入項(xiàng)的類(lèi)型,應(yīng)該一一對(duì)應(yīng)匹配。如果類(lèi),型不匹配,系統(tǒng)并不給出出錯(cuò)信息,但不可能得到正確的數(shù)據(jù)。,2.,在輸入項(xiàng)表中,輸入項(xiàng)的個(gè)數(shù)要與格式符的個(gè)數(shù)相同,且排列順序要一一對(duì)應(yīng)。,若格式符個(gè)數(shù)少于輸入項(xiàng),,scanf,函數(shù)按格式符的數(shù)目結(jié)束輸入,多余的輸入項(xiàng)沒(méi),有得到新的數(shù)據(jù);若格式符個(gè)數(shù)多于輸入項(xiàng),,scanf,函數(shù)則按輸入項(xiàng)的數(shù)目結(jié)束輸,入,多余的格式符不起作用,(,作廢,),。,例如:,int a,b,c;,scanf(“%d%d”,,printf(“
61、%d%d%d\n”,a,b,c);,10,20,-858993460,比如說(shuō),我們從鍵盤(pán)讀入:,10 20 30,int a,b,c;,scanf(“%d%d%d%d”,,printf(“%d%d%d\n”,a,b,c);,10,20,30,比如說(shuō),我們從鍵盤(pán)讀入:,10 20 30 40,3.3 數(shù)據(jù)輸入3.3.2 scanf函數(shù)中常用的格式說(shuō),3.3,數(shù)據(jù)輸入,3.3.2 scanf,函數(shù)中常用的格式說(shuō)明,在,scanf,函數(shù)中的格式字符前可以用一個(gè)整數(shù)指定輸入數(shù)據(jù)所占寬度。,當(dāng)輸入函數(shù)的格式說(shuō)明的類(lèi)型與輸入項(xiàng)的類(lèi)型一一對(duì)應(yīng)匹配時(shí)。程序在運(yùn)行的,過(guò)程中,當(dāng)我們輸入的數(shù)據(jù)個(gè)數(shù)少于輸入項(xiàng)
62、時(shí),運(yùn)行的程序?qū)⒁恢钡却斎耄钡?滿(mǎn)足要求時(shí)才繼續(xù)向下執(zhí)行;當(dāng)我們輸入的數(shù)據(jù)個(gè)數(shù)多于輸入項(xiàng)時(shí),多于的數(shù)據(jù)沒(méi)有,作廢,依然在緩沖區(qū)中等待等待下一個(gè)輸入操作語(yǔ)句。,5. scanf,函數(shù)在調(diào)用結(jié)束后將返回一個(gè)函數(shù)值,其值等于得到輸入值的輸入項(xiàng)的個(gè)數(shù)。,例如:,int a;,scanf(“%5d”,,該輸入函數(shù)正確的輸入形式為:,88,,輸入寬度為,5,思考:,scanf(“%d%d%d%d”,,函數(shù)的返回值是多少?,3.3 數(shù)據(jù)輸入3.3.2 scanf函數(shù)中常用的格式說(shuō),3.3,數(shù)據(jù)輸入,3.3.3,通過(guò),scanf,函數(shù)從鍵盤(pán)輸入數(shù)據(jù),1.,輸入數(shù)值數(shù)據(jù),例如:,int k;float
63、 a;double y;,scanf(“%d%f%lf”,,若要給,k,賦值,10,,,a,賦值,12.3,,,y,賦值,1234567.89,,正確的輸入格式如下,:,10 12.3 1234567.89,10 12.3 1234567.89,10,12.3,1234567.89,輸入的數(shù)據(jù)之間必須用,間隔符,隔開(kāi),可以使用的間隔符有:,空格、回車(chē)符、制表符,錯(cuò)誤的輸入格式,:,1012.31234567.89,3.3 數(shù)據(jù)輸入3.3.3 通過(guò)scanf函數(shù)從鍵盤(pán)輸入,3.3,數(shù)據(jù)輸入,3.3.3,通過(guò),scanf,函數(shù)從鍵盤(pán)輸入數(shù)據(jù),2.,指定輸入數(shù)據(jù)所占的寬度
64、,例如:,int k;float a;double y;,scanf(“%3d%5f%5lf”,,若從鍵盤(pán)上從第,1,列開(kāi)始輸入:,123456.789.123,用,printf(“k=%d a=%f y=%f\n”,k,a,y);,輸出的結(jié)果是:,k=123 a=456.700000 y=89.120000,k,y,a,,,,123,456.7,89.12,3.3 數(shù)據(jù)輸入3.3.3 通過(guò)scanf函數(shù)從鍵盤(pán)輸入,3.3,數(shù)據(jù)輸入,3.3.3,通過(guò),scanf,函數(shù)從鍵盤(pán)輸入數(shù)據(jù),3.,跳過(guò)某個(gè)輸入數(shù)據(jù),例如:,int x,y,z;,scanf(“%d%*d%d%d”,,prin
65、tf(“%d %d %d\n”,x,y,z);,若從鍵盤(pán)上輸入:,12 34 56 78,則輸出的結(jié)果是:,12 56 78,3.3 數(shù)據(jù)輸入3.3.3 通過(guò)scanf函數(shù)從鍵盤(pán)輸入,3.3,數(shù)據(jù)輸入,3.3.3,通過(guò),scanf,函數(shù)從鍵盤(pán)輸入數(shù)據(jù),4.,在格式控制字符串中插入其他字符,又如:,int x,y,z;,scanf(“%d,,,%d,,,%d”,,這時(shí)從鍵盤(pán)上輸入時(shí),一定要向下形式進(jìn)行輸入:,Please input x,y,z:12 34 56,在格式控制字符中出現(xiàn)了其他字符的語(yǔ)句如下:,int x,y,z;,scanf(“Please input x,y
66、,z:%d%d%d”,,則正確的輸入形式:,12,34,56,12, 34, 56,12, 34, 56,錯(cuò)誤的輸入形式:,12 34 56,12 ,34 ,56,3.3 數(shù)據(jù)輸入3.3.3 通過(guò)scanf函數(shù)從鍵盤(pán)輸入,3.4,復(fù)合語(yǔ)句和空語(yǔ)句,3.4.1,復(fù)合語(yǔ)句,復(fù)合語(yǔ)句,是用符號(hào),"{",和,"}",括起來(lái)的語(yǔ)句組,也可稱(chēng)為,",語(yǔ)句塊,",,在語(yǔ)法上被視為一條語(yǔ)句。復(fù)合語(yǔ)句的語(yǔ)句形式如下:,{,語(yǔ)句,1,;語(yǔ)句,2,;,…,;語(yǔ)句,n,;,},例如:,{ a++,;,b*=a,;,printf("b= %d\",b),;,},3.4 復(fù)合語(yǔ)句和空語(yǔ)句3.4.1 復(fù)合語(yǔ)句復(fù)合語(yǔ)句是用,3.4,復(fù)合語(yǔ)句和空語(yǔ)句,3.4.2,空語(yǔ)句,空語(yǔ)句由一個(gè)分號(hào)構(gòu)成,但它是一個(gè),C,語(yǔ)句,程序執(zhí)行空語(yǔ)句時(shí)不產(chǎn)生任何操作。,如:,main(),{,;,},3.4 復(fù)合語(yǔ)句和空語(yǔ)句3.4.2 空語(yǔ)句空語(yǔ)句由一個(gè)分,3.5,程序舉例,例,3.1,,以下程序由終端輸入兩個(gè)整數(shù)給變量,x,和,y,;然后輸出,x,和,y,;在交換,x,和,y,中的值后,再輸
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 第一章-CFD的基本原理-2010
- 糖尿病腎病慢性腎衰竭患者的護(hù)理
- -優(yōu)秀課件--主講:河北廣播電視大學(xué)經(jīng)濟(jì)系-任岫林
- (人教部編版)精致ppt 《愚公移山》省優(yōu)獲獎(jiǎng)?wù)n件
- 蓋章動(dòng)畫(huà)素材————合格優(yōu)秀通過(guò)批準(zhǔn)已驗(yàn)已審核等標(biāo)記紅色戳記可任意編輯
- 農(nóng)業(yè)地域類(lèi)型公開(kāi)課湘教版
- 一年級(jí)下冊(cè)語(yǔ)文課件語(yǔ)文園地人教部編版20
- 小學(xué)數(shù)學(xué)-六年級(jí)奧數(shù)舉一反三同步教程教案-教師版課件
- 化工安全工程課件 第五章-壓力容器安全
- 第二章高等教育的
- 一年級(jí)下冊(cè)道德與法治我不拖拉部編版-課件2
- 六年級(jí)道德與法治課件《多元文化-多樣魅力》多彩的世界文化-部編版
- 觀念形象設(shè)計(jì)ppt課件
- 創(chuàng)意畢業(yè)答辯演示模板課件
- 孫思邈養(yǎng)生之道課件