c语言标识符数据字典,2017计算机二级C语言选择题训练及答案

2017计算机二级C语言选择题训练及答案

参考答案与解析:

1.D。【解析】后序遍历是增首先遍历左子树或左子结点,然后遍历右子树或右子结点,最后访问根结点。前序遍历是指首先访问根结点,依次访问左子树、右子树。本题根据前序和中序遍历的结果确定,然后再对其进行后序遍历,正确答案为选项D。

2.D。【解析】重复结构也称为循环结构,它根据给定的条件,判断是否需要重复执行某一相同或类似的程序段,这种可以简化大量的程序行。

3.C。【解析】算法复杂度包括时间复杂度和空间复杂度,算法的时间复杂度是指执,亍算法所需要的计算机工作量,即算法执行过程中所需要的基本运算次数。

4.A。【解析】在C语言中软件概要设计的基本任务是:设计软件系统结构、数据结构及数据库设计、编写概要设计文档、概要设计文档评审4种。

5.D。【解析】在c语言中.结构化分析方法中的数据字典的作用是描述系统中所用到的全部数据和文件的有关信息。

6.C。【解析】在关系模型数据库中,我们把构成基本结构的一维表称为关系。关系的列称为属性,具有N个属性的关系称为N元关系。

7.D。【解析】在表达式a*b+d-c中,double的类型最高,C语言中,由低类型自动向高类型转换,所以最后的结果一定是double型。

8.D。【解析】C语言规定标识符是由字母、数字和下划线组成的,且必须以字母或下划线开头,因此可知D选项错误。

9.A。【解析】执行x=x-=x-x语句可写成x=x- (x-x),可看出结果为10,故八选项正确。

10.C。【解析】本题考查对面向对象的理解,面向对象的程序设计是对象模拟问题领域中的实体,各对象之间相对独立,相互依赖性小,通过消息来实现对象之间的相互联系。

11.C。【解析】当i=0时,执行switch语句,对应的执行case 0,输出0,因为没有break,接着执行case 2的语句,又输出一个0,接着执行default语句,再输出一个0,返回i+ +;i=1时,没有case语句,执行default语句,输出一个1,接着又返回i++;当i=2时执行case 2和default语句分别输出一个2,此时又返回i++,i变为3,for循环不成立,终止,最后输出000122。

12.D。【解析】因为x=’f’,所以写成’A’+(x-’a’+1) =’A ’+(’f ’-’a’+1)=’A’+6=’J ’,故选择D选项。

13.C。【解析]else与离它最近的if构成if…else语句,而当a为2时,第一个if语句不成立,因此什么也不做,即c 的值仍然为2,故选择C选项。

14.A。【解析】在c语言中,函数返回的类型最终取决于函数定义时在函数首部所说明的函数类型,与调用函数时主调函数所传递的实参类型和函数定义时形参的类型无关,而return语句表达式的值将强制转换为函数定义时在函数首部所说明的函数类型返回。

15.D。【解析】当i一0时,两个if都不满足,所以都不执行,直接执行i++语句,此时i为1,S为l,返回for循环中;当i=1时,同样不执行两个if语句,执行i++后,i=2,s= 3,返回for循环中;i=2时也不执行if语句,执行i++后,i =3,s=6,接着又执行for循环,此时符合第一个if语句,执行到continue时不再执行i++了,continue是跳出本次循环,接着下次循环。永远这样执行下去,i的值永远为3,故选择D选项。

16.D。【解析】当b为10时,执行b-=a,此时b为9,接着b--表达式值为9,b的值为8,大于0,while不成立,退出循环,故选择D选项。

17.D。【解析】程序执行在for循环,当i=p时,i中放的是P的地址,类型不符合,因此输出随机数,故选择D 进项.

18.A。【解析】在程序中当i=0时,s[o]=1,f(s[0])为1,执行d+=s[0],d的值为1,i++也变为1。当i=1时,s[1]=3,f(s[1])为1,也为非0,继续执行后面的表达式,此时d的值为1+3=4,继续着i++变为2,接着执行for循环,可知for循环的目的是把S数组中的奇数相加,因此最后d的值为1+3+5为9,故选择A选项。

19.D。【解析】在C语言中,不能直接比较两个字符串的大小,必须用特定的函数来完成,选项A错误;选项B不管大于还是小于都执行S,不符合题意;选项C正好相反,当s2大于s1时,执行语句S,可知选项D正确。

20.A。【解析】在程序中因为fun函数的返回值为char,而P是指向char的指针变量,因此类型不匹配,故选择A选项。

21.B。【解析】本题考查指针,由*p=str可知,指针P指向字符串数组的首地划。二维数组str为每个字符串分配的存储空间是10个字节,因此p+10指向str[1][0],输出的字符串就是数组中的第2个字符串。

22.C。【解析】在C语言中,main()函数也可以有参数,例如,main(int ar90,char * argv),argc是指字符串的指针数组,而其他几项表达不正确。

