C语言基础——结构性语句

1.顺序结构  从上到下依次执行 
    2.分支结构  需要根据条件 选择性执行某些代码或跳过某些代码
    3.循环结构  根据条件 对某些代码 重复执行 

分支结构: 
    二分支:
if( 条件表达式 )
{
    语句块1; //当 条件表达式 的值为 真 时 语句块1执行
}
else
{
    语句块2; //当 条件表达式 的值为 假 时 语句块2执行
}

格式简化或变种:
    1. 语句块  只有一行C代码  即只有一个; 结束 
        代码块的 {} 可以省略不写
    2. else 部分 没有代码  else {} 都可以省略 

练习:  输入你的成绩   输出 及格 60 不及格 
练习2: 输入你的成绩   输出 优90良80中60差    

 

 

 

if嵌套: 即 if的代码块中包含 if结构

    多分支: 
结构:  
switch( 整型表达式 )
{
    case  常量整型表达式1: 
        语句块1; 
        break;
    case  常量整型表达式2: 语句块2; break;
    .....
    default: 语句块n;    
}

整型表达式: 表达式的值 是一个整数  可以有变量   a / 10;
常量整型表达式: 表达式的值 是一个整数  不能有变量   5+3; 

运算逻辑: 
    计算 整型表达式 的值,  依次 从上到下 与 case 中的 
    常量整型表达式 的值 比较 ==
    若相等, 则 执行 对应case 后的 语句块,  
        若 遇到break关键字  退出switch结构
        若 没有break关键字  继续向下执行 后续case中的语句块 
    若不相等 则 继续向下比较 其他case中的值 
    default 语句块 在 没有命中 case中的值时 
        执行该语句块 若一直没有break关键字,也会执行到default 语句块 
        若不需要 default也可以省略
    使用注意:  1.switch结构只对整型结构有效  
               2. 不能对变量进行case 
               3. case中的值不能存在相等的
练习: 
    输入一个 日期  年月日 计算 这个一天 是 这一年的第几天?
    
  循环结构: 
    通常在程序中 需要反复执行某些动作, 则需要循环 
    即在某些情况下,程序会跳转到前面去继续执行代码 

 

while 循环 
结构: 
while( 条件表达式 )
{
    循环语句块;
}
执行逻辑:
    1.先判断 条件表达式的 真假
    若真: 执行一次循环语句块; 再回到动作1
    若假: 退出循环  即循环结束了

do while循环 
结构:
do{
    循环语句块;
}while( 条件表达式 );
执行逻辑: 
    1. 先执行一次 循环语句块;
    2. 再 判断 条件表达式的 真假
    若真: 执行一次循环语句块; 再回到动作2
    若假: 退出循环  即循环结束了

示例: 求 1+2+3+4+.... 100=的和
    存在循环 sum += i++;
    退出条件   i <= 100
   

 

for循环 
结构:
for( 循环初始化语句 ; 循环条件表达式 ; 递进表达式 )
{
    循环体;
}
执行逻辑:
    1. 先执行一次  循环初始化语句
    2. 判断 循环条件表达式 的真假
        若真 执行 循环体一次;  在执行一次递进表达式; 回到 动作2  
        若假 退出 循环 
    
    递进表达式: 即使continue提前结束了本次循环,下一次循环开始前 递进表达式 也要执行
    
    缩略写法:
    若 循环初始化语句 没有 可以不写 
    若 循环条件表达式 不写 表示一直为真 
    若 递进表达式 不需要  也可以省略不写 

死循环:     
for(;;)    
{}

while(1)
{}    
    
练习: 输入一个数num  输出这个数的阶乘  5! = 1*2*3*4*5    

 

循环控制关键字:
    break;   提前跳出循环  不执行循环了 对于嵌套循环  只能跳出本循环 
    continue; 继续  提前结束 本次循环 重新开始下一次循环 

    goto    程序跳转关键字   只能在同一个函数中进行跳转 

示例:
    打印 0-10 中 的 奇数 与 偶数 

作业3: 打印输出 99乘法表   循环实现 


作业4: 求 斐波那契数据 第 25项的值
    1  1  2  3  5  8  13 .... 


    
goto示例:
银行转账: 
        A --->  B 
    1. A -= 100;  若 1 失败 goto end;
    2. B += 100;  若 2 失败 goto err;
    printf("操作成功");
    return 0;
err:   // 操作回滚
    A += 100;
end:
    printf("操作失败!");
    

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值