c語(yǔ)言考試題及答案

上傳人:仙*** 文檔編號(hào):26941717 上傳時(shí)間:2021-08-14 格式:DOC 頁(yè)數(shù):93 大?。?61.50KB
收藏 版權(quán)申訴 舉報(bào) 下載
c語(yǔ)言考試題及答案_第1頁(yè)
第1頁(yè) / 共93頁(yè)
c語(yǔ)言考試題及答案_第2頁(yè)
第2頁(yè) / 共93頁(yè)
c語(yǔ)言考試題及答案_第3頁(yè)
第3頁(yè) / 共93頁(yè)

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《c語(yǔ)言考試題及答案》由會(huì)員分享,可在線閱讀,更多相關(guān)《c語(yǔ)言考試題及答案(93頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、一、選擇題 (1) 在C語(yǔ)言中,如果下面的變量都是int類型,則輸出的結(jié)果是 sum=pad=5; pad=sum + + ,pad + + , + + pad; printf("%d\n",pad); A) 7 B) 6 C) 5 D) 4 (2) 以下程序的輸出結(jié)果是 # include main() { int i=010 , j = 10; printf("%d,%d\n",+ +i , j - -); } A) 11,10 B) 9,10 C) 010,9 D) 10,9 (3) 已知在ASCII代碼中,字母A的序號(hào)為65,以下程序的輸出的結(jié)

2、果是 # include main() { char c1=A, c2=Y; printf("%d,%d\n",c1,c2); } A) 因輸出格式不合法,輸出錯(cuò)誤信息 B)65,90 C)A,Y D)65,89 (4) 指針s所指字符串的長(zhǎng)度為 char *s="\\"Name\\Address\n"; A) 19 B) 15 C) 18 D) 說(shuō)明不合法 (5) 設(shè)有說(shuō)明int(*ptr)[m];其中的標(biāo)識(shí)符ptr是 A)M個(gè)指向整型變量的指針 B)指向M個(gè)整型變量的函數(shù)指針 C)一個(gè)指向具有M個(gè)整型元素的一維數(shù)組的指針 D)具有M個(gè)指針元素

3、的一維指針數(shù)組,每個(gè)元素都只能指向整型量 (6) 語(yǔ)句while(!E);中的條件!E等價(jià)于 A)E = = 0 B)E!=1 C)E!=0 D)~E (7) 以下程序的輸出結(jié)果是 # include main() { printf("%d\n",NULL); } A) 不確定的(因變量無(wú)定義) B)0 C)-1 D)1 (8) 以下函數(shù)調(diào)用語(yǔ)句中含有的實(shí)參個(gè)數(shù)為。 func((exp1,exp2),(exp3,exp4,exp5)); A) 1 B) 2 C) 4 D) 5 (9) 設(shè)有以下語(yǔ)句: char a=3,b=6,c; c=a^b<<2

4、; 則c的二進(jìn)制值是 A) 00011011 B)00010100 C)00011100 D)00011000 (10) 下面的程序中第幾行有錯(cuò)誤(每行程序前面的數(shù)字是行號(hào))。 1 #include 2 main() 3 { 4 float a[3]={0,0}; 5 int i; 6 for(i=0;i<3;i + + ) scanf("%d",&a[i]); 7 for(i=1;i<3;i + + ) a[0]=a[0]+a[i]; 8 printf("%f\n",a[0]); 9 } A) 沒(méi)有 B)第4行 C)第6行 D)第8行 (11)

5、 設(shè)有語(yǔ)句int a=3;則執(zhí)行了語(yǔ)句a+=a-=a*a;后,變量a的值是 A)3 B)0 C)9 D)-12 (12) 以下的for循環(huán) for(x=0,y=0; (y!=123)&&(x<4); x + + ); A) 是無(wú)限循環(huán) B)循環(huán)次數(shù)不定 C)執(zhí)行4次 D)執(zhí)行3次 (13) 設(shè)有語(yǔ)句char a=\72;則變量a A)包含1個(gè)字符 B)包含2個(gè)字符 C)包含3個(gè)字符 D)說(shuō)明不合法 (14) 以下程序的輸出結(jié)果是 # include # include main() { int a=1,b=4,c=2; float

6、 x=10..5 , y=4.0 , z; z=(a+b)/c+sqrt((double)y)*1.2/c+x; pritnf("%f\n",z); } A) 14.000000 B) 015.400000 C) 13.700000 D) 14.900000 (15) sizeof(double)是 A)一種函數(shù)調(diào)用 B)一個(gè)雙精度型表達(dá)式 C)一個(gè)整型表達(dá)式 D)一個(gè)不合法的表達(dá)式 (16) C語(yǔ)言中 A)不能使用do-while語(yǔ)句構(gòu)成的循環(huán) B)do-while語(yǔ)句構(gòu)成的循環(huán)必須用break語(yǔ)句才能退出 C)do-while語(yǔ)句構(gòu)成的循環(huán),當(dāng)while語(yǔ)句中的表達(dá)式

