![C語言二級考試教程_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/7/e5d20f08-c408-4342-a1d2-766ff82f9c0f/e5d20f08-c408-4342-a1d2-766ff82f9c0f1.gif)
![C語言二級考試教程_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/7/e5d20f08-c408-4342-a1d2-766ff82f9c0f/e5d20f08-c408-4342-a1d2-766ff82f9c0f2.gif)
![C語言二級考試教程_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/7/e5d20f08-c408-4342-a1d2-766ff82f9c0f/e5d20f08-c408-4342-a1d2-766ff82f9c0f3.gif)
![C語言二級考試教程_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/7/e5d20f08-c408-4342-a1d2-766ff82f9c0f/e5d20f08-c408-4342-a1d2-766ff82f9c0f4.gif)
![C語言二級考試教程_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/7/e5d20f08-c408-4342-a1d2-766ff82f9c0f/e5d20f08-c408-4342-a1d2-766ff82f9c0f5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第一章 程序設(shè)計基本概念1.1程序和程序設(shè)計程序:連續(xù)執(zhí)行的一條條指令的集合稱為“程序”。對于計算機(jī)來說,它不能識別由高級語言編寫的程序,它只能接受和處理由0和1的代碼構(gòu)成的二進(jìn)制指令或數(shù)據(jù)。由于這種形式的指令是面向機(jī)器的,因此也被稱為“機(jī)器語言”。所以所有由高級語言編寫的程序都要經(jīng)過編譯,編譯成二進(jìn)制代碼。這種具有翻譯功能的軟件稱為編譯程序。語言有很多種,我們現(xiàn)在要談?wù)摰木褪荂語言。為什么計算機(jī)會能進(jìn)行各種各樣的操作,就是由不同的指令來實(shí)現(xiàn)的。而不是只有C語言才可以實(shí)現(xiàn)這樣的功能。還有其它很多語言。但是我們一般說C語言是其它語言的母語。會了C語言其它的語言在學(xué)習(xí)的過程就會感到輕松一些。1.1
2、.2程序設(shè)計1.確定數(shù)據(jù)結(jié)構(gòu)2.確定算法3.編碼4.在計算機(jī)上調(diào)試程序5.整理并寫出文檔資料1.2算法定義:是指為了解決某個特定的問題而采取的確定且有限的步驟。1. 有窮性2. 確定性3. 可行性4. 有零個或多個輸入5. 有一個或多個輸出1.3結(jié)構(gòu)化程序設(shè)計和模塊化結(jié)構(gòu)結(jié)構(gòu)化程序由三種基本結(jié)構(gòu)組成1. 順序結(jié)構(gòu)語句1語句22. 選擇結(jié)構(gòu)判斷表達(dá)式子不滿足語句1語句23. 循環(huán)結(jié)構(gòu)判斷表達(dá)式不滿足滿足循環(huán)體循環(huán)體判斷表達(dá)式滿足不滿足12)計算機(jī)能直接執(zhí)行的程序是(B )。A)源程序 B)目標(biāo)程序 C)匯編程序 D)可執(zhí)行程序13)以下敘述中正確的是( D )A)程序設(shè)計的任務(wù)就是編寫程序代碼并
3、上機(jī)調(diào)試B)程序設(shè)計的任務(wù)就是確定所用數(shù)據(jù)結(jié)構(gòu)C)程序設(shè)計的任務(wù)就是確定所用算法D)以上三種說法都不完整第二章 :C程序設(shè)計的初步知識21 C語言程序的構(gòu)成和格式#include <stdio.h>Main()double a,b,area; a=1.2,b=3.6; /*將矩形的兩條邊長分別賦給a和b 變量*/area=a*b;printf(“a=%f,b=%f,area=%fn”,a,b,area);/*輸出矩形的兩條邊長和面積*/#include <stdio.h>:每當(dāng)寫一個程序時,第一條語句永遠(yuǎn)是這個語句,因?yàn)橐粋€程序可以沒有輸入但必須要有輸出,而這個語句就是
4、控制輸入輸出的。所以任何一個程序都必須由這個語句開始。Main():是一個程序的主函數(shù)。一個程序是由多個函數(shù)組成的,而任何一個程序都要有一個主函數(shù),有且只有一個。任何程序都是由主函數(shù)開始執(zhí)行的。:它們兩個必須要成對出現(xiàn),它們中的語句是主函數(shù)體。包括定義部分和執(zhí)行部分。它們中的語句,每一條必須由;結(jié)束。;是C語句的一個組成部分而不是一個結(jié)束標(biāo)識。/*/:注釋符一定要成對出現(xiàn),不允許嵌套。兩個符號間的語句不被執(zhí)行。例年真題:#include<stdio.h>main()Int a;A=5; /*給A變量賦值5A+=3; 再賦值后再加3*/Printf(“%d”,a);(11)以下敘述中
5、正確的是( C )。A)C 程序的基本組成單位是語句 B)C 程序中的每一行只能寫一條語句二級C 語言程序設(shè)計試卷)C)簡單C 語句必須以分號結(jié)束 D)C 語句必須在一行內(nèi)寫完(11)以下敘述中正確的是( C )A)C程序中的注釋只能出現(xiàn)在程序的開始位置和語句的后面B)C程序書寫格式嚴(yán)格,要求一行內(nèi)只能寫一個語句C)C程序書寫格式自由,一個語句可以寫在多行上D)用C語言編寫的程序只能放在一個程序文件中第二課:C語言的基礎(chǔ)知識2.2標(biāo)識符,常量和變量2.2.1 標(biāo)識符:定義:由字母,數(shù)字和下劃線組成,并且第一個字符必須為字母或下劃線的。這樣的組成就是標(biāo)識符。下列合法的是:else what #$
6、123 34a a34 a_b a-b Ifa=3 A=4注意:在C中大寫字母與小字字母被認(rèn)為是兩個不同的字符。分類:關(guān)鍵字:在C中已經(jīng)定義好了的,不能用作它用的。如if double int 等等。預(yù)定義標(biāo)識符:如printf scanf用戶標(biāo)識符:用戶根據(jù)自己的需求來定義的。(12)以下選項(xiàng)中,能用作用戶標(biāo)識符的是( C )A)voidB)8_8C)_0_D)unsigned(11)以下選項(xiàng)中合法的標(biāo)識符是( C )A) 1-1 B)11 C)-11 D)1(12)以下選項(xiàng)中不合法的標(biāo)識符是 ( C )A)print B)FOR C)&a D)_002.2.2常量:定義:是指在程序
7、的執(zhí)行的過程中,其值不會被改變的量。分類:整型常量:沒有小數(shù)的常量如:3 9 1234等等都是。實(shí)型常量:有小數(shù)點(diǎn)的常量如:3.9 3.0 3.字符常量:由單個字符組成的量如:a b 3字符串常量:至少由一個字符組成的量如:“a” “abc” “ beijing”符號常量:符號常量的值到底是多少,這是由在來定義符號常量時來決定的?2*pi(13)以下選項(xiàng)中,能用作數(shù)據(jù)常量的是 ( D )A)o115 B) 0118 C)1.5e1.5 D) 115L(13)以下選項(xiàng)中不能作為C 語言合法常量的是( A )。A)'cd' B)0.1e+6 C)"a" D)
8、39;011'(13)以下選項(xiàng)中不屬于字符常量的是 ( B )A)'C' B)"C" C)'xCC0' D)'072'2.3整型常量與實(shí)型常量整型常量的幾個表示方法十進(jìn)制數(shù):八進(jìn)制數(shù):以0開頭的數(shù)字,由0-7組成。下列合法的八進(jìn)制數(shù)是A,0 B,028 C,-077 D,01.0十六進(jìn)制數(shù):以0X開頭,由0-9和A-F組成。A,oxff B,0xabc C,0x11 D,0x19實(shí)型常量 123.4小數(shù)形式:123.4指數(shù)形式:1.234e2 1. 字母e和E之前必須要有數(shù)字2.字母e和E之后的數(shù)字必須是整數(shù)3.字母e
9、和數(shù)字之間不能有空格。A,2.607E-1 0.8103E 2 -77.77 456E-2 0.1e+6 1.23E1.22.2.4變量:1.定義:在程序的運(yùn)行過程中其值可以被改變的量,就叫變量。2.原則:變量必須先定義后使用。變量定義的過程就是給變量開辟存儲單元的過程。3.分類:整型變量:用關(guān)鍵字int來表示.short int 短整型long int 長整型 在內(nèi)存中占4個字節(jié) 如123Lunsigned 無符號 如有-200U這就是錯的。變量的定義:int a 這是定義了一個整型變量a.實(shí)型變量:用關(guān)鍵字 double 或float來表示。float 單精度 在內(nèi)存中占4個字節(jié)doubl
10、e 雙精度 在內(nèi)存中占8個字節(jié)。2.2.5 算術(shù)表達(dá)式一、基本的算術(shù)運(yùn)算符+ - * / % 這些是雙目運(yùn)算符(就是指操作對象有兩個)注意:除%外,其它的運(yùn)算符的運(yùn)算對象可以是整型也可以是實(shí)型。%的操作對象只能是整型。如10%3=1 10.7%3 10%4.5 x%3=0+ - 也可以做為單目運(yùn)算。-5.4 +4.9說明:1.如果雙目運(yùn)算符兩邊運(yùn)算數(shù)的類型一致,則所得結(jié)果的類型與運(yùn)算數(shù)的類型一致。如 1.0/2.0=0.5 1/2=02.如果雙目運(yùn)算符兩邊運(yùn)算數(shù)的類型不一致,則系統(tǒng)會自動進(jìn)行類型轉(zhuǎn)換,使兩邊的類型一致后,再進(jìn)行運(yùn)算。1.0/2=0.53.所有的單精度數(shù)據(jù),在運(yùn)算過程中都以雙精度
11、進(jìn)行運(yùn)算。二、優(yōu)先級() + - * / % + -由高低如 (5+1)/2=? 2.5.3 強(qiáng)制類型轉(zhuǎn)換表達(dá)式格式:(類型名) (表達(dá)式)例:(int)3.234=3 (double)10%3=?(14)表達(dá)式:4-(9)%2的值是( B )A)0B)3C)4D)5 (14)設(shè)變量已正確定義并賦值,以下正確的表達(dá)式是 ( C )A)x=y*5=x+z B)int(15.8%5)C)x=y+z+5,+yD)x=25%5.02.6賦值表達(dá)式格式:變量名=表達(dá)式注:1.不可以顛倒(左邊必須是變量名,右邊必須是C語言中合法的表達(dá)式)2.功能就是先求出右邊表達(dá)式的值,然后把此值賦值給賦值號左邊的變量。
12、確切的說是把數(shù)據(jù)存入以該變量為標(biāo)識的存儲單元中去。a=4 , a=73.結(jié)合性的優(yōu)先級僅高于逗號表達(dá)式。順序是自右向左的。如a=2+7/34."="是一個賦值號,不是一個等號。5.x=y。變量的值也是可以傳遞和賦值的。它的意思就是將變量Y中的值賦值到X中去。同樣N=N+1也成立6.賦值運(yùn)算符的左側(cè)只能是變量,不能是常量或表達(dá)式 a+b=c這就是違法的7。賦值號的右邊也可以是一個賦值表達(dá)式。如a=b=7+1;補(bǔ)充;表達(dá)式與語句的區(qū)別,表達(dá)式后面加一個分號就是語句。2.6.2復(fù)合賦值表達(dá)式例:a+=3-a=a+3 同理可得a*=3 /= -=a+=a-=a+a a 的初值是9a
13、+=a-=18a+=(a=a-18)a+=(a=-9)a+=a-18(15)若有定義語句:int x=10;,則表達(dá)式x-=x+x的值為( B )A)-20B)-10C)0D)10(14)設(shè)有定義:int x=2;,以下表達(dá)式中,值不為6的是 ( D )A) x*=x+1 x=x*(x+1)B) x+,2*xC)x*=(1+x)D)2*x,x+=2(17)若變量均已正確定義并賦值,以下合法的C語言賦值語句是 (A)A)x=y=5;B)x=n%2.5; C)x+n=ID)x=5=4+1;2.7 + 和 的講解+:自身加1-:自身減1如i=3 i+_I=i+1 i=4單目3+I I+當(dāng)+在前,先自
14、身加1,然后再干別人讓干的事情 。當(dāng)+在后,先別人讓干的事情然后再干 自身加1。int i=3;int a;a=i+; a=3a=+I;a=4第三課:輸入和輸出語句3.2輸出語句的講解 一、printf函數(shù)的一般調(diào)用形式格式:printf(格式控制,輸出項(xiàng)1,輸出項(xiàng)2,.);在printf函數(shù)的最后面寫上;號就是輸出語句。1,給輸出項(xiàng)白提供輸出格式說明格式說明符:作用:就是使數(shù)據(jù)按格式說明符的要求進(jìn)行輸出。組成:由%號和緊跟在其后的格式描述符組成。int-%dfloat或double-%f或e%char-%c2.提供原樣輸出的文字或字符在 “ ” 中除了格式說明符之外的內(nèi)容要全部原樣輸出。各個
15、輸出項(xiàng)之間要用逗號隔開。輸出項(xiàng)可以是任意合法的常量,變量或表達(dá)式。printf中常用的格式說明在格式說明符中,每一個格式說明符都必須以%號開頭由相應(yīng)的類型標(biāo)識字母結(jié)束。但在他們之間可以有其它的一個內(nèi)容:%c :輸出一個字符%d:輸出一個十進(jìn)制的數(shù)據(jù)%o:以八進(jìn)制格式輸出。%X:以十六進(jìn)制輸出%U:無符號十進(jìn)制輸出%f:以帶小數(shù)點(diǎn)的數(shù)字輸出%e:以指數(shù)形式輸出%s:輸出一個字符串。%:輸出一個%號%4d:輸出的數(shù)據(jù)長度是4個長度,當(dāng)原來的長度大于4個時會自動突破。小于4個時會填充空格。%x.yf: x代表數(shù)制的寬度(包括小數(shù)點(diǎn))。Y代表小數(shù)點(diǎn)后面的小數(shù)位數(shù)。注意事項(xiàng):1.輸出比較自由一些,輸出有
16、的各個數(shù)之到底是什么,取決于格式說明符之間的內(nèi)容。2.格式說明符要與輸出項(xiàng)一一對應(yīng)。3.輸出語句中還可以有 n r t a4.盡量不要在輸出語句中改變輸出變量的值。5.輸出的數(shù)據(jù)中如果存在變量,一定要定義過的。習(xí)題講解(13)閱讀以下程序#include main() int case; float printF;printf(“請輸入2個數(shù):”);scanf(“%d %f”,&case,&pjrintF);printf(“%d %fn”,case,printF);該程序編譯時產(chǎn)生錯誤,其出錯原因是( A ) A)定義語句出錯,case是關(guān)鍵字,不能用作用戶自定義標(biāo)識符B)定義
17、語句出錯,printF不能用作用戶自定義標(biāo)識符C)定義語句無錯,scanf不能作為輸入函數(shù)使用D)定義語句無錯,printf不能輸出case的值(16)有以下程序#include main() int a=1,b=0;printf(“%d,”,b=a+b);printf(“%dn”,a=2*b);程序運(yùn)行后的輸出結(jié)果是 ( D )A)0,0B)1,0C)3,2D)1,2(15)程序段:int x=12;double y=3.141593; printf(“%d%8.6f”,x,y);的輸出結(jié)果是 ( A )A)123.141593B)123.141593C)12,3.141593D)12 3.
18、141593#include <stdio.h>main()double a=123.456;printf("%6.2f",a);輸入語句格式: scanf(格式控制,輸入項(xiàng)1,輸入項(xiàng)2,.);例如:想通過鍵盤輸入3個數(shù)分別給變量a,b,c。并且他們分別為整型,浮點(diǎn)型,雙精度型。輸入語句為scanf("%d%f%lf",&k,&a,&y);說明:1.格式說明符與輸出語句一樣。2.在格式串中,必須含有與輸入項(xiàng)一一對應(yīng)的格式轉(zhuǎn)換說明符。3.在VC6.0的環(huán)境下,要收輸入的DOUBLE型數(shù)據(jù)的格式說明符一定要用%lf,否則數(shù)
19、據(jù)不能正確的輸入4.由于輸入是一個字符流,所以當(dāng)輸入的數(shù)據(jù)少于輸入項(xiàng)時,程序會等待用戶輸入,直到滿足要求。當(dāng)輸入的數(shù)據(jù)多于輸入項(xiàng)時,多余的數(shù)據(jù)會自動作廢。例題:int x;x=11/3;int y=5;printf("%d,%dn",x,y); 結(jié)果是:%d,%33.5 若變量已正確說明為int類型,要給a、b、c輸入數(shù)據(jù),以下正確的輸入語句是( D )A)read(a,b,c); B)scanf(“ %d%d%d” ,a,b,c);C)scanf(“ %D%D%D” ,&a,%b,%c); D)scanf(“ %d%d%d”,&a,&b,&
20、c);3.6 若變量已正確說明為float類型,要通過以下賦值語句給a賦予10、b賦予22、c賦予33,以下不正確的輸入形式是( A )A)10 B)10.0,22.0,33.0 C)10.0 D)10 2222 22.0 33.0 33 33scanf(“ %f %f %f” ,&a,&b,&c);復(fù)合語句:多個語句被括起來,當(dāng)成一條語句來執(zhí)行??照Z句:最后的表示只有一個;程序舉例:1。編寫一個程序,從鍵盤上輸入兩個數(shù)字,讓后讓他們互換一下。#include<stdio.h>main()int a,b;printf("請輸入兩個數(shù)字:"
21、);scanf("%2d%3d",&a,&b);printf("qian:%d%d",a,b);int c;c=a,a=b,b=c;printf("后:%d%d",a,b);2。編寫程序,對一個double型數(shù)據(jù)進(jìn)行四舍五入運(yùn)算。要求保留兩位有效小樹。123.4567123'4567*100=12345.6712345.67+0.5=12346.17(int)(12346.17)=1234612346/100=123.463。編寫程序,使從鍵盤中輸入的三位數(shù)倒著輸出。選擇題 3.1 若a、b、c、d、都是int
22、類型變量且初值為0,以下選項(xiàng)中不正確的賦值語句是( C )A)a=b=c=d=100; B)d+; C)c+b; D)d=(c=22)-(b+);3.2 以下選項(xiàng)中不是C語句的是( C )A)int i; i+; printf(“%dn”,i); B); C)a=5,c=10 D) ; 3.3 以下合法的C語言賦值語句是( D )A)a=b=58 B)k=int(a+b); C)a=58,b=58 D)-i;3.4 以下程序的輸出結(jié)果是( C )A)0 B)1 C)3 D)不確定的值 main( ) int x=10, y=3;printf(“%dn”,y=x/y); 3.5 若變量已正確說明
23、為int類型,要給a、b、c輸入數(shù)據(jù),以下正確的輸入語句是( D )A)read(a,b,c); B)scanf(“ %d%d%d” ,a,b,c);C)scanf(“ %D%D%D” ,&a,%b,%c); D)scanf(“ %d%d%d”,&a,&b,&c);3.6 若變量已正確說明為float類型,要通過以下賦值語句給a賦予10、b賦予22、c賦予33,以下不正確的輸入形式是( B )A)10 B)10.0,22.0,33.0 C)10.0 D)10 2222 22.0 33.0 33 33scanf(“ %f %f %f” ,&a,&b
24、,&c);3.7 若變量已正確定義,要將a和b中的數(shù)進(jìn)行交換,下面不正確的語句組是( C )A)a=a+b,b=a-b,a=a-b; B)t=a,a=b,b=t; C)a=t;t=b;b=a; D)t=b;b=a;a=t;3.8 若變量已正確定義,以下程序段的輸出結(jié)果是( D )A) 輸出格式說明與輸出項(xiàng)不區(qū)配,輸出無定值 B)5.17C)5.168 D)5.169X=5.16894;Printf(“ %fn”,(int)(x*1000+0.5)/(float)1000);3.9 若有以下程序段,c3中的值是( A )A)0 B)1/2 C)0.5 D)1int c1=1,c2=2,c
25、3;c3=c1/c2;3.10 若有以下程序段,其輸出結(jié)果是( B )A)3,0,-10 B)0,0,5 C)-10,3,-10 D)3,0,3int a=0,b=0,c=0;c=(a-=a-5),(a=b,b+3);printf(“ %d,%d,%dn”,a,b,c);填空題3.21 若有以下定義,請寫出以下程序段中輸出語句執(zhí)行后的輸出結(jié)果。(1)-200,2500(2)i=-200,j=500 (3)i=-200 回車 j=2500int i=-200,j=2500;printf(“ (1) %d %d”,i,j);printf(“ (2) i=%d,j=%dn” ,i,j);printf
26、(“ (3) i=%dn j=%dn”,i,j);3.22 變量i、j、k已定義為int類型并有初值0,用以下語句進(jìn)行輸入時scanf(“ %d”,&I); scanf(“ %d”,&j); scanf(“ %d” ,&k);當(dāng)執(zhí)行第一個輸入語句,從鍵盤輸入:12.3<CR> <CR>表示Enter鍵則變量i、j、k的值分別是_12_、_0_、_0_。3.23 復(fù)合語句在語法上被認(rèn)為是 一條語名。空語句的形式是 ;3.24 C語句的最后用 ;結(jié)束。3.25 以下程序段,要求通過scanf語句給變量賦值,然后輸出變量的值。寫出運(yùn)行時給k輸入100,
27、給a輸入25.81,給x輸入1.89234 時的三種可能的輸入形式_、_、_。int k; float a; double x; scanf(“ %d%f%lf”,&k,&a,&x);pirntf(“ k=%d,a=%f,x=%fn”,k,a,x);編程題和改錯題3.29 以下程序多處有錯。要按下面指定的形式輸入數(shù)據(jù)和輸出數(shù)據(jù)時,請對該程序做相應(yīng)的修改。maindouble a,b,c,s,v;printf(input a,b,c:n);scanf(“%d%d%d”,a,b,c);s=a*b; /*計算長方形面積*/v=a*b*c; /*計算長方體體積*/printf(
28、“%d %d %d”,a,b,c);printf(“s=%fn”,s,”v=%dn”,v);當(dāng)程序執(zhí)行時,屏幕的顯示和要求輸入形式如下:input a,b,c:2.0 2.0 3.0 此處的2.0 2.0 3.0是用戶輸入的數(shù)據(jù)a=2.000000,b=2.000000,c=3.000000 此處是要求的輸出形式s=4.000000,v=12.0000003.30 編寫程序,把560分鐘換算成用小時和分鐘表示,然后進(jìn)行輸出。3.31 編寫程序,輸入兩個整數(shù):1500和350,求出它們的商數(shù)和余數(shù)并進(jìn)行輸出。3.32 編寫程序,讀入三個雙精度數(shù),求它們的平均值并保留此平均值小數(shù)后一位數(shù),對小數(shù)點(diǎn)
29、后第二位數(shù)進(jìn)行四舍五入,最后輸出結(jié)果。3.33 編寫程序,讀入三個整數(shù)給a、b、c,然后交換它們中的數(shù),把a(bǔ)中原來的值給b,把b中原來的值給c, 把c中原來的值給 a。第四課:C語言的程序結(jié)構(gòu)4-1節(jié)、關(guān)系運(yùn)算與邏輯運(yùn)算一、簡介關(guān)系表達(dá)式與邏輯表達(dá)式的運(yùn)算結(jié)果都會得到一個邏輯值。就是“真”、“假”在C語言中0表示“假”,非0(無論是負(fù)數(shù)還是正數(shù)都是真,更多時候用1來代替)表示“真”。二、幾個簡單的關(guān)系運(yùn)算符< <= > >= = !=注意:1,由兩個字符組成的運(yùn)算符,中間不能有空格2,它們都是雙目運(yùn)算符,具有自左至右的結(jié)合性。3,上面的6個運(yùn)算符中,前4個的優(yōu)先級要比后
30、2個的優(yōu)先級要高。先計算,后判斷,最后進(jìn)行賦值運(yùn)算。三、幾個簡單的邏輯運(yùn)算符&& 與 一假則假|(zhì) 或 一真則真! 非 非假則真,非真則假1&&2=10&&6=0int a=4 ,b=7;a&&7=1int x=0,y=7;x+&&y+ ?x= 1 y= 7+x&&y+ ?x=1 y=8同樣放在|中也是一樣的。4-2、4-3節(jié)、 if語句一、定義:只有兩種結(jié)果。要么執(zhí)行這條語句,要么執(zhí)行那條語句。if(條件表達(dá)式)上述條件成立執(zhí)行的句子else上述條件不成立執(zhí)行的句子如:if(成績>60)顯示及
31、格else顯示不及格二、分類 1.不含有else的語句if(表達(dá)式) 語句if(a<b)t=a;a=b;b=t;2.含有else語句if(條件)語句1;else 語句2;語句3;注:1.沒有分號2.控制的是與if或者else緊臨的“一條”語句。if(a<b)printf("%d",b);elseprintf("%d",a);if(a%3=0)yeselse no4-4節(jié)、結(jié)合一個例題來給大家分析if的嵌套輸入一個學(xué)生的成績,評定他的等級。每十分一個等級if()elseif()elseif()elseif(a>=90) printf(&q
32、uot;a");elseif(a>=80) printf("b");elseif(a>=70) printf("c");elseif(a>=60) printf("d");else printf("e");4-5、節(jié)7)設(shè)有定義:int a=1,b=2,c=3;,以下語句中執(zhí)行效果與其它三個不同的是 ( C )A)if(a>b) c=a,a=b,b=c;B)if(a>b) c=a,a=b,b=c;C)if(a>b) c=a;a=b;b=c;D)if(a>b) c=
33、a;a=b;b=c;(18)有以下程序應(yīng)該選( B )#include <stdio.h>main()int x;scanf(“%d”,&x);if(x<=3 ; elseif(x!=10)printf(“%dn”,x);程序運(yùn)行時,輸入的值在哪個范圍才會有輸出結(jié)果A)不等于10的整數(shù)B)大于3且不等于10的整數(shù)C)大于3或等于10的整數(shù)D)小于3的整數(shù)(19)有以下程序 ( C)#include<stdio.h>Main()int a=1,b=2,c=3,d=0;if(a= =1 &&b+= =2)if(b!=2 | c-!=3)prin
34、tf(“%d,%d,%dn”,a,b,c);else printf(“%d,%d,%dn”,a,b,c);else printf(“%d,%d,%dn”,a,b,c);程序運(yùn)行后的輸出結(jié)果是A)1,2,3B)1,3,2C)1,3,3D)3,2,14-6節(jié)、條件表達(dá)式是C語言中唯一的一個三目運(yùn)算。格式 :表達(dá)式1?表達(dá)式2:表達(dá)式3當(dāng)1成立(非零時)時,表達(dá) 式的值就是2的值,否則就是3的值。如:1.1<2?4:52.printf("%d",x<0?(-1)*+x:x+); (假定X的值為-3)3.+X>3?(x<3?a:b):b4-7節(jié)、switch
35、語句(一)switch(表達(dá)式)case 常量表達(dá) 式1:語句1case 常量表達(dá) 式2:語句2case 常量表達(dá) 式3:語句3case 常量表達(dá) 式4:語句4case 常量表達(dá) 式5:語句5。case 常量表達(dá) 式N:語句N4-8節(jié)、switch語句(二)switch(A/10)case 10:printf("A");case 9:printf("A");case 8;printf("b");case 7;printf("c");case 6;printf("d");default :prin
36、tf("e");4-9節(jié)-4-15節(jié)、選擇題4.1 下列運(yùn)算符中優(yōu)先級最高的運(yùn)算符是( A )A)! B)% C)-= D)&&4.2 下列運(yùn)算符中優(yōu)先級最低的運(yùn)算符是 ( A )A)| B)!= C) <= D)+4.3 為表示關(guān)系x>=y>=z, 應(yīng)使用的C語言表達(dá)式是 ( A )A) (x>=y)&&(y>=z) B) (x>=y)AND (y>=z)C) (x>=y>=z) D) (x>=y)&(y>=z)4.4 設(shè) a、b 和c 都是int 型變量,且a =3
37、,b=4, c=5;則以下的表達(dá)式中,值為0的表達(dá)式是 ( D )A) a&&b B)a<=b C)a|b+c&&b-c D)!(a<b)&&!c|1)4.5 以下程序的輸出結(jié)果是:( C )A) 0 B)1 C)2 D)3main() int a=2,b=-1,c=2;if (a<b) if (b<0) c=0;else c+=1;printf(“%dn”,c);4.6 以下程序的輸出結(jié)果是:( A )A) 1 B) 2 C) 3 D) 4main() int w=4,x=3,y=2,z=1;printf(“%dn”,(
38、w<x?w:z<y?z:x);4.7 若執(zhí)行以下程序時從鍵盤上輸入3和4,則輸出結(jié)果是( B )A)14 B)16 C)18 D)20main() int a, b,s;scanf(“%d%d”,&a,&b);s=a;if (a<b) s=b;s*=s;printf(“%dn”,s);4.9 運(yùn)行以下程序后,輸出( D ) A)# B)&&&&C)#&&&& D)有語法錯誤不能通過編譯main() int k=-3;if (k<=0) printf(“*n”);else printf(“&a
39、mp;&&&n”);4.10 若a和b均是正整數(shù)型變量,以下正確的switch語句是 ( A )A) switch ( pow(a,2)+pow(b,2) (注:調(diào)用求冪的數(shù)學(xué)函數(shù)) case 1: case 3: y=a+b; break ;case 0: case 5: y=a-b; B) switch (a*a+b*b); case 3:case 1: y=a+b; break ;case 0: y=b-a; break;C) switch ()a default : x=a+b;case 10 : y=a-b;break;case 11 : y=a*d; bre
40、ak; D) switch(a+b) case 10: x=a+b; break;case11: y=a-b; break;二、 填空題4.11 C語言中用 非0 表示邏輯值“真”,用 0 表示邏輯值“假”。4.12 C語言中的關(guān)系運(yùn)算符按優(yōu)先級別是(!= <=) _!= 、 <= 4.13 C語言中的邏輯運(yùn)算符按優(yōu)先級別是(| && !)4.14 C語言中的關(guān)系運(yùn)算符和邏輯運(yùn)算符的優(yōu)先級別是(= &&)4.15 C語言中邏輯運(yùn)算符 ! 的優(yōu)先級高于算術(shù)運(yùn)算符。4.16 將下列數(shù)學(xué)式改寫成C語言的關(guān)系表達(dá)式或邏輯表達(dá)式A) a=b|a<c 和
41、B) x>4|x<-4A) a=b 或 a<c B) |x|>44.17 請寫出以下程序的輸出結(jié)果 1 。main() int a=100;if (a>100) printf(“%dn”,a>100);else printf(“%dn”,a<=100);4.18 請寫出與以下表達(dá)式等價的表達(dá)式A) X<=0 B) 1 A) !(x>0) B) !04.19 當(dāng)a=1,b=2,c=3時,以下if 語句執(zhí)行后,a 、b 、c 中的值分別為 3 、2 、2 if (a>c) b=a;a=c;c=b;4.20 若變量巳正確定義,以下語句段的輸
42、出結(jié)果是 *# x=0,y=2,z=3;switch(x) case 0: switch (y=2) case 1: printf(“*”); break;case 2: printf(“%”); break; case 1: switch(z) case 1: printf(“$”);case 2: printf(“*”);break;default: printf(“#”);三、 編程題4.21 請將以下語句改寫成switch語句。if ( a<30) m=1;else if (a<40) m=2;else if (a<50) m=3;else if (a<60)
43、m=4;else m=5;4.22 編寫程序,輸入一位學(xué)生的生日(年:y0、月:m0、日:d0); 并輸入當(dāng)前的日期(年: y1、月:m1、日:d1); 輸出該生的實(shí)足年齡。4.23 編寫程序,輸入一個整數(shù),打印出它是奇數(shù)還是偶數(shù)。4.24 編寫程序,輸入 a、b 、c 三個數(shù),打印出最大者。 4.25 有一函數(shù):x (-5<x<0)y= x-1 (x=0)x+1 (0<x<10)編寫一程序,要求輸入x 的值,輸出y 的值。分別用 (1)不嵌套的if 語句(2)嵌套的if 語句 (3)if-else語句 (4)switch 語句第五課:循環(huán)結(jié)構(gòu)5-1、5-2節(jié)、whil
44、e 語句一、格式 :while(表達(dá)式)循環(huán)體注:1:2:3:一條 while(a<3)1 a+=s;2s=a;31.100int i=1,sum=0;while(i<101)sum=sum+i+;printf("%d",sum);叢1開始加到哪個數(shù)時他們的和將超過1000?int i=1,sum=0;while(sum<1000)sum+=i;999 +42=1041i+;42 43printf("%d",-i);5-3節(jié)、do-while語句do while()格式:do 循環(huán)體while(表達(dá)式)1 2 3 5 8 13doa3=
45、a1+a2;a1=a2;a2=a3;while(a3<=1000);1:12:;5-4節(jié)、for語句(1)for語句和for語句構(gòu)成的循環(huán)結(jié)構(gòu)一、格式:for(表達(dá)式1;表達(dá)式2;表達(dá)式3)循環(huán)體相當(dāng)于while語句的表達(dá)式1;while(表達(dá)式2)循環(huán)體;表達(dá)式3;k=0for(;k<=10;)printf("*");k+;int k=0;while(k<10)printf("*");k+;注:1:表達(dá)式可以省略,但分號不可以。2:表達(dá)式可以是任意有效的C語言表達(dá)式課后習(xí)題部分,筆記不再提供,請大家看教程。第六課、字符型數(shù)據(jù)6-1節(jié)、
46、字符型常量格式:a A 要求:1,單引號中的大寫字母和小寫字母代表不同的字符常量。2.單引號中的空格也是一個字符常量,但不能是兩個連續(xù)的單引號3字符常量只能用單引號括起來,不能用雙引號。轉(zhuǎn)義字符n代表回車代表一個單引號 代表一個”代表一個雙引號注意:1 轉(zhuǎn)義字符常量,如141只代表一個字符2 反斜線后的8進(jìn)制數(shù)可以不用0開頭。如1中所講的141就是一個8進(jìn)制數(shù)。01413 反斜線后的16進(jìn)制數(shù)只可以用x開頭,不可以用X開頭。字符串常量格式:由雙引號括起來的一串字符。同時也要知道“A”和A是不一樣的?!癆” A ACSII碼A 65 a 97a-A= 326.2節(jié)、字符變量格式:char a=s
47、6.3字符的輸入和輸出Printf和scanf函數(shù)輸出和輸入字符對于字符型數(shù)據(jù)的格式說明符是%cChar c=a;Printf(“%c”,c);Char a,b,c,d;Scanf(“%c%c%c”,&a, &b, &c);6-3節(jié)、程序舉例寫出26個大寫字母和他們的ASCII代碼要求每行輸出兩組數(shù)據(jù)。#include <stdio.h>Main()Char ch; int I;For(i=0;i<26:i+)Ch=i+65;If(i%2= =0)Printf(“n”);Printf(“c=%c,ASCII=%d”,ch,ch);在上面的程序中有對于字
48、符的輸入與輸出,在C語言中也有另外的輸入輸出字符的語句。輸入:變量名=getchar()輸出:putchar(變量名)第七章 函數(shù)7-1節(jié)、庫函數(shù)1.調(diào)用C語言標(biāo)準(zhǔn)庫函數(shù)時要求的include命令行Include命令行必須以#開頭,系統(tǒng)提供的頭文件以.h作為文件的后綴,文件名用一對雙引號或一對尖括號(需要注意include命令行不是C語句,因此不能在最后加分號)2.標(biāo)準(zhǔn)庫函數(shù)的調(diào)用函數(shù)名(參數(shù)表)如:putchar(ch)(1) 出現(xiàn)在表達(dá)式中的 -ch=getchar()(2) 做為單獨(dú)的語句完成某種操作。-printf(“*”);7.2函數(shù)的定義和返回值由于C語言中的定義的函數(shù)不能完成用戶
49、所有的要求,所以用戶可以為自己定義函數(shù)實(shí)現(xiàn)相應(yīng)的功能。7.2.1函數(shù)定義的語法1:格式:函數(shù)返回值的類型名 函數(shù)名(類型名 形式參數(shù)1,類型名 形式參數(shù)2)說明部分語句部分 2:函數(shù)名和形式參數(shù)都是用戶命名的標(biāo)識符。在同一個程序中,函數(shù)名必須唯一,形式參數(shù)名只要在同一函數(shù)中唯一即可,可以與其他函數(shù)中的變量同名。3:C語言規(guī)定,不能在函數(shù)的內(nèi)部定義函數(shù)。4:若在函數(shù)的首部省略了函數(shù)返回值的類型名,則說明該函數(shù)的返回值是int類型5:除了返回值類型為int類型的函數(shù)外,函數(shù)必須先定義后調(diào)用。6:當(dāng)沒有函數(shù)返回值,則必須把函數(shù)定義成void類型。例:編寫求兩個雙精度數(shù)之和的函數(shù)。double add
50、(double a, double b )double s;s=a+b;return s;7-2節(jié)、函數(shù)的返回值函數(shù)的值通過return語句返回,return 表達(dá)式;此表達(dá)式的值必須與函數(shù)首部所說明的類型一致,若類型不一致,則以函數(shù)值的類型為準(zhǔn)。需要注意的是,無論函數(shù)體中有多少個return語句,只能執(zhí)行一次。函數(shù)體內(nèi)可以沒有return語句,這時也必須定義函數(shù)為 viod類型。7-3節(jié)、函數(shù)的調(diào)用7.3.1函數(shù)的兩種調(diào)用方式格式為:函數(shù)名(實(shí)在參數(shù)表)當(dāng)實(shí)參的個數(shù)多于一個時,各實(shí)參用逗號隔開。實(shí)參的個數(shù)必須與調(diào)用函數(shù)中形參的個數(shù)相周,類型一一對應(yīng)匹配。如沒有形參,則形式為 函數(shù)名() 注意
51、后面的小括號不能丟。如題:#include<stdio.h>double add(double ,double);main()double m,n,z;scanf(“%lf %lf”,m,n);z=add(m,n);printf(“%lf”,z);double add(double a, double b )double s;s=a+b;return s;73.2 函數(shù)調(diào)用時的語法要求1.調(diào)用函數(shù)時,函數(shù)名必須與所調(diào)用的函數(shù)名字完全一致。2.實(shí)參的個數(shù)必須與形參的個數(shù)一致。3.C語言中規(guī)定,函數(shù)必須先定義后使用。4.C語言中,函數(shù)可以直接或間接的自己調(diào)用自己。稱為遞歸調(diào)用fac(n
52、)=fac(n-1)*n7-4節(jié)、函數(shù)的說明在C語言中凡是未在調(diào)用前定義的函數(shù),C編譯程序都默認(rèn)函數(shù)的返回值為int 型。對于返回值是其它類型的,若把函數(shù)的定義放在調(diào)用之后,應(yīng)該在調(diào)用之前對函數(shù)進(jìn)行說明。說明的格式:類型名 函數(shù)名(參數(shù)類型1,參數(shù)類型2.。)也可以用以下格式類型名 函數(shù)名(參數(shù)類型1 參數(shù)名1,參數(shù)類型2 參數(shù)名2,)函數(shù)說明的位置:一般為了讓程序早點(diǎn)識別出程序中的定義好了的函數(shù),一般將其放在程序的開始部分7-5節(jié)、調(diào)用函數(shù)和被調(diào)用函數(shù)之間的數(shù)據(jù)傳遞一:三種格式進(jìn)行傳遞1 實(shí)在參數(shù)和形式參數(shù)之間進(jìn)行數(shù)據(jù)傳遞2 通過return語句把函數(shù)值返回調(diào)用函數(shù)3 能過全局變量,但這不是一種好的方式,通常不提倡使用。通過一個程序來看一下數(shù)據(jù)到底是怎樣傳遞的。#include <stdio.h>viod try(int ,int ,int );main()int x=2,y=3,z=0;printf(“(1)x=%d y=%d z=%dn”,x,y,z);try(x,y,z);printf(“(4) x=%d y=%d z=%dn”,x,y,z);void try(int x,int y,int z)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中學(xué)物理聽評課記錄
- 南昌大學(xué)共青學(xué)院《教師資格筆試與面試實(shí)訓(xùn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 臨沂職業(yè)學(xué)院《工程圖學(xué)A》2023-2024學(xué)年第二學(xué)期期末試卷
- 遼寧科技大學(xué)《虛擬商業(yè)社會》2023-2024學(xué)年第二學(xué)期期末試卷
- 人民版道德與法治八上7.2《優(yōu)勢互補(bǔ)》表格式聽課評課記錄
- 河北省2024七年級道德與法治上冊第四單元追求美好人生第十二課端正人生態(tài)度第2課時正確對待順境和逆境背記新人教版
- 河北省2024七年級道德與法治上冊第二單元成長的時空第四課幸福和睦的家庭第2課時讓家更美好背記新人教版
- 廣西藝術(shù)學(xué)院《知識產(chǎn)權(quán)案例分析》2023-2024學(xué)年第二學(xué)期期末試卷
- 安慶省聯(lián)考高三數(shù)學(xué)試卷
- 語文網(wǎng)上聽評課記錄
- 2024年高考語文復(fù)習(xí):古詩文閱讀強(qiáng)化練習(xí)題匯編(含答案解析)
- 臨床護(hù)理實(shí)踐指南2024版
- 不良反應(yīng)事件及嚴(yán)重不良事件處理的標(biāo)準(zhǔn)操作規(guī)程藥物臨床試驗(yàn)機(jī)構(gòu)GCP SOP
- 義務(wù)教育數(shù)學(xué)課程標(biāo)準(zhǔn)(2022年版)重點(diǎn)
- 醫(yī)療器械采購?fù)稑?biāo)方案(技術(shù)方案)
- 教育培訓(xùn)行業(yè)抖音號運(yùn)營推廣策劃方案課件
- 2024-2030年全球及中國水楊酸行業(yè)市場現(xiàn)狀供需分析及市場深度研究發(fā)展前景及規(guī)劃可行性分析研究報告
- 體育館改造裝修工程施工組織設(shè)計
- 137案例黑色三分鐘生死一瞬間事故案例文字版
- 山東省德州市德城區(qū)2023-2024學(xué)年八年級下學(xué)期期末考試數(shù)學(xué)試卷(含答案)
- 【魔鏡洞察】2024藥食同源保健品滋補(bǔ)品行業(yè)分析報告
評論
0/150
提交評論