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语言语句版块的介绍就到此结束了。
希望友友们可以提出宝贵的意见。