电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > DOC文档下载
分享到微信 分享到微博 分享到QQ空间

《C语言程序设计》基本知识点解答(三)

  • 资源ID:474344637       资源大小:182.01KB        全文页数:14页
  • 资源格式: DOC        下载积分:15金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要15金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

《C语言程序设计》基本知识点解答(三)

C语言程序设计基本知识点解答(三)第五章 选择结构程序设计Q116Ø如何进行选择结构的程序设计?(选择结构)A116Ø“选择结构”也可以叫做“分支结构”。在一个合理的“选择结构”中,总是先进行某个条件的判断,然后根据判断的结果选择执行预先设定的操作。其流程图如下:可见,要想实现“选择结构”,需要2个条件: 能表达条件判断的运算符:即关系运算符和逻辑运算符 能实现判断并选择的控制语句:即if和switch语句Q117Ø什么是关系运算符?(关系运算符)A117Ø关系运算符也叫“比较运算符”,用于对两个数据进行比较判断的。C语言中一共有6种关系运算符,分别是 < 小于、<= 小于等于、> 大于、>= 大于等于、= 等于、!= 不等于。用这6种运算符按规定把运算量连接起来构成的式子就是关系表达式。其中,参与关系运算的数据可以是常量、变量或任何合法的表达式。比如:a * a <= 100、NowIndex = MaxIndex。所有6种关系运算符的优先级都比算术运算符低,而= 等于、!= 不等于两个运算符的优先级又比其它四个关系运算符低。所有6种关系运算符的结合性都是从左向右。Q118ØC语言中如何表示一个关系表达式的值?(关系表达式)A118Ø关系表达式进行的是关系运算,也就是“比较运算”。比较的结果只可能有两个:“真”或“假”。对应于实际生活中,就是“成立”还是“不成立”,“正确”还是“不正确”,“对”还是“不对”这样一些比较和判断的结果。可见,关系运算的结果的特点是:只有两种可能的结果;任何时候答案只可能是其中的一个;两种可能是相互对立不可能同时出现的。这样的特点正对应于数学上的“逻辑值”:“真”或“假”。所以最终的结论就是:关系表达式的值是“逻辑值”,即“真”或“假”。C语言中分别以“1”和“0”来代表。就是说,如果关系表达式的值为“真”,则得到整数1;如果值为“假”,则得到整数0。比如关系表达式 3 > 5 的值就等于0,而关系表达式5 > 3 的值就等于1。有了这样的处理,一个关系表达式就可以作为其它表达式的一部分从而构成更复杂的表达式了。比如:(3 > 5) + ( 3 != 5)、x = (y = z) 等等。Q119Ø当a=3, b=2, c=1时,为什么关系表达式a > b > c 的值却是“假”的?(关系表达式)A119Ø计算机语言中的表达式并不是数学表达式。如果是一个数学式子a > b > c,它表示b同时大于c和小于a,的确是对的。但是在C语言中,这个关系表达式实际上等价于(a > b) > c。这样计算一下:(a > b)是“真”,值为1;1 > c 当然是“假”。Q120Ø什么是逻辑运算符?(逻辑运算符)A120Ø逻辑运算实际上是复合的关系运算,即要判断一个大命题的成立与否,不仅要判断其中的各个小命题是否成立,还取决于每个小命题的成立与否是如何影响大命题的成立的。C语言有3种逻辑运算符,分别是 && 逻辑与(双目)、| 逻辑或(双目)、 !逻辑非(单目)。Q121Ø逻辑运算符的运算规则是什么?(逻辑运算符)A121Ø逻辑运算是关系比较运算结果之间进行的运算,所以参与逻辑运算的运算量必须是逻辑量(即值为“真”或“假”的量),而逻辑运算的结果也必然是逻辑值(“真”或“假”,以下分别用“True”或“False”代表)。l &&逻辑与的运算规则是:全部运算量都为“T”,逻辑与运算才为“T”;只要有一个运算量为“F”,逻辑与运算即为“F”比如想判断x的绝对值是否小于5,那么对应的逻辑表达式是:x > -5 && x < 5。l |逻辑或的运算规则是:全部运算量都为“F”,逻辑或运算才为“F”;只要有一个运算量为“T”,逻辑或运算即为“T”比如想判断x的绝对值是否大于5,那么对应的逻辑表达式是:x < -5 | x > 5。l !逻辑非的运算规则是:运算量为“T”,逻辑非运算则为“F”;运算量为“F”,逻辑非运算则为“T”比如关系表达式 x > 0,实际上和逻辑表达式 ! (x <= 0) 是等价的。总结一下,逻辑运算的规则就如下表所示:其中:a、b代表逻辑量。T代表“真”值,F代表“假”值。Q122Ø既然前面说“参与逻辑运算的运算量必须是逻辑量”,那为什么C语言中还有诸如 5 && 3 这样的逻辑表达式?(逻辑表达式)A122Ø这是因为在C语言中,除了可以求解到关系表达式本身就是逻辑值的值,还可以求解出任何合法的表达式的“逻辑值”。这是基于这样的一个规定和处理方式:当需要求解任何一个表达式的逻辑值是“真”是“假”时,认为该表达式的值为非整数0时是“逻辑真”,而等于整数0时是“逻辑假”。按照这样的规定,上述逻辑运算规则表在C语言中就可以扩展为下表了:其中a、b代表任何类型的数据(可以是常量、变量或表达式)。所以,有5 && 3这样的逻辑表达式也就不奇怪了。按照上表,5和3都是“逻辑真”,则5 && 3仍然是“真”,所以这个表达式的值等于1。Q123Ø= 运算符与 = 运算符有什么区别?(赋值运算符)(等于运算符)A123Ø= 运算符与 = 运算符有本质上的区别,千万不要混淆或误用 = 与 = 运算符。l = 是“赋值运算符”。赋值表达式中,赋值运算符的左边只能是变量。l = = 是“等于关系运算符”。关系表达式中,等于运算符的两边可以是常量、变量或任何合法的表达式。由于上述的本质区别,所以如果误用或混用,则会产生严重的后果。比如:(a = 1) = (b = 2) 是一个合法的等于关系表达式,而如果少写一个 = 号,则变成了(a = 1) = (b = 2),这却是一个非法的赋值表达式了,编译的时候就会给出错误信息。又比如:假设 a = 1,则判断a是否和100相等的表达式应该是 a = 100 的关系表达式,它的值也应该是“逻辑假”的,即等于0。但是如果一旦少写一个 = 号,则变成了 a = 100 的赋值表达式,这个表达式的值等于100,是“逻辑真”的,显然和正确的结果产生了误差。更严重的是变量a的值还在求解赋值表达式的过程中被改变了。更更严重的是,这样的错误不会在编译时容易地发现,它隐藏的很深,非常不容易排除。Q124Øif语句有哪些语法形式?(if)A124Øif语句有两种语法形式: 只使用单独的if。其形式为 if (表达式) 语句;比如 if (x > 0) sign = 1;其执行过程如右图所示 使用成对的if和else。其形式为if (表达式) 语句1;else 语句2;比如:if (x > 0) sign = 1; else sign = -1;其执行过程如左图所示其中的“语句”、“语句1”、“语句2”称之为if或else的内嵌语句。注意:C语言规定,if或else的内嵌语句只能是一个语句,不能超过一个语句。Q125Ø什么叫if嵌套语句?(if)(嵌套)A125Ø在if或else的内嵌语句中又包含一个或多个if语句时,称为if语句的嵌套。常用于多重条件,多个分支的选择判断控制。比如:if (x != 0) if (x > 0) y = 1; else y = -1; else y = 0;其执行流程图如图所示:Q126Øelse能否单独使用构成选择结构?(else)(嵌套)A126Ø绝对不能。else必须和if在一起构成选择结构语句。也就是说,有一个else就必须有一个if和它配对。其实道理很简单,没有“如果”哪有“否则”呢?Q127Ø什么是if嵌套语句中if和else的配对问题?(if)(嵌套)A127Ø正如上个问题所言,else是不能单独出现的,而if却可以单独构成一个语句,那么,在if嵌套语句中就存在else和if如何配对的问题。即是说,当if和else的数目不相等时,到底每个else和哪个if在一起组成一个语句的问题。在C语言中,if与else的配对原则是:从if嵌套语句的最里层的else开始向外,依次将else与在它前面的离它最近的还未配对的if 配对。比如:if (x != 0) if (x > 0) y = 1; else y = -1; else y = 0;其配对结果是:if (x != 0) if (x > 0) y = 1; else y = -1; else y = 0;而如果是如下语句:if (x != 0) if (x > 0) y = 1;else y = 0;则配对结果是:if (x != 0) if (x > 0) y = 1;else y = 0;如果不注意上述配对原则,那么就很有可能出现这样的情况:编译系统的理解和程序员的本意发生偏差,使程序运行结果出错。这样的错误也是很难发现的。Q128Ø那么,如何避免在if嵌套语句中出现实际的配对和所设计的配对发生误差的情况?(if)(嵌套)A128Ø仔细分析一下就会发现,在if嵌套语句中之所以会发生配对误差,根本的原因在于if可能单独出现。实际效果就是if的数目大于else的数目。针对问题出现的原因,有以下解决办法:只把要嵌套的语句放在else后面,这样由于每个else前面只有一个if,所以不会出错。比如:y = 0;if(x >= 0) if(x > 0) y = 1;else y = -1; 容易出错,而if(x < 0) y = -1;else if(x > 0) y = 1; else y = 0;不易出错。如果嵌套语句必须放在if 后面,就把它用大括号括起来,或给每个if语句都加上else。比如:y = 0;if(x >= 0) if(x > 0) y = 1;else y = -1; y = 0;if(x >= 0) if(x > 0) y = 1; else ;else y = -1; 都不易出错。Q129Ø什么是switch语句?(switch)A129Øswitch语句是多条件多分支选择语句,类似于if 语句的第三种形式,即if嵌套语句。switch语句中会使用4个C关键字:switch、case、default和break。其语法构成如下:switch(表达式) case 常量表达式1 : 语句1; break; case 常量表达式2 : 语句2; break; . case 常量表达式n : 语句n; break; default : 语句n+1;其中,粗体部分是必不可少的。switch语句的执行流程图如下:从流程图可见,关键字 break的作用是结束它所在的switch语句的执行。Q130Øswitch语句使用中有何注意事项?(switch)A130Øswitch的语法相对比较复杂,使用中需注意以下几点:(1)switch语句中,switch后的表达式可以是任何类型的表达式,系统求解它的具体值而不是逻辑值。这一点是和if语句不一样的。对于if语句,系统求解其后的表达式的逻辑值。(2)每一个case后面的表达式只能是常量表达式,即能求解

注意事项

本文(《C语言程序设计》基本知识点解答(三))为本站会员(鲁**)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.