C语言试卷

发布 2021-04-23 10:41:28 阅读 3919

一、单选题(每题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 语言的参数传递机制包括传...