微信搜索关注"91考试网"公众号,领30元,获取公务员、事业编、教师等考试资料40G!
值~3,然后使m的值增加为4。所以执行语句x=m++;后,x的值变为3;运算符“++”的优先级比“/”高,同时运算符“++”是前缀运算符,所以执行语句x=x+8/++n;x的值等于一3+8/5。为-2,所以,答案为D。----------------------------------------19、在下列给出的表达式中,与while(E)中的(E)不等价的表达式是()。 A.(!E==0) B.(E>0 ||E<0)C.(E==0)D.(E!=0) 参考答案: B 在while(E)中,表达式E可以是C语言中任意合法的条件表达式,但不能为空,由它来控制循环体是否执行。在选项B中表达式E>0||E<O是一个逻辑表达式。----------------------------------------20、有下列程序:main(){char S[]="abcde";s+=2:printf("%d\n",s[0]);}执行后的结果是( )。 A.输出字符a的ASCII码B.输出字符C的ASCII码C.输出字符C D.程序出错 参考答案: D 因为字符数组s[]中的数组名s表示的是一个地址常量。所以语句“s+=2;”不能将指针在当前位置的基础上再向后移动两位。因而程序编译时出错。----------------------------------------21、下列选项中非法的字符常量是( )。 A.''''B.''\039'' C.'','' D.''\n'' 参考答案: D 水平制表符中,''\t''表示的是横向跳若干格;选项B中,''\39''错误.''\39''是八进制形式表的字符,最大数为7但其中出现''9''中,'',''是字符逗号;选项D中,''\n''表示的是换行。----------------------------------------22、以下程序的输出结果是( )。main(){char ch[3][4]={“123",“456",“78"),*p[3];int i;for(i=0;i<3;i++)p[i]=ch[i];for(i=0;i<3;i++)printf(“%S",p[i]);} A.123456780 B.123 456 780C.12345678 D.147 参考答案: B 第一个for循环的作用是让p指向每行的首地址,第二个for循环的作用是把它指向的字符串输出,故选择B选项。----------------------------------------23、以下程序的输出结果是( )。main(){char w[][10]={“ABCD",“EFGH",“IJKL",“MNOP"),K;for(k=1;k<3;k++)printf("%s",W[k]);} A.ABCD <回车>FGH <回车>KL B.ABCD<回车>EFG<回车>IJC.EFG <回车>JK <回车>OD.EFGH<回车>IJKL 参考答案: D 当k—l时,循环成立,输出w[1]的数组即EFGH,接着执行k++后k为2;当k一2时,循环成立,输出wL2j的数组即IJKL,接着执行k++后,k为3;当k-二3时,循环不成立,退出。----------------------------------------