以下程序运行后的输出结果是()。      main( )  {int a=1,b=3,c=5;      if(c=a+b)     printf(“yes”);      else  printf(“not”);  }

题目

以下程序运行后的输出结果是()。      main( )  {int a=1,b=3,c=5;      if(c=a+b)     printf(“yes”);      else  printf(“not”);  } 

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

有以下程序 main() { int a=3,b=4,c=5,d=2; if(a>b) if(b>c) printf("%d",d+++1); else printf("%d",++d+1); printf("%d\n",d) ; } 程序运行后的输出结果是

A.2

B.3

C.43

D.44


正确答案:A
解析:我们首先看程序中if-else的匹配,由于C语言中规定elso总是与最近的if搭配,因此程序中else与第二个if搭配,即该if-else语句为第一个if语句的执行部分,接着判断第一个if后面括号里的表达式的值“a>b”为假(“3>4”为假),因此不执行后面if-else语句,程序将执行下面的输出语句输出d,而d一直未被改变故为原来的值2。

第2题:

有以下程序: main() { int a=5,b=4,c=3,d=2; if(a>b>c) printf("%d\n",d); else if((c-1>=d)==1) printf("%d\n",d+1); else printf("%d\n",d+2); } 执行后输出结果是 ______。

A.2

B.3

C.4

D.编译时有错,无结果


正确答案:B
解析:执行if(a>b>c)时,首先判断a>b的值,5>4结果为真(C语言中规定真用1表示),然后比较1>c,结果为假,执行第一个else后的语句,判断条件(c-1>=d)==1是否成立,即判断(3-1>=2)==1,结果为真,所以执行printf("%d\n",d+1),输出结果3。

第3题:

有以下程序

#include <stdio.h>

int a= 5;

void fun(int b)

{ int a= 10;

a+=b; printf("%d",a);

}

main()

{ int c=20;

fun(c);a+=c;printf("%d\n",a);

}

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


正确答案:

第4题:

有以下程序: main() { int a=3,b=4,c=5,d=2; if(a>b) if(b>c) printf("%d",d++ +1); else printf("%d",++d +1); printf("%d\n",d); } 程序运行后的输出结果是( )。

A.2

B.3

C.43

D.44


正确答案:A
解析:首先看程序中if-else的匹配,由于C语言中规定else总是与最近的if搭配,因此程序中else与第二个if搭配,即该if-else语句为第一个if语句的执行部分,接着判断第一个if后面括号里的表达式的值a>b为假(3>4为假),因此不执行后面if-else语句,程序将执行下面的输出语句输出d,而d一直未被改变故为原来的值2,所以,4个选项中选项A符合题意。

第5题:

以下程序的输出结果是( )。 includefun(){ int a=0;a+=3;printf("%d",A); } main() {int

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

include<stdio.h>

fun()

{ int a=0;

a+=3;

printf("%d",A);

}

main()

{ int cc;

for(cc=1;cc<=4;cc++)

fun();

printf("\n");

}


正确答案:3 3 3 3
3 3 3 3 解析:本题考查for循环,for(cc=1;cc=4;cc++)表示循环4次,a+=3表示每次a的值增加3,但是子函数中没有将变量a定义为static类型,所以每次调用完子函数之后,变量a所做的改变都不能保存,这样在下一次调用子函数时,a的初值仍是0,所以不管调用多少次,子函数输出始终是3。

第6题:

有以下程序 main( ) { int a=5,b=4,c=3,d=2; if(a>b>c) printf("%d\n",d); else if((c-1>=d)==1) printf("%d\n",d+1); else printf("%d\n",d+2); } 执行后输出的结果是

A.2

B.3

C.4

D.编译时有错,无结果


正确答案:B
解析:第二个if语句中的表达式“c-1>=d”的值为逻辑值1,所以该条件成立。

第7题:

以下程序输出结果是( )。 main { int m=5; if(m++>5)printf("%d\n",m): else printf("%d\n",m--); }

A.7

B.6

C.5

D.4


正确答案:B
m++的意思是先用m的值再自加1,所以表达式的值为5,m为6,此时if语句条件m++>5不成立,执行else语句,则输出m--的值为6,而此时m为5,故选择B选项。

第8题:

以下程序运行后的输出结果是( )。main(){int a=2,b=3,c; c=a; if(a>b)c=1; else if(a==b)c=0; else c=-1; printf("%d\n",c);}A.1 B.3 C.-1 D.0


正确答案:C
if-else语句的嵌套,a=2,b=3,a<b,不满足条件a>b,a==b,所以执行语句c=-1;

第9题:

有以下程序:include main( ){ unsigned int a; int b=-1;a=b;printf(" % u", a);程序

有以下程序: #include <stdio. h> main( ) { unsigned int a; int b=-1; a=b; printf(" % u", a);程序运行后的输出结果是( )。

A.-1

B.65535

C.32767

D.-32768


正确答案:B
解析:不同类型的对象进行混合运算时,需要进行数据的类型转换,其转换方向为int→unsigned→long→double。本题程序中的变量b为int型,需要转换为unsigned型。int型变量的数值范围为-32768~32767,最高位为符号位,而unsigned所表示的数的范围为0~65535,它的最高位为数值位。由于内存中是以补码形式存储数据的,所以整型数-1在内存中表示为16个1,最高位的1表示符号为负,将它转换为unsigned类型,即将原符号位的1看成数值,所以得到16个数值1,即65535。

第10题:

以下程序运行后的输出结果是 ______。 main() { int a=1,b=2,c=3; if(c=a) printf("%d\n",c); else printf("%d\n",b); }

A.2

B.3

C.5

D.1


正确答案:B
解析:根据if条件,语句c=a的值为1,因此输出c值为3。

更多相关问题