c语言中和if语句作用相似的运算符,南开18秋学期(1709、1803、1809)《C语言程序设计》在线作业【答案】...

18秋学期(1709、1803、1809)《C语言程序设计》在线作业-0001

试卷总分:100    得分:0

一、 单选题 (共 40 道试题,共 80 分)

1.C语言中规定,if语句的嵌套结构中,else总是与( )配对

A.与最近的if 配套

B.与第一个if 配套

C.按缩进位置相同的if配套

D.与最近的且尚未配对的if 配套

2.for (i=2; i=0; ) printf(“%d” , i--) ; 以上程序段的循环次数是( )。

A.2次

B.无限次

C.0 次

D.1 次

3.fgetc函数的作用是从指定文件读入一个字符,该文件的打开方式必须是( )

A.只写

B.追加

C.读或读写

D.答案B和C都正确

4.变量的指针,其含义是指该变量的( )

A.地址

B.值

C.名字

D.标识

5.下面4个选项中,均是C语言关键字的选项是( )。

A.auto enum include

B.switch typedef continue

C.signed union scanf

D.if struct type

6.当把以下四个表达式用作if语句的控制表达式时,有一个选项与其它三个选项含义不同,这个选项是

A.k%2

B.k%2==0

C.(k%2)!=0

D.!(k%2==0)

7.如果在C语言中一个int型数据在内存中占2个字节,则unsigned int型数据的取值范围为( )。

A.0~255

B.0~32 767

C.0~65 535

D.0~2 147 483 647

8.数组名作为实参传递给形参时,数组名被处理为( )

A.该数组的长度

B.该数组的元素个数

C.该数组的首地址

D.该数组中各元素的值

9.若有定义char str[]= “very good”,则str的长度为( )

A.8

B.9

C.10

D.11

10.下面4个选项中,均是不合法的用户标识符的选项是( )

A.A P_0 do

B.float a0 _A

C.b-a 123 int

D._123 temp INT

11.设有如下程序 # include main() { char ch1='A',ch2='a'; printf("%c\n",(ch1,ch2)); } 则下列叙述正确的为( )

A.程序的输出结果为大写字母A

B.程序的输出结果为小写字母a

C.运行时产生错误信息

D.格式说明符的个数少于输出项的个数,编译出错

12.以下符合C语言语法的赋值表达式是( )

A.d=9+e+f=d+9

B.d=9+e,f=d+9

C.d=9十e,e++,d十9

D.d=9十e++=d十7

13.for (i=2; i==0; ) printf(“%d” , i--) ; 以上程序段的循环次数是( )

A.2次

B.无限次

C.0次

D.1 次

14.下面不正确的字符串常量是( )。

A.abc'

B."12'12"

C."0 "

D." "

15.一个源程序文件由一个或多个什么组成( )

A.语句

B.函数

C.程序块

D.子程序

16.下列哪个是字符写函数( )。

A.fgetc

B.fputc

C.fgets

D.fwrite

17.在C语言中,要求运算数必须是整型的运算符是( )。

A./

B.&&

C.!=

D.%

18.以下对C语言中共用体类型数据的叙述正确的是( )

A.可以对共用体变量名直接赋值

B.一个共用体变量中可以同时存放其所有成员

C.一个共用体变量中不能同时存放其所有成员

D.共用体类型定义中不能出现结构体类型的成员

19.设有以下说明语句 struct stu {int a;float b;}stutype; 则以下叙述不正确的是( )

A.stutype 是用户定义的结构体类型名

B.a 和 b 都是结构体成员名

C.struct 是结构体类型的关键字

D.struct stu 是用户定义的结构体类型

20.#include main() {union { long a; int b; char c;}m; printf("%d\n",sizeof(m));} 以上程序的运行结果是( )。

A.2

B.4

C.6

D.8

21.fwrite函数的一般调用形式是( )

A.fwrite(buffer,count,size,fp)

B.fwrite(fp,size,count,buffer)

C.fwrite(fp,count,size,buffer)

D.fwirte(buffer,size,count,fp)

22.下列哪个是读写文件出错检测函数( )。

A.ferror

B.clearerr

C.feof

D.fwrite

23.在C语言中,char型数据在内存中的存储形式是( )

A.补码

B.反码

C.原码

D.ASCII码

24.若定义语句:int a=7;float x=2.5;y=4. 7; 则表达式x+a%3*(int)(x+y)%2/4的值是( )

A.2.500000

B.2.750000

C.3.500000

D.0.000000

25.x=-2; y=-1; if(x!=0) if(x>0) y=1; else y=0; 该程序段的输出结果为( )。

