单选题有如下程序#include main() { if('\0'== 0)putchar('X'); if('0'== 0)putchar('Y'); if('a''b')putchar('Z'); printf();}程序运行后的输出结果是(  )。A XB XYZC YZD Y

题目
单选题
有如下程序#include main() { if('\0'== 0)putchar('X'); if('0'== 0)putchar('Y'); if('a'>'b')putchar('Z'); printf();}程序运行后的输出结果是(  )。
A

X

B

XYZ

C

YZ

D

Y

参考答案和解析
正确答案: C
解析:
考查ASCII字符,字符'\0'、'0'、'a'、'b'的ASCII码值分别为0、48、97、98。putchar函数是向标准输出设备上输出一个字符。程序执行过程为:判断'\0'==0成立,输出X;判断'0'==0不成立,不输出;判断'a'>'b'不成立,不输出。答案选择A选项。
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

有以下程序: main() { int x=3, y=2, z=1; printf("% d\n", x/y&~z); } 程序运行后的输出结果是______。

A.3

B.2

C.-1

D.0


正确答案:D
解析:本题中表达式x/y&~z中运算符优先级的顺序为:~(按位取反)、/(除)、&(按位与),即首先执行~z得11111110,然后执行x/y=3/2=1,最后执行1&11111110=00000001 &11111110=00000000=0。

第2题:

有以下程序 include main() { int y=9; for( ; y>0; y--) if(y%

有以下程序 #include <stdio.h> main() { int y=9; for( ; y>0; y--) if(y%3==0) printf("%d",--y); } 程序的运行结果是

A.741

B.963

C.852

D.875421


正确答案:C
解析:本题首先令y为9,然后通过一个for循环,当y还大于0则循环,每次循环让y递减1。循环体中是一条if语句,通过%运算符计算每当y能被3整除的时候,输出--y的值,即先将y减1,然后输出y的值。故当y等于9、6、3时会输出,输出值分别为8、5、2。所以应该选择C。

第3题:

以下程序运行后的输出结果是【10】。

include<stdio.h>

main()

{ char a;

for(a=0;a<15;a+=5)

{putchar(a+'A');}

printf("\n");

}


正确答案:AFK
AFK 解析:本题是进行字符输出,第一次输出0+'A',即A;第二次输出5+'A',即F;第三次输出10+'A',即K,然后跳出循环。

第4题:

下列程序的输出结果是______。 include main() {intx=10,y=10,i; for(i=0;x>8;y=++) pri

下列程序的输出结果是______。

include<stdio.h>

main()

{ intx=10,y=10,i;

for(i=0;x>8;y=++)

printf("%d%d",X--,y);

}


正确答案:101091
101091 解析:for(表达式1;表达式2;表达式3) 语句的功能是:首先计算表达式1的值,然后检测表达式2的值,若其值为真,则执行循环体语句,执行完毕后,再计算表达式3的值。然后再检测表达式2的值是否为真,若为真,继续执行循环体语句,若为假,则退出循环;第 1次循环x>8成立,输出x=10,y=10后,x的值减1,i=1,执行y=++i操作,y的值变为1;判断条件还成立,输出x=9,y=1,然后x的值减1,循环条件不成立,则退出循环。

第5题:

关于下面的程序 include main() { int x=3,y=0,z=0; if(x=y+z)printf("****"); else p

关于下面的程序 #include<stdio.h> main() { int x=3,y=0,z=0; if(x=y+z)printf("****"); else printf("$$$$"); }说法正确的是______。

A.有语法错误不能通过编译

B.输出****

C.输出$$$$

D.可以通过编译,但不能通过连接,无法运行


正确答案:C

第6题:

有以下程序:include main(){inty=9;for( ; y>0; y--)if(y%3==0) printf("%d", --y);}

有以下程序: #include <stdio.h> main() {int y=9; for( ; y>0; y--) if(y%3==0) printf("%d", --y); } 程序的运行结果是( )。

A.741

B.963

C.852

D.875421


正确答案:C
解析:本题首先令y为9,然后通过一个for循环,当y还大于0则循环,每次循环让y递减1。循环体中是一条if语句,通过%运算符计算每当y能被3整除的时候,输出--y的值,即先将y减1,然后输出y的值。故当y等于9、6、3时会输出,输出值分别为8、5、20所以应该选择C。

第7题:

有下列程序: include int f(int x) { int y; if(x=0‖x==1)r

有下列程序: #include <stdio.h> int f(int x) { int y; if(x=0‖x==1)return(3); y=x*x-f(x-2); return y; } main() { int z; z=f(3);printf("%d\n",z); 程序的运行结果是( )。

A.0

B.9

C.6

D.8


正确答案:C
解析:主函数调用f()函数,将实参3传递给x,进行if条件语句的判断不成立,接着执行y=3*3-f(1),再执行f(1)而f(1)满足if条件语句,所以f(1)的值为3,那么代入y=3*3-f(1)=9-3=6,故选项C)为正确的运行结果。

第8题:

下列程序的输出结果是()。 include define F(x)2.84+x define w(y)printf("%d",(int)

下列程序的输出结果是( )。

#include<stdio.h>

#define F(x)2.84+x

#define w(y)printf("%d",(int)(y))

#define P(y)w(y)putchar('\n')

main()

{ int x=2;

P(F(5) *x);

}

A.12

B.13

C.14

D.16


正确答案:A
解析:本题考查带参数的宏的定义及相关运算。P(P(5)*x)=P(2.84+5*2)=P(12.84),调用w(12.84),输出 (int)(12.84)=12。

第9题:

有以下程序:includemain(){int x=3,y=2,z=1; printf("%d\n",x/y&~z);程序运行后的

有以下程序: #include <stdio.h> main() { int x=3,y=2,z=1; printf("%d\n",x/y&~z); 程序运行后的输出结果是( )。

A.3

B.2

C.1

D.0


正确答案:D
解析:&是按位“与”运算符,若参加运算的两个运算量的相应位都为1,则该位的结果值为1,否则为0。~是“取反”运算符,用来对一个二进制数按位取反,即将0变1,1变0。对于x/y&~z,先计算x/y的值,结果为1,用十六进制表示为0001;z用十六进制表示为0001,则~z为FFFE;最后进行&运算,整个表达式的值为0。

第10题:

有以下程序

#include

main()

{ char b,c; int i;

b='a'; c='A';

for(i=0;i<6;i++)

{ if(i%2) putchar(i+b);

else putchar(i+c);

} printf("\n");

}

程序运行后的输出结果是

A.ABCDEF

B.AbCdEf

C.aBcDeF

D.abcdef


正确答案:B

更多相关问题