C语言程序设计

单选题有以下程序:#includemain(){ int i; for(i=1;i<=5;i++) {  if(i%2)printf(*);  else continue;  printf(#); } printf($);}程序运行后的输出结果是(  )。A *#*#*#$B *#*#*$C *#*#$D *#*#*#*$

题目
单选题
有以下程序:#includemain(){ int i; for(i=1;i<=5;i++) {  if(i%2)printf(*);  else continue;  printf(#); } printf($);}程序运行后的输出结果是(  )。
A

*#*#*#$

B

*#*#*$

C

*#*#$

D

*#*#*#*$

参考答案和解析
正确答案: A
解析:
本题执行过程为:i=1,1%2=1,if条件成立,输出*与#;i=2,2%2=0,if条件不成立,执行continue结束本次循环,执行下一次循环;i=3,3%2=1,输出*与#;i=4,4%2=0,执行continue,开始下一次循环;i=5,5%2=1,输出*与#;i=6退出循环。最后输出$。答案选择A选项。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

有以下程序 main( ) { int i; for(i=0;i<3;i++) switch(i) { case 1: printf("%d",i); case 2: printf("%d",i); default: printf("%d",i); } } 执行后输出的结果是

A.11122

B.12

C.12020

D.120


正确答案:A
解析:当执行switch语句时,首先计算紧跟其后一对括号中的值,然后在语句体内寻找与该值吻合的case标号。若相等,则执行该标号后开始的各语句,包括在其后的所有case和default后的语句,直到switch语句体结束。

第2题:

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

include

main()

{int i,n[5]={0};

for(i=l;i<=4;i++)

{n[i]=n[i-1]*2+1;printf(“%d”,n[i])}

printf(“\n”):

}


正确答案:137l5
137l5

第3题:

有以下程序

main()

{ int i;

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

{ if(i++%5==0)

if(++i%8==0) printf("%d ",i);

}

printf("\n");

}

执行后的输出结果是

A)5

B)24

C)32

D)40


正确答案:C
答案 C
解析 : 当 for 循环语句执行到 30 次时 , i 的值为 30 能被 5 整除 , 然后继续执行两次 if 语句 ,i 经过两次自加 1 运算,值变为 32 ,能被 8 整除,故此时才第一次执行 “ printf("%d",i) ” 语句,即输出 32 ,故本题的答案为选 C.

第4题:

有以下程序

main()

{ int i;

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

{ if(i++%5==0)

if(++i%8==0) printf("%d",i);

}

printf("\n");

}

执行后的输出结果是

A.5

B.24

C.32

D.40


正确答案:C
解析:当for循环执行到第30次时,i的值为30能被5整除,然后继续执行两次if语句,i经过两次自加1运算,值变为32,能被8整除,故此时第一次执行"printf("%d",i);"语句,即输出32。

第5题:

有以下程序 main() { int i; for(i=0;i<3;i++) switch(i) { case 0: printf("%d",i); case 2: printf("%d",i); default: printf("%d",i); } } 程序运行后的输出结果是______。

A.22111

B.21021

C.122

D.12


正确答案:C

第6题:

设有以下程序:

main()

{int i,sum=0;

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

{ if((i%2)==0)

continue;

sum+=i;}

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

}

程序执行后的输出结果是( )。


正确答案:24
24 解析:continue语句功能:结束本次循环(注:不是终止整个循环),即跳过循环体中continue语句后面的语句,开始下一次循环。

第7题:

以下程序的输出结果是()。include main(){int i; for(i=1;i<5;i++) {if(i%2) printf("*

以下程序的输出结果是( )。 #include <stdio.h> main() { int i; for(i=1;i<5;i++) { if(i%2) printf("*"); else continue; printf("#"); } printf("$\n");

A.*#*#*#$

B.#*#*#*$

C.*#*#$

D.#*#*$


正确答案:C
解析:程序中当i不能整除2时输出*,然后输出#,能够整除2时将结束本次循环,进入到下一次循环。当循环结束后,输出$。

第8题:

下面程序的运行结果是( )。 #include"stdio.h" main() {int i; for(i=1;i<=5;i++) { if(i%2) printf("*"); else printf("#"); } }

A.*#*#*

B.#*#*#*

C.*#*#

D.#*#*


正确答案:A
解析:分析程序呵知.程序循环5次,然后利用if语句决定每次循环时输出的字符。当i为奇数时,i%2=1,if(i%2)为真,输出“*”;当i为偶数时,i%2=0,if(i%2)为假,执行else语句,输出“#”,所以当i取1、3、5值时输出“*”,当i取2、4值时输出“#”。

第9题:

有以下程序 main() {int i; for(i=0;i<3;i++) switch(i) { case0:printf("%d",i); case2:printf("%d",i); default:printf("%d",i); } } 程序运行后的输出结果是

A.22111

B.21021

C.122

D.12


正确答案:C
解析:程序中for循环了三次,第一次i=0,执行switch语句中case0:分支,直到遇到default语句,退出switch,这里共执行了三个输出语句分别输出0,0,0,第二次循环i=1,switch语句中没有匹配的分支,故只执行default语句输出1,退出switch语句;第三次循环i=2,从switch语句中的case2:开始执行,共执行了两个输出语句输出2、2。最后输出的结果为000122。

第10题:

有以下程序

#include <stdio.h>

void func(int n)

{ int i;

for(i=0;i<=n;i++) printf(”*”);

printf(”#”).

}

main( )

{ func(3); printf(”???? ”); func(4); printf(”\n”); }

程序运行后的输出结果是

A)****#????***#

B)***# ????*** *#

C)**#????*****#

D)****#????*****#


正确答案:D
【答案】D
【知识点】函数调用中形参与实参的关系
【解析】第一次调用实参为3,所以形参变量n为3,打印四个*号后打印一个#号。然后在主函数中打印四个?。再次调用func函数,实参值为4,所以形参n的值为4,按照循环,打印五个*号后结束循环,再打印一个#号。

更多相关问题