`

【C++ Primer】第六章(分支语句和逻辑操作符)

 
阅读更多
<wbr><p><span style="font-size:18px"><strong>1,cin的用法<br> char ch;<br> cin.get(ch); //仅仅接受一个字符(输入12,则ch仅仅赋值为1)<br> cout&lt;&lt;ch;<br> 2,对于字符型变量ch,++ch与ch+1的区别<br></strong></span></p> <textarea readonly name="code" class="html"><span style="font-size:18px;"><strong>int main() { char ch; cin.get(ch); while(ch!='.') { if(ch=='\n') cout&lt;&lt;ch; else cout&lt;&lt;ch+1; cin.get(ch); } }</strong></span></textarea><span style="font-size:18px"><strong>cout&lt;&lt;++ch;输出的是 相应ASCCI码加一之后的 字符<br> cout&lt;&lt;ch+1;输出的是 相应ASCCI码加一之后的 ASCCI码<br> 3,if条件判断句的巧妙写法<br> if(i==0)写法时候,往往因为忘记一个“=”而令代码出现难以查证的逻辑错误。<br> if(0==i)写法,当忘记一个"="的时候,代码编译时候会报错,所以极易查找错误来源。<br> 4,逻辑表达式(||、&amp;&amp;、!)<br> 逻辑表达式的优先级比关系表达式低,先修改左侧的值然后对右侧的值进行判定。如:i++&lt;6||i==j<br> 测试一个变量的范围的写法:if(age&gt;15&amp;&amp;age&lt;35)<br> 错误写法:if(15&lt;age&lt;35)<br> 分析:15&lt;age为true时,表达式值为1 1&lt;35恒成立<br> 15&lt;age为false时,表达式值为0 0&lt;35恒成立<br> 5,字符函数库 cctype(头文件 cctype.h)<br> 判断是否为字母字符:if(isalpha(ch))<br> if((ch&gt;='a'&amp;&amp;ch&lt;='z')||(ch&gt;='A'&amp;&amp;ch&lt;='Z'))<br> isalnum()//判断是否为字母数组<br> isblank()//判断是否为空格活水平制表符<br> isdigit()//判断是否为数字<br> 6,? :操作符<br> int i=5&gt;3?1:0;//给i赋值为1<br> 7,break和continue语句<br> break语句的执行表示:跳出循环体,执行循环体以外的下一条语句。<br> countinue语句的执行表示:跳过本次循环,但不会跳过循环更新表达式<br> 8,读取数字的循环</strong></span> <p></p> <p><span style="font-size:18px"><strong> cin&gt;&gt;i;用来接收用户的输入。当用户发现输入错误时候应采取三个步骤</strong></span></p> <p><span style="font-size:18px"><strong> 1)重置cin 以接受新的输入 </strong></span></p> <p><span style="font-size:18px"><strong> 2)删除错误输入cin.clear();</strong></span></p> <p><span style="font-size:18px"><strong> 3)提示用户再输入</strong></span></p> <p><span style="font-size:18px"><strong>例:</strong></span></p> <p><span style="font-size:18px"><strong> cout&lt;&lt;请输入年龄&lt;&lt;endl;</strong></span></p> <p><span style="font-size:18px"><strong> int age;</strong></span></p> <p><span style="font-size:18px"><strong> while(!(cin&gt;&gt;age))</strong></span></p> <p><span style="font-size:18px"><strong> {</strong></span></p> <p><span style="font-size:18px"><strong> cin.clear();</strong></span></p> <p><span style="font-size:18px"><strong> cout&lt;&lt;请再次输入&lt;&lt;endl;</strong></span></p> <p><span style="font-size:18px"><strong> }</strong></span></p> <p><span style="font-size:18px"><strong>9,简单文件输入/输出</strong></span></p> <p><span style="font-size:18px"><strong> 文本I/O:使用cin进行输入时,程序将输入视为一系列的字节,其中每个字节都被解释为字符编码。不管目标数据类型是什么,输入一开始都是字符数据-文本数据。然后,cin对象负责将文本转换为其他类型。</strong></span></p> <p><span style="font-size:18px"><strong> 38.5 19.2</strong></span></p> <p><span style="font-size:18px"><strong> char ch;</strong></span></p> <p><span style="font-size:18px"><strong> cin&gt;&gt;ch;//第一个字符3 被赋值给ch,字符编码(二进制)被存储在变量ch中。输入和目标都是字符,不需要转换。</strong></span></p> <p><span style="font-size:18px"><strong> </strong></span></p> <p><span style="font-size:18px"><strong> int n;</strong></span></p> <p><span style="font-size:18px"><strong> cin&gt;&gt;n;//cin不断读取,直到遇到非数字字符。读取38,因此将38的二进制编码复制到变量n中。</strong></span></p> <p><span style="font-size:18px"><strong><br></strong></span></p> <p><span style="font-size:18px"><strong> double x;</strong></span></p> <p><span style="font-size:18px"><strong> cin&gt;&gt;x;//cin不断读取,直到遇到第一个不属于浮点数的字符。读取38.5</strong></span></p> <p><span style="font-size:18px"><strong><br></strong></span></p> <p><span style="font-size:18px"><strong> char word[50];</strong></span></p> <p><span style="font-size:18px"><strong> cin&gt;&gt;word;//cin不断读取,直到遇到空白字符。读取38.5,然后将38.5字符编码存储到数组word中,并在末尾加上一个空字符。</strong></span></p> <p><span style="font-size:18px"><strong><br></strong></span></p> <p><span style="font-size:18px"><strong> cin.getline(word,50);//cin不断读取,直到遇到换行符。读取38.5 19.2</strong></span></p> <p><span style="font-size:18px"><strong>10,使用文件输出的步骤</strong></span></p> <p><span style="font-size:18px"><strong> 1)包含头文件fstream</strong></span></p> <p><span style="font-size:18px"><strong> 2)创建一个ofstream</strong></span></p> <p><span style="font-size:18px"><strong> 3)将该ofstream对象仝一个文件关联起来。</strong></span></p> <p><span style="font-size:18px"><strong> 4)就像使用cout一样使用ofstream</strong></span></p> <p><span style="font-size:18px"><strong>源代码:</strong></span></p> <p><span style="font-size:18px"><strong></strong></span></p> <textarea readonly name="code" class="html">#include &lt;iostream&gt; #include &lt;fstream&gt; int main() { using namespace std; char automobile[50]; int year; double a_price; double d_price; ofstream outFile; outFile.open("tianshuai.txt"); cout&lt;&lt;"Enter the make and model of automobile:"; cin.getline(automobile,50); cout&lt;&lt;"Enter the model year:"; cin&gt;&gt;year; cout&lt;&lt;"Enter the original asking price:"; cin&gt;&gt;a_price; d_price=09.13*a_price; cout&lt;&lt;fixed;//输出浮点数形式输出变量 cout.precision(2);//设置精度 为小数点后两位 cout.setf(ios_base::showpoint);//强制显示 小数点 cout&lt;&lt;"Make and model:"&lt;&lt;automobile&lt;&lt;endl; cout&lt;&lt;"Year:"&lt;&lt;year&lt;&lt;endl; cout&lt;&lt;"Was asking {1}quot;&lt;&lt;a_price&lt;&lt;endl; cout&lt;&lt;"Now asking {1}quot;&lt;&lt;d_price&lt;&lt;endl; outFile&lt;&lt;fixed; outFile.precision(2); outFile.setf(ios_base::showpoint); outFile&lt;&lt;"Make and model:"&lt;&lt;automobile&lt;&lt;endl; outFile&lt;&lt;"Year:"&lt;&lt;year&lt;&lt;endl; outFile&lt;&lt;"Was asking {1}quot;&lt;&lt;a_price&lt;&lt;endl; outFile&lt;&lt;"Now asking {1}quot;&lt;&lt;d_price&lt;&lt;endl; outFile.close();//程序使用完文件后关闭 return 0; }</textarea><br> 11,读取文本文件 <p></p> <p><span style="font-size:18px"><strong> </strong></span></p> <textarea readonly name="code" class="html">#include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;cstdlib&gt; const int SIZE=60; int main() { using namespace std; char filename[SIZE]; ifstream inFile; cout&lt;&lt;"Enter name of data file:"; cin.getline(filename,SIZE); inFile.open(filename);//打开文件 if(!inFile.is_open())//如果打不开文件 { cout&lt;&lt;"Could not open the file "&lt;&lt;filename&lt;&lt;endl; cout&lt;&lt;"Program terminating.\n"; exit(EXIT_FAILURE); } double value; double sum=0.0; int count=0; inFile&gt;&gt;value;//读取文件中数值 while(inFile.good()) { ++count; //数值个数 sum+=value;//求数值总和 inFile&gt;&gt;value;//继续读取数值 } if(inFile.eof())//文件结尾 cout&lt;&lt;"End of file reached.\n"; else if(inFile.fail()) cout&lt;&lt;"Input terminated by data mismatch.\n"; else cout&lt;&lt;"Input termiated for unknown reason.\n"; if(count==0) cout&lt;&lt;"No data processed .\n"; else { cout&lt;&lt;"Items read:"&lt;&lt;count&lt;&lt;endl; cout&lt;&lt;"Sum:"&lt;&lt;sum&lt;&lt;endl; cout&lt;&lt;"Average:"&lt;&lt;sum/count&lt;&lt;endl; } inFile.close(); return 0; } </textarea>12,非常值得注意的两个地方 <p></p> <p><span style="font-size:18px"><strong> char ch;</strong></span></p> <p><span style="font-size:18px"><strong> ch+1 //表示char+int =int 型</strong></span></p> <p><span style="font-size:18px"><strong> ch++ //表示char型</strong></span></p> <p><span style="font-size:18px"><strong><br></strong></span></p> <p><span style="font-size:18px"><strong>在 switch(char</strong></span><span style="font-size:18px"><strong>)</strong></span></p> <p><span style="font-size:18px"><strong> { case a: break;</strong></span></p> <p><span style="font-size:18px"><strong> case b:break;</strong></span></p> <p><span style="font-size:18px"><strong> default:break;}语句中,采用字符表示菜单选项和case标签比采用数字有什么优点呢?</strong></span></p> <p><span style="font-size:18px"><strong> 采用字符(a,b,c……):如果输入了数字,3、4、5等,程序会按照字符处理,而程序本身不会报错。</strong></span></p> <p><span style="font-size:18px"><strong> 采用数字(1,2,3……):如果输入了字符,a、b、c等,程序会报错。</strong></span></p> <p><span style="font-size:18px"><strong>所以采用字符比较好。</strong></span></p> <p><span style="font-size:18px"><strong> </strong></span></p> <p><span style="font-size:18px"><strong><br><br><br><br><br><br><br><br></strong></span><br></p> </wbr>
分享到:
评论

相关推荐

    c++primer第五版习题答案(第12章)

    6. C++11新增的I/O库功能:C++11标准对I/O库进行了不少扩展和改进,例如提供用户定义类型流操作符的能力、更易用的文件操作函数等。第12章可能会涉及这些新特性,增强读者对C++11标准的理解和应用。 考虑到描述中...

    C++ Primer 第六版 英文版

    经典C++学习书籍,如果英文还可以的话,看英文学习比较好还是

    c++primer第五版习题答案(第17章)

    《C++ Primer》第五版是C++领域一本非常权威的教材,由Stanley B. Lippman、Josée Lajoie和Barbara E. Moo编著。该书是按照C++11标准编写的,它涵盖了C++语言的核心特性,包括数据类型、运算符、控制结构、函数、类...

    C++Primer 第四版课后习题解答(第1~18章完整答案)完整版

    第六章“语句”涵盖了条件语句(if、switch)、循环语句(for、while、do-while)和跳转语句(break、continue)。习题解答将帮助读者熟练掌握各种控制流语句的使用。 第七章“函数”介绍了函数的定义、调用、参数...

    c++ primer plus 第六版 课后习题答案

    首先,C++ Primer Plus第六版覆盖了C++的基础语法,包括变量、数据类型、运算符、控制结构(如条件语句和循环)、函数、数组、字符串等基本概念。在解答这些习题时,读者可以复习这些基础知识,并通过实践来提高编程...

    C++Primer课后习题解答(第1~16章完整答案) 清晰 完整版

    C++表达式用于计算和生成值,例如使用加法操作符“+”或乘法操作符“*”来进行数值计算。 4. 标准库:C++标准库提供了丰富的功能,例如iostream库中的std::cout和std::cin分别用于实现标准输出和输入。使用标准库中...

    C++ Primer第四版【中文高清扫描版】.pdf

    《C++ Primer 第四版》是著名的C++编程语言教程,由Stanley B. Lippman、Josée Lajoie和Barbara E. Moo三位作者共同撰写。该书自出版以来,已成为广大程序员学习C++的必备书籍。第四版对前三版的内容进行了彻底的...

    C++ Primer Plus 第6版 中文版课后代码习题答案

    《C++ Primer Plus 第6版 中文版》是一本深入浅出的C++学习书籍,其课后代码习题答案是学习过程中不可或缺的部分。这本书旨在帮助读者从零基础开始掌握C++编程语言,通过实例和习题来巩固理论知识,提升编程技能。...

    c++primer第五版习题答案(第19章)

    标题《c++primer第五版习题答案(第19章)》和描述《c++primer第五版中文版课后答案(第19章)pdf格式,真正的c++primer习题集(第五版),用手机拍的,但是每个字都能看的很清楚》透露出的IT知识点主要围绕《C++ ...

    《C++ Primer Plus第6版中文版》学习笔记(第十章)

    《C++ Primer Plus第6版中文版》学习笔记(第十章) 红字内容是有疑问或者没把握的。 绿字部分是比较重要,或者经过确认的

    C++ Primer 第十四章 重载操作符与转换 思维导图笔记

    在第十四章《C++ Primer》中,作者深入探讨了这些主题,以帮助读者更好地理解和应用它们。 **一、重载操作符** 1. **原理**:C++允许我们为类类型定义操作符,使得类对象可以像内置类型一样使用。例如,我们可以...

    C++Primer(第4版)-课后习题答案.pdf

    6. 第六章语句:讲解控制流语句,包括条件语句(if, switch)、循环语句(for, while, do-while)以及跳转语句(break, continue)。 7. 第七章函数:介绍函数的定义、调用,参数传递(按值、按引用、按指针),...

    C++primer第四版源代码

    《C++ Primer》第四版是C++编程领域的一本经典教材,由Lippman, Lajoie, and Moo三位作者合著。这本书深入浅出地介绍了C++语言的基础知识、中级概念以及高级特性,旨在帮助读者掌握现代C++编程技术。源代码文件包含...

    C++Primer 习题解答(第4版)--绝对完整版

    1. **基础语法**:C++ Primer 习题解答首先会引导读者熟悉C++的基本语法,包括变量声明、数据类型(如整型、浮点型、字符型)、运算符(算术、关系、逻辑、位操作)、控制流(if语句、switch语句、循环结构for、...

    C++PrimerPlus6中文版第四章程序

    C++ Primer Plus第六版是学习C++编程语言的经典教材,其第四章主要涵盖了C++的基础语法和编程概念,包括变量、数据类型、运算符、控制结构等核心知识点。这一章的学习对于初学者来说至关重要,因为它奠定了后续深入...

    c++ primer有目录pdf第五版本5th

    《C++ Primer》是有名的C++编程教材,其第五版(5th Edition)深入浅出地介绍了C++语言的基础知识以及C++11新标准的特性。这本书由Lippman、Lajoie和 Moo三位作者共同编写,是C++初学者和进阶者的重要参考书籍。 1....

    C++Primer Plus(第6版)中文版编程练习答案--第四章

    标题和描述提到的是《C++ Primer Plus (第6版)中文版编程练习答案》中的第四章。根据提供的部分内容,本章节练习涉及到的知识点包括输入输出流的使用、字符串的操作、结构体的定义和使用,以及数组的使用。下面将...

    C++Primer读书笔记:C++概述.pdf

    C++Primer中文第三版(C++从入门到精通)第一章的读书笔记,主要是C++程序、预处理器指示符、iostream库等的基础知识点读书笔记。

    C++Primer Plus附录源码等文件.zip

    《C++ Primer Plus》是Stephen Prata撰写的一本广受欢迎的C++编程教材,第六版提供了深入浅出的C++语言教程,旨在帮助初学者和有一定经验的程序员掌握这一强大的编程语言。附录中的源码文件是作者为配合书中的教学...

Global site tag (gtag.js) - Google Analytics