C語言程序設(shè)計考點知識點_第1頁
C語言程序設(shè)計考點知識點_第2頁
C語言程序設(shè)計考點知識點_第3頁
C語言程序設(shè)計考點知識點_第4頁
C語言程序設(shè)計考點知識點_第5頁
已閱讀5頁,還剩62頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、.第一章 程序設(shè)計基本概念1.1程序和程序設(shè)計 程序:連續(xù)執(zhí)行的一條條指令的集合稱為“程序”。 對于計算機來說,它不能識別由高級語言編寫的程序,它只能接受和處理由0和1的代碼構(gòu)成的二進制指令或數(shù)據(jù)。由于這種形式的指令是面向機器的,因此也被稱為“機器語言”。所以所有由高級語言編寫的程序都要經(jīng)過編譯,編譯成二進制代碼。這種具有翻譯功能的軟件稱為編譯程序。 語言有很多種,我們現(xiàn)在要談論的就是C語言。為什么計算機會能進行各種各樣的操作,就是由不同的指令來實現(xiàn)的。而不是只有C語言才可以實現(xiàn)這樣的功能。還有其它很多語言。但是我們一般說C語言是其它語言的母語。會了C語言其它的語言在學習的過程就會感到輕松一些

2、。1.1.2程序設(shè)計 1.確定數(shù)據(jù)結(jié)構(gòu) 2.確定算法 3.編碼 4.在計算機上調(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) 判斷表達式子不滿足語句1語句23. 循環(huán)結(jié)構(gòu)判斷表達式不滿足滿足循環(huán)體循環(huán)體判斷表達式滿足不滿足12)計算機能直接執(zhí)行的程序是(B )。A)源程序 B)目標程序 C)匯編程序 D)可執(zhí)行程序13)以下敘述中正確的是( D )A)程序設(shè)計

3、的任務就是編寫程序代碼并上機調(diào)試B)程序設(shè)計的任務就是確定所用數(shù)據(jù)結(jié)構(gòu)C)程序設(shè)計的任務就是確定所用算法D)以上三種說法都不完整第二章 :C程序設(shè)計的初步知識21 C語言程序的構(gòu)成和格式#include 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 :每當寫一個程序時,第一條語句永遠是這個語句,因為一個程序可以沒有輸入但必須要有輸出,而這個語句就是控制輸入輸出的。所以任何一個程序都必

4、須由這個語句開始。Main():是一個程序的主函數(shù)。一個程序是由多個函數(shù)組成的,而任何一個程序都要有一個主函數(shù),有且只有一個。任何程序都是由主函數(shù)開始執(zhí)行的。:它們兩個必須要成對出現(xiàn),它們中的語句是主函數(shù)體。包括定義部分和執(zhí)行部分。它們中的語句,每一條必須由;結(jié)束。;是C語句的一個組成部分而不是一個結(jié)束標識。/*/:注釋符一定要成對出現(xiàn),不允許嵌套。兩個符號間的語句不被執(zhí)行。 例年真題: #include main() Int a;A=5; /*給A變量賦值5A+=3; 再賦值后再加3*/Printf(“%d”,a);(11)以下敘述中正確的是( C )。A)C 程序的基本組成單位是語句 B)

5、C 程序中的每一行只能寫一條語句二級C 語言程序設(shè)計試卷)C)簡單C 語句必須以分號結(jié)束 D)C 語句必須在一行內(nèi)寫完(11)以下敘述中正確的是( C ) A)C程序中的注釋只能出現(xiàn)在程序的開始位置和語句的后面 B)C程序書寫格式嚴格,要求一行內(nèi)只能寫一個語句 C)C程序書寫格式自由,一個語句可以寫在多行上 D)用C語言編寫的程序只能放在一個程序文件中 第二課:C語言的基礎(chǔ)知識2.2標識符,常量和變量2.2.1 標識符:定義:由字母,數(shù)字和下劃線組成,并且第一個字符必須為字母或下劃線的。這樣的組成就是標識符。下列合法的是:else what #$123 34a a34 a_b a-b Ifa=