23.B。【解析】本题考查结构体指针变量的赋值方法,要把结点b连接到结点;l的后面,必须把b的地址给a的next指针。故8正确。

24.C。【解析】当用“w”打开时,已存在一个以该文件名命名的文件,则在打开时将该文件删除,再重新建立一个新文件,因此当输入时原来的内容已被覆盖,所以只有后输入的内容,故选择C选项。

25.B。【解析】y=(x=)07 1:x<0 -1="" 0="" y="(x">07 1:(x<0?-1:0)),故选择8选项。

26.A。【解析】C语言规定,标识符是由字母、数字或下划线组成,并且它的第一个字符必须是字母或者下划线。int就是表达整型变量类型的标识符,它不能用做变量名和函数名。

27.B。【解析】本题考查自加(++)、自减(--)运算符的使用。“++x,--x”,在变量x前使用,先使X的值加1或者减1,再使用此时的表达式的值参与运算;“x++,x --”,先把使用X的值参与运算,在使用X之后,再使x的值加1或者减1。对于表达式--x=4,y++=4,两者相等,--x=y ++为真,所以a=x=4,执行完此语句后y的值是5。第2个表达式b=++x,x的值先加1,然后赋给b,即b=x+1=5;第一个表达式c=y=5。故B正确。

28.A。【解析】解答本题需了解3个知识点:①标识符是由字母、数字或下划线组成,并且它的第一个字符必须是字母或者下划线;②do是C语言的一个关键字,不能再用做

变量名和函数名;③c语言规定指数形式的实型数量e或E 后面的指数必须是整数。

29.C。【解析】本题考查for循环及if语句。当执行到第一个满足(i*i>一20)&&(i*i<=100)这个条件的i出现时,break跳出循环,执行下列的printf语句。

30.C。【解析】getchar函数是读取键盘的输入函数,本题中输入字母“a”,则c=’ a ’,判断if条件,发现’ a ’>=’a ’ &&’a ’<=’g’成立,则执行下列语句:C=C+4,C得到的字

符的ASCII码值,退出if语句,通过putchar函数输出字符。

31.B。【解析】本题考查函数调用时的参数传递。在执行函数func时,由于全局定义了一个变量b,所以在函数体中执行b=2+1=3,最终t=2+3=5。

32.C。【解析】“P”是指针变量,指向一个地址:“*P”为P指针所指向地址的内容 “&”是取变量地址。

33.C。【解析】本题考查字符串数组和字符数组赋值的区别。“char m[]="1234567";”定义一个字符型数组并初始化,C语言规定,在字符串的末尾自动加上串结束标记’\0 ’,因此数组m的长度是8;而数组n是按照字符方式对数组初始化,系统不加上串结束标记’\0’,因此数组n的长度是7。

34.B。【解析】本题要注意sizeof()和strlen()的区别,sizeof()函数的功能是返回字符串所占的字节数,strlen()函数的功能是返回字符串长度,’\0 ’是一个转义符,它占存储空间,但不计入串的长度。

35.B。【解析】软件生命周期(Systems Development Life Cyele,sDLC)是软件的产生直到报废的生命周期,周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段。

36.B。【解析】本题考查带参数的宏的定义:“#define ADD(x)x+x”中X代表m+n,故s写成s=m+n+m+n *k=1+2+1+2*3=10。

37.C。【解析】表达式a++,b++,a+b是一个逗号表达式,在逗号表达式中,从左向右进行各个表达式的运算,最后一个表达式的值就是逗号表达式的结果,所以表达式a++,b++,a+b的值为5,所以fun()函数中的形参x 的值为5;表达式c++先把变量C的值传给形参y,然后c 的值加1,所以y的值为3,因此函数fun((a++,b++,a+ b),c++)的返回值为8。

38.A。【解析】本题考查按位与运算,按位与就是相同为1,不同为0,把x=011050化成二进制为0001001000101000,把01252 化成二进制 为0000001010101010,两者相与得0000001000101000。

39.C。【解析】调用函数fun(7)时,由于x的值为7,执行语句“p=x-fun(x-2);”,相当于执行p=7-fun(5);

调用函数fun(5)时,由于x的值为5,执行语句“p=x- fun(x-2);”,相当于执行p=7-fun(3);

调用函数fun(3)时,由于x的值为3,执行语句“p=x- fun(x-2);”,相当于执行p=7-fun(1);

调用函数fun(1)时,由于X的值为1,执行语句“return (3);”,函数的返回值为3。

因此函数调用fun(7)等价于7-(5-fun(3)),即7 -(5 -(3-fun(1))),即7-(5-(3-3)),所以函数fun(7)的返回值为2。答案为C。

40.C。【解析】本题考查数据块读取函数调用形式:fread(buffer,size,count,fp)。

fread函数参数说明:“buffer”是一个指针,是读入数据的存放地址,对fwrite来说,是要输出数据的地址;“size”是要读写的字节数;“count”是要进行读写多少个size字节数据项;“fp”是指文件型指针。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值