C语言程序设计

单选题有以下程序:#includemain(){ int a; scanf(%d,&a); if(a++<9)printf(%d,a); else printf(%d,a--);}程序运行时键盘输入9<回车>,则输出的结果是(  )。A 10B 11C 9D 8

题目
单选题
有以下程序:#includemain(){ int a; scanf(%d,&a); if(a++<9)printf(%d,a); else printf(%d,a--);}程序运行时键盘输入9<回车>,则输出的结果是(  )。
A

10

B

11

C

9

D

8

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

第1题:

已知字符A的ASCII代码值为65,以下程序运行时若从键盘输入:B33<回车>,则输出结果是【】。 include ma

已知字符A的ASCII代码值为65,以下程序运行时若从键盘输入:B33<回车>,则输出结果是【 】。

include

main()

{ char a, b;

a=getchar(); scanf("% d", &b);

a=a-'A'+'0'; b=b*2;

printf("% c % c\n", a, b);

}


正确答案:1B
1B 解析:从键盘输入后,有a=B,b=33。a=a-'A'+'0'='B'-'A'+'0'='1',b=b*2=66,在输出时均需要把a,b转化为字符型,因此输出为1B。

第2题:

若执行下列程序时从键盘上输入2,则输出结果是()。inclUdemain(){int a;scanf("%d",&

若执行下列程序时从键盘上输入2,则输出结果是( )。

#inclUde<stdio.h>

main()

{int a;

scanf("%d",&A);

if(a++<3)

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

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

A.1

B.3

C.2

D.4


正确答案:B
解析: 本题考查if else语句。程序中首先使用函数scanf()通过键盘读入a的值,并通过第1个if语句,先判断条件,取a的值2和3比较,然后将a的值加1,发现条件成立,执行下列的printf语句,输出a的值3。

第3题:

有以下程序,若运行时从键盘输入: 18,11< 回车 > ,则程序的输出结果是 【 9 】 。

main()

{ int a,b;

printf("Enter a,b:"); scanf("%d,%d",&a,&b);

while(a!=b)

{ while(a>b) a -= b;

while(b>a) b -= a;

}

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

}


正确答案:
答案 1 1
解析:外层循环共执行了 4 次,最后 a 和 b 的值都等于 1 时,退出循环输出结果。

第4题:

若运行输入:3<回车>,则以下程序的输出结果是( )。 main() {int a,b; scanf("%d",&A); b=(a>=0

若运行输入:3<回车>,则以下程序的输出结果是( )。 main() {int a,b; scanf("%d",&A); b=(a>=0)?a:-a; printf("b=%d",B); }


正确答案:b=3
b=3 解析:条件表达式的基本格式为:“表达式1?表达式2:表达式3”;其功能是:表达式1的值若非0,则计算表达式2的值,且为最终结果;若表达式1的值为0,则计算表达式3的值,且为最终结果。因为a=3,则a>=0成立,所以b=a=3。

第5题:

若有如下程序: int sub(int m) { if(m==1||m==0) return 2; else return(sub(m-1)*sub(m-2));} main() { int n; scanf("%d",&n); printf("%d",sub(n)); } 如果从键盘输入4<回车>,则程序运行后的输出结果是( )。

A.8

B.16

C.24

D.32


正确答案:D
解析:本题的sub()函数是一个递归函数,当参数m为1或0时返回2,否则返回sub(m-1)*sub(m-2)。所以sub(4)递推下来就是sub(4)=sub(3)*sub(2)=sub(2)*sub(1)*sub(1)*sub(0)=sub(1)*sub(0)*2*2*2=25(上标)=32。所以正确答案是D。

第6题:

若从键盘输入34,则以下程序输出的结果是______。 include main() {int a;scanf("%d",&am

若从键盘输入34,则以下程序输出的结果是______。

include<stdio.h>

main()

{ int a;

scanf("%d",&a);

if(a>30)printf("%d",a);

if(a>20)printf("%d",a);

if(a>10)printf("%d",a);

}


正确答案:343434
343434

第7题:

有以下程序:

int sub(int n) { return(n/10+n%10); }

main()

{ int x, y;

scanf("% d", &x);

y=sub(sub(sub(x)));

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

}

若运行时输入:1234<回车>,程序的输出结果是【 】。


正确答案:10
10 解析:y=sub(sub(sub(x)))=sub(sub(127))=sub(19)=10。

第8题:

有以下程序:int sub(int n) { return(n/10+n%10); }void main(){ int x,y; scanf("%d",&x); y=sub(sub(sub(x))); printf("%d\n",y);}若运行时输入:4321<回车>,程序的输出结果是。


正确答案:10
n/10是求n的去掉个位数上的数字之外的部分,而n%10是求个位数字,所以函数的功能是将去掉个位外的数和个位相加的结果返回。第一次432+1=433,43+3=46,4+6=10.

第9题:

有以下程序: main() { char k: int i; for(i=1:i<3;i++) { scanf("%c",&k); switch(k) { case'0':printf("another\n"); case'1':printf("number\n"); } } } 程序运行时,从键盘输入:01<回车>,程序执行后的输出结果是 ______。

A.another number

B.another number another

C.another number number

D.number number


正确答案:C
解析:第一次执行for循环语句时,k='0',故执行case'0'语句输出another,同时因没有break语句,继续执行case'1',语句,输出number;第二次执行for循环语句时,k='1',故输出number。所以正确答案为C。

第10题:

若执行下列程序时从键盘上输入2,则输出结果是()。 inclUde main() {int a; scanf("%d",

若执行下列程序时从键盘上输入2,则输出结果是( )。

#inclUde<stdio.h>

main()

{int a;

scanf("%d",&A);

if(a++<3)

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

else printf("%d\n",a--);

}

A.1

B.3

C.2

D.4


正确答案:B
解析:本题考查if else语句。程序中首先使用函数scanf()通过键盘读入a的值,并通过第1个if语句,先判断条件,取a的值2和3比较,然后将a的值加1,发现条件成立,执行下列的printf语句,输出a的值3。

更多相关问题