复习
if语句
1)if(表达式)
语句
2)if(表达式)
语句1
else
语句2
3)if嵌套
if(a>b)
if(b>c)
max=a;
注意 else和if配对:else不能单独使用,一定和if配对使用,配对的原则:else和离他最近的没有配对的if配对,要想改变这种配对,可以使用括号
if(x)<>if(x!=0)
if(!x)<=>if(x==0)
逻辑运算符
a>b>c 关系表达式
a>b&&b>c
&& 短路现象
|| 短路现象
!
逻辑表达式的值要么是1,要么是0,逻辑值
条件运算符 :表示了两个分支的情况,相当于if…else
:三目运算符
表达式1?表达式2:表达式3
if(表达式1)
表达式2
else
表达式3
@@@@@@@@@@@@@@@@@@@@@@@@@@@@习题4@@@@@@@@@@@@@@@@
/* Note:Your choice is C IDE */
#include “stdio.h”
void main()
{
int x,y,z,max;
printf(“enter x”);
scanf("%d%d%d",&x,&y,&z);
//if(x>y&&x>z)
//max=x;
if(x>y)
{
if(x>z)
max=x;
else
max=z;
}
else{
if(y>z){
max=y;
}else
max=z;
}
/* if(x>y)
max=x;
else
max=y;
if(max<z)
max=z;
*/
max=(x>y)?(x>z?x:z):(y>z?y:z);
max=x>y?x:y;
max=max>z?max:z
}
@@@@@@@@@@@@@@@@@@@@@@@@@@@@习题5@@@@@@@@@@@@@@@@
#include “stdio.h”
#include “math.h”
void main()
{
double x,y;
int t;
scanf("%lf",&x);
if(x>0&&x<1000)
{
y=sqrt(x);
printf("y=%.0f",y);//默认对y进行四舍五入
// t=sqrt(x);//将double赋值给int,默认将double取整,然后再赋值
t=(int)sqrt(x);
printf(“t=%d”,t);
}
else
printf(“error”);
}
switch语句
用if…else表示多分支选择的时候,嵌套的层数太多,容易让程序难以理解,此时可以使用switch
1、语法
switch(表达式)
{
case 常量1:语句1;
case 常量2:语句2;
…
default : 语句n+1;
}
执行:先计算表达式的值,然后将值和case后面的常量对比,如果相等,则执行相应case后的语句,以及之后所有的语句,如果想改变,需要在case后加break;break的作用是跳出switch语句
如果和所有case后的常量都不相等,则执行default后面的语句
【案例】输入分数,输出分数的等级
#include “stdio.h”
void main()
{
int x;
char grade;
scanf("%d",&x);
/*if(x>=90)
grade=‘A’;
else{
if(x>80)
grade=‘B’;
else{
if()
}
}
*/
switch(x/10)
{
case 9: grade=‘A’;printf(“1”);break;
case 8: grade=‘B’;printf(“2”);break;
case 7: grade=‘C’;printf(“3”);break;
case 6: grade=‘D’;printf(“4”);break;
case 5:
case 4:
case 3: grade=‘E’;printf(“5”);//多个case共用1条语句
}
printf("x=%d,grade=%c",x,grade);
}
好久没写博客了