1[单选题] 下面关于“EOF”的叙述,正确的是
A.EOF的值等于0
B.EOF是在库函数文件中定义的符号常量
C.文本文件和二进制文件都可以用EOF作为文件结束标志
D.对于文本文件,fgetc函数读入最后一个字符时,返回值是EOF
参考答案:B
参考解析:在c语言中,或更精确地说成c标准函数库中表示文件结束符(end of file)。在while循环中以EOF作为文件结束标志,这种以EOF作为文件结束标志的文件,必须是文本文件。在文本文件中,数据都是以字符的ASCII代码值的形式存放。我们知道,ASCII代码值的范围是0~255,不可能出现-1,因此可以用EOF作为文件结束标志。
2[单选题] 以下叙述中正确的是
A.字符串常量“strl”的类型是:字符串数据类型
B.有定义语句:char strl[]="strl";,数组strl将包含4个元素
C.下面的语句用赋初值方式来定义字符串,其中,´\O´是必须的
D.字符数组的每个元素可存放一个字符,并且最后一个元素必须是´\0´字符
参考答案:C
参考解析:本题考查字符数组的相关操作,B选项中数组strl包含了5个元素,其中有结尾符,A选项中strl的类型不是字符串类型,字符数组的最后一个元素可以不是´\O´字符。
3[单选题] 以下选项中非法的C语言字符常量是( )
A.'\x9d'B.'9'C.'\x09'D.'\09'
参考答案:D
参考解析:本题考查字符常量,字符常量是用单引号括起来的一个字符。例如:'a'、'='、'+'等。转义字符是一种特殊的字符常量。转义字符以反斜线“、”开头,后跟一个或几个字符。D选项中'\09',\0表示后面的字符是八进制数。又出现9所以是非法的。故D选项正确。
4[单选题]若有以下程序
则程序的输出结果是
A.1,2,3,4B.2,1,2,-1C.5,1,2,-1D.2,2,2,4
参考答案:D
参考解析:第一个if语句的判断条件中是逻辑或表达式,所以只要有一个运算对象为真结果就为真,且如果前面的已经为真,后面的表达式不再进行执行判断。执行第一个if判断条件时a的值为2,整个表达式的值为真,b的值不变,c的值为2。判断第二个if条件为逻辑与表达式。只有两个运算对象均非零,才为真,第一个表达式c==3,不成立,不再判断第二个运算对象,所以不执行d=-1操作和a=5操作。所以结果为选项D。
5[单选题] 若有定义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。
6[单选题] 若有以下程序
执行时若输入:
Fig flower is red.<回车>
则输出结果是
A.Fig flower is red.is blue.B.Fig flower is red.C.Fig floweris red.D.Fig floweris
参考答案:B
参考解析:本题考查字符数组的赋值以及字符串的处理函数,本题中输入字符串Fig flower is red时,首先是将前10个字符赋值给字符数组a,然后执行gets(B.后,将后续字符存放到b中,当输出时,首先输出字符数组a,然后输出字符串b,所以结果为B选项。
7[单选题] 有以下程序
程序运行后的输出结果是
A.abcdeB.ABCDEC.edcbaD.EDCBA
参考答案:B
参考解析:本题考查数组名作为函数参数,执行f函数时,传进去的a指针被重新指向了b,所以原本a数组的地址内容不变,所以输出结果为ABCDE,答案为8选项。
8[单选题] 有以下程序:
程序运行后的输出结果是( )。
A.1,2,3,0,0,0,0,0,0,0,B.1,2,3,1,2,3,0,0,0,0,C.123,0,0,0,0,123,0,0,0,0,D.1,2,3,0,0,1,2,3,0,0,参考答案:D我的答案:未作答收起解析收藏纠错
参考解析:本题考查文件操作函数,两次fwrite后,币文件中已经写入l,2,3,O,0,l,2,3,0,0然后将文件币中的内容重新写人数组a中,最后输出a为1。2,3,0,0,1,2,3,0,0,所以选项D正确。
9[单选题] 有三个关系R、S和T如下:
则由关系R和S得到关系T的操作是( )。
A.自然连接B.交C.除D.并
参考答案:C
参考解析:如果S=T/R,则s称为T除以R的商。在除运算中s的域由T中那些不出现在R中的域所组成,对于s中的任一有序组,由它与关系R中每个有序组所构成的有序组均出现在关系T中。所以本题选择C。
10[填空题]下列给定程序中,函数fun的功能是:从形参SS所指字符串数组中,删除所有串长超过k的字符串,函数 返回剩余字符串的个数。ss所指字符串数组中共有N个字符串,且串长小于M。
请在程序的下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序在文件BLANKl.C中。
不得增行或删行.也不得更改程序的结构!
参考解析:
(1)N
(2)k
(3)ss[i]
【考点分析】
本题考查:for循环语句;ff语句条件表达式;字符串拷贝 函数strcpy的使用。
【解题思路】
填空1:for循环语句作用是遍历字符串数组中的每一个字符串,所以循环变量i的循环条件是i
填空2:题目要求删除串长度小于k的字符串,所以if条件语句的条件表达式是len<=k。。填空3:通过字符串拷贝函数将串长不大于k的字符串另存,并记录个数。
【解题宝典】
字符串拷贝函数strcpy,其格式为:strcpy(字符数组名1,字符数组名2)功能:把字符数组2中的字符串拷贝到字符数组l中。字符串结束标识‘、0’也一同拷贝。字符数名2,也可以是一个字符串常量。这时相当于把一个字符串赋予一个字符数组。
相关推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |