学嵌入式C语言,看这一篇就够了(6)

张裕  金牌会员 | 2025-3-21 20:41:41 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 670|帖子 670|积分 2010


C语言的语句和块

C语言尺度中一共提供6种语句
注意:C语言中的语句要指明执行的操作,并且没有特殊环境,语句是按照顺序执行的

一般把实现某些功能的语句整合在一起,构成一个语法单位,C语言尺度的语法单位也被称为块,也被称为块语句
复合语句

复合语句可以限制语句的作用范围,但是一般环境复合语句很少单独利用,都是和其他语句一起利用利用

{  }内就是复合语句
表达式语句

C语言程序一般利用表达式来实现某种操作,表达式是由一组操作符以及操作数组成,目标是实现某种特定的操作


选择语句


(1)针对一种环境

C语言尺度中提供了一种 if() 语句,if是C语言的关键字之一,具有“假如”的含义,可以看到if()语句需要一个控制表达式,当表达式为真时,则会执行statement,假如表达式为假,则不执行statement



(2)针对两种环境

C语言中提供了if()... else结构的语句,else是C语言关键字之一,具有“否则”,当if语句的表达式不成立时,则会执行else对应的语句
  1. if ( 表达式 )
  2. {
  3.         块语句1;        //当表达式为真,则执行块语句1
  4. }
  5. else
  6. {
  7.         块语句2;        //当表达式为假,则执行块语句2
  8. }
复制代码
(3)针对多种环境

C语言尺度提供了switch语句,switch也是C语言关键字之一,用于表现多分支选择,需要配合标签语句一起用:
  1. switch( 表达式 )  //表达式结果必须是整型
  2. {
  3.         case  常量表达式1  :  待执行的语句1
  4.         case  常量表达式2  :  待执行的语句2
  5.         case  常量表达式3  :  待执行的语句3
  6.         case  常量表达式4  :  待执行的语句4
  7.         default                          :  待执行的语句n ---->当所有的case语句都不满足时才会执行!!!
  8. }
复制代码
标签语句

C语言尺度中提供了3种标签语句,其中利用频率较高是case标签和default标签,case和default都是C语言的关键字之一,case具有匹配的含义,default具有默认的含义
  1. case  常量表达式1  :  待执行的语句1
  2. case  常量表达式2  :  待执行的语句2
  3. case  常量表达式3  :  待执行的语句3
  4. case  常量表达式4  :  待执行的语句4
  5. default                          :  待执行的语句n   ----->当所有的case语句都不满足时才会执行!!!
复制代码
  1. 注意:case标签的常量表达式的结果必须是整型常量,并且case标签必须是互斥的(不能出现重复的情况,会导致二义性)
  2. 注意:case标签语句和default标签语句只能在switch语句中使用,对于普通的标签语句是可以在跳转语句中使用的
  3. 注意:switch语句应该结合break语句,目的是利用break语句终止switch语句,避免多个标签都被执行
复制代码

  1. switch( 表达式 )  //表达式结果必须是整型
  2. {
  3.         case  常量表达式1  :  { 待执行的语句1 ..... }  break;
  4.         case  常量表达式2  :  { 待执行的语句2 ..... }  break;
  5.         case  常量表达式3  :  { 待执行的语句3 ..... }  break;
  6.         case  常量表达式4  :  { 待执行的语句4 ..... }  break;
  7.         default                          :  待执行的语句n ---->当所有的case语句都不满足时才会执行!!!
  8. }
复制代码
跳转语句

C语言尺度中提供了四种跳转语句:goto语句、continue语句、break语句、return语句






迭代语句

C语言尺度中提供了3种迭代语句给用户完成重复性的工作,迭代也可以明白为循环,可以重复执行某个代码块

可以看到,C语言尺度中提供了while()语句、do ...while()语句、for()语句,每种语句都具有控制表达式,当控制表达式的值不便是0则会重复执行循环体,当控制表达式的值便是0时终止循环体的执行
(1)while()语句



(2)do...while()语句



(3)for()语句


循环语句内部的循环体一般都需要结合break语句、continue语句,都属于跳转语句!!!!!!

Question1:

Answer1:
  1. A. a += (a++):+= 左边 a 是合法左值,a++ 先取值参与运算再自增,语法正确
  2. B. a += (++a):++a 先自增再取值,a 作为左值参与 +=,语法正确
  3. C. (a++) += a:a++ 是右值(临时值),不能作为复合赋值的左值,语法错误
  4. D. (++a) += (a++):++a 是左值,可作为 += 左操作数,语法正确
复制代码
Question2:

Answer2:
  1. #include <stdio.h>
  2. // 判断b是否在a、c之间
  3. int check_between(int a, int b, int c) {
  4.     int min_val = (a < c) ? a : c;
  5.     int max_val = (a > c) ? a : c;
  6.     return min_val < b && b < max_val;
  7. }
  8. int main() {
  9.     int a = 1, b = 3, c = 5;  // 可修改a、b、c的值测试
  10.     int result = check_between(a, b, c);
  11.     if (result) {
  12.         printf("b在a和c之间\n");
  13.     } else {
  14.         printf("b不在a和c之间\n");
  15.     }
  16.     return 0;
  17. }
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

张裕

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表