2010年20套大學(xué)計(jì)算機(jī)C語言期末考試復(fù)習(xí)試題及答案_第1頁
2010年20套大學(xué)計(jì)算機(jī)C語言期末考試復(fù)習(xí)試題及答案_第2頁
2010年20套大學(xué)計(jì)算機(jī)C語言期末考試復(fù)習(xí)試題及答案_第3頁
2010年20套大學(xué)計(jì)算機(jī)C語言期末考試復(fù)習(xí)試題及答案_第4頁
2010年20套大學(xué)計(jì)算機(jī)C語言期末考試復(fù)習(xí)試題及答案_第5頁
已閱讀5頁,還剩103頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

2011-6-14 【一、判斷 共10題 (共計(jì)10分)第1題 (1.0分) 題號:1488函數(shù)即可以嵌套定義,又可以嵌套調(diào)用.答案:N第2題 (1.0分) 題號:1256unsigned 和void 在C中都是保留字.答案:Y第3題 (1.0分) 題號:1280表達(dá)式 +i表示對變量i自加1.答案:Y第4題 (1.0分) 題號:1282C語言源程序的基本結(jié)構(gòu)單位是main函數(shù).答案:N第5題 (1.0分) 題號:1276字符常量的長度肯定為1.答案:Y第6題 (1.0分) 題號:1469char a=a,b,c;char b=abc;數(shù)組a和數(shù)組b占用的內(nèi)存空間大小不一樣.答案:Y第7題 (1.0分) 題號:1249若有int i=10,j=2; 則執(zhí)行完i*=j+8;后i的值為28.答案:N第8題 (1.0分) 題號:33int i,*p=&i;是正確的C說明。答案:Y第9題 (1.0分) 題號:1250While循環(huán)語句的循環(huán)體至少執(zhí)行一次.答案:N第10題 (1.0分) 題號:1510有數(shù)組定義int a22=1,2,3;則a01的值為0.答案:Y二、單項(xiàng)選擇 共30題 (共計(jì)30分)第1題 (1.0分) 題號:456執(zhí)行下面程序后,輸出結(jié)果是()。main() a=45,b=27,c=0; c=max(a,b); printf(%dn,c);int max(x,y) int x,y; int z; if(xy) z=x; else z=y; return(z); A:45B:27C:18D:72答案:A第2題 (1.0分) 題號:437下列數(shù)組說明中,正確的是()。A:int array4;B:int array;C:int array5;D:int array3;答案:A第3題 (1.0分) 題號:2396下面有關(guān)for循環(huán)的正確描述是 ()A:for循環(huán)只能用于循環(huán)次數(shù)已經(jīng)確定的情況B:for循環(huán)是先執(zhí)行循環(huán)體語句,后判斷表達(dá)式C:在for循環(huán)中,不能用break語句跳出循環(huán)體D:for循環(huán)的循環(huán)體語句中,可以包含多條語句,但必須用花括號括起來 答案:D第4題 (1.0分) 題號:2817以下程序的輸出結(jié)果是().main()int i,j,k,a=3,b=2;i=(-a=b+)?-a:+b;j=a+;k=b;printf(i=%d,j=%d,k=%dn,i,j,k);A:i=2,j=1,k=3B:i=1,j=1,k=2C:i=4,j=2,k=4D:i=1,j=1,k=3答案:D第5題 (1.0分) 題號:2866若有下列定義,則對a數(shù)組元素地址的正確引用是().int a5,*p=a;A:*(p+5)B:*p+2C:*(a+2)D:*&a5答案:C第6題 (1.0分) 題號:711下列選項(xiàng)中正確的語句組是()。A:char s8; s=Beijing;B:char *s; s=Beijing;C:char s8; s=Beijing;D:char *s; s=Beijing;答案:D第7題 (1.0分) 題號:3191若變量a,i已正確定義,且i已正確賦值,合法的語句是()A:a=int(i);B:a=1C:+i;D:a=a+=5;答案:C第8題 (1.0分) 題號:490以下字符中不是轉(zhuǎn)義字符的是()。A:aB:bC:cD:答案:C第9題 (1.0分) 題號:184下列定義不正確的是()。A:#define PI 3.B:#define S345C:int max(x,y); int x,y; D:static char c;答案:C第10題 (1.0分) 題號:3028char h,*s=&h;可將字符H通過指針存入變量h中的語句是().A:*s=H;B:*s=H;C:s=H;D:s=H答案:B第11題 (1.0分) 題號:690設(shè)char型變量x中的值為,則表達(dá)式(2+x)(3)的值是()。A:B:C:D:答案:D第12題 (1.0分) 題號:2381設(shè)以下變量均為int類型,表達(dá)式的值不為7的是()A:x=y=6,x+y,x+1B:x=y=6,x+y,y+1C:x=6,x+1,y=6,x+yD:y=6,y+1,x=y,x+1答案:C第13題 (1.0分) 題號:3124若有說明 int a34;則對a數(shù)組元素的正確引用是().A:a24B:a1,3C:a1+10D:a(2)(1)答案:C第14題 (1.0分) 題號:679在C語言中,形參的缺省存儲類是()。A:autoB:registerC:staticD:extern答案:A第15題 (1.0分) 題號:1343C語言源程序的基本單位是().A:過程B:函數(shù)C:子程序D:標(biāo)識符答案:B第16題 (1.0分) 題號:3023C語言程序中必須有的函數(shù)是().A:#include stdio.hB:mainC:printfD:scanf答案:B第17題 (1.0分) 題號:3228有定義:int a=8,b=5,c;,執(zhí)行語句c=a/b+0.4;后,c的值為 ()A:1.4B:1C:2.0D:2答案:B第18題 (1.0分) 題號:640以下對二維數(shù)組a的正確說明是()。A:int a3B:float a(3,4)C:double a14D:float a(3)(4)答案:C第19題 (1.0分) 題號:2884以下標(biāo)識符中,不能作為合法的C用戶定義標(biāo)識符的是().A:answerB:toC:signedD:_if答案:C第20題 (1.0分) 題號:652在C語言中,引用數(shù)組元素時,其數(shù)組下標(biāo)的數(shù)據(jù)類型允許是()。A:整型常量B:整型表達(dá)式C:整型常量或整型表達(dá)式D:任何類型的表達(dá)式答案:C第21題 (1.0分) 題號:381以下標(biāo)識符中,不能作為合法的C用戶定義標(biāo)識符的是()。A:answerB:toC:signedD:_if答案:C第22題 (1.0分) 題號:2898已知year為整型變量,不能使表達(dá)式(year%4=0&year%100!=0)|year%400=0的值為真的數(shù)據(jù)是().A:1990B:1992C:1996D:2000答案:A第23題 (1.0分) 題號:177以下描述中,正確的是()。A:預(yù)處理是指完成宏替換和文件包含中指定的文件的調(diào)用B:預(yù)處理指令只能位于C源文件的開始C:C源程序中凡是行首以#標(biāo)識的控制行都是預(yù)處理指令D:預(yù)處理就是完成C編譯程序?qū)源程序第一遍掃描,為編譯詞法和語法分析作準(zhǔn)備答案:C第24題 (1.0分) 題號:156執(zhí)行下列語句后的輸出為()。 int j=-1; if(j1;i-)for(j=1;ji;j+)putchar(#);A:無B:#C:#D:#答案:B第27題 (1.0分) 題號:2830下列程序的輸出結(jié)果是().main() int x=1,y=0,a=0,b=0; switch(x) case 1:switch(y) case 0:a+;break; (break是結(jié)束循環(huán)跳出所在的switch選擇結(jié)構(gòu)) case 1:b+;break; case 2:a+;b+;break; case 3:a+;b+;break; printf(a=%d,b=%dn,a,b);A:a=1,b=0B:a=2,b=1C:a=1,b=1D:a=2,b=2答案:B第28題 (1.0分) 題號:573C語言中運(yùn)算對象必須是整型的運(yùn)算符是()。A:%=B:/C:=D:=答案:A第29題 (1.0分) 題號:647以下能對二維數(shù)組a進(jìn)行正確初始化的語句是()。A:int a2=1,0,1,5,2,3;B:int a3=1,2,3,4,5,6;C:int a24=1,2,3,4,5,6;D:int a3=1,0,1,1,1;答案:B第30題 (1.0分) 題號:3135以下數(shù)組定義中不正確的是().A:int a23;B:int b3=0,1,2,3;C:int c100100=0;D:int d3=1,2,1,2,3,1,2,3,4;答案:D三、程序填空 共2題 (共計(jì)24分)第1題 (12.0分) 題號:417/*-【程序填空】-題目:利用全局變量計(jì)算長方體的體積及三個面的面積。-*/int s1,s2,s3;int vs(int a,int b,int c) int v;/*SPACE*/ v=【?】; s1=a*b;/*SPACE*/ s2=【?】; s3=a*c; return v; main() int v,l,w,h; clrscr(); printf(ninput length,width and height: );/*SPACE*/ scanf(%d%d%d,【?】,&w,&h);/*SPACE*/ v=【?】; printf(v=%d s1=%d s2=%d s3=%dn,v,s1,s2,s3); getch(); 答案:=(答案1)=a*b*c=或=a * b * c=(答案2)=b*c=或=b * c=(答案3)=&l=(答案4)=vs(l,w,h)=或=vs( l , w , h )第2題 (12.0分) 題號:441/*-【程序填空】-題目:給定程序中函數(shù)fun的功能是:從低位開始取出長 整型變量s中奇數(shù)位上的數(shù),依次構(gòu)成一個新數(shù)放在t中。-*/#include #include void fun (long s, long *t) long sl=10;s /= 10;/*SPACE*/*t = s 【?】 10;while(s0)/*SPACE*/ s = 【?】;/*SPACE*/*t = s%10*sl【?】;/*SPACE*/sl = sl 【?】10;main() long s, t;clrscr();printf(nPlease enter s:); scanf(%ld, &s);fun(s, &t);printf(The result is: %ldn, t);答案:=(答案1)=%=(答案2)=s/100=(答案3)=+ *t=(答案4)=*四、程序改錯 共2題 (共計(jì)22分)第1題 (11.0分) 題號:383/*- 【程序改錯】-題目:給定程序的功能是:讀入一行英文文本, 將其中每個單詞的最后一個字母改成大寫,然后 輸出此文本行 (這里的“單詞”是指由空格隔開的 字符串)。例如,若輸入I am a student to take the examination.,則應(yīng)輸出I aM A studenT tO takE thE examination.。-注意:不可以增加或刪除程序行,也不可以更改程序的結(jié)構(gòu)。-*/#include conio.h#include stdio.h#include ctype.h#include string.hup1st ( char *p )/*FOUND*/ integer k = 0;for ( ; *p; p+ )if ( k )/*FOUND*/ if ( *p = ) k = 0;/*FOUND*/ *(p -1 ) = toupper( *( p - 1 );else if ( *p != ) k = 1;*( p-1 ) = toupper( *(p-1) );main( ) char chrstr81;printf( nPlease enter a string: ); gets ( chrstr );printf( nnBefore changing:n %s, chrstr );up1st( chrstr );printf( nAfter changing:n %s, chrstr ); 答案:=(答案1)=int k=0;=(答案2)= if ( *p = )=(答案3)=*(p -1 ) = toupper( *( p - 1 );第2題 (11.0分) 題號:431/*- 【程序改錯】-題目:編寫函數(shù)fun求1000以內(nèi)所有8的倍數(shù)之和。-注意:不可以增加或刪除程序行,也不可以更改程 序的結(jié)構(gòu)。-*/#includestdio.h#define N 1000main()int sum; sum=fun(8); printf(%d以內(nèi)所有%d的倍數(shù)之和為:%dn,N,8,sum); getch();int fun(int m)/*FOUND*/int s=0;i; /*FOUND*/ for(i=1;iN;i+)/*FOUND*/if(i/m=0) s+=i; return s; 答案:=(答案1)=int s=0 , i ;=(答案2)=for(i=1;iN;i+)=(答案3)=if(i%m=0)五、程序設(shè)計(jì) 共1題 (共計(jì)14分)第1題 (14.0分) 題號:390/*-【程序設(shè)計(jì)】-題目:求一批數(shù)中最大值和最小值的差。-注意:部分源程序給出如下。請勿改動主函數(shù) main和其它函數(shù)中的任何內(nèi)容,僅在函 數(shù)的花括號中填入所編寫的若干語句。-*/int max_min(int a,int n)/*Program*/ /* End */#define N 30#include stdlib.h#include stdio.hmain() int aN,i,k; clrscr(); for(i=0;iN;i+) ai=random(51)+10; for(i=0;iN;i+) printf(%5d,ai); if(i+1)%5=0) printf(n); k=max_min(a,N); printf(the result is:%dn,k); yzj(); getch(); yzj()FILE *IN,*OUT;int n;int i30;int o;IN=fopen(in.dat,r);if(IN=NULL)printf(Read File Error);OUT=fopen(out.dat,w);if(OUT=NULL)printf(Write File Error);for(n=0;n5;n+) fscanf(IN,%d,&in);o=max_min(i,5);fprintf(OUT,%dn,o);fclose(IN);fclose(OUT); 答案:-int i,max,min; max=min=a0; for(i=1;imax) max=ai; else if(aib)=c 的值為真。答案:Y第10題 (1.0分) 題號:1502對二維數(shù)組a來說,由于a+1與*(a+1)的值相等,因此二者的含義是一樣的.答案:N二、單項(xiàng)選擇 共30題 (共計(jì)30分)第1題 (1.0分) 題號:177以下描述中,正確的是()。A:預(yù)處理是指完成宏替換和文件包含中指定的文件的調(diào)用B:預(yù)處理指令只能位于C源文件的開始C:C源程序中凡是行首以#標(biāo)識的控制行都是預(yù)處理指令D:預(yù)處理就是完成C編譯程序?qū)源程序第一遍掃描,為編譯詞法和語法分析作準(zhǔn)備答案:C第2題 (1.0分) 題號:2789設(shè)C語言中,int類型數(shù)據(jù)占4個字節(jié),則short類型數(shù)據(jù)占(). (為什么不是4呢?)A:1個字節(jié)B:2個字節(jié)C:4個字節(jié)D:8個字節(jié)答案:B第3題 (1.0分) 題號:693以下各選項(xiàng)企圖說明一種新的類型名,其中正確的是()。A:typedef v1 int;B:typedef v2=int;C:typedef int v3;D:typedef v4: int;答案:C第4題 (1.0分) 題號:104以下運(yùn)算符中,優(yōu)先級最高的運(yùn)算符是()。A:|B:%C:!D:=答案:C第5題 (1.0分) 題號:138以下程序的輸出結(jié)果是()。main()int i,j,k,a=3,b=2;i=(-a=b+)?-a:+b;j=a+;k=b;printf(i=%d,j=%d,k=%dn,i,j,k);A:i=2,j=1,k=3B:i=1,j=1,k=2C:i=4,j=2,k=4D:i=1,j=1,k=3答案:D第6題 (1.0分) 題號:2907以下程序段的執(zhí)行結(jié)果是().double x;x=218.82631; printf(%-6.2en,x);A:輸出格式描述符的域?qū)挷粔?不能輸出B:輸出為21.38e+01C:輸出為2.2e+02D:輸出為-2.14e2答案:C第7題 (1.0分) 題號:152以下程序的運(yùn)行結(jié)果是()。main() int n; for(n=1;ny?+x:+y的值為().int x=1,y=2,z=3;A:2B:3C:6D:5答案:C第19題 (1.0分) 題號:526用戶定義的函數(shù)不可以調(diào)用的函數(shù)是()。A:非整型返回值的B:本文件外的C:main函數(shù)D:本函數(shù)下面定義的答案:C第20題 (1.0分) 題號:2567以下標(biāo)識符中,不能作為合法的C用戶定義標(biāo)識符的是().A:a3_b3B:voidC:_123D:IF答案:B第21題 (1.0分) 題號:2401下面程序段的輸出結(jié)果為() int a,b;b=(a=3*5,a*4,a*5); printf(%d,b);A:60B:75C:65D:無確定值答案:B第22題 (1.0分) 題號:3063若有定義:int a=7;float x=2.5,y=4.7;則表達(dá)式x+a%3*(int)(x+y)%2/4的值是().A:2.B:2.C:3.D:0.答案:A第23題 (1.0分) 題號:3129若有說明: int a4=0,0;則下面不正確的敘述是().A:數(shù)組a的每個元素都可得到初值0B:二維數(shù)組a的第一維大小為1C:因?yàn)槎S數(shù)組a中第二維大小的值除經(jīng)初值個數(shù)的商為1,故數(shù)組a的行數(shù)為1D:有元素a00和a01可得到初值0,其余元素均得不到初值0答案:D第24題 (1.0分) 題號:3186若有說明:int i, j=2,*p=&i;,則能完成i=j賦值功能的語句是().A:i=*p;B:*p=*&j;C:i=&j;D:i=*p;答案:B第25題 (1.0分) 題號:3016與實(shí)際參數(shù)為實(shí)型數(shù)組名相對應(yīng)的形式參數(shù)不可以定義為(). (這是什么意思?)A:float a;B:float *a;C:float a;D:float (*a)3;答案:C第26題 (1.0分) 題號:515int i,j,a23;按照數(shù)組a的元素在內(nèi)存的排列次序,不能將數(shù)1,2,3,4,5,6存入a數(shù)組的是()。A:for(i=0;i2;i+)for(j=0;j3;j+)aij=i*3+j+1;B:for(i=0;i3;i+)for(j=0;j2;j+)aji=j*3+i+1;C:for(i=0;i6;i+)ai/3i%3=i+1;D:for(i=1;i=6;i+)aii=i;答案:D第27題 (1.0分) 題號:2799下列運(yùn)算符中,不屬于關(guān)系運(yùn)算符的是().A:C:=D:!答案:D第28題 (1.0分) 題號:662C語言中,函數(shù)值類型的定義可以缺省,此時函數(shù)值的隱含類型是()。A:voidB:intC:floatD:double答案:B第29題 (1.0分) 題號:196若有下列定義,則對a數(shù)組元素地址的正確引用是()。int a5,*p=a;A:*(p+5)B:*p+2C:*(a+2)D:*&a5答案:C第30題 (1.0分) 題號:2993下列程序段的輸出結(jié)果為().int a=7,b=9,t;t=a*=ab?a:b;printf(%d,t);A:7B:9C:63D:49答案:C三、程序填空 共2題 (共計(jì)24分)第1題 (12.0分) 題號:591/*如果ab,就將兩個數(shù)的位置調(diào)換;否則,保持不變。*/main() int a,b,temp; printf(nPlease input two int number:); scanf(%d%d,&a,&b); if(ab) /*SPACE*/ 【?】;/*SPACE*/ a=【?】; b=temp; printf(%d,%dn,a,b);答案:=(答案1)=temp=a=(答案2)=b第2題 (12.0分) 題號:30/*-【程序填空】-題目:以下程序的功能是用冒泡法對數(shù)組a 進(jìn)行由小到大的 排序。-*/void fun(int a,int n) int i,j,t;/*SPACE*/ for (j=0; 【?】;j+)/*SPACE*/ for (i=0; 【?】;i+)/*SPACE*/ if(【?】) t=ai;ai=ai+1;ai+1=t;main() int i,a10=3,7,5,1,2,8,6,4,10,9;/*SPACE*/ 【?】; for(i=0;i10;i+) printf(%3d,ai);答案:=(答案1)=j=j=或=j=j=或=jj=(答案2)=ii=或=ii=或=i=n-j-2=或=ia i + 1 =或=a i + 1 ai=(答案4)=fun(a,10)四、程序改錯 共2題 (共計(jì)22分)第1題 (11.0分) 題號:417/*- 【程序改錯】-題目:讀取7個數(shù)(1-50)的整數(shù)值,每讀取一個值, 程序打印出該值個數(shù)的。-注意:不可以增加或刪除程序行,也不可以更改程 序的結(jié)構(gòu)。-*/#include stdio.hmain()int i,a,n=1;/*FOUND*/while(n7)doscanf(%d,&a);/*FOUND*/while(a50);/*FOUND*/for(i=0;i=a;i+)printf(*);printf(n);n+;getch(); 答案:=(答案1)=while(n=7)=或=while(n8)=(答案2)=while(a50);=或=while(a50|a1);=(答案3)=for(i=1;i=a;i+)第2題 (11.0分) 題號:429/*- 【程序改錯】-題目:求0-7這8個數(shù)字所能組成的奇數(shù)個數(shù)。-注意:不可以增加或刪除程序行,也不可以更改程序 的結(jié)構(gòu)。-*/#include stdio.hmain()/*FOUND*/long sum=4;s=4;int j;for(j=2;j=8;j+)/*FOUND*/printf(n%d,sum);/*FOUND*/if(j2)s*=7;elses*=8;sum+=s;printf(nsum=%ld,sum);getch(); 答案:=(答案1)=long sum=4,s=4;=(答案2)= printf(n%ld,sum);=(答案3)=if(j=2)=或=if(j3)五、程序設(shè)計(jì) 共1題 (共計(jì)14分)第1題 (14.0分) 題號:49/*-【程序設(shè)計(jì)】-題目:請用for循環(huán)編寫編寫函數(shù)fun,函數(shù)的功能是:計(jì)算n門 課程的平均值,計(jì)算結(jié)果作為函數(shù)值返回。 例如,若有5門課程的成績是:92,76,69,58, 88,則函數(shù)的值為76.。-注意:部分源程序給出如下。請勿改動主函數(shù)main和其 它函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填 入所編寫的若干語句。-*/#include stdio.hfloat fun(int a,int n)/*Program*/ /* End */main()int a=92,76,69,58,88;printf(y=%fn,fun(a,5);yzj();yzj()FILE *IN,*OUT;int iIN10,i,j;float fOUT;IN=fopen(18.in,r);if(IN=NULL)printf(Please Verify The Currernt Dir.It May Be Changed);OUT=fopen(18.out,w);if(OUT=NULL)printf(Please Verify The Current Dir. It May Be Changed); for(j=0;j10;j+) for(i=0;i5;i+) fscanf(IN,%d,&iINi); fOUT=fun(iIN,5); fprintf(OUT,%fn,fOUT);fclose(IN);fclose(OUT);答案:-int i; float y=0; for(i=0;in;i+) y+=ai; y=y/n; return y;-一、判斷 共10題 (共計(jì)10分)第1題 (1.0分) 題號:7在C語言中,此定義和語句是合法的:enum aa a=5,b,cbb;bb=(enum aa)5; (枚舉類型) 還有 結(jié)構(gòu)類型,聯(lián)合類型答案:Y第2題 (1.0分) 題號:1475表達(dá)式1/4+2.75的值是3.答案:N第3題 (1.0分) 題號:

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論