7、值為非零時(shí)結(jié)束循環(huán) D)do-while語(yǔ)句構(gòu)成的循環(huán),當(dāng)while語(yǔ)句中的表達(dá)式值為零時(shí)結(jié)束循環(huán) (17) 以下程序的輸出結(jié)果是 # include # include main() { char str[12]={s,t,r,i,n,g}; printf("%d\n",strlen(str)); } A) 6 B) 7 C) 11 D) 12 (18) 以下程序的輸出結(jié)果是 # include main() { int a=2,c=5; printf("a=%%d,b=%%d\n",a,c); } A

8、) a=%2,b=%5 B) a=2,b=5 C) a=%%d,b=%%d D) a=%d,b=%d (19) 以下程序的輸出結(jié)果是 # include main() { int a ,b,d=241; a=d/100%9; b=(-1)&&(-1); printf("%d,%d\n",a,b); } A) 6,1 B) 2,1 C) 6,0 D) 2,0 (20) 以下程序的輸出結(jié)果是 # include main() { int i; for ( i=1;i<=5;i + + ) {if ( i%2 ) printf("*"

9、); else continue; printf("#");} printf("$\n"); } A) *#*#*#$ B) #*#*#*$ C) *#*#$ D) #*#*$ (21) 以下for語(yǔ)句構(gòu)成的循環(huán)執(zhí)行了多少次 # include # define N 2 # define M N+1 # define NUM (M+1)*M/2 main() { int i , n=0; for ( i=1;i<=NUM;i + + ); {n + + ; printf("%d",n); } printf("\n"); } A) 5 B) 6 C

10、) 8 D) 9 (22) 設(shè)有以下語(yǔ)句,則不是對(duì)a數(shù)組元素的正確引用的選項(xiàng)是(其中0≤i<10) int a[10]={0,1,2,3,4,5,6,7,8,9}, *p=a; A) a[p-a] B) *(&a[i]) C) p[i] D) *(*(a+i)) (23) 有以下程序: # include # define N 6 main() { char c[N]; int i=0; for ( ;i

11、 輸入以下三行,每行輸入都是在第一列上 開(kāi)始,代表一個(gè)回車(chē)符: a b cdef 程序的輸出結(jié)果是 A) abcdef B) a C) a D) a b b b c cd cdef d e f (24) 以下程序調(diào)用findmax函數(shù)求數(shù)組中值最大的元素在數(shù)組中的下標(biāo),請(qǐng)選擇填空。 # include findmax ( s ,

12、 t , k ) int *s , t , *k; { int p; for(p=0,*k=p;p s[*k] )_________; } main() { int a[10] , i , k ; for ( i=0 ; i<10 ; i + + ) scanf("%d",&a[i]); findmax ( a,10,&k ); printf ( "%d,%d\n" , k , a[k] ); } A) k=p B) *k=p-s C) k=p-s D) *k=p (25) 有以下程序: #include u

13、nion pw { int i; char ch[2]; } a; main() { a.ch[0]=13; a.ch[1]=0; printf("%d\n",a.i); } 程序的輸出結(jié)果是(注意: ch[0]在低字節(jié),ch[1]在高字節(jié)。) A) 13 B) 14 C) 208 D) 209 (26) 有以下程序: # include main() { int c; while((c=getchar())!=\n) { switch(c-2) { case 0: case 1: putchar(c+4); case 2: putchar(c+4

14、);break; case 3: putchar(c+3); case 4: putchar(c+2);break; } } printf("\n"); } 從第一列開(kāi)始輸入以下數(shù)據(jù),代表一個(gè)回車(chē)符。 2743 程序的輸出結(jié)果是 A) 668977 B) 668966 C) 6677877 D) 6688766 (27) 以下程序的輸出結(jié)果為 main() { char *alpha[6]={"ABCD","IJKL","MNOP","QRST","UVWX"}; char **p; int i; p=alpha; for(i=0;i<4;i + +

15、) printf("%s",p[i]); printf("\n"); } A) ABCDEFGHIJKL B) ABCD C) ABCDEFGHIJKLMNOP D) AEIM (28) 以下程序的輸出結(jié)果是 # include # define FUDGE(y) 2.84+y # define PR(a) printf("%d",(int)(a)) # define PRINT1(a) PR(a);putchar(\n) main() {int x=2; PRINT1(FUDGE(5)*x); } A) 11 B) 12 C) 13 D) 15 (29)

