C.seanf(”%f%f\,x,y);
D.8canf(”%If%If'·,x,y):
参考答案:A
参考解析:因为X,Y都是double型数据,所以输入时的格式字符应为%If,所以B与C错误。D选项中scanf(”%lf%%?,x,Y);应为sc“(”%If%If'?,,&)r);。
28
程序运行后的输出结果是( )。
A.1002,ZhangDa,1202.0
B.1002,ChangRon9。1202.0
C.1001,ChangRon9,1098.0
D.1001,ZhangDa,1098.0
参考答案:B
参考解析: 本题考查结构体变量的引用以及作为函数参数,题目虽然看似复杂,其实比较容易,f函数的参数是结构体变量,然后对参数重新赋值并返回,所以该题目的答案为B选项。
29当变量c的值不为2、4、6时,值也为”真”的表达式是( )。
A.(c>=2&&c<=6)&&(c%2 1=1)
B.(c==2)l l(e==4)II(C==6)
C.(C>=2&&c<=6)&&!(c%2)-
D.(c>=2&&c<=6)I l(c!=3)I|(C!=5)
参考答案:D
参考解析:逻辑或运算符中只要有一个运算量为真结果就是真,当c>=2&&C<=6条件不成立时c的值肯定不是2、3、4…5 6所以C!=3,与C!=5均成立。所以D选项的结果一定为真。
30以下选项中关于C语言常量的叙述错误的是( )。
A.经常被使用的变量可以定义成常量
B.常量分为整型常量、实型常量、字符常量和字符串常量
C.常量可分为数值型常量和非数值型常量.
D.所谓常量,是指在程序运行过程中,其值不能被改变的量
参考答案:A
参考解析:C语言中,常量是指在程序运行过程中其值不能被改变的量,变量是指运行过程中其值可以改变的量,二者不能混淆,所以A选项错误。
31C源程序中不能表示的数制是( )。
A.十六进制B.八进制C.十进制D.二进制
参考答案:D
参考解析:在C语言中整型常量可以用十进制、八进制和十六进制等形式表示,但不包括二进制,所以选择D。
32有以下程序:
程序运行后的输出结果是( )。
A.1B.11C.6D.21
参考答案:D
参考解析:本题考查位运算,以及按位或操作,将a左移一位相当于是将a乘以了4,所以a<<2等于20,二进制表示为00010100,与b按位或得到00010101,即21,所以选项D正确。
33设有定义:intk=0;以下选项的四个表达式中与其他三个表达式的值不相同的是( )。
A.++kB.k+=1C.k++D.k+1
参考答案:C
参考解析:先使k的值自增l后再使用,k++是先取得k的值再将k的值自增l,所以c选项中表达式的值为0,而其他三个表达式的值均为1,所以选择c。
34有以下程序:
程序运行后的输出结果是( )。
A.AfternoonB.ftemoonC.MorningD.oming
参考答案:A
参考解析:本题主函数中定义了一个指针数组a,可以将它看成一个以字符指针为元素的一维数组。和一般的一维数组名能赋给同类型指针变量一样,该字符指针数组也可以赋给
指向字符指针的指针,所以数组名a可以用做函数fun()的实参。在fun()函数中,++P操作使形参P往后移动一个字符指针的位置,即指针a[1]的位置。故最后通过础nd()函数输出的字符串为“Afternoon”。因此A选项正确。
35有以下程序:
程序执行后的输出结果是( )。
A.PrphsbnB.ProhsbnC.ProgsbnD.Program
参考答案:B
参考解析:(*q)++是q所指的字符加l,q++就是指针移到下一个字符。因此B选项正确。
36有以下程序: