一.第四章选择结构(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的值是( )
谁能帮我解决下面的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都是错的 ...