概述
目录
9.1 if选择结构
9.1.1 双分支if命令
9.1.2 单分支if命令
9.1.3 if命令的嵌套结构
9.1.4 if-else if结构
9.2 switch选择结构
9.2.1 switch命令的一般结构
9.2.2 switch命令的执行过程
9.2.3 switch命令的相关说明
9.2.4 switch命令的程序举例
9.1 if选择结构
if选择结构使用if命令实现。
if命令是最基本的选择控制命令,在具体应用中有多种不同的使用形式。但不管何种形式,都要首先判断给定的条件,然后决定下一步要执行程序的哪些语句。
9.1.1 双分支if命令
- 双分支if命令的一般形式
if(表达式)
{语句组1}
else
{语句组2}
其中,“表达式”是if命令进行分支处理的条件;“语句组”是若干个C语句,当它只有一个语句时,花括号{}可以省略。
- 双分支if命令的执行过程
首先对“表达式”求值,然后进行判断分支:如果表达式的值为非0, 则执行{语句组1},然后执行紧接{语句组2}之后的语句;否则,就跳过{语句组1}而执行{语句组2},然后继续向下执行。
- 双分支if命令的程序举例
输入一个整数,判断它的奇偶性。代码如下:
main(){
int n;
printf("Input a number:");
scanf("%d",&n);
if(n%2==0) /* n被2整除时,表达式的值为1 */
printf("The number is even.n");
else
printf("The number is odd.n");
return 0;
}
9.1.2 单分支if命令
- 单分支if命令的一般形式
if(表达式)
{语句组}
- 单分支if命令的执行过程
首先对“表达式”求值,如果表达式的值为非0, 则执行{语句组},然后继续向下执行其他语句;否则,不执行{语句组},直接执行{语句组}之下的语句。
- 单分支if命令的程序举例
①输入一个整数x,若是正数,则输出它。代码如下:
main(){
int x;
printf("input x: ");
scanf("%d",&x);
if(x>0) printf("%dn",x);
}
②用if 语句编写求两个整数的最大数。代码如下:
main(){
int x,y,max;
printf("input x,y: ");
scanf("%d,%d",&x,&y);
max=x;
if(y>x)max=y;
printf("MAX=%dn",max);
}
9.1.3 if命令的嵌套结构
- if命令嵌套结构概念
当一个if语句的{语句组}内又使用了if语句时,就形成了if语句的嵌套结构,这种结构用于多重条件判断的情况。
- if命令嵌套结构的程序举例
对实数x ,若其不小于0,则求它的平方数y ,当y 大于500时输出y ,否则输出500;若x < 0,则输出x。
9.1.4 if-else if结构
- if-else if结构的一般结构
if(表达式1)
{语句组1}
else if(表达式2)
{语句组2}
…
else if(表达式n)
{语句组n}
else
{语句组n+1}
- if-else if结构的执行过程
从上到下逐个对条件进行判断, 一旦发现条件满足就执行与它有关的语句组,其下的所有条件都不再判断,当然它们的语句组也不被执行;当任何一个条件都不满足时,执行最后一个{语句组n+1}。最后这个else常起着“缺省条件”的作用。
- if-else if结构的程序举例
输入x,输出下列函数y的值。
代码如下:
void main(){
float x,y;
scanf("%f",&x);
if(x==0)
y=36.0;
else if(x>0)
y=5.0*x+8.0;
else
y=1.5*x-26;
printf("y=%fn",y);
}
9.2 switch选择结构
switch选择结构是多分支选择的常见形式,由switch命令实现,具有结构清晰的特点。
9.2.1 switch命令的一般结构
switch(表达式)
{
case 常量1:
语句组1
case 常量2:
语句组2
┇
case 常量n:
语句组n
default:
语句组n+1
}
9.2.2 switch命令的执行过程
首先计算switch表达式的值,然后与各个case的“常量”进行比较,若相等,则从其下的语句组开始,依次向下执行各语句组的语句,其后的所有case行及default行都被过滤掉,直至遇到一个强制中断语句break或执行完最后一个语句组语句为止。当所有case都不符合要求时,执行default下的语句组语句。
9.2.3 switch命令的相关说明
(1)任何一个case的语句组允许为空。
(2)switch表达式通常为整数型值或字符型值,case中常量的类型应与之相应。
(3)case中的“常量”位置允许是常数表达式,但不允许是变量表达式。
(4)switch命令允许嵌套,即在case语句组中允许再使用switch命令。
9.2.4 switch命令的程序举例
输入0,1,2,3,4时,显示对应的zero,one,two,three,four;若输入的是其他字符,显示other。程序如下:
void main(){
int i;
scanf("%d",&i);
switch(i){
case 0:
printf("zero ");
break;
case 1:
printf("one ");
break;
case 2:
printf("two ");
break;
case 3:
printf("three ");
break;
default:
printf("other ");
}
printf("n");
}
注:程序中“break”为中断命令,其功能是终止switch语句,使程序立即执行switch语句的后续语句,即“printf("n");”。
最后
以上就是哭泣帆布鞋为你收集整理的C语言学习笔记(9)——选择结构程序设计9.1 if选择结构9.2 switch选择结构的全部内容,希望文章能够帮你解决C语言学习笔记(9)——选择结构程序设计9.1 if选择结构9.2 switch选择结构所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复