问题1:当a=1,b=2,c=3时,以下if语句执行后,a、b、c中的值分别为
if(a>c)
b=a;a=c;c=b;
问题2:若变量已正确定义,以下语句段的输出结果是:
x=0;y=2;z=3;
switch(x)
{ case 0: switch (y=2)
{ case 1 : printf("*");break;
case 2 : printf("%");break;
}
case 1:switch (z)
{ case 1: printf ("$");
case 2: printf("*");break;
default : printf ("#");
}
}
求答案和思路。第一个题我完全不懂。第二个题我的思路是,x等于0,所以执行第一个case 0 ,这里面switch(y=2)所以执行里面的case 2,所以得出%,但答案为何是*#。我不明白,求助大神了!
第一题:应该这样看
if(a>c)如果你明白可追问
第二题:
首先,在 switch(x) {} 中,case 0与case 1之间没有break;所以执行完case 0后面的内容后还会执行case 1后面的内容,这就是为什么会输出 #,因为执行了default : printf ("#");
其次,* 这个是得不到的,除非把switch (y=2)改成switch (y==2)才能得到printf("*");
最后,你觉得应该得出%,其实即使满足条件,执行了printf("%");也是得不到%,因为%和\一样,具有转义的作用,要想打印%,应该是printf("%%");
追问为何y==2了的话就能得出printf("*")?是不是代表着这句话是真,所以是1.
追答没错,结果为“真”用数字1表示,为“假”用数字0表示。你可以写两句代码验证一下:
int a=2;用数字1和0不是绝对的,不同的编译器会用不同的值来表示真和假,但在这里是这样的。
两个关于C语言的问题。
1、在x=3的状态下进入do循环,第一次运行printf语句,首先使 x -= 2 ,x的内容减掉2,输出x的当前值,所以输出了1。接着进行循环条件判断,先进行 --运算,使x的内容变为0,!0的计算结果为真,循环继续进行。第二次运行printf首先 x-=2 即 x = 0-2,使x的内容变为-2,并被输出。当x...
关于C语言的两个问题
2.(B)*p.num 不正确,因为 . 的优先级更高,*p.num 会被解析为 *(p.num),而 p 是结构指针,应该用 (*p).num 来访问结构成员。
呵呵,问二个c语言的问题。
如果y是2 那么结果就是 x的平方,如果y是0.5 那么结果就是 x的平方根,如果y是1\/3 那么结果就是 x的立方根。参考百度百科 数组的sizeof 数组的sizeof值等于数组所占用的内存字节数,如:char a1[] = "abc";int a2[3];sizeof( a1 ); \/\/ 结果为4,字符 末尾还存在一个NULL终...
两个关于C语言的问题
第一题:应该这样看 if(a>c) b=a;a=c;c=b;如果你明白可追问 第二题:首先,在 switch(x) {} 中,case 0与case 1之间没有break;所以执行完case 0后面的内容后还会执行case 1后面的内容,这就是为什么会输出 #,因为执行了default : printf ("#");其次,* 这个是得不到的,除...
关于数据结构(C语言版)的两个问题
如果为右括号`)`,则检查`stack`是否为空,如果不为空则弹出栈顶元素,将`top`减一。在遍历结束后,检查`stack`是否为空。如果为空,表示所有括号均匹配,返回1;否则表示存在未匹配的括号,返回0。通过上述程序,可以实现对给定字符串中括号匹配性的判断,对于数据结构(C语言版)中的括号匹配问题,...
亲,关于C语言的两个问题,100分悬赏!!!
bccn.net\/thread-316069-1-1.html 第二个问题:对于十六位机器而言,如果是int型,则c是-32768。最高位为符号位。d=32767 说明:32767十六进制0x7fff这是十六位表示的最大有符号正数了 32768十六进制0x8000符号位是1,自然就是负数了 正数和负数换算就是二进制位按位取反再+1 d的解答类似 ...
有关c语言的两道问题
第6题 以下关于数组的描述正确的是 本题2分 C、数组大小固定,所有元素的类型必须相同 第7题 设有变量int x=0,y=1,z=1,则运行表达式:x=y++>z--后,x,y,z的值分别是 本题2分 D、0,2,0
c语言常见问题有哪些?
但C语言中,“=”是赋值运算符,“==”是关系运算符。如:if (a==3)a=b;前者是进行比较,a是否和3相等,后者表示如果a和3相等,把b值赋给a。由于习惯问题,初学者往往会犯这样的错误。5.忘记加分号。分号是C语句中不可缺少的一部分,语句末尾必须有分号。a=1 b=2 编译时,编译程序在“a=...
c语言的几个问题
1:字母只读一个,而数字可以很多个一起读。(我汗,以前都没注意着,C的题目越出越细了)2.空格也是字母的一种如果是10 20 AB,那么10 20 读的没错,但c1=‘_’,c2='A'。先读空格(补充下1的回答)3:那个逗号有,你输数据的时候也要相应的有逗号,D里z是double型,应该用%lf;4:长度...
c语言常见问题有哪些
忽略了大小写字母的区别。2、忽略了变量的类型,进行了不合法的运算。3、将字符常量与字符串常量混淆。4、忽略了等号与双等号的区别。5、忘记加分号。6、输入变量时忘记加地址运算符。7、输入数据的方式与要求不符。8、输入字符的格式与要求不一致。9、输入输出的数据类型与所用格式说明符不一致。