C语言学习记录日期 8.11C语言是结构化的程序设计语言顺序结构选择结构循环结构今日知识点 ——if语句语法结构if表达式语句if表达式语句1else语句2//多分支if表达式1语句1else if表达式2语句2else语句3else与最近的if匹配而不是和谁对齐匹配练习代码#includestdio.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 (i1;i100;i)// {// if (i % 2 1)// printf(%d ,i);// }// for (int i 1;i100;i2)// {// 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;//m3// case 2:n;//n2// case 3:// switch (n)// {//switch允许嵌套使用// case 1:// n;// case 2:// m;n;//m4,n3// break;// }// case 4:// m;//m5,n3// 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;}