16、 以下程序的輸出結(jié)果是 # include main() { int i=1,j=3; printf("%d",i + + ); { int i=0; i+=j*2; printf("%d,%d",i,j); } printf("%d,%d\n",i,j); } A) 1,6,3,1,3 B) 1,6,3,2,3 C) 1,6,3,6,3 D) 1,7,3,2,3 (30) 以下程序的輸出結(jié)果是 # include main() { int k=4,m=1,p; p=func(k,m); printf("%d,",p); p=fun

17、c(k,m); printf("%d\n",p);} func(a,b) int a,b; { static int m=0,i=2; i+=m+1; m=i+a+b; return(m); } A) 8,17 B) 8,16 C) 8,20 D) 8,8 (31) 設(shè)有以下語(yǔ)句: char str[4][12]={"aaa","bbbb","ccccc","dddddd"}, *strp[4]; int i; for(i=0;i<4;i + + )strp[i]=str[i]; 不是對(duì)字符串的正確引用的選項(xiàng)是(其中0≤k<4) A) strp B) str[k] C

18、) strp[k] D) *strp (32) 設(shè)有以下語(yǔ)句: char str1[]="string",str2[8],*str3,*str4="string"; 則不是對(duì)庫(kù)函數(shù)strcpy的正確調(diào)用的選項(xiàng)是(庫(kù)函數(shù)用于復(fù)制字符串) A) strcpy(str1,"HELLO1"); B) strcpy(str2,"HELLO2"); C) strcpy(str3,"HELLO3"); D) strcpy(str4,"HELLO4"); (33) C語(yǔ)言中形參的缺省存儲(chǔ)類別是 A)自動(dòng)(auto) B)靜態(tài)(static) C)寄存器(register) D)外部(exte

19、rn) (34) 設(shè)有以下語(yǔ)句: struct st {int n; struct st *next;}; static struct st a[3]={5,&a[1],7,&a[2],9,\0},*p; p=&a[0]; 則下列哪一個(gè)表達(dá)式的值是6 A)p + + ->n B) p->n + + C) (*p).n + + D) + + p->n (35) 以下四個(gè)程序中,哪一個(gè)不能對(duì)兩個(gè)整型變量的值進(jìn)行交換 A)# include main() { int a=10,b=20; swap(&a,&b); printf("%d %d\n",a,b)

20、; } swap(p,q) int *p,*q; { int *t; t=(int )malloc(sizeof(int)); t=p;*p=*q;*q=*t; } B) # include main() { int a=10,b=20; swap(&a,&b); printf("%d %d\n",a,b); } swap(p,q) int p,q; { int *t; t=*p;*p=*q;*q=t; } C) # include main() { int *a,*b; *a=10,*

21、b=20; swap(a,b); printf("%d %d\n",*a,*b); } swap(p,q) int *p,*q; { int t; t=*p;*p=*q;*q=t; } D) # include main() { int a=10,b=20; int x=&a,y=&b; swap(x,y); printf("%d %d\n",a,b); } swap(p,q) int *p,*q; { int t; t=*p;*p=*q;*q=t; } 二、填空題 (1) 以下C語(yǔ)言程序?qū)⒋疟P(pán)中的一個(gè)文件復(fù)制到另一個(gè)

22、文件中,兩個(gè)文件名在命令行中給出。 #include main(argc,argv) int argc; char *argv[]; { FILE *f1,*f2; char ch; if(argc< 【1】 ) { printf("Parameters missing!\n"); exit(0); } if( ((f1=fopen(argv[1],"r")) = = NULL)||((f2=fopen(argv[2],"w")) = = NULL)) { printf("Can not open file!\n"); exit(0);} while( 【

23、2】 )fputc(fgetc(f1),f2); fclose(f1); fclose(f2); } (12) 以下程序中的trap函數(shù)是一個(gè)用梯形法求定積分的通用函數(shù)。梯形法求定積分的公式為: n-1 a-b s=((f(a)+f(b))/2+∑ f(a+i*h))*h , h=|----| i=1 n 其中,n為積分小區(qū)間數(shù)。以下程序調(diào)用trap函數(shù)求定積分,被積函數(shù)是: f(x)=x*x+3*x+2,且n=1000,a=0,b=4。 #include 3include double trap(fun,a,b) double (*

24、fun)(),a,b; { double t,h; int i,n=1000; t=0.5*((*fun)(a)+(*fun)(b)); h=fabs(a-b)/(double)(n); for(i=1;i<=n-1;i + + ) t=t+ 【3】 ; t=t*h; return(t); } double mypoly(x) double x; { return(x*x+3.0*x+2.0); } main() { double y,(*pf)(); pf= 【4】 ; y=trap(pf,0.0,4.0); printf("%f\n",y); } (13) 以下程序

