c语言笔记-----选择结构(switch)、循环结构(while,do while,for)条件运算符

选择结构(switch语句)

1、switch语句属于多路判断语句,用来处理多分支问题。
基本格式:
switch(表达式)
{
case 整型常量表达式1: 语句1; break;
case 整型常量表达式2: 语句2; break;
case 整型常量表达式n-1: 语句n-1;break;
default:语句n; break;
}
注意:
1)语句体可以是一条语句,也可以是多条语句,在switch–case语句中既使是多条语句,也不强制使用花括号,这一点和if–else语句不同。
2)break表示 停止,中断,即结束对switch–case语句的执行。break语句可根据需要添加。
3)default部分指缺省状况,在case语句都没有执行到时执行该语句。
4)switch(表达式)中的值只能是整型。
5)case之后可以是常量,也可以是常量表达式。

2、 switch语句执行过程:
先计算switch后面表达式的值;然后将计算出的值和case后整型常量表达式的值进行比较,如果值相等则执行case后的语句,执行完后,如果没有遇到break,继续执行后续语句,遇到break后,跳出switch结构;如果没有相等的值则执行defult,当没有一个值相等,也没有defult时,则不执行switch中的任何语句。

代码演示:

//百分制向五分制转换
#include<stdio.h>
#include<stdlib.h>
int main()
{
	int x,five,grade;
	printf("请输入百分数:\n");
	scanf("%d",&x);
	grade=x/10;
	switch(grade)
	{
	  case 10:
	  case 9:       //当case后的值相同时,可以共用
			five=4;
			break;
	  case 8:
		  five=3;
		  break;
	  case 7:
		  five=2;
		  break;
	  case 6:
		  five=1;
		  break;
defult:
		  five=0;
	}
	printf("五分制分数为:%d",five);
	system("pause");
	return 0;
}
输入67,
输出1

循环结构

1、while循环(当型循环)

格式为:while(表达式)
****语句1;

执行过程为:先对表达式求解,如果表达式的值为非0,则执行循环体中的语句,执行完后,再对表达式求解,只要表达式的值为非0,循环体就会被反复执行,直到表达式的值为0,控制流程才退出循环结构。
流程图如下:其中T表示为非0,F表示0
在这里插入图片描述
代码演示:

//计算1到100的和
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int i=1,sum=0;
    while(i<=100){
        sum=sum+i;
        i++;
    }
    printf("%d\n",sum);
    system("pause");
    return 0;
}
输出结果为5050

2、do–while循环(直到型循环)

特点:do while循环最大的特点是先执行,后判断
基本格式为
do
语句1;
while (表达式);

执行过程:先执行循环体中的语句,然后求解while后面的表达式,只要表达式的值非0,循环体就会被反复执行,直到表达式的值等于0,控制流程才退出循环结构

注意:do – while 后面有一个 分号,不能省略.
流程图:
在这里插入图片描述
代码演示:

//计算1到100的和
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int i=1,sum=0;
    do{
    sum=sum+i;
    i++;}
    while(i<=100);
    printf("计算结果为: %d",sum);
    system("pause");
    return 0;
}

3、for循环

1、基本格式:
for(表达式1;表达式2;表达式3)
语句1;
或者
for(表达式1;表达式2;表达式3){
语句1;
语句2;
语句3;
}
其中,表达式1一般用于给循环控制变量赋初值,一般是赋值表达式;表达式2一般用来判断循环控制变量的值是否在循环条件内,一般为关系表达式或逻辑表达式;表达式3一般用来更新循环变量的值,可以增加也可以减少,一般为自增自减表达式

2、执行过程:
1)计算表达式1的值,使其能够参与表达式2的条件判断
2)计算表达式2的值,如果表达式2的值为假,循环条件不成立,则不执行循环体,控制流程跳出循环结构;如果为真,循环条件成立,则执行循环体中的语句
3)计算表达式3的值
4)控制流程转回第2步,依次重复执行
3、代码演练:

//用for循环语句实现1到100的和
#include <stdio.h>
#include <stdlib.h>

int main()
{
   int i=1,sum=0;
   for(i=1;i<=100;i++)
    sum=sum+i;
   printf("%d",sum);
    return 0;
}

条件运算符:

条件运算符(? : )是一个三目运算符,即有三个操作数。

 使用条件运算符(?:)可以实现 If else 的功能,其一般形式为:

                表达式1 ? 表达式2 : 表达式3

 其意思是:如果表达式1为真,则运算表达式2,整个条件表达式的值为表达式2的值;反之,则运算表达式3,整个条件表达式的值为表达式3的值。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值