版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(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 分鐘( 本試卷包括第一卷和第二卷,答卷時(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=10O,則關(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í)行
2、下列語(yǔ)句后的z 值為 () 。x=1; y=2; z=3; z=(x>y)?z :y ; z = (z<y)?z:x;A 1 B 4 C 2 D 3 5下面標(biāo)識(shí)符中,合法的用戶標(biāo)識(shí)符為(intA P#Ad B 12a C char6 A + 3 的結(jié)果是() 。A A B . ' D'的 ASC 碼 C . 65 D .37語(yǔ)句char str20; 說(shuō)明 str 是一個(gè)字符串,最多能表示()。A 20 個(gè)字符B 19個(gè)字符C 18個(gè)字符D 21 個(gè)字符8將int 型變量 n 轉(zhuǎn)換成 float 型變量的方法是() 。A float n B (float)n C f
3、loat(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)8 使程序執(zhí)行結(jié)束C跳出包含此break 語(yǔ)句的所有循環(huán)D 終止本次循環(huán),繼續(xù)下次循環(huán)11下面是一個(gè)初始化指針的語(yǔ)句:int *px = &a;
4、 其中指針變量的名字應(yīng)該是() 。A *pz B a C px D &a12若指針px 為空指針,則() 。A px 指向不定B px 的值為零C px 的目標(biāo)為零D px 的地址為零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ě)法中不合法的是 ()。A P = YB *P = YiC P + &YiD P = &Y1
5、5 已 知 static int a=5,4,3,2,1,*p=a+3,a+2,a+1,a,*q=p,則 表 達(dá) 式*(p0+1)+*(q+2) 的值是() 。A5 B 4 C 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)該有如下關(guān)系()。A 只要求實(shí)參和形參個(gè)數(shù)相等B 只要求形參和實(shí)參順序相同C 只要求實(shí)參和形參數(shù)據(jù)類(lèi)型相
6、同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)輸出文件為()。A 鍵盤(pán)B 磁盤(pán)C 打印機(jī)D 顯示器20. C語(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
7、 項(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( “ %dn” ,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 222. 下列程序main() int i,j;char *a,c;a=” computer”;printf( “ %s” ,a);for(i=0,j=7;i<j;i+,
8、j-) c=ai;*(a+i)=*(a+j);aj=c;printf( “ n” ,a);c=aj-1,i=2+j;printf( “ a%d=%c n” ,i,c);運(yùn)行后輸出的數(shù)據(jù)為_(kāi) .A. computer->computer B. computer->retupmoca3=ua5=mC. computer->retupmoc D. computer->retupmoca4=pa2=t23. 下列程序int sum(int n) int p=1,s=0,i;for(i=1;i<=n;i+) s+=(p*=i);return s;main() printf(
9、 “ sum(5)=%d n” ,sum(5);運(yùn)行后輸出的數(shù)據(jù)為(5)=151 (5)=152 (5)=153 Dsum(5)=155#. 下列程序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ù)為=18,s2=14 =14,s2=32 =14,s2=18 =15,s2=1925. 下列程序int c=1;main()stat
10、ic int a=5;int b=6;printf( “ a=%d b=%n” ,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ù)為.A. a=5 b=6 c=1B. a=5 b=6 c=1a=6 b=21 c=11a=7 b=17 c=11a=5 b=6 c=11a=5 b=6 c=11a=8 b=31 c=21a=9 b=17 c=21C. a=5
11、b=6 c=1D. a=5 b=6 c=1a=6 b=21 c=11a=7 b=17 c=11a=6 b=21 c=11a=7 b=17 c=11a=8 b=31 c=21a=9 b=38 c=2126已知 struct studentchar * name;int student_n;char grade;struct student temp,*p=&temp;chou”;則下面不正確的是。表達(dá)式chou. nameB.(*p)-name+2hC.*p -name+2eD.*(p -name+2)o27. 下列程序#define MAX 10main() int i,sum,a =
12、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é)果是:=55 =-54 =-55 =54#. 下列程序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( “
13、%d,” ,ai);程序運(yùn)行結(jié)果:,2,3,4,5,6,7,7,9,11,9,7,7,6,5,4,3,2,0,7,9,11,0,6,7,5,4,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+,*
14、pb+);運(yùn)行后輸出的數(shù)據(jù)為A. 0 0C. 0 0D. 0 030. 下列程序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( “ %s n” ,s2);運(yùn)行后輸出的數(shù)據(jù)為() 。A. c_program 123 C. c_program123 D.
15、c_program12331. 下列程序:#include <>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é)果是(A. 把鍵盤(pán)輸入的字符串顯示在屏幕上B. 把鍵盤(pán)輸入的字符串中的數(shù)字字符刪掉,然后顯示該字符串C. 把鍵盤(pán)輸入的字符串中的字符0 和 9 刪掉,然后顯示該字符串D
16、. 只保留由鍵盤(pán)輸入的字符串中的字母數(shù)字,然后顯示該字符串32下列程序#include<>main() 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)輸入的字符串
17、中的小寫(xiě)字母變換成大寫(xiě)字母,然后顯示變換后的字符串。D. 把鍵盤(pán)輸入的字符串原封不動(dòng)地顯示在屏幕上。第二卷說(shuō)明: ( 1)第二卷含二大題,均屬填空題,每題各有5 個(gè)空欄,在閱讀和理解原題程序的基礎(chǔ)上,在空欄處填入適當(dāng)?shù)淖址?、語(yǔ)句,以構(gòu)成一個(gè)正確的C語(yǔ)言程序。( 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)等,從程序中找出
18、并輸出所有滿足上述條件的三位數(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*%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
19、 中。說(shuō)明:生成字符串s2 的過(guò)程是一個(gè)循環(huán),順序訪問(wèn)字符串s1 的每個(gè)字符;當(dāng)從某個(gè)字符開(kāi)始不能構(gòu)成與strl相同的子字符時(shí),就把該字符拷貝到數(shù)組 s2,當(dāng)從某個(gè)字符開(kāi)始能 構(gòu)成一個(gè)與strl相同的子字符串時(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=
20、s1,t1=str1;*t1!= 0 && ;t0+,t1+);if(*t1!= 0)*s2+=;else for(t1=str2;*t1!= 0 ;)*s2+=;*s2= 0;main() char s1=” abcdefg ababcd abab.char s280;replace(s1,s2, ” abc” , ” ABCXY” Z );printf( “n” ,s2);第一卷一基礎(chǔ)知識(shí)(20 項(xiàng),共 40 分)二簡(jiǎn)單程序第二卷 試 題一: n=k*k continue break n% 100/10 或(n-100*a)/10 或n/10-(n/100)*10 int
21、x,int y,int z試題二:*s1 或 s1!=' 0 ' *tO=*t1 或*t1=*t0 *s1+*t1+ s1 =tO 或 s1=s1+strlen(stU)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)的欄口中,用鉛筆將正確答案涂黑。在試題上直接勾劃不得分。(3) 本卷共分70分,其中第1 26題每題 2分,第27 32題每題 3分。第一部分:基礎(chǔ)
22、知識(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) $abc3、若有定義:int a=8 , b=5, c; ,執(zhí)行語(yǔ)句c=a/b 十;后, c 的值為()。( A) (B)1 (C) (D)24、設(shè)有int x=11 ;則表達(dá)式(x+*l/3) 的值為(0(A)3 (B)4 (C)11 (D)125、執(zhí)行 x=5>1+2&&2|2*4<4
23、-!0 后,x 的值為()。(A)-l (B)O (C)1 (D)56、以下變量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/z7、設(shè)有以下說(shuō)明語(yǔ)句struct exint x ; float y; char z ; example;則下面的敘述不正確的是() 。(A)struct 是結(jié)構(gòu)體類(lèi)型的關(guān)鍵字(B)example 是結(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均
24、為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) int n=5,an;11、下列程廳執(zhí)
25、行后的輸出結(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ù)是() 。int y , i ;for(i=O ; i<20 ; i+) if(i%2=0)continue;y+=i; /* */(A) 20 (B) 19 (C) 10 (D) 913、若用數(shù)組名作為函數(shù)
26、調(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)過(guò)下面的語(yǔ)句后int i , a10 , *p;定義后,下列語(yǔ)句中合法的是(A) p=1
27、00 :(B) p=a5;(C) p=a+2;(D) p=&(i+2)17、若有以下說(shuō)明和語(yǔ)句,則對(duì) pup中sex域的正確引用方式是( struct pupilchar name20 ;int sex ;pup , *p;p=&pup;18、若已定義了如下的共用體類(lèi)型變量 x,則x所占用的內(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 u
28、22;ua; myaa ;則 sizeof(struct test) 的值是 ()。(A) 12 (B) 16 (C) 14 (D)920、若要打開(kāi):A盤(pán)上user子目錄下名為的文本文件進(jìn)行讀、寫(xiě)操作,下面符合此要求的 函數(shù)調(diào)用是()。(A)fopen("A : user", "r")(B) fopen("A : user", "r+")(C)fopen("A : user","rb") (D) fopen("A: userl" , "w&quo
29、t;)第二部分:簡(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=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(&quo
30、t;>=85");case'B':case'C':printf(">=60");case'D':printf("<60");default : 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
31、(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 , b=1; a<=100; a+) if(b>=10) break ;if(b%3=1) b+=3; continue ; printf(&q
32、uot;%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)容是()。#include <>void fun(char *fname,char *st) FILE *myf; int i;myf=fopen(fname,"w");
33、for(i=0 ; i<strlen(st);i+)fputc(sti, myf) ;fclose(myf) ;main() fun("","new world");fun("","hello,");(A) hello , (B)new,worldhello (C) new,world (D)hello,rld28. 以下程序的運(yùn)行結(jié)果是()。#include <>main()static char s30="abcdefg" ;static char t="abcd
34、" ;int i,j ;i=0 ;while(si!='0')i+;j=0;whi1e(tj!='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
35、; 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)插入到鏈表末尾仍構(gòu)成單向鏈表的語(yǔ)句組是()。(A) p=p->next;s->next=p;p->next=s;(B) p=p->next;s->next=p->next;p->
36、;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 <>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)不確
37、定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第二卷說(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é)果。i
38、nt letter,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;others=O ;(3);printf("letter : %d,digit : %d,space: %d,other : %dn",letter,digitspace,others); i
39、nt count(char str)int i ;for(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è)字
40、符串的比較,即自己寫(xiě)個(gè)strcmp 函數(shù),函數(shù)原型為: int strcmp(char *p1,char *p2)設(shè)pl指向字符串si, p2指向字符串s2。要求:當(dāng)s1=s2時(shí),返回值為00當(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 stringn&q
41、uot;) ;scanf("%s",strl) ;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 碼的差值*/第一
42、卷第一部分:基礎(chǔ)知識(shí)第二部分:簡(jiǎn)單程序第二卷試題一:1、 str 2、 gets(text) 或 scanf( “ %s” ,text) 3、 count(text)4、 stri 5、 others+i=0試題二:6、 str1207、 str2 8、 &str209、 *p1 10C 語(yǔ)言程序設(shè)計(jì)( 卷)考核班級(jí)學(xué)生數(shù)印數(shù) 考核方式閉卷 考核時(shí)間120 分鐘( 本試卷包括第一卷和第二卷,答卷時(shí)間總共120 分鐘 )第一卷 本卷共70分,其中第126題每題 2分,第2732題每題3分。第一部分:基礎(chǔ)知識(shí)1、一個(gè)C語(yǔ)言程序是從開(kāi)始執(zhí)行的。A、程序中的第一個(gè)語(yǔ)句B、包含文件(頭文件)的第
43、一個(gè)函數(shù)C、名為main的函數(shù)D、程序中的第一個(gè)函數(shù)2、語(yǔ)句while(!E) 中的條件! E等價(jià)于A、 E=0 B、 E!=1 C、 E!=0 D、 E3、 若有以下類(lèi)型說(shuō)明語(yǔ)句:char w;int x;float y;double z;則表達(dá)式w*x+z-y 的結(jié)果為 類(lèi)型。A、 float B 、 double C 、 int D 、 char4、 一個(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的值為. x=(y=4,z=
44、16,k=32);A、 4 B、 16 C、 32 D、 526、 有以下程序:main( ) int i=10,j=1;printf( “ %d,%dn” ,i -,+j);執(zhí)行后輸出的結(jié)果是A、 9, 2 B、 10, 2 C、 9, 1 D、 10, 17、 以下指針s 的指字符串的長(zhǎng)度為char *s= ” Namen”;A、 19 B、 15 C、 18 D、 -12 8、設(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)&
45、&(x<4);x+)printf( “ “ );A、是無(wú)限循環(huán)(死循環(huán))B、循環(huán)次數(shù)不定C、共執(zhí)行4次循環(huán)D、共執(zhí)行3次循環(huán)10、 設(shè)有以下語(yǔ)句,則不是對(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語(yǔ)言
46、程序中的函數(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);default: printf( “ %d” ,i);執(zhí)行后輸出的結(jié)果是A、 011122 B、 012 C、 012020 D、 12014、 假定有以下變量定義:int k=7, x=12; 則能使值為3的表達(dá)式是A、 x%
47、=(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 %d n” ,x,y);A、 12 20 B 、 4 8 C 、 12 12 D 、 8 416、 有以下程序執(zhí)行后輸出的結(jié)果是main() int x8=8, 7, 6, 5, 0, 0, *s;s=x+3;printf( “ %d n” , s2);A 隨機(jī)值 B、0 C、5 D、617、 以下函數(shù)的功能是fun(char *s1,char *s2) int i=0;while
48、(s1i=s2i &&s2i!=0)i+;return(s1i= 0 &&s2i= 0 );A、將s2所指字符串賦給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 )類(lèi)型變量的生存期貫穿于整個(gè)程序的運(yùn)行期間C、函數(shù)的形參都屬于全局變量D未在定義語(yǔ)句中賦初值的auto變量和static變
49、量的初值都是隨機(jī)值19、 有以下程序,執(zhí)行后輸出的結(jié)果是main() int i=1,j=1,k=2;if (j+|k+)&&i+)printf( “ %d, %d,%d n” ,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、以上三種說(shuō)法都不對(duì)第二部分:簡(jiǎn)單程序21、 以下程序的輸出結(jié)果是:main( ) int i=10,j=
50、10;printf( “ %d ,%d n” ,+i+j+,j -);A、 21, 10 B、 20, 10 C、 21, 9 D、 20, 922、 以下程序的輸出結(jié)果是:main( ) int m=5;if (m+>5)printf( “ %d n” ,m);elseprintf( “ %d n” ,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
51、;A、 1 B、 2 C、 3 D、 6#號(hào)時(shí)24、 以下程序企圖把從終端輸入的字符輸出到名為的文件中,直到從終端讀入字符結(jié)束輸入和輸出操作,但程序有錯(cuò)。出錯(cuò)的原因是 #include <>main( ) FILE *fout;char ch;fout=fopen( , w );ch=fgetc(stdin);while(ch!= #)fputc(ch,fout);ch=fgetc(stdin);fclose(fout);A、函數(shù)fopen調(diào)用形式有誤B、輸入文件沒(méi)有關(guān)閉C、函數(shù)fgetc調(diào)用形式有誤D、文件指針stdin沒(méi)有定義25、 有以下程序,執(zhí)行后輸出結(jié)果是main()un
52、ion unsigned int n;unsigned char c;ul;= A;printf( “ %c n” ,;A、產(chǎn)生語(yǔ)法錯(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+)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;retu
53、rn(m);main() int k=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í),如果從鍵盤(pán)上輸入:ABCdef,則輸出結(jié)果為:#include <> main( ) char ch;while(ch=getchar()!= n) if(ch>= A &&ch<= Z)ch=ch+32;else if(ch>= a && ch<= z
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 代購(gòu)合同范例版
- 2024年大數(shù)據(jù)分析與應(yīng)用服務(wù)合同協(xié)議
- 單位保密合同范例
- 培訓(xùn)項(xiàng)目合作合同范例
- 2024勞動(dòng)時(shí)間與加班管理規(guī)定合同
- 地產(chǎn)材料供應(yīng)合同范例
- 劇組聘用合同模板
- 商品房貸款抵押合同范例
- 合伙人項(xiàng)目合作合同范例
- 企業(yè)人事聘用合同模板
- 回收PET塑料資源化利用及產(chǎn)業(yè)化進(jìn)展研究
- 英語(yǔ)-浙江省湖州、衢州、麗水2024年11月三地市高三教學(xué)質(zhì)量檢測(cè)試卷試題和答案
- 勞動(dòng)技術(shù)教案
- 大學(xué)美育(同濟(jì)大學(xué)版)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 勞動(dòng)法律學(xué)習(xí)試題
- 過(guò)敏性休克完整版本
- 應(yīng)急第一響應(yīng)人理論考試試卷(含答案)
- DZ∕T 0213-2020 礦產(chǎn)地質(zhì)勘查規(guī)范 石灰?guī)r、水泥配料類(lèi)(正式版)
- 2024年湖北省工業(yè)建筑集團(tuán)有限公司招聘筆試參考題庫(kù)含答案解析
- 軟件工程師專業(yè)人物訪談
- 招商銀行無(wú)追索權(quán)公開(kāi)型國(guó)內(nèi)保理業(yè)務(wù)操作規(guī)程
評(píng)論
0/150
提交評(píng)論