课堂笔记
一、关系运算符和关系表达式
> < >= <= == != 都是二元运算符
大于,小于,大于等于,小于等于,等于,不等于
a>b 判断a是否大于b,结果是成立或者不成立
a<b,a>=b,a<=b, a==b, a!=b
C当中表示成立或者不成立,逻辑真与逻辑假
C当中表示真与假,0表示假,非0即真(系统提供逻辑真的时候给的是1),
C++中真与假的符号表示,true表示真,false表示假
1.判断语句是否成立(通过比较大小)
int a=10,b=20,c=30;
cout<<(a>b)<<endl;//记得逻辑用语要加括号
cout<<(a=b)<<endl;
cout<<(a==b)<<endl;
//a=b表示的是赋值操作,a==b判断是否相等的操作
精确的判断相等最好不用于实型数,用整型范围的
判断实型数相等,fabs(a-b) <1e-6; 就认为两个数是相等的
cout<<true<<endl;
cout<<false<<endl;
2.判断n的奇偶性(通过01真假来反馈)
int n;
cin>>n;
cout<<(n%2==0)<<endl; //0 1 13%2 13=6*2+1 12=6*2+0
//通常用来判断n的奇偶性
//n%3==0 判断n能否被3整除
二、选择结构程序设计之if语句
三大结构:顺序结构, 选择结构,循环结构
符号函数:x>0, y=1; x=0,y=0; x<0,y=-1
double x,y=1;
cin>>x;
1.最简单的条件结构
if(x<0)//小括号中称为条件表达式 ,
//如果条件表达式的值为真(条件成立)执行后面的语句组{}
//如果条件表达式的值为假(条件不成立)越过语句组{}执行下面的语句
{
y=-1;
}
cout<<"y="<<y<<endl;
2.两路分支的if结构
double x,y=1;
cout<<"input x:";
cin>>x;
if(x>0) //条件表达式成立的时候,执行语句组1(if)后面的{}
{
y=1;
}
else //否则 (条件表达式不成立的时候),执行语句组2(else)后面的{}
{
y=-1;
}
//语句组的大括号可能会省略,是在语句组当中只有一条语句(或者可以当作一条语句用的完整结构)的时候。
if(x>0)
y=1;
else
y=-1;
cout<<"y="<<y<<endl;
3.符号函数的实现
double x,y;
cout<<"input x:";
cin>>x;
if(x<0)
{
y=-1;
}
else
{
if(x>0)
{
y=1;
}
else //x=0
{
y=0;
}
}
cout<<"y="<<y<<endl;
三、解一元二次方程
//ax^2+bx+c=0
double a,b,c,x1,x2,delta;
cout<<"input a,b,c:";
cin>>a>>b>>c;
delta=b*b-4*a*c;
if(delta>0)
{
x1=(-b+sqrt(delta))/(2*a);
x2=(-b-sqrt(delta))/(2*a);
cout<<"方程有两个不相等实根:x1="<<x1<<",x2="<<x2<<endl;
}
else
{
if(delta<0)
{
cout<<"方程没有实数根。"<<endl;
}
else
{
x1=x2=-b/(2*a);
//连续赋值:先计算出最右边的值赋予给x2,
//再用x2的值赋予给x1
cout<<"方程有两个相等实根:x1=x2="<<x1<<endl;
}
}
return 0;
}
代码编写
#include <iostream>
#include <math.h>
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) {
//一、关系运算符和关系表达式
//1.判断语句是否成立(通过比较大小)
int a=10,b=20,c=30;
cout<<(a>b)<<endl;
cout<<(a<b)<<endl;
cout<<(a==b)<<endl; //0表示假,非0即真
cout<<true<<endl;
cout<<false<<endl;
//2.判断n的奇偶性(通过01真假来反馈)
int n;
cin>>n;
cout<<(n%2==0)<<endl;
//二、选择结构程序设计之if语句
double x,y=1;
cout<<"输入x:";
cin>>x;
if(x>0)//if和else后面都不要加“;”断开,否则大括号内的语句无法执行
{
y=1;
}
else
{
if(x<0)
{
y=-1;
}
else
{
y=0;
}
}
cout<<"y="<<y<<endl;
//三、解一元二次方程
double a,b,c,x1,x2,delta;
cout<<"请输入a,b,c的值:";
cin>>a>>b>>c;
delta=b*b-4*a*c;
if(delta>0)
{
x1=(-b+sqrt(delta))/(2*a);
x2=(-b-sqrt(delta))/(2*a);
cout<<"方程有两个不相等的实数根:x1="<<x1<<" x2="<<x2<<endl;
}
else
{
if(delta<0)
{
cout<<"方程没有实数根"<<endl;
}
else
{
x1=x2=-b/(2*a);
cout<<"方程有两个相等的实数根:x1=x2="<<x1<<endl;
}
}
return 0;
}
学习总结
1.if和else后面不要加“;”断开,否则后面大括号内的语句无法执行
2.if中>要和<对应,而不要写成if(x>0),else{ if(x=0) },这样电脑无法识别
3.输入流cin“>> >>”内不能输入加引号的内容,文字,字母都不可以,只能输入电脑能识别的数据