2018-2019学年第二学期期末
…………………………………装…………………………………………………订…………………………………………………线…………………………………………….
学院: 年级: 姓名: 学号:
……………………………...….密………………………………………...………封…………………………………………………线………………..………………………….…
中国矿业大学(北京)《C语言与程序设计》试卷( B 卷)
得分:_____
题 号 | 一 | 二 | 三 |
得 分 | |||
阅卷人 | |||
一、选择题(每题1分,共30分)(要求将答案写入下表)
1-5 | |||||
6-10 | |||||
11-15 | |||||
16-20 | |||||
21-25 | |||||
26-30 | |||||
一、选择题(1-10每题1分,11-30每题1.5分,共40分)
1. 下列选项中,可以作为用户标识符的是
A) int B) 8_cat C) _a_0 D) a+b
2. 以下定义语句,有错误的是:
A) char a=’x’; B) char a=’\0’; C) char a=’mn’; D) char a=’9’;
3. 设有定义:int x=2; 以下表达式中值不为6的是:
A) x *= x+1 B) x++, 2*x C) x *= (1+x) D) 2*x, x += 2
4. 有以下定义:int a; long b; double x, y; 则以下选项中正确的表达式是:
A) a%(int)(x-y)
B) a = x!=y
C) (a*y)%b
D) y = x+y = x
5. 以下选项中能表示一个合法常量的是:
A) 整数:1,200
B) 实数:-3.5e2.0
C) 字符斜杠:'\'
D) 字符串:"\007"
6. 以下是while语句的一般形式:
while(表达式) 语句
其中关于“表达式”的说明正确的是:
A) 必须是逻辑表达式 B) 必须是关系表达式
C) 必须是逻辑表达式或关系表达式 D) 可以是任意合法的表达式
7. 若用数组名作为函数调用的实参,则传递给形参的是:
A) 数组的首地址 B) 数组的第一个元素的值
C) 数组中全部元素的值 D) 数组元素的个数
8. 在定义二维数组int a[2][3];之后,对a的正确引用是:
A) a[2][4] B) a[2][0] C) a[0][0] D) a[0,0]
9. 下列语句中正确的是:
A) char *str; str = “CUMTB”; B) char str[20]; str = “CUMTB”;
C) char *str; str = {“CUMTB”}; D) char str[20]; str = {“CUMTB”};
10. 设有定义 int a[10], *p=a; 以下能够代表数组元素a[4]的是:
A) a+4 B) *(p+4) C) *a+4 D) *p + 4
11. 有如下程序
#include <stdio.h>
void main()
{ char c1, c2;
c1 = 'a' + '6' - '2';
c2 = 'a' + '6' - '3';
printf("%c,%d\n", c1, c2);
}
已知字母a的ASCII码是97,则程序运行后的输出结果是:
A) e,100 B) d,101 C) e, d D)无确定输出结果
12. 表达式a += a -= a = 9的值是:
A) 9 B) -9 C) 18 D) 0
13. 有以下程序
#include<stdio.h>
void main()
{ int a=1, b=0;
if(!a) b++;
else if(a = = 0)
if(a) b += 2;
else b+=3;
printf("%d\n", b);
}
程序运行后的输出结果是:
A) 0 B) 1 C) 2 D) 3
14. 有以下程序
#include <stdio.h>
void main()
{ int a=1, b=2;
while(a<6) { b += a; a += 2; b %= 10;}
printf(”%d,%d\n”, a, b);
}
程序运行后的输出结果是:
A) 5,11 B) 7,1 C) 7,11 D) 6,1
15. 有以下程序
#include<stdio.h>
void main()
{
char s[] = ”abcedf";
printf(”%s,%c\n”, s+2, *s+2);
}
程序运行后的输出结果是
A) cedf, cedf B) cedf, c C) cedf, 字符c的ASCII码值 D) 出错
16. 有以下程序
#include<stdio.h>
void main()
{ int y=50;
while(y--); /*循环体为空*/
printf(”y=%d\n”, y);
}
程序执行后的输出结果是:
ruby 字符串转数组
A) y=0 B) y= -1 C) y=1 D)while构成无限循环
17. 有以下程序
#include<stdio.h>
#include<string.h>
void main()
{ char s[10]=”STRING”;
s[0]=0;
s[1]= '\0';
s[2]= '0';
printf(”%d %d\n”, sizeof(s), strlen(s));
}
程序运行后的输出结果是
A) 6 1 B) 7 0 C) 6 3 D) 10 0
18. 以下程序段完全正确的是
A) int *p;
scanf("%d", &p);
B) int *p;
scanf(“%d”, p);
C) int k, *p=&k;
scanf("%d", p);
D) int k, *p;
*p= &k;
scanf(“%d”, p);
19. 下列定义数组的语句中,正确的是
A) int N=10;
int a[N];
B) #define N 10
int a[N];
C) int a[0…10];
D) int a[];
20. 有以下程序
#include<stdio.h>
void f(int *p);
void main()
{ int a[5] = {1, 2, 3, 4, 5}, *r=a;
f( r );
printf(“%d\n”, *r);
}
void f(int *p)
{ p=p+3;
printf(“%d,”,*p);
}
程序运行后的输出结果是
A) 1,4 B) 4,4 C) 3,1 D) 4,1
21. 若有以下语句
typedef struct my_type
{ int g;
char h;} TS;
以下叙述中正确的是
A) 可用my_type定义结构体变量
B) 可用TS定义结构体变量
C) my_type是struct类型的变量
D) TS是struct my_type类型的变量
22. 数学上的式子 1≤x≤10怎么用C语言的表达式来表示:
A) 1≤x≤10 B) 1<=x<=10 C)x>=1 && x<=10 D) 以上都不对
23. 有以下程序
#include <stdio.h>
#define f(x) x*x
void main()
{ int a=5, s, t;
s=f(a+1);
t=f((a+1));
printf("%d,%d\n", s, t);
}
程序运行结果是:
A) 11,11 B) 36,36 C) 36,11 D)11,36
24. 有如下程序
#include <stdio.h>
void main()
{ void func(int *p, int *q);
int m = 1, n = 2, *r = &m;
func(r, &n);
printf("%d,%d\n", m, n);
}
void func(int *p, int *q)
{ p = p+1;
*q = *q + 1;
}
程序运行结果为:
A) 1, 3 B)2,3 C) 1,4 D) 1,2
25. 有如下程序
#include <stdio.h>
void main()
{ int i, j;
for(i=0; i<3; i++, i++)
for(j=1; j<4; j++)
printf("*");
}
则程序运行后的输出结果是:
A) ********* B) ****** C) *** D)*
26. 若有定义语句int a, b; double x; 则下列选项中没有错误的是
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论