25、求a數(shù)組中的所有素?cái)?shù)的和,函數(shù)isprime用來(lái)判斷自變量是否為素?cái)?shù)。素?cái)?shù)是只能被1和本身整除且大于1的自然數(shù)。 #include main() { int i,a[10],*p=a,sum=0; printf("Enter 10 num:\n"); for(i=0;i<10;i + + ) scanf("%d",&a[i]); for(i=0;i<10;i + + ) if(isprime(*(p+ 【5】 )) = = 1){ printf("%d",*(a+i)); sum+=*(a+i); } printf("\nThe sum=%d\n",sum)

26、; } isprime(x) int x; { int i; for(i=2;i<=x/2;i + + ) if(x%i = = 0) return (0); 【6】 ; } (14) 以下程序調(diào)用invert函數(shù)按逆序重新放置a數(shù)組中元素的值。a數(shù)組中的值在main函數(shù)中讀入。 #include #define N 10 invert(s,i,j) int *s,i,j; { int t; if(i

27、N],i; for(i=0;inext = = NULL). #include struct list { int data;struct list *next;}; 【9】 creatli

28、st() { struct list *p,*q,*ph; int a; ph=(struct list *) malloc(sizeof(struct list)); p=q=ph; printf("Input an integer number,enter -1 to end:\n"); scanf("%d",&a): while(a!=-1) { p=(struct list *)malloc(sizeof(struct list)); p->data=a; q->next=p; 【10】 =p; scanf("%d",&a); } p->next=\0; return(

29、ph); } main() { struct list *head; head=creatlist();} 參考答案 選擇題: (1)C (2)B (3)D (4)B (5)C (6)A (7)B (8)B (9)A (10)C (11)D (12)C (13)A (14)C (15)C (16)D (17)A (18)D (19)B (20)A (21)C (22)D (23)C (24)D (25)A (26)A (27)C (28)B (29)B (30)A (31)A (32)C (33)A (34)D (35)C 填空題: (1)3 (2)!feof(

30、f1)或feof(f1)==0 (3)(*fun)(a+i*h) (4) mypoly (5)I (6)return 1 或 return (1) (7)i+1 (8) I (9) struct list * (10) q 一、選擇題 (1) 請(qǐng)選出可用作C語(yǔ)言用戶標(biāo)識(shí)符的一組標(biāo)識(shí)符 A) void B) a3_b3 C) For D) 2a define _123 -abc DO WORD IF Case sizeof (2) 設(shè) int a=12,則執(zhí)行完語(yǔ)句 a+=a-=a*a后,a的值是 A) 552 B) 264 C) 144 D) -264 (3)

31、C語(yǔ)言程序的基本單位是 A) 程序行 B) 語(yǔ)句 C) 函數(shù) D) 字符 (4) 請(qǐng)選出合法的C語(yǔ)言賦值語(yǔ)句 A) a=b=58 B) i++; C) a=58,b=58 D) k=int(a+b); (5) 執(zhí)行下面程序片段的結(jié)果是 int x=23; do { printf("%2d",x--);} while(!x); A) 打印出321 B) 打印出23 C) 不打印任何內(nèi)容 D) 陷入死循環(huán) (6) 請(qǐng)選出以下語(yǔ)句的輸出結(jié)果 printf("%d\n",strlen("\t\"\065\xff\n")); A) 5 B) 14 C) 8 D) 輸出項(xiàng)不合法,無(wú)

32、正常輸出 (7) 設(shè)有如下的函數(shù) ggg(x) float x; { printf("\n%d",x*x);} 則函數(shù)的類型 A) 與參數(shù)x的類型相同 B) 是void C) 是int D) 無(wú)法確定 (8) 設(shè)有如下枚舉類型定義: enum language { Basic=3,Assembly,Ada=100,COBOL,Fortran}; 枚舉量Fortran的值為 A) 4 B) 7 C) 102 D) 103 (9) 若有以下說(shuō)明和語(yǔ)句,請(qǐng)選出哪個(gè)是對(duì)c數(shù)組元素的正確引用 int c[4][5], (*cp)[5]; cp=c; A) cp+1 B) *(

33、cp+3) C) *(cp+1)+3 D) *(*cp+2) (10) 標(biāo)準(zhǔn)函數(shù) fgets(s, n, f) 的功能是 A) 從文件f中讀取長(zhǎng)度為n的字符串存入指針s所指的內(nèi)存 B) 從文件f中讀取長(zhǎng)度不超過(guò)n-1的字符串存入指針s所指的內(nèi)存 C) 從文件f中讀取n個(gè)字符串存入指針s所指的內(nèi)存 D) 從文件f中讀取長(zhǎng)度為n-1的字符串存入指針s所指的內(nèi)存 (11) 設(shè)有如下一段程序: int *var,ab; ab=100 var=&ab; ab=*var+10; 執(zhí)行上面的程序后,ab的值為 A) 120 B) 110 C) 100 D) 90 (12) 以下程序

