11[单选题] 以下叙述中正确的是
A.由printf输出的数据都隐含左对齐
B.scanf和printf是c语言提供的输人和输出语句
C.赋值语句是一种执行语句,必须放在函数的可执行部分
D.由printf输出的数据的实际精度是由格式控制中的域宽和小数的域宽来完全决定的
参考答案:C
参考解析:sCanf和printf是C语言提供的输入输出函数,所以B错误。由printf输出的数据都隐含右对齐,所以A错误。printf输出数据所占的宽度由系统决定,所以D错误。
12[单选题] 一间宿舍可住多个学生,则实体宿舍和学生之间的联系是( )。
A.一对一B.一对多C.多对一D.多对多
参考答案:B
参考解析:因为一间宿舍可以住多个学生即多个学生住在一个宿舍中,但一个学生只能住一间宿舍,所以实体宿舍和学生之间是一对多的关系。
13[单选题] 有以下程序:
程序运行后的输出结果是( )。
A.4,5,2,4,1,3,B.4,4,2,2,1,1,C.5,5,3,3,2,2,D.4,4,2,2,1,3
参考答案:A
参考解析:sizeof()是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、对象、函数等。它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。strlen(·char)函数,要在运行时才能计算,参数必须是字符型指针(char·),当数组名作为参数传人时,实际上数组就退化成指针了,它的功能是:返回字符串的长度。该字符串可能是自己定义的,也可能是内存中随机的,该函数实际完成的功能是从代表该字符串的第一个地址开始遍历,直到遇到结束符NULL,返回的长度大小不包括NULL。sizeof(a)求数组a所占空间的大小,包括字符串最后的’、0’,所以sizeof(a)=5,strlen()遇到’、0’就结束,strlen(a)=4。strlen(b)是指针指向的字符串长度,sizeof(b)是指针的大小。strlen(c)是字符串的长度,sizeof(c)是数组的长度。因此,输出4,5,2,4,l,3。故答案为A选项。
14[单选题] 若有定义int a:float b:double c;程序运行时输入:345<回车>
能把值3输入给变量a、4输入给变量b、5输入给变量C的语句是
A.scanf("%d%f%If",&a,&b,&C.;
B.scanf("%d%If%If",&a,&b,&C.;
C.scanf("%d%f%f",&a,&b,&C.;
D.scanf("%If%If%If",&a,&b,&C.;
参考答案:A
参考解析:wad()函数的格式串中,必须含有与输入项一一对应的格式转换说明符,整型数据、float型数据、double型数据对应的格式转换说明符分别为%d、%f、%If所以选择A。
15[单选题] 有以下程序
程序运行后的输出结果是( )。
A.15B.12C.16D.20
参考答案:B
参考解析:#define命令是C语言的宏定义命令,标识符一般使用大写,为了区分其他标识符,将标识符定义为一个字符串,该标识符被称为宏名,被定义的字符串称为替换文本。宏定义不进行其他操作,仅仅只是替换标识符。后置自增运算:k++表示先运算,后自加。意思是遇到k++了,先把当前的k的值拿来参加运算,后面再去管它的自加。SUB(a++,b++)一(a++)t(b++)—d}4。故答案为B选项。
16[单选题] 有以下程序:
程序运行后的输出结果是( )。
A.0,1B.0,0C.1,一1D.0,2
参考答案:A
参考解析:for(;++a&&~b;);for循环中第l,3表达式为缺省项,判断条件为++a&&…b;a一2,b=2;,第一次执行了++a和一b,,表示为真,循环条件成立,第二次执行++a为0,由于&&运算符,当第一个条件为假时,不执行第二个条件,所以b=1,发生短路,一b不执行了。因此a,b的最终值0,1。故答案为A选项。
17[单选题] 关于c语言函数说明的位置,以下叙述正确的是
A.在函数说明之后对该函数进行调用,编译时不会出现错误信息
B.函数说明可以出现在源程序的任意位置,在程序的所有位置对该函数的调用,编译时都不会出现错误信息
C.函数说明只能出现在源程序的开头位置,否则编译时会出现错误信息
D.函数说明只是为了美观和编译时检查参数类型是否一致,可以写也可以不写
参考答案:A
参考解析:对被调用函数的说明有两种方式:外部说明和内部说明。在调用函数内对被调函数所作的声明称为内部说明,也称为局部说明;在函数外进行的函数说明称为外部说明,如果说明在程序最前端,外部声明又称为全局说明,因此B,C选项错误;函数“说明”是指利用它在程序的编译阶段对调用函数的合法性进行全面检查,因此D选项错误,答案为A选项。
18[单选题] 若有以下程序
则程序的输出结果是
A.earlsB.ahabjC.ckbdlD.black
参考答案:D
参考解析:程序首先初始化字符数组a[5][10]和二维数组p[6][2]。执行for循环语句,循环变量i从0取值到5,得到字符数组W[]的值,并通过字符串输出函数pats进行输出操作。w[0]=a[0][1]、w[1]=a[1][5]、w[2]=a[0][0]、w[3]=a[0][2]、w[4]=a[1][4]、w[5]=a[4][4];因此最后字符数组W的结果为black。因此D选项正确。
19[单选题] 有以下程序
程序运行后的输出结果是
A.4 6B.4 4C.2 2D.2 4
参考答案:D
参考解析:本题主要考查指针与数组。首先通过P=a使P指向数组的第1个元素,所以输出2;在输出2以后,由于P++,即P就指向数组的第2个元素,**k就是取出P所指向元素的值,而P指向的是数组的第2个元素,即输出4。因此D选项正确。
20[单选题] 下列数据结构中,能够按照“先进后出”原则存取数据的是( )。
A.循环队列B.栈C.队列D.二叉树
参考答案:B
参考解析:栈是按先进后出的原则组织数据的。队列是先进先出的原则组织数据。
相关推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |