零基础C语言:第三讲(判断、循环语句)

197 阅读2分钟

「这是我参与2022首次更文挑战的第3天,活动详情查看:2022首次更文挑战

判断语句

  • if语句

    • 形式一:if(表达式){……}
    • 举例
    • 形式二:if(表达式){……}else{……}
    • 举例
    • 形式三:if(表达式){……}else if(表达式){……}else if(表达式){……}else{……}
    • 举例
  • switch语句

    • switch(表达式){case 常量表达式1:语句或程序块……case 常量表达式n:语句或程序块n default:语句或程序块n+1}
    • 举例
  • 分支结构的嵌套

    • if(表达式){if(表达式){……}else{……}}else{……}
    • 举例
  • 悬挂else

    • 举例(else与最近的if配对)
  • 等于号带来的问题

    • 举例(判断是使用==,单个=是赋值,当赋值不为0则为真)
    • 解决方法:在进行判断时,使用常量在前面,变量在后面,这样如果写错编译器会报错

循环语句

  • while(表达式){……}

    • 举例1
    • 举例2(输入一串字符,输出字符的个数)
  • do{……}while(表达式);

  • 循环的基本结构

    • 初始化计数器
    • 循环条件
    • 更新计数器
  • for语句

    • for(表达式1;表达式2;表达式3){……}
    • 三个表达式用分号隔开,其中:

      • 表达式1是循环初始化表达式
      • 表达式2是循环条件表达式
      • 表达式3是更新计数器表达式
    • 举例1
    • 举例2(判断输入的数是否为素数)
    • 表达式1,表达式2,表达式3可以按照需要进行省略(但分号不能省):

      • for(;;)、for(表达式1;;)、for(表达式1;表达式2;)
      • 举例
    • 表达式1和表达式3可以是一个简单的表达式,也可以是逗号表达式(即用逗号分隔多个表达式)

      • 举例
    • C99允许在表达式1里面直接定义表达式变量(如果使用c99则需在编译时加上-std=c99)

      • 举例
  • 循环嵌套(先执行内层再执行外层)

    • 举例1
    • 举例2(打印99乘法表)