34、段給數(shù)組所有的元素輸入數(shù)據(jù),請(qǐng)選擇正確答案填入。 #include main() { int a[10],i=0; while(i<10) scanf("%d",________ ); ┇ } A) a+(i++) B) &a[i+1] C) a+i D) &a[++i] (13) 設(shè)有如下的程序段: char str[ ]="Hello"; char *ptr; ptr=str; 執(zhí)行上面的程序段后,*(ptr+5)的值為 A) o B) \0 C) 不確定的值 D) o的地址 (14) 在宏定義 #define PI 3.14159中,用宏名P

35、I代替一個(gè) A) 單精度數(shù) B) 雙精度數(shù) C) 常量 D) 字符串 (15) 字符(char)型數(shù)據(jù)在微機(jī)內(nèi)存中的存儲(chǔ)形式是 A) 反碼 B) 補(bǔ)碼 C) EBCDIC碼 D) ASCII碼 (16) 執(zhí)行下面的程序段 int x=35; char z=A; int b; B=((x&15)&&(z

36、接遞歸調(diào)用 (18) 假設(shè)在程序中a,b,c均被定義成整型,并且已賦大于1的值,則下列能正確表示代數(shù)式 的表達(dá)式是 A) 1/a*b*c B) 1/(a*b*c) C) 1/a/b/(float)c D) 1.0/a/b/c (19) 若x是整型變量,pb是基類型為整型的指針變量,則正確的賦值表達(dá)式是 A) pb=&x B) pb=x; C) *pb=&x; D) *pb=*x (20) 設(shè)有 static char str[ ]="Beijing"; 則執(zhí)行 printf("%d\n", strlen(strcpy(str,"China"))); 后的輸出結(jié)果為 A) 5

37、 B) 7 C) 12 D) 14 (21) 設(shè)有如下程序: #include main() { int **k, *j, i=100; j=&i; k=&j; printf("%d\n", **k); } 上面程序的輸出結(jié)果是 A) 運(yùn)行錯(cuò)誤 B) 100 C) i的地址 D) j的地址 (22) 設(shè) a=5, b=6, c=7, d=8, m=2, n=2, 執(zhí)行 (m=a>b)&&(n=c>d) 后n的值為 A) 1 B) 2 C) 3 D) 4 (23) 下面函數(shù)的功能是 sss(s, t) char *s, *t; { while

38、((*s)&&(*t)&&(*t++== *s++)); return(*s-*t); } A) 求字符串的長(zhǎng)度 B) 比較兩個(gè)字符串的大小 C) 將字符串s復(fù)制到字符串t中 D) 將字符串s接續(xù)到字符串t中 (24) 請(qǐng)選出以下程序的輸出結(jié)果 #include sub(x,y,z) int x, y, *z; { *z=y-x; } main() { int a, b, c; sub(10,5,&a); sub(7,a,&b); sub(a,b,&c); printf("%d,%d,%d\n", a,b,c); } A) 5,2,3 B) -5

39、,-12,-7 C) -5,-12,-17 D) 5,-2,-7 (25) 下面程序的輸出結(jié)果是 #include main() { int i=2,p; p=f(i,i+1); printf("%d",p); } int f(a,b) int a,b; { int c; if(a>b) c=1; else if(a==b) c=0; else c=-1; return(c); } A) -1 B) 0 C) 1 D) 2 (26) 請(qǐng)選出以下程序段的輸出結(jié)果 #include #define MIN(x,y) (x)

40、<(y)? (x):(y) main() { int i,j,k; i=10; j=15; k=10*MIN(i,j); printf("%d\n",k); } A) 15 B) 100 C) 10 D) 150 (27) 請(qǐng)選出以下程序段的輸出結(jié)果 #include main() { char sl[10], s2[10], s3[10], s4[10]; scanf("%s%s",s1,s2); gets(s3); gets(s4); puts(s1); puts(s2); puts(s3); puts(s4); } 輸入數(shù)據(jù)如下:(此處

41、R>代表回車(chē)符) aaaa bbbb cccc dddd A) aaaa B) aaaa C) aaaa D) aaaa bbbb bbbb bbbb bbbb cccc cccc cccc dddd dddd cccc dddd dddd eeee (28) 請(qǐng)選出以下程序的輸出結(jié)果 #include fun(s, n1, n2) int *s, n1, n2; { int i, j, t; i=n1; j=n2; while(i

42、)= *(s+j); *(s+j)=t; i++; j--; } } main() { int a[10]={1,2,3,4,5,6,7,8,9,0},i, *p=a; fun(p,0,3); fun(p,4,9); fun(p,0,9); for(i=0; i<10; i++) printf("%d", *(a+i)); printf("\n"); } A) 0 9 8 7 6 5 4 3 2 1 B) 4 3 2 1 0 9 8 7 6 5 C) 5 6 7 8 9 0 1 2 3 4 D) 0 9 8 7 6 5 1 2 3 4 (29) 請(qǐng)選出以下程序的輸出結(jié)果

