首页 > 全部 > 二级C语言 > 国家二级C语言(C语言基础知识)机试模拟试卷18

国家二级C语言(C语言基础知识)机试模拟试卷18

本单篇文档共5714字,内容预览3600字,预览为有答案版,源文件无水印,下载后包含无答案空白卷版和有答案版,同时也有计算机类NCRE全国计算机二级整科真题模拟题,讲义课件,思维导图,易错高频题等下载。
二级C语言 章节练习 4912人下载
价格: 免费 原价:¥8.80
收藏

国家二级C语言(C语言基础知识)机试模拟试卷18

选择题

1.若有以下程序

#include <stdio.h>

main() {

char c1, c2;

c1=’C’+’8’-’3’;

c2=’9’-’0’;

printf(\\(A)

A. H 9

B. H ’9’

C. F ’9’

D. 表达式不合法输出无定值

解析:字符常量允许进行简单的算术运算,则’C’+ 5表示H,而’9’-’0’则表示数值9。

2.下面选项中合法的字符常量是(C)

A. X

B. ’abc’

C. ’X’

D. ’\\\\’

解析:在程序中用单引号把一个字符括起来作为字符常量。但是为了表示字符“\\\\”要用两个“\\\\\\\\”表示一个反斜杠。

3.以下叙述中正确的是(C)

A. 字符常量在内存中占2个字节

B. 转义字符要用双引号括起来,以便与普通的字符常量区分开

C. 字符常量需要用单引号括起来

D. 字符常量是不能进行关系运算的

解析:在程序中用单引号把一个字符括起来作为字符常量。转义字符又称反斜线字符,这些字符常量总是以一个反斜线开头后跟一个特定的字符,用来代表某一个特定的ASCII字符,这些字符常量也必须括在一对单引号内,和整型常量一样,字符常量也可以进行关系运算的。

4.以下叙述中正确的是(C)

A. 字符变量在定义时不能赋初值

B. 同一英文字母的大写和小写形式代表的是同一个字符常量

C. 字符常量可以参与任何整数运算

D. 转义字符用@符号开头

解析:一个字符常量代表ASCII字符集中的一个字符,在C程序中,字符常量可参与任何整数运算,转义字符以一个反斜线开头后跟一个特定的字符。

5.若有定义语句:char a=’\\\\82’; 则变量a(B)

A. 包含1个字符

B. 说明不合法

C. 包含2个字符

D. 包含3个字符

解析:转义字符以一个反斜线开头后跟一个特定的字符,可以利用’\\\\ddd’3位八进制数代表的一个ASCII字符,也可以’\\\\xhh’2位十六进制数代表的一个ASCII字符。选项A中的八进制表示出现字符8,非法。

6.有以下程序

main() {

char c1=’A’, c2=’Y’;

printf( \\(C)

A. 输出格式不合法,输出出错信息

B. 65,90

C. 65,89

D. A,Y

解析:C语言允许对整型变量赋以字符值,也允许对字符变量赋以整型值。在输出时,允许把字符变量按整型量输出,也允许把整型量按字符量输出。

7.C语言中char类型数据占字节数为(C)

A. 2

B. 3

C. 1

D. 4

解析:C语言中char类型数据占字节数为1。

8.有以下程序

main() {

char a=’H’;

a = ( a>=’A’ && a<=’Z’ ) ? (a+32) : a;

printf(\\(C)

A. H

B. A

C. h

D. a

解析:表达式a = ( a>=’A’ && a<=’Z’ ) ? (a+32) : a,为条件表达式,如果a是大写字符,则转换为小写字符存放到a中,否则不变。

9.以下正确的字符串常量是(C)

A. ’abc’

B. Olympic Games

C.

D. \\\\\\\\\\\\

解析:字符串常量是由双引号括起来的一串字符。在C语言中,以一个反斜线开头后跟一个特定的字符,用来代表一个特定的ASCⅡ字符。利用两个’\\\\\\\\’表示一个反斜杠,因此选项D的表示无法确认表示几个反斜杠。

10.若有代数式(C)

A. sqrt(fabs(pow(n,x)+pow(x,e)))

B. sqrt(abs(n^x+e^x))

C. sqrt(fabs(pow(n,x)+exp(x)))

D. sqrt(fabs(pow(x,n)+exp(x)))

解析:n和e的x幂次方,要分别调用C语言的数学库函数double pow(n,x)和double exp(x),因为这两个函数的返回值都为double型,对其两者的和计算绝对值,调用库函数double fabs(pow(n,x)+exp(x)),求出和的绝对值,再调用开平方函数 double sqrt(fabs(pow(n,x)+exp(x))),这样计算出的结果就是题干中算术表达式的值。

11.表达式:(int)((double)9/2)- 9%2 的值是(C)

A. 0

B. 4

C. 3

D. 5

解析:这个表达式的计算过程为,首先求出9除以2的商等于4,再把其强制转化为实型数据为4.0,然后再强制转4,减去9对2求余数1,得到其结果等于3。

12.若有定义语句: int x=12, y=8, z; 在其后执行语句 z= 0.9+x/y; 则z的值为(B)

A. 1.9

B. 1

C. 2

D. 2.4

解析:由于x,y,z都是整型数据,所以x除以y的值为整型数值1,1和0.9相加得到1.9,再转换为整型数1赋给整型变量z。

13.表达式3.6-5/2+1.2+5%2的值是(C)

A. 4.8

B. 3.3

C. 3.8

D. 4.3

解析:表达式的计算过程为:3.6-5/2+1.2+5%2=3.6-2+1.2+1=3.8。此题要注意5/2的结果是2,而不2.5,因为除法运算符两边的数值类型均为整型,故运算结果的数值类型也被认定为整型。

14.有以下定义:

int a;

long b;

double x, y;

则以下选项中正确的表达式是(A)

A. a%(int)(x-y)

B. a=x<>y

C. (a*y)%b

D. y=x+y=x

解析:选项B中<>运算符不存在,选项C中double类型不能进行取余(%)操作,要求两个运算数必须是整数,选项D中x+y=x错误。

15.若有以下程序

#include <stdio.h>

main() {

int a=0,b=0,c=0,d;

c= (a+=b, , b+=a); /*第4行*/

d=c; ; /*第5行*/

; /*第6行*/

printf(\\(A)

A. 第4行

B. 第5行

C. 第6行

D. 第7行

解析:第4行出错,在第4行括号中两个逗号不可以为空。单独的分号为C语言的空语句,是编译程序可以识别并且编译的,因此第5、6行都是正确的。

16.不能正确表示数学式的本文档预览:3600字符,共5714字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载

剩余未完,查看全文
收藏
国家二级C语言(C语言基础知识)机试模拟试卷18

推荐资源

客服

扫码添加客服微信

热线

官方客服

如遇问题,请联系客服为您解决

电话客服:

客服微信:pujinet

工作时间:9:00-18:00,节假日休息

公众号

扫码关注微信公众号