有以下程序#include<stdio.h>void main(){int a=1,b=0;printf("%d,",b=(a++)+(a++));pfintf("%d\

题目
有以下程序includevoid main(){int a=1,b=0;printf("%d,",b=(a++)+(a++));pfintf("%d\

有以下程序 #include<stdio.h> void main() { int a=1,b=0; printf("%d,",b=(a++)+(a++)); pfintf("%d\n",a+B); } 程序运行后的输出结果是( )。

A.4,6

B.2,5

C.3,5

D.2,6

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

第1题:

15、以下程序的输出结果是 。 #include <stdio.h> main() { int x=0,a=0,b=0; switch(x){ case 0: b++; case 1: a++; case 2: a++;b++;} printf(“a=%d,b=%d\n”,a,b); }

A.a=2,b=1

B.a=1,b=1

C.a=1,b=0

D.a=2,b=2


17 bteak语句只能在循环体和switch语句体内使用,当break出现在循环体中的switch语句体内时,其作用只是跳出该switch语句体。当break出现在循环体中,但不在switch语句体内时,则在执行break后,跳出本层循环体。而continue语句的作用时结束本次循环;即跳过本次循环中余下尚未执行的语句,接着再一次进行循环的条件判定。本题中首先定义了一个变量x并赋初值15,然后判断循环条件“x>5&&x<50”,即“x>5&&x<50”,为真,执行循环体。语句“x++;”执行后,x的值变为16,“x/3”的值为5为真,执行其后的语句“x++;”,x的值变为17,执行语句“break”,退出循环,输出x的值为17。

第2题:

有以下程序:include define 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。所以,4个选项中选项A符合题意。

第3题:

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

有以下程序: #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
解析:本题考查带参数的宏定义。对F(a++,b++)展开后,宏的返回值为3×4=12,这里a++,b++都是先使用变量值,再自增。

第4题:

有以下程序includemain(){intx=1,y=0,a=0,b=0;switch(X){case1:switch(y){case0:a++;b

有以下程序 #include <stdio.h> main() { int x=1,y=0,a=0,b=0; switch(X) { case 1: switch(y) { case 0:a++; break; case 1:b++; break; } case 2:a++;b++;break; case 3:a++;b++; } printf("a=%d,b=%d\n",a,b); } 程序

A.a=1,b=0

B.a=2,b=2

C.a=1,b=1

D.a=2,b=1


正确答案:D
解析: 本题考查switch语句,首先,x=1符合条件casel,执行switch(y)语句,y=0符合case 0语句,执行a++并跳出switch(y)语句,此时a=1。因为case 1语句后面没有break语句,所以向后执行case2语句,执行a++,b++,然后跳出switch(x),得a=2,b=1。

第5题:

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

第6题:

有以下程序:include main ( ){char a :'a',b; printf( "% c," , + + a); printf("%c

有以下程序: #include <stdio. h> main ( ) { char a :'a',b; printf( "% c," , + + a); printf("%c \n" ,b =a++); }程序运行后的输出结果是( )。

A.b,b

B.b,c

C.a,b

D.a,c


正确答案:A
解析:程序中pdntf("%c",++a)是先将a加1,再输a,因此输出的是'b',而pfintf("%c\n",b=a++)是先将a的值赋给b,a再加1,所以输出的也是'b'。

第7题:

有以下程序includemain(){intx=1,y=0,a=0,b=0; switch(x) {case1:switch(y){case0:a++

有以下程序 #include <stdio.h> main() { int x=1,y=0,a=0,b=0; switch(x) { case 1: switch(y) { case 0:a++; break; case 1:b++; break; } case 2:a++;b++; break; case 3:a++;b++; } printf("a=%d,b=%d\n",a,b); } 程序的运行结果是

A.a=1,b=0

B.a=2,b=2

C.a=1,b=1

D.a=2,b=1


正确答案:D
解析:本题考查switch语句,首先,x=1符合条件case 1,执行switch(y)语句。y=0符合case 0语句,执行 a抖并跳出switch(y)语句,此时a=1。因为case 1语句后面没有break语句,所以向后执行case 2语句,执行a++,b++,然后跳出switch(x),得a=2,b=1。

第8题:

有以下程序:includemain(){intx=1,y=0,a=0,b=0;switch(x){case 1:switch(y){case 0:a+

有以下程序: #include<stdio.h> main() { int x=1,y=0,a=0,b=0; switch(x) { case 1: switch(y) { case 0:a++;break; case 1: b++;break; } case 2:a++;b++;break; case 3:a++;b++; } printf("a=%d,b=%d\n",a,B); } 程序的运行结果是( )。

A.a=1,b=0

B.a=2,b=2

C.a=1,b=1

D.a=2,b=1


正确答案:D

第9题:

阅读下面程序,则执行后程序的结果为 【9】

#include "stdio.h"

main()

{ int a=0,b=0;

while(a <15)a++;

while(b++ <15);

printf( "%d,%d\n",a,b);}


正确答案:
15,16