[嵌入式C][入门篇] 快速掌握基础(9个语句)

发布时间:2024年01月04日

开发环境:

  1. 网页版:跳转
  2. 本地开发(Vscode):跳转

一、基础语法

在这里插入图片描述

(1)if (如果)

示例1: 普通使用 if

一般形式: if (表达式) {语句;}
在这里插入图片描述

#include <stdio.h>
int main()  {
	int a = 8; // 定义一个变量
	if (a > 6) { // 为真执行语句  为假不执行
		printf("%d\n", a);
	}
	return 0;
}

在这里插入图片描述

示例2: 带否则 else

一般形式:if(表达式) {语句1; } else { 语句2;}
在这里插入图片描述

#include <stdio.h>
int main()  {
	int a = 8; // 定义一个变量
	if (a > 10) { // 为真执行语句  为假不执行
		printf("a > 10, a = %d\n", a);
	} else {
		printf("a < 10, a = %d\n", a);
    }
    //
	a = 88; // 改变变量值
	if (a > 10) { // 为真执行语句  为假不执行
		printf("a > 10, a = %d\n", a);
	} else {
		printf("a < 10, a = %d\n", a);
    }
	return 0;
}

在这里插入图片描述

示例3: 否则如果 else if

一般形式:
if(表达式1) { 语句1;}
else if(表达式2) {语句2;}

else if(表达式n){语句n;}
else{语句n+1;}

#include <stdio.h>
int main()  {
	int a = 8; // 定义一个变量
	if (a > 10) { // 为真执行语句  为假不执行
		printf("a > 10, a = %d\n", a);
	} else if (a < 9) {
		printf("a < 9, a = %d\n", a);
	} else {
		printf("a < 10, a = %d\n", a);
    }
	return 0;
}

在这里插入图片描述

(2)switch case (选择)

一般形式:
switch(表达式)
{
case 常量1:语句1;
case 常量2:语句2;

case 常量n:语句n;
default: 语句n+1;
}

规则

  1. switch表达式必须是整数或字符类型。
  2. case值必须是整数或字符常量。
  3. case值只能在switch语句内部使用。
  4. switch case中的break语句是可选的。如果在case中没有找到break语句,匹配的case之后的所有case都会被执行。这被称为C语言switch语句的"穿透"状态。

示例1:

#include<stdio.h>
int main() {
  int a = 10;
  switch(a) {
      case 10:
          printf("数字等于10");
          break;
      case 50:
          printf("数字等于50");
          break;
      case 100:
          printf("数字等于100");
          break;
      default:
          printf("数字不等于10、50或100");
  }
  return 0;
}

在这里插入图片描述

(3)for (计次循环)

一般形式:
for(循环变量赋初值;循环条件;循环变量增值){
语句
}

示例1:

#include<stdio.h> //头文件
int main() { //主函数
  for(int i=1;i<11;i++) { //循环条件和增量
    printf("%d",i);//输出结果
  }
  return 0;//函数返回值为0
}

在这里插入图片描述

(4)while (判断循环)

一般形式:
while(表达式){
//代码块

在这里插入图片描述

示例1:

#include<stdio.h> //头文件
int main() { //主函数
int i=0;
  while(i != 10) { //循环条件 (i≠10)
    printf("%d\r\n",i);//输出结果
    i++; // i每次+1
  }
  return 0;//函数返回值为0
}

在这里插入图片描述

(5)do while (判断循环尾)

在这里插入图片描述
一般形式:
do{
循环体
}while(表达式);

示例1: 和while效果一致

#include<stdio.h> //头文件
int main() { //主函数
int i=0;
  do { //循环条件 (i≠10)
    printf("%d\r\n",i);//输出结果
    i++; // i每次+1
  } while(i != 10);
  return 0;//函数返回值为0
}

在这里插入图片描述

示例2: 和while的区别 (保证能执行一次)

#include<stdio.h> //头文件
int main() { //主函数
int i=0;
   do { //循环条件 (i≠10)
    printf("%d\r\n",i);//输出结果
    i++; // i每次+1
  } while(i != 1);
  printf("最终结果:%d\r\n",i);//输出结果
  return 0;//函数返回值为0
}

在这里插入图片描述

(6)break (跳出循环)

break语句通常用于do-while、for、while循环语句中时,可使程序终止循环。

示例1:

#include<stdio.h> //头文件
int main() { //主函数
int i=0;
  while(i != 10) { //循环条件 (i≠10)
    printf("%d\r\n",i);//输出结果
    i++; // i每次+1
    if (i==5) break; // 如果i=5,则跳出循环
  }
  return 0;//函数返回值为0
}

在这里插入图片描述

(7)continue (到循环尾)

continue语句放在循环体内,用来跳过循环体中某一次后面的语句,进入下一次循环。

示例1:

#include<stdio.h> //头文件
int main() { //主函数
int i=0;
  for(i=0; i<10; i++) { //循环条件 (i≠10)
	if (i==5) continue; // 如果i=5,则进入下个循环
    printf("%d\r\n",i);//输出结果
  }
  return 0;//函数返回值为0
}

在这里插入图片描述

(8)return (返回)

用于函数的返回值和控制流程

规则

  1. 在函数执行过程中,只能使用return语句一次。
  2. 如果函数的返回值类型为void,则可以省略return语句;否则必须使用return语句返回一个值。
  3. 如果在函数中使用了多个return语句,则需要保证每个return语句都能够被执行到,并且返回的值是正确的。
  4. 在使用return语句时,应该考虑函数的调用方式和传递参数的方式,以确保返回的值能够满足调用方的需要。

示例1: 在循环体中使用

#include<stdio.h> //头文件
int main() { //主函数
int i=0;
  for(i=0; i<10; i++) { //循环条件 (i≠10)
	if (i==5) return 0; // 如果i=5,则跳出循环。 这里的return相当于break
    printf("%d\r\n",i);//输出结果
  }
  return 0;//函数返回值为0
}

在这里插入图片描述

示例2: 返回参数

#include<stdio.h> //头文件
int test(void) {
	return 8;
}

int main() { //主函数
  int i=test(); // 调用test函数得到返回值
  printf("%d\r\n",i);//输出结果
  return 0;//函数返回值为0
}

在这里插入图片描述

(9)goto (跳转)

一般形式:
goto a;
.
.
a: 语句;
在这里插入图片描述
在这里插入图片描述

规则

  1. 使用 goto 语句只能 goto 到同一函数内,而不能从一个函数里goto到另外一个函数里。
  2. 应该避免向两个方向跳转, 防止函数进入死循环,无法退出。

注意:在任何编程语言中,都不建议使用 goto 语句。因为它使得程序的控制流难以跟踪,使程序难以理解和难以修改。任何使用 goto 语句的程序可以改写成不需要使用 goto 语句的写法。

示例1:

#include <stdio.h>
int main () {
   /* 局部变量定义 */
   int a = 0;
  do {
      if(a == 5) {
         /* 跳过迭代 */
         a = a + 1;
         goto FLAG1; // 跳转到标记1
      }
      printf("a 的值: %d\n", a);
      a++;
   }while(a < 20);
FLAG1:  // 标记1
	printf("标记1\r\n");
   return 0;
}

在这里插入图片描述

文章来源:https://blog.csdn.net/qq_29246181/article/details/135372854
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。