单选题有如下程序:#includemain(){ int x=0x13; if(x=0x18)printf(T); printf(F); printf();}程序运行后的输出结果是(  )。A TFB TC FD TFT

题目
单选题
有如下程序:#includemain(){ int x=0x13; if(x=0x18)printf(T); printf(F); printf();}程序运行后的输出结果是(  )。
A

TF

B

T

C

F

D

TFT

参考答案和解析
正确答案: C
解析:
x=0x18为赋值表达式,十六进制数0x18非0,即x非0,if条件成立输出T,之后再输出F与回车符。程序运行后的输出结果是TF,答案选择A选项。
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

以下程序的输出结果是( )。 include void fun(int x) {if(x/2>0)fun(x/2); printf("%d",

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

include<stdio.h>

void fun(int x)

{ if(x/2>0)fun(x/2);

printf("%d",x);

}

main()

{fun(3);printf("\n");

}


正确答案:13
13 解析:函数fun是一个递归函数。执行fun(3);,x=3,x/2=1>0,又调用f(1),此时,x=1,x/2=0,不满足继续递归调用的条件,输出1,返回到fun(3)中,输出3。所以本题的输出结果为13。

第2题:

有以下程序:includedefmeF(X,Y)(X)*(Y)main(){int a=3,b=4;printf("%d\n",F(a++,b++

有以下程序: #include<studio.h> #defme F(X,Y) (X)*(Y) main() { int a=3,b=4; printf("%d\n",F(a++,b++)); } 程序运行后的输出结果是( )。

A.12

B.15

C.16

D.20


正确答案:A
解析:在程序中先用表达式将宏替换掉,则输出语句中的表达式为(a++)*(b++),而a++的值为3,b++的值为4。因此最后的值为3*4=12。所以,4个选项中选项A符合题意。

第3题:

有以下程序

#include <stdio.h>

fun(int x)

{ if(x/2>0) f un(x/2);

printf("%d ",x);

}

main()

{ fun(6);printf("\n"); }

程序运行后的输出结果是 【 1 5 】 。


正确答案:

第4题:

有如下程序:includemain(){int x=23; do {Printf("%d",x--);} while(! x);}该程序的执

有如下程序: #include <stdio.h> main() { int x=23; do { Printf("%d",x--);} while(! x); } 该程序的执行结果是( )。

A.321

B.23

C.不输出任何内容

D.陷入死循环


正确答案:B
解析:do-while语句的执行过程中要先执行一次循环体语句,本题中执行x--后判断while中的表达式,表达式的值!x为假,程序结束循环。

第5题:

以下程序运行后的输出结果是( )。 include main() { int x=20; printf("%d", 0

以下程序运行后的输出结果是( )。

include<stdio.h>

main()

{ int x=20;

printf("%d", 0<x<20);

printf("%d\n", 0<x && x<20);

}


正确答案:10
10 解析:表达式0x20,首先计算0x,其值为1,再计算120,其值为1,输出1;表达式0x && x20,0x为1,x20为0,再计算1 && 0,其值为0,输出0。所以输出结果为10。

第6题:

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

include

main()

{FILE*fp;int x[6]={l,2,3,4,5,6},i;

fp=fopen(“test.dat”,”wb“);

fwrite(x,sizeof(int),3,fp);

rewind(fp);

fread(x,sizeof(int),3,f}]);

for(i=0;i<6;i++)printf(“%d”,x[i]);

printf(“\n”);

fclose(fp);

}


正确答案:123456
123456

第7题:

有以下程序includedefine F(X,Y)(X)*(Y)main(){int a=3,b=4;printf("%d\n",F(a++,b++

有以下程序 #include<stdio.h> #define F(X,Y)(X)*(Y) main() { int a=3,b=4; printf("%d\n",F(a++,b++)); 程序运行后的输出结果是

A.12

B.15

C.16

D.20


正确答案:A
解析:在程序中先用表达式将宏替换掉,则输出语句中的表达式为(a++) *(b++),而a++的值为3,b++的值为4。因此最后的值为3*4=12。

第8题:

下面程序段的输出结果是()。includemain(){float x=1.236547;printf("%f\n",(int)(x*10

下面程序段的输出结果是( )。 #include<stdio.h> main() {float x=1.236547; printf("%f\n",(int)(x*1000+0.5)/(float)1000); }

A.1.237000

B.输出格式说明与输出项不匹配,输出无定值

C.1.236000

D.1.24


正确答案:A

第9题:

有以下程序

include

main()

{int X;

scanf(”%d”,&x); ,

if(x2>15)printf(“%d”,x一5);

if(x>10)printf(“%d”,x);

if(x>5)printf(“%d\n”,X+5);

}

若程序运行时从键盘输入12<回车>,则输出结果为 。


正确答案:12l7
12l7

第10题:

有以下程序: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。

更多相关问题