C語言程序設計試題_第1頁
C語言程序設計試題_第2頁
C語言程序設計試題_第3頁
C語言程序設計試題_第4頁
C語言程序設計試題_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、全國軟件專業(yè)人才設計與開發(fā)大賽校內(nèi)選拔賽C語言程序設計試題說明:本試題共15頁,請把答案寫在答題卡上。一、單選題(共60小題,每題1分,共60分)1. 執(zhí)行下列程序中的輸出語句后,x的值是_.main()int x ;printf(“%dn”,(x=5*6,x*2,x+20);A)30 B)60 C)50 D)802. 下列程序的輸出結(jié)果是_. main()int x=1,y=0,z;z=(x=0);printf(“%d %d% d%n”,z,x,y) ;A)0 -1 -1 B)0 -1 0 C)0 1 0 D)0 1 -13. 在C語言中,下列選項屬于合法的長整型常數(shù)的是_. A)0L B)

2、1234567 C)0.0234567 D)3.14159e34. 下列選項中屬于不正確的賦值語句的是_. A)t+; B)n1=(n2=(n3=0); C)k=i= =j; D)a=b,c=1;5. 若有定義:int a,b;char x,y;并有以下輸入數(shù)據(jù): 14 22 XxYy (回車)則能給a賦整數(shù)14,給b賦整數(shù)22,給x賦字符x,給y賦字符y的正確程序段是_. A) scanf(“%d %d”,&a,&b); x=getchar();y=getchar();B) scanf(“%d%d %c %c”, &a, &b,&x,&x,&y,&y);C) scanf(“%d %d %c%

3、c%c %c”, &a,&b,&x,&x,&y,&y);D) scanf(“%d%d %c %c”, &a, &b,&x,&y);6. 下列轉(zhuǎn)義字符不正確的是_.A) B) C)053 D)07. 下列選項可作為C語言賦值語句的是_.A)x=3,y=5 B)a=b=6 C)i- -; D)y=int(x);8. 當c的值不為0時,下列選項中能正確將c的值賦給變量a、b的是_.A)c=b=a; B)(a=c)(b=c); C)(a=c)&(b=c); D)a=c=b;9. 有以下程序:main() unsigned int a ;int b=-1;a=b;printf(“%u”,a);該程序運行

4、后的輸出結(jié)果是_.(知識點4.5)A)-1 B)65535 C)32767 D)-3276810. 若x、b、m、n均為int型變量,執(zhí)行下面語句后b的值為_.m=20;n=6;x=(- -m= =n+)?- -m:+n;b=m+;A)11 B)6 C)19 D)1811. 有以下程序:main() int a=111,b=222;printf(“%dn”,a,b);該程序運行后的輸出結(jié)果是_. A)錯誤信息 B)111 C)222 D)111,22212. 以下程序的輸出結(jié)果是_. main() int a=2,c=5;printf(“a=%d,b=%dn”,a,c);A) a=%2,b=%

5、5 B) a=2,b=5 C) a=%d,b=%d D) a=%d,b=%d13. 對于浮點型變量f,能實現(xiàn)對f中的值在小數(shù)點后第三位進行四舍五入的表達式是_. A)f=(f*100+0.5)/100.0 B)f=(f*100+0.5)/100C)f=(int)(f*100+0.5)/100.0 D)f=(f/100+0.5)*10014. 設 a=5, b=6, c=7, d=8, m=2, n=2, 執(zhí)行(m=ab)&(n=cd) 后m,n的值為_. A) 2,2 B) 2,0 C) 0,2 D) 0,015. 語句printf(“%dn”,strlen(“asdnx121”);的輸出結(jié)果

6、是_. A) 9 B) 11 C) 7 D) 816. 有以下程序:main( )int y=1234;printf(“y=%6d”,y);printf(“y=%+06dn”,y);該程序的運行結(jié)果是_.A) y= 1234y=001234 B) y= 1234y=+01234C) y=1234y=+01234 D) y= 1234y=123417. 語句:printf(“%d”, !9);的輸出結(jié)果是_.A) 0 B) 1 C) 有語法錯誤,不能執(zhí)行 D) -918. 已有定義語句:int x=6,y=4,z=5;執(zhí)行以下語句后,能正確表示x、y、z值的選項是_.if(xy)z=x;x=y

7、;y=z;A) x=4,y=5,z=6 B) x=4,y=6,z=6C) x=4,y=5,z=5 D) x=5,y=6,z=419. 下列選項中屬于正確的switch語句的是_.A)switch(1.0) B)swicth(1) case 1.0 :printf(“An”); case 1 :printf(“An”);case 2.0 :printf(“Bn”); case 2 :printf(“Bn”);C)switch(int)(1.0+2.5) D)switch(“a”); case 1 :printf(“An”); case “a” :printf(“An”);case 1+2 :pr

8、intf(“Bn”); case “b” :printf(“Bn”);20. 若k為int型變量,以下語句段執(zhí)行后的輸出結(jié)果是_.k=-3;if(kb)if(cd)x=1 ;elseif(ad)x=2 ;else x=3 ;else x=4 ;else x=5 ;A)2 B)3 C)4 D)522. 下列程序的運行結(jié)果是_.main() int y=10;do y- - ; while(- -y);printf(“%dn”,y- -);A)-1 B)1 C)8 D)023. 下列程序的運行結(jié)果是_.# include main()int i ;for(i=1;i=5;i+) if(i %2)p

9、rintf(“*”);else continue ;printf(“#”);printf(“$n”);A)*#*#$ B)#*#*#*$ C)*#*#*#$ D)*#$24. 若x是int型變量,且有下面的程序片段: for(x=5;x8;x+)printf(x%2)?(“*%d”):(“#%dn”),x);該程序片段的輸出結(jié)果是 _.A)*5#6 B)#5 C)#5*6#7 D)*5#6*7 *7 *6#725. 有以下程序:main()int a=1,b=0;switch(a) case 1:switch(b) case 0:printf(“*”);break ;case 1:printf

10、(“#”);break ; case 2: printf(“$”);break ; 該程序的輸出結(jié)果是_. A)* B)*$ C)*#$ D) #$26. 下列程序段的輸出結(jié)果是_. int x=3;do printf(“%3d”,x-=2);while(?。▁);A)1 B)3 0 C)1 -2 D)死循環(huán)27. 有以下程序,其中x、y為整型變量;for(x=0,y=0;(x=1)&(y= 1);x+,y);printf(“x=%d,y=%d”,x,y);該程序的輸出結(jié)果是_. A)x=2,y=0 B) x=1,y=0 C) x=1,y=1 D) x=0,y=028. 有以下程序段:int

11、n=0,p;do scanf(“%d”,&p);n+; while(p!=12345&nj) 語句共執(zhí)行的次數(shù)是_. main() int i=0,j=10,k=2,s=0;for(;) i+= k ;if(ij) printf(“%d”,s);break ;s+=i ;A)4 B)7 C)5 D)630. 以下程序的功能是:按順序讀入10名學生和4門課程的成績,計算出每位學生的平均分進行輸出,但運行結(jié)果不正確。main() int n,k;float score,ave;ave=0.0;for(n=1;n=10;n+) for(k=1;k=4;k+) scanf(“%f”,&score);a

12、ve+=score/4 ;printf(“NO%d:%fn”,n,ave);造成程序計算結(jié)果錯誤的語句行是_.A)ave=0.0; B)for(n=1;n=10;n+)C)ave+=score/4 ; D)printf(“NO%d:%fn”,n,ave);31. 若有以下定義:char s10=a,b,c,0,0,2,x32,0;執(zhí)行語句printf(“%d”,strlen(s);的結(jié)果是_.A)3 B)4 C)8 D)1032. 設有數(shù)組定義:char array =“abcdef”;則數(shù)組array所占的空間為_.A)4個字節(jié) B)5個字節(jié) C)6個字節(jié) D)7個字節(jié)33. 有以下程序:m

13、ain() char str 10=“China”,“Beijing”,*p=str;printf(“%sn”,p+10);該程序運行后的輸出結(jié)果是_.A)China B)Beijing C)ng D)ing34. 閱讀下面程序,該程序段的功能是_.#include main() int c =23,1,56,234,7,0,34,i,j,t;for(i=1;i=0&tcj) cj+1=cj;j- - ;cj+1=t;for(i=0;i7;i+)printf(“%d ”,ci );putchar(n);A)對數(shù)組元素的升序排列 B)對數(shù)組元素的降序排列C)對數(shù)組元素的倒序排列 D)對數(shù)組元素的

14、隨機排列35. 下列程序的輸出結(jié)果是_.main() int n33,i,j;for(i=0;i3;i+)for(j=0;j3;j+)nij=i+j;for(i=0;i2;i+)for(j=0;j2;j+)ni+1j+1+= nij;printf(“%d n”,nij);A)14 B)0 C)6 D)值不確定36. 下列函數(shù)調(diào)用語句中含有_個參數(shù)。func(f1,f2),(f2,f3,f4),f5)A)3 B)4 C)5 D)637. 下列程序的運行結(jié)果是_.#include main() char *p1,*p2,ch20=“ABCDEFabcdef”;p1=“1234”;p2=“abcd”

15、;strcpy(ch+1,p2+1);strcpy(ch+3,p1+3);pintf(“%sn”,ch);A)Abc4EFabcde B)Abc4EF C)AbcdEF D)Abc438. 下列程序的運行結(jié)果是_.# include int f(int a) switch (a) case 0:return 0;case 1:case 2:return 1;return(f(a-2)+f(a-3);main() int b;b=f(10);printf(“b=%dn”,b);A) 12 B)10 C)9 D)839. 有以下程序:fun(int n) if(n= =1| n= =2)retur

16、n 2;return s=n-fun(n-2);main()printf(“%dn”,fun(7);該程序運行后的輸出結(jié)果是_.A) 1 B)2 C)3 D)440. 下列程序中函數(shù)sort的功能是對a數(shù)組中的數(shù)據(jù)進行由大到小的排序:void sort(int a ,int n) int i,j,t;for(i=0;in-1;i+)for(j=i+1;jn;j+)if(aiaj)t=ai;ai=aj;aj=t;main() int aa10=1,2,3,4,5,6,7,8,9,10 ,i;sort(&aa3,5);for(i=0;i10;i+)printf(“%d,”,aai);printf(

17、“n”);該程序運行后的輸出結(jié)果是_.A)1,2,3,4,5,6,7,8,9,10, B)10,9,8,7,6,5,4,3,2,1,C)1,2,3,8,7,6,5,4,9,10, D)1,2,10,9,8,7,6,5,4,3,41. 下列程序的運行結(jié)果是_.main() int a=3,y;y=fn(a,a+);printf(“%d”,y);int fn(x,c) int b;if(xc)b=1;else if(x= =c)b=0;else b=-1 ;return(b);A)3 B)-1 C)1 D)042. 下列程序的運行結(jié)果是_.main() char arr24;strcpy(arr,

18、“you”);strcpy(arr1,“me”);printf(“%sn” ,arr);A)you me B)you C)me D)arr43. 下列程序的輸出結(jié)果是_.int f() static int i=0;int s=1;s+=i;i+;return s;main() int i , a=0;for(i=0;i5;i+)a+=f();printf(“%dn”,a);A)20 B)24 C)25 D)1544. 程序中對fun函數(shù)有如下說明:void *fun();此說明的含義是_.A) fun函數(shù)無返回值B) fun函數(shù)的返回值可以是任意的數(shù)據(jù)類型C) fun函數(shù)的返回值是無值型的指

19、針類型D) 指針fun指向一個函數(shù),該函數(shù)無返回值45. 設有下列定義:static int x,*p=&x,*q;scanf(“%d,%d”,p,q);若輸入3,4,則x的值為_.A)3 B)4 C)0 D)無法確定46. 設有以下程序:int fun(char *s) int n=0;while(*s) n+;s+ ;return n ;main()char y =“this_is_an_example.”;printf(“%dn”,fun(&y6);該程序的輸出結(jié)果是_.A)12 B)13 C)14 D)1647. 下列程序的功能是_.int fun(char *a) char *b=a

20、;while(*b)b+;return b-a ;A) 比較兩個字符串的大小 B)字符串的復制C) 計算字符串的長度 D) 字符串的連接48. 下列程序的輸出結(jié)果是_.main()int k=3,m=5,n=7;int *pk=&k,*pm=&m,*p;*(p=&n)=*pk*(*pm);printf(“%dn”,n);A)5 B)7 C)15 D)2149. 下列程序的執(zhí)行結(jié)果是_.main() char a10=9,8,7,6,5,4,3,2,1,0,*p=a+5;printf(“%d”,*p);A)非法 B)a4的地址 C)5 D)450. 以下函數(shù)返回a所指的數(shù)組中最小值所在的下標值:

21、fun(int *a, int n) int i , j=0 , p ;p=j ;for(i=j;in;i+)if(aiap) _ ;return(p);在下劃線處應填入_.A)i=p B)ap=ai C)p=j D)p=i51. 下列程序的運行結(jié)果是_.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,y);printf(“%d %d”,a,b);A)6 3 B)3 6 C)編譯出錯 D)0 052. 有如下程序:#define f(x)x*xmain() int i ;i=f(4+

22、4)/(2+2);printf(“%dn”,i);該程序執(zhí)行后的輸出結(jié)果是_.A)28 B)21 C)16 D)453. 下列程序的輸出結(jié)果是_.struct tt; int n1;char n2;float n3;union uuint u12;char u22;su;main()printf(“%dn”,sizeof(struct tt);A)11 B)12 C)7 D)954. 下列程序的輸出結(jié)果是_.struct LH int n;struct LH *m;p4;main() int i;for(i=0;in,p3.m-n); A)1,2 B)1,3 C)2,0 D)程序出錯55. 下

23、列程序的輸出結(jié)果是_.struct st int x;int *y;*p;int dt4=10,20,30,40;struct st aa4=50,&dt0,60,&dt1,70,&dt2,80,&dt3;main() p=aa;printf(“%d ”,+p-x);printf(“%d ”,(+p)-x);printf(“%d ”,+(*p-y);A)10 20 20 B)50 60 21 C)51 60 21 D)60 70 3156. 字符0的ASCII碼的十進制數(shù)為48,且數(shù)組的第0個元素在低位,則以下程序的執(zhí)行結(jié)果是_.#include main() union int i4;lon

24、g k;char c6;a,*s=&a ;s-i0=0x39;s-i1=0x38;printf(“%cn”,s-c0);A)5 B)3 C)6 D)957. 下列程序的運行結(jié)果是_.main() unsigned c1=0xff,c2=0x00;c1=c2|c12;c2=c10236;printf(“%x,%xn”,c1,c2);A)0x3f,0XA1 B)3f,A1 C)ffff,61 D)3f,a158. 若有運算符,sizeof,&=,則它們按優(yōu)先級由高至低的排列次序正確的是_.A)sizeof,&= , , B)sizeof, ,&=C),sizeof, &= D),&=,sizeof

25、59. 有以下程序:#include void fun(char *fname,char *st) FILE *myf;int i;myf=fopen(fname,“w”);for(i=0;istrlen(st);i+)fputc(sti,myf);fclose(myf);main() fun(“test.t”,“new world”);fun(“test.t”,“hello,”);執(zhí)行該程序后,文件test.t中的內(nèi)容是_.A)hello, B)new worldhello, C)new world D)hello,rld60. 有以下程序:#include main() FILE *fp;

