C语言题收录(二)

1、以下能正确定义一维数组的选项是____。

  • A:int a[5] = {0,1,2,3,4,5};
  • B:char a[] = {0,1,2,3,4,5};
  • C:char a = {‘A’,‘B’,‘C’};
  • D:int a[5] = “0123”;
解析
  • A数组中的元素个数多了一个;
  • C定义的是字符不是数组;
  • D定义的int型但赋值是字符串。
答案:B

2、下述关于C语言文件操作的结论,正确的是____。

  • A:对文件操作前,必须先定义一个结构类型,用来存放文件的有关信息。
  • B:对文件操作必须先打开文件。
  • C:对文件操作必须先关闭文件。
  • D:对文件操作前必须先测试文件是否存在,然后再打开文件。
解析

在C语言中对文件操作必须先打开文件,待文件操作完毕后要关闭文件。对文件以读的方式进行打开操作时,同时会执行文件的检查文件是否存在,不存在将会返回空的文件指针,如果对文件以写的方式打开时,文件不存在,将会自动创建文件,因此在打开文件前不必对其检查文件是否存在。

答案:B

3、若int a=1, b=2, c=3, d=4, m=2, n=2; 执行(m=a>b)&&(n=c>d)后n的值为____。

  • A:1
  • B:2
  • C:0
  • D:4
解析

先执行“逻辑与”的前半段“m=a>b”,“=”的优先级小于“>”,“a>b”不成立,则m=0;(m=a>b)&&(n=c>b)是两个赋值表达式的“逻辑与”计算,当前面(m=a>b)为假时,(m=a>b)&&(n=c>b)必得假,则不需要计算(n=c>b),所以n=2不变化,故n为2。

答案:B

4、设int m=1, n=2; 则m++==n的结果是____。

  • A:0
  • B:1
  • C:2
  • D:3
解析

“m++”中m执行完成后才+1,所以此时表达式“m++”为1,故“m++n”相当于12,因此答案为0,A选项正确。

答案:A

5、关于C语言叙述正确的是____。

  • A:C语言程序是由过程和函数组成的
  • B:C语言函数可以嵌套调用,例如:fun(fun(x))
  • C:C语言函数不可以单独编译
  • D:C语言中除了main函数,其他函数不可作为单独文件形式存在
解析

C语言程序是由主函数和若干子函数构成的,可以嵌套使用。主函数调用子函数,子函数在定义时是并列的,子函数可以相互调用或被多次调用。

答案:B

6、若有如下C语言宏定义语句,则表达式M(1,2)*M(3,4)的值是____。

#define M(x,y) x+y
  • A:11
  • B:13
  • C:15
  • D:21
解析

M(x,y) x+y与M(x,y) (x+y)有区别,因为题中x+y并没有加小括号,所以计算应该是1+2*3+4

答案:A

7、下列关于C语言数值常量定义不正确的是____。

  • A:082
  • B:82L
  • C:8.0E+2
  • D:0x8E2
解析
  • A:以0开头表示该数为8进制数,每位数值的取值范围应为0~7,故不正确
  • B:以L结尾表示该数值为long型(long int 或long double)
  • C:科学计数法,表示8.0*10^2
  • D:以0x开头表示该数为16进制数,其中E表示十进制数14
答案:A

8、若程序中国有宏定义行#define N 2014,以下叙述中正确的是:

  • A:宏定义行中定义了标识符N的值为整数2014
  • B:在编译程序对C源程序进行预处理时用2014替换标识符N
  • C:在运行时用2014替换标识符N
  • D:对C源程序进行编译时用2014替换标识符N
解析

宏定义在预处理时替换字符串。

答案:B

9、假定X为一个用户自定义类,则执行“X T(3),S[3],*p[2];”语句后,自动调用该类构造函数的次数为____。

  • A:3
  • B:4
  • C:6
  • D:8
解析

T(3)是一个函数,参数为3,调用一次。S[3]是一个长度为3的数组,调用三次。*p[2]仅仅定义指针标量但是没有分配内存资源。所以共调用4次。

答案:B

10、结构可以看作特殊的类,结构中成员的访问权限是____。

  • A:public
  • B:protected
  • C:private
  • D:static
解析

结构体和类的最大区别就是默认属性不同,在类中如果前面没写public的属性定义就是private,但在结构体中如果不写就默认为public。

学海无涯苦作舟

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员丶星霖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值