鹏哥C语言(进阶)25---选择语句 if 和 switch
//------------------------------------------------------------------------------------------BIT-2-分支语句和循环语句
//分支语句 if switch
//循环语句 while for do while
#include <stdio.h>
//-------------------------------------------------------------------------------------------------------1. 什么是语句
/*
表达式语句
函数调用语句
控制语句: 分为
//条件判断语句:if switch
//循环执行语句:for while do while
//转向语句:break goto continue return
复合语句
空语句
*/
//C语言是【结构化】的程序设计语言
// 顺序结构 选择结构 循环结构
// if for
// switch while
// do while
//--------------------------------------------------------------------------------------------------2. 分支语句(选择结构)
//也叫条件判断语句
// if
// switch
//----------------------------------------------------------------------------------------------------2.1 if 语句
// 0 表示假 非0表示真
//---------------------------------------------------------------------------------------------------2.1.1 悬空else
/*
int main()
{
if (3 == 5)//条件为假
printf("hehe\n");//不打印
//-------------------------------------------------------------
int a = 10;
if(a=3)// 一个 = 为赋值 ,不为0 即为真
printf("xixi\n");//打印
//------------------------------------------------------------
int b = 5;
if(b==3)//条件为假,不打印
printf("lala\n");//不打印
//----------------------------------------------------------
int age = 17;
if(age>18)//条件为假
printf("成年\n");//不打印
//--------------------------------------------------------
int age2 = 18;
if(age2<18)
printf("未成年\n");
else
printf("成年\n");//打印成年
//---------------------------------------------------------
//如果条件成立要执行多条语句,应该使用 代码块,也就是给语句加上大括号
// if 和 else 都默认控制一条语句
int age3 = 16;
if (age3 < 18)
{
printf("未成年\n");
printf("不能饮酒\n"); // if 语句后如果跟多条语句 要用大括号
}
else
{
printf("成年\n");//打印成年
}
//-----------------------------------------------------------多分支 if 语句
int age4 = 22;
scanf_s("%d",&age4);//-----------------------------------------输入的时候不加 \n
if (age4 < 18)
printf("青少年\n");
// else if(18<=age4<28) 不能这么写
else if (age4 >= 18 && age4 < 28) //多分支
printf("青年\n");
else if (age4 >= 28 && age4 < 40)//多分支
printf("中年\n");
else if (age4>40 && age4<60)//多分支
printf("壮年\n");
else if (age4 > 60 && age4 <=100)//多分支
printf("老年\n");
else
printf("老寿星\n");
//所有的多分支只选择一个
//--------------------------------------------------------
int m = 10;
int n = 100;
if (m == 1)
if (n == 100)
printf("hehe\n");
else// else 和离他最近的 if 匹配
printf("haha\n");
// 啥也不打印,没有输出
// if 和 else 是一条语句
return 0;
}
*/
//-------------------------------------------------------写代码习惯
//1.变量的命名:有意义,规范
//2.空格 空行 换行 的使用
//------------------------------------------------------------------------------------------------2.1.2 if书写形式的对比
//--------------------------代码1
/*
int test()
{
int a = 4;
if (a == 3)
return 1;
return 0;
}
int main()
{
int s=test();
printf("%d\n", s);
return 0;
}
*/
//--------------------------代码2
/*
int main()
{
int num = 3;
// if (num == 5) //判断相等不相等的问题
// if (num = 5) // num=5 为真,执行语句
if (5 == num) //防止漏写等号发现不了
printf("hehe\n");
else
printf("xixi\n");
}
*/
//----------------------------------------------------------------------------------------------------2.1.3 练习
//-------------------------------------------------------练习一:判断一个数是否为奇数
/*
int main()
{
int a = 0;
scanf_s("%d", &a);
//判断
if (a%2==1)
printf("是");
else
printf("否");
}
*/
//-------------------------------------------------------练习二:输出1-100之间的奇数√√
//----------------------------------------------------自写版
/*
int main()
{
int a = 0;
while (a < 100)
{
a = a++;
if(a%2==1)
printf("%d ", a);
}
return 0;
}
*/
写对了太棒了!!!!!!夸夸自己 !!!!!!!!!!!!!!!!!!!
//----------------------------------------------------教学版1
/*
int main()
{
int a = 1;
while (a < 100)
{
if (a % 2 == 1)
printf("%d ", a);
a = a++;
}
return 0;
}
*/
//----------------------------------------------------教学2
/*
int main()
{
int a = 1;
while (a < 100)
{
printf("%d ", a);
a +=2;
}
return 0;
}
*/
//------------------------------------------------------------------------------------------------------2.2 switch 语句
//也是一种分支语句,通常用于多分支情况
/*
int main()
{
int day = 0;
scanf_s("%d",&day);
//if (1 == day)
// printf("星期一\n");
//else if(2==day)
// printf("星期一\n");
//else if (3 == day)
// printf("星期三\n");
//else if (4 == day)
// printf("星期四\n");
------------------------------太复杂
return 0;
}
*/
//------------------------------------------------------------------------------------2.2.1 switch 语句中的break
//-----------------------------------------switch语句 格式1
/*
int main()
{
int day = 0;
scanf_s("%d", &day);
switch (day)// ( )必须是整型 int
{
case 1://case 语句必须是 整型+常量 表达式
//case n:
//case 1.5:
printf("星期一\n");
break;//跳出语句
case 2:
printf("星期二\n");
break;
case 3:
printf("星期三\n");
break;
case 4:
printf("星期四\n");
break;
case 5:
printf("星期五\n");
break;
}
return 0;
}
*/
//-----------------------------------------switch语句 格式2
// 输入 1-5,输出 weekday
// 输入 6-7, 输出 weekend
/*
int main()
{
int day = 0;
scanf_s("%d", &day);
switch (day)
{
case 1:
case 2:
case 3:
case 4:
case 5:
printf("weekday\n"); //多个case匹配同一条执行语句
break;
case 6:
case 7:
printf("weekend\n");//多个case匹配同一条执行语句
break;
}
return 0;
}
*/
//编程好习惯----------给最后一个 case 也加上 break
//---------------------------------------------------------------------------------------------2.2.2 default子句
/*
int main()
{
int day = 0;
scanf_s("%d", &day);
switch (day)
{
case 1:
case 2:
case 3:
case 4:
case 5:
printf("weekday\n");
break;
case 6:
case 7:
printf("weekend\n");
break;
default:// 当输入值不符合case的值时,执行default 语句
printf("选择错误\n");
break;
}
return 0;
}
*/
// if 语句可以表达范围, 而switch 语句做不到
//---------------------------------------------------------------------------------------------2.2.3 练习
//------------------------------------------------------------------------练习一
//求输出结果
int main()
{
int n = 1;
int m = 2;
switch (n)
{
case 1:m++;// m=3 没有break,执行下一条case2
case 2:n++;// n=2 没有break,执行下一条case3
case 3://进入
switch (n)// switch允许嵌套使用
{
case 1:n++; //不执行
case 2:m++; n++;//m=4 n=3
break; //里边的switch 执行结束
}// csae3 没有break, 继续执行 case4
case 4:m++; //m=5
break;//执行结束
default:
break;
}
printf("m=%d, n=%d\n", m, n);// 输出结果 m=5 n=3
return 0;
}
原文地址:https://blog.csdn.net/most_wanted_/article/details/142178486
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!