C語(yǔ)言習(xí)題集及答案_第1頁(yè)
C語(yǔ)言習(xí)題集及答案_第2頁(yè)
C語(yǔ)言習(xí)題集及答案_第3頁(yè)
C語(yǔ)言習(xí)題集及答案_第4頁(yè)
C語(yǔ)言習(xí)題集及答案_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第一單元程序設(shè)計(jì)和語(yǔ)言一、 選擇題1 C語(yǔ)言的基本構(gòu)成單位是:A。A. 函數(shù)B. 函數(shù)和過(guò)程C. 超文本過(guò)程D. 子程序2 一個(gè)C語(yǔ)言程序總是從B開(kāi)始執(zhí)行。A. 主過(guò)程 B. 主函數(shù) C. 子程序 D.主程序3 C語(yǔ)言的程序一行寫(xiě)不下時(shí),可以C。A. 用逗號(hào)換行B. 用分號(hào)換行C. 在任意一空格處換行D. 用回車(chē)符換行4 以下敘述不正確的是:C。A. 在C程序中,語(yǔ)句之間必須要用分號(hào)""分隔B. 若a是實(shí)型變量,C程序中a=10是正確的,因?yàn)閷?shí)型變量中允許存放整型數(shù)C. 在C程序中,無(wú)論是整數(shù)還是實(shí)數(shù)都能正確無(wú)誤地表示D. 在C程序中,%是只能用于整數(shù)運(yùn)算的運(yùn)算符5 以下不

2、正確的C語(yǔ)言標(biāo)識(shí)符是 D。6 下列字符串是標(biāo)識(shí)符的是:A。A. _HJB. 9_studentC. longD. LINE 17 以下說(shuō)法中正確的是:C。A. C語(yǔ)言程序總是從第一個(gè)定義的函數(shù)開(kāi)始執(zhí)行B. 在C語(yǔ)言程序中,要調(diào)用的函數(shù)必須放在main()函數(shù)中定義C. C語(yǔ)言程序總是從main()函數(shù)開(kāi)始執(zhí)行D. C語(yǔ)言程序中的main()函數(shù)必須放在程序的開(kāi)始部分8 不合法的常量是:D。A. 2B. ""C. 3D. 4839 已知各變量的類(lèi)型說(shuō)明如下,則以下不符合C語(yǔ)言語(yǔ)法的表達(dá)式是:A。int k,a,b;unsigned long w=5;double x=1.42

3、2;A. x%(-3)B. w+=-2C. k=(a=2,b=3,a+b)D. a+=a=+(b=4)*(a=3)10 在C語(yǔ)言中,字符型數(shù)據(jù)在內(nèi)存中以D形式存放。A. 原碼 B. BCD碼 C. 反碼 D. ASCII碼11 若有定義:int a=7; float x=2.5; y=4.7;則表達(dá)式x+a%3*(int)(x+y)%2/4的值是:A。B. C. 3.50000012 設(shè)有說(shuō)明:char w; int x; float y; double z;則表達(dá)式w*x+z-y值的數(shù)據(jù)類(lèi)型為:D。A. floatB. charC. intD. double13 以下bC是不正確的轉(zhuǎn)義字符。

4、 A. '' B. '' C. '081' D. '0'14 若x為int型變量,則執(zhí)行以下語(yǔ)句后,x的值為B。x=6;x+=x-=x*x; A. 36 B. -60 C. 60 D. -2415 字符串""ABC""的長(zhǎng)度是B。A. 11 B. 7 C. 5 D. 3二、 填空題1 一個(gè)函數(shù)由兩部分組成,它們是函數(shù)首部和函數(shù)體。2 一個(gè)C源程序至少包含一個(gè)主函數(shù),即main函數(shù)。3 設(shè)int a=12; 則表達(dá)式a/=a+a的值是。4 表達(dá)式x=(a=3,6*a)和表達(dá)式x=a=3,6*a

