明解C语言 实践篇

-------------本文结束感谢您的阅读-------------

明解C语言-中级篇

第1章 猜数游戏

1-1 猜数判定

1570092261898

1.通过 if语句实现条件分支

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/* 猜数游戏(其一:测试版)*/

#include <stdio.h>
int main(void)
{
int no; /* 读取的值 */
int ans = 7; /* 目标数字 */
printf("请猜一个0~9的整数。\n\n");
printf("是多少呢:");
scanf("%d", &no);
if (no > ans)
printf("\a再小一点。\n");
else if (no < ans)
printf("\a再大一点。\n");
else
printf("回答正确。\n");
return 0;
}

1570093663997

1570093656263

1570093609457

转义字符 \n 换行 \a 警报

1570093229914

1570092642027

2.if 语句的嵌套

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

if语法

C 语言中 if 语句的语法:

1
2
3
4
if(boolean_expression)
{
/* 如果布尔表达式为真将执行的语句 */
}

C 语言中 if…else 语句的语法:

1
2
3
4
5
6
7
8
if(boolean_expression)
{
/* 如果布尔表达式为真将执行的语句 */
}
else
{
/* 如果布尔表达式为假将执行的语句 */
}

if…else if…else 语句

一个 if 语句后可跟一个可选的 else if…else 语句,这可用于测试多种条件。

当使用 if…else if…else 语句时,以下几点需要注意:

  • 一个 if 后可跟零个或一个 else,else 必须在所有 else if 之后。
  • 一个 if 后可跟零个或多个 else if,else if 必须在 else 之前。
  • 一旦某个 else if 匹配成功,其他的 else if 或 else 将不会被测试。

C 语言中的 if…else if…else 语句的语法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
if(boolean_expression 1)
{
/* 当布尔表达式 1 为真时执行 */
}
else if( boolean_expression 2)
{
/* 当布尔表达式 2 为真时执行 */
}
else if( boolean_expression 3)
{
/* 当布尔表达式 3 为真时执行 */
}
else
{
/* 当上面条件都不为真时执行 */
}

在 C 语言中,嵌套 if-else 语句是合法的,这意味着您可以在一个 ifelse if 语句内使用另一个 ifelse if 语句。

C 语言中 嵌套 if 语句的语法:

1
2
3
4
5
6
7
8
if( boolean_expression 1)
{
/* 当布尔表达式 1 为真时执行 */
if(boolean_expression 2)
{
/* 当布尔表达式 2 为真时执行 */
}
}

1-1 重复猜到对为止

重复输入 循环判断

do while 语句 先循环 后判断 注意 while 末尾带有;

1.通过do语句循环

C do…while 循环

不像 forwhile 循环,它们是在循环头部测试循环条件。在 C 语言中,do…while 循环是在循环的尾部检查它的条件。

do…while 循环与 while 循环类似,但是 do…while 循环会确保至少执行一次循环。

语法

C 语言中 do…while 循环的语法:

1
2
3
4
5
do
{
statement(s);

}while( condition );

请注意,条件表达式出现在循环的尾部,所以循环中的 statement(s) 会在条件被测试之前至少执行一次。

如果条件为真,控制流会跳转回上面的 do,然后重新执行循环中的 statement(s)。这个过程会不断重复,直到给定条件变为假为止。

实例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>

int main ()
{
/* 局部变量定义 */
int a = 10;

/* do 循环执行 */
do
{
printf("a 的值: %d\n", a);
a = a + 1;
}while( a < 20 );

return 0;
}

当上面的代码被编译和执行时,它会产生下列结果:

1
2
3
4
5
6
7
8
9
10
a 的值: 10
a 的值: 11
a 的值: 12
a 的值: 13
a 的值: 14
a 的值: 15
a 的值: 16
a 的值: 17
a 的值: 18
a 的值: 19

1570093803595

1570093883964

2.通过while语句循环

1570093935045

while 循环

只要给定的条件为真,C 语言中的 while 循环语句会重复执行一个目标语句。

语法

C 语言中 while 循环的语法:

1
2
3
4
while(condition)
{
statement(s);
}

在这里,statement(s) 可以是一个单独的语句,也可以是几个语句组成的代码块。

condition 可以是任意的表达式,当为任意非零值时都为 true。当条件为 true 时执行循环。 当条件为 false 时,退出循环,程序流将继续执行紧接着循环的下一条语句。

实例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>

int main ()
{
/* 局部变量定义 */
int a = 10;

/* while 循环执行 */
while( a < 20 )
{
printf("a 的值: %d\n", a);
a++;
}

return 0;
}

当上面的代码被编译和执行时,它会产生下列结果:

1
2
3
4
5
6
7
8
9
10
a 的值: 10
a 的值: 11
a 的值: 12
a 的值: 13
a 的值: 14
a 的值: 15
a 的值: 16
a 的值: 17
a 的值: 18
a 的值: 19

C break 语句

C 语言中 break 语句有以下两种用法:

  1. break 语句出现在一个循环内时,循环会立即终止,且程序流将继续执行紧接着循环的下一条语句。
  2. 它可用于终止 switch 语句中的一个 case。

如果您使用的是嵌套循环(即一个循环内嵌套另一个循环),break 语句会停止执行最内层的循环,然后开始执行该块之后的下一行代码。

语法

C 语言中 break 语句的语法:

1
break;

实例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>

int main ()
{
/* 局部变量定义 */
int a = 10;

/* while 循环执行 */
while( a < 20 )
{
printf("a 的值: %d\n", a);
a++;
if( a > 15)
{
/* 使用 break 语句终止循环 */
break;
}
}

return 0;
}

当上面的代码被编译和执行时,它会产生下列结果:

1
2
3
4
5
6
a 的值: 10
a 的值: 11
a 的值: 12
a 的值: 13
a 的值: 14
a 的值: 15

1570094514385

1-3 随机设定目标数字

1570094566109

1570094694455

坚持原创技术分享,您的支持将鼓励我继续创作!