1[单选题]以下叙述中正确的是
A.如果函数带有参数,就不能调用自己
B.所有函数均不能接受函数名作为实参传入
C.函数体中的语句不能出现对自己的调用
D.函数名代表该函数的入口地址
参考答案:B
参考解析:本题考查函数调用相关知识,B选项中函数可以接受函数名作为实参传人,引用函数名也是指针,C、A选项是错误的,因为递归函数就能调用自己。
2[单选题] 有以下程序:
程序运行时,输入的值在哪个范围才会有输出结果( )。
A.小于3的整数
B.不等于10的整数
C.大于3或等于10的整数
D.大于3且不等10的整数
参考答案:D
参考解析:根据代码可知如果x的值小于等于3,执行空语句,不进行打印操作。如果x的值大于3,再判断x的值是否不等于l0,如果不等于l0就打印X的值,所以选择D选项。
3[单选题] 设有以下语句:
int a=1,b=2,c;c=a^(b<<2);执行后,c的值为( )。
A.7B.9C.8D.6
参考答案:B
参考解析:b为2,二进制为00000010,执行左移两位操作后为000011300,然后与a 00000001做异或操作结果为 00001001.即十进制的9。
4[单选题] 以下叙述中正确的是
A.循环发生嵌套时,最多只能两层
B.三种循环for,while,do-while可以互相嵌套
C.循环嵌套时,如果不进行缩进形式书写代码,则会有编译错误
D.for语句的圆括号中的表达式不能都省略掉
参考答案:B
参考解析:
A选项中,循环发生嵌套时,没有规定层数;C选项中,循环嵌套时,书写代码时没有要求必须缩进;D选项中,for语句的圆括号中的表达式都可以省掉。因此B选项正确。
5[单选题]以下程序依次把从终端输入的字符存放到f文件中,用#作为结束输入的标志,则在横线处应填入的选项是
A.ch,”fname
”B.fp,chB.chC.ch,fp
参考答案:D
参考解析:本题考查fpute函数,该函数将字符ch写到文件指针fp所指向的文件的当前写指针的位置。函数格式:int fputc(int n,File}fp),因此答案为D选项。
6[单选题] 有以下程序:
程序运行后的输出结果是( )。
参考答案:A
参考解析:结构体s中n代表数组的实际长度,a是个定长数组。函数f()对结构体s内的a数组元素使用冒泡法进行递增排序。因此最终数组的元素是一个递增序列。故答案为A选项。
7[单选题] 有如下的说明和定义
则以下叙述中正确的是
A.(P++)->a与P++->a都是合语法的表达式,但二者不等价
B.语句++P->a;的效果是使P增1
C.语句++P->a;的效果是使成员a增1
D.语句´P->s++;等价于(*P)->s++;
参考答案:C
参考解析:本题考查结构体变量的引用,++P->a的效果是使成员a增1,P++->a不合法,* P->s++为字符e,与(* P)->s++不等价。
8[单选题] 有以下程序:
执行时输入:6<回车>,则输出结果是( )。
A.6B.8C.7D.5
参考答案:C
参考解析:后置自增运算:k++表示先运算,后自如。if(t++<6)p血ff(“%d\n”,t);else prinff(“%d、n”,t);t的初值为6,t++<6,则条件为假,执行prinff(“%d、n”,t一),此时t=7,打印t值为k之后进行自减操作t=6。因此打印的结果为7。故答案为C选项。
9[单选题] 有以下程序
程序运行后的输出结果是
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选项正确。
10[单选题] 在一个C源程序文件中所定义的全局变量,其作用域为( )。
A.由具体定义位置和extem说明来决定范围
B.所在程序的全部范围
C.所在函数的全部范围
D.所在文件的全部范围
参考答案:A
参考解析:全局变量的作用域是从声明处到文件的结束。所以选择A)。
相关推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |