![C語(yǔ)言程序設(shè)計(jì)試習(xí)題及答案多套_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-4/19/8b6fbaa9-fd3d-4e12-a34c-e3a931db5676/8b6fbaa9-fd3d-4e12-a34c-e3a931db56761.gif)
![C語(yǔ)言程序設(shè)計(jì)試習(xí)題及答案多套_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-4/19/8b6fbaa9-fd3d-4e12-a34c-e3a931db5676/8b6fbaa9-fd3d-4e12-a34c-e3a931db56762.gif)
![C語(yǔ)言程序設(shè)計(jì)試習(xí)題及答案多套_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-4/19/8b6fbaa9-fd3d-4e12-a34c-e3a931db5676/8b6fbaa9-fd3d-4e12-a34c-e3a931db56763.gif)
![C語(yǔ)言程序設(shè)計(jì)試習(xí)題及答案多套_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-4/19/8b6fbaa9-fd3d-4e12-a34c-e3a931db5676/8b6fbaa9-fd3d-4e12-a34c-e3a931db56764.gif)
![C語(yǔ)言程序設(shè)計(jì)試習(xí)題及答案多套_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-4/19/8b6fbaa9-fd3d-4e12-a34c-e3a931db5676/8b6fbaa9-fd3d-4e12-a34c-e3a931db56765.gif)
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、C語(yǔ)言程序設(shè)計(jì)( 卷)考核班級(jí)學(xué)生數(shù) 印數(shù) 考核方式 閉卷 考核時(shí)間 120 分鐘 一、基礎(chǔ)知識(shí)(20項(xiàng),共40分) 1一個(gè)C語(yǔ)言程序是由( ) 組成的。 A主程序 B子程序 C函數(shù) D過(guò)程 2轉(zhuǎn)換說(shuō)明符%x的輸出形式是( )。 A十進(jìn)制 B八進(jìn)制 C十六進(jìn)制 D二進(jìn)制 3若a、b均為int型變量,且a=100,則關(guān)于循環(huán)語(yǔ)句for(b=100;a!=b;+a,+b) printf ( “ -“) ;的正確說(shuō)法是( ) 。 A循環(huán)體只執(zhí)行一次 B死循環(huán) C循環(huán)體一次也不執(zhí)行 D輸出- 4若x、y、z均為int 型變量,則執(zhí)行下列語(yǔ)句后的z值為 ( )。 x=1; y=2; z=3; z=(x&
2、gt;y)z :y ; z = (z<y)z:x; A1 B4 C2 D3 5下面標(biāo)識(shí)符中,合法的用戶(hù)標(biāo)識(shí)符為( )。 AP#Ad B12a Cchar D_int 6 A + 3 的結(jié)果是( )。 AA BD的ASC碼 C65 D3 7語(yǔ)句char str20;說(shuō)明str是一個(gè)字符串,最多能表示 ( ) 。 A20個(gè)字符 B19個(gè)字符 C18個(gè)字符 D21個(gè)字符 8將int 型變量n轉(zhuǎn)換成float型變量的方法是 ( )。 Afloat n B(float)n Cfloat(n) D21個(gè)字符 9以下不正確的描述是 ( )。 A 使用while和do-while循環(huán)時(shí),循環(huán)變量初始化的
3、操作應(yīng)在循環(huán)語(yǔ)句之前完成 B while循環(huán)是先判斷表達(dá)式后執(zhí)行循環(huán)體語(yǔ)句 C do-while和for循環(huán)均是先執(zhí)行循環(huán)體語(yǔ)句,后判斷表達(dá)式 D for、while、do-while循環(huán)中的循環(huán)體均可以由空語(yǔ)句構(gòu)成 10在循環(huán)中使用break 語(yǔ)句的功能是( )。 A 使程序的執(zhí)行跳出break所在的那一重循環(huán) B 使程序執(zhí)行結(jié)束 C 跳出包含此break語(yǔ)句的所有循環(huán) D 終止本次循環(huán),繼續(xù)下次循環(huán) 11下面是一個(gè)初始化指針的語(yǔ)句:int *px = &a;其中指針變量的名字應(yīng)該是( )。 A*pz Ba Cpx D&a 12若指針 px為空指針,則 ( )。 Apx指向不
4、定 Bpx的值為零 Cpx的目標(biāo)為零 Dpx的地址為零 13對(duì)于語(yǔ)句int *px10,以下說(shuō)法正確的是( ) 。 A. px是一個(gè)指針,指向一個(gè)數(shù)組,數(shù)組的元素是整數(shù)型。 B. px是一個(gè)數(shù)組,其數(shù)組的每一個(gè)元素是指向整數(shù)的指針。 C. A和B均錯(cuò),但它是C語(yǔ)言的正確語(yǔ)句。 D. C語(yǔ)言不允許這樣的語(yǔ)句。 14具有相同基類(lèi)型的指針變量P和數(shù)組變量Y,下列寫(xiě)法中不合法的是 ( ) 。 AP = Y B*P = Yi CP + &Yi DP = &Y 15已知static int a=5,4,3,2,1,*p=a+3,a+2,a+1,a,*q=p,則表達(dá)式 *(p0+1)+*(q
5、+2)的值是( )。 A5 B4 C6 D7 16已知for(;n>=1;n-),下列語(yǔ)句實(shí)現(xiàn)將S2所指字符數(shù)組中前n個(gè)字符復(fù)制到S1所指字符數(shù)組中,其中代碼不正確的是( )。 A*S1+=*S2+ BS1n-1=S2n-1 C*(S1+n-1)=*(S2+n-1) D*(+S1)=*(+S2) 17調(diào)用函數(shù)的實(shí)參與被調(diào)用函數(shù)的形參應(yīng)該有如下關(guān)系( ) 。 A只要求實(shí)參和形參個(gè)數(shù)相等 B只要求形參和實(shí)參順序相同 C只要求實(shí)參和形參數(shù)據(jù)類(lèi)型相同 D上述三點(diǎn)均需具備 18聯(lián)合體成員的數(shù)據(jù)類(lèi)型 ( )。 A相同 B可以不同也可以相同 C長(zhǎng)度一樣 D是結(jié)構(gòu)體變量 19由系統(tǒng)分配和控制的標(biāo)準(zhǔn)輸出文
6、件為( ) 。 A鍵盤(pán) B磁盤(pán) C打印機(jī) D顯示器 20C語(yǔ)言標(biāo)準(zhǔn)庫(kù)函數(shù)fread(fd,buffer,n)的功能是( )。 A從文件fd中讀取長(zhǎng)度不超過(guò)n個(gè)字節(jié)的數(shù)據(jù)送入buffer指向的內(nèi)存區(qū)域 B從文件fd中讀取長(zhǎng)度不超過(guò)n-1個(gè)字節(jié)的數(shù)據(jù)送入buffer指向的內(nèi)存區(qū)域 C從文件fd中讀取長(zhǎng)度不超過(guò)n個(gè)字符送入buffer指向的內(nèi)存區(qū)域 D從文件fd中讀取長(zhǎng)度不超過(guò)n-1個(gè)字符送入buffer指向的內(nèi)存區(qū)域 二、簡(jiǎn)單程序(12項(xiàng),共30分) 21下列程序 main() int x,y,z; x=y=2;z=3; y=z+-1; printf(“%dt%dt”,x,y); y=+x-1;
7、printf(“%d t%dn”,x,y); y=z-1; printf(“%dt%dt”,z,y); y=-z-1; printf(“%dt%dn”,z,y); 運(yùn)行后輸出的數(shù)據(jù)為_(kāi)。 A. 3 1 4 2 B. 3 1 3 3 C. 2 2 3 2 D. 2 1 3 2 2 4 1 3 2 4 2 2 3 3 2 1 1 3 1 2 22.下列程序 main() int i,j;char *a,c; a=”computer”; printf(“%s”,a); for(i=0,j=7;i<j;i+,j-) c=ai; *(a+i)=*(a+j); aj=c; printf(“->
8、%sn”,a); c=aj-1,i=2+j; printf(“a%d=%cn”,i,c); 運(yùn)行后輸出的數(shù)據(jù)為_(kāi) . A. computer->computer B. computer->retupmoc a3=u a5=m C. computer->retupmoc D. computer->retupmoc a4=p a2=t 23.下列程序 int sum(int n) int p=1,s=0,i; for(i=1;i<=n;i+) s+=(p*=i); return s; main() printf(“sum(5)=%dn”,sum(5); 運(yùn)行后輸出的數(shù)
9、據(jù)為_(kāi) _ A.sum(5)=151 B.sum(5)=152 C.sum(5)=153 Dsum(5)=155 24.下列程序 main() static int a=5,6,7,3,2,9; int s1,s2,i,*ptr; s1=s2=0; ptr=&a0; for(i=0;i<5;i+2=2) s1+=*(ptr+i); s2+=*(ptr+i+1); printf(“s1=%d,s2=%dn”,s1,s2); 運(yùn)行后輸出的數(shù)據(jù)為_(kāi) A.s1=18,s2=14 B.s1=14,s2=32 C.s1=14,s2=18 D.s1=15,s2=19 25.下列程序 int c
10、=1; main() static int a=5;int b=6; printf(“a=%d b=%d c=%dn”,a,b,c); func(); printf(“a=%d,b=%d,c=%dn”,a,b,c); func(); func() static int a=4;int b=10; a+=2; c+=10; b+=c; printf(“a=%d,b=%d,c=%dn”,a,b,c); 運(yùn)行后輸出的數(shù)據(jù)為_(kāi) _. A. a=5 b=6 c=1 B. a=5 b=6 c=1 a=6 b=21 c=11 a=7 b=17 c=11 a=5 b=6 c=11 a=5 b=6 c=11 a
11、=8 b=31 c=21 a=9 b=17 c=21 C. a=5 b=6 c=1 D. a=5 b=6 c=1 a=6 b=21 c=11 a=7 b=17 c=11 a=6 b=21 c=11 a=7 b=17 c=11 a=8 b=31 c=21 a=9 b=38 c=21 26已知 struct student char name; int student_n; char grade; ; struct student temp,*p=&temp; =”chou”; 則下面不正確的是_。 表達(dá)式 值 A.pname chou B.(*p)name+2 h C.
12、*pname+2 e D.*(pname+2) o 27.下列程序 #define MAX 10 main() int i,sum,a =1,2,3,4,5,6,7,8,9,10; sum=1; for(i=0;i<MAX;i+) sum-=ai; printf(“SUM=%d”,sum); 程序運(yùn)行結(jié)果是: A.SUM=55 B.SUM=-54 C.SUM=-55 D.SUM=54 28.下列程序 void inv(int*x,int n) int *p,t,*i,*j,m=(n-1)/2; i=x; j=x+n-1; p=x+m; for(;i<p;i+,j-) t=*i; *
13、i=*j; *j=t; return; main( ) static int i,a10=3,7,9,11,0,6,7,5,4,2; inv(a,10); for(i=0;i<10;i+) printf(“%d,”,ai); 程序運(yùn)行結(jié)果: A.0,2,3,4,5,6,7,7,9,11 B.11,9,7,7,6,5,4,3,2,0 C.3,7,9,11,0,6,7,5,4,2 D.2,4,5,7,6,0,11,9,7,3 29.下列程序 main() int a10,b10,*pa,*pb,i; pa=a;pb=b; for(i=0;i<3;i+,pa+,pb+) *pa=i;*p
14、b=2*i; printf(“%dt%dn”,*pa,*pb); printf(“n”); pa=&a0; pb=&b0; for(i=0;i<3;i+) *pa=*pa+i; *pb=*pb*i; printf(“%dt%dn”,*pa+,*pb+); 運(yùn)行后輸出的數(shù)據(jù)為_(kāi)。 A. 0 0 B.0 0 C. 0 0 D. 0 0 1 2 1 2 1 2 2 2 2 4 2 4 2 4 2 4 0 0 0 0 0 0 0 0 2 2 2 2 1 2 1 2 4 8 2 4 2 4 4 8 30.下列程序 copy_string(from,to) char *from,*t
15、o; while(*from) *to+=*from+; *to=0; main() static char s1 =”c_program.”; static char s280; copy_string(s1,s2); printf(“%sn”,s2); copy_string(“123”,s2); printf(“%sn”,s2); 運(yùn)行后輸出的數(shù)據(jù)為( )。 A. c_program 123 B.123 C. c_program123 D. c_program 123 31.下列程序: #include <stdio.h> main() char a40,b40; int i
16、,j; printf(“Enter the string:”); scanf(“%s”,a); i=j=0; while(ai!=0) if(!(ai>=0&&ai<=9) bj=ai; j+; +i; bj=0; printf(“%s”,b); 運(yùn)行后輸出的結(jié)果是( ) 。 A. 把鍵盤(pán)輸入的字符串顯示在屏幕上 B. 把鍵盤(pán)輸入的字符串中的數(shù)字字符刪掉,然后顯示該字符串 C. 把鍵盤(pán)輸入的字符串中的字符0和9刪掉,然后顯示該字符串 D. 只保留由鍵盤(pán)輸入的字符串中的字母數(shù)字,然后顯示該字符串 32下列程序 #include<stdio.h> main(
17、) char a80; int i,j; printf(“Enter the string:”); scanf(“%s”,a); i=0; while(ai!=0) if(ai>=A&&ai<=Z) ai=ai-A+a; printf(“%s”,a); 運(yùn)行后輸出的結(jié)果是( )。 A. 把鍵盤(pán)輸入的字符串中的大寫(xiě)字母變換成小寫(xiě)字母,然后顯示變換后的字符串。 B. 把鍵盤(pán)輸入的字符串中的數(shù)字字符刪除掉,然后顯示該字符串。 C. 把鍵盤(pán)輸入的字符串中的小寫(xiě)字母變換成大寫(xiě)字母,然后顯示變換后的字符串。 D. 把鍵盤(pán)輸入的字符串原封不動(dòng)地顯示在屏幕上。 三、程序填空題(每題
18、各有5個(gè)空欄,在閱讀和理解原題程序的基礎(chǔ)上,在空欄處填入適當(dāng)?shù)淖址?、語(yǔ)句,以構(gòu)成一個(gè)正確的C語(yǔ)言程序。每空欄填對(duì)得3分,兩大題共10個(gè)空欄,全填對(duì)得30分。) 1、一個(gè)整數(shù)稱(chēng)為完全平方數(shù),是指它的值是另一個(gè)整數(shù)的平方。如81是個(gè)完全平方數(shù),因?yàn)樗?的平方。下列程序是在三位的正整數(shù)中尋找符合下列條件的整數(shù):它既是完全平方數(shù),且三位數(shù)字中又有兩位數(shù)字相同:例如144(12*12)、676(26*26)等,從程序中找出并輸出所有滿(mǎn)足上述條件的三位數(shù)。 程序如下: main() int n,k,a,b,c; for(k=1; ;k+) _ if(n<100) _ if(n<999) _
19、a=n/100; b=_ c=n%10, if(flag(a,b,c) printf(“n=%d=%d*%dn”,n,k,k); flag_ return(!(x-y)*(x-z)*(y-z); 試題二 以下程序所列函數(shù)replace(char *s1,char *s2,char str1,char *str2)的功能是將已知字符串s1中的所有與字符串str1相同的子串替換成字符串str2,并將替換后所生成的新的字符串存于字符數(shù)組s2中。 說(shuō)明:生成字符串s2的過(guò)程是一個(gè)循環(huán),順序訪問(wèn)字符串s1的每個(gè)字符;當(dāng)從某個(gè)字符開(kāi)始不能構(gòu)成與str1相同的子字符時(shí),就把該字符拷貝到數(shù)組s2,當(dāng)從某個(gè)字符
20、開(kāi)始能構(gòu)成一個(gè)與str1相同的子字符串時(shí),就將字符串str2的各字符拷貝到字符數(shù)組s2,并繼續(xù)訪問(wèn)字符串s1中那個(gè)子串之后的字符,直至字符串s1被訪問(wèn)完畢,字符復(fù)制即告結(jié)束。 下列程序運(yùn)行的結(jié)果是輸出: ABCXYZdefg abABCXYZd abab 程序如下: replace(char *s1,char *s2,char *str1,char *str2) char *t0,*t1,*t2; while( ) for(t0=s1,t1=str1;*t1!=0&& ;t0+,t1+); if(*t1!=0) *s2+= ; else for(t1=str2;*t1!=0;)
21、 *s2+= ; ; *s2=0; main() char s1=”abcdefg ababcd abab.”; char s280; replace(s1,s2,”abc”,”ABCXYZ”); printf(“%sn”,s2); 參考答案 第一卷 一基礎(chǔ)知識(shí)(20項(xiàng),共40分) 1.C 2.C 3.C 4.A 5.D 6.B 7.B 8.B 9.C 10.A 11.C 12.B 13.B 14.D 15.A 16.D 17.D 18.B 19.D 20.A 二簡(jiǎn)單程序 21.C 22.B 23.C 24.C 25.A 26.B 27.B 28.D 29.A 30.D 31.B 32.A 第
22、二卷 試題一:n=k*k continuebreakn%100/10或(n-100*a)/10或n/10-(n/100)*10int x,int y,int z 試題二: *s1或s1!=0 *t0=*t1或*t1=*t0 *s1+ *t1+ s1=t0或s1=s1+strlen(str1) C語(yǔ)言程序設(shè)計(jì)( 卷)考核班級(jí) 學(xué)生數(shù) 印數(shù) 考核方式 閉卷 考核時(shí)間 120 分鐘 (本試卷包括第一卷和第二卷,答卷時(shí)間總共120分鐘) 第一卷 說(shuō)明:(1)第一卷全部為選擇題,每題可供選擇的答案中,只有一個(gè)正確答案。 (2)答本卷的題目時(shí),要在標(biāo)準(zhǔn)答題紙上編號(hào)對(duì)應(yīng)的欄口中,用鉛筆將正確答案涂黑。在試題
23、上直接勾劃不得分。 (3)本卷共分70分,其中第126題每題2分,第2732題每題3分。 第一部分:基礎(chǔ)知識(shí)(20題,共40分) 1、一個(gè)C語(yǔ)言的源程序中,( ) 。 (A)必須有一個(gè)主函數(shù) (B)可以有多個(gè)主函數(shù) (C)必須有主函數(shù)和其他函數(shù) (D)可以沒(méi)有主函數(shù) 2、下列數(shù)據(jù)中,為字符串常量的是( ) 。 (A)A (B)“house” (C)How do you do (D)$abc 3、若有定義:int a=8,b=5,c;,執(zhí)行語(yǔ)句c=a/b十0.4;后,c的值為( ) 。 (A)1.4 (B)1 (C)2.0 (D)2 4、設(shè)有int x=11;則表達(dá)式(x+*l/3)的值為( )
24、。 (A)3 (B)4 (C)11 (D)12 5、執(zhí)行x=5>1+2&&2|2*4<4-!0后,x的值為( )。 (A)-l (B)O (C)1 (D)5 6、以下變量x、y、z均為double類(lèi)型且已正確賦值,不能正確表示數(shù)學(xué)式子:(x)/(y×z)的c語(yǔ)言表達(dá)式是( )。 (A)x/y*z (B)x*(1/(y*z) (C) x/y*1/z (D)x/y/z 7、設(shè)有以下說(shuō)明語(yǔ)句 struct ex int x;float y; char z;example; 則下面的敘述不正確的是( )。 (A)struct是結(jié)構(gòu)體類(lèi)型的關(guān)鍵字 (B)exampl
25、e是結(jié)構(gòu)體類(lèi)型名 (C)x,y,z都是結(jié)構(gòu)體成員名 (D)struct ex是結(jié)構(gòu)體類(lèi)型 8、假定w、x、y、z、m均為int型變量;有如下程序段: w=1;x=2;y=3;z=4; m=(w<x)w:x; m=(m<y)m:y; m=(m<z)m:z; 則該程序段執(zhí)行后,m的值是( )。 (A)4 (B)3 (C)2 (D) 1 9、在調(diào)用函數(shù)時(shí),如果實(shí)參是簡(jiǎn)單變量,它與對(duì)應(yīng)形參之間的數(shù)據(jù)傳遞方式是( ) 。 (A) 地址傳遞 (B) 單向值傳遞 (C) 由實(shí)參傳給形參,再由形參傳回實(shí)參 (D) 傳遞方式由用戶(hù)指定 10、以下定義語(yǔ)句中,錯(cuò)誤的是 ( )。 (A)int a
26、=1,2; (B) char *a3; (C)char s10="text"; (D) int n=5,an; 11、下列程廳執(zhí)行后的輸出結(jié)果是( ) 。 main() char arr24; strcpy(arr,"you");strcpy(arr1,"me"); arr03='&'; printf("%sn",arr); (A)you&me (B)you (C) me (D)err 12、標(biāo)有/* */的語(yǔ)句的執(zhí)行次數(shù)是( )。 int y,i; for(i=O;i<20;
27、i+) if(i%2=0) continue; y+=i; /* */ (A) 20 (B) 19 (C) 10 (D) 9 13、若用數(shù)組名作為函數(shù)調(diào)用的實(shí)參,傳遞給形參的是( )。 (A) 數(shù)組的首地址 (B) 數(shù)組第一個(gè)元素的值 (C) 數(shù)組中全部元素的值 (D) 數(shù)組元素的個(gè)數(shù) 14、下列語(yǔ)句執(zhí)行后的結(jié)果是( )。 y=5;p=&y;x=*p+; (A) x=5,y=5 (B) x=5,y=6 (C) x=6,y=5 (D) x=6,y=6 15、執(zhí)行下面的語(yǔ)句后,表達(dá)式*(p0+1)+*(q+2)的值為 ( )。 int a=5,4,3,2,1,*p=a+3,a+2,a+1,
28、a,*q=p; (A) 8 (B) 7 (C) 6 (D) 5 16、經(jīng)過(guò)下面的語(yǔ)句后 int i,a10,*p; 定義后,下列語(yǔ)句中合法的是 ( )。 (A) p=100: (B) p=a5; (C) p=a+2; (D) p=&(i+2); 17、若有以下說(shuō)明和語(yǔ)句,則對(duì)pup中sex域的正確引用方式是( )。 struct pupil char name20; int sex; pup,*p; p=&pup; (A)p.pup.sex (B)p->pup.sex (C)(*p).pup.sex (D)(*p).sex 18、若已定義了如下的共用體類(lèi)型變量x,則x所占
29、用的內(nèi)存字節(jié)數(shù)為( ) 。 union data int i; char ch; double f; x; (A) 7 (B) 11 (C)8 (D) 10 19、若有下面的說(shuō)明和定義: struct test int m1;char m2;float m3; union uu char u15;int u22;ua; myaa; 則sizeof(struct test)的值是 ( ) 。 (A) 12 (B) 16 (C) 14 (D)9 20、若要打開(kāi):A盤(pán)上user子目錄下名為abc.txt的文本文件進(jìn)行讀、寫(xiě)操作,下面符合此要求的函數(shù)調(diào)用是( ) 。 (A)fopen("A:
30、userabc.txt","r") (B) fopen("A:userabc.txt","r+") (C)fopen("A:userabc.txt","rb") (D) fopen("A:userlabc.txt","w") 第二部分:簡(jiǎn)單程序(12題,共30分) 21、以下程序的運(yùn)行情況是( ) 。 main() int i=1,sum=0; while(i<10) sum=sum+1; i+; printf("i=%d,sum
31、=%d",i,sum); (A) i=10,sum=9 (B) i=9,sum=9 (C) i=2,sum=l (D) 運(yùn)行出現(xiàn)錯(cuò)誤 22、若輸入B,以下程序的運(yùn)行結(jié)果為( ) 。 main() char grade; scanf("%c",&grade); switch(grade) case 'A':printf(">=85"); case 'B': case 'C':printf(">=60"); case 'D':printf(&qu
32、ot;<60"); default:printf("error"); (A)>=85 (B)>=60 (C)>=60<60error (D) error 23.有如下程序 main() int x=23; do printf("%d",x-);while(!x); 該程序的執(zhí)行結(jié)果是( ) 。 (A)321 (B)23 (C)不輸出任何內(nèi)容 (D)陷入死循環(huán) 24.有如下程序 int func(int a,int b) return (a+b); main() int x=2,y=5,z=8,r; r=func(f
33、unc(x,y),z); printf("%dn",r); 該程序的輸出結(jié)果是 ( ) 。 (A) 12 (B) 13 (C)14 (D)15 25.以下程序的輸出結(jié)果是( ) 。 main() int a,b; for(a=1,b=1;a<=100;a+) if(b>=10) break; if(b%3=1) b+=3;continue; printf("%dn",a); (A)101 (B) 6 (C)5 (D)4 26.以下程序的輸出結(jié)果是( ) 。 int a,b; void fun() a=100;b=200; main() int
34、 a=5,b=7; fun(); printf("%d%dn",a,b); (A) 100200 (B)57 (C)200100 (D)75 27.下面的程序執(zhí)行后,文件testt中的內(nèi)容是 ( ) 。 #include <stdio.h> void fun(char *fname,char *st) FILE *myf; int i; myf=fopen(fname,"w"); for(i=0;i<strlen(st);i+)fputc(sti,myf); fclose(myf); main() fun("test.t&qu
35、ot;,"new world");fun("test.t","hello,"); (A) hello, (B)new,worldhello (C) new,world (D)hello,rld 28.以下程序的運(yùn)行結(jié)果是( ) 。 #include <stdio.h> main() static char s30="abcdefg"; static char t="abcd"; int i,j; i=0; while(si!='0') i+; j=0; whi1e(t
36、j!='0') si+j=tj; j+; si+j='0'; printf("%sn",s); (A) abcdabcdefg (B)abcdefg (C)abcd (D)abcdefgabcd 29.有如下程序 main() char ch25="6937","8254",*p2; int i, j, s=0; for(i=0;i<2;i+) pi=chi; for(i=0;i<2;i+) for(j=0;pij>'0';j+=2) s=10*s+pij-'0
37、'; printf("%dn",s); 該程序的輸出結(jié)果是( ) 。 (A)69825 (B)63825 (C)6385 (D)693825 30.若已建立如下圖所示的單向鏈表結(jié)構(gòu) 在該鏈表中,指針p,s分別指向圖中所示結(jié)點(diǎn),則不能將s所指的結(jié)點(diǎn)插入到鏈表末尾仍構(gòu)成單向鏈表的語(yǔ)句組是( ) 。 (A) p=p->next;s->next=p;p->next=s; (B) p=p->next;s->next=p->next;p->next=s; (C) s->next=NULL;p=p->next;p->ne
38、xt=s (D) p=(*p).next;(*s).next=(*p).next; (*p).next =s; 31.請(qǐng)選擇正確的運(yùn)行結(jié)果填入( ) 中。 include <stdio.h> int x,y; num() int a=15,b=10; int x,y; y=a-b; y=a+b; return; main() int a=7,b=5; x=a+b; y=a-b; num(); printf("%d,%dn",x,y); (A) 12,2 (B) 5,25 (C)2,12 (D)不確定 32.以下程序的輸出結(jié)果是( ) 。 #define M(x,
39、y,z) x*y+z main() int a=1,b=2,c=3; printf("%dn",M(a+b,b+c,c+a); (A)19 (B)17 (C)15 (D)12 第二卷 說(shuō)明:(1)第二卷含兩大題,均屬填空題,每題各有5個(gè)空欄,在閱讀和理解原題程序的基礎(chǔ)上,在空欄處填入適當(dāng)?shù)淖址⒄Z(yǔ)句,以構(gòu)成一個(gè)正確的C語(yǔ)言程序。 (2)每空欄填對(duì)得3分,兩大題共10個(gè)空欄,全對(duì)得30分。 試題一: 有一函數(shù),實(shí)參傳來(lái)一個(gè)字符串,統(tǒng)計(jì)此字符串中字母、數(shù)字、空各和其他字符的個(gè)數(shù),在主函數(shù)中輸入字符串以及輸出上述的結(jié)果。 int letter,digit,space,others
40、; /*是全局變量*/ main() int count(char _(1)_); char text80; printf("nlnput string:n"); _(2)_; printf("string:"); puts(text); letter=O; digit=O; space=O; others=O; _(3)_; printf("letter:%d,digit:%d,space:%d,other:%dn",letter,digit, space,others); int count(char str) int i; fo
41、r(i=O;stri!='0';i+) if(_(4)_>='a'&&stri<='z')|(stri>='A'&&stri<='Z') letter+; else if(stri>='0'&&stri<='9') digit+; else if(stri=' ') space+; else _(5)_; 試題二: 把下列程序補(bǔ)充完整,實(shí)現(xiàn)兩個(gè)字符串的比較,即自己寫(xiě)個(gè)strcmp函數(shù),
42、函數(shù)原型 為:int strcmp(char *p1,char *p2) 設(shè)p1指向字符串s1,p2指向字符串s2。要求:當(dāng)s1=s2時(shí),返回值為0。當(dāng)sl<>s2時(shí),返回它們兩者的第一個(gè)不同的字符的ASCII碼差值(如“BOY”與“BAD”,第二個(gè)字母不同,“O”與“A”之差為79-65=14);如果s1>s2,則輸出正值;如果sl<s2,則輸出負(fù)值。 main() int m; char _(6)_,str220,*p1,*p2; printf("Input two string:n"); scanf("%s",strl);
43、scanf("%s",_(7)_); p1=&strl0; p2=_(8)_; m=strcmp(p1,p2); printf("result:%d,n",m); strcmp(char _(9)_,char *p2) /*兩個(gè)字符串比較的函數(shù)*/ int i; _(10)_; while(*(pl+i)=*(p2+i) if(*(p1+i+)='0') return(0); return(*(pl+i)-*(p2+i); /*不等時(shí)返回結(jié)果為第一個(gè)不等字符ASCII碼的差值*/ 參考答案 第一卷 第一部分:基礎(chǔ)知識(shí) 1.A 2.
44、B 3.B 4.A 5.C 6.A 7.B 8.D 9.B 10.D 11.A 12.C 13.A 14.A 15.D 16.C 17.D 18.C 19.A 20.B 第二部分:簡(jiǎn)單程序 21.D 22.C 23.B 24.D 25.D 26.B 27.A 28.D 29.C 30.A 31.A 32.D 第二卷 試題一: 1、str 2、gets(text)或scanf(“%s”,text) 3、count(text) 4、stri 5、others+ 試題二:6、str120 7、str2 8、&str20 9、*p1 10、i=0 C語(yǔ)言程序設(shè)計(jì)( 卷)考核班級(jí) 學(xué)生數(shù) 印數(shù)
45、考核方式 閉卷 考核時(shí)間 120 分鐘 (本試卷包括第一卷和第二卷,答卷時(shí)間總共120分鐘) 第一卷 本卷共70分,其中第126題每題2分,第2732題每題3分。 第一部分:基礎(chǔ)知識(shí) 1、 一個(gè)C語(yǔ)言程序是從_開(kāi)始執(zhí)行的。 A、程序中的第一個(gè)語(yǔ)句 B、包含文件(頭文件)的第一個(gè)函數(shù) C、名為main的函數(shù) D、程序中的第一個(gè)函數(shù) 2、 語(yǔ)句while(!E) 中的條件!E等價(jià)于_ A、E=0 B、E!=1 C、E!=0 D、E 3、 若有以下類(lèi)型說(shuō)明語(yǔ)句: char w; int x; float y; double z; 則表達(dá)式w*x+z-y的結(jié)果為_(kāi)類(lèi)型。 A、float B、doubl
46、e C、int D、char 4、 一個(gè)函數(shù)返回值的類(lèi)型是由_決定的 A、return語(yǔ)句中的表達(dá)式類(lèi)型; B、定義函數(shù)時(shí)所指定的函數(shù)類(lèi)型 C、調(diào)用該函數(shù)的函數(shù)的類(lèi)型 D、調(diào)用函數(shù)時(shí)臨時(shí)類(lèi)型 5、 設(shè)x、y、z和k都是int型變量,則執(zhí)行下列表達(dá)式后,變量x的值為_(kāi). x=(y=4,z=16,k=32); A、4 B、16 C、32 D、52 6、 有以下程序: main( ) int i=10,j=1; printf(“%d,%dn”,i-,+j); 執(zhí)行后輸出的結(jié)果是_ A、9,2 B、10,2 C、9,1 D、10,1 7、 以下指針s的指字符串的長(zhǎng)度為_(kāi) char *s=”tName Addressn”; A、19 B、15 C、18 D、-12 8、 設(shè)有語(yǔ)句int a=3;則執(zhí)行了語(yǔ)句a+=a-=a*a;后,變量a的
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國(guó)煙草機(jī)配件數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)柔韌性聚合物水泥防水膠數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)建筑外窗抗風(fēng)強(qiáng)度設(shè)計(jì)系統(tǒng)數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)小型農(nóng)具數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)實(shí)驗(yàn)儀器數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025年中國(guó)雕花皮帶市場(chǎng)調(diào)查研究報(bào)告
- 2025年中國(guó)碳烤腿肉蔥串市場(chǎng)調(diào)查研究報(bào)告
- 河北學(xué)校人造草坪施工方案
- 2025年中國(guó)氟硅酸鹽市場(chǎng)調(diào)查研究報(bào)告
- 鋼筋加工工廠化施工方案
- 《生產(chǎn)與運(yùn)作管理 第4版》課件 第1、2章 概論、需求預(yù)測(cè)與管理
- 2025年中考數(shù)學(xué)一輪教材復(fù)習(xí)-第六章 圓 與圓有關(guān)的概念及性質(zhì)
- 2025年村兩委工作計(jì)劃
- 事業(yè)單位考試職業(yè)能力傾向測(cè)驗(yàn)(社會(huì)科學(xué)專(zhuān)技類(lèi)B類(lèi))試題及答案指導(dǎo)(2025年)
- 《VAVE價(jià)值工程》課件
- 四川政采評(píng)審專(zhuān)家入庫(kù)考試基礎(chǔ)題復(fù)習(xí)試題及答案(一)
- 中小學(xué)反詐宣傳課件
- 分享二手房中介公司的薪酬獎(jiǎng)勵(lì)制度
- 安徽省2022年中考道德與法治真題試卷(含答案)
- GB 4793-2024測(cè)量、控制和實(shí)驗(yàn)室用電氣設(shè)備安全技術(shù)規(guī)范
- 廣電雙向網(wǎng)改造技術(shù)建議書(shū)
評(píng)論
0/150
提交評(píng)論