版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、知識(shí)是人類進(jìn)步的階梯C語(yǔ)言程序設(shè)計(jì)(卷)考核班級(jí)學(xué)生數(shù) 印數(shù)考核方式 閉卷考核時(shí)間120分鐘(本試卷包括第一卷和第二卷,答卷時(shí)間總共120分鐘)第一卷第一部分:基礎(chǔ)知識(shí)(20項(xiàng),共40分)1 . 一個(gè)C語(yǔ)言程序是由()組成的。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)語(yǔ)句 for(b=100;a!=b;+a,+b)printf (" ");的正確說法是()。A.循環(huán)體只執(zhí)行一次B.死循環(huán)C.循環(huán)體一次也不執(zhí)行D.輸出4 .若x、v、z均為int
2、型變量,則執(zhí)行下列語(yǔ)句后的z值為(x=1; y=2; z=3; z=(x>y)?z :y ; z = (z<y)?z:x;A. 1B. 4 C. 2D. 35 .下面標(biāo)識(shí)符中,合法的用戶標(biāo)識(shí)符為()。A. P#Ad B. 12a C. charD. _intD. 36 .'A' + 3的結(jié)果是()。A . ' A'B. ' D'的 ASC n 碼 C. 65)°D. 21個(gè)字符7 .語(yǔ)句char str20;說明str是一個(gè)字符串,最多能表示A . 20個(gè)字符 B. 19個(gè)字符 C. 18個(gè)字符8 .將int型變量n轉(zhuǎn)換成f
3、loat型變量的方法是 ()。A. float n B. (float)n C. float(n) D, 21 個(gè)字符9.以下不正確的描述是()。A .使用while和do-while循環(huán)時(shí),循環(huán)變量初始化的操作應(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ù)下
4、次循環(huán)11 .下面是一個(gè)初始化指針的語(yǔ)句:int *px = &a;其中指針變量的名字應(yīng)該是()。A . *pzB . aC. pxD . &a12 .若指針px為空指針,則 ()。A . px指向不定B. px的值為零C. px的目標(biāo)為零D. px的地址為零13 .對(duì)于語(yǔ)句int *px10,以下說法正確的是()。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 .具有相同基類型的指針變量P和數(shù)組變量Y,下列寫法中不合法的是()。A.
5、 P = YB. *P = YiC. P + &YiD. P = &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. 716 .已知for(;n>=1;n-),下列語(yǔ)句實(shí)現(xiàn)將 S2所指字符數(shù)組中前 n個(gè)字符復(fù)制到 S1所指字符 數(shù)組中,其中代碼不正確的是()。A. *S1+=*S2+B, S1n-1=S2n-1C. * (S1+n-1) =*(S2+n-1)D. * (+S1) =* (+S2)17 .調(diào)用函數(shù)的實(shí)參與被調(diào)用函數(shù)的形參應(yīng)
6、該有如下關(guān)系()。A.只要求實(shí)參和形參個(gè)數(shù)相等B.只要求形參和實(shí)參順序相同C.只要求實(shí)參和形參數(shù)據(jù)類型相同D.上述三點(diǎn)均需具備18 .聯(lián)合體成員的數(shù)據(jù)類型()。A.相同B .可以不同也可以相同C.長(zhǎng)度一樣D.是結(jié)構(gòu)體變量19 .由系統(tǒng)分配和控制的標(biāo)準(zhǔn)輸出文件為()。A.鍵盤 B.磁盤 C.打印機(jī)D.顯示器20 . C語(yǔ)言標(biāo)準(zhǔn)庫(kù)函數(shù) fread(fd,buffer,n)的功能是()。A .從文件fd中讀取長(zhǎng)度不超過 n個(gè)字節(jié)的數(shù)據(jù)送入 buffer指向的內(nèi)存區(qū)域B.從文件fd中讀取長(zhǎng)度不超過 n-1個(gè)字節(jié)的數(shù)據(jù)送入buffer指向的內(nèi)存區(qū)域C.從文件fd中讀取長(zhǎng)度不超過 n個(gè)字符送入buffer
7、指向的內(nèi)存區(qū)域D.從文件fd中讀取長(zhǎng)度不超過 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( " %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
8、23 3 2 11 3 1 222.下列程序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(" n" ,a);c=aj-1,i=2+j;printf(" a%d=%c ,i,c);運(yùn)行后輸出的數(shù)據(jù)為A. computer->computer a3=uC. computer->retupmoc a4=p23.下列程序 int sum(int n) int
9、 p=1,s=0,i; for(i=1;i<=n;i+) return s; main() printf(s+=(p*=i);B. computer->retupmoc a5=mD. computer->retupmoc a2=t“sum(5)n% d,sum(5);運(yùn)行后輸出的數(shù)據(jù)為A.sum(5)=151B.sum(5)=152C.sum(5)=153Dsum(5)=15524 .下列程序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+
10、=*(ptr+i);s2+=*(ptr+i+1);printf(" s1=%d,s2=%Sd ,s1,s2);運(yùn)行后輸出的數(shù)據(jù)為 A.s1=18,s2=14 B.s1=14,s2=32C.s1=14,s2=18D.s1=15,s2=1925 .下列程序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
11、+=c;printf(" a=%d,b=%d,c=i% d ,a,b,c);)運(yùn)行后輸出的數(shù)據(jù)為A. a=5 b=6 c=1a=6 b=21 c=11a=5 b=6 c=11a=8 b=31 c=21C. a=5 b=6 c=1a=6 b=21 c=11a=6 b=21 c=11a=8 b=31 c=2126 .已知struct studentchar * name;int student_n;char grade;);struct student temp,*p=&temp;= " chou";則下面不正確的是。表達(dá)式A.p 一 nam
12、eB.(*p) 一 name+2C.*p - name+2D.*(p - name+2)27 .下列程序#define MAX 10B. a=5 b=6 c=1 a=7 b=17 c=11 a=5 b=6 c=11 a=9 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值chou heomain() 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.SU
13、M=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=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é)果:AQ234,5,6,7,7,9,11B.11,9,7,7,6,5,4,3,2,0C.37
14、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(i=0;i<3;i+,pa+,pb+)*pa=i;*pb=2*i;printf( "%dn” ,*pa,*pb);printf( n”);pa=&a0;pb=&b0;for(i=0;i<3;i+)*pa=*pa+i;*pb=*pb*i;printf( "%dn" ,*pa+,*pb+);運(yùn)行后輸出的數(shù)據(jù)為 。A. 00B.00C. 00D. 0012121222
15、2424242400000000222212124824244830 .下列程序 copy_string(from,to) char *from,*to; 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 1
16、23B.123 C. c_program123 D. c_program12331 .下列程序:#include <stdio.h> main() char a40,b40;int i,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é)果
17、是()。A.把鍵盤輸入的字符串顯示在屏幕上B.把鍵盤輸入的字符串中的數(shù)字字符刪掉,然后顯示該字符串C.把鍵盤輸入的字符串中的字符0和9刪掉,然后顯示該字符串D.只保留由鍵盤輸入的字符串中的字母數(shù)字,然后顯示該字符串32 .下列程序#include<stdio.h>main() char a80;int i,j;printf( "Enter the string:");scanf(" s,,a);i=0;while(ai!= 0'') if(ai>=' A &&ai<= ' Z')ai=
18、ai- 'A' +' a';printf( " %s' ,a);運(yùn)行后輸出的結(jié)果是()。A.把鍵盤輸入的字符串中的大寫字母變換成小寫字母,然后顯示變換后的字符串。B.把鍵盤輸入的字符串中的數(shù)字字符刪除掉,然后顯示該字符串。C.把鍵盤輸入的字符串中的小寫字母變換成大寫字母,然后顯示變換后的字符串。D.把鍵盤輸入的字符串原封不動(dòng)地顯示在屏幕上。第二卷說明:(1)第二卷含二大題,均屬填空題,每題各有5個(gè)空欄,在閱讀和理解原題程序的基礎(chǔ)上,在空欄處填入適當(dāng)?shù)淖址⒄Z(yǔ)句,以構(gòu)成一個(gè)正確的C語(yǔ)言程序。(2)每空欄填對(duì)得3分,兩大題共10個(gè)空欄,全填對(duì)得 3
19、0分。試題一一個(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+)if(n<100)if(n<999)a=n/100;b= c=n%10, if(flag(a,b,c)printf(" n=%d=%d*%d ,k,k);flag return(!(x-y)
20、*(x-z)*(y-z);試題二以下程序所列函數(shù)replace(char *s1,char *s2,char str1,char *str2)的功能是將已知字符串si中的所有與字符串strl相同的子串替換成字符串str2,并將替換后所生成的新的字符串存于字符數(shù)組s2中。說明:生成字符串s2的過程是一個(gè)循環(huán),順序訪問字符串si的每個(gè)字符;當(dāng)從某個(gè)字符開始不能構(gòu)成與strl相同的子字符時(shí),就把該字符拷貝到數(shù)組s2,當(dāng)從某個(gè)字符開始能構(gòu)成一個(gè)與strl相同的子字符串時(shí),就將字符串 str2的各字符拷貝到字符數(shù)組s2,并繼續(xù)訪問字符串si中那個(gè)子串之后的字符,直至字符串si被訪問完畢,字符復(fù)制即告結(jié)束
21、。下列程序運(yùn)行的結(jié)果是輸出:ABCXYZdefg abABCXYZd abab程序如下:replace(char *si,char *s2,char *stri,char *str2) char *t0,*ti,*t2;while( ) for(t0=si,ti=stri;*ti!= ' 0' && ;t0+,ti+);if(*ti!= 0')*s2+=;else for(ti=str2;*ti!= 0')*s2+=;;*s2= '0';main() char si=" abcdeababcd abab.”;char s
22、280;replace(si,s2, " abc" , " ABCXYZ );printf("r% 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二.簡(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第二卷 試題一: n=k*k continuebreak n%100/10 或(n-100
23、*a)/10 或 n/i0-(n/i00)*i0 int x,int y,int z 試題二:*si 或 si!=' 0' *t0=*ti 或*ti=*t0 *si+*ti+si=t0 或 si=si+strlen(stri)C語(yǔ)言程序設(shè)計(jì)(卷)考核班級(jí)學(xué)生數(shù) 印數(shù)考核方式閉卷考核時(shí)間120分鐘(本試卷包括第一卷和第二卷,答卷時(shí)間總共120分鐘)第一卷說明:(1)第一卷全部為選擇題,每題可供選擇的答案中,只有一個(gè)正確答案。(2)答本卷的題目時(shí),要在標(biāo)準(zhǔn)答題紙上編號(hào)對(duì)應(yīng)的欄口中,用鉛筆將正確答案涂黑。在試題上直接 勾劃不得分。(3)本卷共分70分,其中第126題每題2分,第27
24、32題每題3分。第一部分:基礎(chǔ)知識(shí)(20題,共40分)1、一個(gè)C語(yǔ)言的源程序中,()。(A)必須有一個(gè)主函數(shù)(B)可以有多個(gè)主函數(shù)(C)必須有主函數(shù)和其他函數(shù)(D)可以沒有主函數(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)24、設(shè)有int x=11 ;則表達(dá)式(x+*l/3)的值為( )o(A)3(B)4(C)11(D)125、
25、執(zhí)行 x=5>1+2&&2|2*4<4-!0 后,x 的值為()。(A)-l(B)O(C)1(D)56、以下變量x、v、z均為double類型且已正確賦值,不能正確表示數(shù)學(xué)式子:(x)/(y Xz)的c語(yǔ)言表達(dá)式是()。(A)x/y*z (B)x*(1/(y*z)(C) x/y*1/z (D)x/y/z7、設(shè)有以下說明語(yǔ)句struct exint x ; float y; char z; example;則下面的敘述不正確的是()o(A)struct是結(jié)構(gòu)體類型的關(guān)鍵字(B)example是結(jié)構(gòu)體類型名(C)x, y, z都是結(jié)構(gòu)體成員名(D)struct ex是結(jié)
26、構(gòu)體類型8、假定w、x、v、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í)參是簡(jiǎn)單變量,它與對(duì)應(yīng)形參之間的數(shù)據(jù)傳遞方式是()。(A)地址傳遞(B)單向值傳遞(C)由實(shí)參傳給形參,再由形參傳回實(shí)參(D)傳遞方式由用戶指定10、以下定義語(yǔ)句中,錯(cuò)誤的是()。(A)int a=1 , 2 ;(B) char *a3;(C)char s10="text" ;(D)
27、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)有/*/的語(yǔ)句的執(zhí)行次數(shù)是( )oint y, i; for(i=O ; i<20 ; i+) if(i%2=0)continue; y+=i;/*/(A)20(B) 19(C) 10(D) 913、若用
28、數(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=615、執(zhí)行下面的語(yǔ)句后,表達(dá)式 *(p0+1)+*(q+2)的值為 ()。int a=5,4,3,2,1 , *p=a+3,a+2,a+1,a , *q=p ;(A)8(B) 7(C) 6(D) 516、經(jīng)過下面的語(yǔ)句后int i , a10, *p ;定義后,下列語(yǔ)句中合法的是()。(A
29、)p=100:(B) p=a5;(C)p=a+2;(D)p=&(i+2);17、若有以下說明和語(yǔ)句,則對(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é)數(shù)為()。union data int i;char ch; double f;x ;(A)7(B) 11(C)8(D) 1019、若有下面的說明和定義: struc
30、t 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" , "r")(B) fopen("A : userabc.txt", "r+")(C)fopen("A
31、 : 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=%d" , i,sum);(A)i=10, sum=9 (B) i=9,sum=922、若輸入B,以下程序的運(yùn)行結(jié)果為( main() char grade ; scanf("%c&quo
32、t;,&grade); switch(grade)case 'A':printf(">=85");(C) i=2 , sum=l (D)運(yùn)行出現(xiàn)錯(cuò)誤) 。case'B':case'C':printf(">=60");case'D':printf("<60"); default: printf("error") ; (A)>=85(B)>=60(C)>=60<60error(D) error23 .有如下
33、程序 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",r);該程序的輸出結(jié)果是 ()。(A)12(B) 13(C)14(D)1525 .以下程序的輸出結(jié)果是()。main() int a , b;for(a=1
34、, 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" , a, b);(A)100200(B)57(C)200100(D)7527 .下面的程序執(zhí)行后,文件test, t中的內(nèi)容是 () o#include <st
35、dio.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","hello,");(A) hello, (B)new,worldhello (C) new,world (D)hello,rld28.
36、以下程序的運(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("%sn" , s);(A) abcdabcdefg (B)abcdefg (C)abcd (D)abcdefgabcd 29.有如下程序 main() char ch
37、25="6937" , "8254",*p2; inti, 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)69825(B)63825(C)6385(D)69382530 .若已建立如下圖所示的單向鏈表結(jié)構(gòu)在該鏈表中,指針p,s分別指向圖中所示結(jié)點(diǎn),則不能將s所指的結(jié)點(diǎn)插入到鏈表末尾
38、仍構(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->next=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
39、+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,y,z) x*y+zmain() int a=1 , b=2, c=3;printf("%dn" , M(a+b,b+c,c+a) ;(A)19(B)17(C)15(D)12第二卷說明:(1)第二卷含兩大題,均屬填空題,每題各有 5個(gè)空欄,在閱讀和理解原題程序的基礎(chǔ)上,在空欄處 填入適當(dāng)?shù)淖?/p>
40、符、語(yǔ)句,以構(gòu)成一個(gè)正確的C語(yǔ)言程序。(2)每空欄填對(duì)得3分,兩大題共10個(gè)空欄,全對(duì)得30分。試題一:有一函數(shù),實(shí)參傳來一個(gè)字符串,統(tǒng)計(jì)此字符串中字母、數(shù)字、空各和其他字符的個(gè)數(shù),在主函數(shù)中輸入字符串以及輸出上述的結(jié)果。intletter,digit,space,others;/*是全局變量 */main()int count(char(1);char text80;printf("nlnput string : n");(2);printf("string :");puts(text);letter=O ;digit=O ;space=O;other
41、s=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'&&st巾<='z')|(stri>='A'&&stri<='Z')letter+ ; else if(stri>='0
42、39;&&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指向字符串s2。要求:當(dāng)s1=s2時(shí),返回值為 0。當(dāng)sl<>s2時(shí),返回它們兩者的 第一個(gè)不同的字符的 ASCII碼差值(如“BOY”與“BAD”,第二個(gè)字母不同,"O”與"A”之差為79-65=14); 如果s1>s
43、2,則輸出正值;如果sl<s2,則輸出負(fù)值。main() int m ;char (6), str220 , *p1,*p2 ;printf("Input two string : n");scanf("%s",strl);scanf("%s",);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(
44、*(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第二部分:簡(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
45、” ,text)3、count(text)4、stri5、others+試題二:6、stri20 7、str28、&str29、*pi 10、i=0C語(yǔ)言程序設(shè)計(jì)(卷)考核班級(jí)學(xué)生數(shù) 印數(shù)考核方式閉卷考核時(shí)間120分鐘(本試卷包括第一卷和第二卷,答卷時(shí)間總共 120分鐘)第一卷 本卷共70分,其中第126題每題2分,第2732題每題3分。第一部分:基礎(chǔ)知識(shí)1、 一個(gè)C語(yǔ)言程序是從 開始執(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
46、、E3、若有以下類型說明語(yǔ)句: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語(yǔ)句中的表達(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,z=16,k=32);A、4 B、16 C、32 D、526、 有以下程序:main() int i=10,j=1;printf( " %d,%d -,-,+j);
47、執(zhí)行后輸出的結(jié)果是A、9, 2 B、10, 2 C、9, 1 D、10, 17、 以下指針s的指字符串的長(zhǎng)度為 char *s= " ' Name n”;A、19 B、15 C、18 D、-128、 設(shè)有語(yǔ)句int a=3;則執(zhí)行了語(yǔ)句 a+=a-=a*a ;后,變量a的值是A、3 B、0 C、9 D、-129、 對(duì)于下面的for循環(huán)語(yǔ)句,可以斷定它 。for(x=0,y=0;(y!=123)&&(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è)有以下語(yǔ)句,則 不是對(duì)a數(shù)組
48、元素的正確引用,其中 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語(yǔ)言程序中的函數(shù),下列敘述中正確的是 A、函數(shù)的定義不能嵌套,但函數(shù)調(diào)用可以嵌套B、函數(shù)的定義可嵌套,但函數(shù)的調(diào)用不能嵌套C、函數(shù)的定義和調(diào)用均不能嵌套D、函數(shù)的定義和調(diào)用均可嵌套13、 有以下程序main()
49、 int i;for(i=0;i<3;i+)switch(i) case 1: printf("%d' ,i);case 2:printf(" %d' ,i);default:printf(" %d' ,i);執(zhí)行后輸出的結(jié)果是A、 011122 B、 012 C、 012020 D、 12014、假定有以下變量定義:int k=7, x=12;則能使值為3的表達(dá)式是 A、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
50、;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("%S d, s2);A、隨機(jī)值 B、0 C、5 D、617、以下函數(shù)的功能是fun(char *s1,char *s2) int i=0;while(s1i=s2i &&s2i!=0')i+; return(s1i= 0' '&&s2i= 0');A、將s2所指字
51、符串賦給siB、比較si和s2所指字符串的大小,若 si比s2的大,函數(shù)值為1 ,否則函數(shù)值為0C、比較si和s2所指字符串是否相等,若相等,函數(shù)值為1,否則函數(shù)值為0D、比較si和s2所指字符串的長(zhǎng)度,若 si比s2的長(zhǎng),函數(shù)值為1,否則函數(shù)值為018、 以下敘述中正確的是A、全局變量的作用域一定比局部變量的作用域范圍大B、靜態(tài)(static)類型變量的生存期貫穿于整個(gè)程序的運(yùn)行期間C、函數(shù)的形參都屬于全局變量D、未在定義語(yǔ)句中賦初值的auto變量和static變量的初值都是隨機(jī)值19、有以下程序,執(zhí)行后輸出的結(jié)果是 main() int i=1,j=1,k=2;if (j+|k+)&
52、;&i+)printf( "%d, %d,%d ,i,j,k);A、1,1,2 B、2,2,1 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、求字符串的長(zhǎng)度C、將串ps復(fù)制到串p中D、以上三種說法都不對(duì)第二部分:簡(jiǎn)單程序21、以下程序的輸出結(jié)果是:main() int i=10,j=10;printf( " %d 般d ,+i+j+,j-);A、21, 10 B、20, 10 C、21, 9 D、20, 922、
53、以下程序的輸出結(jié)果是:main() int m=5;if (m+>5)printf("r% d ,m);elseprintf(" %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;elsex=3;elsex=6;else x=7;A、1 B、2 C、3 D、624、以下程序企圖把從終端輸入的字符輸出到名為abc.txt的文件中,直到從終端讀入字符#號(hào)時(shí)結(jié)束輸入和輸出操作,但程序有錯(cuò)。出錯(cuò)的原因
54、是 #include <stdio.h>main() FILE *fout;char ch;fout=fope n( ' 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
55、c;ul;ul.c= ' A';printf( "%c ,ul.n);A、產(chǎn)生語(yǔ)法錯(cuò)B、隨機(jī)值 C、A D、6526、有以下程序,執(zhí)行后輸出結(jié)果是 main() intm 3=1,4,7,2,5,836,9;int i,k=2;for(i=0; i<3; i+)printf(" %d , mki);A、4 5 6 B、2 5 8 C、3 6 9 D、7 8 927、以下程序運(yùn)行后,輸出結(jié)果是 int func(int a, int b) static int m=0,i=2;i+=m+1;m=i+a+b; return(m); main() int k
56、=4,m=1,n;n=func(k, m);printf(" %d, , n);n=func(k, m);printf( " %d ” , n);A、8, 15 B、8,16 C、8, 17 D、8, 828、在執(zhí)行以程序時(shí),如果從鍵盤上輸入:ABCdef,則輸出結(jié)果為:#include <stdio.h> main() char ch;while(ch=getchar()!= n')' if(ch>= ' A &&ch<=' Z') ch=ch+32;else if(ch>= ' a' && ch<= ' z') ch=ch-32;printf(" %C' ,ch); printf( n”);A、ABCdef B、abcDEF C、abc D、DEF29、有以下程序,執(zhí)行后輸出結(jié)果是 in
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024裝修合同范本版
- 個(gè)人倉(cāng)庫(kù)租賃協(xié)議樣本
- 小學(xué)食堂食品供應(yīng)合同
- 2024年冷鏈車運(yùn)輸合同
- 校企合作框架協(xié)議書范例
- 2024售樓處物業(yè)服務(wù)合同(物業(yè))
- 2024英文股份合同范本英文股份合同
- 2024個(gè)人裝修房屋合同范本
- 2024《鋁合金門窗合同》
- 機(jī)動(dòng)車輛交易協(xié)議文本
- 2024年公安機(jī)關(guān)人民警察高級(jí)執(zhí)法資格考試試卷含答案(案例分析題 論述題)
- Unit8WXYZ(課件)牛津自然拼讀Level1
- (高清版)DZT 0341-2020 礦產(chǎn)地質(zhì)勘查規(guī)范 建筑用石料類
- 幼兒園教師教育教學(xué)能力
- 家長(zhǎng)社群運(yùn)營(yíng)與家校溝通策略
- 護(hù)理液體掛錯(cuò)不良事件
- 2024年法律知識(shí)法治建設(shè)知識(shí)競(jìng)賽-殘疾人保障法知識(shí)競(jìng)賽筆試歷年真題薈萃含答案
- 繼承優(yōu)良傳統(tǒng)弘揚(yáng)中國(guó)精神 (模板)
- 學(xué)校筑牢安全防線
- 碳?xì)质珰秩蚴袌?chǎng)研究報(bào)告 - 2024 年至 2030 年產(chǎn)業(yè)分析、規(guī)模、份額、成長(zhǎng)、趨勢(shì)與預(yù)測(cè)
- 2024年太原幼兒師范高等??茖W(xué)校高職單招(英語(yǔ)/數(shù)學(xué)/語(yǔ)文)筆試歷年參考題庫(kù)含答案解析
評(píng)論
0/150
提交評(píng)論