一. 单选题(
1. 以下叙述中正确的是()(2
A.C语言比其他语言高级
B.C语言可以不用编译就
能被计算机识别执行
C.C语言以接近英语国家
的自然语言和数学语言作为语
言的表达形式
D.C语言出现的最晚,具
有其他语言的一切优点
2. C语言规定,在一个源程序中,
A.必须在最开始
B.必须在系统调用的库函
数的后面
C.可以任意
D.必须在最后
3. 以下叙述中错误的是()(2
A.C语言源程序经编译后
生成后缀为“.obj”的目标程序
B.C 程序要经过编译、连
接步骤之后才能形成一个真正
可执行的二进制机器指令文件
C.用C语言编写的程序称
D.C语言中的注释经编译
连接后将被转换成二进制的机
器指令
4. 下列选项中不符合良好程序
A.源程序要文档化
B.数据说明的次序要规范
C.避免滥用goto语句
D.模块设计要保证高耦
合、高内聚
5. 在程序设计中,流程图画法
A.起止框
B.输入输出框
C.判断框
D.处理框
6. C语言的程序一行写不下时,
A.用逗号换行
B.用分号换行
C.在任意一空格处换行
D.用回车符换
7. 以下各选项中,均是C语言
A.integer、floa、double
B.if、else、switCh
C.struct、union、enum
D.auto、static.、externa
8. 以下选项中,不能作为合法
A.1.234e04
B.1.234e0.4
C.1.234e+4
D.1.234e0
9. 在ASCII代码表中可以看到
每一个小写字母比它相应的大
A.大32
B.大26
C.小32
D.小26
10. 下列选项中,不正确的赋值
A.++t
B.n1=(n2=(n3=0))
C.k=i==j
D.a=b+c=1
11. 要声明一个浮点指针,正确
A.float x;
B.float *x;
C.float *x;= 3;
D.以上三项皆错
12. 下列关于switch语句和break语句的结论中,只有()
A.break语句是switch语
句的一部分
B.在switch语句中可以根
据需要使用或不使用break语
C.在switch语句中必须使
用break语句
D.以上三个结论有两个是
正确的13. 有以下程序段,while 循环
执行的次数是()
int k=0;
A.无限次
B.有语法错,不能执行
C.一次也不执行
D.执行1次
14. 有以下程序段: int x=3; do
{ printf("%d",x-=2);}
while(!(--x)); 其输出结果是( )
A.1
B.30
C.1-2
D.死循环
15. 执行语句: for (i=1;i++<4;);
A.3
B.4
C.5
D.不定
16. 以下程序的输出结果是( )
main()
{ int i;
for(i=1;i<6;i++)
{ if(i%2){printf("#");continue;}
printf("*");
}
}
A.#*#*#
B.>
C.*****
D.*#*#*
17. 在递归函数调用时()(2
A.函数用其值经过修改的
参数调用自身
B.会提高程序的执行效率
C.会克服对for循环调用
函数的次数的限制
D.提高应用程序的性能
18. 执行下述程序后的输出结
果是()
func(int a)
{
int b=0;
static int c=3;
a=c++,b++;
return a;
}
main()
{
int a=2,i,k;
for (i=0;i<2;i++)
k=func(a++);
printf("%d\n",k);
}
A.3
B.0
C.5
D.4
19. 以下能正确定义数组并正
确赋初值的语句是______。(2
A.int N=5,b[N][N];
B.int a[1][2]={{1},{3}};
C.int c[2][]= {{1,2},{3,4}};
D.int d[3][2]={{1,2},{34}};
20. 有以下程序
main()
{
char s[]="159",*p;
p=s;
printf("%c",*p++);printf("%c"
,*p++); }
程序运行后的输出结果是()(2
A.15
B.16
C.12
D.59
1. 数组必须先定义,然后使用。
c语言只能逐个引用数组元素而
不能一次引用整个数组。(1
错误
正确
2. 用while语句和用do-while
语句处理同一问题时,若二者的
循环体部分是一样的,它们的结
错误
正确
3. for(表达式1;表达式2;表达
式3)语句的一般形式中的“表达
式1”可以省略,此时应在for
语句之前给循环变量赋初值。省
略表达式1时,其后的分号也能
省略。(1分)
错误
正确
4. 在C语言中存取变量值时,
可以按直接方式存取,也可按间
错误
正确
5. 一个变量只能存储一个字符
错误
正确
C语言中,
一个字符型数据与整型数据可
错误
正确
7. 用scanf函数向已定义的变
量中输入数据时,当遇非法输入
错误
正确
8. 如果x>y 为真或a<b 为真,表达式(x>y)||(a<b)就为真 (1错误
正确
9. C语言不能嵌套定义函数,也不可以嵌套调用函数,也就是说,在调用一个函数的过程中,错误
正确 10. 函数strcpy(字符数组1,字符串2)作用是将字符数组1错误
正确 (共8题
,共16分)
1. int x=5,n=5;计算表达式x+=n++后x 的值为,n 的值为
2. 已知字符A 的ACSII 码值为65
,以下语句的输出结果是
char ch='B';
printf("%c,%d\n",ch,ch); (2
3. 有以下程序
main( )
{ int n=0,m=1,x=2; if(!n) x-=1; if(m) x-=2; if(x) x-=3;  printf("%
d\n",x); } 执行后输出结果是
(2分)
4. 写出执行下述程序的输出结
#include <stdio.h> #define N 5
main() {
int i,j,cent;
for (cent=1;cent<=N;cent++) {
for (i=1;i<=N-cent+5;i++) printf(" ");
for (j=1;i<=cent;j++) printf("%d",j)); for (j=cent-1;j>=1;j--) printf("%d",j); printf("\n");
}
}
5.
在程序中执行到
所在函数的执行过程,返回到调
6. 假定a 是一个一维数组,则
a[i]对应的存储地址(以字节为单位)
2分)
7. 假定p 是一个指针,则*p++
1
8. 以下程序的输出结果是
main()  {
char s[]="abcdef";  s[3]='\0';  printf("%s\n",s);
四. 读程序题 (
1. 阅读下列程序,将输出结果写到右侧的空白处
main() {
int x1,x2,x3,x4;
x1=x2=x3=x4=1;
switch(x1) { case 1:
switch(x2) {
case 0:x3++;break ;
case 1:x4--;
}
case 2:x3++,x4--;
}
printf("%d%d",x3,x4); }
2. 阅读程序,写出执行下述程
下列程序在运行时输入
100,20,300后,输出结果为() #include <stdio.h> void main()
{ int c,s; float p,w,d,f;
scanf("%f,%f,%d",&p,&w,&s); if(s>=3000) c=12; else c=s/250; switch(c) {
case 0: d=0;break; case 1: d=2;break;
case 2:
case 3: d=5;break; case 4:
case 5:
case 6:
case 7: d=8;break;
case 8:
case 9: case 10: case 11:d=10;break;
case 12:d=15;break;
} f=p*w*s*(1-d/100.0);
printf("freight=%15.4f\n",f);
while语句怎么用自然语言
3. 阅读下列程序,将输出结果
写到右侧的空白处
conv(int b)
{ if(b >=2)conv(b /2); printf("%d",b%2); return ; } main() { int d ;
scanf ("%d",&d); conv(d); }
说明:
本程序执行时从键盘上输
4. 阅读下列程序,将输出结果写到右侧的空白处
main()
{ int i ,a[5]; for(i=0;i<5;i++) a[i]=9*(i-2+4*(i >2))%5; for(i=4;i >=0;i--) printf("%3d"
,a[i]); 五. 程序设计题
1. 由键盘输入任意三个数,按

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。

发表评论