CMS专题

单选题假设$a=$b=0,则表达式“$a+$b++”的输出结果是()。A 0B 1C 2D 3

题目
单选题
假设$a=$b=0,则表达式“$a+$b++”的输出结果是()。
A

0

B

1

C

2

D

3

参考答案和解析
正确答案: A
解析: 暂无解析
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

下面程序的输出结果为【】。includef(int a){int b=0; static int c=3; b++; c++; retu

下面程序的输出结果为【 】。

include<iostream.h>

f(int a)

{int b=0;

static int c=3;

b++; c++;

return(a+ b+ c);

}

void main()

{int a=2,i;

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

cout<<f(a)<<end1;

}


正确答案:7 8 9
7 8 9

第2题:

以下程序的输出结果是【】。 include void main( ) } int a=0; a+=(a=8); cout<

以下程序的输出结果是【 】。

include<iostream.h>

void main( )

}

int a=0;

a+=(a=8) ;

cout<<a;

}


正确答案:16
16 解析:赋值表达式的值就是所赋值变量的值,本题中a+=8相当于a=a+8,对表达式逐步进行求解:a+=(a=8)此时,a的值由于赋值为8,而不是o
a+=8
a=a+8
a=16
注意: 要掌握“+=”等相关运算符的用法。

第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 f (int a) {int b=0;static c=7;a=c++; b++

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

include <stdio.h>

f (int a)

{ int b=0;

static c=7;

a=c++; b++;

return (a);

}

main()

{ int a=2,i,k;

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

k=f(a++);

printf("%d\n", k);

}


正确答案:8
8 解析:第1次for循环,i=0,调用函数f(2),然后将a的值加1,在f()函数中,变量c为static类型,所以c=8;第2次for循环, i=1,调用函数f(3),然后将a的值加1,调用函数f(3)时,a=c++=8,所以k=8。

第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=0;

a+=(a=8);

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


正确答案:
16

第7题:

下列程序的输出结果是()。includemain(){int a=0,i; for(i=1;i<5;i++) { switch(i) { c

下列程序的输出结果是( )。 #include<stdio.h> main() { int a=0,i; for(i=1;i<5;i++) { switch(i) { case 0: case 3:a+=1; case 1: case 2:a+=2; default:a+=3; } printf("%d",A) ; }

A.19

B.18

C.6

D.8


正确答案:A
解析:本题考查switch语句。当i=1时,执行case1,因为没有遇到break语句,所以依次往下运行,a=a+2=2,a=a+3=5;当i=2时,执行case2,因为没有遇到break语句,所以依次往下运行,a=a+2=7,a=a+3=10;当i=3时,执行case3,a=a+1=11,因为没有遇到break语句,所以依次往下运行,a=a+2=13,a=a+3=16;当i=4时,执行default,a=a+3=19,结束循环。

第8题:

下列程序的输出结果是()。 include main() {int a=0,i; for(i=1;i<5;i++) {switch(i) {

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

#include<stdio.h>

main()

{ int a=0,i;

for(i=1;i<5;i++)

{ switch(i)

{ case 0:

case 3:a+=1;

case 1:

case2:a+=2;

default:a+=3;

}

}

printf("%d",a);

}

A.19

B.18

C.6

D.8


正确答案:A
解析:本题考查switch语句。当i=1时,执行 case 1,因为没有遇到break语句,所以依次往下运行, a=a+2=2,a=a+3=5 当i=2时,执行case2,因为没有遇到break语句,所以依次往下运行,a=a+2=7, a=a+3=10;当i=3时,执行case3,a=a+1=11,因为没有遇到break语句,所以依次往下运行,a=a+2=13, a=a+3=16;当i=4时,执行default,a=a+3=19,结束循环。

第9题:

以下程序的输出结果是_____。 include void fun( ) {static int a=0; a+=2;cout < <

以下程序的输出结果是_____。

include<iostream.h>

void fun( )

{ static int a=0;

a+=2;

cout < < a < < " ";}

void main( )

{ int cc;

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

fun( ) ;

cout < < endl;}


正确答案:2 4 6
2 4 6 解析:本题考查静态局部变量的使用。用关键字 static声明的局部变量为“静态局部变量”,其值在函数调用结束后不消失而保留原值,即其占用的存储单元不释放,在下一次调用该函数时,该变量已有值,就是上一次函数调用结束时的值。

第10题:

以下程序运行后的输出结果是int a=5;fun(int b){ static int a=10; a+=b++; printf("%d, ",a);}main{ int c=20; fun(c); a+=c++; printf("%d\n",a);}


正确答案:30,25
在本题中,程序首先定义了一个整型全局变量a,全局变量的作用域为整个程序。然后定义了一个fun函数,函数带有一个整型变量作为形参,在函数体中,首先定义了一个静态变量a,与全局变量a同名,在这种情况下,在函数fun中静态变量a具有更高的使用优先级,而在主函数中,全局变量a具有更高的使用优先级。
在主函数中,首先定义一个整型变量c并初始化为20,然后调用fun函数,将变量c作为实参传递给函数,执行a+=b++,等价于a=a+(b++)=10+20=30,然后执行输出语句,输出变量a的结果“30,”,然后程序回到主函数中的a+=c++;语句执行,此语句等价于a=a+(c++)=5+20=25,然后输出变量a的结果25。因此,本题的程序运行后的输出结果是30,25。

更多相关问题