蓝桥杯备赛 第一周 第二讲

第二讲 表达式和选择语句

表达式

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;
}