5、分別是表達(dá)式和表達(dá)式,兩個(gè)表達(dá)式執(zhí)行完的結(jié)果分別是和 ,x值分別是和。5 在C語(yǔ)言中,實(shí)數(shù)有兩種表示形式,即和。6 在C語(yǔ)言中,運(yùn)算符的優(yōu)先級(jí)最小的是運(yùn)算符。1. A 2. B 3. C 4. C 5. D 6. A 7. C 8. D 9. A 10. D 11. A12. D 13. BC 14. B 15. B一、 填空1 函數(shù)首部、函數(shù)體2 主函數(shù)、main函數(shù)3 04 賦值、逗號(hào)、18、18、18、35 浮點(diǎn)型、指數(shù)型6 逗號(hào)第二單元順序程序設(shè)計(jì)一、 選擇題1 若m為float型變量,則執(zhí)行以下語(yǔ)句后的輸出為。m=1234.123;printf("%n",m);p

6、rintf("%n",m); A. 1234.123 B. 1234.123 C.2 若x,y,z均為int型變量,則執(zhí)行以下語(yǔ)句后的輸出為。x=(y=(z=10)+5)-5;printf("x=%d,y=%d,z=%dn",x,y,z);y=(z=x=0,x+10);printf("x=%d,y=%d,z=%dn",x,y,z); A. X=10,Y=15,Z=10B. X=10,Y=10,Z=10 X=0,Y=10,Z=0X=0,Y=10,Z=10 C. X=10,Y=15,Z=10D. X=10,Y=10,Z=10X=10,Y=

7、10,Z=0X=0,Y=10,Z=03 若x是int型變量,y是float型變量,所用的scanf調(diào)用語(yǔ)句格式為: scanf("x=%d,y=%f",&x,&y);則為了將數(shù)據(jù)10和分別賦給x和y,正確的輸入應(yīng)是:。 A. x=10,y=66.6<回車(chē)> B. 10 66.6<回車(chē)>C. 10<回車(chē)>66.6<回車(chē)> D. x=10<回車(chē)>y=66.6<回車(chē)>4 已知有變量定義:int a;char c;用scanf(“%d%c”,&a,&c);語(yǔ)句給a和c輸入數(shù)據(jù),使

8、30存入a,字符b存入c,則正確的輸入是:。A. 30b<回車(chē)> B. 30 b<回車(chē)>C. 30<回車(chē)>b<回車(chē)> D. 30b<回車(chē)>5 已知有變量定義:double x;long a; 要給a和x輸入數(shù)據(jù),正確的輸入語(yǔ)句是。若要輸出a和x的值,正確的輸出語(yǔ)句。A. scanf(“%d%f”,&a,&x); B. scanf(“%ld%f”,&a,&x); printf(“%d,%f”,a,x); printf(“%ld,%f”,a,x);C. scanf(“%ld%lf”,&a,&

9、x); D. scanf(“%ld%lf”,&a,&x); printf(“%ld,%lf”,a,x); printf(“%ld,%f”,a,x);6 若有定義double x=1,y;則以下的語(yǔ)句執(zhí)行的結(jié)果是。y=x+3/2; printf(“%f”,y); A.2.500000 B.2.5 C.2.000000 D.2 7 若a為整型變量,則以下語(yǔ)句。a=-2L; printf("%dn",a);A. 賦值不合法B. 輸出為不確定的值C. 輸出值為-2D. 輸出值為2二、 讀程序?qū)懡Y(jié)果1 main() int x,y;scanf("%2d%*2

10、d%ld",&x,&y);printf("%dn",x+y);執(zhí)行時(shí)輸入:1234567 12%*5672 main() int x=4,y=0,z; x*=3+2; printf("%d",x);x*=y=z=4; printf("%d",x); 3 main() float x; int i; x=3.6; i=(int)x; printf("x=%f,i=%d",x,i);4 main() int a=2; a%=4-1; printf("%d, ",a); a+

11、=a*=a-=a*=3; printf("%d",a);5 main() int x=02,y=3; printf("x=%d,y=%d",x,y);6 main() char c1=6,c2=0; printf("%c,%c,%d,%dn",c1,c2,c1-c2,c1+c2);7 main() int x,y,z; x=y=1; z=+x-1; printf("%d,%dn",x,z); z+=y+; printf("%d,%dn",y,z); 三、 填空題1 在C語(yǔ)言中,字符型數(shù)據(jù)和整型數(shù)

12、據(jù)之間可以通用,一個(gè)字符數(shù)據(jù)既能以輸出,也能以輸出。2 "%-ms"表示如果串長(zhǎng)小于m,則在m列范圍內(nèi),字符串向靠,補(bǔ)空格。3 printf函數(shù)的“格式控制”包括兩部分,它們是和。4 編寫(xiě)程序求矩形的面積和周長(zhǎng),矩形的長(zhǎng)和寬由鍵盤(pán)輸入,請(qǐng)?zhí)羁铡?include <stdio.h>void main()float l,w;printf(“please input length and width of the rectanglen”);scanf(“%f%f”,&l,&w);area=;girth=;5 編寫(xiě)程序,輸入一個(gè)數(shù)字字符(09)存入變量c

13、,把c轉(zhuǎn)換成它所對(duì)應(yīng)的整數(shù)存入n,如:字符0所對(duì)應(yīng)的整數(shù)就是0。請(qǐng)?zhí)羁?。void main()char c;printf(“please input a char:n”);c=;n=;printf(,c,n);四、 編程1 將華氏溫度轉(zhuǎn)換為攝氏溫度和絕對(duì)溫度的公式分別為: c=(f-32) (攝氏溫度) k=273.16+c (絕對(duì)溫度)請(qǐng)編程序:當(dāng)給出f時(shí),求其相應(yīng)攝氏溫度和絕對(duì)溫度。測(cè)試數(shù)據(jù): f=34 f=1002 寫(xiě)一個(gè)程序把極坐標(biāo)(r,) (之單位為度)轉(zhuǎn)換為直角坐標(biāo)( X,Y)。轉(zhuǎn)換公式是:測(cè)試數(shù)據(jù): r=10 =45° r=20 =90°3 寫(xiě)一個(gè)程序,按如下

14、格式輸出數(shù)據(jù)。name number math english computerzhanghua 9901 80.50 87.0 80lina 9902 70.00 80.0 90wanggang 9903 87.00 76.0 78 4 輸入3個(gè)雙精度實(shí)數(shù),分別求出它們的和、平均值、平方和以及平方和的開(kāi)方,并輸出所求出各個(gè)值。5 輸入一個(gè)3位整數(shù),求出該數(shù)每個(gè)位上的數(shù)字之和。如123,每個(gè)位上的數(shù)字和就是1+2+3=6。第三單元分支程序設(shè)計(jì)一、 選擇題1 若x=0,y=3,z=3,以下表達(dá)式值為0的是CA.!x B.x<y? 1:0 C. x%2&&y=z D. y=x

15、|z/32 以下運(yùn)算符中優(yōu)先級(jí)最低的運(yùn)算符為E,優(yōu)先級(jí)最高的為B。 A. && B. ! C. != D. | E. ?: F. =3 若w=1,x=2,y=3,z=4,則條件表達(dá)式w<x?w:y<z?y:z的結(jié)果為。 A. 4 B. 3 C. 2 D. 14 若w,x,z均為int型變量,則執(zhí)行以下語(yǔ)句后的輸出為。w=3;z=7;x=10;printf("%dn",x>10?x+100:x-10);printf("%dn",w+|z+);printf("%dn",!w>z);printf(&q

16、uot;%dn",w&&z); A. 0 B. 1 C. 0 D. 0 1 1 1 1 1 1 0 0 1 1 1 05 分析以下程序, 下列說(shuō)法正確的是。main() int x=5,a=0,b=0;if(x=a+b) printf("* * * *n");else printf("# # # #n"); A. 有語(yǔ)法錯(cuò),不能通過(guò)編譯 B. 通過(guò)編譯,但不能連接C. 輸出* * * * D. 輸出# # # #6 分析以下程序, 下列說(shuō)法正確的是。main() int x=5,a=0,b=3;if(x=a+b) printf(

17、"* * * *n");else printf("# # # #n"); A. 有語(yǔ)法錯(cuò),不能通過(guò)編譯 B. 通過(guò)編譯,但不能連接C. 輸出* * * * D. 輸出# # # #7 分析以下程序, 下列說(shuō)法正確的是。main() int x=0,a=0,b=0;if(x=a+b) printf("* * * *n");else printf("# # # #n"); A. 有語(yǔ)法錯(cuò),不能通過(guò)編譯 B. 通過(guò)編譯,但不能連接C. 輸出* * * * D. 輸出# # # #8 分析以下程序, 下列說(shuō)法正確的是。ma

18、in() int x=0,a=0,b=0;if(x=a+b) printf("* * * *n");else printf("# # # #n"); A. 有語(yǔ)法錯(cuò),不能通過(guò)編譯 B. 通過(guò)編譯,但不能連接C. 輸出* * * * D. 輸出# # # #二、 讀程序?qū)懡Y(jié)果1 include <stdio.h>main() int a=-1,b=4,k;k=(a+<=0)&&(!(b-<=0);printf("%d,%d,%dn",k,a,b); 2 main() int x=4,y=0,z;

19、x*=3+2; printf("%d",x); x*=(y=(z=4); printf("%d",x); 3 main() int x,y,z; x=3; y=z=4; printf("%d",(x>=z>=x)?1:0); printf("%d",z>=y && y>=x);4 main() int x=1,y=1,z=10; if(z<0)if(y>0) x=3;else x=5;printf("%dt",x);if(z=y<0) x

20、=3;else if(y=0) x=5;else x=7;printf("%dt",x);printf("%dt",z); 5 main() char x=B; switch(x) case A: printf(“It is A.”); case B: printf(“It is B.”); case C: printf(“It is C.”); default: printf(“other.”); 6 main() int x=1,y=0,a=0,b=0; switch(x) case 1: switch(y) case 0: a+;break; ca

21、se 1: b+;break; case 2: a+;b+;break; case 3: a+;b+; printf("a=%d,b=%dn",a,b); 三、 填空題1 若a=5,b=6,c=7,d=8,則表達(dá)式d=a/2&&b=c|!a的值為2 定義 int x=10,y,z;執(zhí)行y=z=x;x=y=z后,變量x的值為。3 分段函數(shù):輸入x,計(jì)算y值,輸出y,其中:x<0 y=2x+3x=0,y=0x>0,y=(x+7)/3#include <stdio.h>main()int x,y;scanf("%d",&

22、amp;x);if(x<0)(1);(2) y=0;(3) y=(x+7)/3;printf(“%d”,y);4 由鍵盤(pán)輸入三個(gè)數(shù),計(jì)算以這三個(gè)數(shù)為邊長(zhǎng)的三角形面積。 (1) main() (2) ; printf("Please enter 3 reals:n"); scanf("%f%f%f",&a,&b,&c); if( (3) ) s=(a+b+c)*0.5; s1=s*(s-a)*(s-b)*(s-c); s= (4) ; printf("nArea of the triangle is %fn"

23、;,s); (5) printf("It is not triangle!n"); 5 有一方程a+bx+c=0,a,b,c的值由鍵盤(pán)輸入,請(qǐng)編程序,打印出以下情況時(shí)方程的解。(1) a=0,b0(2) a=0,b=0,c=0(3) a=0,b=0,c0(4) a0,-4ac0(5) a0,-4ac0#include "math.h"main() float a,b,c,d,pr,pi,x1,x2; scanf("%f%f%f",&a,&b,&c); printf("a=%f,b=%f,c=%fn&q

