c語言考試題及答案

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

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

15 積分

下載資源

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

資源描述:

《c語言考試題及答案》由會員分享,可在線閱讀,更多相關(guān)《c語言考試題及答案(93頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、一、選擇題 (1) 在C語言中,如果下面的變量都是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的序號為65,以下程序的輸出的結(jié)

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

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

4、; 則c的二進制值是 A) 00011011 B)00010100 C)00011100 D)00011000 (10) 下面的程序中第幾行有錯誤(每行程序前面的數(shù)字是行號)。 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) 沒有 B)第4行 C)第6行 D)第8行 (11)

5、 設(shè)有語句int a=3;則執(zhí)行了語句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) 是無限循環(huán) B)循環(huán)次數(shù)不定 C)執(zhí)行4次 D)執(zhí)行3次 (13) 設(shè)有語句char a=\72;則變量a A)包含1個字符 B)包含2個字符 C)包含3個字符 D)說明不合法 (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)一個雙精度型表達式 C)一個整型表達式 D)一個不合法的表達式 (16) C語言中 A)不能使用do-while語句構(gòu)成的循環(huán) B)do-while語句構(gòu)成的循環(huán)必須用break語句才能退出 C)do-while語句構(gòu)成的循環(huán),當while語句中的表達式

7、值為非零時結(jié)束循環(huán) D)do-while語句構(gòu)成的循環(huán),當while語句中的表達式值為零時結(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語句構(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è)有以下語句,則不是對a數(shù)組元素的正確引用的選項是(其中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、 輸入以下三行,每行輸入都是在第一列上 開始,代表一個回車符: 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ù)組中的下標,請選擇填空。 # 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"); } 從第一列開始輸入以下數(shù)據(jù),代表一個回車符。 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è)有以下語句: char str[4][12]={"aaa","bbbb","ccccc","dddddd"}, *strp[4]; int i; for(i=0;i<4;i + + )strp[i]=str[i]; 不是對字符串的正確引用的選項是(其中0≤k<4) A) strp B) str[k] C

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

19、rn) (34) 設(shè)有以下語句: struct st {int n; struct st *next;}; static struct st a[3]={5,&a[1],7,&a[2],9,\0},*p; p=&a[0]; 則下列哪一個表達式的值是6 A)p + + ->n B) p->n + + C) (*p).n + + D) + + p->n (35) 以下四個程序中,哪一個不能對兩個整型變量的值進行交換 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語言程序?qū)⒋疟P中的一個文件復(fù)制到另一個

22、文件中,兩個文件名在命令行中給出。 #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ù)是一個用梯形法求定積分的通用函數(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ù)組中的所有素數(shù)的和,函數(shù)isprime用來判斷自變量是否為素數(shù)。素數(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) 請選出可用作C語言用戶標識符的一組標識符 A) void B) a3_b3 C) For D) 2a define _123 -abc DO WORD IF Case sizeof (2) 設(shè) int a=12,則執(zhí)行完語句 a+=a-=a*a后,a的值是 A) 552 B) 264 C) 144 D) -264 (3)

31、C語言程序的基本單位是 A) 程序行 B) 語句 C) 函數(shù) D) 字符 (4) 請選出合法的C語言賦值語句 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) 請選出以下語句的輸出結(jié)果 printf("%d\n",strlen("\t\"\065\xff\n")); A) 5 B) 14 C) 8 D) 輸出項不合法,無

