0
点赞
收藏
分享

微信扫一扫

C语言基础02_判断,循环等语句

判断语句

C 语言提供了以下类型的判断语句。点击链接查看每个语句的细节。

语句

描述

​​if 语句​​

一个 if 语句 由一个布尔表达式后跟一个或多个语句组成。

​​if...else 语句​​

一个 if 语句 后可跟一个可选的 else 语句,else 语句在布尔表达式为假时执行。

​​嵌套 if 语句​​

您可以在一个 if 或 else if 语句内使用另一个 if 或 else if 语句。

​​switch 语句​​

一个 switch 语句允许测试一个变量等于多个值时的情况。

​​嵌套 switch 语句​​

您可以在一个 switch 语句内使用另一个 switch 语句。


? : 运算符(三元运算符)

我们已经在前面的章节中讲解了 条件运算符 ? :,可以用来替代 if...else 语句。它的一般形式如下:

Exp1 ? Exp2 : Exp3;

其中,Exp1、Exp2 和 Exp3 是表达式。请注意,冒号的使用和位置。

? 表达式的值是由 Exp1 决定的。如果 Exp1 为真,则计算 Exp2 的值,结果即为整个表达式的值。如果 Exp1 为假,则计算 Exp3 的值,结果即为整个表达式的值。

switch语句一般形式:

switch(表达式){
case 常量表达式1:语句1;
case 常量表达式2:语句2;
...
default:语句n+1;}


循环类型

C 语言提供了以下几种循环类型。

循环类型

描述

​​while 循环​​

当给定条件为真时,重复语句或语句组。它会在执行循环主体之前测试条件。

​​for 循环​​

多次执行一个语句序列,简化管理循环变量的代码。

​​do...while 循环​​

除了它是在循环主体结尾测试条件外,其他与 while 语句类似。

​​嵌套循环​​

您可以在 while、for 或 do..while 循环内使用一个或多个循环。


循环控制语句

循环控制语句改变你代码的执行顺序。通过它你可以实现代码的跳转。

C 提供了下列的循环控制语句。

控制语句

描述

​​break 语句​​

终止循环或 switch 语句,程序流将继续执行紧接着循环或 switch 的下一条语句。

​​continue 语句​​

告诉一个循环体立刻停止本次循环迭代,重新开始下次循环迭代。

​​goto 语句​​

将控制转移到被标记的语句。但是不建议在程序中使用 goto 语句。


无限循环

如果条件永远不为假,则循环将变成无限循环。for 循环在传统意义上可用于实现无限循环。由于构成循环的三个表达式中任何一个都不是必需的,您可以将某些条件表达式留空来构成一个无限循环。


#include <stdio.h>

int main ()

{

for( ; ; )

{

printf("该循环会永远执行下去!\n");
}

return 0;

}

当条件表达式不存在时,它被假设为真。您也可以设置一个初始值和增量表达式,但是一般情况下,C 程序员偏向于使用 for(;;) 结构来表示一个无限循环。


C 函数

函数是一组一起执行一个任务的语句。每个 C 程序都至少有一个函数,即主函数 main() ,所有简单的程序都可以定义其他额外的函数。


函数声明告诉编译器函数的名称、返回类型和参数。函数定义提供了函数的实际主体。

C 标准库提供了大量的程序可以调用的内置函数。例如,函数 strcat() 用来连接两个字符串,函数 memcpy() 用来复制内存到另一个位置。

函数还有很多叫法,比如方法、子例程或程序,等等。

定义函数

C 语言中的函数定义的一般形式如下:

return_type function_name( parameter list )
{
body of the function
}

例:

int max(int num1, int num2)

{

/* 局部变量声明 */

int result;

if (num1 > num2)

result = num1;

else

result = num2;

return result;

}

C enum(枚举)

枚举是 C 语言中的一种基本数据类型,它可以让数据更简洁,更易读。

枚举语法定义格式为:

enum 枚举名 {枚举元素1,枚举元素2,……};

​注意:第一个枚举成员的默认值为整型的 0,后续枚举成员的值在前一个成员上加 1。我们在这个实例中把第一个枚举成员的值定义为 1,第二个就为 2,以此类推。​

可以在定义枚举类型时改变枚举元素的值:

enum season {spring, summer=3, autumn, winter};

没有指定值的枚举元素,其值为前一元素加 1。也就说 spring 的值为 0,summer 的值为 3,autumn 的值为 4,winter 的值为 5


枚举变量的定义

前面我们只是声明了枚举类型,接下来我们看看如何定义枚举变量。

我们可以通过以下三种方式来定义枚举变量

1、先定义枚举类型,再定义枚举变量

enum DAY
{
MON=1, TUE, WED, THU, FRI, SAT, SUN
};
enum DAY day;

2、定义枚举类型的同时定义枚举变量

enum DAY
{
MON=1, TUE, WED, THU, FRI, SAT, SUN
} day;

3、省略枚举名称,直接定义枚举变量

enum{
MON=1, TUE, WED, THU, FRI, SAT, SUN
} day;

​在C 语言中,枚举类型是被当做 int 或者 unsigned int 类型来处理的,所以按照 C 语言规范是没有办法遍历枚举类型的。

不过在一些特殊的情况下,枚举类型必须连续是可以实现有条件的遍历。

​以下实例使用 for 来遍历枚举的元素:

实例

#include <stdio.h>

​enum DAY

{

MON=1, TUE, WED, THU, FRI, SAT, SUN

} day;

int main()

{

// 遍历枚举元素

for (day = MON; day <= SUN; day++) {

printf("枚举元素:%d \n", day);
}

}

以上实例输出结果为:

枚举元素:1 
枚举元素:2
枚举元素:3
枚举元素:4
枚举元素:5
枚举元素:6
枚举元素:7









举报

相关推荐

0 条评论