版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
PAGEPAGE4閱卷人一、選擇題。(每空2分,共計(jì)40分)本試卷包括第一卷和第二卷,答卷時(shí)間總共120分鐘)第一卷第一部分:基礎(chǔ)知識(shí)(20項(xiàng),共40分)1.一個(gè)C語言程序是由(C)組成的。A.主程序B.子程序C.函數(shù)D.過程2.轉(zhuǎn)換說明符%x的輸出形式是(C)。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(““);的正確說法是(C)。A.循環(huán)體只執(zhí)行一次B.死循環(huán)C.循環(huán)體一次也不執(zhí)行D.輸出4.若x、y、z均為int型變量,則執(zhí)行下列語句后的z值為(A)。x=1;y=2;z=3;z=(x>y)?z:y;z=(z<y)?z:x;A.1B.4C.2D.35.下面標(biāo)識(shí)符中,合法的用戶標(biāo)識(shí)符為(D)。A.P#AdB.12aC.charD._int6.‘A’+3的結(jié)果是(B)。A.’A’B.’D’的ASCⅡ碼C.65D.37.語句charstr[20];說明str是一個(gè)字符串,最多能表示(B)。A.20個(gè)字符B.19個(gè)字符C.18個(gè)字符D.21個(gè)字符8.將int型變量n轉(zhuǎn)換成float型變量的方法是(B)。A.floatnB.(float)nC.float(n)D.21個(gè)字符9.以下不正確的描述是(C)。A.使用while和do-while循環(huán)時(shí),循環(huán)變量初始化的操作應(yīng)在循環(huán)語句之前完成B.while循環(huán)是先判斷表達(dá)式后執(zhí)行循環(huán)體語句C.do-while和for循環(huán)均是先執(zhí)行循環(huán)體語句,后判斷表達(dá)式D.for、while、do-while循環(huán)中的循環(huán)體均可以由空語句構(gòu)成10.在循環(huán)中使用break語句的功能是(A)。A.使程序的執(zhí)行跳出break所在的那一重循環(huán)B.使程序執(zhí)行結(jié)束C.跳出包含此break語句的所有循環(huán)D.終止本次循環(huán),繼續(xù)下次循環(huán)11.下面是一個(gè)初始化指針的語句:int*px=&a;其中指針變量的名字應(yīng)該是(C)。A.*pzB.a(chǎn)C.pxD.&a12.若指針px為空指針,則(B)。A.px指向不定B.px的值為零C.px的目標(biāo)為零D.px的地址為零13.對(duì)于語句int*px[10],以下說法正確的是(B)。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,下列寫法中不合法的是(D)。A.P=YB.*P=Y[i]C.P+&Y[i]D.P=&Y15.已知staticinta[]={5,4,3,2,1},*p[]={a+3,a+2,a+1,a},**q=p,則表達(dá)式*(p[0]+1)+**(q+2)的值是(A)。A.5B.4C.6D.716.已知for(;n>=1;n--),下列語句實(shí)現(xiàn)將S2所指字符數(shù)組中前n個(gè)字符復(fù)制到S1所指字符數(shù)組中,其中代碼不正確的是(D)。A.*S1++=*S2++B.S1[n-1]=S2[n-1]C.*(S1+n-1)=*(S2+n-1)D.*(++S1)=*(++S2)17.調(diào)用函數(shù)的實(shí)參與被調(diào)用函數(shù)的形參應(yīng)該有如下關(guān)系(D)。A.只要求實(shí)參和形參個(gè)數(shù)相等B.只要求形參和實(shí)參順序相同C.只要求實(shí)參和形參數(shù)據(jù)類型相同D.上述三點(diǎn)均需具備18.聯(lián)合體成員的數(shù)據(jù)類型(B)。A.相同B.可以不同也可以相同C.長(zhǎng)度一樣D.是結(jié)構(gòu)體變量19.由系統(tǒng)分配和控制的標(biāo)準(zhǔn)輸出文件為(D)。A.鍵盤B.磁盤C.打印機(jī)D.顯示器20.C語言標(biāo)準(zhǔn)庫(kù)函數(shù)fread(fd,buffer,n)的功能是(A)。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指向的內(nèi)存區(qū)域func(){staticinta=4;intb=10;姓名_____姓名_____班級(jí)_____學(xué)號(hào)_____座號(hào)_____..............................密................封................線...................................c+=10;b+=c;printf((“a=%d,b=%d,c=%d\n”,a,b,c);}運(yùn)行后輸出的數(shù)據(jù)為_A___.A.a=5b=6c=1B.a=5b=6c=1a=6b=21c=11a=7b=17c=11a=5b=6c=11a=5b=6ca=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.已知structstudent{char﹡name;intstudent_n;chargrade;};structstudenttemp,*p=&temp;=”chou”;則下面不正確的是_____B__。表達(dá)式值A(chǔ).p→namechouB.(*p)→name+2hC.*p→name+2eD.*(p→name+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-=a[i];printf(“SUM=%d”,sum);}程序運(yùn)行結(jié)果是:BA.SUM=55B.SUM=-54C.SUM=-55D.SUM=5428.下列程序Dvoidinv(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,a[10]={3,7,9,11,0,6,7,5,4,2};inv(a,10);for(i=0;i<10;i++)printf(“%d,”,a[i]);}程序運(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(){inta[10],b[10],*pa,*pb,i;pa=a;pb=b;for(i=0;i<3;i++,pa++,pb++){*pa=i;*pb=2*i;printf(“%d\t%d\n”,*pa,*pb);}printf(“\n”);pa=&a[0];pb=&b[0];for(i=0;i<3;i++){*pa=*pa+i;*pb=*pb*i;printf(“%d\t%d\n”,*pa++,*pb++);}}運(yùn)行后輸出的數(shù)據(jù)為__A____。A.00B.00C.00D.00121212222424242400000000222212124824244830.下列程序copy_string(from,to)char*from,*to;{while(*from)*to++=*from++;*to=’\0’}main(){staticchars1[]=”c_program.”;staticchars2[80];copy_string(s1,s2);printf(“%s\n”,s2);copy_string(“123”printf(“%s\n”,s2);}運(yùn)行后輸出的數(shù)據(jù)為(D)。A.c_program123B.123C.c_program123D.c_program123得分閱卷人三、編程題題。(20分)已知三個(gè)字符串,分別是“CLanguage”、“FinalExam”和你名字的拼音,請(qǐng)按由大到小的順序輸出。要求將字符串的排序?qū)懗珊瘮?shù)C卷答案一.基礎(chǔ)知識(shí)(20項(xiàng),共40分)1.C2.C3.C4.A5.D6.B7.B8.B9.C10.A11.C12.B13.B14.D15.A16.D17.D18.B19.D20.A二.簡(jiǎn)單程序21.C22.B23.C24.C25.A26.B27.B28.D29.A30.D三(1)#include<stdio.h>#include<string.h>voidsort(char*name[],intn);main(){ char*name[]={"CLanguage","FinalExam","考生姓名"}; inti,n=3; sort(name,n); for(i=0;i<3;i++) printf("%s\n",name[i]);}voidsort(char*name[],intn){ char*temp;inti,j,k;for(i=0;i<n-1;i++) { k=i; for(j=i+1;j<n;j++) if(strcmp(name[k],name[j])<0) k=j; if(k!=i) { temp=name[i]; name[i]=name[k]; name[k]=temp; } }}得分閱卷人一、填空題。(每空1分,共計(jì)30分)1、與十進(jìn)制數(shù)37等值的二進(jìn)制數(shù)為。2、C語言中一共有個(gè)關(guān)鍵字和控制語句。3、在C語言中,正確的標(biāo)識(shí)符是由組成的,并且由開頭的。4、C語言上機(jī)步驟分為;;鏈接程序和。5、要想定義整型變量a,實(shí)型變量b,字符型的變量c,應(yīng)該使用的正確語句為;;。6、C語言中,在給出邏輯運(yùn)算結(jié)果時(shí),以代表真,以代表假。7、一般C語言程序是由構(gòu)成的,而C語言程序的執(zhí)行是由構(gòu)成的。8、定義inti=1;執(zhí)行語句while(i++<5);后,i的值為。9、定義3行4列的字符型二維數(shù)組a的語句是。10、inta[8]={11,23,45,33,7,0,8,9},則數(shù)組的第5個(gè)元素表示為,第五個(gè)元素的值為。11、若一個(gè)函數(shù)帶回返回值,則該函數(shù)要用語句來返回。12、int*p,a;則語句p=&a;中的運(yùn)算符&是符號(hào)。13、設(shè)y是int型變量,請(qǐng)寫出判斷y為奇數(shù)的關(guān)系表達(dá)式。14、設(shè)x=3,那么表達(dá)式y(tǒng)=(++x)+(++x)的結(jié)果為,表達(dá)式執(zhí)行后,變量x的結(jié)果為。15、c語言提供的編譯預(yù)處理功能主要有、和條件編譯。
16、c語言指針中把變量的地址稱為;把存放變量地址的變量稱為。17、根據(jù)文件的組織形式可把文件分為和。得分閱卷人二、選擇填空。(每小題2分,共計(jì)40分)1、設(shè)有說明語句:chara='\72abc';則變量a( ) A)包含6個(gè)字符 B)包含5個(gè)字符C)包含4個(gè)字符 D)說明不合法2、在C語言中,數(shù)字029是一個(gè)( ) A)八進(jìn)制數(shù)B)十六進(jìn)制數(shù) C)十進(jìn)制數(shù) D)非法數(shù)3、有如下程序main(){inty=3,x=3,z=1;printf("%d%d\n",(++x,y++),z+2);}運(yùn)行該程序的輸出結(jié)果是( )A)34 B)42 C)43 D)334、有如下程序段inta=14,b=15,x;charc='A';x=(a&&b)&&(c<'B');執(zhí)行該程序段后,x的值為( )A)ture B)false C)0 D)15、如下程序main(){intx=1,a=0,b=0;switch(x){case0:b++;case1:a++;case2:a++;b++;}printf("a=%d,b=%d\n",a,b);}該程序的輸出結(jié)果是( )A)a=2,b=1 B)a=1,b=1 6、main(){inti,j;for(i=0,j=1;i<=j+1;i+=2,j--)printf("%d\n",i);}以上循環(huán)體的執(zhí)行次數(shù)是( )A)3 B)2 C)1 D)07、設(shè)有數(shù)組定義:chararray[]="China";則數(shù)組array所占的空間為( )A)4個(gè)字節(jié) B)5個(gè)字節(jié) C)6個(gè)字節(jié) D)7個(gè)字節(jié)8、C語言的編譯系統(tǒng)對(duì)宏命令是()A)在程序運(yùn)行時(shí)進(jìn)行代換處理的B)在程序連接時(shí)進(jìn)行代換處理的C)和源程序中其它C語句同時(shí)進(jìn)行編譯的D)在對(duì)源程序中其它成份正式編譯之前進(jìn)行處理的9、以下說法中正確的是( )。A)C語言程序總是從第一個(gè)定義的函數(shù)開始執(zhí)行B)在C語言程序中,要調(diào)用的函數(shù)必須在main()中有定義C)C語言程序的執(zhí)行既可以采用解釋方式,也可以采用編譯方式D)C語言程序中的main()函數(shù)可以不放在程序的開始部分10、下面程序的輸出是( )#defineSUB(X,Y)(X)*Ymain(){inta=3,b=4;printf("%d\n",SUB(a++,b++));}A)12 B)15 C)16 D)2011、設(shè)有如下定義:char*aa[2]={“abcd”,”ABCD”};則以下說法中正確的是()A)aa數(shù)組元素的值分別是“abcd”,”ABCD”B)aa是指針變量,它指向含有兩個(gè)數(shù)組元素的字符型一維數(shù)組C)aa數(shù)組的兩個(gè)元素分別存放的是含有4個(gè)字符的一維字符數(shù)組的首地址D)aa數(shù)組的兩個(gè)元素中各自存放了字符’a’,’A’的地址12、若變量已正確說明為float類型,要通過語句scanf("%f%f%f",&a,&b,&c);給a賦于10.0,b賦予22.0,c賦予33.0,不正確的輸入形式是:()
A)10<回車>B)10.0,22.0,33.0<回車>
22<回車>
33<回車>
C)10.0<回車>D)1022<回車>
22.033.0<回車>33<回車>13、當(dāng)調(diào)用函數(shù)時(shí),實(shí)參是一個(gè)數(shù)組名,則向函數(shù)傳送的是()
A)數(shù)組的長(zhǎng)度B)數(shù)組的首地址C)數(shù)組每一個(gè)元素的地址D)數(shù)組每個(gè)元素中的值14、有以下函數(shù)
char*fun(char*p)
{returnp;}
該函數(shù)的返回值是( )A)無確切的值B)形參p中存放的地址值
B)一個(gè)臨時(shí)存儲(chǔ)單元的地址D)形參p自身的地址值15、若有以下的定義:intt[3][2];能正確表示t數(shù)組元素地址的表達(dá)是()
A)&t[3][2]B)t[3][2]C)t[1][0]D)t[2]+116、以下程序的輸出結(jié)果是( )A)#*#*# B)##### C)***** D)*#*#*
main(){inti;for(i=1;i<6;i++){if(i%2){printf("#");continue;}printf("*");}printf("\n");}17、已知有聲明語句chars1[10]="abcde",s3[10];以下語句中能將s1中存儲(chǔ)的字符串和s2中存儲(chǔ)的字符串正確交換的是。A)s3=s1,s1=s2,s2=s3;B)s3[0]=s1[0],s1[0]=s2[0],s2[0]=3[0];C)strcpy(s3[0],s1[0]),strcpy(s1[0],s2[0]),strcpy(s2[0],s3[0]);D)strcpy(s3,s1),strcpy(s1,s2),strcpy(s2,s3);18、若有聲明語句inta[10],b[3][3];則以下對(duì)數(shù)組元素賦值的操作中,不會(huì)出現(xiàn)越界訪問的是。A)a[-1]=1 B)a[10]=0 C)b[3][0]=0 D)[0][0]=019、以下是一個(gè)自定義函數(shù)的頭部,其中正確的是。A)intfun(inta[],b) B)intfun(inta[],inta)C)intfun(int*a,intb) D)intfun(chara[][],intb)20、下列4個(gè)函數(shù)中,( )能實(shí)現(xiàn)交換變量值的功能。A)voidfun_a(intx,inty) B) voidfun_b(int*x,int*y) { int*p; {int*p; *p=x;x=y;y=*p;} *x=*y;*y=*x;}C)voidfun_c(int*x,int*y) D)voidfun_d(intx,inty){ *x=*x+*y; { intp; *y=*x-*y; p=x;x=y;y=p; *x=*x-*y;} }姓名姓名_____班級(jí)_____學(xué)號(hào)_____座號(hào)_____..............................密................封................線...................................得分閱卷人三、程序填空題。(每小題2分,共計(jì)20分)1、已知:intx=3;則printf(x%2?"**%d":"##%d\n",x);printf("00000\n");輸出結(jié)果為:2、下列程序的輸出結(jié)果是#include"stdio.h"main(){chara[11]="0123456789",*p;p=&a[4];puts(p);}3、求兩數(shù)中的較大main(){floata,b,max;scanf(“%f%f”,&a,&b);;printf(“themaxis%f\n”,max);}4、下面的程序輸出3到1000之間的所有素?cái)?shù),且每5個(gè)一行。main(){inti,j,k,c;c=0;for(i=3;i<=1000;i++){ k=;for(j=2;j<=k;j++)if()break;if(j>=k+1){printf("%4d",i);c=c+1;if()printf("\n");}}}5、下列程序用于將從鍵盤輸入的整數(shù)逆序輸出main(){intn1,n2;scanf("%d",&n2);while(){n1=n2%10;n2=;printf("%d",n1);}}6、利用插入排序法將十個(gè)字符從小到大排序#include<stdio.h>voidinsert(chars[]){inti,j,t;for(i=1;i<=9;i++){t=s[i];j=i-1;while((j>=0)&&()){s[j+1]=s[j];;}s[j+1]=t;}}main(){chara[11];inti;for(i=0;i<10;i++)a[i]=getchar();insert(a);puts)a);}得分閱卷人四、程序題。(每小題5分,共計(jì)10分)閱讀下列程序,分析并寫出運(yùn)行結(jié)果voidmain(){inti,k,j;for(i=1;i<=9;i++){for(k=1;k<=10-i;k++)printf("");for(j=1;j<=2*i-1;j++)printf("%c",48+i);printf("\n");}}2、閱讀下列程序,分析并寫出運(yùn)行結(jié)果#include<stdio.h>main(){inti,j;inta[10][10];printf("\n");for(i=0;i<10;i++){a[i][0]=1;a[i][i]=1;}for(i=2;i<10;i++)for(j=1;j<i;j++)a[i][j]=a[i-1][j-1]+a[i-1][j];for(i=0;i<10;i++){for(j=0;j<=i;j++)printf("%5d",a[i][j]);printf("\n");}}答案:一填空:1、100101B;2、32,9種;3、數(shù)字,字母和下劃線,字母或下劃線;4、編輯源程序,編譯源程序,鏈接程序,程序運(yùn)行;5、inta,floatb,charc;6、“1”,“011、return;12、地址運(yùn)算符13、(y%2)=0;14、10,5;15、宏定義,文件包含,16、指針,指針變量;17、順序存取文件,隨機(jī)存取文件二選擇:1D2D3D4D5A6C7C8C9D10A11C12B13D14A15C16A17D18D19C三1、**3000002、4567893、if(a>b)max=a;elsemax=b4、#include<stdio.h>#include<math.h>main(){inti,j,k,c;c=0;for(i=3;i<=1000;i++){ k=sqrt(i);for(j=2;j<=k;j++)if(i%j==0)break;if(j>=k+1){printf("%4d",i);c=c+1;if(c%5==0)printf("\n");}}}22233333444444455555555566666666666777777777777788888888888888899999999999999997一、填空題。(每空1分,共計(jì)25分)1、一般C語言程序是由構(gòu)成的,而C語言程序的執(zhí)行是由開始的。2、C語言的程序結(jié)構(gòu)分為選擇結(jié)構(gòu)字和;C語言的語句的結(jié)束符是。3、在C語言中,正確的標(biāo)識(shí)符是由組成的,并且由開頭的。4、C語言的構(gòu)造類型包括;;。5、C語言中,在給出邏輯運(yùn)算結(jié)果時(shí),以代表真,以代表假。6、若floata=5.75;則(int)a=。7、定義inti=1;執(zhí)行語句while(i++<5);后,i的值為。8、定義3行4列的字符型二維數(shù)組a的語句是。9、inta[8]={11,23,45,33,7,0,8,9},則數(shù)組的第5個(gè)元素表示為,第五個(gè)元素的值為。10、若一個(gè)函數(shù)帶回返回值,則該函數(shù)要用語句來返回。11、c語言指針中把變量的地址稱為;把存放變量地址的變量稱為。12、在C語言中,把一周定義為枚舉類型應(yīng)寫為:。13、對(duì)磁盤文件的操作應(yīng)遵循的基本原則為。14、int類型的數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)是;inta=5,b=9;則c=a&b為。15、定義一個(gè)字符型指針變量:。得分閱卷人二、選擇填空。(每小題2分,共計(jì)20分)(1)變量的指針,其含義是指該變量的。A)值B)地址C)名D)一個(gè)標(biāo)志(2)若有說明int(*p)[3];則以下是正確的敘述。A)p是一個(gè)指針數(shù)組B)p是一個(gè)指針,它只能指向一個(gè)包含3個(gè)int類型元素的數(shù)組C)p是一個(gè)指針,它可以指向一個(gè)一維數(shù)組中的任一元素D)(*p)[3]與*p[3]等價(jià)(3)以下是對(duì)共用體類型數(shù)據(jù)的正確描述。A)一旦定義了一個(gè)共用體變量后,即可引用該變量或該變量中的任何成員。B)一個(gè)共用體變量中可以同時(shí)存放其所有成員C)一個(gè)共用體變量中不能同時(shí)存放其所有成員D)共用體類型數(shù)據(jù)可以出現(xiàn)在結(jié)構(gòu)體類型定義中,但結(jié)構(gòu)體類型數(shù)據(jù)不能出現(xiàn)在共用體類型定義中。(4)若有語句intarray[3][4];以下對(duì)下標(biāo)為i和j的數(shù)組元素的引用不正確的是。A)array[i][j]B)*(*(array+i)+j)C)*(array[i]+j)D)*(array+i*4+j)(5)一般情況下,文件占用存儲(chǔ)空間較多。A)二進(jìn)制文件B)文本文件C)隨機(jī)文件D)順序文件(6)以下引用非法的是。structstudent{intnum;intage;}stu1,*p;p=&stu1;A)stu1.ageB)student.ageC)p->ageD)(*p).age(7)指針變量一定不能進(jìn)行的運(yùn)算是。A)+B)-C)=D)/(8)以下關(guān)于main()函數(shù)的說法,正確的是。A)main()必須是程序的第一行B)main()可以有參數(shù)C)一個(gè)程序可以有多個(gè)main()D)main()可以被用戶自定義的函數(shù)調(diào)用(9)關(guān)于下面的函數(shù),正確的說法是。voidSwap(int*p1,int*p2){int*p;*p=*p1;*p1=*p2;*p2=*p;}A)交換*p1和*p2的值B)正確,但無法改變*p1和*p2的值C)交換*p1和*p2的地址D)編譯時(shí)可能出現(xiàn)警告錯(cuò)誤(10)若對(duì)文件的操作未到文件尾時(shí),feof(fp)函數(shù)的返回值是。A)EOFB)1C)0D)不定的非零值得分閱卷人三、讀程序,寫結(jié)果。(每小題5分,共15分)(1)輸入20和30,寫出其輸出結(jié)果。#include<stdio.h>voidinput(int*p,int*q);voidadd(int*p,int*q);voidprocess(int*p,int*q,void(*fun)(int*,int*));main(){ inta,b; process(&a,&b,input); process(&a,&b,add);}voidinput(int*p,int*q){ printf("Input:"); scanf("%d%d",p,q);}voidadd(int*p,int*q){ printf("Output:%d\n",*p+*q);}voidprocess(int*p,int*q,void(*fun)(int*,int*)){(*fun)(p,q);}結(jié)果為:(2)#include<stdio.h>main(){ inta[3][4]={1,3,5,7,9,11,13,15,17,19,21,23}; int*p; for(p=a[0];p<a[0]+12;p++) { if((p-a[0])%4==0) printf("\n"); printf("%4d",++(*p)); }19.如果在用戶的程序中要使用C庫(kù)函數(shù)中的數(shù)學(xué)函數(shù)時(shí),應(yīng)在該源文件中使用的include命令是________。A)#include<string.h> B)#include<math.h>C)#include<stdio.h> D)#include<ctype.h>20.以下關(guān)于typedef的敘述不正確的是________。A)用typedef可以定義各種類型名,但不能用來定義變量B)用typedef可以增加新類型C)用typedef只是將已存在的類型用一個(gè)新的名稱來代表D)使用typedef便于程序的通用和移植21.以下對(duì)二維數(shù)組c的聲明正確的是_______。A)intc[3][]; B)intc(3,4); C)intc(2)(2); D)intc[3][2];22.定義:float(*pf)();說明了________。A)pf是指向一維數(shù)組的指針變量B)pf是指向float型數(shù)據(jù)的指針變量C)pf是指向函數(shù)的指針,該函數(shù)返回一個(gè)float型數(shù)據(jù)D)pf是一個(gè)函數(shù)名,該函數(shù)的返回值是指向float型數(shù)據(jù)的指針得分閱卷人三、程序填空題。(每小題5分,共計(jì)20分)1、下列程序用于將從鍵盤輸入的整數(shù)逆序輸出main(){intn1,n2;scanf("%d",&n2);while(){n1=n2%10;n2=;printf("%d",n1);}}2、下面的程序輸出3到1000之間的所有素?cái)?shù),且每5個(gè)一行。main(){inti,j;#include<stdio.h>voidfind(int*a,intn,int*max,int*min);main(){ intmax,min,a[]={8,3,7,1,4,6,9,5}; find(); printf("max=%d,min=%d\n",max,min);}voidfind(int*a,intn,int*max,int*min){ inti; *max=0; *min=0; for(i=0;i<n;i++) { if(a[i]>a[*max]) ; if(a[i]<a[*min]) ; }}下面程序用變量count統(tǒng)計(jì)文件中字符的個(gè)數(shù)。#include<stdio.h>#include<stdlib.h>main(){ FILE*fp; charch; longcount=0; if((fp=fopen("letter.dat",))==NULL) { printf("cannotopenthisfile\n");exit(0); } while(()!=EOF) ; printf("count=%ld\n",count); fclose(fp);}得分閱卷人五、程序題。(每小題11分,共計(jì)22分)1、已知三個(gè)字符串,分別是“CLanguage”、“FinalExam”和你名字的拼音,請(qǐng)按由大到小的順序輸出。要求將字符串的排序?qū)懗珊瘮?shù)。(11分)(2)用結(jié)構(gòu)體方法編程實(shí)現(xiàn)輸入十個(gè)學(xué)生的姓名、性別、成績(jī),求平均成績(jī),把低于平均成績(jī)的男生的姓名與分?jǐn)?shù)輸出。(11分)答案一、略二、單選題ABCDBBDBDC三、讀程序,寫結(jié)果(1)Output:50(2)24681012141618202224(3)10103AnnF2010102JimM1910101MikeM18四、程序填空題(每空3分,共18分)(1)a,8,&max,&min*max=i*min=i(2)"r"ch=fgetc(fp)count++五、編寫程序。(1)#include<stdio.h>#include<string.h>voidsort(char*name[],intn);main(){ char*name[]={"CLanguage","FinalExam","考生姓名"}; inti,n=3; sort(name,n); for(i=0;i<3;i++) printf("%s\n",name[i]);}voidsort(char*name[],intn){ char*temp;inti,j,k;for(i=0;i<n-1;i++) { k=i; for(j=i+1;j<n;j++) if(strcmp(name[k],name[j])<0) k=j; if(k!=i) { temp=name[i]; name[i]=name[k]; name[k]=temp; } }}(2)#include<stdio.h>#include<string.h>#defineN10structstudent{ charname[10]; charsex[2]; floatscore;};main(){ structstudents[N]; inti; floatsum,ave; for(i=0;i<N;i++) { printf("姓名:");gets(s[i].name); printf("性別:");gets(s[i].sex); printf("分?jǐn)?shù):");scanf("%f",&s[i].score); getchar(); } sum=0; for(i=0;i<N;i++) sum=sum+s[i].score; ave=sum/N; for(i=0;i<N;i++) if((s[i].score<ave)&&(strcmp(s[i].sex,"男")==0)) printf("\n%s:%f",s[i].name,s[i].score);}得分閱卷人一、填空題。(每空1分,共計(jì)25分)1、與二進(jìn)制數(shù)101等值的十進(jìn)制數(shù)為。2、結(jié)構(gòu)化程序設(shè)計(jì)所規(guī)定的三種基本控制結(jié)構(gòu)是結(jié)構(gòu)、結(jié)構(gòu)和結(jié)構(gòu)。3、在C語言中,正確的標(biāo)識(shí)符是由組成的,并且由開頭的。4、要想定義整型變量a,實(shí)型變量b,字符型的變量c,應(yīng)該使用的正確語句為;;。5、設(shè)x為整型變量,值為1,則表達(dá)式(x&&1)==(x%2)的值為。6、若已知a=10,b=20,則表達(dá)式!a<b的值為。7、一般C語言程序是由構(gòu)成的,而C語言程序的執(zhí)行是由構(gòu)成的。8、定義inti=1;執(zhí)行語句while(i++<5);后,i的值為。9、定義3行4列的整型二維數(shù)組a的語句是。10、inta[5]={11,23,45,33,7},則數(shù)組的第3個(gè)元素表示為,第三個(gè)元素的值為。11、int*p,a;則語句p=&a;中的運(yùn)算符&是符號(hào)。12、設(shè)y是int型變量,請(qǐng)寫出判斷y為奇數(shù)的關(guān)系表達(dá)式。13、設(shè)x=3,那么表達(dá)式y(tǒng)=(++x)+(++x)的結(jié)果為,表達(dá)式執(zhí)行后,變量x的結(jié)果為。14、c語言提供的編譯預(yù)處理功能主要有、和條件編譯。
15、c語言指針中把變量的地址稱為;把存放變量地址的變量稱為。16、根據(jù)文件的存儲(chǔ)形式可把文件分為二進(jìn)制文件和。得分閱卷人二、選擇填空。(每小題2分,共計(jì)60分)1、C語言中最簡(jiǎn)單的數(shù)據(jù)類型包括()。
A、整型、實(shí)型、邏輯型B、整型、實(shí)型、字符型
C、整型、字符型、邏輯型D、整型、實(shí)型、邏輯型、字符型
2、C語言中,運(yùn)乍對(duì)象必須是整型數(shù)的運(yùn)算符是()。
A、%B、、C、%和、D、**
3、為表示關(guān)系x≥y≥z,應(yīng)使用C語言表達(dá)式()。
A、(x)=y)&&(y)=z)B、(x)=y)AND(y)=z)
C、(x)=y)=z)D、(x)=y)&(y)=z)
4、下述對(duì)C語言字符數(shù)組的描術(shù)中錯(cuò)誤的是()。
A、字符數(shù)組可以存放字符串
B、字符數(shù)組中的字符串可以整體輸入、輸出
C、可以在賦值語句中通過賦值運(yùn)算符“=”對(duì)字符數(shù)組整體賦值
D、不可以用關(guān)系運(yùn)算符對(duì)字符數(shù)組中的字符串進(jìn)行比較
5、設(shè)有如下定義:intx=10,y=3,z;
則語句printf(“%d、n”,z=(x%y,x/y));
的輸出結(jié)果是()。
A、1B、0
C、4D、3
6、以下程序的輸出結(jié)果是()。
main()
{intx=10,y=10;
printf(“%d%d、n”,x——,——y);
}
A、1010B、99
C、910D、1097、以下說法中正確的是()。
A、C語言程序總是從第一個(gè)的函數(shù)開始執(zhí)行
B、在C語言程序中,要調(diào)用的函數(shù)必須在main()函數(shù)中定義
C、C語言程序總是從main()函數(shù)開始執(zhí)行
D、C語言程序中的main()函數(shù)必須放在程序的開始部分8、執(zhí)行下面的程序后,a的值為()。
main()
{inta,b;
for(a=1,b=1;a<=100;a)
{if(b)=20}break;
if(b%3==1)
{b=3;continue;}b--=5;
}
}
A、7B、8
C、9D、10
9、以下程序段的輸出結(jié)果是()。
intx=3;
do
{printf(“%3d”,x——=2);}
while(!(——x));
A、1B、30
C、1——2D、死循環(huán)
10、定義如下變量:
intn=10;
則下列循環(huán)的輸出結(jié)果是()。
while(n>7)
{n——;
printf(“%d、n”,n);
}
A、10B、9C、10D、9
9898
8787
76
11、兩次運(yùn)行下面的程序,如果從鍵盤上分別輸入6和4,則輸出結(jié)果是()。
main()
{intx;
scanf(“%d”,&x);
if(x>)5}printf(“%d”,x);
elseprintf(“%d、n”,x——);
}
A、7和5B、6和3C、7和4D12、執(zhí)行以下程序后,y的值是()。
main()
{inta[]={2,4,6,8,10};
inty=1,x,*p;
p=&a[1];
for(x=0;x<3;x)
y=*(p+x);
printf(“%d\n”,y);
}
A、17B、18C、19D、20
13、下列程序執(zhí)行后輸出的結(jié)果是:()。
intd=1;
fun(intq)
{intd=5;
d=p;
printf(“%d”main(){inta=3;intd=1;fun(a);....................密................封................線....................密................封................線....................密封線內(nèi)請(qǐng)不要答題printf("%d\n",d);}
A、84B、96C、94D、14、C語言提供的合法的數(shù)據(jù)類型關(guān)鍵字是()。
A、DoubleB、shortC、integerD、Char
15、在C語言中,合法的長(zhǎng)整型常數(shù)是()。
A、0LB、4962710C、0.054838743D、2.1869e10
16、表達(dá)式:10!=9的值是()。
A、trueB、非零值C、0D、1
17、若有說明和語句:
a=5;a--;此處表達(dá)式a的值是()。
A、7B、6C、5D18、在下列選項(xiàng)中,不正確的賦值語句是()。
A、t;B、n1=(n2=(n3=0));C、k=i==j;D、a=bc=1;
19、若有說明:inti,j=7,*p=&i;,則與i=j;等價(jià)的語句是()。
A、I=*P;B、*P=*&J;C、i=&j;D、i=**p;
20、不能把字符串:Hello!賦給數(shù)組b的語句是()。
A、charb[10]={'H','e','l','l','o','!'};
B、charb[10];b=“Hello!”;
C、charb[10];strcpy(b,“Hello!”);
D、charb[10]=“Hello!”21、以下程序的輸出結(jié)果是()。
A、6B、6789C、'6'D、789
main()
{chara[10]=”6789”,*p;
p=a;
printf(“%s\n”,p);
22、以下程序的輸出結(jié)果是()。
main()
{intn=4;
while(n>0){n--;printf(“%d”,n);}
}A、20B、31C、姓名姓名_____班級(jí)_____學(xué)號(hào)_____座號(hào)_____..............................密................封................線...................................A、20B、31C、3210D、210
A、在程序運(yùn)行時(shí)進(jìn)行代換處理的B、在程序連接時(shí)進(jìn)行代換處理的C、和源程序中其它C語句同時(shí)進(jìn)行編譯的D、在對(duì)源程序中其它成份正式編譯之前進(jìn)行處理的24、以下說法中正確的是( )。A、C語言程序總是從第一個(gè)定義的函數(shù)開始執(zhí)行B
溫馨提示
- 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. 人人文庫(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 公共交通乘客信息管理制度
- 伙房管理制度
- 2026年隆昌市住房征收和保障服務(wù)中心臨聘人員招聘?jìng)淇碱}庫(kù)帶答案詳解
- 中國(guó)科學(xué)院亞熱帶農(nóng)業(yè)生態(tài)研究所2026年特別研究助理(博士后)招聘?jìng)淇碱}庫(kù)及完整答案詳解1套
- 天津中醫(yī)藥大學(xué)第一附屬醫(yī)院招聘20人備考題庫(kù)及1套完整答案詳解
- 中共福鼎市委黨校關(guān)于2026年公開招聘緊缺急需人才有關(guān)事項(xiàng)的備考題庫(kù)及完整答案詳解一套
- 2026年耒陽市選聘一村一輔警18人備考題庫(kù)參考答案詳解
- 2026年綿陽市涪城區(qū)吳家中心衛(wèi)生院招聘?jìng)淇碱}庫(kù)及完整答案詳解1套
- 養(yǎng)老院入住老人健康監(jiān)測(cè)制度
- 2026年某國(guó)有大型銀行客服代表入職六險(xiǎn)一金24%公積金雙休備考題庫(kù)及參考答案詳解
- 2025-2026學(xué)年人教版三年級(jí)道德與法治上冊(cè)期末測(cè)試卷題(附答案)
- 城市廣場(chǎng)石材鋪裝施工方案詳解
- DB54∕T 0527-2025 西藏自治區(qū)好住宅技術(shù)標(biāo)準(zhǔn)
- 人形機(jī)器人數(shù)據(jù)訓(xùn)練中心項(xiàng)目規(guī)劃設(shè)計(jì)方案
- 2026年內(nèi)蒙古化工職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性考試題庫(kù)帶答案
- 2025年留置看護(hù)考試題庫(kù)及答案
- 《怎樣選材》課件
- 2025四川綿陽市江油鴻飛投資(集團(tuán))有限公司招聘40人(公共基礎(chǔ)知識(shí))測(cè)試題附答案解析
- 2026年浙江高考英語題庫(kù)及答案
- 遼寧省遼陽市2024-2025學(xué)年高二上學(xué)期期末考試語文試卷(含答案)
- 江蘇省2024年普通高中學(xué)業(yè)水平合格性考試數(shù)學(xué)試卷+答案
評(píng)論
0/150
提交評(píng)論