6、3 A=4注意:在C中大寫字母與小字字母被認為是兩個不同的字符。分類: 關(guān)鍵字:在C中已經(jīng)定義好了的,不能用作它用的。如if double int 等等。 預定義標識符:如printf scanf 用戶標識符:用戶根據(jù)自己的需求來定義的。(12)以下選項中,能用作用戶標識符的是( C )A)voidB)8_8C)_0_D)unsigned(11)以下選項中合法的標識符是( C )A) 1-1 B)11 C)-11 D)1(12)以下選項中不合法的標識符是 ( C ) A)print B)FOR C)&a D)_002.2.2常量: 定義:是指在程序的執(zhí)行的過程中,其值不會被改變的量。 分類:整

7、型常量:沒有小數(shù)的常量 如:3 9 1234等等都是。 實型常量:有小數(shù)點的常量 如:3.9 3.0 3. 字符常量:由單個字符組成的量 如:a b 3 字符串常量:至少由一個字符組成的量 如:“a” “abc” “ beijing” 符號常量:符號常量的值到底是多少,這是由在來定義符號常量時來決定的 ?2*pi(13)以下選項中,能用作數(shù)據(jù)常量的是 ( D )A)o115 B) 0118 C)1.5e1.5 D) 115L(13)以下選項中不能作為C 語言合法常量的是( A )。A)cd B)0.1e+6 C)a D)011(13)以下選項中不屬于字符常量的是 ( B ) A)C B)C C

8、)xCC0 D)0722.3整型常量與實型常量 整型常量的幾個表示方法 十進制數(shù): 八進制數(shù):以0開頭的數(shù)字,由0-7組成。 下列合法的八進制數(shù)是 A,0 B,028 C,-077 D,01.0 十六進制數(shù):以0X開頭,由0-9和A-F組成。 A,oxff B,0xabc C,0x11 D,0x19 實型常量 123.4 小數(shù)形式:123.4 指數(shù)形式:1.234e2 1. 字母e和E之前必須要有數(shù)字 2.字母e和E之后的數(shù)字必須是整數(shù) 3.字母e和數(shù)字之間不能有空格。A,2.607E-1 0.8103E 2 -77.77 456E-2 0.1e+6 1.23E1.22.2.4變量: 1.定義

9、:在程序的運行過程中其值可以被改變的量,就叫變量。 2.原則:變量必須先定義后使用。變量定義的過程就是給變量開辟存儲單元的過程。 3.分類: 整型變量:用關(guān)鍵字int來表示. short int 短整型 long int 長整型 在內(nèi)存中占4個字節(jié) 如123L unsigned 無符號 如有-200U這就是錯的。 變量的定義:int a 這是定義了一個整型變量a. 實型變量:用關(guān)鍵字 double 或float來表示。 float 單精度 在內(nèi)存中占4個字節(jié) double 雙精度 在內(nèi)存中占8個字節(jié)。2.2.5 算術(shù)表達式一、基本的算術(shù)運算符 + - * / % 這些是雙目運算符(就是指操作對

10、象有兩個) 注意: 除%外,其它的運算符的運算對象可以是整型也可以是實型。%的操作對象只能是整型。 如10%3=1 10.7%3 10%4.5 x%3=0 + - 也可以做為單目運算。-5.4 +4.9 說明: 1.如果雙目運算符兩邊運算數(shù)的類型一致,則所得結(jié)果的類型與運算數(shù)的類型一致。如 1.0/2.0=0.5 1/2=0 2.如果雙目運算符兩邊運算數(shù)的類型不一致,則系統(tǒng)會自動進行類型轉(zhuǎn)換,使兩邊的類型一致后,再進行運算。 1.0/2=0.5 3.所有的單精度數(shù)據(jù),在運算過程中都以雙精度進行運算。二、優(yōu)先級 () + - * / % + - 由高低 如 (5+1)/2=? 2.5.3 強制類

11、型轉(zhuǎn)換表達式 格式:(類型名) (表達式) 例:(int)3.234=3 (double)10%3=?(14)表達式:4-(9)%2的值是( B ) A)0 B)3 C)4 D)5 (14)設(shè)變量已正確定義并賦值,以下正確的表達式是 ( C ) A)x=y*5=x+z B)int(15.8%5) C)x=y+z+5,+y D)x=25%5.02.6賦值表達式格式:變量名=表達式注:1.不可以顛倒(左邊必須是變量名,右邊必須是C語言中合法的表達式) 2.功能就是先求出右邊表達式的值,然后把此值賦值給賦值號左邊的變量。確切的說是把數(shù)據(jù)存入以該變量為標識的存儲單元中去。a=4 , a=7 3.結(jié)合性

