1[单选题] sizeof(double)是
A.一个整型表达式B.一个双精度型表达式C.一个不合法的表达式D.一种函数调用
参考答案:A
参考解析:sizeof是c语言中的一个操作符(operator)。不是函数调用,简单的说其作用就是返回一个对象或者类型所占的内存字节数由于结果是无符号整数,因此可以把它看作是无符号整型表达式。所以选择A。
2[单选题]有以下程序
程序运行后的输出结果是
A.3B.9C.OD.-12
参考答案:D
参考解析:本题考查目的是运算符的结合性和优先级。首先计算a*a,结果为9,然后执行a=a-9,即3-9,结果为-6,然后执行a=(-6)+(-6),即8=的值为-12。所以选择D。
3[单选题]若有以下程序
则程序的输出结果是
A.5B.15C.10000D.105
参考答案:B
参考解析:本题考查位运算中按位异或运算符,异或运算只有在两个比较的位不同时其结果是1,否则结果为0。10用二进制表示为00001010,5用二进制表示为00000101。异或后00001111,即15,选项B正确。
4[简答题]下列给定程序中函数fun的功能是:将字符串中的字符逆序输出,但不改变字符串中的内容。
例如,若字符串为“abcd”,则应输出:“dcba”。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
参考解析:
【参考答案】
(1)void fun(char*a)
(2)prinff(”%e”,*a);
【考点分析】
本题考查:函数定义,本题为有参函数定义。printf函数,其一般形式为prinff(“格式控制字符串”,输出表列)。
“%d”表示按十进制整型输出;
“%ld”表示按十进制长整型输出;
“%C”表示按字符型输出。
非格式字符串在输出时原样输出,起提示作用。
【解题思路】
(1)定义函数时形参的类型要与调用函数中实参的类型一致,主函数中fun传递的是字符串s的首地址,所以此处形参应为指针类型。
(2)根据prinff函数格式,很容易找到错误之处。
5[简答题]编写函数void fun(char*tt,int PP[]),统计在tt所指的字符串中…a’到“z”26个小写字母各自出现的次数,并依次放在pp所指的数组中。
例如,当输入字符串“abcdefgabcdeabc”后,程序的输出结果应该是:
3 3 3 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
参考解析:
【参考答案】
【考点分析】
本题考查:for循环语句,注意循环变量取值范围以及循环体语句作用;数组元素初始化和赋值操作;if语句条件表达式,需注意条件表达式的逻辑运算;字符串结束标识‘\0’。
【解题思路】
要求统计在tt所指字符串中’a’~'z’26个小写字母各自出现的次数,并依次放在pp所指数组中。首先使用for循环语句初始化pp数组中分别用来统计26个字母的个数,再使用循环判断语句对tt所指字符串中的字符进行逐一比较操作,同时存入相对应的pp数组中。
6[单选题] 以下关于C语言数据类型使用的叙述中错误的是( )。
A.若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型
B.若要保存带有多位小数的数据,可使用双精度类型
C.若只处理“真”和“假”两种逻辑值,应使用逻辑类型
D.整数类型表示的自然数是准确无误差的
参考答案:C
参考解析:C语言中没有逻辑类型,所以c错误。若要保存带有多位小数的数据,可以用单精度类型也可以用双精度类型。处理包含不同类型的相关数据可以定义为结构体类型。整数类型可以无误差的表示自然数。
7[单选题] 若有定义语句:double a,*P=&a;以下叙述中错误的是( )。
A.定义语句中的*号是-个间址运算符
B.定义语句中的木号是-个说明符
C.定义语句中的P只能存放double类型变量的地址
D.定义语句中,P=&a把变量a的地址作为初值赋给指针变量P
参考答案:A
参考解析:在变量定义double a,*P:&a;中,}号是一个指针运算符,而非间址运算符,所以A错误。
8[单选题] 以下叙述中正确的是( )
A.在语句char str[]="string!";中,散组str的大小等于字符串的长度
B.语句char str[10]="string!";和char str[10]={"string!"};并不等价
C.对于一维字符数组,不能使用字符串常量来赋初值
D.对于字符串常量"string!",系统已自动在最后加入了'\0'字符,表示串结尾
参考答案:D
参考解析:l字符串中的字符依次存储在内存中一块连续的区域内,并且把空字符'\0'自动附加到字符串的尾部作为字符串的结束标志。故字符个数为n的字符串在内存中应占(n+1)个字节。A选项中数组长度比字符串长度小一个字节,字符串中包含隐含的结尾符。B选项中两者等价,c选项中可以使用字符串常量来给一维字符数组赋值,就像B选项中一样。
9[单选题]若有以下程序
则程序的输出结果是
A.4,5,6,7,B.4,7,10,13,C.4,6,8,10,D.3,5,7,9,
参考答案:C
参考解析:主函数中变量k作为for语句的循环变量,取值0、1、2、3,同时也作为实参通过调用函数f传递给形参变量m。南于变量a是全局变量,变量n是static静态变量,因此k=0时,f函数中,语句return n+m+a;即l+0+3=4;k=1时,f函数中,语句retum n+m+8;即2+1+3=6;k;2时,f函数中,语句returnn+m+a;即3+2+3=8;k=3时,f函数中,语句return n+m+a;即4+3+3=10。因此C选项正确。
10[单选题] 以下程序段中的变量已正确定义:
程序段的输出结果是( )。
A.**B.****C.*D.********
参考答案:C
参考解析:由于内层循环for(k=1;k<3;k++)后面直接跟了空语句“;”所以在循环内部什么操作也不做,跳出外层循环后执行打印语句,所以打印了一个“t”,选择C。
相关推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |