谁能帮我解决下面的C语言问题啊,最好能说明解析过程。

一.第四章选择结构(4题),解题说明。
1.以下程序的输出结果是
#include<stdio.h>
main()
{ int a=15,b=21,m=0;
switch(a%3)
{case 0:m++;break;
case 1:m++;
switch(b%2)
{default:m++;
case0:m++;break;
}

printf("%d\n",m);
}
2.设说明语句"int a=1,b=0;",则执行以下语句输出为( )
switch(a)
{ case 1:
switch (b)
{case 0: printf(" * * 0 * * ");break;
case 1: printf(" * * 1 * * ");break;
}
case 2: printf(" * * 2 * * ");break;
}
3. 以下程序输出结果为( )
#include <stdio.h>
main()
{ int a=5,b=4,c=3,d;
d=(a>b>c);
printf("%d,%d\n",x,y);
}
4.已知A=7.5,B=2,C=3.6,表达式A>B&&C>A||A<B&&!C>B的值是( )

1、结果:1
解析:执行switch(a%3),由于a%3=0,满足case 0,因此执行其后语句m++,接着执行break语句,由于break语句有跳出switch语句的功能,因此在此处跳出switch语句,执行printf语句,m自加过一次,故输出结果:1;
2、结果:**0****2**
解析:道理同第1题,执行switch(a),满足条件进入switch(b),接着满足条件执行case 0后语句,break跳出switch(b),由于跳出后没有语句break,因此接着执行switch(a)。记住一点:break语句只能跳出一个switch;
3、至于这题,估计是你输错了,如果题目真这样,就是题目错了。编译都不可能通过,在程序中变量x,y都没定义过;
4、结果:0
解析:此题主要就是个运算符优先级的问题,C中运算优先级从高到低是这样的:
非(!)——算术运算符——关系运算符——与和或——赋值运算符
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-02-18
1、1
2、 * * 0 * ** * 2 * *
3、where is x and y?
4、0
第2个回答  2011-02-18
第一题. 答案 1.
第二题 * * 0 * ** * 2 * *
第三题 输出的 x ,y 不知道是什么;
第四题 答案 0
第3个回答  2011-02-19
(1)
#include <stdio.h>//头文件
int f(int n)//定义函数f,有一个参数n,为整型
{ int i,c,v;
if(n==1)//如果n等于1,输出1,函数返回值为1
v=n/2;//v等于n除以2,取整
printf("%d ",v);//输出v
c=f(n-v);//调用函数f,递归调用!
return(c+1);返回 c+1
}
数学上的公式就是:
当n为偶数时:f(n)=f(n-n/2)+1
当n为奇数时,f(n)=f(n-(n-1)/2)+1
当n=1时,f(n)=1

main()

(2)#include <stdio.h>
int f(int d[],int n,int i)
{ int j,c;
for(c=j=0;j<n;++j){
if(j==i)continue; //如果j等于i,不需要比较,d[i]肯定能被d[j]整除,直接跳出本次循环,继续判断下一次循环条件是否满足。
if(d[i]%d[j]==0)//如果d[i]能被d[j]整除,c自增1
++c;
}
return(c);//返回c的值,为数组a中能被a[i]整除的元素的个数。
}
main()
; int i;
for(i=0;i<6;++i)printf("%d\n",f(a,6,i));//f(a,6,i)输出能被a[i]整除的元素个数(不包括自身)
}

谁能帮我解决下面的C语言问题啊,最好能说明解析过程。
1、结果:1 解析:执行switch(a%3),由于a%3=0,满足case 0,因此执行其后语句m++,接着执行break语句,由于break语句有跳出switch语句的功能,因此在此处跳出switch语句,执行printf语句,m自加过一次,故输出结果:1;2、结果:**0***2 解析:道理同第1题,执行switch(a),满足条件进入switch...

求解C语言题,最好有解析。。。
选项C只是加了括号,实质与A相同,结果为6 选项B、D为逗号运算符,依次运算,并以最后一个表达式的运算结果作为表达式的结果。选项B:x++,x=3,2*x=2*3=6,结果为6 选项D:2*x=4,并没有对x赋值,x=2,x+=2等价于x=x+2=2+2=4,不等于6 选D ...

C语言简单数学问题,求大神,详细解析,给出分析步骤
哥哥追上弟弟需要的时间,实际上是追及问题。两个人距离差为 X*M ,速度差为 Y-X 所以哥哥追上弟弟耗时为 X*M*(Y-X)所以狗就是跑了 Z*X*M*(Y-X)如果是C语言程序题的话,应该不会有 X>Y 这种不合题意的情况吧。。。

C语言中的问题不明白为什么 新人麻烦详细解释一下谢谢
这里scanf指定逗号为输入的分隔符号。所以输入时数字和字符之间必须有逗号。scanf不指定分隔符时,默认以空白字符(空格、回车、制表符)为分隔符。PS:如果写%d%c不指定分隔符号。由于第二个变量是字符型,输入时中间不要加空格符,否则会将空白符号做为字符接收。

C语言问题求大神详细解析
声明和定义必须相同。还有函数的返回值类型为void时表示函数没有返回值,不能使用函数的返回值。a错 因为调用在定义之前但是没有声明 b错 函数定义的时候返回值类型为void,却欲图使用函数的返回值。c错 函数的声明返回值为int,定义返回值为void 不相符 d正确 ...

C语言问题谢谢
x < y ,因为不成立所以条件为假 (false 也就是 0), 然后 0 < 4成立,条件为真,所以输出结果为1.备注:这个题目考察的问题点实际上就是云算符的优先级 和 结合规则,如果能熟练掌握,其实很简单的,加油。以上是我对这道题目的解析,如果对你有帮助,请采纳一下,谢谢。

一道C语言很简单的题目,懂C语言的进来帮忙解下
首先要知道? :这是一个三目运算符,如 (表达式)? x : y, 意思是说如果表达式是正确的,那么就选择x,如果错误的就选择y。那我们看这里,可以分成三部分(a++<b) ? (a++):(c<d?a++:d)。而后面的(c<d?a++:d)又可以分成三部分(c<d) ? (a++):(d)。我们先看第一个式子...

这道c语言怎么做,解析看不懂,谁能详细说一下
1、第一个scanf的函数,赋值的不是字符串,而是字符(%c),又因为它是for函数的执行语句,所以根据for函数,scanf函数一共要运行7次,分别给b字符串数组的前7位赋值,原b的前七位是:The空格shy。 而输入的语句的前七位是Fig空格flo。它将前者替换了,所以现在的:b[]="fig空格flo空格is空格blue....

谁能帮我解释一下这道c语言题目啊 不懂
程序解析:-1在内存单元中(以补码形式存放)为(1111111111111111)2,转换为八进制数为(177777)8。③x格式:以无符号十六进制形式输出整数。对长整型可以用"%lx"格式输出。同样也可以指定字段宽度用"%mx"格式输出。④u格式:以无符号十进制形式输出整数。对长整型可以用"%lu"格式输出。同样也可以指定...

c语言2道选择题求解!最好复解析,方便理解!~
每行2个数字,所以,A、B都不对。输出是i+j,所以每行第一个数字是从大到小,每行第二个数字比第一个数字大1.所以C是错的 2选B I=1,输出第一行,i=2是输出第二行 所以 c是错的 j是从i开始,所以第一行第一个应该是1*1 ...,第二行第一个应该是2*2,A、D都是错的 ...

相似回答
大家正在搜