12、的優(yōu)先級僅高于逗號表達式。順序是自右向左的。如a=2+7/3 4.=是一個賦值號,不是一個等號。 5.x=y。變量的值也是可以傳遞和賦值的。它的意思就是將變量Y中的值賦值到X中去。同樣N=N+1也成立 6.賦值運算符的左側(cè)只能是變量,不能是常量或表達式 a+b=c這就是違法的 7。賦值號的右邊也可以是一個賦值表達式。如a=b=7+1; 補充;表達式與語句的區(qū)別, 表達式后面加一個分號就是語句。 2.6.2復合賦值表達式例: a+=3-a=a+3 同理可得a*=3 /= -= a+=a-=a+a a 的初值是9 a+=a-=18 a+=(a=a-18) a+=(a=-9) a+=a -18(15

13、)若有定義語句:int x=10;,則表達式x-=x+x的值為( B ) A)-20 B)-10 C)0 D)10(14)設(shè)有定義:int x=2;,以下表達式中,值不為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+當+在前,先自身加1,然后再干別人讓干的事情 。當+在后,先別人讓干的事情然后

14、再干 自身加1。int i=3;int a;a=i+; a=3a=+I;a=4 第三課:輸入和輸出語句3.2輸出語句的講解 一、printf函數(shù)的一般調(diào)用形式 格式:printf(格式控制,輸出項1,輸出項2,.); 在printf函數(shù)的最后面寫上;號就是輸出語句。 1,給輸出項白提供輸出格式說明 格式說明符: 作用:就是使數(shù)據(jù)按格式說明符的要求進行輸出。 組成:由%號和緊跟在其后的格式描述符組成。 int-%d float或double-%f或e% char-%c 2.提供原樣輸出的文字或字符 在 “ ” 中除了格式說明符之外的內(nèi)容要全部原樣輸出。 各個輸出項之間要用逗號隔開。 輸出項可以是

15、任意合法的常量,變量或表達式。 printf中常用的格式說明 在格式說明符中,每一個格式說明符都必須以%號開頭由相應的類型標識字母結(jié)束。但在他們之間可以有其它的一個內(nèi)容:%c :輸出一個字符%d:輸出一個十進制的數(shù)據(jù)%o:以八進制格式輸出。%X:以十六進制輸出%U:無符號十進制輸出%f:以帶小數(shù)點的數(shù)字輸出%e:以指數(shù)形式輸出%s:輸出一個字符串。%:輸出一個%號%4d:輸出的數(shù)據(jù)長度是4個長度,當原來的長度大于4個時會自動突破。小于4個時會填充空格。%x.yf: x代表數(shù)制的寬度(包括小數(shù)點)。Y代表小數(shù)點后面的小數(shù)位數(shù)。注意事項:1.輸出比較自由一些,輸出有的各個數(shù)之到底是什么,取決于格式

16、說明符之間的內(nèi)容。2.格式說明符要與輸出項一一對應。3.輸出語句中還可以有 n r t a4.盡量不要在輸出語句中改變輸出變量的值。5.輸出的數(shù)據(jù)中如果存在變量,一定要定義過的。習題講解(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)鍵字,不能用作用戶自定義標識符 B)定義語句出錯,printF不能用作用戶自

17、定義標識符 C)定義語句無錯,scanf不能作為輸入函數(shù)使用 D)定義語句無錯,printf不能輸出case的值(16)有以下程序 #include main() int a=1,b=0; printf(“%d,”,b=a+b); printf(“%dn”,a=2*b); 程序運行后的輸出結(jié)果是 ( D ) A)0,0 B)1,0 C)3,2 D)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.141593#i

18、nclude main()double a=123.456;printf(%6.2f,a);輸入語句格式: scanf(格式控制,輸入項1,輸入項2,.);例如:想通過鍵盤輸入3個數(shù)分別給變量a,b,c。并且他們分別為整型,浮點型,雙精度型。 輸入語句為scanf(%d%f%lf,&k,&a,&y);說明: 1.格式說明符與輸出語句一樣。 2.在格式串中,必須含有與輸入項一一對應的格式轉(zhuǎn)換說明符。 3.在VC6.0的環(huán)境下,要收輸入的DOUBLE型數(shù)據(jù)的格式說明符一定要用%lf,否則數(shù)據(jù)不能正確的輸入4.由于輸入是一個字符流,所以當輸入的數(shù)據(jù)少于輸入項時,程序會等待用戶輸入,直到滿足要求。當輸

