6[单选题] 下面程序的运行结果是( )。
A.1B.2C.3D.4
参考答案:B
参考解析:本题中del(char*s)函数实现的功能是逐个读入s数组中的字符,如果遇到数字。则将数字存在s中,遇到非数字字符则跳过。所以最后输出的应该是字符串s中所有数字的个数。
7[单选题] 若有以下程序段
则程序段的输出结果是( )
A.5.170000B.5.175000C.5.169000D.5.168000
参考答案:C
参考解析:本题考查强制类型转换与输出格式。%f的输出格式是以带小数点的数学形式输出浮点数。首先计算x*1000,结果为5168.94然后+0.5,结果为5169.44。然后进行强制类型转换,转换成整型为5169,然后除以双精度数据1000,结果也为双精度数据5.169,输出时按照%f的格式输出,所以输出结果为5.169000。
8[单选题] 表达式'5'一'1'的值是( )。
A.整数4B.字符4C.表达式不合法D.字符6
参考答案:A
参考解析:在C语言中,字符都是变为其对应的ASCⅡ码值来参加算术运算的,但字符间的相对位置关系还是不变的,字符5和字符1的ASCⅡ码值相差仍是4。
9[单选题] 有以下程序:
程序的输出结果是( )。
A.62B.63C.33D.32
参考答案:D
参考解析:本题考查while循环。当i<20时,进入while循环体,循环体内的for循环实现的功能是i%l0==0,也就是说当i值为0或者10的倍数的时候,跳出循环,执行i+=11;a+=i;,若i值不是l0的倍数,则一直执行for循环i--。①判断i=0时,执行i+=11;a+=i;,i=11,a=11;②判断i=10时,跳出for循环,执行i+=11;a+=i;,i=21,a=32;③判断i=21>20,不符合题意,结束循环。
10[单选题] 若有说明语句:double*P,a;则通过scanf语句正确给输入项读人数据的程序段是( )。
A.
B.
C.
D.
参考答案:D
参考解析:double*P,a定义了一个指向双精度型的指针变量P和双精度型变量a,p=&a表示将变量a的地址赋给指针变量P;scanf(”%If”,p)表示用键盘输入的数赋给指针变量P所指向的地址单元中,scanf()函数要求在输入double型数据时,格式控制符必须用%lf。否则,数据不能正确输入。所以选项D正确。
相关推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |