C语言预赛试题 联系客服

发布时间 : 星期二 文章C语言预赛试题更新完毕开始阅读

do do

{ s=s+i;i++; { i++; s=s+i; while(i<5); while(i<5); C)i=1;s=0; D)i=0;s=0; do do

{ s=s+i;i++; { s=s+i; i++; while(i<6); while(i<=5);

8. 下面程序把数组元素中的最小值放入a[0]中,则在if语句中条件表达式可以是______。

(知识点10.2) main()

{ int a[10]={5,2,9,6,7,1,12,8,23,0},*p=a,i; for(i=0;i<10;i++,p++) if(______) *a=*p ; printf(“%d”,*a); }

A)p>a B)*p

char *s[2]={“abcd”,“ABCD”};

则下列说法正确的有_____。(知识点:10.3)

A) s数组元素的值分别是“abcd”和“ABCD”两个字符串的首地址 B) s是指针数组名,它含有两个元素分别指向字符型一维数组

C) s数组的两个元素分别存放的是含有四个字符的一维字符数组中的元素 D) s数组的两个元素中分别存放了字符?a?和?A?的地址

10. 以下有关字符串赋值、赋初值的语句错误的有_______。(知识点10.4) A)char sz[2][40];sz[1]=“string1”; B)char *sz[2];sz[1]=“string2”; C)char sz[][40]=“string3”; D)char *sz[ ]=“string4”;

11. 若有以下说明:int a[5][9];则下列选项中对数组元素a[i][j]的引用错误的有_______。

(0<=i<4,0<=j<9)(知识点10.3)

17

A)*(&a[0][0]+9*i+j) B)*(a+i)(j) C)*(*(a+i)+j) D)*(a[i]+j) 12. 若有定义:char *st=“how are you!”;下面程序段正确的有_____。(知识点:7.3) A) char a[11],*p;strcpy(p=a+1,&st[4]); B) char a[11];strcpy(++a,st); C) char a[11];strcpy(a,st);

D) char a[ ],*p;strcpy(p=&a[1],st+2); 13. 设有以下说明语句: Struct stu { int a ; float b ; }stutype ;

则下列叙述正确的有_______。(知识点11.2) A) struct是结构体类型的关键字 B) struct stu是用户定义的结构体类型 C) stutype是用户定义的结构体类型名 D) a和b都是结构体成员名 14. 若已建立如图所示的单向链表:

infolink minfolink na Zsinfolink x \\0

则下列选项中能将s所指的结点插入到链表尾部,构成新的单项链表的语句组有_______。(知识点11.7)

A)s->link=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->link ; s->link=a->link;a->link=s->link; 15. 设有定义语句: int x[6]={2,4,6,8,5,7},*p=x,i;

要求依次输出x数组6个元素中的值,下列选项中能完成次操作的语句有_______。(知识点

18

10.3)

A)for(i=0;i<6;i++)printf(“-”,*(p++)); B)for(i=0;i<6;i++)printf(“-”,*(p+i)); C)for(i=0;i<6;i++)printf(“-”,*p++); D)for(i=0;i<6;i++)printf(“-”,(*p)++); 16. 下列叙述正确的有_____。(知识点8.5) A) 函数可以嵌套定义,但不能嵌套调用 B) 函数可以嵌套调用,也可以嵌套定义 C) 函数不可以嵌套定义,但可以递归调用 D) 函数可以嵌套调用,但不能嵌套定义 17. 下列叙述不正确的有_____。(知识点8.8)

A)全局变量可以为本文件中其他函数所调用,编译时分配在静态存储区 B)局部变量只在本函数范围内有效,形式参数属于局部变量

C)局部变量如没有被说明为静态的存储类别,则会被分配动态存储空间,存储在动态存储区中

D)局部静态变量在函数调用结束后依然存在,但其他函数不能引用它

18. 若变量已正确定义,要求程序段完成求5!的计算,下列选项中不能完成此操作的程序

段有____(知识点6.7)

A)for(i=1,p=1;i<=5;i++)p*=i; B)for(i=1;i<=5;i++){p=1;p*=i;} C)i=1;p=1;while(i<=5) p*=i;i++; D)i=1;p=1;do { p*=i;i++;} while(i<=5);

19. 若有以下说明,则对strcpy库函数的调用不正确的有_______。(知识点10.4) char *str1=“copy”,str2[10],*str3=“abcde”,*str4,*str5=“hijk” A)strcpy(str2,str1); B)strcpy(str3,str1); C)strcpy(str4,str1); D)strcpy(str5 ,str1); 20. 下列选项中可以将变量n清零的表达式有_______。(知识点12..2) A)n=n&~n B)n=n&0 C)n=n^n D)n=n|n

19

C语言程序设计预赛题答案

一、 1 A 11 B 21 D 31 B 41 B 51 B 二、 1 BCD 11 B

多选题 2 ABC 12 A 3 ABC 13 ABD 4 AC 14 ABC 5 AC 15 ABC 6 BC 16 CD 7 BCD 17 ABCD 8 BD 18 BC 9 ABD 19 BC 10 ACD 20 ABC 单选题 2 C 12 A 22 D 32 D 42 B 52 B 3 A 13 C 23 C 33 B 43 D 53 A 4 D 14 C 24 A 34 B 44 C 54 C 5 C 15 C 25 B 35 C 45 A 55 C 6 B 16 B 26 C 36 A 46 B 56 D 7 C 17 A 27 A 37 D 47 C 57 D 8 C 18 C 28 D 38 C 48 C 58 B 9 B 19 C 29 D 39 C 49 C 59 A 10 C 20 D 30 A 40 C 50 D 60 A 20