19、入的數(shù)據(jù)多于輸入項時,多余的數(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,&c);3.6 若變量已正確說明為float類型,要通過以下賦值語句給a賦予10、b賦予22、c賦予33,以下不正確的輸入形式是( A )A)10 B)10.0,22.

20、0,33.0 C)10.0 D)10 22 22 22.0 33.0 33 33scanf(“ %f %f %f” ,&a,&b,&c);復合語句:多個語句被括起來,當成一條語句來執(zhí)行。空語句:最后的表示只有一個;程序舉例:1。編寫一個程序,從鍵盤上輸入兩個數(shù)字,讓后讓他們互換一下。#includemain()int a,b;printf(請輸入兩個數(shù)字:);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ù)進行四舍五入運算。要求保留兩位有效小樹。1

21、23.45671234567*100=12345.6712345.67+0.5=12346.17(int)(12346.17)=1234612346/100=123.463。編寫程序,使從鍵盤中輸入的三位數(shù)倒著輸出。選擇題 3.1 若a、b、c、d、都是int類型變量且初值為0,以下選項中不正確的賦值語句是( C )A)a=b=c=d=100; B)d+; C)c+b; D)d=(c=22)-(b+);3.2 以下選項中不是C語句的是( C )A)int i; i+; printf(“%dn”,i); B); C)a=5,c=10 D) ; 3.3 以下合法的C語言賦值語句是( D )A)a=

22、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 若變量已正確說明為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

23、、b賦予22、c賦予33,以下不正確的輸入形式是( B )A)10 B)10.0,22.0,33.0 C)10.0 D)10 22 22 22.0 33.0 33 33 scanf(“ %f %f %f” ,&a,&b,&c);3.7 若變量已正確定義,要將a和b中的數(shù)進行交換,下面不正確的語句組是( 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) 輸出格式說明與輸出項不區(qū)配,輸出無定值 B)5.17C)5.168 D)5.169X=5.168

24、94;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,c3;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=-20

25、0,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(“ (3) i=%dn j=%dn”,i,j);3.22 變量i、j、k已定義為int類型并有初值0,用以下語句進行輸入時scanf(“ %d”,&I); scanf(“ %d”,&j); scanf(“ %d” ,&k);當執(zhí)行第一個輸入語句,從鍵盤輸入:12.3 表示Enter鍵則變量i、j、k的值分別是_12_、_0_、_0_。3.23 復合語句在語法上被認為是 一條語名???/p>

26、語句的形式是 ;3.24 C語句的最后用 ;結(jié)束。3.25 以下程序段,要求通過scanf語句給變量賦值,然后輸出變量的值。寫出運行時給k輸入100,給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ù)時,請對該程序做相應的修改。maindouble a,b,c,s,v;printf(input a,b,c:n);scan

