北 京 交 通 大 学 海 滨 学 院 考 试 试 题 (B 卷)
课程名称:C语言程序设计 2010-2011学年 第二学期 出题教师:计算机教学组
专业: 班级: 姓名: 学号:
答题说明:本试卷共有六道大题,要求所有解答均写在答题卡上,否则无效。
上交试卷时按照发试卷时候的顺序整理试卷,平铺展开上交。
一、选择题(本题共30道题目,每题1分,共30分)
1. 以下叙述中正确的是( )。
A)C语言比其他语言高级。
B)C语言可以不用编译就能被计算机识别执行。
C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式。
D)C语言出现的最晚,具有其他语言的一切优点。
A)C语言比其他语言高级。
B)C语言可以不用编译就能被计算机识别执行。
C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式。
D)C语言出现的最晚,具有其他语言的一切优点。
2. 算法是为解决某特定问题而采取的确定且有限的步骤,下面不属于算法的五个特性的是( )
。
A)有零个输入或多个输入 B)高效性
C)有穷性 D)确定性
A)有零个输入或多个输入 B)高效性
C)有穷性 D)确定性
3. 表达式3.6-5/2+1.2+5%2的值是( )。
A)4.3 B) 4.8 C) 3.3 D) 3.8
A)4.3 B) 4.8 C) 3.3 D) 3.8
4. C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符( )。
A)必须为字母 B)必须为下划线
C)必须为字母或下划线 D)可以是字母,数字和下划线中任一字符
A)必须为字母 B)必须为下划线
C)必须为字母或下划线 D)可以是字母,数字和下划线中任一字符
5. 下列数据中,不合法的C语言实型数据的是( )。
A)0.123 B)123e3 C)2.1e3.5 D)789.0
A)0.123 B)123e3 C)2.1e3.5 D)789.0
6. 若有说明语句:char c='\72';则变量c( )。
A)包含1个字符 B)包含2个字符
C)包含3个字符 D)说明不合法,c的值不确定
A)包含1个字符 B)包含2个字符
C)包含3个字符 D)说明不合法,c的值不确定
7. 若有定义:int a=7;float x=2.5,y=4.7; 则表达式x+a%3*(int)(x+y)%2/4的值是( )。
A)2.500000 B)2.750000
C)3.500000 D)0.000000
A)2.500000 B)2.750000
C)3.500000 D)0.000000
8. 下列可用于C语言用户标识符的一组是( )。
A)void, define, WORD B)a3_b3, _123,Car
C)For, -abc, IF Case D)2a, DO, sizeof
A)void, define, WORD B)a3_b3, _123,Car
C)For, -abc, IF Case D)2a, DO, sizeof
9. 以下不正确的叙述是( )。
A)在C程序中,逗号运算符的优先级最低。
B)在C程序中,APH和aph是两个不同的变量。
C)若a和b类型相同,计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变。
D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值。
A)在C程序中,逗号运算符的优先级最低。
B)在C程序中,APH和aph是两个不同的变量。
C)若a和b类型相同,计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变。
D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值。
10. 设有int x=17;则表达式(x++*1/3)的值是( )。
A)5 B)6 C)17 D)18
A)5 B)6 C)17 D)18
11. 以下变量x,y,z均为double类型且已正确赋值,不能正确表示数学式子x÷y÷z的C语言表达式是( )。
A)x/y*z B)x*(1/(y*z))
C)x/y*1/z D)x/y/z
A)x/y*z B)x*(1/(y*z))
C)x/y*1/z D)x/y/z
12. x,y,z被定义为int型变量,若从键盘给x,y,z输入数据,正确的输入语句是( )。
A)INPUT x、y、z; B)scanf("%d%d%d",&x,&y,&z);
C)scanf("%d%d%d",x,y,z); D)read("%d%d%d",&x,&y,&z);
A)INPUT x、y、z; B)scanf("%d%d%d",&x,&y,&z);
C)scanf("%d%d%d",x,y,z); D)read("%d%d%d",&x,&y,&z);
13. 以下不合法的字符常量是 ( )。
A)'\018' B '\”' C) '\\' D) ‘\xcc'
14. 以下叙述中错误的是( )。
A)C语句必须以分号结束。
B)复合语句在语法上被看作一条语句。
C)空语句出现在任何位置都不会影响程序运行。
D)赋值表达式末尾加分号就构成赋值语句。
A)C语句必须以分号结束。
B)复合语句在语法上被看作一条语句。
C)空语句出现在任何位置都不会影响程序运行。
D)赋值表达式末尾加分号就构成赋值语句。
15. 设变量已正确定义,则以下能正确计算f = n!的程序段是( )。
A) f=0; for(i=1;i<=n;i++) B) f=1; for(i=1;i>=2;i--) f*=i;
C) f=1; for(i=n;i>1;i++) D) f=1; for(i=n;i>=2;i--) f*=i;
16. s1和s2已正确定义并分别指向两个字符串。若要求:当s1所指串大于s2所指串时,执行语句S;则以下选项中正确的是( )。
A)if(s1>s2)S; B)if(strcmp(s1,s2))S;
printf输出格式右对齐C)if(strcmp(s2,s1)>0)S; D)if(strcmp(s1,s2)>0)S;
A)if(s1>s2)S; B)if(strcmp(s1,s2))S;
printf输出格式右对齐C)if(strcmp(s2,s1)>0)S; D)if(strcmp(s1,s2)>0)S;
17. 若有如下语句,则输出结果( )。
int x=3;
do{printf("%d\n",x-=2);}while(!(--x));
A)输出的是1 B)输出的是1和-2 C)输出的是3和0 D)是死循环
18. 以下程序段的输出结果是( )。
int a=4,b=5,c=0,d; d=!a&&!b||!c; printf("%d",d);
A)1 B)0 C)非0的数 D)-1
int a=4,b=5,c=0,d; d=!a&&!b||!c; printf("%d",d);
A)1 B)0 C)非0的数 D)-1
19. 以下能正确定义二维数组的是( )。
(A)int a[][3]; (B)int a[][3]=2{2*3};
(C)int a[][3]={}; (D)int a[3][3]={{1},{2},{3,4}};
(A)int a[][3]; (B)int a[][3]=2{2*3};
(C)int a[][3]={}; (D)int a[3][3]={{1},{2},{3,4}};
20. 下列数组定义方式不正确的语句是( )。
(A)char x[5]; (B)char y[]={‘h’, ‘e’, ‘l’ };
(C)int y[]; (D)int x[10]={12,13,14,15};
(A)char x[5]; (B)char y[]={‘h’, ‘e’, ‘l’ };
(C)int y[]; (D)int x[10]={12,13,14,15};
21. 若有以下定义和语句,输出结果是( )。
char c1='b', c2='e';
printf("%d,%c", c2-c1, c2-'a'+’A’);
(A)3,M (B)2,E
(C)3,E (D)输出项与对应的格式控制不一致,输出结果不确定
char c1='b', c2='e';
printf("%d,%c", c2-c1, c2-'a'+’A’);
(A)3,M (B)2,E
(C)3,E (D)输出项与对应的格式控制不一致,输出结果不确定
22. 有以下程序, 运行时输入:a<回车> 后,以下叙述正确的是( )。
A)变量c1被赋予字符a,c2被赋予回车符。
B)程序将等待用户输入第2个字符。
C)变量c1被赋予字符a,c2中仍是原有字符2。
D)变量c1被赋予字符a,c2中将无确定值。
#include<stdio.h>
main()
{ char c1='1',c2='2';
c1=getchar(); c2=getchar();
putchar(c1); putchar(c2); }
A)变量c1被赋予字符a,c2被赋予回车符。
B)程序将等待用户输入第2个字符。
C)变量c1被赋予字符a,c2中仍是原有字符2。
D)变量c1被赋予字符a,c2中将无确定值。
#include<stdio.h>
main()
{ char c1='1',c2='2';
c1=getchar(); c2=getchar();
putchar(c1); putchar(c2); }
23. 若有定义语句 char p[]={'a', 'b', 'c'}, q[10]={'a', 'b', 'c'}; 则字符串p和字符串q的长度分别为( )。
A) 3,不确定 B)3,3 C)不确定,3 D)不确定,不确定
A) 3,不确定 B)3,3 C)不确定,3 D)不确定,不确定
24. 函数调用过程,如果函数funA调用了函数 funB,函数funB又调用了函数funB,则( )。
A)称为函数的直接递归调用 B)称为函数的间接递归调用
C)称为函数的循环调用 D)C语言中不允许这样的递归调用
25. 变量的指针,其含义是指该变量的( )。
A) 名 B) 值 C)地址 D)一个标志
A) 名 B) 值 C)地址 D)一个标志
26. 若有语句:double *p,a;则能通过scanf语句正确给输入项读入数据的程序段是( )。
A)*p=&a; scanf(“%lf”,p); B)*p=&a; scanf(“%f”,p);
C) p=&a; scanf(“%lf”,*p); D)p=&a; scanf(“%lf”,p);
A)*p=&a; scanf(“%lf”,p); B)*p=&a; scanf(“%f”,p);
C) p=&a; scanf(“%lf”,*p); D)p=&a; scanf(“%lf”,p);
27. 设char *s="\ta\103bc";则指针变量s指向的字符串所占的字节数是( )。
A)9 B)5 C)6 D)7
A)9 B)5 C)6 D)7
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论