c++入门教程(六)

事前日常敲黑板

(1)今天开始的内容涉及到了流程图的一些知识,建议先看一看下面的图,如果看不懂各个框代表什么的话建议复习一下流程图

总章里面我们提到 写程序  就是 思路+翻译,有些时候 为了更好的整理思路 ,可能需要在纸上写写画画(个人强烈建议写程序时旁边备一份纸和笔)流程图就是其中的一种。

思考下面情形

当我们用计算器(不是计算机) 计算几个数的和或差的时候 会先输入一个数字,然后是 加号或者减号,然后是是下一个数字,最后是等号。然后 计算器会把结果告诉我们。

现在,我们试着用流程图来表示这个过程(可以先自己考虑一下)


有了思路,然后我们开始我们的翻译过程

首先 我们声明几个变量,分别用来放第一个数,符号,第二个数,最后的那个c       

然后输入三个值(这两步前面的知识应该够了)   

注意:这里变量a b c都是int型的,所以可以在一句话中声明(新的操作哦)

#include <iostream>
using namespace std;

void main(){
	int a,b,c;
	char d;
	cin>>a>>d>>b;
}
前面的输入部分已经完了,然后进入判断部分了

然后,重点来了

c++中的判断  用 if(如果) 和 else(否则)表示,具体使用方法

if(判断条件){                                                     
如果判断条件结果为真,就执行这里面的代码

}else{

如果判断条件结果为假,就执行这里面的代码

}

注意:

(1)else后面不需要写判断条件,因为只要不满足如果部分的条件的就都一定属于else

(2)一个if只能对应一个else

(3)if部分只执行紧接下来的那一条语句,然后就必须跟else了。也就是说if与else之间  只能有一条语句,因为有些时候满足if的条件下要执行好多条语句,所以用大括号把它们括起来当作一条语句(else部分同理也只是执行紧接下来的那一条语句)

这里的判断条件可以是直接的结果(c++中可以用非0 表示真,0 表示假  或者用true 表示真,false表示假 ),也可以是通过关系运算符(前面提到过)进行比较得出的结果,也可以是各个结果之间经过昨天的与 或 非逻辑运算得到的最终结果

具体使用如下

#include <iostream>
using namespace std;

void main(){
	int a,b,c;
	char d;
	cin>>a>>d>>b;

	if('+' == d){
		c = a + b;
	}else{
		c = a - b;
	}


	cout<<c<<endl;
}

这里有几个  个人习惯   要稍微注意一下    

(1)  using namespace std;行和 main行之间建议空一行

(2)一般建议   如果判度条件是  常量和变量比较的时候,建议把常量写到前面,因为 c++ 中 =     和   ==  的概念是不同的,判断是否相等时要用 ==   而日常表示等于时 用的是   =       为了避免手贱把关系运算符 == 写成 赋值运算符 =  建议把常量写在前面

(3)变量或常量与操作符之间建议空一格 

运行结果如下



有些时候  可能只需要用到if,比如上面的需求改成  如果符号是 ‘+’ 就计算两个值的和,否则不做处理,那么代码如下

#include <iostream>
using namespace std;

void main(){
	int a,b,c;
	char d;
	cin>>a>>d>>b;

	if('+' == d){
		c = a + b;
	}else{
		
	}


	cout<<c<<endl;
}
这里因为else里面没有语句 ,所以,可以省略    然后写成 

#include <iostream>
using namespace std;

void main(){
	int a,b,c;
	char d;
	cin>>a>>d>>b;

	if('+' == d){
		c = a + b;
	}

	cout<<c<<endl;
}

这里有两点需要注意:

(1)一个if 只能对应一个else 或者 省略else

(2)else 表示if里面的条件结果为假的全部条件,所以,else后面不需要跟判断条件了. 

然后运行结果可能是这样

也可能不正常的长成下面这样

我擦泪 怎么会这样

因为c 在声明的时候  并没有给它一个值 ,所以,它的默认的值可能就是它代表的空间里的内容。当if语句满足条件时  程序会把a+b的值赋给c,如果不满足条件,c的值就没有改变过,然后就是那个神秘的默认值了(当然,这个值不同编译器,不同系统甚至不同时间都可能不同)



然后   如果   感觉今天毫无压力   可以尝试按照上面的步骤写个乘法和除法的程序
提示:乘除的两个坑

(1)除数可能是0

(2)整数相除结果可能是小数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值