43、 #include main() { int a[ ]={ 1,2,3,4 },i; int x=0; for(i=0; i<4; i++) { sub(a,x); printf("%d",x);} printf("\n"); } sub(s,y) int *s, y; { static int t=3; y=s[t]; t--; } A) 1 2 3 4 B) 4 3 2 1 C) 0 0 0 0 D) 4 4 4 4 (30) 下面程序的輸出結(jié)果為 struct st { int x; int *y; } *p; int dt[4]

44、={10,20,30,40}; struct st aa[4]={ 50,&dt[0],60,&dt[1], 70,&dt[2],80,&dt[3] }; main() { p=aa; printf("%d\n", ++p->x ); printf("%d\n", (++p)->x); printf("%d\n", ++( *p->y)); } A) 10 B) 50 C) 51 D) 60 20 60 60 70 20 21 21 31 二、填空題 (1) 設(shè)有如下程序段: int i

45、=0, sum=1; do { sum+=i++;} while(i<6); printf("%d\n", sum); 上述程序段的輸出結(jié)果是 【1】 。 (2) 閱讀下列程序: #include main() { int i, j, row, column,m; static int array[3][3]={{100,200,300}, {28,72,-30}, {-850,2,6} }; m=array[0][0]; for (i=0; i<3; i++) for (j=0; j<3; i++) if (array[i][j]

46、{ m=array[i][j]; row=i; column=j;} printf("%d,%d,%d\n",m,row,column); } 上述程序的輸出結(jié)果是 【2】 。 (3) 設(shè)a、b、c為整型數(shù), 且a=2、b=3、c=4, 則執(zhí)行完以下語(yǔ)句: a*=16+(b++)-(++c); 后,a的值是 【3】 。 (4) 下面程序的輸出結(jié)果是 【4】 。 #include main() { int a=3, b=2, c=1; c-=++b; b*=a+c; { int b=5, c=12; c/=b*2; a-=c; printf( %

47、d,%d,%d,",a,b,c); a+=--c; } printf( %d,%d,%d,",a,b,c); } (5) 設(shè)有如下程序: #include main(argc,argv) int argc; char *argv[ ]; { while( --argc>0) printf("%s",argv[argc]); printf("\n"); } 假定上述程序經(jīng)編譯和連接后生成可執(zhí)行文件PROG.EXE,如果在DOS提示符下鍵入PROG ABCD EFGH IJKL ,則輸出結(jié)果為 【5】 。 (6) 閱讀下列程序: #includ

48、e #define MAX_COUNT 4 void fun(); main() { int count; for (count=1; count<=MAX_COUNT; count++) fun(); } void fun() { static int i; i+=2; printf("%d",i); } 上述程序的輸出結(jié)果是 【6】 。 (7) 設(shè)有下列程序: #include #include main() { int i; char str[10], temp[10]; gets(temp);

49、 for (i=0; i<4; i++) { gets(str); if (strcmp(temp,str)<0) strcpy(temp,str); } printf("%s\n",temp); } 上述程序運(yùn)行后,如果從鍵盤(pán)上輸入(在此代表回車(chē)符): C++ BASIC QuickC Ada Pascal 則程序的輸出結(jié)果是 【7】 。 (8) 設(shè)有如下程序: #include main(argc,argv) int argc; char *argv[ ]; { FILE *fp; vo

