C语言学习笔记03-流程控制(选择排序)

什么是流程控制?

选择

if

  1. if的简单用法:

     	if(表达式){
    		语句
    	}
    	//如果表达式为真,执行'{}'内的语句
    	//如果表达式为假,不执行语句
    	//如果语句为单条语句,'{}'可以省略
    
  2. if的范围问题:
    如果if后有'{}',则'{}'内所有语句都属于if内,如果if后没有'{}',则只有if后面的第一条语句属于if内,后面的else和else if与if遵循同样的原则。

  3. if…else…的用法:

    	 if(表达式){
    		语句1
    	}else{
    		语句2
    	}
    	//如果表达式为真则执行语句1
    	//如果表达式为假,则执行语句2
    
  4. iif…else if…else…的用法:

    	 if(表达式1){
    		语句1
    	}else if(表达式2){
    		语句2
    	}else if(表达式n){
    		语句n
    	}else{
    		语句3
    	}
    	//else前面可以有任意个else if
    	//如果表达式1为真则执行语句1
    	//如果表达式1为假,
    	//从上到下依次判断else if的表达式是否为真值
    	//知道找到第一个为真的表达式,执行表达式后的语句
    	//若所有表达是都为假,则执行else后语句
    
  5. C语言对真假的处理:

    • 表达式的值非零就是真,是零就是假。
    • 真的值就是1,假的值就是0;
      printf("%d",true);//输出结果为1
      printf("%d",false);// 输出结果为0
  6. if举例(对学生的分数评级):
    根据下表编写代码,输入数据,给出等级:

    等级
    -100
    0-90
    0-80
    -60
    #include<stdio.h>
    int main(){
    	int sc = 0;//考试分数
    	scanf("%d",&sc);//从键盘上输入分数
    	if(sc>100||sc<0)
    		printf("输入数据不规范"); 
    	else if(sc>=90)
    		printf("优秀!"); 
    	else if(sc>=80)
    		printf("良好!"); 
    	else if(sc>=60) 
    		printf("及格!");
    	else
    		printf("不及格!"); 
    	return 0}
    
  7. 三目运算符

    语句1?语句2:语句3
    //三目运算符表达式等价于下面的代码
    if(语句1)
    	语句2;
    else 
    	语句3
  8. 逗号表达式

    int i = (语句1,语句2,语句3,语句4)//圆括号内的即为括号表达式
    //表达式从左到右依次执行
    //且表达式的值为左右一个语句的值,即i的值为语句4。
    

switch

  1. switch的用法
    当变量表达式所表达的量与其中一个case语句中的常量相符时,就执行此case语句后面的语句,并依次下去执行后面所有case语句中的语句,除非遇到break;语句跳出switch语句为止。如果常量表达式的量与所有case语句的常量都不相符,就执行default语句中的语句。

    #include<stdio.h>
    int main(){
    	int i = 0;
    	scanf("%d",&i);
    	switch (i)
    	{
    	case 1:
    		printf("1");
    	case 2:
    		printf("2");
    	case 3:
    		printf("3");
    	case 4:
    		printf("4");
    	defaultprintf("没有");
    	}
    }
    
  2. break和continue
    break: 用break语句可以使流bai程跳出switch语句体,也du可以用break语句在循环结构终止本层循环体,从而提zhi前结束本层循环。

    continue: continue语句的作用是跳过本次循环体中余下尚未执行的语句,立即进行下一次的循环条件判定,可以理解为仅结束本次循环。

循环

定义:某些代码(循环体)会被有限次执行

for循环

  1. for循环的基本用法

    for(语句1;语句2;语句3;){
    	循环体
    }
    

    上面的就是for循环的基本语法,在代码的执行过程中,语句1先且只在循环最开始执行一次,当语句2的值为非零时执行循环体(语句2一般为判断语句),循环体执行成功后执行语句3(此时为完成一次循环),之后重新判断语句2

  2. 代码实例(计算1到100包括100中所有偶数的和)

    #include<stdio.h>
    int main(){
    	int sum = 0;//保存最后的和 
    	for(int i = 2;i <= 100;i += 2){
    		sum = sum + i;
    	} 
    	printf("%d",sum);
    	return 0;
    }
    

while循环与do…while循环

  1. 执行顺序
    while

    while(表达式){
    	循环体
    }
    只要表达式为真,就执行循环体,然后重新判断表达式内容
    

    do while

    do {循环体
    }while(表达式);
    先执行一边循环体,在判断
    只要表达式为真,就执行循环体,然后重新判断表达式内容
    
  2. 与for循环比较
    三种循环的本质其实相同,只是表达的方式不同而已。

  3. 代码实例(计算1到100包括100中所有偶数的和)

    while

    #include<stdio.h>
    int main(){
    int sum = 0;//保存最后的和  
    int i = 0;
    while(i <= 100){
    	sum = sum +i;
    	i+=2;
    }
    printf("%d",sum);
    return 0;
    }
    

    do while

    #include<stdio.h>
    int main(){
    	int sum = 0;//保存最后的和 
    	int i = 2; 
    	do{sum = sum +i;
    		i += 2;
    	}while(i <= 100);
    	printf("%d",sum);
    	return 0;
    }
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值