[C语言]条件判断语句 if-else;for;switch;do-while

一、C语言有哪些常用判断语句
流程控制的概念
在一个程序的执行过程中.每行代码的执行顺序如果不同的话,那么对于整个程序的执行结果是不一样的.
所以一般情况下需要人为控制代码的执行过程已达到我们需要的效果,也就是说需要通过一定的手段控制代码的执行顺序
流程控制的分类
顺序结构:标准的从上往下执行的顺序,如if else
分支结构:通过判断一定的条件选择所要执行的代码,而产生若干的分支,如witch
循环结构:通过一定的条件约束部分代码重复执行若干次,如do while

  1. if-else
    语法:
// 判断条件成立了(结果为true),则执行花括号内的程序代码
if(判断条件){
   // 内部的执行代码没有数量限制,一般当执行代码只有一句代码时可以省略花括号,但是一般不建议
}

if-else语法:

if(条件1){
	// 条件1的结果为true时执行的语句
}else if(条件2){
	// 条件2的结果为true时执行的语句
}else{
    // 条件1和条件2都为false时执行的语句
}

注意:
else不能独立存在且总是与它最近的if相匹配
else语句后可以接连其他if语句

  1. switch
    在这里插入图片描述
    注意:
    case语句中的值只能是整型或字符型
    每个case语句分支必须要有break
    default语句有必要加上,,以处理特殊情况
    switch结构顺序执行

  2. for循环
    语法:

for(初始化变量;条件表达式判断;操作表达式){
	// 循环体
}

for循环的执行步骤:
第一步:执行初始化变量,可以写在for之后的小括号中,也可以写在for语句之前

第二步:进行条件表达式判断,如果条件成立了则执行循环体

第三步:每次执行完一遍循环体则进行操作表达式的执行,操作表达式可以写在for之后的小括号中,也可以写在循环体中

第四步:当执行完操作表达式之后再进行条件表达式判断,看是否为true以便决定是否再次循环

注意:
for循环可以嵌套使用,如:

for(初始化变量;条件表达式判断;操作表达式){
	for(初始化变量;条件表达式判断;操作表达式){
	// 循环体
	}
}

嵌套结构外层循环执行一次,内存循环执行一轮
循环可以用break和continue结束

  1. do-while
    语法:
do{
    // 循环体
}while(条件表达式);

注意:
do while循环体在什么情况下都会执行一次再执行条件表达式

另外要注意结束循环体中break和continue的区别,break结束整个循环体,不再执行,continue只结束当前语句,继续执行下一个语句

二、代码分析
C语言部分:

#include <stdio.h>

void test_if_else(int i)
{
	int n = 0;
	
	n = i / 10;
	
    if( n < 9 )
    {
        printf("i is bits\n");
    }
    else if( (10 <= i) && (i <= 99) )
    {
        printf("i is tens\n");
    }
    else
    {
        printf("i is hundreds\n");
    }
}

void test_switch(char i)
{
    switch(i)
    {
        case 'c':
            printf("i is letter c\n");
            break;
        
        case 'a':
            printf("i is letter a\n");
            break;
        
        case 'b':
            printf("i is letter b\n");
            break;
            
        case 'r':
            printf("i is letter r\n");
            break;
        
        default:
            printf("i don't know\n");
            break;
            
    }
}

void test_for(int n)
{
	int i = 0;
	int sum = 0;
	
	for(i=0; i<=n; i++) {
		sum +=i;
	}
	printf("add 1 to %d is %d\n", n, sum);
}

void test_do_while(int n)
{
	int do_time = 0;
	do {
		do_time++;
		n--;
	}while(n > 20);
	printf("do_time = %d\n", do_time);
}

int main()
{
	test_if_else(9);
	test_if_else(99);
	test_if_else(999);
	
	test_switch('a');
	test_switch('f');
	
	test_for(100);
	
	test_do_while(50);
	
	return 0;
}

makefile部分:

CC = gcc
CFLAGS = -g -Wall -O
main:test.o
	$(CC) $^ -o $@
%.o:%.c
	$(CC) $(CFLAGS) -c $^
clean:
	rm -rf test.o

运行结果:
在这里插入图片描述

  • 5
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值