![C語言程序設(shè)計(jì)試題及答案_第1頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/18/79a24d9e-8a74-4ab6-aa84-fbac4c86502c/79a24d9e-8a74-4ab6-aa84-fbac4c86502c1.gif)
![C語言程序設(shè)計(jì)試題及答案_第2頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/18/79a24d9e-8a74-4ab6-aa84-fbac4c86502c/79a24d9e-8a74-4ab6-aa84-fbac4c86502c2.gif)
![C語言程序設(shè)計(jì)試題及答案_第3頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/18/79a24d9e-8a74-4ab6-aa84-fbac4c86502c/79a24d9e-8a74-4ab6-aa84-fbac4c86502c3.gif)
![C語言程序設(shè)計(jì)試題及答案_第4頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/18/79a24d9e-8a74-4ab6-aa84-fbac4c86502c/79a24d9e-8a74-4ab6-aa84-fbac4c86502c4.gif)
![C語言程序設(shè)計(jì)試題及答案_第5頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/18/79a24d9e-8a74-4ab6-aa84-fbac4c86502c/79a24d9e-8a74-4ab6-aa84-fbac4c86502c5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、C 語言程序設(shè)計(jì)( 卷)考核班級(jí)學(xué)生數(shù)印數(shù)考核方式閉卷 考核時(shí)間120 分鐘(本試卷包括第一卷和第二卷,答卷時(shí)間總共120 分鐘 )第一卷第一部分:基礎(chǔ)知識(shí)(20 項(xiàng),共 40 分)1 一個(gè) C 語言程序是由() 組成的。A.主程序B.子程序 C.函數(shù)D.過程2轉(zhuǎn)換說明符%x 的輸出形式是() 。A.十進(jìn)制B.八進(jìn)制C.十六進(jìn)制D,二進(jìn)制3.若a、b均為int型變量,且 a=100,則關(guān)于循環(huán)語句for(b=100;a!=b;+a,+b)printf ( “ “ ) ; 的正確說法是()。A 循環(huán)體只執(zhí)行一次B 死循環(huán)C.循環(huán)體一次也不執(zhí)行D .輸出4若 x、 y、z 均為 int 型變量,則
2、執(zhí)行下列語句后的z 值為 (x=1; y=2; z=3; z=(x>y)?z :y ; z = (z<y)?z:x;D 3)。D _intC 65D 3A 1B 4C 25下面標(biāo)識(shí)符中,合法的用戶標(biāo)識(shí)符為(A P#Ad B 12aC char6 A + 3 的結(jié)果是() 。A . ' A 'B . ' D'的 ASC II 碼7 .語句char str20;說明str是一個(gè)字符串,最多能表示 ()A 20 個(gè)字符B 19 個(gè)字符C 18 個(gè)字符D 21 個(gè)字符8將int 型變量 n 轉(zhuǎn)換成 float 型變量的方法是() 。A float nB(fl
3、oat)nC float(n)D21 個(gè)字符9以下不正確的描述是() 。A使用 while 和 do-while 循環(huán)時(shí),循環(huán)變量初始化的操作應(yīng)在循環(huán)語句之前完成B while 循環(huán)是先判斷表達(dá)式后執(zhí)行循環(huán)體語句Cdo-while 和 for 循環(huán)均是先執(zhí)行循環(huán)體語句,后判斷表達(dá)式D for、 while 、 do-while 循環(huán)中的循環(huán)體均可以由空語句構(gòu)成10在循環(huán)中使用break 語句的功能是() 。A使程序的執(zhí)行跳出break 所在的那一重循環(huán)B 使程序執(zhí)行結(jié)束C跳出包含此break 語句的所有循環(huán)D 終止本次循環(huán),繼續(xù)下次循環(huán)11下面是一個(gè)初始化指針的語句:int *px = &am
4、p;a; 其中指針變量的名字應(yīng)該是() 。A *pzB aC pxD &a12若指針px 為空指針,則() 。A px 指向不定B px 的值為零C. px的目標(biāo)為零D. px的地址為零13對(duì)于語句int *px10, 以下說法正確的是()。A. px 是一個(gè)指針,指向一個(gè)數(shù)組,數(shù)組的元素是整數(shù)型。B. px 是一個(gè)數(shù)組,其數(shù)組的每一個(gè)元素是指向整數(shù)的指針。C. A 和 B 均錯(cuò),但它是C 語言的正確語句。D. C 語言不允許這樣的語句。14.具有相同基類型的指針變量P和數(shù)組變量Y,下列寫法中不合法的是()。A P = YB *P = YiC P + &YiD P = &
5、;Y15已知static int a=5,4,3,2,1,*p=a+3,a+2,a+1,a,*q=p, 則表達(dá)式*(p0+1)+*(q+2) 的值是() 。A 5B 4C 6D 7n 個(gè)字符復(fù)制到S1 所指字符16已知for(;n>=1;n-), 下列語句實(shí)現(xiàn)將S2 所指字符數(shù)組中前數(shù)組中,其中代碼不正確的是() 。A *S1+=*S2+C *( S1+n-1 ) =*(S2+n-1)B S1n-1=S2n-1D *( +S1) =*( +S2)17調(diào)用函數(shù)的實(shí)參與被調(diào)用函數(shù)的形參應(yīng)該有如下關(guān)系()A.只要求實(shí)參和形參個(gè)數(shù)相等B.只要求形參和實(shí)參順序相同C.只要求實(shí)參和形參數(shù)據(jù)類型相同D
6、.上述三點(diǎn)均需具備18聯(lián)合體成員的數(shù)據(jù)類型() 。A.相同B.可以不同也可以相同D 是結(jié)構(gòu)體變量C.長度一樣19由系統(tǒng)分配和控制的標(biāo)準(zhǔn)輸出文件為() 。A.鍵盤 B.磁盤 C.打印機(jī)D.顯示器20 C 語言標(biāo)準(zhǔn)庫函數(shù)fread(fd,buffer,n) 的功能是() 。A.從文件B 從文件C.從文件D 從文件fd fd fdfd中讀取長度不超過中讀取長度不超過中讀取長度不超過中讀取長度不超過n 個(gè)字節(jié)的數(shù)據(jù)送入buffer 指向的內(nèi)存區(qū)域n-1 個(gè)字節(jié)的數(shù)據(jù)送入buffer 指向的內(nèi)存區(qū)域n 個(gè)字符送入buffer 指向的內(nèi)存區(qū)域n-1 個(gè)字符送入buffer 指向的內(nèi)存區(qū)域第二部分:簡單程序
7、(12 項(xiàng),共 30 分)21下列程序main() int x,y,z;x=y=2;z=3;y=z+-1;printf( “ %d t ” ,x,y);y=+x-1;printf( “ %d n” ,x,y);y=z-1;printf( “ %d t ” ,z,y);y=-z-1;printf( “ %d n” ,z,y);運(yùn)行后輸出的數(shù)據(jù)為?。A. 3 1 4 2 B. 3 1 3 3 C. 2 2 3 2 D. 2 1 3 22 4 1 32 4 2 23 3 2 11 3 1 222.下列程序main() int i,j;char *a,c;a=” computer ”;printf(
8、“ %s” ,a);for(i=0,j=7;i<j;i+,j-) c=ai;*(a+i)=*(a+j);aj=c;printf( “ n” ,a);c=aj-1,i=2+j;printf( “ a%d=n%” c ,i,c);運(yùn)行后輸出的數(shù)據(jù)為_s+=(p*=i);sum(5)=n%” d,sum(5);A. computer->computer a3=uC. computer->retupmoc a4=p 23.下列程序 int sum(int n) int p=1,s=0,i;for(i=1;i<=n;i+) return s; main() printf(B. c
9、omputer->retupmoc a5=mD. computer->retupmoc a2=t 運(yùn)行后輸出的數(shù)據(jù)為Dsum(5)=155A.sum(5)=151B.sum(5)=152C.sum(5)=15324 .下列程序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=n%” d ,s1,s2);運(yùn)行后輸出的數(shù)據(jù)為D.s1=15,s2=19A.s1=18
10、,s2=14 B.s1=14,s2=32C.s1=14,s2=1825 .下列程序 int c=1;main()static int a=5;int b=6;printf(" a=%d b=%d c=%d ,a,b,c);func();printf(" a=%d,b=%d,c=%d ,a,b,c);func();)func() static int a=4;int b=10;a+=2;c+=10;b+=c;printf(" a=%d,b=%d,c=i% d ,a,b,c);)B. a=5 b=6 c=1 a=7 b=17 c=11 a=5 b=6 c=11 a=9
11、 b=17 c=21D. a=5 b=6 c=1 a=7 b=17 c=11 a=7 b=17 c=11 a=9 b=38 c=21運(yùn)行后輸出的數(shù)據(jù)為A. a=5 b=6 c=1 a=6 b=21 c=11 a=5 b=6 c=11 a=8 b=31 c=21 C. a=5 b=6 c=1 a=6 b=21 c=11 a=6 b=21 c=11 a=8 b=31 c=21 26.已知 struct student char * name;int student_n; char grade;);struct student temp,*p=&temp;= "
12、chou";則下面不正確的是。表達(dá)式值A(chǔ).p fnamechouB.(*p) - name+2hC.*p fname+2eD.*(p name+2)o27 .下列程序#define MAX 10main()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=-54C.SUM=-55 D.SUM=5428 .下列程序void inv(int*x,int n)int *p,t,*i,*j,m=(n-1)/2;i=
13、x;j=x+n-1;p=x+m;for(;i<p;i+,j-) t=*i;*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,11B.11,9,7,7,6,5,4,3,2,0C.3,7,9,11,0,6,7,5,4,2D.2,4,5,7,6,0,11,9,7,329 .下列程序main() int a10,b10,*pa,*pb,i;pa=a;pb=b;for(
14、i=0;i<3;i+,pa+,pb+)*pa=i;*pb=2*i;printf( “ %d n” ,*pa,*pb);printf( n“” );pa=&a0;pb=&b0;for(i=0;i<3;i+)*pa=*pa+i;*pb=*pb*i;printf( “ %d n” ,*pa+,*pb+);運(yùn)行后輸出的數(shù)據(jù)為。A. 0 01 22 40 02 24 8B.0 01 22 40 02 22 4C. 0 01 22 40 01 22 4D. 0 02 22 40 01 24 830.下列程序copy_string(from,to)char *from,*to;
15、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( “ n%”s ,s2); 運(yùn)行后輸出的數(shù)據(jù)為() 。A. c_program 123B.123 C. c_program123 D. c_program12331.下列程序:#include <stdio.h> main() char a40,b40;int i,j;pri
16、ntf( “ 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. 把鍵盤輸入的字符串顯示在屏幕上B. 把鍵盤輸入的字符串中的數(shù)字字符刪掉,然后顯示該字符串C. 把鍵盤輸入的字符串中的字符0 和 9 刪掉,然后顯示該字符串D. 只保留由鍵盤輸入的字符串中的字母數(shù)字,然后顯示該字符串32下列程序#include<stdio.h>main() cha
17、r 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. 把鍵盤輸入的字符串中的大寫字母變換成小寫字母,然后顯示變換后的字符串。B. 把鍵盤輸入的字符串中的數(shù)字字符刪除掉,然后顯示該字符串。C. 把鍵盤輸入的字符串中的小寫字母變換成大寫字母,然后顯示變換后的字符串。D. 把鍵盤輸入的字符串原封不動(dòng)地顯示在屏幕上。第二卷說明: ( 1
18、)第二卷含二大題,均屬填空題,每題各有5 個(gè)空欄,在閱讀和理解原題程序的基礎(chǔ)上,在空欄處填入適當(dāng)?shù)淖址?、語句,以構(gòu)成一個(gè)正確的C 語言程序。( 2)每空欄填對(duì)得3 分,兩大題共10 個(gè)空欄,全填對(duì)得30 分。試題一一個(gè)整數(shù)稱為完全平方數(shù),是指它的值是另一個(gè)整數(shù)的平方。如81 是個(gè)完全平方數(shù),因?yàn)樗?9 的平方。 下列程序是在三位的正整數(shù)中尋找符合下列條件的整數(shù):它既是完全平方數(shù),且三位數(shù)字中又有兩位數(shù)字相同:例如144( 12*12 ) 、 676( 26*26)等,從程序中找出并輸出所有滿足上述條件的三位數(shù)。程序如下:main() int n,k,a,b,c;for(k=1; ;k+) i
19、f(n<100) if(n<999) a=n/100;b= c=n%10,if(flag(a,b,c)printf( “ n=%d=%d*%n”d ,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 中。說明:生成字符串s2 的過程是一個(gè)循環(huán),順序訪問字符串s1 的每個(gè)字符;當(dāng)從某個(gè)字符開始不能構(gòu)成與strl
20、相同的子字符時(shí),就把該字符拷貝到數(shù)組s2,當(dāng)從某個(gè)字符開始能構(gòu)成一個(gè)與strl相同的子字符串時(shí),就將字符串str2的各字符拷貝到字符數(shù)組s2,并繼續(xù)訪問字符串 s1 中那個(gè)子串之后的字符,直至字符串s1 被訪問完畢,字符復(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+=;els
21、e for(t1=str2;*t1!=0 ;)*s2+=;*s2= 0 ;main() char s1=” abcdeafgbabcd abab. ”;char s280;replace(s1,s2, ” abc” , ” ABCXYZ” );printf( “ n%” s,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二簡單程序21.C 22.B 23.C 24.C 25.A 26.B 27.B 28.
22、D 29.A 30.D 31.B 32.A第二卷 試題一: n=k*k continuebreak n%100/10 或(n-100*a)/10 或 n/10-(n/100)*10 int x,int y,int z試題二: *s1 或 s1!= 0 *t0=*t1 或 *t1=*t0 *s1+ *t1+ s1=t0 或 s1=s1+strlen(str1)C 語言程序設(shè)計(jì)( 卷)考核班級(jí)學(xué)生數(shù)印數(shù)考核方式閉卷 考核時(shí)間120 分鐘(本試卷包括第一卷和第二卷,答卷時(shí)間總共120分鐘 )第一卷說明: (1)第一卷全部為選擇題,每題可供選擇的答案中,只有一個(gè)正確答案。(2)答本卷的題目時(shí),要在標(biāo)準(zhǔn)
23、答題紙上編號(hào)對(duì)應(yīng)的欄口中,用鉛筆將正確答案涂黑。在試題上直接勾劃不得分。(3)本卷共分70 分,其中第1 26 題每題 2 分,第27 32 題每題 3 分。第一部分:基礎(chǔ)知識(shí)(20 題,共 40 分 )1、一個(gè)C 語言的源程序中,()。(A) 必須有一個(gè)主函數(shù)(B) 可以有多個(gè)主函數(shù)(C)必須有主函數(shù)和其他函數(shù)(D)可以沒有主函數(shù)2、下列數(shù)據(jù)中,為字符串常量的是()。(A) A(B) “ house”(C)How do you do (D) $abc3、若有定義:int a=8, b=5, c;,執(zhí)行語句c=a/b十0.4;后,c的值為()。( A)1.4(B)1(C)2.0(D)24、設(shè)有
24、int x=11 ;則表達(dá)式(x+*l/3) 的值為() 。(A)3(B)4(C)11(D)125、執(zhí)行x=5>1+2&&2|2*4<4-!0 后, x 的值為() 。(A)-l(B)O(C)1(D)56、以下變量x、y z均為double類型且已正確賦值,不能正確表示數(shù)學(xué)式子:(x)/(y Xz)的c語言表達(dá)式是() 。(A)x/y*z (B)x*(1/(y*z)(C) x/y*1/z (D)x/y/z7、設(shè)有以下說明語句struct exint x ; float y; char z; example;則下面的敘述不正確的是() 。(A)struct 是結(jié)構(gòu)體類
25、型的關(guān)鍵字(B)example 是結(jié)構(gòu)體類型名(C)x, y, z都是結(jié)構(gòu)體成員名(D)struct ex是結(jié)構(gòu)體類型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) 19、在調(diào)用函數(shù)時(shí),如果實(shí)參是簡單變量,它與對(duì)應(yīng)形參之間的數(shù)據(jù)傳遞方式是()。(A) 地址傳遞(B) 單向值傳遞(C) 由實(shí)參傳給形參,再由形參傳回實(shí)參(D) 傳遞方式由用戶指定10、以下定義語句中,錯(cuò)
26、誤的是() 。(A)int a=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)err12、標(biāo)有/* */的語句的執(zhí)行次數(shù)是() 。int y, i;for(
27、i=O ; i<20; i+) if(i%2=0)continue;y+=i;/*/(A) 20(B) 19(C) 10(D) 913、若用數(shù)組名作為函數(shù)調(diào)用的實(shí)參,傳遞給形參的是() 。(A)數(shù)組的首地址(B) 數(shù)組第一個(gè)元素的值(C)數(shù)組中全部元素的值(D) 數(shù)組元素的個(gè)數(shù)14、下列語句執(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=615、執(zhí)行下面的語句后,表達(dá)式*(p0+1)+*(q+2) 的值為 () 。int a=5,4,3,2,1 , *p=a+3,a+2,a
28、+1,a , *q=p ;(A) 8(B) 7(C) 6(D) 516、經(jīng)過下面的語句后int i , a10, *p;定義后,下列語句中合法的是() 。(A)p=100:(B) p=a5;(C) p=a+2;(D) p=&(i+2) ;17、若有以下說明和語句,則對(duì) pup中sex域的正確引用方式是()。struct pupilchar name20 ; int sex; pup , *p;p=&pup ;(A)p.pup.sex(B)p->pup.sex (C)(*p).pup.sex (D)(*p).sex18、若已定義了如下的共用體類型變量x,則x所占用的內(nèi)存字節(jié)
29、數(shù)為()union data int i;char ch; double f;x ;(A)7(B) 11(C)8(D) 1019、若有下面的說明和定義:struct test int m1; char m2;float m3;union uu char u15;int u22;ua;myaa;貝 U sizeof(struct test)的值是 ()。(A)12(B) 16(C) 14(D)920、若要打開:A盤上user子目錄下名為abc.txt的文本文件進(jìn)行讀、寫操作,下面符合此要求的函數(shù)調(diào)用 是()。(A)fopen("A : userabc.txt" , "
30、;r")(B) fopen("A : userabc.txt" , "r+")(C)fopen("A : userabc.txt","rb") (D) fopen("A : userlabc.txt" , "w")第二部分:簡單程序(12 題,共 30 分 )21、以下程序的運(yùn)行情況是()main()int i=1,sum=0 ;while(i<10)sum=sum+1;i+;printf("i=%d,sum=%d" , i,sum);(C
31、) i=2 , sum=l (D) 運(yùn)行出現(xiàn)錯(cuò)誤 )。(A)i=10, sum=9 (B) i=9,sum=922、若輸入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("<60") ;default:
32、printf("error") ; (A)>=85(B)>=60(C)>=60<60error(D) error23 . 有如下程序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(func(x , y), z); printf("%dn&
33、quot;,r) ;該程序的輸出結(jié)果是()。(A)12(B) 13(C)14(D)1525 .以下程序的輸出結(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)426 .以下程序的輸出結(jié)果是()。int a, b;void fun() a=100; b=200;main() int a=5 , b=7;fun();printf("%d%dn" ,
34、 a, b);(A) 100200(B)57(C)200100(D)7527 .下面的程序執(zhí)行后,文件test t 中的內(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","new world");fun("test.t&q
35、uot;,"hello,");(A)hello,(B)new,worldhello (C) new,world (D)hello,rld28.以下程序的運(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(tj!='0') si+j=tjj+ ;si+j='0' ;printf("%
36、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' ; printf("%dn" , s);該程序的輸出結(jié)果是()。(A)6982
37、5(B)63825(C)6385(D)69382530. 若已建立如下圖所示的單向鏈表結(jié)構(gòu)在該鏈表中,指針p,s分別指向圖中所示結(jié)點(diǎn),則不能將s所指的結(jié)點(diǎn)插入到鏈表末尾仍構(gòu)成單向鏈表的語句組是()。(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->next=s(D) p=(*p).next;(*s).next=(*p).next; (*p).next =s;31. 請(qǐng)選擇正確的運(yùn)
38、行結(jié)果填入() 中。include <stdio.h>int x,y;num()int a=15,b=10;int x , y;y=a-b;y=a+b;return;main() inta=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)不確定#define M(x,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)
39、12第二卷說明:(1)第二卷含兩大題,均屬填空題,每題各有5 個(gè)空欄,在閱讀和理解原題程序的基礎(chǔ)上,在空欄處填入適當(dāng)?shù)淖址?、語句,以構(gòu)成一個(gè)正確的C 語言程序。(2)每空欄填對(duì)得3 分,兩大題共10 個(gè)空欄,全對(duì)得30 分。試題一:有一函數(shù),實(shí)參傳來一個(gè)字符串,統(tǒng)計(jì)此字符串中字母、數(shù)字、空各和其他字符的個(gè)數(shù),在主函數(shù)中輸入字符串以及輸出上述的結(jié)果。int letter,digit,space,others;/*是全局變量*/main()int count(char (1);char text80 ;printf("nlnput string : n");(2)_;print
40、f("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 ;for(i=O ; stri!='0' ; i+)if(4)>='a'&&stri<='z')|(stri>='A'
41、&&stri<='Z')letter+ ;else if(stri>='0'&&stri<='9')digit+ ;else if(stri='')space+;else(5);試題二:把下列程序補(bǔ)充完整,實(shí)現(xiàn)兩個(gè)字符串的比較,即自己寫個(gè)strcmp 函數(shù),函數(shù)原型為: int strcmp(char *p1,char *p2)設(shè)pl指向字符串Si, p2指向字符串s2o要求:當(dāng)s1=s2時(shí),返回值為0。當(dāng)sl<>s2時(shí),返回它們兩者的第一個(gè)不同的字符的ASCII 碼差
42、值(如 “ 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) ;Scanf("%S", _(7);p1=&Strl0;p2=(8);m=Strcmp(p1,p2) ;printf("reSult:%d,n",m);
43、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í)I .A 2.B 3.B 4.A 5.C 6.A 7.B 8.D 9.B 10.DII .A 12.C 13.A 14.A 15.D 16.C 17.D 18.C 19.A 20.B第二部分:簡單程序21.D 22.C 23.B 24.D
44、 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、 Stri5、 otherS+試題二:6、 str1207、 str28、 &str209、 *p110、 i=0C語言程序設(shè)計(jì)(卷)考核班級(jí)學(xué)生數(shù) 印數(shù)考核方式閉卷考核時(shí)間120分鐘(本試卷包括第一卷和第二卷,答卷時(shí)間總共 120分鐘)第一卷 本卷共70分,其中第126題每題2分,第2732題每題3分。第一部分:基礎(chǔ)知識(shí)1、 一個(gè)C語言程序是從 開始執(zhí)行的。A、程序中的第一個(gè)語
45、句 B、包含文件(頭文件)的第一個(gè)函數(shù)C、名為main的函數(shù) D、程序中的第一個(gè)函數(shù)2、 語句while(!E) 中的條件! E等價(jià)于A、E=0 B、E!=1 C、E!=0 D、E3、若有以下類型說明語句:char w;int x;float y;double z;則表達(dá)式w*x+z-y的結(jié)果為 類型。A、float B、double C、int D、char4、一個(gè)函數(shù)返回值的類型是由 決定的A、return語句中的表達(dá)式類型;B、定義函數(shù)時(shí)所指定的函數(shù)類型C、調(diào)用該函數(shù)的函數(shù)的類型D、調(diào)用函數(shù)時(shí)臨時(shí)類型5、設(shè)x、y、z和k都是int型變量,則執(zhí)行下列表達(dá)式后,變量 x的值為, x=(y=4
46、,z=16,k=32);A、4 B、16 C、32 D、526、 有以下程序:main() int i=10,j=1;printf( "d,%d-,-,+j);執(zhí)行后輸出的結(jié)果是A、9, 2 B、10, 2 C、9, 1 D、10, 17、 以下指針s的指字符串的長度為 char *s= " ' Name n”;A、19 B、15 C、18 D、-128、 設(shè)有語句int a=3;則執(zhí)行了語句 a+=a-=a*a ;后,變量a的值是A、3 B、0 C、9 D、-129、 對(duì)于下面的for循環(huán)語句,可以斷定它 。for(x=0,y=0;(y!=123)&&am
47、p;(x<4);x+) printf( - “);A、是無限循環(huán)(死循環(huán))B、循環(huán)次數(shù)不定C、共執(zhí)行4次循環(huán) D、共執(zhí)行3次循環(huán)10、設(shè)有以下語句,則 不是對(duì)a數(shù)組元素的正確引用,其中 0 i 10.int a10=0 , 1, 2, 3, 4, 5, 6, 7, 8, 9;int *p=a;A、 ap-5 B 、 *(&ai) C 、 ai D 、 *(a+i)11、 為了判斷兩個(gè)字符串s1 和 s2 是否相等,應(yīng)當(dāng)使用A、 if(s1=s2) B 、 if(s1=s2)C、 if(strcmp(s1,s2) D 、 if(strcmp(s1,s2)=0)12、 對(duì)于 C 語言
48、程序中的函數(shù),下列敘述中正確的是A、函數(shù)的定義不能嵌套,但函數(shù)調(diào)用可以嵌套B 、函數(shù)的定義可嵌套,但函數(shù)的調(diào)用不能嵌套C、函數(shù)的定義和調(diào)用均不能嵌套D 、函數(shù)的定義和調(diào)用均可嵌套13、 有以下程序main() int i;for(i=0;i<3;i+)switch(i) case 1: printf( “ %d” ,i);case 2:printf(“ %d” ,i);defaul t:printf(“ %d” ,i);執(zhí)行后輸出的結(jié)果是A、 011122 B、 012 C、 012020 D、 12014、 假定有以下變量定義:int k=7, x=12; 則能使值為3 的表達(dá)式是A、
49、 x%=(k%=5) B 、 x%=(k-k%5)C、 x%=(k-k%5) D 、 (x%=k)-( k%=5)15、 以下程序的輸出結(jié)果是main() int x=4,y=8;x+=y;y+=x;printf( “ %d n” ,x,y);A、 1220 B、 4 8 C、 1212 D、 8416、 有以下程序執(zhí)行后輸出的結(jié)果是main() int x8=8 , 7, 6, 5, 0, 0 , *s;s=x+3;printf( “ n%”d , s2);A、隨機(jī)值 B、0 C、5 D、617、 以下函數(shù)的功能是fun(char *s1,char *s2) int i=0;while(s1
50、i=s2i &&s2i!=0)i+;return(s1i= 0 &&s2i= 0 );A、將s2所指字符串賦給siB 、比較s1 和s2 所指字符串的大小,若s1 比s2 的大,函數(shù)值為1 ,否則函數(shù)值為0C、比較si和s2所指字符串是否相等,若相等,函數(shù)值為 1,否則函數(shù)值為0D 、比較s1 和s2 所指字符串的長度,若s1 比s2 的長,函數(shù)值為1 ,否則函數(shù)值為018、 以下敘述中正確的是A、全局變量的作用域一定比局部變量的作用域范圍大B、靜態(tài)(static)類型變量的生存期貫穿于整個(gè)程序的運(yùn)行期間C、函數(shù)的形參都屬于全局變量D 、未在定義語句中賦初值的a
51、uto 變量和 static 變量的初值都是隨機(jī)值19、 有以下程序,執(zhí)行后輸出的結(jié)果是main() int i=i,j=i,k=2;if (j+|k+)&&i+)printf( “ %d, %d,%n” d ,i,j,k);A、 i,i,2 B、 2,2,i C、 2,2,2 D、 2,2,320、 以下函數(shù)abc 的功能是int abc(char *ps) char *p;p=ps;while(*p+);return (p-ps);A、比較兩個(gè)字符串的大小B、求字符串的長度C、將串ps復(fù)制到串p中D、以上三種說法都不對(duì)第二部分:簡單程序21、 以下程序的輸出結(jié)果是:main
52、( ) int i=i0,j=i0;printf( “ %d ,n%” d ,+i+j+,j-);A、 2i, i0 B、 20, i0 C、 2i, 9 D、 20, 922、 以下程序的輸出結(jié)果是:main( ) int m=5;if (m+>5)printf( “ n%”d ,m);elseprintf( “ %n”d ,m-);A、 7 B、 6 C、 5 D、 423、 當(dāng) a=1, b=3, c=5, d=4 時(shí),執(zhí)行下面一段程序后,x 的值為 if (a<b) if(c<d) x=1;else if(a<c) if(b<d)x=2; else x=3
53、; elsex=6;else x=7;A、 1 B、 2 C、 3 D、 624、 以下程序企圖把從終端輸入的字符輸出到名為abc.txt 的文件中,直到從終端讀入字符#號(hào)時(shí)結(jié)束輸入和輸出操作,但程序有錯(cuò)。出錯(cuò)的原因是#include <stdio.h> main( ) FILE *fout;char ch;fout=fopen( abc.txt , w );ch=fgetc(stdin);while(ch!= #)fputc(ch,fout);ch=fgetc(stdin);fclose(fout);A、函數(shù)fopen調(diào)用形式有誤B、輸入文件沒有關(guān)閉C、函數(shù)fgetc調(diào)用形式有誤D、文件指針stdin沒有定義25、 有以下程序,執(zhí)行后輸出結(jié)果是main() union unsigned int n;unsigned char c;ul;ul.c= A;printf( “ n%” c,ul.n);A、產(chǎn)生語法錯(cuò) B、隨機(jī)值 C、A D、6526、 有以下程序,執(zhí)行后輸出結(jié)果是main() int m 3=1,4,7,2,5,8,3,6,9;int i,k=2;for(i=0; i<3; i+)print
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 物聯(lián)網(wǎng)時(shí)代的倫理問題與思考
- 深度學(xué)習(xí)在旅游業(yè)大數(shù)據(jù)分析中的應(yīng)用
- 現(xiàn)代商業(yè)競(jìng)爭(zhēng)中的數(shù)字化轉(zhuǎn)型研究
- 未來商業(yè)模式的移動(dòng)支付創(chuàng)新探索
- 珍珠養(yǎng)殖技術(shù)與產(chǎn)業(yè)發(fā)展探討
- 現(xiàn)代辦公設(shè)備的維護(hù)與更新方案
- 2025年南通貨運(yùn)資格證模擬考試題
- 電子商務(wù)物流的未來數(shù)字化與自動(dòng)化
- 現(xiàn)代藥店人力資源配置與培訓(xùn)策略
- 現(xiàn)代企業(yè)創(chuàng)新方法與核心競(jìng)爭(zhēng)力培養(yǎng)
- 2024年云南省公務(wù)員考試【申論縣鄉(xiāng)卷、行測(cè)、事業(yè)單位招聘】3套 真題及答案
- 數(shù)字媒體藝術(shù)專業(yè)行業(yè)分析報(bào)告
- 全國職業(yè)院校技能大賽高職組(市政管線(道)數(shù)字化施工賽項(xiàng))考試題庫(含答案)
- 湖南省長沙市長郡教育集團(tuán)2024-2025學(xué)年七年級(jí)上學(xué)期期末考試英語試題(含答案)
- 公司員工升職加薪制度模板
- 2024上海市招聘社區(qū)工作者考試題及參考答案
- 鄉(xiāng)鎮(zhèn)衛(wèi)生院服務(wù)能力建設(shè)醫(yī)療質(zhì)控部分課件
- 《招標(biāo)投標(biāo)法》考試題庫200題(含答案)
- 2024版市政工程承包合同簽約流程規(guī)范指南2篇
- 立春氣象與健康
- 卵圓孔未閉病因介紹
評(píng)論
0/150
提交評(píng)論