{C++程序设计初步(2)}菜大学生C++学习笔记5

第3章 C++程序设计初步(2)


4、求余运算
在这里插入图片描述
字符‘A’ ‘\n’‘\’ \ 后跟3位 8进制(不需要0开头) 2位16进制数(以x开头)
在这里插入图片描述 5 、关系运算和逻辑运算
1 关系运算和关系表达式< <= > >=、== != (判断相等用两个)
比较的结果是什么?? 0 1
关系运算也有优先级的问题
关于优先次序的说明:
(1) 前4种关系运算符(>,>=,<,<=)的优先级别相同,后两种也相同。前4种高于后两种。例如,“>”优先于“= =”,而“>” 与“ <”优先级相同。
(2) 关系运算符的优先级低于算术运算符。
(3) 关系运算符的优先级高于赋值运算符。
c>a+b等效于 c>(a+b)
a>b= =c 等效于(a>b)= =c
a= =b<c 等效于a==(b<c)
a=b>c等效于a=(b>c)
a==bb>c
2 自增与自减在关系运算中可以使用吗?
自增与自减在变量前还是后
3 逻辑常量(false,true)和逻辑变量(类型为bool),输出逻辑变量会是什么样子?逻辑变量只能有两个值,即使被赋值为其他值结果也是2种(0,1)。
在这里插入图片描述
4 逻辑运算和逻辑表达式(如何表达0<x≤100)
C++提供3种逻辑运算符:
(1) &&逻辑与 (相当于其他语言中的AND)
(2) ||逻辑或(相当于其他语言中的OR)
(3) ! 逻辑非(相当于其他语言中的NOT) 针对一个运算对象
在这里插入图片描述
在一个逻辑表达式中如果包含多个逻辑运算符,如!a && b || x>y && c按以下的优先次序:
(1) !(非)→ &&(与)→ ||(或), 即“!”为三者中最高的。
(2) 逻辑运算符中的“&&”和“||”低于关系运算符,“!”高于算术运算符
优先级别顺序为:!、算术运算符(高)、关系运算符、&&和||、赋值运算符(低)

int a=5,b=0;
!a 值为0 a值不变
!b 值为1 b值不变
!a+2值为2
!(a+2)值为0
(a>b) && (x>y)可写成 a>b && x>y
(a= =b) || (x= =y) 可写成 a= =b || x= =y
(!a) || (a>b) 可写成 !a || a>b
a=5,b=0;
c=a+b>3 && b>2 c得到0 整个表达式值为0
c=a+b)>3 && b>2 c得到5 整个表达式值为0
c=a+b>3) && b>2 c得到1 整个表达式值为0
5 字符可以参与关系运算与逻辑运算吗?其他类型呢?
非0当做真 1
在这里插入图片描述
6 逻辑运算很长,从前面就能得知整个运算的结果,后面的还做吗?
int a=5,b=0;
bool c;
c=a>3 && b= =0;
c=a>5 && b= =0;
c=a>3 || b==2;
c=a>5 ||(b=3); (注意后面是b=3)
7 逻辑运算的短路问题(如果逻辑运算的某部分中包含赋值,自增,自减时要注意)
int a=5,b=0;
bool c;
c= a++>5 && ++b>0 a? b? c?
c= a++>5 || ++b>0 a? b? c?
c= a++>5 || b++>0 a? b? c?
c=(a=10) && (b=7) a? b? c?
c=(a=10) || (b=7) a? b? c?
在这里插入图片描述int a=5,b=0;
bool c;
a=5,b=0;
c= a++>5 && ++b>0;
cout<<“a=”<<a<<" b="<<b<<" c="<<c<<endl;
a=5,b=0;
c= a++>5 || ++b>0;
cout<<“a=”<<a<<" b="<<b<<" c="<<c<<endl;
a=5,b=0;
c= a++>5 || b++>0;
cout<<“a=”<<a<<" b="<<b<<" c="<<c<<endl;
a=5,b=0;
c=(a=10) && (b=7);
cout<<“a=”<<a<<" b="<<b<<" c="<<c<<endl;
a=5,b=0;
c=(a=10) || (b=7);
cout<<“a=”<<a<<" b="<<b<<" c="<<c<<endl;
return 0;
6、 选择结构和if语句
1 最简单的if语句(成绩判定1)在这里插入图片描述
int score;
cin>>score;
if(score>=60)
cout<<“恭喜你,成绩合格!!”<<endl;

在if后的()中可以是关系运算,逻辑运算
在这里插入图片描述
int score1,score2;
cin>>score1>>score2;
if(score1>=60&&score2>=60)
cout<<“恭喜你,成绩都合格!!”<<endl;
return 0;
在()中只要是表达式即可 (非0执行那条语句)
在这里插入图片描述
if(a) 相当于 if(a!=0)
if(!a) 相当于 if(a==0)

2 如果条件成立要执行多条怎么办??(成绩判定1,两个数按从小到大输出。复合语句)
If() 表达式成立 了只管后面的一条语句。使用{} 把多条语句变成逻辑上的一条语句。执行都执行。否则 都不执行
int score;
cin>>score;
if(score>=60)
{
cout<<“恭喜你,成绩合格!!”<<endl;
cout<<“恭喜你,成绩合格!!”<<endl;
cout<<“恭喜你,成绩合格!!”<<endl;
}
在这里插入图片描述
int a,b,t;
cin>>a>>b;
if(a<b)
{
t=a;
a=b;
b=t;
}
cout<<“大数:” <<a<<" 小数:"<<b<<endl;
3 常规的if语句(两个分支)(成绩判定2)
int score;
cin>>score;
if(score>=60)
cout<<“恭喜你,成绩合格!!”<<endl;
else
cout<<“很遗憾,没能通过。继续努力!!”<<endl;
return 0;
4 在if与else之间可以写多条吗?可以有,必须使用复合语句
int score;
cin>>score;
if(score>=60)
{
cout<<“恭喜你,成绩合格!!”<<endl;
cout<<“恭喜你,成绩合格!!”<<endl;
cout<<“恭喜你,成绩合格!!”<<endl;
}
else
{
cout<<“很遗憾,没能通过。继续努力!!”<<endl;
cout<<“很遗憾,没能通过。继续努力!!”<<endl;
cout<<“很遗憾,没能通过。继续努力!!”<<endl;
}
5 多个分支怎么办(成绩判定3)
在这里插入图片描述
执行方式 从上到下依次判断,判断成立后,执行相应的语句。然后选择语句结束。
int score;
cin>>score;
if(score>100 || score<0)
{
cout<<“成绩输入错误!!”<<endl;
}
else if(score>=90)
cout<<“你太棒了,是神童吗!!”<<endl;
else if(score>=80)
cout<<“学习成绩很好,是学霸吗!!”<<endl;
else if(score>=60)
cout<<“恭喜你,成绩合格!!”<<endl;
else
cout<<“很遗憾,没能通过。继续努力!!”<<endl;
我们写判断的时候,注意顺序
在这里插入图片描述6 三角形的面积(先判断能否组成)
在这里插入图片描述double a,b,c;
cin>>a>>b>>c;
double t;
t=(a+b+c)/2;
if(a+b>c && b+c>a && c+a>b)
{
double s;
s=sqrt(t*(t-a)(t-b)(t-c));
cout<<s<<endl;
}
else
{
cout<<“你输入的三个边不能组成三角形”<<endl;
}
return 0;
作业:输入一个华氏温度,要求输出摄氏温度,公式为在这里插入图片描述
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

C0ntr01

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值