首页 - 网校 - 万题库 - 美好明天 - 直播 - 导航
您现在的位置: 考试吧 > 计算机等级考试 > 计算机二级考试 > C语言 > 模拟试题 > 正文

2018年9月计算机二级C语言考试章节习题及答案(4)

来源:考试吧 2018-08-13 17:37:45 要考试,上考试吧! 万题库
“2018年9月计算机二级C语言考试章节习题及答案(4)”供考生参考。更多计算机等级考试模拟试题等信息请访问考试吧计算机等级考试网。
  点击查看:2018年9月计算机二级C语言考试章节习题及答案汇总

  第2章 C程序设计的初步知识

  2.1 简单C语言程序的构成和格式

  1[单选题] 下面程序的输出结果是(  )。

  #include

  main()

  {

  int a[] = {1,2,3,4,5,6,7,10},*p;

  p =a;

  printf("%d\n",*p+8);

  }

  A.0

  B.1

  C.10

  D.9

  参考答案:D

  参考解析:“*”号的优先级比“+”的优先级高,所以先执行“*p”;指针P指向的是数组的首地址,因此*p=1;再加8得9。

  2[单选题] 下述程序的输出结果是(  )。

2018年9月计算机二级C语言考试章节习题及答案(4)

2018年9月计算机二级C语言考试章节习题及答案(4)

  A.1

  B.7

  C.3

  D.2

  参考答案:B

  参考解析:本题考查的是位运算符的应用。a和b 写成二进制表示分别为a=00000011,b=00000001,由于左移位运算符“<<”的优先级高于按位异或运算符“^”,左移两位后b<<2=00000100,此结果和x按位异或后a^b<<2=00000111。

  3[单选题] 下面说法正确的是(  )。

  A.一个C程序可以有多个主函数

  B.一个C语言的函数中只允许有一对花括号

  C.C程序的书写格式是自由的,一个语句可以写在一行上,也可以写在多行内

  D.在对C程序进行编译时,可以发现注释行中的拼写错误

  参考答案:C

  参考解析:本题涉及C语言基本的3个知识点:①C 语言规定一个程序只允许有一个主函数,一个函数内可以允许有多个花括号;②C程序的注释部分仅仅是方便程序员阅读,提高程序的可读性和可移植性,它并不参与程序的编译,所以编译器也就不会发现注释中的错误。

  4[单选题] 以下4个选项,不能看作一条语句的是(  )。

  A.{;}

  B.int x=0,y=1,z=0;

  C.if(!a);

  D.if(b==0)m=1:n=2:

  参考答案:D

  参考解析:语句是用来判定所给的条件是否满足,根据判定的结果(真或假)决定执行给出的两种操作之一。 在if和else后面可以只含一个内嵌的操作语句,也可以有多个操作语句,此时用花括号“{}”将几个语句括起来成为一个复合语句。选项D)中没有将两个操作语句括起来,不能看作一条语句。

  5[单选题] 以下程序的输出结果是(  )。

2018年9月计算机二级C语言考试章节习题及答案(4)


  A.1

  B.3

  C.2

  D.4

  参考答案:D

  参考解析:本题首先判断a>b,当a>b时结果等于a,否则等于“d>c?d:b”,因为a>b,所以直接输出a的值,注:这里“a:d>c?d:b”是用来干扰考生的。

  6[单选题] 阅读以下程序

