内容正文:
《编程语言基础—C语言》高等教育出版社(第五版)
编程语言基础—C语言考试 模拟卷(十)
考试时间:100分钟 满分:100分
姓名 班级 学号 1
一、单项选择题(本题共20小题,每题2分,共20分,多选、错选均不得分)
1.以下选项中可用作 C 语言合法字符常量的是( )
A. '\102' B. 65
C. '\C' D.'65'
2.已知各变量说明如下,下列选项符合C语言语法规定的表达式是( )
int i=8,k,a,b;
double x=1.42,y=5.2;
A. b=a*3=a B. y%(-5)
C. k=float(i) D. a*=(b=4)+(k=6)
3.下列程序段输出结果是( )
double d = 5.6;
int x, y;
x = 3.2;
y = (x + 2.8) / 4;
printf("%d
", (int)(d * y));
A. 5.0 B. 5
C. 8.4 D. 8
4. 以下程序的输出结果是( )
main()
{int a[3][3]={{2},{4},{6}};
int i,p=a[0][0];
for(i=0;i<2;i++)
{
if(i==0)a[i][i+1]=p+1;
else ++p;
printf("%d",p);}}
A. 23 B. 26
C. 3 D. 36
5.for(i=0;i<10;i++);结束后 ,i的值是( )
A.9 B.10 C.11 D.12
6.以下程序的输出结果是( )
#include <stdio.h>
int sum(int p) {
int k = 4;
k *= p;
return k;
}
int main() {
int m = 5, n = 3;
m += sum(n);
printf("%d", m);
}
A. 15 B. 16
C. 17 D. 10
7.以下程序的输出结果是( )
main() {
int a = 1, b = 2, c = 3;
int *pl = &c, *p2 = &b, *p3 = &a;
*p3 = *pl * (*p2);
printf("%d
", *p3);
}
A. 2 B. 4
C. 6 D. 8
8.以下函数的类型是( )
sum(double a,float b)
{
return a+b;
}
A. float B. int
C. double D. 不定类型
9.以下程序运行后的输出是( )
main() {
int sum = 1, k = 3;
for (; k < 8; k++)
sum += k;
printf("%d", sum);
}
A. 24 B. 25
C. 26 D. 27
10.以下程序的运行结果为( )
int fun(int a) {
return a % 3;
}
main() {
int s[8] = {1, 2, 5, 6, 9, 12}, i, d = 15;
for (i = 0; fun(s[i]); i++)
d -= s[i];
printf("%d", d);
}
A. 6 B. 8
C. 4 D. 7
11.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是( )
A.函数调用可以作为独立的语句存在 B.函数调用可以作为一个函数的实参
C.函数调用可以出现在表达式中 D.函数调用可以作为一个函数的形参
12.若有定义 int a[4][6]={0};,则下列说法正确的是 ( )
A.该语句定义错误 B.没有元素可得初始值 0
C.数组中各个元素值均为 0 D.a[0][0]的值为 0,其他元素为不定值
13.下面程序的运行结果是( )
int func(int a, int b) {
int c;
c = a + b;
return c;
}
main() {
int x = 5, y = 6, z = 7, k;
k = func((++x, --y, x + y), z++);
printf("%d
", k);
}
A. 18 B. 17
C. 10 D. 12
14.有以下程序段,stu1 占用的字节数是 ( )
struct student
{ char name[12];
double grade[4];
int id[20];
}stu1;
A.40 B.80
C.124 D.112
15.以下程序段的输出结果是( )
struct m {
int a;
float b;
double c