26、int i=20,j=30,k,n;fp=fopen(“d1.dat”,“w”);fprintf(fp,“%dn”,i);fprintf(fp,“%dn”,j);fclose(fp);fp=fopen(“d1.dat”,“r”);fscanf(fp,“%d%d”,&k,&n);printf(“%d %dn”,k,n);fclose(fp);該程序運行后的輸出結(jié)果是_.A)20 30 B)20 50 C)30 50 D)30 20二、多選題(共20小題,每題2分,共40分)1. 下列符號串中,不屬于C語言合法標識符的有_.A)_1_2_3 B)a-b-c C)int D)9cd2. 當把下列四個

27、表達式用作if語句的控制表達式時,含義相同的選項有_.(假設k0)A)k%2 B)k%2= =1 C)(k%2)!=0 D)!k%2= =03. 已有定義 int a=-2;和輸出語句printf(“%8lx”,a);下列敘述不正確的有_.A) 整型變量的輸出形式只有%d一種B) %x是格式符的一種,它可以適用于任何一種類型的數(shù)據(jù)C) %x是格式符的一種,其變量的值按十六進制輸出,但%8lx是錯誤的D) %8lx不是錯誤的格式符,其中數(shù)字81規(guī)定了輸出字段的寬度4. 下列選項中,沒有構(gòu)成死循環(huán)的程序段有_.A)int i=100; B)for( ; ; )while(1) i=i%100+1;

28、if(i=100)break;C)int k=0; D)int s=36;do +k; while(k=0); while(s);s;5. t為int類型,進入下面的循環(huán)之前,t的值為0:while(t=1) 。則下列敘述不正確的有_.A)循環(huán)控制表達式的值為0 B)循環(huán)控制表達式的值為1C)循環(huán)控制表達式不合法 D)循環(huán)有可能是個無限循環(huán)6. 下列判斷正確的是_.A) char *a=“china”;等價于 char *a;*a=“china”;B) char str6=“china”;等價于char str = “china”;C) char *s=“china”;等價于char *s;s

29、=“china”;D) char c4=“abc”,d4=“abc”;等價于char c4=d4=“abc”;7. 若變量已正確定義,以下能正確計算1+2+3+4+5的程序段有_.A)i=1;s=1; B)i=0;s=0;do do s=s+i;i+; i+; s=s+i;while(i5); while(i5);C)i=1;s=0; D)i=0;s=0;do do s=s+i;i+; s=s+i; i+;while(i6); while(i=5);8. 下面程序把數(shù)組元素中的最小值放入a0中,則在if語句中條件表達式可以是_.main() int a10=5,2,9,6,7,1,12,8,2

30、3,0,*p=a,i;for(i=0;ia B)*pa0 C)*p*a0 D)*p*a9. 設有如下定義:char *s2=“abcd”,“ABCD”;則下列說法正確的有_.A) s數(shù)組元素的值分別是“abcd”和“ABCD”兩個字符串的首地址B) s是指針數(shù)組名,它含有兩個元素分別指向字符型一維數(shù)組C) s數(shù)組的兩個元素分別存放的是含有四個字符的一維字符數(shù)組中的元素D) s數(shù)組的兩個元素中分別存放了字符a和A的地址10. 以下有關字符串賦值、賦初值的語句錯誤的有_.A)char sz240;sz1=“string1”;B)char *sz2;sz1=“string2”;C)char sz40=“string3”;D)char *sz =“string4”;11. 若有以下說明:int a59;則下列選項中對數(shù)組元素aij的引用錯誤的有_.(0=i4,0=jlink=a-link-link ;a-link-link=s;B)a=a-link ; a-link=s ;s-link=NULL;C)s-link=NULL ;a=(*a)。link ; (*a)。link =s;D)a=a-l

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論