C语言学习记录
日期: 8.11
C语言是结构化的程序设计语言
- 顺序结构
- 选择结构
- 循环结构
📖今日知识点 ——if语句
语法结构:
if(表达式)
语句;if(表达式)
语句1;else
语句2;
//多分支
if(表达式1)
语句1;else if(表达式2)
语句2;else
语句3;
else与最近的if匹配,而不是和谁对齐匹配
💻练习代码
#include<stdio.h>
//if语句
//int main()
//{
// int age = 20;
// if (age >= 18)
// {
// printf(“成年\n”);
// }
//
// else
// {
// printf(“未成年\n”);
// printf(“不能谈恋爱\n”);
// }
// int age = 60;
// if (age < 10)
// {
// printf(“少年\n”);
// }
// else if (age >=18 && age < 26)
// {
// printf(“青年\n”);
// }
// else if (age >= 26 && age < 40)
// {
// printf(“中年\n”);
// }
// else if (age >= 40 && age < 60)
// {
// printf(“壮年\n”);
// }
// else if (age >= 60 && age < 100)
// {
// printf(“老年\n”);
// }
// else
// {
// printf(“修仙\n”);
// }
// return 0;
//}
// int main()
// {
// int a = 0;
// int b = 2;
// if (a == 1)
// if (b == 2)
// printf(“hehe\n”);
// else
// printf(“haha\n”);
// return 0;
// }
//int main()
//{
// int num = 3;
// if (5 == num)//当不小心泄漏一个=时,会报错
// printf(“hehe\n”);
// return 0;
//}
//判断是否为奇数
//int main()
//{
// int num = 15;
// if (num % 2 == 1)
// printf(“为奇数\n”);
// return 0;
//}
//输出1-100之间的奇数
//int main()
//{
// int i = 0;
// for (i=1;i<=100;i++)
// {
// if (i % 2 == 1)
// printf("%d ",i);
// }
// for (int i = 1;i<=100;i+=2)
// {
// printf("%d ",i);
// }
// return 0;
//}
📖今日知识点 ——switch语句
引入:比如:
输入1,输出星期一
输入2,输出星期二
输入3,输出星期三
输入4,输出星期四
输入5,输出星期五
输入6,输出星期六
输入7,输出星期日
如果写成if…else if…else if的形式太复杂了,那就用不一样的语法形式,就用switch语句。
switch (整形表达式)
{
语句项;}
什么是语句项?是一些case语句
输入数字n,就从casen开始执行打印,直至所有case语句执行完。若想要输入n,就只执行case n语句,那么要加上break(用来结束语句)。
break不是必须加的
default的作用:如果用户输入的值不匹配现有的case标签时,default子句后面的语句就会执行,每个switch只能出现一条default语句
💻练习代码
//switch语句,也属于分支语句,常用于多分支的情况
//int main()
//{
// int day = 0;
// scanf(“%d”, &day);
// switch (day)
// {
// case 1:
// printf(“星期一\n”);
// break;
// case 2:
// printf(“星期二\n”);
// break;
// case 3:
// printf(“星期三\n”);
// break;
// case 4:
// printf(“星期四\n”);
// break;
// case 5:
// printf(“星期五\n”);
// break;
// case 6:
// printf(“星期六\n”);
// break;
// case 7:
// printf(“星期日\n”);
// break;
// }
// return 0;
//}
//1-5 工作日
//6-7 休息日
//int main()
//{
// int day = 0;
// scanf(“%d”, &day);
// switch (day)
// {
// case 1:
// case 2:
// case 3:
// case 4:
// case 5:
// printf(“工作日\n”);
// break;
// case 6:
// case 7:
// printf(“休息日\n”);
// break;
// default://如果用户输入的值不匹配现有的case标签时,default子句后面的语句就会执行,每个switch只能出现一条default语句
// printf(“输入错误\n”);
// break;
// }
// return 0;
//}
//int main()
//{
// int n = 1;
// int m = 2;
// switch (n)
// {
// case 1:m++;//m=3
// case 2:n++;//n=2
// case 3:
// switch (n)
// {//switch允许嵌套使用
// case 1:
// n++;
// case 2:
// m++;n++;//m=4,n=3
// break;
// }
// case 4:
// m++;//m=5,n=3
// break;
// default://如果用户输入的值不匹配现有的case标签时,default子句后面的语句就会执行,每个switch只能出现一条default语句
// break;
// }
// printf(“m = %d, n = %d\n”,m,n);
// return 0;
//}
//写代码将三个整数按大小输出
//int main()
//{
// int a = 0;
// int b = 0;
// int c = 0;
// //输入
// scanf(“%d%d%d”,&a, &b, &c);
// //调整顺序
// if (a < b)
// {
// int tmp = a;//新建临时变量 tmp,先把 a 的值存起来
// a = b;//把 b 的值赋值给 a
// b = tmp;
// }
// if (a < c)
// {
// int tmp = a;//新建临时变量 tmp,先把 a 的值存起来
// a = c;//把 c 的值赋值给 a
// c = tmp;
// }
// if (b < c)
// {
// int tmp = b;//新建临时变量 tmp,先把 b 的值存起来
// b = c;//把 c 的值赋值给 b
// c = tmp;
// }
// //输出——从大到小
// printf(“%d %d %d\n”,a, b, c);
// return 0;
//}
//写一个代码打印1~100之间所有3的倍数的数字
//int main()
//{
// int a = 0;
// for (a = 1;a <= 100;a++)
// {
// if(a % 3 == 0)
// printf("%d ",a);
// }
//
// return 0;
//}
//给定两个数,求这两个数的最大公约数
int main()
{
int a = 0; int b = 0; scanf("%d%d",&a, &b);//24,18 int max = 0; //假设最大公约数就是a b的最小值 if (a > b) max = b; else max = a; while (1) { if (b % max == 0 && a % max == 0) { printf("最大公约数就是:%d\n",max); break; } max--; } return 0;}