一、单选题(每题2分,共60分)
1.以下描述正确的是 c
a) c程序的执行是从main()函数开始,到本程序的最后一个函数结束(红色错)
b) 编译程序对c源程序编译时不检查语法。
c) c程序中没有输入输出语句(c对输入输出实行“函数化”)
d) 在一个c程序中main()函数必须出现在所有函数之前。
2.结构化程序设计不应该使用 b
a) 自顶向下,逐步细化的方法
b) 灵活、简洁的goto结构。
c) 模块化设计。
d) 三种基本结构:顺序结构、选择结构、循环结构的编码方法。
3.将c源程序进行 b 可得到目标文件。
a) 编辑 b) 编译 c) 连接 d) 运行。
4. 在c语言中,变量所分配的内存空间大小 c
a) 均为两个字节b) 由用户自己定义
c) 由变量的类型决定d) 是随意的。
5. 以下不能定义为用户标识符是 d
a) min b)_01 c)_int d) 3a
6. 以下选项中可作为c语言合法常量的是 d
a) 3e2.0 b) 081 c) e3 d) 123l
7. 若有语句char c;,并要将字符a赋给变量c,则下列赋值表达式正确的是 b
a) c=ab) c=’a’ c) c=”ad) c=’97’
8. 有程序段: int a,b; scanf(“%d,%d”,&a,&b); 请为之选择运行时正确的输入方法___b___
a) 1 2↙ b) 1,2↙ c)1↙2d)1;2↙
9.若有语句int x=5; 则执行语句x+=x*=10;后,a的值是 a 。
a) 100 b) 55 c) 60 d) 105
10.下列语句合法的是 b 。
a) 4+a=b=0b) a=++b; c) a=2=b=6; d) a=4++;
11.执行以下语句,输出结果是 c 。
int x=2;
printf(“%d”, x=4*5, x*5), x+20));
a) 120 b) 100 c) 40d) 20
12.c语言规定,简单变量做实参时,它和对应形参之间的数据传递方式为_ c__
a) 由实参传给形参,再由形参传回给实参。
b) 地址传递。
c) 单向值传递。
d) 由用户指定传递方式。
13.以下选项中非法的表达式是 a 。
a) 7.5%2/2b) x=y=0 c) (char)(66+1d) ’c’+1
14.下列程序的输出结果是 d 。
void main()
float a=3.2;
int b,c;
b=1.2;
c=(b+3.8)/5.0;
printf(“%d”, a*c);
a) 3b) 3.2c) 3.07d) 0
15.c语言中用于结构化程序设计的三种基本结构是 a 。
a) 顺序结构、选择结构、循环结构b) if, switch, break
c) for, while, do-whiled) if, for, continue
16. 执行以下程序,输出结果是 d 。
int x, y=3, z=2;
x=(-y==z++)y:++z;
printf(“x=%d y=%d z=%d”,x,y,z);
a) x=4 y=2 z=4b) x=3 y=2 z=3
c) x=4 y=1 z=4d) x=1 y=1 z=3
17. 已有定义: char a=abc",b=以下叙述中正确的是 c
a) 数组a和b的长度相同 b) a数组长度小于b数组长度
c) a数组长度大于b数组长度 d)上述说法都不对
18.执行以下程序,输出结果是 c 。
void main()
int x=3,y=4,z=2,i;
i=xy;printf(“i=%d z=%d”, i,z);
a) i=0 z=10 b) i=1 z=10 c) i=0 z=2 d) i=1 z=2
19. 用数组名作为函数调用时的实参,实际上传送给形参的是 a
a) 数组首地址b) 数组的第一个元素值。
c) 数组中全部元素的值 d) 数组元素的个数。
20. 执行如下语句, 输出c的值是 c 。
int c=1, x=3;
switch(x+1)
case 4: c++;
case 6: c++;
break;
default: c++;
printf(“%d”, c);
a) 1b) 2c) 3d) 4
21. 若有定义:int a[2][3]; 则对a数组的第i行j列元素的正确引用为a
a) *a[i]+j) b) *a+i)+j c) *a+i+j) d) a[i]+j
22.若有如下程序:
void main()
int x=1,a=0;
dowhile(x,x--)
则语句a++;执行的次数是 c 。
a) 0b) 1 c) 2d) 无限次。
23.以下程序中,while循环的循环次数是 d 。
void main()
int i=0;
while(i<10)
a) 1b) 10 c) 6 d) 死循环,不能确定次数。
24.下面能正确定义一维数组的选项是 b 。
a) int numb) #define n 10
int num[n];
c) int num[0..10d) int n=10;
int num[n];
25.在c语言中,函数的隐含存储类别是 c
a) auto b) static c) externd) 无存储类别。
26.以下程序的输出结果是 c 。
void main()
char str[20]=”hell\0o\t”;
printf(“%d %d”, strlen(str),sizeof(str));
a) 9 7b) 7 20c) 4 20 d) 20 20
27.下列选项中不正确的语句组是 a 。
a) char s[10]; s=“beijing”; b) char s[ ]beijing”;
c) char *s =“beijingd) char *s ; s=“beijing”;
28.有如下程序, 执行后输出的结果是 c 。
void f(int x, int y)
int t;
if(x}void main()
int a=1,b=3,c=2;
f(a,b); f(a,c); f(b,c);
printf(“%d,%d,%d”,a,b,c);
a) 3,2,1 b) 1,2,3c) 1,3,2 d) 2,3,1
29.执行如下程序段后,a的值为 c
int *p, a=1,b=2;
p=&a; a=*p+b;
a) 1 b) 2 c) 3 d) 4
30.下列关于c语言数据文件的叙述中正确的是 c 。
a) 文件由ascii码字符序列组成,c语言只能读写文本文件。
b) 文件由二进制数据序列组成,c语言只能读写二进制文件。
c) 文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件。
d) 文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件。
二、填空题(每空2分,共40分)
1.若输入字符串:abcde《回车》,则以下while循环体将执行 (1)0 次。
while((ch=getchar())d’) putchar(ch);
2.设有下列定义语句int x[3]=,p1=x, *p2=&p1;则表达式**p2的值是 3 (2) ,表达式*(*p2+1)的值是 4 (3
3.以下函数的功能是:求x的y次方,请填空。
double fun(double x, int y)
int i;
double z;
for(i=1, z=x; i z=z* x (4
return z; }
4.若有以下程序段,请填空。
struct str
int a;
struct str *next;
*p1;p1=( struct str * 5) )malloc(sizeof(struct str));
5.设有以下定义:
struct s
int info;
struct s *next;
x,y,z;
已建立如下图所示链表结构:
请写出删除节点y的赋值语句 (6
c语言试卷c
a.p q c.p n1 10 若有说明语句 int a,b,c,d c 则能从键盘读入三个整数分别赋给变量a b c的语句是。a.scanf d d d a,b,d b.scanf d d d a,b,d c.scanf d d d a,b,dd.scanf d d d a,b,d 11 c语言标...
C语言试卷A
青海大学试卷 a卷 系别 班级学号姓名。考试课程 程序设计基础 c 考试日期 2009 年 12月17日。注 所有答案均写在答题卡上,答在试卷上不得分,考试结束后试卷和答题卡一并交回。一 填空题 每空1分,共16分 1 整型静态数组没有初始化,也没有赋值,此时数组元素的值均为 0 2 数组在内存中占...
C语言试卷
一 填空共5题 共计10分 第1题 2.0分 题号 339 赋值运算符的结合性是由 右 至 左 第2题 2.0分 题号 925 在c 语言结构化程序中,函数 是程序的基本组成单元 在c 语言的面向对象设计框架中,对象 是程序的基本组成单元。第3题 2.0分 题号 926 c 语言的参数传递机制包括传...