C语言基础题目,谁能给解释一下选什么?为什么?第1,3、4题
2个回答
展开全部
结局上面的三道题,思路首选理清:
分析第1题目:
关键的信息,在Whill循环里面,所以读懂这里的语句,才是解题的关键。至于判断的意思,相信你应该看得懂。C语言的运行习惯是,逐条逐行执行,你这里选错的关键点,在与变量ch的理解,没到位所造成,While里面包含了2个if判断,初始值ch是你输入的X、Y、Z、a、b、c这些变量,这里以X为例子,你就会明白怎么回事:(X的ASCII的码值为88,a的ASCII码值为97)
ch=X 代入后,执行第一个if判断,很明显,X符合第一个判断,所以ch=ch+32,接着拿着这个ch再去执行第二个if判断,很明显,88+32也符合判断,所以会再次执行ch=ch-32,那这样一减一加,不就还是X本身么,后面都是这么分析,所以这题目的答案是:XYZABC
分析第3题目:
这里实际上是在考Switch case语句的使用,Switch 语句中,常搭配使用的会有break关键字,它是跳出语句,在没有该关键字的时候,即使判断条件不符合,case的每个条件也会被执行,Switch会从上往下,依次找到谁有break,而跳出语句。但优先找符合匹配条件的语句。所以此题的答案是:m=5, n=5
分析第4题目:
这题目是在考对于真假以及布尔判断的理解,在解决此题时,首先得明白C语言里的真假定义,比如!7、!1、!0的区别,这里!7,是指不等于7,但它可以等于7之外的数值。!1,那就不是了,这种写法,是指非真,!0这种写法,是指非假。在回到题目,!e,参考前面提到的三个例子,可见,e在不同情况下,代表的意思都不一样。但是,通用表达式习惯中,如果只写a,b,c等符号变量时,我们通常在代码中认为这是“真”的写法,反之!e,就是“假”的写法。所以换言之,这里的判断,就是要表达,非真这种情况,既然不能为真,那它肯定就是假咯,所以另一种表达就是e==0了。这里有一个误区,可能会选择e!=1,看着好像,e不等于真,其实并不然,如果按照这种写法,那是在表达,e不能等于1,它可以等于1之外的其他任何值,那就跟!e是两码事了。注意区分。
加油!
分析第1题目:
关键的信息,在Whill循环里面,所以读懂这里的语句,才是解题的关键。至于判断的意思,相信你应该看得懂。C语言的运行习惯是,逐条逐行执行,你这里选错的关键点,在与变量ch的理解,没到位所造成,While里面包含了2个if判断,初始值ch是你输入的X、Y、Z、a、b、c这些变量,这里以X为例子,你就会明白怎么回事:(X的ASCII的码值为88,a的ASCII码值为97)
ch=X 代入后,执行第一个if判断,很明显,X符合第一个判断,所以ch=ch+32,接着拿着这个ch再去执行第二个if判断,很明显,88+32也符合判断,所以会再次执行ch=ch-32,那这样一减一加,不就还是X本身么,后面都是这么分析,所以这题目的答案是:XYZABC
分析第3题目:
这里实际上是在考Switch case语句的使用,Switch 语句中,常搭配使用的会有break关键字,它是跳出语句,在没有该关键字的时候,即使判断条件不符合,case的每个条件也会被执行,Switch会从上往下,依次找到谁有break,而跳出语句。但优先找符合匹配条件的语句。所以此题的答案是:m=5, n=5
分析第4题目:
这题目是在考对于真假以及布尔判断的理解,在解决此题时,首先得明白C语言里的真假定义,比如!7、!1、!0的区别,这里!7,是指不等于7,但它可以等于7之外的数值。!1,那就不是了,这种写法,是指非真,!0这种写法,是指非假。在回到题目,!e,参考前面提到的三个例子,可见,e在不同情况下,代表的意思都不一样。但是,通用表达式习惯中,如果只写a,b,c等符号变量时,我们通常在代码中认为这是“真”的写法,反之!e,就是“假”的写法。所以换言之,这里的判断,就是要表达,非真这种情况,既然不能为真,那它肯定就是假咯,所以另一种表达就是e==0了。这里有一个误区,可能会选择e!=1,看着好像,e不等于真,其实并不然,如果按照这种写法,那是在表达,e不能等于1,它可以等于1之外的其他任何值,那就跟!e是两码事了。注意区分。
加油!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询