50、id fc(); int i=1; while( --argc>0) if((fp=fopen(argv[i++],"r"))==NULL) { printf("Cannot open file! \n"); exit(1); } else { fc(fp); fclose(fp); } } void fc(ifp) FILE *ifp; { char c; while((c=getc(ifp))!=#) putchar(c-32); } 上述程序經(jīng)編譯、連接后生成可執(zhí)行文件名為cpy.exe。假定磁盤(pán)上有三個(gè) 文本文件,其文件名和內(nèi)容分別為: 文件名 內(nèi)容

51、 a aaaa# b bbbb# c cccc# 如果在DOS下鍵入 cpy a b c 則程序輸出 【8】 。 (9) 若輸入3個(gè)整數(shù)3,2,1,則下面程序的輸出結(jié)果是【9】 。 #include void sub( n,uu) int n, uu[ ]; { int t; t=uu[n--]; t+=3*uu[n]; n=n++; if(t>=10) { uu[n++]=t/10; uu[n]=t%10;} else uu[n]=t; } main( ) { int i, n, aa[10]={0,0,0,0,0,0} sca

52、nf( "%d%d%d",&n,&aa[0],&aa[1]); for(i=1; i #include main( ) { int num[26],i; cha

53、r c; for(i=0; i<26; i++) num[i]=0; while( 【12】 !=#) /*統(tǒng)計(jì)從終端輸入的大寫(xiě)字母?jìng)€(gè)數(shù)*/ if( isupper(c)) num[c-65]+=1; for(i=0; i<26; i++) /*輸出大寫(xiě)字母和該字母的個(gè)數(shù)*/ if(num[i]) printf("%c:%d\n,i 【13】 , num[i]); } (12) 下面的程序調(diào)用getone函數(shù)開(kāi)辟一個(gè)動(dòng)態(tài)存儲(chǔ)單元,調(diào)用assone函數(shù)把數(shù)據(jù)輸入此動(dòng)態(tài)存儲(chǔ)單元,調(diào)用outone函數(shù)輸出此動(dòng)態(tài)存儲(chǔ)單元中的數(shù)據(jù)。請(qǐng)?zhí)羁铡? #include get

54、one(s) int **s; { *s=(int *)malloc(sizeof(int));} assone(a) int *a; { scanf("%d", 【14】 );} outone(b) int *b; printf("%d\n", 【15】 );} main( ) { int *p; getone(&p); assone(p); outone(p); } 選擇題: (1)B (2)D (3)C (4)B (5)B (6)A (7)C (8)C (9)D (10)B (11)B (12)A (13)B (14)D (15)D (16)

55、B (17)A (18)D (19)A (20)A (21)B (22)B (23)B (24)B (25)A (26)A (27)A (28)C (29)C (30)C 填空題: (1) 16 (2) -850,2,0若遺漏逗號(hào)扣1分 (3) 28 (4) 2,5,1,2,3,-2若遺漏逗號(hào)扣1分 (5) IJKLEFGHABCD 若在字符間嵌入空格扣1分 若在字符間嵌入空格扣1分 (6)2468 (7) QuickC 若大寫(xiě)字母寫(xiě)成小寫(xiě)字母,或小寫(xiě)字母寫(xiě)成大寫(xiě)字母扣1分 (8) AAAABBBBCCCC 若在字符間嵌入空格扣1分若用小寫(xiě)字母扣1分 (9) 2 7

56、 2 1 或2721 (10) 9 (11) 0 (12) (c=getchar()) 注意,外層括號(hào)不得遺漏 (13) +65 或 +A (14) a 或&*a (15) *b 一、選擇題 (1) 下列敘述中正確的是 A) C語(yǔ)言編譯時(shí)不檢查語(yǔ)法 B) C語(yǔ)言的子程序有過(guò)程和函數(shù)兩種 C) C語(yǔ)言的函數(shù)可以嵌套定義 D) C語(yǔ)言所有函數(shù)都是外部函數(shù) (2) 以下所列的C語(yǔ)言常量中,錯(cuò)誤的是 A) 0xFF B) 1.2e0.5 C) 2L D) \72 (3) 下列選項(xiàng)中,合法的C語(yǔ)言關(guān)鍵字是 A) VAR B) cher C) integer D) def

57、ault (4) 以下變量x.、y、z均為double類型且已正確賦值,不能正確表示數(shù)學(xué)式子 的C語(yǔ)言表達(dá)式是 A) x/y*z B) x*(1/(y*z)) C) x/y*1/z D) x/y/z (5) 若a為int類型,且其值為3,則執(zhí)行完表達(dá)式a+=a-=a*a后,a的值是 A) -3 B) 9 C) -12 D) 6 (6) 設(shè)x、y、t均為int型變量,則執(zhí)行語(yǔ)句:x=y=3;t=++x||++y;后,y的值為 A) 不定值 B) 4 C) 3 D) 1 (7) 若變量已正確說(shuō)明為float類型,要通過(guò)語(yǔ)句scanf("%f %f %f ",&a,&b,&c);給a賦

58、于10.0,b賦予22.0,c賦予33.0,不正確的輸入形式是: A) 10<回車(chē)> B) 10.0,22.0,33.0<回車(chē)> 22<回車(chē)> 33<回車(chē)> C) 10.0<回車(chē)> D) 10 22<回車(chē)> 22.0 33.0<回車(chē)> 33<回車(chē)> (8) 若執(zhí)行以下程序時(shí)從鍵盤(pán)上輸入9,則輸出結(jié)果是 A) 11 B) 10 C) 9 D) 8 Main0 { int n; scanf("%d",&n); if(n++<10) printf("%d\n",n); else printf("%d\n",n--); } (9) 若a、 b、c1、c2、x、y、均是整型變

