01-C基础第05天(运算符和流程结构语句)
运算符表达式和流程控制语句
1、运算符
1、算数运算符【+ - * / % ++(自增) --(自减)】
int a =10;
a++,等同于a=a+1 ;等同于a+=2
++a;
2、赋值运算符 【= += -= *= /=】
int a=10;
将10赋值给整型变量a
a+=3;等同于a=a+3
a -=3;7
a*=3;30
a%=3;a=a%3; 1
a /=3;a=a/3;
3、比较运算符【> < >= <= == !=】
int a=10
int b=9;
a>b【成立】在计算机中1表示真 用0表示假
printf(“%d\n”,a>b);
int num =14;
14%7 =2....0
3!=2【成立】
4、逻辑运算符【! && ||】
!【非】 非真为假 非假为真
&&【与】 同真为真 其余为假
||【或】同假为假 其余为真
表达式:通过变量或者常量和运算符连接起来成为表达式 在程序中表达式的结果可以作为程序的条件出现
2、类型转换
1、隐式转换
编译器会自动将低的数据类型转成高的数据类型,转化后的数据正确
2、强制转化
需要程序根据实际用途去转化,得到的结果可能会省略部分的值
3、条件选择语句:
1、if语句
格式: if(表达式){ 语句 代码} 如果表达式为真 执行括号内代码
格式:if(表达式){ 代码}else {代码}如果表达式为真 执行if括号内代码 如果为假执行else{}内代码
格式:if(表达式1){代码} else if(表达式2){代码}else if(表达式3){代码}else{代码}
注意:if条件语句执行效率差 switch 条件语句 执行效率高 if可以判断一个区间 switch用来判断一个值 三目运算符结构简单明了
练习: 三只小猪称体重 定义三个变量 可以通过键盘录入体重
#include<stdio.h>
{
int a, b, c;
scanf("%d%d%d", &a, &b, &c);
if (a > b)
{
if (a > c)
{
printf("a重:%d\n", a);
}
else
{
printf("c重:%d\n", c);
}
}
else
{
if (b > c)
{
printf("b重:%d\n", b);
}
else
{
printf("c重:%d\n", c);
}
}
}
2、三目运算符
格式:表达式? 选项1【表达式】:选项2【表达式】 如果表达式为真 选择选项1 的结果 如果为假选择选项2
#include <stdio.h>
{
int a = 20;
int b = 10;
int c = 50;
int d = a > b ? (a > c ? a : c) :(b > c ? b : c);
printf("%d\n", d);
return 0;
}
3、switch语句
格式:switch(表达式)
{
case 值1:
代码
break;
case 值2:
代码;
break;
default:
代码
break;
}
1到100的和为:5050
1 #include <stdio.h> 2 3 int main() 4 { 5 int a = 0; 6 int sum = 0; 7 while (a<100) 8 { 9 a++; 10 sum += a; 11 } 12 printf("1到100的和为:%d\n",sum); 13 return 0; 14 }
敲7
1 #define _CRT_SECURE_NO_WARNINGS 2 #include <stdio.h> 3 4 int main() 5 { 6 int index = 0; 7 while (index <= 100) 8 { 9 index++; 10 if (index % 7 == 0 || index % 10 == 7 || index / 10 == 7) 11 { 12 continue; 13 } 14 printf("数字:%d\n", index); 15 } 16 return 0; 17 }
do while 水仙花
1 #define _CRT_SECURE_NO_WARNINGS 2 #include <stdio.h> 3 4 int main() 5 { 6 int index = 100; 7 do 8 { 9 int a = 0, b = 0, c = 0; 10 a = index / 100; 11 b = index / 10 % 10; 12 c = index % 10; 13 if (index == a*a*a + b*b*b + c*c*c) 14 { 15 printf("%d是水仙花\n", index); 16 } 17 index++; 18 } while (index<1000); 19 20 return 0;
1 #define _CRT_SECURE_NO_WARNINGS 2 #include <stdio.h> 3 4 int main() 5 { 6 for (int i=100; i<1000;i++) 7 { 8 int a = 0, b = 0, c = 0; 9 a = i / 100; 10 b = i / 10 % 10; 11 c = i % 10; 12 if (i == a*a*a + b*b*b + c*c*c) 13 { 14 printf("%d是水仙花\n", i); 15 } 16 } 17 18 return 0; 19 }
嵌套
1 #define _CRT_SECURE_NO_WARNINGS 2 #include <stdio.h> 3 4 int main() 5 { 6 for (int i=0; i<5;i++) 7 { 8 for (int j = 0; j < 5; j++) 9 { 10 printf("%d\t%d\n", i, j); 11 } 12 } 13 14 return 0; 15 }
99乘法表
1 #define _CRT_SECURE_NO_WARNINGS 2 #include <stdio.h> 3 4 int main() 5 { 6 for (int i=1; i<10;i++) 7 { 8 for (int j = 1; j <=i; j++) 9 { 10 printf("%d*%d=%d\t", j,i,j*i); 11 }
printf("\n"); 12 } 13 14 return 0; 15 }