24、uot;,a,b,c); if(a=0) if( (1) ) printf("only one solution x=%fn",-c/b); else if( (2) )printf("no solutionn"); else printf("x is any valuen"); else d=b*b-4*a*c; if( (3) ) x1=(-b+sqrt(d)/ (4) ; x2=(-b-sqrt(d)/ (5) ; printf("x1=%, x2=%n",x1,x2); else pr=-b/(2*a);

25、(6) ; printf("x1=% +%6.2fin",pr,pi); printf("x2=% -%6.2fin",pr,pi); 6 投票表決器: 輸入Y、y,打印agree 輸入N、n,打印disagree 輸入其他,打印lose main() char c; scanf("%c",&c);(1)case Y:case y: printf(“agree”); (2);case N:case n: printf(“disagree”);(3);(4):printf(“l(fā)ose”);四、 編程1 寫(xiě)一程序求y值 (x值由鍵

26、盤(pán)輸入)。2 輸入一個(gè)字符,判斷它如果是小寫(xiě)字母輸出其對(duì)應(yīng)大寫(xiě)字母;如果是大寫(xiě)字母輸出其對(duì)應(yīng)小寫(xiě)字母;如果是數(shù)字輸出數(shù)字本身;如果是空格,輸出“space”;如果不是上述情況,輸出“other”。3 有三個(gè)數(shù)a、b、c,由鍵盤(pán)輸入,輸出其中最大的數(shù)。4 輸入一個(gè)數(shù),判斷它能否被 3或者被 5整除, 如至少能被這兩個(gè)數(shù)中的一個(gè)整除則將此數(shù)打印出來(lái),否則不打印,編出程序。5 讀入1到7之間的某個(gè)數(shù),輸出表示一星期中相應(yīng)的某一天的單詞:Monday、 Tuesday等等,用switch語(yǔ)句做。6 給出一百分制成績(jī),要求輸出成績(jī)等級(jí)A,B,C,D,E,90分以上為A,8089分為B,7079分為C,6

27、069分為D,60分以下為E。7 有一函數(shù)請(qǐng)編程序計(jì)算y的值(x的值由鍵盤(pán)輸入)。第四單元循環(huán)程序設(shè)計(jì)一、 選擇題1 程序段如下:則以下說(shuō)法中正確的是:。int k=5;do k-;while(k<=0);A. 循環(huán)執(zhí)行5次 B. 循環(huán)是無(wú)限循環(huán)C. 循環(huán)體語(yǔ)句一次也不執(zhí)行 D. 循環(huán)體語(yǔ)句執(zhí)行一次2 設(shè)i和x都是int類(lèi)型,則for循環(huán)語(yǔ)句。for(i=0,x=0;i<=9&&x!=876;i+) scanf("%d",&x);A. 最多執(zhí)行10次 B. 最多執(zhí)行9次C. 是無(wú)限循環(huán) D. 循環(huán)體一次也不執(zhí)行3 下述for循環(huán)語(yǔ)句。in

28、t i,k;for(i=0,k=-1;k=1;i+,k+) printf("* * * *");A. 判斷循環(huán)結(jié)束的條件非法 B. 是無(wú)限循環(huán)C. 只循環(huán)一次 D. 一次也不循環(huán)4 程序段如下:則以下說(shuō)法中正確的是:。int k=-20;while(k=0) k=k+1;A. while循環(huán)執(zhí)行20次 B. 循環(huán)是無(wú)限循環(huán)C. 循環(huán)體語(yǔ)句一次也不執(zhí)行 D. 循環(huán)體語(yǔ)句執(zhí)行一次5 下列程序段執(zhí)行后k值為。int k=0,i,j;for(i=0;i<5;i+)for(j=0;j<3;j+)k=k+1;A.15 B. 3 C. 5 D. 86 程序段如下:則以下說(shuō)法中

29、不正確的是:。#include <stdio.h>main()int k=2,;while(k<7) if(k%2) k=k+3; printf(“k=%dn”,k);continue;k=k+1;printf(“k=%dn”,k);A. k=k+3;執(zhí)行一次 B. k=k+1;執(zhí)行2次C. 執(zhí)行后k值為7 D. 循環(huán)體只執(zhí)行一次二、 讀程序?qū)懡Y(jié)果1 main() int num=0; while(num<=2) num+; printf("%dn",num); 2 main() int i=0,s=0; do s+=i*2+1; printf("i=%d,s=%dn",i,s); i+;while(s<10);3 #include <stdio.h> main() int i,m=1; for(i=5;i>=1;i-) m=(m+1)*2;printf("m=%dn",m); 4 指出下面三個(gè)程序的功能,當(dāng)輸入為:"quert?&

溫馨提示

  • 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. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論