59、量,正確的switch語(yǔ)句是 A) swich(a+b); B) switch(a*a+b*b) { case 1:y=a+b; break; {case 3: case 0:y=a-b; break; case 1:y=a+b;break; } case 3:y=b-a,break; } C) switch a D) switch(a-b) { case c1 :y=a-b; break {default:y=a*b;break case c2: x=a*d; break case 3:case 4:x=a+b;break default:x=a+b; case 10:

60、case 11:y=a-b;break; } } (10) 有以下程序段 int k=0 while(k=1)k++; while 循環(huán)執(zhí)行的次數(shù)是 A) 無(wú)限次 B) 有語(yǔ)法錯(cuò),不能執(zhí)行 C) 一次也不執(zhí)行 D) 執(zhí)行1次 (11) 以下程序執(zhí)行后sum的值是 A)15 B)14 C) 不確定 D)0 min() { int i , sum; for(i=1;i<6;i++) sum+=i; printf("%d\n",sum); } (12) 有以下程序段 int x=3 do { printf("%d",x-=2); } while (!(--x))

61、; 其輸出結(jié)果是 A) 1 B) 3 0 C) 1 -2 D) 死循環(huán) (13) 若變量c為char類型,能正確判斷出c為小寫(xiě)字母的表達(dá)式是 A) a<=c<= z B) (c>= a)||(c<= z) C) (a<=c)and (z>=c) D) (c>= a)&&(c<= z) (14) 以下所列的各函數(shù)首部中,正確的是 A) void play(var :Integer,var b:Integer) B) void play(int a,b) C) void play(int a,int b) D) Sub play(a as integer,b as intege

62、r) (15) 以下程序的輸出結(jié)果是 A) 0 B) 29 C) 31 D) 無(wú)定值 fun(int x, int y, int z) { z=x*x+y*y; } main() { int a=31; fun(5,2,a); printf("%d",a); } (16) 下列程序段的輸出結(jié)果是 A) 2 1 4 3 B) 1 2 1 2 C) 1 2 3 4 D) 2 1 1 2 void fun(int *x, int *y) { printf("%d %d", *x, *y); *x=3; *y=4;} main() { int x=1,y=2; fun(

63、&y,&x); printf("%d %d",x, y); } (17) 下列程序的輸出結(jié)果是 A) 非法 B)a[4]的地址 C)5 D)3 main() { char a[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5; printf("%d",*--p); } (18) 下列程序的運(yùn)行結(jié)果是 A) 6 3 B) 3 6 C) 編譯出錯(cuò) D) 0 0 void fun(int *a, int *b) { int *k; k=a; a=b; b=k; } main() { int a=3, b=6, *x=&a, *y=&b; fun(x

64、,y); printf("%d %d", a, b); } (19) 下面程序的輸出結(jié)果是 A) 0 B) 1 C) 10 D) 9 main() { int a[ ]={1,2,3,4,5,6,7,8,9,0,},*p; p=a; printf("%d\n",*p+9); } (20) 當(dāng)調(diào)用函數(shù)時(shí),實(shí)參是一個(gè)數(shù)組名,則向函數(shù)傳送的是 A) 數(shù)組的長(zhǎng)度 B) 數(shù)組的首地址 C) 數(shù)組每一個(gè)元素的地址 D) 數(shù)組每個(gè)元素中的值 (21) 設(shè)有以下說(shuō)明語(yǔ)句 struct ex { int x ; float y; char z ;} example; 則下面的敘述

65、中不正確的是 A) struct結(jié)構(gòu)體類型的關(guān)鍵字 B) example是結(jié)構(gòu)體類型名 C) x,y,z都是結(jié)構(gòu)體成員名 D) struct ex是結(jié)構(gòu)體類型 (22) 以下只有在使用時(shí)才為該類型變量分配內(nèi)存的存儲(chǔ)類說(shuō)明是 A) auto和 static B) auto和 register C) register和 static D) extern和 register (23) 若fp是指向某文件的指針,且已讀到文件末尾,則庫(kù)函數(shù)feof(fp)的返回值是 A) EOF B) -1 C) 非零值 D) NULL (24) 以下程序的輸出結(jié)果是 A) 20 B) 21 C) 2

66、2 D)23 main() { int i, k, a[10], p[3]; k=5; for (i=0;i<10;i++) a[i ]=i; for (i=0;i<3;i++) p[i ]=a[i *(i+1)]; for (i=0;i<3;i++) k+=p[i] *2; printf("%d\n",k); } (25) 以下程序的輸出結(jié)果是 A) 1,5,9 B) 1,4,7 C) 3,5,7 D)3,6,9 main() { int i, x[3][3]={1,2,3,4,5,6,7,8,9}; for(i=0;i<3;i++) printf("%d,",x[i][2-i]); } (26) 以下程序的輸出結(jié)果是 A) 18 B) 19 C) 20 D)21 main() { int a[3][3]={ {1,2},{3,4},{5,6} },i,j,s=0; for(i=1;i<3;i++) for(j=0;

展開(kāi)閱讀全文
溫馨提示:
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. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!