A.1

B.0

C.-1

D.不确定

26.int k=1; while (k<=10); 上述语句执行后,变量k的值是( )。

A.10

B.11

C.9

D.无限循环,值不定

27.main() { int x,y,z; scanf (“%d%d%d”,&x,&y,&z); printf(“x+y+z=%d\n”,x+y+z); } 输入数据的形式是25,13,10,则程序的输出结果是( )

A.x+y+z=48

B.x+y+z=35

C.x+z=35

D.不确定值

28.若有以下定义语句 union data {int l; char c; float f;}a; int n;则以下语句正确的是( )

A.a=5;

B.a={2,'a',1.2};

C.printf("%d\n",a.l);

D.n=a;

29.以下不正确的语句为( )

A.if(x>y);

B.if(x>y){x++;y++;}

C.if(x=y)&&(x!=0)x+=y;

D.if(x!=y) scanf("%d",&x); else scanf("%d",&y);

30.若以”a+”方式打开一个已存在的文件,则以下叙述正确的是( )。

A.文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可作添加和读操作。

B.文件打开时,原有文件内容被删除,位置指针移到文件开头,可作重新写和读操作。

C.文件打开时,原有文件内容被删除,只可作写操作。

D.以上各种说法皆不下确。

31.若有以下定义语句:int a[10]={1,2,3,4,5,6,7,8,9,10}; 则下列哪个是对该数组元素的正确引用( )

A.a[10]

B.a[a[3]-5]

C.a[a[9]]

D.a[a[4]+4]

32.下面程序段 int k=2; while (k==0) {printf(“%d”,k);k--;} 则下面描述中正确的是()。

A.while 循环执行 10 次

B.循环是无限循环

C.循环体语句一次也不执行

D.循环体语句执行一次

33.以下正确的叙述是( )

A.在C语言中,每行只能写一条语句

B.若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数

C.在C程序中,无论整数还是实数,都能被准确无误的表示

D.在C程序中,%是只能用于整数运算的运算符

34.在C语言中,int、char和short三种类型的数据在内存中所占用的字节数( )。

A.由用户自己定义

B.均为2个字节

C.是任意的

D.由所用机器的机器字长决定

35.若执行fopen函数时发生错误,则函数的返回值是( )

A.地址值

B.null

C.1

D.EOF

36.在 C 语言中,引用数组元素时,其数组下标的数据类型允许是( )。

A.整型常量

B.整型表达式

C.整型常量或整型表达式

D.任何类型的表达式

37.关于return语句,下列说法正确的是( )。

A.不能在主函数中出现

B.必须在每个函数中出现

C.可以在同一个函数中出现多次

D.只能在除主函数之外的函数中再出现一次

38.设有说明语句:char w;int x;float y;double z;w*x+z-y值的数据类型为( )。

A.float

B.char

C.int

D.double

39.C语言的函数中,( )。

A.必须有形参

B.形参必须是变量名

C.可以有也可以没有形参

D.数组名不能作形参

40.已知学生记录描述为 struct student {int no; char name[20]; char sex; struct {int year; int month; int day;}birth;}; struct student s; 设变量s中的“生日”应该是“1984年11月11日”,下列对“生日”的正确赋值方式是( )。

A.year=1984; month=11; day=11;

B.birth.year=1984; birth.month=11; birth.day=11;

C.s.year=1984; s.month=11; s.day=11;

D.s.birth.year=1984; s.birth.month=11; s.birth.day=11;

二、 判断题 (共 10 道试题,共 20 分)

1.PI可作为标识符使用。( )

A.错误

B.正确

2.在C源程序中,/*与*/之间的注释信息也被编译,但对程序运行运果不发生影响。( )

A.错误

B.正确

3.赋值表达式c=b=a=3是错误的。( )

A.错误

B.正确

4.C程序是由函数构成的,每一个函数完成相对独立的功能。( )

A.错误

B.正确

5.在Turbo C++中,存储字符串常数时所占内存空间是不固定。( )

A.错误

B.正确

6.C语言中的标识符以字母或下划线开头,可跟任何字符。( )

A.错误

B.正确

7.在C语言中,字母的大小写不被区分。( )

A.错误

B.正确

8.按现代风格设计的C程序中,main中对函数声明的信息与定义此函数时第一行的信息完全相同。( )

A.错误

B.正确

9.C语言采用解释方式将源程序转换为二进制的目标代码。( )

A.错误

B.正确

10.对C语言中用到的任何一个变量都要规定其类型。( )

A.错误

B.正确

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值