2018年9月计算机二级C语言考试章节习题及答案(4)


  A.定义语句出错,Case是关键字,不能用作用户自定义标识符,printF不能用作用户自定义标识符

  B.定义语句出错,Int无法被识别

  C.定义语句无错,scanf不能作为输入函数使用

  D.定义语句无错,printf不能输出Case的值

  参考答案:B

  参考解析:c语言是一种大小写敏感的语育,因此Int应为int,而CaseprintF则可以使用。

  7[单选题] 计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是( )。

  A.C语言程序仅可以编译执行

  B.C语言程序仅可以解释执行

  C.c)C语言程序既可以编译执行又可以解释执行

  D.以上说法都不对

  参考答案:A

  参考解析:C语言作为计算机高级语言,用它编写的程序必须经过C语言的编译器编译后,转换为二进制的机器来运行。

  8[单选题] 以下叙述中错误的是(  )。

  A.C语言编写的函数源程序,其文件名后缀可以是.C

  B.C语言编写的函数都可以作为一个独立的源程序文件

  C.C语言编写的每个函数都可以进行独立的编译并执行

  D.一个C语言程序只能有一个主函数

  参考答案:C

  参考解析:C语言程序是从main函数开始执行的,每一个函数可以进行独立的编译。

  9[单选题] 以下叙述正确的是(  )。

  A.在C程序中,main函数必须位于程序的最前面

  B.每个后缀为.c的C语言源程序都可以单独进行编译

  C.在C语言程序中,只有main函数才可单独进行编译

  D.每个后缀为.c的C语言源程序都应该包含一个main函数

  参考答案:B

  参考解析:每一个C 语言的文件或函数都可以单独编译,但只有main 函数的才可以执行。

  10[单选题] C语言中的标识符分为关键字、预定义标识符和用户标识符,以下叙述正确的是

  A.预定义标识符(如库函数中的函数名)可用作用户标识符,但失去原有含义

  B.用户标识符可以由字母和数字任意顺序组成

  C.在标识符中大写字母和小写字母被认为是相同的字符

  D.关键字可用作用户标识符,但失去原有含义

  参考答案:A

  参考解析:预定义标识符是C语言中的标识符,在C语言中也有特定的含义,如函数printf、scanf、sin 等和编译预处理命令名(如define 和include)。预定义标识符可以作为用户标识符使用,只是这样会失去系统规定的原义。

  11[单选题] c语言规定,在一个源程序中,main函数的位置(  )。

  A.必须在最开始

  B.必须在系统调用的库函数的后面

  C.可以任意

  D.必须在最后

  参考答案:C

  参考解析:不论main函数在整个过程中的位置如何,一个c程序总是从main函数开始执行的

  12[单选题] 以下叙述不正确的是(  )。

  A.在C程序中,逗号运算符的优先级最低

  B.在C程序中,APH和aph是两个不同的变量

  C.若a和b类型相同,在计算赋值表达式a=b后,b的值将放入a中,而b的值不变

  D.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值

  参考答案:D

  参考解析:在c语言所有的运算符中,逗号运算符的优先级最低。C语言区分大小写,所以APH和aph是两个不同的变量。赋值表达式a=b表示将b的值赋予a,而b本身的值保持不变;通过键盘可以向计算机输入允许的任何类型的数据。选项D)中当从键盘输人数据时,对于整型变量可以输入整型数值和字符,对于实型变量可以输入实型数值和整型数值等。

  13[单选题] 有以下程序:

  main()

  {

  unsigned char a=2,b=4,c=5,d;

  d =a|b;d&=c;printf("%d\n",d);

  }

  程序运行后的输出结果是(  )。

  A.3

  B.4

  C.5

  D.6

  参考答案:B

  参考解析:本题考查的是逻辑运算。本题中主要是进行位的逻辑运算。将a的值转换成二进制为:0000 0010,b的值转换成二进制为:0000 0100,将a、b进行按位或运算(参加计算的两个位只要有一个为1,那么运算结果为l),因此此时d的二进制为:0000 0110,C的值转换成二进制为:00000101,接下来将d和C进行按位与运算(参加计算的两个位都为1,则结果为1,否则为0),结果为:0000 0100,转换成十进制数结果为4。

  14[单选题] 下列程序的输出结果是(  )。

  main()

  {

  double d = 3.2;int x,y;

  x=1.2;y=(x+3.8)/5.0;

  printf("%d\n",d*y);

  }

  A.3

  B.3.2

  C.0

  D.3.07

  参考答案:C

  参考解析:本题考查复合的赋值表达式。本题中,程序先执行语句x=1.2;,根据赋值运算的类型转换规则,先将double型的常量l.2转换为int型,即取整为1,然后将l赋值给变量x。接下来执行语句y=(x+3.8)/5.0;根据运算符的优先级,先计算小括号内,再计算除法,最后执行赋值运算。小括号内的运算过程:先将整型变量x的值l转换为double型1.0,然后与3.8进行加法运算,得到中间结果4.8。接着进行除法运算4.8/5.0,其结果小于l.0,这里没有必要计算出精确值,因为接着进行赋值运算,赋值号左边变量Y的类型为整型,于是对这个小于1.0的中间结果进行取整,结果为0,于是变量y的值为0,d * y的值也为0。

  15[单选题] 以下叙述中错误的是(  )。

  A.C语言的可执行程序是由一系列机器指令构成的

  B.用C语言编写的源程序不能直接在计算机上运行

  C.通过编译得到的二进制目标程序需要连接才可以运行

  D.在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件

  参考答案:D

  参考解析:c语言的可执行程序是由一系列机器指令组成的。用C语言编写的源程序必须经过编译生成二进制目标代码,再经过连接才能运行,并且可以脱离c语言集成开发环境。故答案为D)。

  16[单选题] 以下4个选项中,不能看作一条语句的是(  )。

  A.;

  B.a=5,b=2.5,c=3.6;

  C.if(b!=5)x=2;y=6;

  D.return j;

  参考答案:C

  参考解析:c语言规定每个语句以;(分号)结束,因此选项c)为两条语句。

  17[单选题] 下面程序段的输出为(  )。

  #include "stdio.h"

  main()

  {

  printf("%d\n",12<<2);

  }

  A.0

  B.47

  C.48

  D.24

  参考答案:C

  参考解析:本题考查位运算的运算原理。<<为左移运算符,运算符的左边是移位对象;右边是整型表达式,代表左移的位数,左移时,右端(低位)补0;左端(高位)移出的部分舍弃。

  18[单选题] 以下叙述中正确的是( )。

  A.C程序中注释部分只能放在程序最后

  B.花括号“{“和”}”可以作为函数体的定界符,也可以作为复合语句的定界符

  C.构成C程序的基本单位是函数,所有函数名都可以由用户命名

  D.分号不是语句的一部分,是C语句之间的分隔符

  参考答案:B 参考解析:花括号可以作为函数体的定界符,也可以作为复合语句的定界符。函数是c程序的基本单位,用户可以命名自定义函数,而库函数名是固定的。c语句以分号结尾,分号是语句的一部分。

  19[单选题] 若有说明,double*m,n;则能通过sCanf语句正确给输入项读人数据的程序段是( )。

  A.*m = &n;scanf("%lf",m);

  B.m = (double * ) malloc(10);scanf("%f",m);

  C.m = &n;scanf("%lf",n);

  D.m = &n;scanf("%le",m);

  参考答案:D

  参考解析:解析:选项A,*m = &n 错误。选项B,输入 double型,要用%lf 或 %le,否则数据不能正常输入。

  选项C,n是变量,不是指针,scanf("%if",n)错误。

  20[单选题]

