关于C语言的两道题?请知道的亲给我说一下这两道题的答案,顺便给我讲讲为什么?1、又以下程序#includemain(){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:

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 08:29:43
关于C语言的两道题?请知道的亲给我说一下这两道题的答案,顺便给我讲讲为什么?1、又以下程序#includemain(){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:

关于C语言的两道题?请知道的亲给我说一下这两道题的答案,顺便给我讲讲为什么?1、又以下程序#includemain(){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:
关于C语言的两道题?请知道的亲给我说一下这两道题的答案,顺便给我讲讲为什么?
1、又以下程序
#include
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
2、有以下程序
main()
{
int k=5,n=0;
do
{
switch(k)
{case 1:case 3:n+=1;break;
default;n=0;k--;
case 2:case 4:n+=2;k--;break;
}
printf("%d",n);
}while(k>0&&n

关于C语言的两道题?请知道的亲给我说一下这两道题的答案,顺便给我讲讲为什么?1、又以下程序#includemain(){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:
答案已运行验证
第一题为D,其中printf("a=%d,b=%d\n",a,b)句末少分号;
第二题为2345,其中程序中default;应该改成default:
以上都是语法错误,所以我自行地改了.
以下是具体分析:
第一题
switch(x)
{
case 1:// 这里是满足条件的,即x=1所以进入执行
switch(y)
{ // 这里是判断y的值
case 0:a++;break; //这里满足,即y=0,所以执行a=a+1,即a=1.并且跳出
case 1:b++;break; //因为跳出了,所以这里不执行
}
//刚才的break只能跳出一个大括号,到这里,继续执行.因为对于switch这种语句,只要前面有个case满足了要求,后面的case里的语句都要执行,直到遇见break,跳出
case 2:a++;b++;break; //所以这里执行后,a=a+1,b=b+1,即a=2,b=1,然后又见break,跳出
case 3:a++;b++;//已跳出
}
最后printf输出 a=2,b=1
第二题
首先你应该明白do while语句的特点是先执行再判断条件,即若条件满足,则返回到do的起始位置,若不满足.则跳出循环
do
{
switch(k)
{ case 1:case 3:n+=1;break; //需要说明的是,这里连续两个case的意思是,或.即只要k=1或3就满足条件.
default:n=0;k--;//default的意思是前面的case都不对,那就进入执行,这里执行完后,n=0,k-1=4
case 2:case 4:n+=2;k--;break;//满足条件,因为k=4,所以执行.n+2=2,k-1=3并跳出
}
printf("%d",n);输出n,即2
}while(k>0&&n0&&n0&&n0&&n

关于C语言的两道题?请知道的亲给我说一下这两道题的答案,顺便给我讲讲为什么?1、又以下程序#includemain(){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: 谥号是什么意思?我不知道是什么意思 请知道的人给我说一下 烧碱与氯水反应的化学方程式知道的请给我说一下, 关于pb语言的请给我详细的介绍一下pb语言,越详细越好.还有跟别的语言比它的优缺点,有人说学pb没前途,是这样的吗?最好还说一下,如果学的话,要注意些什么才能避免少走弯路,学的更好.学这 关于周期函数的收敛性请用简练语言概括一下 这个答案在说什么 英语翻译知道的请给我翻一下, 请给我说一下英语各时态的句型 最小公倍数的编程要用函数做.是c语言的,请说一下原理. 关于银杉树银杉树的特点,主要是不是四季长青?那位知道的快给我说一下, 我想知道是不是日本几女从不为外国人服务?请去过日本的朋友给我说一下. 美国若福尔是什么?不知道美国若福尔是什么,请知道的朋友给说一下 请给我说下关于称赞蜜蜂的句子 我要发个传真,请给我个信号用英语怎么说?用英语接发传真都如何说?请知道的朋友告诉一下谢谢! 谁知道有关于什么家文化的什么名言啊?知道的话给说一下, 画地质图时,勘探线的长度怎么把握?那可以给我说一下间距怎么确定吗 我说勘探线之间的间距画多宽怎么确定,不是怎么画,知道的请说一下, 关于C语言的, 关于c语言的, 关于C语言中内存物理地址的含义,有谁能通俗说一下物理地址这个概念的含义,本人在此感激不尽.