C语言判断句三个选项,【C++ Primer】第六章(分支语句和逻辑操作符)

本文详细介绍了C++中cin的用法,字符变量操作的++ch与ch+1区别,if语句的巧妙写法,以及文件I/O的正确实践。涵盖了字符判断、错误处理、文件输入输出和文本格式转换等内容,适合初学者理解基本编程技巧。
摘要由CSDN通过智能技术生成

1,cin的用法

char ch;

cin.get(ch); //仅仅接受一个字符(输入12,则ch仅仅赋值为1)

cout<

2,对于字符型变量ch,++ch与ch+1的区别

int main()

{

char ch;

cin.get(ch);

while(ch!='.')

{

if(ch=='\n')

cout<

else

cout<

cin.get(ch);

}

}

cout<

cout<

3,if条件判断句的巧妙写法

if(i==0)写法时候,往往因为忘记一个“=”而令代码出现难以查证的逻辑错误。

if(0==i)写法,当忘记一个"="的时候,代码编译时候会报错,所以极易查找错误来源。

4,逻辑表达式(||、&&、!)

逻辑表达式的优先级比关系表达式低,先修改左侧的值然后对右侧的值进行判定。如:i++<6||i==j

测试一个变量的范围的写法:if(age>15&&age<35)

错误写法:if(15

分析:15

15

5,字符函数库 cctype(头文件 cctype.h)

判断是否为字母字符:if(isalpha(ch))

if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z'))

isalnum()//判断是否为字母数组

isblank()//判断是否为空格活水平制表符

isdigit()//判断是否为数字

6,? :操作符

int i=5>3?1:0;//给i赋值为1

7,break和continue语句

break语句的执行表示:跳出循环体,执行循环体以外的下一条语句。

countinue语句的执行表示:跳过本次循环,但不会跳过循环更新表达式

8,读取数字的循环

cin>>i;用来接收用户的输入。当用户发现输入错误时候应采取三个步骤

1)重置cin 以接受新的输入

2)删除错误输入cin.clear();

3)提示用户再输入

例:

cout<

int   age;

while(!(cin>>age))

{

cin.clear();

cout<

}

9,简单文件输入/输出

文本I/O:使用cin进行输入时,程序将输入视为一系列的字节,其中每个字节都被解释为字符编码。不管目标数据类型是什么,输入一开始都是字符数据-文本数据。然后,cin对象负责将文本转换为其他类型。

38.5  19.2

char  ch;

cin>>ch;//第一个字符3 被赋值给ch,字符编码(二进制)被存储在变量ch中。输入和目标都是字符,不需要转换。

int  n;

cin>>n;//cin不断读取,直到遇到非数字字符。读取38,因此将38的二进制编码复制到变量n中。

double  x;

cin>>x;//cin不断读取,直到遇到第一个不属于浮点数的字符。读取38.5

char  word[50];

cin>>word;//cin不断读取,直到遇到空白字符。读取38.5,然后将38.5字符编码存储到数组word中,并在末尾加上一个空字符。

cin.getline(word,50);//cin不断读取,直到遇到换行符。读取38.5  19.2

10,使用文件输出的步骤

1)包含头文件fstream

2)创建一个ofstream

3)将该ofstream对象仝一个文件关联起来。

4)就像使用cout一样使用ofstream

源代码:

#include

#include

int main()

{

using namespace std;

char automobile[50];

int year;

double a_price;

double d_price;

ofstream outFile;

outFile.open("tianshuai.txt");

cout<

cin.getline(automobile,50);

cout<

cin>>year;

cout<

cin>>a_price;

d_price=09.13*a_price;

cout<

cout.precision(2);//设置精度 为小数点后两位

cout.setf(ios_base::showpoint);//强制显示 小数点

cout<

cout<

cout<

cout<

outFile<

outFile.precision(2);

outFile.setf(ios_base::showpoint);

outFile<

outFile<

outFile<

outFile<

outFile.close();//程序使用完文件后关闭

return 0;

}

11,读取文本文件

#include

#include

#include

const int SIZE=60;

int main()

{

using namespace std;

char filename[SIZE];

ifstream inFile;

cout<

cin.getline(filename,SIZE);

inFile.open(filename);//打开文件

if(!inFile.is_open())//如果打不开文件

{

cout<

cout<

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<

else if(inFile.fail())

cout<

else

cout<

if(count==0)

cout<

else

{

cout<

cout<

cout<

}

inFile.close();

return 0;

}12,非常值得注意的两个地方

char  ch;

ch+1  //表示char+int =int 型

ch++  //表示char型

在      switch(char)

{ case a: break;

case b:break;

default:break;}语句中,采用字符表示菜单选项和case标签比采用数字有什么优点呢?

采用字符(a,b,c……):如果输入了数字,3、4、5等,程序会按照字符处理,而程序本身不会报错。

采用数字(1,2,3……):如果输入了字符,a、b、c等,程序会报错。

所以采用字符比较好。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值