2018年9月计算机二级C语言考试章节习题及答案(4)


  A.a=50 b=50(空格分开.

  B.50 50(空格分开.

  C.a=50,b=50

  D.50,50

  参考答案:C 参考解析:scanf函数使用时,如果格式控制串中有非格式字符则输人时也要输入该非格式字符。

扫描/长按二维码帮助考试通关
2018年等考报考资讯
2018等考各科通关技巧
2018各科最新预测试卷
2018等考各科备考资料

微信搜索"考试吧"了解更多考试资讯、下载备考资料

  相关推荐:

  2018年9月全国计算机等级考试试题汇总(各科目)

  2018年全国计算机等级考试必做试题汇总(各科目)

  2018年全国计算机等级考试复习知识点汇总(各科目)

  2018全国计算机等级考试备考经验及应试技巧汇总

  历年真题汇总|考试吧策划:2018年计算机等级考试报考指南

0
收藏该文章
0
收藏该文章
文章搜索
万题库小程序
万题库小程序
·章节视频 ·章节练习
·免费真题 ·模考试题
微信扫码,立即获取!
扫码免费使用
版权声明:如果计算机等级考试网所转载内容不慎侵犯了您的权益,请与我们联系800@exam8.com,我们将会及时处理。如转载本计算机等级考试网内容,请注明出处。
Copyright © 2004- 考试吧计算机等级考试网 出版物经营许可证新出发京批字第直170033号 
京ICP证060677 京ICP备05005269号 中国科学院研究生院权威支持(北京)
在线模拟试题
考证通关杀器
考试最新资讯
一次通关技巧