1、if条件语句分为三种:
①if(表达式) ②if-else ③if else if
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<time.h>
int main0901()
{
int score;
scanf("%d", &score);
//if(表达式)
//if(表达式){} else{}
//if(表达式1){}else if(表达式2){} else
//条件嵌套 if中嵌套if
if (score > 700)
{
printf("可以上清华大学\n");
if (score > 720)
{
printf("我要学习计算机\n");
}
else if (score > 710)
{
printf("我要学习挖掘机\n");
}
else
{
printf("只能学盗墓");
}
}
else if (score>680)
{
printf("可以上北大");
}
else
{
printf("可以上传智");
}
return EXIT_SUCCESS;
}
2、三只小猪称体重练习
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<time.h>
int main10_01()
{
int a, b, c;
printf("请输入三只小猪的体重\n");
scanf("%d%d%d", &a, &b, &c);
if (a > b)
{
if (a > c)
{
printf("小猪a最重\n");
}
else
{
printf("小猪c最重\n");
}
}
else
{
if (b > c)
{
printf("小猪b最重");
}
}
}
3、三目运算符
三目运算符为 ?:
通常形式为:表达式1?表达式2:表达式3
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<time.h>
#define MAX(a,b) (a)>(b)?(a):(b)//宏定义一个表达式
int main011()
{
int a = 10;
int b = 20;
printf("%d\n", MAX(a, b));
return 0;
}
int main11_01()
{
int a = 10;
int b = 20;
//?: 三目运算符 表达式1?表达式2:表达式3 表达式1运行为真 输出表达式2结果 否则输出表达式3
printf("最大值为:%d\n", a > b ? a : b);
return EXIT_SUCCESS;
}
4、switch语句
switch语句的一般形式为:
switch(表达式)
{
case 常量表达式1: 语句1;
case 常量表达式2: 语句2;
…
case 常量表达式n: 语句n;
default: 语句n+1;
}
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<time.h>
int main012()
{
int score;
scanf("%d", &score);
switch (score/10)
{
case 10:
printf("优秀\n");
break;
case 9:
printf("优秀\n");
break;
case 8:
printf("良好");
break;
case 7:
printf("及格");
break;
case 6:
printf("及格");
break;
default:
printf("不及格");
break;
}
}
5、while语句
while(表达式)
{
语句
}
其中表达式是循环条件,语句为循环体
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<time.h>
int main13_01()
{
//while表达式当表达式为真,则执行下面的语句;语句执行完之后再判断表达式是否为真,
//如果为真,再次执行下面的语句;
int i = 0;
//死循环
while (i < 10)
{
printf("%d\n", i);
i++;
}
return EXIT_SUCCESS;
}
int main13_02()
{
int i = 1;
while (i <= 100)
{
if (i % 2 == 0)
{
printf("%d\n", i);
}
i++;
}
}
//凡是带7或者7的倍数都敲桌子,否则正常输出
int main13_03()
{
int i = 1;
while (i < 100)
{
//7的倍数||个位带7||十位带7
if (i % 7 == 0 || i % 10 == 7 || i / 10 == 7)
{
printf("敲桌子\n");
}
else
{
printf("%d\n", i);
}
i++;
}
return 0;
}
6、do while语句
do while的一般形式为:
do
{
语句
}
while()
//它先执行do中的循环体再判断while中的条件是否为真,真继续执行循环体,假则跳出。
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<time.h>
int main14_01 ()
{
int i = 0;
//do while语句 do {表达式} while(表达式);
do
{
printf("%d\n",i);
i++;
} while (i < 10);
return 0;
}
//水仙花 从100-999各个位数的立方和相加等于这个数本身就是一个水仙花数
int main14_02()
{
int i = 100;
do
{
int a = i % 10;//个位数
int b = i / 10 % 10;//十位数
int c = i / 100;//百位数
if (pow(a,3) + pow(b,3) + pow(c,3) == i)
// pow计算此方值, 在<math.h>函数库中
{
printf("%d\n", i);
}
i++;
} while (i<=999);
}
7、for循环
for循环的一般形式为:
for(表达式1; 表达式2; 表达式3)
{
语句块
}
//它的运行过程为:
1) 先执行“表达式1”。
2) 再执行“表达式2”,如果它的值为真(非0),则执行循环体,否则结束循环。
3) 执行完循环体后再执行“表达式3”。
4) 重复执行步骤 2) 和 3),直到“表达式2”的值为假,就结束循环。
上面的步骤中,2) 和 3) 是一次循环,会重复执行,for 语句的主要作用就是不断执行步骤 2) 和 3)。
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<time.h>
int main15_01()
{
int j = 5;
for (int i = 0; i < 10,j<10; i++,j+=5)
{
printf("%d\n", i);
}
return 0;
}
int main15_02()
{
int i = 0;
for (; i < 10; )
{
if (i >= 10)
{
break;//在循环语句中遇到break表示结束循环
}
printf("%d\n", i);
i++;
}
}
//通过程序随机一个1~100之间的数字
int main15_03()
{
//产生随机数
//1、导入头文件 time.h stdlib.h
//2、添加随机数种子
//3、获取随机数
srand((unsigned int)time(NULL));//每次随机的数字不一样
//int value = rand() % 10;//随机0~9之间的数
/*for (int i = 0; i < 10; i++)
{
int value = rand() % 10;
printf("%d\n", value);
}*/
int value = rand() % 100;//0~99
int num;
for (;;)
{
printf("请输入您的数字:\n");
scanf("%d", &num);
if (value > num)
{
printf("您输入的数字太小了\n");
}
else if (value < num)
{
printf("您输入的数字太大0了\n");
}
else
{
printf("您输入的数字正确\n");
break;
}
}
return 0;
}
8、嵌套循环的两个例子
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<time.h>
#include<Windows.h>
int main16_01()
{
//外层执行一次,内层执行一周
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 5; j++)
{
printf("i=%d,j=%d\n", i, j);
}
return 0;
}
}
//电子时钟
int main16_02()
{
for (int i = 0; i < 24; i++)
{
for (int j = 0; j < 60; j++)
{
for (int k = 0; k < 60; k++)
{
system("cls");//清屏
printf("%02d:%02d:%02d\n", i, j, k);
Sleep(960);
}
}
}
}
//九九乘法口诀
/*
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
*/
int main()
{
for (int i = 1; i <= 9; i++)
{
for (int j = 1; j <= i; j++)
{
printf("%d*%d=%d", j, i, i * j);
}
printf("\n");
}
}
system(cls); 为清屏操作