版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、(C語言程序設(shè)計)(卷)考核班級學(xué)生數(shù)印數(shù)考核方式閉卷考核時間120分鐘(本試卷包括第一卷和第二卷,答卷時間總共120分鐘)第一卷第一部分:基礎(chǔ)知識20項,共40分1、一個C語言程序是由組成的。A、主程序B、子程序C、函數(shù)D、過程2、轉(zhuǎn)換說明符x的輸出形式是。A、十進制B、八進制C、十六進制D、二進制3、假設(shè)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、假設(shè)x、y、z均為int型變量,那么執(zhí)行以下語句后的z值為。x=1;y=2;z=3;z=(x&g
2、t;y)?z:y;z=(z<y)?z:x;A、1B、4C、2D、35、下面標(biāo)識符中,合法的用戶標(biāo)識符為。A、P#AdB、12aC、charD、_int6、 A+3的結(jié)果是。A、AB、D'白勺ASCH碼C、65D、37、語句charstr20;說明str是一個字符串,最多能表示。A、20個字符B、19個字符C、18個字符D、21個字符8、將int型變量n轉(zhuǎn)換成float型變量的方法是。A、floatnB、(float)nC、float(n)D、21個字符9、以下不正確的描述是。A、 使用while和do-while循環(huán)時,循環(huán)變量初始化的操作應(yīng)在循環(huán)語句之前完成B、 while循環(huán)
3、是先判斷表達式后執(zhí)行循環(huán)體語句C、 do-while和for循環(huán)均是先執(zhí)行循環(huán)體語句,后判斷表達式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),接著下次循環(huán)11、下面是一個初始化指針的語句:int*px=&a;其中指針變量的名字應(yīng)該是A、*pzB、aC、pxD、&a12、假設(shè)指針px為空指針,那么。A、px指向不定B、px的值為零13、關(guān)于語句int*px10,以下說法正確的選項是。
4、A. px是一個指針,指向一個數(shù)組,數(shù)組的元素是整數(shù)型。B. px是一個數(shù)組,其數(shù)組的每一個元素是指向整數(shù)的指針。C. A和B均錯,但它是C語言的正確語句。D. C語言不同意如此的語句。14、具有相同基類型的指針變量P和數(shù)組變量Y,以下寫法中不合法的是。A、P=YB、*P=YiC、P+&YiD、P=&Y15、staticinta=5,4,3,2,1,*p=a+3,a+2,a+1,a,*q=p,那么表達式*(p0+1)+*(q+2)的值是。A、5B、4C、6D、716、for(;n>=1;n-),以下語句實現(xiàn)將S2所指字符數(shù)組中前n個字符復(fù)制到S1所指字符數(shù)組中,其中代碼不
5、正確的選項是。A、*S1+=*S2+B、S1n-1=S2n-1C、*S1+n-1=*(S2+n-1)D、*+S1=*+S217、調(diào)用函數(shù)的實參與被調(diào)用函數(shù)的形參應(yīng)該有如下關(guān)系A(chǔ)、只要求實參和形參個數(shù)相等B、只要求形參和實參順序相同C、只要求實參和形參數(shù)據(jù)類型相同D、上述三點均需具備18、聯(lián)合體成員的數(shù)據(jù)類型。A、相同B、能夠不同也能夠相同、是結(jié)構(gòu)體變量19、由系統(tǒng)分配和操縱的標(biāo)準(zhǔn)輸出文件為A、鍵盤B、磁盤C、打印機D、顯示器20、C語言標(biāo)準(zhǔn)庫函數(shù)fread(fd,buffer,n)的功能是A、從文件fdB、從文件fdC、從文件fdD、從文件fd中讀取長度不超過中讀取長度不超過中讀取長度不超過中
6、讀取長度不超過n 個字節(jié)的數(shù)據(jù)送入 buffer 指向的內(nèi)存區(qū)域n-1 個字節(jié)的數(shù)據(jù)送入 buffer 指向的內(nèi)存區(qū)域n 個字符送入 buffer 指向的內(nèi)存區(qū)域n-1 個字符送入 buffer 指向的內(nèi)存區(qū)域第二部分:簡單程序12項,共30分21、以下程序main()intx,y,z;x=y=2;z=3;y=z+-1;printf(“%dt%dt”,x,y);y=+x-1;printf(“%dt%dn”,x,y);y=z-1;printf(“%dt%dt”,z,y);y=-z-1;printf(“%dt%dn”,z,y);運行后輸出的數(shù)據(jù)為?。A.3142B.3133C.2232D.2132
7、241324223321131222. 以下程序main()inti,j;char*a,c;a=”computerprintf(“%s”,a);for(i=0,j=7;i<j;i+,j-)c=ai;*(a+i)=*(a+j);aj=c;printf(“->%sn”,a);c=aj-1,i=2+j;printf(“a%d=%cn”,i,c);運行后輸出的數(shù)據(jù)為_.A.computer->computerB.computer->retupmoca3=ua5=mC.computer->retupmocD.computer->retupmoca4=pa2=t23.
8、以下程序intsum(intn)intp=1,s=0,i;for(i=1;i<=n;i+)s+=(p*=i);returns;main()printf(“sum(5)=%dn”,sum(5);運行后輸出的數(shù)據(jù)為A.sum(5)=151B.sum(5)=152C.sum(5)=153Dsum(5)=15524. 以下程序main()staticinta=5,6,7,3,2,9;ints1,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”,s
9、1,s2);運行后輸出的數(shù)據(jù)為A.s1=18,s2=14B.s1=14,s2=32C.s1=14,s2=18D.s1=15,s2=1925.以下程序intc=1;main()staticinta=5;intb=6;printf(“a=%db=%dc=%dn”,a,b,c);func();printf(“a=%d,b=%d,c=%dn”,a,b,c);func();func()staticinta=4;intb=10;a+=2;c+=10;b+=c;printf(“a=%d,b=%d,c=%dn”,a,b,c);運行后輸出的數(shù)據(jù)為.A.a=5b=6c=1B.a=5b=6c=1a=6b=21c=1
10、1a=7b=17c=11a=5b=6c=11a=5b=6c=11a=8b=31c=21a=9b=17c=21C.a=5b=6c=1D.a=5b=6c=1a=6b=21c=11a=7b=17c=11a=6b=21c=11a=7b=17c=11a=8b=31c=21a=9b=38c=2126、structstudentchar*name;intstudent_n;chargrade;structstudenttemp,*p=&temp;=”chou”;那么下面不正確的選項是。表達式值A(chǔ).pfnamechouB.(*p)-name+2hC.*pfname+2eD.*(p-n
11、ame+2)o27. 以下程序#defineMAX10main()inti,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);程序運行結(jié)果是:A.SUM=55B.SUM=-54C.SUM=-55D.SUM=5428. 以下程序voidinv(int*x,intn)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()staticinti,a10=3,7,9,1
12、1,0,6,7,5,4,2;inv(a,10);for(i=0;i<10;i+)printf(“%d,”,ai);程序運行結(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()inta10,b10,*pa,*pb,i;pa=a;pb=b;for(i=0;i<3;i+,pa+,pb+)*pa=i;*pb=2*i;printf(“%dt%dn”,*pa,*pb);printf(“n”);pa=&a0;pb=&b0;f
13、or(i=0;i<3;i+)*pa=*pa+i;*pb=*pb*i;printf(“%dt%dn”,*pa+,*pb+);運行后輸出的數(shù)據(jù)為。A.00B.00C.00D.001212242400002222482430. 以下程序12222424000012122448copy_string(from,to)char*from,*to;while(*from)*to+=*from+;*to=0;main()staticchars1=”c_program.”;staticchars280;copy_string(s1,s2);printf(“%sn”,s2);copy_string(“12
14、3”,s2);printf(“%sn”,s2);運行后輸出的數(shù)據(jù)為。A.c_program123B.123C.c_program123D.c_program12331. 以下程序:#include<stdio.h>main()chara40,b40;inti,j;printf(“Enterthestring:”);scanf(“%s”,a);i=j=0;while(ai!=0)if(!(ai>=0&&ai<=9)bj=ai;j+;+i;bj=0;printf(“%s”,b);運行后輸出的結(jié)果是。A. 把鍵盤輸入的字符串顯示在屏幕上B. 把鍵盤輸入的字符串
15、中的數(shù)字字符刪掉,然后顯示該字符串C. 把鍵盤輸入的字符串中的字符0和9刪掉,然后顯示該字符串D. 只保留由鍵盤輸入的字符串中的字母數(shù)字,然后顯示該字符串32、以下程序#include<stdio.h>main()chara80;inti,j;printf(“Enterthestring:”);scanf(“%s”,a);i=0;while(ai!=0)if(ai>=A&&ai<=Z)ai=ai-A+a;printf(“%s”,a);運行后輸出的結(jié)果是。A. 把鍵盤輸入的字符串中的大寫字母變換成小寫字母,然后顯示變換后的字符串。B. 把鍵盤輸入的字符串中
16、的數(shù)字字符刪除掉,然后顯示該字符串。C. 把鍵盤輸入的字符串中的小寫字母變換成大寫字母,然后顯示變換后的字符串。D. 把鍵盤輸入的字符串原封不動地顯示在屏幕上。第二卷說明:1第二卷含二大題,均屬填空題,每題各有5個空欄,在閱讀和理解原題程序的基礎(chǔ)上,在空欄處填入適當(dāng)?shù)淖址⒄Z句,以構(gòu)成一個正確的C語言程序。2每空欄填對得3分,兩大題共10個空欄,全填對得30分。試題一一個整數(shù)稱為完全平方數(shù),是指它的值是另一個整數(shù)的平方。如81是個完全平方數(shù),因為它是9的平方。以下程序是在三位的正整數(shù)中查找符合以下條件的整數(shù):它既是完全平方數(shù),且三位數(shù)字中又有兩位數(shù)字相同:例如14412*12、67626*26
17、等,從程序中找出并輸出所有滿足上述條件的三位數(shù)。程序如下:main()intn,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”n,n,k,k);flagreturn(!(x-y)*(x-z)*(y-z);試題二以下程序所列函數(shù)replace(char*s1,char*s2,charstr1,char*str2)的功能是將字符串s1中的所有與字符串str1相同的子串替換成字符串str2,并將替換后所生成的新的字符串存于字符數(shù)組s2中。說明:生成字符串s2的過
18、程是一個循環(huán),順序訪問字符串s1的每個字符;當(dāng)從某個字符開始不能構(gòu)成與strl相同的子字符時,就把該字符拷貝到數(shù)組s2,當(dāng)從某個字符開始能構(gòu)成一個與str1相同的子字符串時,就將字符串str2的各字符拷貝到字符數(shù)組s2,并接著訪問字符串s1中那個子串之后的字符,直至字符串s1被訪問完畢,字符復(fù)制即告結(jié)束。以下程序運行的結(jié)果是輸出:ABCXYZdefgabABCXYZdabab程序如下:replace(char*s1,char*s2,char*str1,char*str2)char*t0,*t1,*t2;while()for(t0=s1,t1=str1;*t1!=0&&t0+,t
19、1+);if(*t1!=0)*s2+=;elsefor(t1=str2;*t1!=0;)*s2+=;*s2=0;main()chars1=”abcdefgababcdabab.”;chars280;replace(s1,s2,”abc”,”ABCXYZ”);printf(“%sn”,s2);參考答案第一卷一、基礎(chǔ)知識20項,共40分1.C2.C3.C4.A5.D6.B7.B8.B9.C10.A11.C12.B13.B14.D15.A16.D17.D18.B19.D20.A二、簡單程序21.C22.B23.C24.C25.A26.B27.B28.D29.A30.D31.B32.A第二卷試題一:門
20、二卜continuebreakn%100/10或(n-100*a)/10或n/10-(n/100)*10intx,inty,intz試題二:*s1或s1!='0'*t0=*t1或*t1=*t0*s1+*t1+s1=t0或s1=s1+strlen(str1)C語言程序設(shè)計卷考核班級學(xué)生數(shù)印數(shù)考核方式閉卷考核時間120分鐘(本試卷包括第一卷和第二卷,答卷時間總共120分鐘)第一卷說明:(1)第一卷全部為選擇題,每題可供選擇的答案中,只有一個正確答案。(2) 答本卷的題目時,要在標(biāo)準(zhǔn)答題紙上編號對應(yīng)的欄口中,用鉛筆將正確答案涂黑。在試題上直截了當(dāng)勾劃不得分。(3) 本卷共分70分,其
21、中第126題每題2分,第2732題每題3分。第一部分:基礎(chǔ)知識(20題,共40分)1、一個C語言的源程序中,。(A)必須有一個主函數(shù)(B)能夠有多個主函數(shù)(C)必須有主函數(shù)和其他函數(shù)(D)能夠沒有主函數(shù)2、以下數(shù)據(jù)中,為字符串常量的是。(A)A(B)“house”(C)Howdoyoudo、(D)$abc3、假設(shè)有定義:inta=8,b=5,c;,執(zhí)行語句c=a/b十0.4;后,c的值為。A)1.4(B)1(C)2.0(D)24、設(shè)有intx=11;那么表達式(x+*l/3)的值為。(A)3(B)4(C)11(D)125、執(zhí)行x=5>1+2&&2|2*4<4-!0后
22、,x的值為。(A)-l(B)O(C)1(D)56、以下變量x、y、z均為double類型且已正確賦值,不能正確表示數(shù)學(xué)式子:(x)/(yxz)的c語言表達式是。(A)x/y*z(B)x*(1/(y*z)(C)x/y*1/z(D)x/y/z7、設(shè)有以下說明語句structexintx;floaty;charz;example;那么下面的表達不正確的選項是。(A)struct是結(jié)構(gòu)體類型的關(guān)鍵字(B)example是結(jié)構(gòu)體類型名(C)x,y,z基本上結(jié)構(gòu)體成員名(D)structex是結(jié)構(gòu)體類型8、假定wx、y、z、m均為int型變量;有如下程序段:w=1;x=2;y=3;z=4;m=(w<
23、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ù)時,假如實參是簡單變量,它與對應(yīng)形參之間的數(shù)據(jù)傳遞方式是(C)由實參傳給形參,再由形參傳回實參(D)傳遞方式由用戶指定10、以下定義語句中,錯誤的選項是。(A)inta=1,2;(B)char*a3;(C)chars10=“text”;(D)intn=5,an;11、以下程廳執(zhí)行后的輸出結(jié)果是。main()chararr24;strcpy(arr,“you”);strcpy(arr1,“me”);arr03='&';(A)
24、you&me(B)you(C)me(D)err12、標(biāo)有/*/的語句的執(zhí)行次數(shù)是。inty,i;for(i=O;i<20;i+)if(i%2=0)continue;y+=i;/*/(A)20(B)19(C)10(D)913、假設(shè)用數(shù)組名作為函數(shù)調(diào)用的實參,傳遞給形參的是。(A)數(shù)組的首地址(B)數(shù)組第一個元素的值(C)數(shù)組中全部元素的值(D)數(shù)組元素的個數(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í)行下面的語句后,表達式*(p0+1)+*(q+2)的值為。inta=5,
25、4,3,2,1,*p=a+3,a+2,a+1,a,*q=p;(A)8(B)7(C)6(D)516、通過下面的語句后inti,a10,*p;定義后,以下語句中合法的是。(A)p=100:(B)p=a5;(C)p=a+2;(D)p=&(i+2);17、假設(shè)有以下說明和語句,那么對pup中sex域的正確引用方式是。structpupilcharname20;intsex;pup,*p;p=&pup;(A)p.pup.sex(B)p->pup.sex(C)(*p).pup.sex(D)(*p).sex18、假設(shè)已定義了如下的共用體類型變量x,那么x所占用的內(nèi)存字節(jié)數(shù)為uniond
26、atainti;charch;doublef;x;(A)7(B)11(C)8(D)1019、假設(shè)有下面的說明和定義:structtestintm1;charm2;floatm3;unionuucharu15;intu22;ua;myaa;那么sizeof(structtest)的值是。20、假設(shè)要打開:A盤上user子目錄下名為abc.txt的文本文件進行讀、寫操作,下面符合此要求的函數(shù)調(diào)用是。(A)fopen(“A:userabc.txt”,“r”)(B)fopen(“A:userabc.txt”,“r+”)(C)fopen(“A:userabc.txt”,“rb”)(D)fopen(“A:
27、userlabc.txt”,“w”)第二部分:簡單程序(12題,共30分)21、以下程序的運行情況是。main()inti=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)運行出現(xiàn)錯誤22、假設(shè)輸入B,以下程序的運行結(jié)果為0。main()chargrade;scanf(“%c”,&grade);switch(grade)case'A':printf(“>=85”);case'B':case
28、39;C':printf(“>=60”);case'D':printf(“<60”);default:printf(“error”);(A)>=85(B)>=60(C)>=60<60error(D)error23. 有如下程序main()intx=23;doprintf(“%d”,x-);while(!x);該程序的執(zhí)行結(jié)果是。(A)321(B)23(C)不輸出任何內(nèi)容(D)陷入死循環(huán)24. 有如下程序intfunc(inta,intb)return(a+b);main()intx=2,y=5,z=8,r;r=func(func(x,
29、y),z);printf(“%dn”,r);該程序的輸出結(jié)果是。(A)12(B)13(C)14(D)1525. 以下程序的輸出結(jié)果是。main()inta,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é)果是。inta,b;voidfun()a=100;b=200;main()inta=5,b=7;fun();printf(“%d%dn”,a,b);(A)100200(B)57(C)200100(D)7527. 下面
30、的程序執(zhí)行后,文件test、t中的內(nèi)容是。#include<stdio.h>voidfun(char*fname,char*st)FILE*myf;inti;myf=fopen(fname,“w”);for(i=0;i<strlen(st);i+)fputc(sti,myf);fclose(myf);main()fun(“test.t”,“newworld”);fun(“test.t”,“hello,”);(A)hello,(B)new,worldhello(C)new,world(D)hello,rld28.以下程序的運行結(jié)果是。#include<stdio.h>
31、;main()staticchars30=“abcdefg”;staticchart=“abcd”;inti,j;i=0;while(si!='0')i+;j=0;whi1e(tj!='0')si+j=tj;j+;si+j='0';(A)abcdabcdefg(B)abcdefg(C)abcd(D)abcdefgabcd29.有如下程序main()charch25=“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>'
32、0';j+=2)s=10*s+pij-'0';printf(“%dn”,s);該程序的輸出結(jié)果是。(A)69825(B)63825(C)6385(D)69382530. 假設(shè)已建立如下圖所示的單向鏈表結(jié)構(gòu)在該鏈表中,指針p,s分別指向圖中所示結(jié)點,那么不能將s所指的結(jié)點插入到鏈表末尾仍構(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->ne
33、xt=s(D)p=(*p).next;(*s).next=(*p).next;(*p).next=s;31. 請選擇正確的運行結(jié)果填入中。include<stdio.h>intx,y;num()inta=15,b=10;intx,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)不確定32. 以下程序的輸出結(jié)果是。#defineM(x,y,z)x*y+zmain()inta=1,b=2,c=3;(A)19(B)17(C)15(D)1
34、2第二卷說明:(1)第二卷含兩大題,均屬填空題,每題各有5個空欄,在閱讀和理解原題程序的基礎(chǔ)上,在空欄處填入適當(dāng)?shù)淖址?、語句,以構(gòu)成一個正確的C語言程序。(2)每空欄填對得3分,兩大題共10個空欄,全對得30分。試題一:有一函數(shù),實參傳來一個字符串,統(tǒng)計此字符串中字母、數(shù)字、空各和其他字符的個數(shù),在主函數(shù)中輸入字符串以及輸出上述的結(jié)果。intletter,digit,space,others;/*是全局變量*/main()intcount(char(1);chartext80;printf(“nlnputstring:n”);(2)_;printf(“string:”);puts(text);
35、letter=O;digit=O;space=O;others=O;(3);printf(“l(fā)etter:%d,digit:%d,space:%d,other:%dn”,letter,digit,space,others);intcount(charstr)inti;for(i=O;stri!='0';i+)if(4)>='a'&&stri<='z')|(stri>='A'&&stri<='Z')letter+;elseif(stri>='0
36、39;&&stri<='9')digit+;elseif(stri='')space+;else(5);試題二:把以下程序補充完整,實現(xiàn)兩個字符串的比較,即自己寫個strcmp函數(shù),函數(shù)原型為:intstrcmp(char*p1,char*p2)設(shè)pl指向字符串si,p2指向字符串s2o要求:當(dāng)s1=s2時,返回值為0。當(dāng)sl<>s2時,返回它們兩者的第一個不同的字符的ASCII碼差值(如“BOY與"BAD,第二個字母不同,"O'與"A”之差為79-65=14);假如s1>s2,那么輸
37、出正值;假如sl<s2,那么輸出負(fù)值。main()intm;printf(“Inputtwostring:n”);scanf(“%s”,strl);scanf(“%s”,_(7);p1=&strl0;p2=(8);m=strcmp(p1,p2);printf(“result:%d,n”,m);strcmp(char_(9),char*p2)/*兩個字符串比較的函數(shù)*/inti;(10);while(*(pl+i)=*(p2+i)if(*(p1+i+)='0')return(0);return(*(pl+i)-*(p2+i);/*不等時返回結(jié)果為第一個不等字符ASC
38、II碼的差值*/參考答案第一卷第一部分:基礎(chǔ)知識1.A2.B3.B4.A5.C6.A7.B8.D9.B10.D11.A12.C13.A14.A15.D16.C17.D18.C19.A20.B第二部分:簡單程序21.D22.C23.B24.D25.D26.B27.A28.D29.C30.A31.A32.D第二卷試題一:1、str2、gets(text)或scanf(“%s”,text)3、count(text)4、stri5、others+試題二:6、str1207、str28、&str209、*p110、i=0C語言程序設(shè)計卷考核班級學(xué)生數(shù)印數(shù)考核方式閉卷考核時間120分鐘(本試卷包括
39、第一卷和第二卷,答卷時間總共120分鐘)第一卷本卷共70分,其中第126題每題2分,第2732題每題3分。第一部分:基礎(chǔ)知識1、一個C語言程序是從開始執(zhí)行的。A、程序中的第一個語句B、包含文件頭文件的第一個函數(shù)C名為main的函數(shù)D程序中的第一個函數(shù)2、語句while(!E)中的條件!E等價于AE=0RE!=1C、E!=0D、E3、假設(shè)有以下類型說明語句:charw;intx;floaty;doublez;那么表達式w*x+z-y的結(jié)果為類型。AfloatB、doubleC、intD、char4、一個函數(shù)返回值的類型是由決定的Areturn語句中的表達式類型;B、定義函數(shù)時所指定的函數(shù)類型C調(diào)
40、用該函數(shù)的函數(shù)的類型D調(diào)用函數(shù)時臨時類型5、設(shè)x、y、z和k基本上int型變量,那么執(zhí)行以下表達式后,變量x的值為x=(y=4,z=16,k=32);A4B、16C、32D、526、有以下程序:main()inti=10,j=1;printf("d,%dn”,i-,+j);執(zhí)行后輸出的結(jié)果是A9,2B、10,2C、9,1D、10,17、以下指針s的指字符串的長度為char*s="'NameAddressn"A19B、15c18D、-128、設(shè)有語句inta=3;那么執(zhí)行了語句a+=a-=a*a;后,變量a的值是A3B、0G9Dk-129、關(guān)于下面的for循
41、環(huán)語句,能夠斷定它。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.10、設(shè)有以下語句,那么不是對a數(shù)組元素的正確引用,其中0iinta10=0,1,2,3,4,5,6,7,8,9;int*p=a;A、ap-5B、*(&ai)C、aiD、*(a+i)11、為了判斷兩個字符串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、關(guān)于C語言
42、程序中的函數(shù),以下表達中正確的選項是A、函數(shù)的定義不能嵌套,但函數(shù)調(diào)用能夠嵌套日函數(shù)的定義可嵌套,但函數(shù)的調(diào)用不能嵌套C函數(shù)的定義和調(diào)用均不能嵌套D函數(shù)的定義和調(diào)用均可嵌套13、有以下程序main()inti;for(i=0;i<3;i+)switch(i)case1:printf(“%d”,i);case2:printf(“%d”,i);default:printf(“%d”,i);執(zhí)行后輸出的結(jié)果是A、011122B、012C、012020D、12014、假定有以下變量定義:intk=7,x=12;那么能使值為3的表達式是A、x%=(k%=5)B、x%=(k-k%5)C、x%=(k-
43、k%5)D、(x%=k)-(k%=5)15、以下程序的輸出結(jié)果是main()intx=4,y=8;x+=y;y+=x;printf(“%d%dn”,x,y);A、1220B、48C、1212D、8416、有以下程序執(zhí)行后輸出的結(jié)果是main()intx8=8,7,6,5,0,0,*s;s=x+3;printf(“%dn”,s2);A隨機值B、0C、5n617、以下函數(shù)的功能是fun(char*s1,char*s2)inti=0;while(s1i=s2i&&s2i!=0)i+;return(s1i=0&&s2i=0);A將s2所指字符串賦給si日比較si和s2所
44、指字符串的大小,假設(shè)si比s2的大,函數(shù)值為1,否那么函數(shù)值為0C比較si和s2所指字符串是否相等,假設(shè)相等,函數(shù)值為1,否那么函數(shù)值為0D比較si和s2所指字符串的長度,假設(shè)si比s2的長,函數(shù)值為1,否那么函數(shù)值為018、以下表達中正確的選項是A、全局變量的作用域一定比局部變量的作用域范圍大日靜態(tài)static類型變量的生存期貫穿于整個程序的運行期間C函數(shù)的形參都屬于全局變量D未在定義語句中賦初值的auto變量和static變量的初值基本上隨機值19、有以下程序,執(zhí)行后輸出的結(jié)果是main()inti=1,j=1,k=2;if(j+|k+)&&i+)printf(“%d,%d
45、,%dn”,i,j,k);A、1,1,2B、2,2,1C、2,2,2D、2,2,320、以下函數(shù)abc的功能是intabc(char*ps)char*p;p=ps;while(*p+);return(p-ps);A、比較兩個字符串的大小日求字符串的長度C將串ps復(fù)制到串p中H以上三種說法都不對第二部分:簡單程序21、以下程序的輸出結(jié)果是:main()inti=10,j=10;printf(“%d,%dn”,+i+j+,j-);A、21,10B、20,10C、21,9D、20,922、以下程序的輸出結(jié)果是:main()intm=5;if(m+>5)printf(“%dn”,m);elsep
46、rintf(“%dn”,m-);A、7B、6C、5D、423、當(dāng)a=1,b=3,c=5,d=4時,執(zhí)行下面一段程序后,x的值為if(a<b)if(c<d)x=1;elseif(a<c)if(b<d)x=2;elsex=3;elsex=6;elsex=7;A、1B、2C、3D、624、 以下程序企圖把從終端輸入的字符輸出到名為abc.txt的文件中,直到從終端讀入字符#號時結(jié)束輸入和輸出操作,但程序有錯。出錯的緣故是#include<stdio.h>main()FILE*fout;charch;fout=fopen(abc.txt,w);ch=fgetc(st
47、din);while(ch!=#)fputc(ch,fout);ch=fgetc(stdin);fclose(fout);A函數(shù)fopen調(diào)用形式有誤日輸入文件沒有關(guān)閉C函數(shù)fgetc調(diào)用形式有誤D文件指針stdin沒有定義25、有以下程序,執(zhí)行后輸出結(jié)果是main()unionunsignedintn;unsignedcharc;ul;ul.c=A;printf(“%cn”,ul.n);A產(chǎn)生語法錯B、隨機值CAD6526、有以下程序,執(zhí)行后輸出結(jié)果是main()intm3=1,4,7,2,5,8,3,6,9;inti,k=2;for(i=0;i<3;i+)printf(“%d”,mk
48、i);A、456B、258C、369D、78927、以下程序運行后,輸出結(jié)果是intfunc(inta,intb)staticintm=0,i=2;i+=m+1;m=i+a+b;return(m);main()intk=4,m=1,n;n=func(k,m);printf(“%d,”,n);n=func(k,m);printf(“%d”,n);A、8,15B、8,16C、8,17D、8,828、在執(zhí)行以程序時,假如從鍵盤上輸入:ABCdef,那么輸出結(jié)果為:#include<stdio.h>main()charch;while(ch=getchar()!=n)if(ch>=A
49、&&ch<=Z)ch=ch+32;elseif(ch>=a&&ch<=z)ch=ch-32;printf(“%c”,ch);printf(“n”);A、ABCdefB、abcDEFC、abcD、DEF29、有以下程序,執(zhí)行后輸出結(jié)果是int*f(int*x,int*y)if(*x<*y)returnx;elsereturny;main()inta=7,b=8,*p,*q,*r;p=&a;q=&b;r=f(p,q);printf(“%d,%d,%dn”,*p,*q,*r);A、7,8,8B、7,8,7C、8,7,7D、8,7
50、,830、下面程序的輸出結(jié)果是fun(char*s,intp1,intp2)charc;while(p1<p2)c=sp1;sp1=sp2;sp2=c;p1+;p2-;main()chara=”ABCDEF”G,k,*p;fun(a,0,2);fun(a,4,6);printf(“%sn”,a);A、ABCDEFG、BDEFGABC、CGFEDCBA、DCBADGFE31、以下程序的運行結(jié)果是#include<stdio.h>longfunc(intx)longp;if(x=0|x=1)return(2);p=x*func(x-1);return(p);main()print
51、f(“%dn”,func(4);A、8B、12C、24D、4832、下面的程序運行后,全局量t.x和t.s的正確結(jié)果為structtreeintx;char*s;t;func(structtreet)t.x=10;t.s=”computer”;return(0);main()t.x=1;t.s=”minicomputer”;func(t);printf(“%d,%s”,t.x,t.s);A、10,computerB、1,computerC、1,minicomputerD、10,minicomputer第二卷說明:1第二卷均為填空題,在閱讀和理解原題程序的基礎(chǔ)上,在空欄處填入適當(dāng)?shù)淖址?、語句以構(gòu)
52、成一個正確的C語言程序。2答本卷的題目時,要在本卷答題紙上編號對應(yīng)的欄目中,用鋼筆或圓珠筆書寫。用鉛筆答題無效,在試題上直截了當(dāng)答題者無效。請勿在第一卷的答題卡上填寫本卷答案。3每空欄3分,共10個空欄,共30分。試題一以下程序是求1+1/2+1/4+1/50的值。#include“stdio.h”main()inti=2;floatsum=1;while(_(1)sum=sum+1.0/i;(2);printf(“sum=%f”,sum);試題二以下函數(shù)用于統(tǒng)計一行字符中的單詞個數(shù),單詞之間用空格分隔。word_num(charstr)inti,num=0,word=0;for(i=0;stri!=(3)_;i+)if(4)=)word=0;elseif(word=0)word=1;(5);return(num);試題三以下函數(shù)的功能是刪除字符串s中的所有數(shù)字字符。voiddele(char*s)intn=0,i;for(i=0;si;i+)if(6)sn+=si;sn=(7);試題四以下程序的功能是:從鍵盤輸入假設(shè)干個學(xué)生的成績,統(tǒng)計計算出平均成績,并輸出低于平均分的學(xué)生成績,用輸入負(fù)數(shù)結(jié)束輸入。main()floatx1000,sum=0.0,ave,a;intn=0,i;printf(“En
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 簡單代購合同范本
- 上海老人房屋租賃合同范本
- 服裝fob合同范本
- 中國二氧化碳行業(yè)分析報告:進出口貿(mào)易、行業(yè)現(xiàn)狀、前景研究(智研咨詢發(fā)布)
- 疫情期間國外購物合同范本
- 2024年廣告拍攝模特信息保密協(xié)議
- 旅游用地合同范本
- 齊齊哈爾大學(xué)《機械原理》2023-2024學(xué)年第一學(xué)期期末試卷
- 承包小賣鋪合同范本
- 苗圃用工合同范本
- 高中數(shù)學(xué)教師的專業(yè)發(fā)展路徑
- 《地球是怎樣形成的》課件
- 建筑機電系統(tǒng)全過程調(diào)試技術(shù)及工藝
- 六西格瑪之控制階段詳解
- 《領(lǐng)導(dǎo)梯隊:全面打造領(lǐng)導(dǎo)力驅(qū)動型公司》解讀
- 護理質(zhì)量安全與風(fēng)險管理的案例分析
- 工程流體力學(xué)課后習(xí)題答案-(杜廣生)
- AI智能客服應(yīng)用實踐
- 幕墻工程檢驗批質(zhì)量驗收記錄
- 危險化學(xué)品經(jīng)營企業(yè)安全生產(chǎn)獎懲制度范本
- 報價單模板完
評論
0/150
提交評論