27、f(“%d%d%d”,a,b,c);s=a*b; /*計算長方形面積*/v=a*b*c; /*計算長方體體積*/printf(“%d %d %d”,a,b,c);printf(“s=%fn”,s,”v=%dn”,v);當程序執(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分鐘換算成用小時和分鐘表示,然后進行輸出。3.31 編寫程序,輸入兩個整數(shù):150

28、0和350,求出它們的商數(shù)和余數(shù)并進行輸出。3.32 編寫程序,讀入三個雙精度數(shù),求它們的平均值并保留此平均值小數(shù)后一位數(shù),對小數(shù)點后第二位數(shù)進行四舍五入,最后輸出結(jié)果。3.33 編寫程序,讀入三個整數(shù)給a、b、c,然后交換它們中的數(shù),把a中原來的值給b,把b中原來的值給c, 把c中原來的值給 a。第四課:C語言的程序結(jié)構(gòu)4-1節(jié)、關(guān)系運算與邏輯運算一、簡介 關(guān)系表達式與邏輯表達式的運算結(jié)果都會得到一個邏輯值。就是“真”、“假” 在C語言中0表示“假”,非0(無論是負數(shù)還是正數(shù)都是真,更多時候用1來代替)表示“真”。二、幾個簡單的關(guān)系運算符 = = != 注意: 1,由兩個字符組成的運算符,中

29、間不能有空格 2,它們都是雙目運算符,具有自左至右的結(jié)合性。 3,上面的6個運算符中,前4個的優(yōu)先級要比后2個的優(yōu)先級要高。先計算,后判斷,最后進行賦值運算。三、幾個簡單的邏輯運算符 & 與 一假則假 | 或 一真則真 ! 非 非假則真,非真則假 1&2=1 0&6=0 int 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(條件表達式) 上述條件成立執(zhí)行的句子 else 上述條件不成立執(zhí)行的句子如: i

30、f(成績60) 顯示及格 else 顯示不及格二、分類 1.不含有else的語句 if(表達式) 語句 if(ab) t=a; a=b; b=t; 2.含有else語句 if(條件) 語句1; else 語句2; 語句3; 注: 1.沒有分號 2.控制的是與if或者else緊臨的“一條”語句。if(a=90) printf(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í)行效果與其它三個不同的是 (

31、C ) A)if(ab) c=a,a=b,b=c; B)if(ab) c=a,a=b,b=c; C)if(ab) c=a;a=b;b=c; D)if(ab) c=a;a=b;b=c;(18)有以下程序應該選( B )#include main()int x;scanf(“%d”,&x);if(x=3 ; elseif(x!=10)printf(“%dn”,x);程序運行時,輸入的值在哪個范圍才會有輸出結(jié)果A)不等于10的整數(shù)B)大于3且不等于10的整數(shù)C)大于3或等于10的整數(shù)D)小于3的整數(shù)(19)有以下程序 ( C)#includeMain()int a=1,b=2,c=3,d=0;if(

32、a= =1 &b+= =2)if(b!=2 | c-!=3)printf(“%d,%d,%dn”,a,b,c);else printf(“%d,%d,%dn”,a,b,c);else printf(“%d,%d,%dn”,a,b,c);程序運行后的輸出結(jié)果是A)1,2,3B)1,3,2C)1,3,3D)3,2,14-6節(jié)、條件表達式 是C語言中唯一的一個三目運算。格式 :表達式1?表達式2:表達式3 當1成立(非零時)時,表達 式的值就是2的值,否則就是3的值。如: 1.12?4:5 2.printf(%d,x3?(x3?a:b):b4-7節(jié)、switch語句(一)switch(表達式) ca

33、se 常量表達 式1:語句1case 常量表達 式2:語句2case 常量表達 式3:語句3case 常量表達 式4:語句4case 常量表達 式5:語句5。case 常量表達 式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 :printf(e);4-9節(jié)-4-15節(jié)、選擇題4.1 下列運算符中優(yōu)先級最高的運算符是( A )A)! B)% C)-= D)&4.2 下列運算符中優(yōu)

34、先級最低的運算符是 ( A )A)| B)!= C) =y=z, 應使用的C語言表達式是 ( 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,b=4, c=5;則以下的表達式中,值為0的表達式是 ( D )A) a&b B)a=b C)a|b+c&b-c D)!(ab)&!c|1)4.5 以下程序的輸出結(jié)果是:( C )A) 0 B)1 C)2 D)3main() int a=2,b=-1,c=2; if (ab) if (b0) c=0; else c+=1; p

35、rintf(“%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”,(wx?w:zy?z:x);4.7 若執(zhí)行以下程序時從鍵盤上輸入3和4,則輸出結(jié)果是( B ) A)14 B)16 C)18 D)20 main() int a, b,s; scanf(“%d%d”,&a,&b); s=a; if (ab) s=b; s*=s; printf(“%dn”,s);4.9 運行以下程序后,輸出( D ) A)# B)&C)#& D)有語法錯誤不能通過編譯 main() int