32、正常輸出 (7) 設(shè)有如下的函數(shù) ggg(x) float x; { printf("\n%d",x*x);} 則函數(shù)的類型 A) 與參數(shù)x的類型相同 B) 是void C) 是int D) 無法確定 (8) 設(shè)有如下枚舉類型定義: enum language { Basic=3,Assembly,Ada=100,COBOL,Fortran}; 枚舉量Fortran的值為 A) 4 B) 7 C) 102 D) 103 (9) 若有以下說明和語句,請選出哪個是對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) 標準函數(shù) fgets(s, n, f) 的功能是 A) 從文件f中讀取長度為n的字符串存入指針s所指的內(nèi)存 B) 從文件f中讀取長度不超過n-1的字符串存入指針s所指的內(nèi)存 C) 從文件f中讀取n個字符串存入指針s所指的內(nèi)存 D) 從文件f中讀取長度為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ù),請選擇正確答案填入。 #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代替一個 A) 單精度數(shù) B) 雙精度數(shù) C) 常量 D) 字符串 (15) 字符(char)型數(shù)據(jù)在微機內(nèi)存中的存儲形式是 A) 反碼 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ù)式 的表達式是 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是基類型為整型的指針變量,則正確的賦值表達式是 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) 運行錯誤 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) 求字符串的長度 B) 比較兩個字符串的大小 C) 將字符串s復(fù)制到字符串t中 D) 將字符串s接續(xù)到字符串t中 (24) 請選出以下程序的輸出結(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) 請選出以下程序段的輸出結(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) 請選出以下程序段的輸出結(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>代表回車符) 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) 請選出以下程序的輸出結(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) 請選出以下程序的輸出結(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í)行完以下語句: 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); } 上述程序運行后,如果從鍵盤上輸入(在此代表回車符): 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。假定磁盤上有三個 文本文件,其文件名和內(nèi)容分別為: 文件名 內(nèi)容

51、 a aaaa# b bbbb# c cccc# 如果在DOS下鍵入 cpy a b c 則程序輸出 【8】 。 (9) 若輸入3個整數(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)計從終端輸入的大寫字母個數(shù)*/ if( isupper(c)) num[c-65]+=1; for(i=0; i<26; i++) /*輸出大寫字母和該字母的個數(shù)*/ if(num[i]) printf("%c:%d\n,i 【13】 , num[i]); } (12) 下面的程序調(diào)用getone函數(shù)開辟一個動態(tài)存儲單元,調(diào)用assone函數(shù)把數(shù)據(jù)輸入此動態(tài)存儲單元,調(diào)用outone函數(shù)輸出此動態(tài)存儲單元中的數(shù)據(jù)。請?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若遺漏逗號扣1分 (3) 28 (4) 2,5,1,2,3,-2若遺漏逗號扣1分 (5) IJKLEFGHABCD 若在字符間嵌入空格扣1分 若在字符間嵌入空格扣1分 (6)2468 (7) QuickC 若大寫字母寫成小寫字母,或小寫字母寫成大寫字母扣1分 (8) AAAABBBBCCCC 若在字符間嵌入空格扣1分若用小寫字母扣1分 (9) 2 7

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

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

58、于10.0,b賦予22.0,c賦予33.0,不正確的輸入形式是: A) 10<回車> B) 10.0,22.0,33.0<回車> 22<回車> 33<回車> C) 10.0<回車> D) 10 22<回車> 22.0 33.0<回車> 33<回車> (8) 若執(zhí)行以下程序時從鍵盤上輸入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語句是 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) 無限次 B) 有語法錯,不能執(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為小寫字母的表達式是 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) 無定值 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) 下列程序的運行結(jié)果是 A) 6 3 B) 3 6 C) 編譯出錯 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) 當調(diào)用函數(shù)時,實參是一個數(shù)組名,則向函數(shù)傳送的是 A) 數(shù)組的長度 B) 數(shù)組的首地址 C) 數(shù)組每一個元素的地址 D) 數(shù)組每個元素中的值 (21) 設(shè)有以下說明語句 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) 以下只有在使用時才為該類型變量分配內(nèi)存的存儲類說明是 A) auto和 static B) auto和 register C) register和 static D) extern和 register (23) 若fp是指向某文件的指針,且已讀到文件末尾,則庫函數(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;

展開閱讀全文
溫馨提示:
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)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

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

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

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


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