C语言语句(3)——goto语句

简介: C语言语句(3)——goto语句

1 介绍goto语句

C语言中提供了可以随意滥用的goto语句和标记跳转的标号,从理论上goto语句是没有必要的,实践中没有goto语句也可以很容易的写出代码,但是某些场合下goto语句还是用得着的,最常见的用法就是终止程序在某些深度嵌套的结构的处理过程。

goto语句和跳转标签必须在同一个函数里。例如:

代码展示:

1. #include <stdio.h>
2. int main()
3. {
4. again:
5.  printf("中国");
6.  printf("真美");
7.  goto again;
8.  return 0;
9. }

调试结果:死循环 打印中国真美

深层循环嵌套,调到循环外面需要多个break,但是仅仅使用一次goto语句就可以实现。

2 写一个关机程序

程序启动,60秒关机,如果60秒内 输入:不关机,就取消关机,如果不输入,就一直到关机为止。

代码展示:(用goto语句)

1. #include <stdio.h>
2. #include <stdlib.h>
3. #include <string.h>
4. int main()
5. {
6.  char input[20] = "";
7.  system("shutdown -s -t 60");
8. again:
9.  printf("提示,你的电脑在一分钟内关机,输入:不关机,就可以取消关机\n");
10.   scanf("%s", input);
11.   if (strcmp(input, "不关机") == 0)
12.   {
13.     system("shutdown -a");
14.   }
15.   else
16.   {
17.     goto again;
18.   }
19.   return 0;
20. }

知识点:

(1)shutdown 是Windows提供的关机命令 -s设置关机 -t设置时间关机。 电脑上本来就具有,在电脑右下方搜索cmd——命令提示符,输入shutdown -s -t 60,就会开始60秒倒计时关机。( shutdown -s -t 60(关机命令)shutdown -a(解除关机命令))

(2)system() 是一个库函数,专门用来执行系统命令,头文件是<stdlib.h>

(3)strcmp()函数,在C语言语句(2)——循环语句中有讲到,友友们可以查找一下。

代码展示:(不用goto语句)

1. #include <stdio.h>
2. #include <stdlib.h>
3. #include <string.h>
4. int main()
5. {
6.  char input[20] = "";
7.  system("shutdown -s -t 60");
8.  while (1)
9.  {
10.     printf("提示,你的电脑在一分钟内关机,输入:不关机,就可以取消关机\n");
11.     scanf("%s", input);
12.     if (strcmp(input, "不关机") == 0)
13.     {
14.       system("shutdown -a");
15.     }
16.     else
17.     {
18.       break;
19.     }
20.   }
21.   return 0;
22. }

C语言语句版块的介绍就到此结束了。

希望友友们可以提出宝贵的意见。

相关文章
|
4月前
|
编译器 C语言
C语言中的goto语句
C语言中的goto语句C语言中的goto语句 goto语句是C语言(及许多其他早期编程语言)中的一个控制流语句,它允许程序无条件地跳转到程序中的另一个位置。goto语句后面跟着一个标签(label),该标签是程序中某个语句之前的一个标识符。当执行到goto语句时,程序会立即跳转到与该标签相关联的语句处继续执行。 1. 基本概念与工作原理 基本概念:goto语句通过标签来指定跳转的目标位置。标签是一个以冒号:结尾的标识符,它可以放在程序中的任何语句之前(除了函数定义和变量声明的开始)。 工作原理:当执行到goto语句时,程序会查找与goto语句中指定的标签相匹配的标识符,并跳转到该标签所在的位置
|
6月前
|
C语言
【C语言基础篇】结构控制(下)转向语句break、continue、goto、return
【C语言基础篇】结构控制(下)转向语句break、continue、goto、return
|
7月前
|
编译器 C语言 C++
【C语言】分支和循环 ---- if、switch、while、for、goto语句, 理解getchar和putchar函数
【C语言】分支和循环 ---- if、switch、while、for、goto语句, 理解getchar和putchar函数
53 0
|
7月前
|
程序员 C语言 C++
C语言中的goto语句:使用、争议与最佳实践
C语言中的goto语句:使用、争议与最佳实践
713 1
|
7月前
|
程序员 C语言 C++
|
C语言
【零基础上手C语言】——分支和循环语句后篇(for,do while,goto)
C语言:分支和循环语句后篇(for,do while,goto)
209 0
【零基础上手C语言】——分支和循环语句后篇(for,do while,goto)
|
C语言
C语言的goto语句运用场景
C语言的goto语句运用场景
|
Go C语言
c语言学习第八课----goto语句与函数
c语言学习第八课----goto语句与函数
122 0
|
Go C语言
【C语言】循环语句 -- while -- for -- do while -- goto语句(三)
【C语言】循环语句 -- while -- for -- do while -- goto语句(三)
|
C语言
【C语言】循环语句 -- while -- for -- do while -- goto语句(二)
【C语言】循环语句 -- while -- for -- do while -- goto语句(二)