运算符表达式和流程控制语句
1、运算符
(1)、算数运算符【+ - * / % ++( 自增 ) --(自减)】
int a =10;
a++;等同于 a = a+1; 等同于 a += 1
++a;
(2)、赋值运算符【 = += -= *= /= %=】
int a=10;将10赋值给整型变量a
a+=3;等同于 a=a+3
a -= 3; a=a-3;7
a *= 3; a=a*3;30
a %=3;a=a%3; 3...1 1
a /=3; a =a/3; 3 舍弃小数部分
(3)、比较运算符【 > < >= <= == !=】
int a=10;
int b=9;
a>b【成立】在计算机中用1表示真 用0表示假
printf("%d\n",a>b); 1
1、运算符
(1)、算数运算符【+ - * / % ++( 自增 ) --(自减)】
int a =10;
a++;等同于 a = a+1; 等同于 a += 1
++a;
(2)、赋值运算符【 = += -= *= /= %=】
int a=10;将10赋值给整型变量a
a+=3;等同于 a=a+3
a -= 3; a=a-3;7
a *= 3; a=a*3;30
a %=3;a=a%3; 3...1 1
a /=3; a =a/3; 3 舍弃小数部分
(3)、比较运算符【 > < >= <= == !=】
int a=10;
int b=9;
a>b【成立】在计算机中用1表示真 用0表示假
printf("%d\n",a>b); 1
int num =14;
num % 7 == 0
14 %7 == 2 ... 0
num % 7 == 0
14 %7 == 2 ... 0
3 != 2【成立】
(4)、逻辑运算符【! && ||】
!【非】 非真为假 非假为真
&&【与】 同真为真 其余为假
||【或】 同假为假 其余为真
(5)sizeof()运算符
(6)表达式:通过变量或者常量和运算符连接起来成为表达式,在程序中表达式的结果可以作为程序的条件出现。
(7)运算符优先级别
!【非】 非真为假 非假为真
&&【与】 同真为真 其余为假
||【或】 同假为假 其余为真
(5)sizeof()运算符
(6)表达式:通过变量或者常量和运算符连接起来成为表达式,在程序中表达式的结果可以作为程序的条件出现。
(7)运算符优先级别
2、类型转换
1、隐式转换
编译器会自动将低的数据类型转成高的数据类型,转化后的数据正确
2、强制转化
需要程序根据实际用途去转化,得到的结果可能会省略部分的值
int a=3;
float b=(float)a;
3、条件选择语句:
1、if语句
格式: if(表达式){ 语句 代码} 如果表达式为真 执行括号内代码
格式:if(表达式){ 代码}else {代码}如果表达式为真 执行if括号内代码 如果为假执行else{}内代码
格式:if(表达式1){代码} else if(表达式2){代码}else if(表达式3){代码}else{代码}
格式
练习: 三只小猪称体重 定义三个变量 可以通过键盘录入体重
2、三目运算符(?:)()
格式:表达式? 选项1【表达式】:选项2【表达式】 如果表达式为真 选择选项1 的结果 如果为假选择选项2
格式:表达式? 选项1【表达式】:选项2【表达式】 如果表达式为真 选择选项1 的结果 如果为假选择选项2
3、switch语句
格式:switch(表达式)
{
case 值1:
代码
break;
case 值2:
代码;
break;
default:
代码;
break;
格式:switch(表达式)
{
case 值1:
代码
break;
case 值2:
代码;
break;
default:
代码;
break;
}
练习:通过键盘输入一名学员成绩 根据成绩【0-100】算出 优秀【90 100】 良好【80 99】 及格【60 -79】 不及格【0-59】
注意:if条件语句执行效率差,switch 条件语句执行效率高,if可以判断一个区间,switch用来判断一个值。三目运算符结构简单明了
练习:从1到100 所有7的倍数 带7的全部略过 17 71
1、循环
2、条件判断
3、跳出本次循环,继续下次循环
1、循环
2、条件判断
3、跳出本次循环,继续下次循环
70/10 == 7
4.while循环
while(表达式)
{
循环体;
}
5.do while循环
do
{
循环体
}
while(条件判断);
6.for循环结构
for(初始值;表达式;表达式)
{
循环体;
while(表达式)
{
循环体;
}
5.do while循环
do
{
循环体
}
while(条件判断);
6.for循环结构
for(初始值;表达式;表达式)
{
循环体;
}
//
for(①int i=0;②i<10;(3)i++)//
{
④循环体;
}
//
for(①int i=0;②i<10;(3)i++)//
{
④循环体;
}
7.go to 语句:无条件跳转
如:
go to here:
printf("ddd");
here:
printf("eee");
结果为eee
//1243 243 243 243
练习:水仙花100 到999所有三位数的各个位数的立方和等于概述本身 那么她就是一个水仙花 153 =1+125+27 =153
练习:99乘法表 按照样式打印 并输出结果
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
for(int i=1;i<=9;i++)//3 4
{
for(int j=1;j<=i;j++)
{
printf("%d*%d=%d ",j,i,j*i);
}
printf("\n");
//putchar('\n');
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
for(int i=1;i<=9;i++)//3 4
{
for(int j=1;j<=i;j++)
{
printf("%d*%d=%d ",j,i,j*i);
}
printf("\n");
//putchar('\n');
}
![](https://img2018.cnblogs.com/blog/1648319/201904/1648319-20190413094355337-737601372.png)
![](https://img2018.cnblogs.com/blog/1648319/201904/1648319-20190413094355337-737601372.png)
练习:猜数字 猜1-100之内的数 如果你猜的数小于【数字】 提示你输入的数字太小了 如果你猜的数大于【数字】 提示你输入的数字太大了
如果你的输入的数字等于【数字 】 恭喜你才对了 程序退出
如果你的输入的数字等于【数字 】 恭喜你才对了 程序退出
使用随机数
1、导入头文件 time.h #include <time.h>
2、生成随机数种子 每次生成的随机数不一样//srand((unsigned int)time(NULL));
3、生成随机数 int num=rand()%100+1;1-100
int num = rand()%100+1;
int value;
for(;;)while(1)
{
printf("请输入一个整数\n")
scanf("%d",&value);
if(value>num)
{
printf("你输入的数太大了\n");
}
else if(value<num)
printf("你输入的数太大了\n");
else
{
printf("输入正确\n");
;
}
1、导入头文件 time.h #include <time.h>
2、生成随机数种子 每次生成的随机数不一样//srand((unsigned int)time(NULL));
3、生成随机数 int num=rand()%100+1;1-100
int num = rand()%100+1;
int value;
for(;;)while(1)
{
printf("请输入一个整数\n")
scanf("%d",&value);
if(value>num)
{
printf("你输入的数太大了\n");
}
else if(value<num)
printf("你输入的数太大了\n");
else
{
printf("输入正确\n");
;
}
}
思考任务(课后练习)
1. 从屏幕上输入一个学生的成绩(0-100),对学生成绩进行评定:
<=60为"E"
60~69为"D"
70~79为"C"
80~89为"B"
90以上为"A"
<0或>100提示成绩输入出错
使用:if else if等实现
2. 从键盘输入 1~7 的数字,分别提示 Monday、Tuesday、Wednesday、Thursday、Friday、Saturday、Sunday 输入其它,提示出错
使用:switch case break 实现
3. 输出100以内能被7整除的数,分别用for循环和while循环完成
3. 输出100以内能被7整除的数,分别用for循环和while循环完成
4. 输出0-1000以内的水仙花数
水仙花数算法:一个数=它各位的立方和,例如:153= 1*1*1 + 5*5*5 + 3*3*3
提示:for循环,求余(%)、取整(/)运算符
水仙花数算法:一个数=它各位的立方和,例如:153= 1*1*1 + 5*5*5 + 3*3*3
提示:for循环,求余(%)、取整(/)运算符
![](https://img2018.cnblogs.com/blog/1648319/201904/1648319-20190412124940894-402128255.png)
![](https://img2018.cnblogs.com/blog/1648319/201904/1648319-20190412125020617-411709530.png)
![](https://img2018.cnblogs.com/blog/1648319/201904/1648319-20190412125027830-331550599.png)
![](https://img2018.cnblogs.com/blog/1648319/201904/1648319-20190412125039194-1827960328.png)
![](https://img2018.cnblogs.com/blog/1648319/201904/1648319-20190412125045465-401584344.png)
![](https://img2018.cnblogs.com/blog/1648319/201904/1648319-20190412125050649-2032353362.png)
![](https://img2018.cnblogs.com/blog/1648319/201904/1648319-20190412125059091-1039531547.png)
![](https://img2018.cnblogs.com/blog/1648319/201904/1648319-20190412125107325-968563338.png)
![](https://img2018.cnblogs.com/blog/1648319/201904/1648319-20190412125118479-583810965.png)
![](https://img2018.cnblogs.com/blog/1648319/201904/1648319-20190412125321563-891172270.png)