微信搜索关注"91考试网"公众号,领30元,获取公务员、事业编、教师等考试资料40G!
正确定义,下列正确的程序段是( )。 A.while((ch=getchar())!=''N'')printf(%c,ch);B.while(ch=getchar()!=''N'')printf(%c,ch);C.while(ch=getchar()==''N'')printf(%c,ch);D.while((ch=getchar())==''N'')printf(%c,ch); 参考答案: A while循环的执行过程如下:(1)计算while后面圆括号中表达式的值。当值为非O时,执行步骤(2);当值为0时,执行步骤(4)。(2)执行循环体一次。(3)转去执行步骤(1)。(4)退出循环。在选项A中,表达式(ch=gethar())!=''N''表示输入的字符不等于N,如果这个条件表达式成立,则执行循环体,打印输出输入的字符。如果这个条件表达式不成立,即输入的字符等于N,则退出循环。所以选项A为正确答案。----------------------------------------15、下列说法不正确的是( )。 A.调用函数时,实参可以是表达式B.调用函数时,实参与形参可以共用内存单元C.调用函数时,将实参的值复制给形参,使实参变量和形参变量在数值上相等D.调用函数时,实参与形参的类型必须一致 参考答案: B 本题考查函数调用的基本概念。调用函数时,实参的形式可以是具体的数值,也可以是表达式。实参将数值或表达式的值传递给形参,因而两者的类型必须保持一致;形参在运算过程中会发生改变,但不一定会影响到实参值,所以可知两者不共用内存单元。----------------------------------------16、下列选项中不是字符常量的是( )。 A.''\v'' B.''\x2a''C.''a'' D.''\0'' 参考答案: D C语言规定,一个字符常量代表。ASCIl码字符集里的一个字符,在程序中用单引号括起来,以便区分。"\V"表示的是竖向跳格;““kx2a“’表示的是两位十六进制数;" ''a'' "表示的是字符a对应的ASCII码值。“\0’’用双引号故不正确。----------------------------------------17、若已包括头文件<string.h>且已有定义char sl [18],s2={"ABCDE"}和int i,现要将字符串"ABCDE"赋给s1,下列语句错误的是( )。 A.strcpy(sl,s2) B.strcpy(sl,ABCDE);C.s1=ABCDE;D.for(i=0;i<6;i++) 参考答案: C 数组名sl是代表s1数组首地址的地址常量,因为“=”左边不能出现常量,s1="ABCDE"的方法是错误的。----------------------------------------18、在位运算中,操作数每左移两位,其结果相当于( )。 A.操作数乘以2 B.操作数除以2C.操作数除以4 D.操作数乘以4 参考答案: D 左移n位相当于乘以2的n次幂,右移n位相当于除以2的n坎幂。----------------------------------------19、以下程序的输出结果是( )。main(){int a=7,b=8,*P,*q,*r;p=&a;q=&b;r=P;P=q;q=r;printf("%d,%