C語言試題資料_第1頁
C語言試題資料_第2頁
C語言試題資料_第3頁
C語言試題資料_第4頁
C語言試題資料_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1.以下正確的字符串常量是 (D)A、abc B、A C、OlympicGames D、2. 在C程序中,可把整型數(shù)以二進(jìn)制形式存放到文件中的函數(shù)是(B)。A、fread函數(shù) B、fprintf函數(shù) C、fputc函數(shù) D、fwrite函數(shù)3. 下列程序段的輸出結(jié)果為(). int a=7,b=9,t; t=a*=ab?a:b; printf(%d,t);(C)A、49 B、9 C、63 D、74. 若希望當(dāng)A的值為奇數(shù)時,表達(dá)式的值為“真”,A的值為偶數(shù)時,表達(dá)式的值為“假”,則以下不能滿足要求的表達(dá)式是(A)。A、!(A%2) B、A%2 C、A%2=1 D、!(A%2=0)5. C程序中

2、的宏展開是在(A)。A、編譯前預(yù)處理時進(jìn)行的 B、編譯時進(jìn)行的 C、編輯時進(jìn)行的 D、程序執(zhí)行時進(jìn)行的6. 已定義ch為字符型變量,以下賦值語句中錯誤的是(C)。A、ch=xaa; B、ch=NULL; C、ch=; D、ch=62+3;7. 在一個C程序中(C)。A、main函數(shù)必須出現(xiàn)在固定位置 B、main函數(shù)必須出現(xiàn)在所有函數(shù)之前C、main函數(shù)可以在任何地方出現(xiàn) D、main函數(shù)必須出現(xiàn)在所有函數(shù)之后8. 下面敘述中正確的是 (A)A、函數(shù)可以返回一個值,也可以什么值也不返回B、空函數(shù)在不完成任何操作,所以在程序設(shè)計中沒有用處C、聲明函數(shù)時必須明確其參數(shù)類型和返回類型D、對于用戶自己

3、定義的函數(shù),在使用前必須加以聲明9. 下列程序的輸出結(jié)果是(C)。main()char c1=97,c2=98;printf(%d %c,c1,c2);A、a 98 B、a b C、97 b D、97 9810. 整型變量x=1,y=3,經(jīng)下列計算后,x的值不等于6的是 (A)A、x=9-(-y)-(y-) B、x=(x=1+2,x*2) C、x=y*4/2 D、x=y2?6:511. 以下對C語言函數(shù)的描述中,正確的是(B)。A、C函數(shù)既可以嵌套定義又可以遞歸調(diào)用B、C程序必須由一個或一個以上的函數(shù)組成C、函數(shù)必須有返回值,否則不能使用函數(shù)D、C程序中有調(diào)用關(guān)系的所有函數(shù)必須放在同一個程序文

4、件中12. 若有下列定義,則對a數(shù)組元素地址的正確引用是(B)。 int a5,*p=a;A、&a B、p+2 C、a+ D、&a513. C語言源程序名的后綴是 (B)A、cp B、c C、obj D、exe14. 下面不正確的字符串常量是(B)。A、0 B、abc C、1212 D、 15.main() (C)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=1,j=1,k=2 B、i=2,j=1,k=3 C、i=1,j=1,k=3 D、i=4,j=2,k=416. 可在C程序中用作標(biāo)識

5、符的一組標(biāo)識符是 (C)A、2c DO SiG B、void Define WORDC、as_b3 _123 If D、For -abc case17. 以下程序段中,能夠正確地執(zhí)行循環(huán)的是(B)。A、static int a; while(a) B、int s=6; do s-=2; while(s);C、for(i=1;i10;i+) D、int s=6; m:if(s100) exit(0); else s-=2; goto m:18. 當(dāng)運(yùn)行以下程序時,在鍵盤上從第一列開始,輸入9876543210(此處表示Enter),則程序的輸出結(jié)果是 (D)main() int a; float

6、 b, c; scanf(“%2d%3f%4f”, &a, &b, &c); printf(“na=%d,b=%f,c=%fn”,a, b, c); A、a=10,b=432,c=8765 B、a=98,b=765.0,c=4321.0C、a=98,b=765,c=4321 D、a=98,b=765.000000,c=4321.000000 19. printf(“*n”), (A) else printf(“&n”);A、* B、有語法錯誤不能通過編譯 C、& D、*&20. C語言中的文件的存儲方式有(B)。A、只能順序存取 B、可以順序存取,也可隨機(jī)存取C、只能從文件的開頭進(jìn)行存取 D、

7、只能隨機(jī)存取(或直接存取)21. C語言中的文件的存儲方式有(B)。A、只能順序存取 B、可以順序存取,也可隨機(jī)存取C、只能從文件的開頭進(jìn)行存取 D、只能隨機(jī)存取(或直接存取)22. 以下程序的輸出結(jié)果是 (D)main() int a = 2, 4, 6, 8, *p = a, i; for(i = 0; i 4; i+) ai = *p+; printf(“%dn”, a2);A、4 B、8 C、2 D、623. 全局變量的定義不可能在(A)。A、函數(shù)內(nèi)部 B、文件外面 C、最后一行 D、函數(shù)外面24. 以下程序的輸出結(jié)果是(D)。main()float x=3.6; int i; i=(

8、int)x; printf(x=%f,i=%dn,x,i);A、x=3 i=3.600000 B、x=3.600000,i=4 C、x=3,i=3 D、x=3.600000,i=325. C語言中,字符(char)型數(shù)據(jù)在微機(jī)內(nèi)存中的存儲形式是 (C)A、反碼 B、EBCDIC碼 C、ASCII碼 D、補(bǔ)碼26. 從循環(huán)體內(nèi)某一層跳出,繼續(xù)執(zhí)行循環(huán)外的語句是 (A)A、break語句 B、return語句 C、continue語句 D、空語句27. 若有定義:char *p1,*p2,*p3,*p4,ch;則不能正確賦值的程序語句為(A).A、*p3=getchar(); B、p1=&ch;

9、scanf(%c,p1);C、p2=(char *)malloc(1);scanf(%c,p2); D、p4=&ch;*p4=getchar();28. 若有說明: int a4=0,0;則下面不正確的敘述是(B)。A、數(shù)組a的每個元素都可得到初值0B、有元素a00和a01可得到初值0,其余元素均得不到初值0C、二維數(shù)組a的第一維大小為1D、因為二維數(shù)組a中第二維大小的值除經(jīng)初值個數(shù)的商為1,故數(shù)組a的行數(shù)為129. 以下能對一維數(shù)組a進(jìn)行正確初始化的語句是(B)。A、int a10=10*1; B、int a=0;C、int a10=(0,0,0,0,0) D、int a10=;30. 以下

10、程序段的輸出結(jié)果是 (B)int k, j, s;for(k = 2; k 6; k+, k+) s = 1; for(j = k; j 6; j+) s += j;printf(“%dn”, s);A、15 B、10 C、24 D、9二、判斷1. 空語句可以出現(xiàn)在任何位置,而且不會影響程序的運(yùn)行. N2. 數(shù)據(jù)結(jié)構(gòu)是對數(shù)據(jù)的描述,指在程序中要指定數(shù)據(jù)的類型和數(shù)據(jù)的組織形式. Y3. 在同一程序中,函數(shù)名必須唯一.形參名也必須唯一. N4. 表達(dá)式!(year%4=0 & year%100!=0)|year%400=0)與(year%4!=0 | (year%100=0 & year%400!

11、=0)是等價的 Y5.C語言中%運(yùn)算符的運(yùn)算對象必須是整型 Y6. 在循環(huán)嵌套中,使用break語句可以跳出所有循環(huán).N7. 若a是實型變量,C程序中允許賦值a=10, 因此實型變量中允許存放整型數(shù).N8. C語言中調(diào)用函數(shù)和被調(diào)用函數(shù)之間的數(shù)據(jù)只能通過實參與形參之間的數(shù)據(jù)傳遞和return語句兩種方式進(jìn)行.N9. 在C 語言中,此定義和語句是合法的: Yenum aa a=5,b,cbb;bb=(enum aa)5;10. 若有 int i=10,j=2;則執(zhí)行完i*=j+8;后的值為28。N三、填空1. 下列程序運(yùn)行時,若輸入labced12df 輸出結(jié)果為_. #include main

12、( ) char a=0,ch; while(ch=getchar()!=n) if(a&2!=0&(cha & ch=z) ch=ch-a+A; a+;putchar(ch); printf(n);答案:1AbCeDf2dF2. 若有以下說明和輸入語句,要求給c1、c2、c3輸入字符A、B和C,請寫出從鍵盤正確輸入數(shù)據(jù)的形式是_。 char c1, c2, c3; scanf(“%4c”, &c1); scanf(“%4c”, &c2);scanf(“%4c”, &c3);答案:AAAABBBBCCCC AAAABBBBCCCC3. 以下函數(shù)用以求x的y次方。請?zhí)羁?。double fun(

13、double ,x double y) int i; double z=1.0;for( i = 1; i_ ; i+) z = _ ;return z; 答案:【空1】&b0 ) putchar (*chp); putchar (n);答案:【空1】GFEDCB5. 下面程序調(diào)用getone函數(shù)開辟一個動態(tài)存儲單元,調(diào)用assone函數(shù)把數(shù)據(jù)輸入此動態(tài)存儲單元,調(diào)用outone函數(shù)輸出此動態(tài)存儲單元的數(shù)據(jù)。請?zhí)羁铡?include “stdlib.h”getone( int *s) *s = ( _ ) malloc (sizeof(int); assone( int *s) scanf(“

14、%d”, _);outone( int *b) printf(“%d”, _ );main() int *p; getone( &p ); assone( p ); outone( p );答案:【空1】int * 【空2】s 【空3】*b四、程序設(shè)計1. #include void bky(); char fun(char c) /*Begin*/ /* End */ void main() char c1, c2; printf(Please input a char:); c1=getchar(); printf(%c,%dn,c1,c1); c2=fun(c1); printf(%c,

15、%dn,c2,c2); bky();void bky() FILE *IN,*OUT; int i; char iIN,iOUT; IN=fopen(in.dat,r); if(IN=NULL) printf(Please Verify The Currernt Dir.it May Be Changed); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Please Verify The Current Dir. it May Be Changed); for(i=0;i5;i+) fscanf(IN,%c,&iIN); iOUT=fun(iIN); f

16、printf(OUT,%cn,iOUT); fclose(IN); fclose(OUT);答案: c=c+32; return c;五、程序改錯1.給定程序MODI1.C中函數(shù)fun的功能是: 將s所指字符串中的字母轉(zhuǎn)換為按字母序列的后續(xù)字母(但Z轉(zhuǎn)換為A, z轉(zhuǎn)換為a),其它字符不變。-注意:不可以增加或刪除程序行,也不可以更改程序的結(jié)構(gòu)。-*/#include #include #include void fun (char *s)/*ERROR*/while(s!=0)if(*s=A & *s = a & *s=z)if(*s=Z) *s=A;/*ERROR*/else if(s=z)

17、*s=a;/*ERROR*/else s+=1;/*ERROR*/s+main() char s80;printf(n Enter a string with length 80. :nn ); gets(s);printf(n The string : nn ); puts(s);fun(s);printf (nn The Cords :nn ); puts(s)答案:【空1】while(*s!=0) 【空2】else if(*s=z)*s=a; while(*s) while(*s!=0) while(*s!=NULL)【空3】else *s+=1; else *s=*s+1; else

18、*s=1+*s; else (*s)+ else +(*s)2.題目:以下程序把兩個數(shù)按由大到小的順序輸出來.-注意:不可以增加或刪除程序行,也不可以更改程序的結(jié)構(gòu)。-*/*ERROR*/swap( int *p1,*p2)int p; p=*p1;*p1=*p2;*p2=p;main( )int a,b, *p1,*p2;printf(input a,b:);/*ERROR*/scanf(%d%d,a,b);/*ERROR*/*p1=&a;*p2=&b;if(ab) swap(p1,p2);printf(a=%d,b=%dn,a,b);/*ERROR*/printf(max=%d,min=%

19、dn,p1,p2);答案:【空1】swap( int *p1,int *p2)【空2】scanf(%d%d,&a,&b);【空3】p1=&a;p2=&b;【空4】printf(max=%d,min=%dn,*p1,*p2);3.題目:函數(shù)fun的功能是:計算正整數(shù)num的各位上的數(shù)字之積。 例如,輸入252,則輸出應(yīng)該是20。 請改正程序中的錯誤,使它能得出正確的結(jié)果。-注意:不可以增加或刪除程序行,也不可以更改程序的結(jié)構(gòu)。-*/long fun (long num)/*Error*/ long k; do k*=num%10;/*Error*/ num=10; while (num); re

20、turn k;main() long n; printf(nPlease enter a number:);/*Error*/ scanf(%ld, n);/*Error*/ printf(n%ldn,fun(long n);答案:暫無六、程序填空1.題目:下面的程序是求1!+3!+5!+n!的和,程序中有4個 空,填空使程序完整。-*/#include void main() long int f,s; int i,j,n;/*FILL*/ _ scanf(%d,&n); /*FILL*/ for(i=1;i=n; _) f=1; /*FILL*/ for(j=1; _;j+)/*FILL*/ _ s=s+

溫馨提示

  • 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

提交評論