2014年9月份考试C语言程序设计第二次作业

发布时间:2019-04-08 10:19:51   来源:文档文库   
字号:

20149月份考试C语言程序设计第二次作业

一、单项选择题(本大题共100分,共 40 小题,每小题 2.5 分)

1. 下面程序

 fun3(int x)

 {

static int a=3;

a +=x; return(a);

 }

 main()

 {

int k=2, m=1, n;

n=fun3(k);

 m=fun3(m);

 printf("%d\n",n);

 }

 的输出是( .

A. 3 B. 4 C. 5 D. 9

2. 下面的程序

 main()

 {

 int x=3;

 do

{

printf("%d\n",x-=2);

}

while(!(--x) );

}

.

A. 输出的是1 B. 输出的是1-2 C. 输出的是30 D. 是死循环

3. 以下叙述中正确的是( .

A. 预处理命令行必须位于源文件的开头 B. 在源文件的一行上可以有多条预处理命令 C. 宏名必须用大写字母表示 D. 宏替换不占用程序的运行时间

4. 以下叙述中正确的是( .

A. 局部变量说明为static存储类,其生存期将得到延长 B. 全局变量说明为static存储类,其作用域将被扩大 C. 任何存储类的变量在未赋初值时,其值都是不确定的 D. 形参可以使用的存储类说明符与局部变量完全相同

5. 下列语句中,符合C语言语法的赋值语句是( .

A. a=7+b+c=a+7 B. a=7+b++=a+7 C. a=7+b,b++,a+7 D. a=7+b,c=a+7

6. 下面程序

 main()

{

 int y=9;

 for(;y>0;y--)

{

 if(y%3==0)

{

 printf("%d",--y);

continue;

}

 }

 } 的输出是( .

A. 741

B. 852

C. 963

D.

7. 下面程序

 main()

{

 int x=32;

printf("%d\n",x=x<<1);

 }

的输出是( .

A. 100 B. 160 C. 120 D. 64

8. 以下程序的输出结果是( . include main() { printf("%d\n",NULL); }

A. 不确定的(因变量无定义)

B. 0 C. -1 D. 1

9. kint型变量,且有下面的程序片段

k=-3;

if(k<=0) printf("####") else printf("&&&&");

上面程序片段的输出结果是( .

A. #### B. &&&& C. ####&&&& D. 有语法错误,无输出结果

10. 下面的程序

main()

{

 int x=3,y=0,z=0;

 if(x=y+z)printf("* * * *");

 else printf("####");

}

.

A. 有语法错误不能通过编译 B. 输出* * * *

C. 可以通过编译, 但是不能通过连接, 因而不能运行 D. 输出####

11. +以下定义语句中正确的是( .

A. char a=''''A''''b=''''B'''' B. float a=b=10.0 C. int a=10,*b=&a

D. float *a,b=&a

12. 设有如下一段程序

 int *var,ab;

 ab=100;

 var=&ab;

 ab=*var+10;

执行下面的程序段后,ab的值为( .

A. 120 B. 110 C. 100 D. 90

13. xy都是int型变量,x=100y=200,且有下面的程序片段 printf("%d",(x,y) ); 上面程序片段的输出结果是( .

A. 200 B. 100 C. 100 200 D. 输入格式符不够,输出不确定的值

14. 若有以下说明和定义

 union dt

{

int a;

char b;

double c;

}

 data;

以下叙述中错误的是( .

A. data的每个成员起始地址都相同 B. 变量data所占的内存字节数与成员c所占字节数相等

C. 程序段:data.a=5;printf("%f\n",data.c);输出结果为5. D. data可以作为函数的实参

15. 设有如下枚举类型定义

enum language

 {

Basic=3,Assembly=6,Ada=100,COBOL,Fortran

}

枚举量Fortran的值为( .

A. 4 B. 7 C. 102 D. 103

16. 以下叙述中正确的是( .

A. C语言的源程序不必通过编译就可以直接运行 B. C语言中的每条可执行语句最终都将被转换成二进制的机器指令 C. C语言程序经编译形成的二进制代码可以直接运行D. C语言中的函数不可以单独进行编译



17. 在一个C程序中(

A. main函数必须出现在所有函数之前 B. main函数可以在任何地方出现

C. main函数必须出现在所有函数之后 D. main函数必须出现在固定位置

18. 以下叙述中错误的是( .

A. 对于double类型数组,不可以直接用数组名对数组进行整体输入或输出

B. 数组名代表的是数组所占存储区的首地址,其值不可改变

C. 当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出"下标越界"的出错信息

D. 可以通过赋初值的方式确定数组元素的个数

19. 有以下程序

 main()

 {

 char s[]="Yes\n/No",*ps=s; puts(ps+4);

 *(ps+4)=0; puts(s);

 }

 程序运行后的输出结果是( .

A. n/NO Yes /NO B. /NO Yes C. /NO Yes /NO D. /NO Yes

20. 以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是( .

A. char s[10]="abcdefg" B. char t[]="abcdefg",*s=t

C. char s[10];s="abcdefg" D. char s[10];strcpy(s,"abcdefg")

21. C语言中的标示符只能由字母、数字和下划线三种字符组成,且第一个字符(

A. 必须是字母 B. 必须是下划线 C. 必须是字母或下划线

D. 可以是字母或数字或下划线中的任意一种

22. 以下程序段给数组所有的元素输入数据,请选择正确答案填入:

 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]

23. C语言中whiledo-while循环的主要区别是(

A. do-while的循环体至少无条件执行一次 B. while的循环控制条件比do-while的循环控制条件严格 C. do-while 允许从外部转到循环体内 D. do-while 的循环体不能是复合语句

24. 下面四个选项当中,均是关键字的是(

A. auto,enum,include B. switch,typedef,continue

C. signed,union,scanf D. if,struct,type

25. chchar型变量,其值为A,且有下面的表达式 ch=(ch>=''A''&&ch<=''Z'')?(ch+32):ch 上面表达式的值是( .

A. B. a C. Z D. z

26. 以下叙述中正确的是( .

A. C程序实现的算法必须要有输入和输出操作 B. C程序实现的算法可以没有输出但必须要输入 C. C程序实现的算法可以没有输入但必须要有输出 D. C程序实现的算法可以既没有输入也没有输出

27. 有以下程序:

 main()

{

int s=0,a=1,n;

 scanf("%d",&n);

 do {s+=1; a=a-2;

}

 while(a!=n);

 printf("%d\n",s);

}

若要使程序的输出值为2,则应该从键盘给n输入的值是( .

A. -1 B. -3 C. -5 D. 0



28. 有以下程序

 main()

{

int c=35;

printf("%d\n",c&c);

}

程序运行后的输出结果是( .

A. 0 B. 70 C. 35 D. 1

29. 有以下程序

 main()

{

 int a[]={1,2,3,4,5,6,7,8,9,0},*p

 for(p=a;p<="" 程序运行后的输出结果是(="" }="" printf(?%d,?,*p);="">

A. 1,2,3,4,5,6,7,8,9,0

B. 2,3,4,5,6,7,8,9,10,1

C. 0,1,2,3,4,5,6,7,8,9

D. 1,1,1,1,1,1,1,1,1,1

30. 正确的自定义标识符是(

A. a=2 B. a+b C. name D. default

31. 有以下程序:

 #define f(x) x*x main()

{

 int i;

i=f(4+4)/f(2+2);

 printf("%d\n",i);

}

 执行后输出的结果是( .

A. 28 B. 22 C. 16 D. 4

32. 下面函数

int fun1(char*x)

{

 char *y=x;

while(*y++);

 return(y-x-1);

}

的功能是( .

A. 求字符串的长度 B. 比较两个字符串的大小 C. 将字符串x复制到字符串y

D. 将字符串x连接到字符串y后面

33. 以下程序运行后的输出结果是(

 fun(int a, int b)

 {

 if(a>b) return a;

else return b;

 }

main()

 {

 int x=3, y=8, z=6, r;

 r=fun(fun(x,y), 2*z);

 printf("%d\n", r);

 }

A. 3 B. 6 C. 8 D. 12

34. 已定义c为字符型变量,则下列语句中正确的是( .

A. c=''97 B. c="97"; C. c=97; D. c="a";''

35. 若变量已正确定义并赋值,下面符合C语言的表达式是( .

A. a:=b+1 B. a=b=c+2 C. int 18.5%3 D. a=a+7=c+b

36. s1s2已正确定义并分别指向两个字符串.若要求:s1所指串大于s2所指串时,执行语句S;,则以下选项中正确的是( .

A. if(s1>s2) S B. if(strcmp(s1,s2)) S C. if(strcmp(s2,s1)>0) S

D. if(strcmp(s1,s2)>0) S

37. 以下选项中属于C语言的数据类型是(

A. 复数型 B. 逻辑型 C. 集合型 D. 双精度型

38. C语言中,long类型的数据占字节数为( A. 1 B. 2 C. 4 D. 8



39. 有以下程序

main()

{

int a=1,b;

 for(b=1;b<=10;b++)

{

 if(a>=8) break;

if(a%2==1){a+=5;continue;

}

 a-=3;

 }

 printf("%d\n",b);

}

程序运行后的输出结果是( .

A. 3 B. 4 C. 5 D. 6

40. 编辑程序的功能是(

A. 建立并修改程序 B. C源程序编译成目标程序 C. 调试程序

D. 命令计算机执行指定的操作

答案:

一、单项选择题(100分,共 40 题,每小题 2.5 分)

1. C 2. B 3. D 4. A 5. D 6. B 7. D 8. B 9. D 10. D 11. C 12. B 13. A 14. C 15. C 16. B 17. B 18. C 19. B 20. C 21. C 22. A 23. A 24. B 25. B 26. C 27. B 28. C 29. A 30. C 31. A 32. A 33. D 34. C 35. B 36. D 37. D 38. C 39. B 40. A

本文来源:https://www.2haoxitong.net/k/doc/ee54fadb3a3567ec102de2bd960590c69ec3d8f4.html

《2014年9月份考试C语言程序设计第二次作业.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式