<wbr><p><span style="font-size:18px"><strong>1,cin的用法<br>
char ch;<br>
cin.get(ch); //仅仅接受一个字符(输入12,则ch仅仅赋值为1)<br>
cout<<ch;<br>
2,对于字符型变量ch,++ch与ch+1的区别<br></strong></span></p>
<pre name="code" class="html"><span style="font-size:18px;"><strong>int main()
{
char ch;
cin.get(ch);
while(ch!='.')
{
if(ch=='\n')
cout<<ch;
else
cout<<ch+1;
cin.get(ch);
}
}</strong></span></pre>
<span style="font-size:18px"><strong>cout<<++ch;输出的是 相应ASCCI码加一之后的 字符<br>
cout<<ch+1;输出的是 相应ASCCI码加一之后的 ASCCI码<br>
3,if条件判断句的巧妙写法<br>
if(i==0)写法时候,往往因为忘记一个“=”而令代码出现难以查证的逻辑错误。<br>
if(0==i)写法,当忘记一个"="的时候,代码编译时候会报错,所以极易查找错误来源。<br>
4,逻辑表达式(||、&&、!)<br>
逻辑表达式的优先级比关系表达式低,先修改左侧的值然后对右侧的值进行判定。如:i++<6||i==j<br>
测试一个变量的范围的写法:if(age>15&&age<35)<br>
错误写法:if(15<age<35)<br>
分析:15<age为true时,表达式值为1 1<35恒成立<br>
15<age为false时,表达式值为0 0<35恒成立<br>
5,字符函数库 cctype(头文件 cctype.h)<br>
判断是否为字母字符:if(isalpha(ch))<br>
if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z'))<br>
isalnum()//判断是否为字母数组<br>
isblank()//判断是否为空格活水平制表符<br>
isdigit()//判断是否为数字<br>
6,? :操作符<br>
int i=5>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>>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<<请输入年龄<<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>>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<<请再次输入<<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>>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>>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>>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>>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>
<pre name="code" class="html">#include <iostream>
#include <fstream>
int main()
{
using namespace std;
char automobile[50];
int year;
double a_price;
double d_price;
ofstream outFile;
outFile.open("tianshuai.txt");
cout<<"Enter the make and model of automobile:";
cin.getline(automobile,50);
cout<<"Enter the model year:";
cin>>year;
cout<<"Enter the original asking price:";
cin>>a_price;
d_price=09.13*a_price;
cout<<fixed;//输出浮点数形式输出变量
cout.precision(2);//设置精度 为小数点后两位
cout.setf(ios_base::showpoint);//强制显示 小数点
cout<<"Make and model:"<<automobile<<endl;
cout<<"Year:"<<year<<endl;
cout<<"Was asking {1}quot;<<a_price<<endl;
cout<<"Now asking {1}quot;<<d_price<<endl;
outFile<<fixed;
outFile.precision(2);
outFile.setf(ios_base::showpoint);
outFile<<"Make and model:"<<automobile<<endl;
outFile<<"Year:"<<year<<endl;
outFile<<"Was asking {1}quot;<<a_price<<endl;
outFile<<"Now asking {1}quot;<<d_price<<endl;
outFile.close();//程序使用完文件后关闭
return 0;
}</pre>
<br>
11,读取文本文件
<p></p>
<p><span style="font-size:18px"><strong> </strong></span></p>
<pre name="code" class="html">#include <iostream>
#include <fstream>
#include <cstdlib>
const int SIZE=60;
int main()
{
using namespace std;
char filename[SIZE];
ifstream inFile;
cout<<"Enter name of data file:";
cin.getline(filename,SIZE);
inFile.open(filename);//打开文件
if(!inFile.is_open())//如果打不开文件
{
cout<<"Could not open the file "<<filename<<endl;
cout<<"Program terminating.\n";
exit(EXIT_FAILURE);
}
double value;
double sum=0.0;
int count=0;
inFile>>value;//读取文件中数值
while(inFile.good())
{
++count; //数值个数
sum+=value;//求数值总和
inFile>>value;//继续读取数值
}
if(inFile.eof())//文件结尾
cout<<"End of file reached.\n";
else if(inFile.fail())
cout<<"Input terminated by data mismatch.\n";
else
cout<<"Input termiated for unknown reason.\n";
if(count==0)
cout<<"No data processed .\n";
else
{
cout<<"Items read:"<<count<<endl;
cout<<"Sum:"<<sum<<endl;
cout<<"Average:"<<sum/count<<endl;
}
inFile.close();
return 0;
} </pre>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第五版第6章答案
C++Primer课后习题解答(第1~16章完整答案)清晰完整版
C++ Primer Plus 编程练习源码工程 第12章 ,这是本人自己学习书籍时写的编程练习的源码工程,供大家参考交流。
《C++ Primer Plus第6版中文版》学习笔记(第十章) 红字内容是有疑问或者没把握的。 绿字部分是比较重要,或者经过确认的
第6章 语句 165 6.1 简单语句 166 6.2 声明语句 167 6.3 复合语句(块) 167 6.4 语句作用域 168 6.5 if语句 169 6.6 switch语句 172 6.6.1 使用switch 173 6.6.2 switch中的控制流 173 6.6.3 default标号 175 ...
C++Primer Plus(第6版)中文版编程练习答案--第四章.pdf
C++Primer中文第三版(C++从入门到精通)第一章的读书笔记,主要是C++程序、预处理器指示符、iostream库等的基础知识点读书笔记。
《C++ Primer》 第四版 第十四章 重载操作符与转换 思维导图笔记 超级详细,非常详细,图片版,有利于复习查看
自己看书练习编写的C++ Primer Plus(第6版)课后题答案
第六章 语句 37 第七章 函数 37 第八章 标准IO库 37 第九章 顺序容器 43 第十章 关联容器 60 第十一章 泛型算法 75 第十二章 类和数据抽象 86 第十三章 复制控制 94 第十四章 重载操作符与转换 102 第十五章 面向...
C++ Primer Plus 第六章分支语句和逻辑操作符的笔记 用例子阐释了 逻辑表达式,问号操作符,switch语句,break和continue以及文件简单输入输出 学习笔记系列博客地址:...
第6章 语句 6.1 简单语句 6.2 声明语句 6.3 复合语句(块) 6.4 语句作用域 6.5 if语句 6.6 switch语句 6.6.1 使用switch 6.6.2 switch中的控制流 6.6.3 default标号 6.6.4 switch表达式与case标号 ...
C++Primer Plus第六版的课后题练习题
c++primer第六章第七小题程序
c++primer第五版中文版课后答案(第17章)pdf格式,真正的c++primer习题集(第五版),用手机拍的,但是每个字都能看的很清楚
c++primer第五版中文版课后答案(第12章)pdf格式,真正的c++primer习题集(第五版),用手机拍的,但是每个字都能看的很清楚
第5章关系操作符和逻辑操作符 39.第5章位操作符 40.第5章赋值操作符 41.第5章自增和自减操作符 42.第5章箭头操作符 43.第5章条件操作符和逗号操作符 44.第5章new和delete表达式 45.第5章显式转换 46...
C++PrimerPlus6中文版第四章程序
C++ primer 第十六章 泛型 实现自定义Queue 解决模板编译错误、包含模式 C++11语法使用
C++ Primer Plus(中文版)第六章答案(纯手打)