36、k=-3;if (k=0) printf(“*n”); else printf(“&n”); 4.10 若a和b均是正整數(shù)型變量,以下正確的switch語句是 ( A )A) switch ( pow(a,2)+pow(b,2) (注:調(diào)用求冪的數(shù)學函數(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=

37、a-b;break; case 11 : y=a*d; break; 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ōu)先級別是(!= =) _!= 、 = 4.13 C語言中的邏輯運算符按優(yōu)先級別是(| & !)4.14 C語言中的關(guān)系運算符和邏輯運算符的優(yōu)先級別是(= &)4.15 C語言中邏輯運算符 ! 的優(yōu)先級高于算術(shù)運算符。4.16 將下列數(shù)學式改寫成C語言的關(guān)系表達式或邏輯表達式A) a=b|a4

38、|x-4 A) a=b 或 a44.17 請寫出以下程序的輸出結(jié)果 1 。 main() int a=100; if (a100) printf(“%dn”,a100); else printf(“%dn”,a=100);4.18 請寫出與以下表達式等價的表達式A) X0) B) !04.19 當a=1,b=2,c=3時,以下if 語句執(zhí)行后,a 、b 、c 中的值分別為 3 、2 、2 if (ac) b=a;a=c; c=b;4.20 若變量巳正確定義,以下語句段的輸出結(jié)果是 *# x=0,y=2,z=3; switch(x) case 0: switch (y=2) case 1: pr

39、intf(“*”); break; case 2: printf(“%”); break; case 1: switch(z) case 1: printf(“$”); case 2: printf(“*”);break; default: printf(“#”); 三、 編程題4.21 請將以下語句改寫成switch語句。 if ( a30) m=1; else if (a40) m=2; else if (a50) m=3;else if (a60) m=4;else m=5;4.22 編寫程序,輸入一位學生的生日(年:y0、月:m0、日:d0); 并輸入當前的日期(年: y1、月:m1、

40、日:d1); 輸出該生的實足年齡。4.23 編寫程序,輸入一個整數(shù),打印出它是奇數(shù)還是偶數(shù)。4.24 編寫程序,輸入 a、b 、c 三個數(shù),打印出最大者。 4.25 有一函數(shù): x (-5x0) y= x-1 (x=0) x+1 (0x10)編寫一程序,要求輸入x 的值,輸出y 的值。分別用 (1)不嵌套的if 語句(2)嵌套的if 語句 (3)if-else語句 (4)switch 語句第五課:循環(huán)結(jié)構(gòu)5-1、5-2節(jié)、while 語句一、格式 : while(表達式) 循環(huán)體注:1: 2: 3:一條 while(a3)1 a+=s;2 s=a;31.100 int i=1,sum=0;wh

41、ile(i101) sum=sum+i+; printf(%d,sum);叢1開始加到哪個數(shù)時他們的和將超過1000?int i=1,sum=0;while(sum1000)sum+=i;999 +42=1041 i+;42 43printf(%d,-i);5-3節(jié)、do-while語句do while()格式: do 循環(huán)體 while(表達式)1 2 3 5 8 13doa3=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(表達式1;表達式2;表達式3) 循環(huán)體相當于while語

42、句的 表達式1; while(表達式2) 循環(huán)體; 表達式3;k=0for(;k=10;) printf(*); k+; int k=0;while(k10)printf(*);k+;注:1:表達式可以省略,但分號不可以。2:表達式可以是任意有效的C語言表達式第六課、字符型數(shù)據(jù) 6-1節(jié)、字符型常量格式:a A 要求:1,單引號中的大寫字母和小寫字母代表不同的字符常量。2.單引號中的空格也是一個字符常量,但不能是兩個連續(xù)的單引號3字符常量只能用單引號括起來,不能用雙引號。 轉(zhuǎn)義字符n代表回車代表一個單引號 代表一個”代表一個雙引號注意:1 轉(zhuǎn)義字符常量,如141只代表一個字符2 反斜線后的8進

43、制數(shù)可以不用0開頭。如1中所講的141就是一個8進制數(shù)。01413 反斜線后的16進制數(shù)只可以用x開頭,不可以用X開頭。字符串常量 格式:由雙引號括起來的一串字符。同時也要知道“A”和A是不一樣的?!癆” A ACSII碼A 65 a 97a-A= 326.2節(jié)、字符變量格式:char a=s6.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 Main()Char ch; int I;For(i=0;i26:i+) Ch=i+65;If(i%2= =0)Printf(“n”);Printf(“c=%c,ASCII=%d”,ch,ch);在上面的程序中有對于字符的輸入與輸出,在C語言中也有另外的輸入輸出字符的語句。輸入:變量名=getchar()輸出:putchar(變量名)第七章 函數(shù)7-1節(jié)、庫函數(shù)1.調(diào)用C語言標準庫函數(shù)時要求的include命令行 Include命令行必須以

溫馨提示

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

評論

0/150

提交評論