课堂笔记
一、逗号表达式
cout<<a=10,a++,b=a+2<<endl;→13
注:1.从左到右运算
2.逗号后最后一个表达式为最后编译输出的值
二、如何实现多路分支 else if
double a,b,c,delta,x1,x2;
const double eps=1e-6;
cin>>a>>b>>c;
if(fabs(a)<eps) a小于精度值认定为0
{
cout<<"no"<<endl;
exit(0); 直接退出为0
}
delta=b*b-4*a*c;
if(delta>0) 也可以写成delta>eps
{
x1=(-b+sqrt(delta))/(2*a);
x2=(-b-sqrt(delta))/(2*a); 养成写括号的习惯
cout<<"x1="<<x1<<",x2="<<x2<<endl;
}
else if(delta<0) 前面条件不满足,继续判断下列条件
{
cout<<"no real root"<<endl;
}
else 前两个条件都不满足
{
x1=x2=-b/(2*a);
cout<<"x1="<<x1<<",x2="<<x2<<endl;
}
*24对大小写希腊字母
多路分支:假设6路分支,即if+5 else if+else
三、条件运算符 ? :
法一:if语句
int a,b,max;
cin>>a>>b;
if(a>b)
{
max=a;
}
else
{
max=b;
}
法二:利用条件运算符
max=(a>b)?a+2:b-3;
——————
条件表达式
若条件成立,执行/输出?后部分
若条件不成立,执行/输出:的部分
cout<<max<<endl;
四、逻辑运算符和逻辑表达式
1.逻辑与 &&(两个连着写) and 并且 a && b →a与b同时成立
c>=1 && c<=10 [1,10]
2.逻辑或 || or 或者 a || b→a与b有一个条件成立即成立
c>=10 || c<=1
|这个符号是英文状态+shift+、
3.逻辑非 ! not 去反 !a 此为一元运算符
例1:判断输入的字符为……
char c;
cin>>c;
if(c>='A' && c<='Z')(判断c是否为大写英文字母)
{
cout<<"uppercase"<<endl;
}
else if(c>='a' && c<='z') (判断c是否为小写英文字母)
{
cout<<"lowercase"<<endl;
}
else if(c>='0' && c<='9') (判断c是否为数字)
{
cout<<"digital"<<endl;
}
else(到这里为4路分支)
{
cout<<"other"<<endl;
}
if((c>='A' && c<='Z') || (c>='a' && c<='z')) (判断c是否为英文字母)
例2:年数如果能够被4整除,但不能被100 整除,或者能够被400整除
int year;
cin>>year;
if((year%4==0 && year%100!=0) || year%400==0)
cout<<"Y"<<endl;
else
cout<<"N"<<endl;
此程序也可以写一个万年历程序,因为星期对应与每年是365天还是366天有关
作业:百分制 90-100 A 80-89 B 70-79 C 60-69 D 0-59 E
return 0;
}
代码编写
#include <iostream>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char** argv) {
//法一:
int a;
cout<<"欢迎来到百分制转换等级系统!"<<endl;
cout<<"请输入您的成绩:";
//for(a<100);
cin>>a;
if(a>=90 && a<=100)
{
cout<<"您的等级为A。"<<endl;
}
else if(a>=80 && a<=89)
{
cout<<"您的等级为B。"<<endl;
}
else if(a>=70 && a<=79)
{
cout<<"您的等级为C。"<<endl;
}
else if(a>=60 && a<=69)
{
cout<<"您的等级为D。"<<endl;
}
else
{
cout<<"您的等级为E。"<<endl;
}
return 0;
}
学习总结
1.昨天晚上纠结很久捏运行不了,是在else后面加了条件,else后面是不能,是不能!加条件,条件已经是隐藏的了,今天讲了第七讲,老师说前面条件不满足就会跳到else if或者else,所以条件的范围是已经确定好只是隐藏了,可以不写出来,可能用文字表示不清楚,可以看第七讲的笔记/博客。
2.也就是因为不熟悉条件语句的条件表示,此方法比较繁冗。第七讲老师有讲比较简练的方法。