第二讲 表达式和选择语句
表达式
1.语句和表达式
2.算数运算符:±*/%
3.%操作没有浮点数,都是整数
4./和%用负数时,结果难以确定
5.运算符优先级和数学一样,加括号也会优先
6.赋值= 把=右边的值赋给左边的值 只有等号左边的值会改变
#include <stdio.h>
int a = 4;
int b = 1;
int c = 2;
int main()
{
a = b - 2;
printf("%d\n%d\n",a,b);
return 0;
}
#include <stdio.h>int a = 4;int b = 1;int c = 2;int main(){a+=2;b++;printf("%d\n%d\n",a,b);return 0;}
7.a++和++a的区别
#include <stdio.h>
int a = 2;
int b = 3;
int c = 4;
int main()
{
a = b++;
printf("a=%d\nb=%d\n",a,b);
return 0;
}
选择语句
1.关系运算符> < >= <=结果 真1 假0 6<7=1 6>7=0
2.判等运算符 == != 5==5是1
3.逻辑运算符 或且非
!逻辑非 &&逻辑与 ||逻辑或
真&&真=真
真&&假=假
假&&假=假
真||真=真
真||假=假
假||假=假
!真&&假=假
4.if语句
if里多条语句用{}来变成一个整体
表达式里用()来变成一个整体
7.级联式if语句
写一个成绩判定系统
#include <stdio.h>
int num;
int main()
{
printf("请输入你的成绩:");
scanf_s("%d", &num);
if (num == 0)
{
printf("您的成绩不及格");
}
else if(num==1)
{
printf("您的成绩不及格");
}
else if (num == 2)
{
printf("您的成绩不及格");
}
else if (num == 3)
{
printf("您的成绩不及格");
}
else if (num == 4)
{
printf("您的成绩不及格");
}
else if (num == 5)
{
printf("您的成绩不及格");
}
else if (num == 6)
{
printf("您的成绩及格");
}
else if (num == 7)
{
printf("您的成绩优秀");
}
else if (num == 8)
{
printf("您的成绩优秀");
}
else if (num == 9)
{
printf("您的成绩优秀");
}
else if (num == 10)
{
printf("您的成绩满分");
}
else
{
printf("您的成绩输入有误");
}
return 0;
}
主体部分是a的赋值,用b<c来判定b或c来赋给a
在C99中规定_Bool量非零为1,零是0
11.switch
#include <stdio.h>
int num;
int main()
{
printf("请输入你的成绩:");
scanf_s("%d", &num);
switch (num)
{
case 0:
printf("您的成绩不及格");
break;
case 1:
printf("您的成绩不及格");
break;
case 2:
printf("您的成绩不及格");
break;
case 3:
printf("您的成绩不及格");
break;
case 4:
printf("您的成绩不及格");
break;
case 5:
printf("您的成绩不及格");
break;
case 6:
printf("您的成绩及格");
break;
case 8:
printf("您的成绩优秀");
break;
case 9:
printf("您的成绩优秀");
break;
case 10:
printf("您的成绩满分");
break;
default:
printf("您的成绩输入有误");
break;
}
return 0;
}
程序优化
#include <stdio.h>
int num;
int main()
{
printf("请输入你的成绩:");
scanf_s("%d", &num);
switch (num)
{
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
printf("您的成绩不及格");
break;
case 6:
printf("您的成绩及格");
break;
case 7:
case 8:
case 9:
printf("您的成绩优秀");
break;
case 10:
printf("您的成绩满分");
break;
default:
printf("您的成绩输入有误");
break;
}
return 0;
}













