一.goto语句的概念
C语言中提供了可以随意滥用的goto语句和标记跳转的符号
理论上goto语句是没有必要的,没有goto语句也可以写出代码
但是在某种场合下goto语句是有用武之地的,最常见的用法是在终止程序在某些深度嵌套的结构的处理过程,如一次跳出多个循环,这种情况下break语句就无法达到目的,因为break语句只能从最内层循环跳转到上一层循环中
如以下代码:
#include<stdio.h>
int main(void){
here:
printf("hello my friend\n");
goto here;
return 0;
}
我们编译并运行上述代码后会发现,程序一直在输出 hello my friend 这是因为我们在一开始给定了一个here的标签,当执行完成printf()函数后程序会执行goto语句,这时候程序就会自动跳转到here标签处再次执行,所以这就导致了程序死循环输出 hello my friend 字样,如图所示:
所以使用goto语句可能导致程序的执行顺序被打乱,所以我们应该尽量避免滥用goto语句,只有当需要使用的时候才应该使用
二.system()函数的使用
我们接下来编写一个关机的小程序
在Windows环境下,我们可以同时按住win键(徽标键)+R 调出运行,然后在运行栏中输出cmd,这样可以调出我们的命令提示符程序,然后输入 shutdown -s -t 120 在输入命令的时候需要注意 -s -t 120 这三个参数前面都要有空格,如果命令输入正确我们的电脑就会在2分钟后关机,这里我大概介绍一下这条命令的意思 shutdown 是系统的一个程序 -s 是代表关机(-r是重启,-a代表取消关机)-t 代表的是秒数,后面需要跟上具体的数字(单位:秒)说完shutdown程序,我们再来看一下system()函数,system()函数可以理解为一个cmd程序,将你想要执行的命令输入到system()函数中即可,如:
system("shutdown -s -t 120");
其作用和cmd差不多,system()函数被包含在头文件 windows.h 中所以使用该函数之前需要进行预处理指令 #inlcude<windows.h> ,如图所示:
若我们需要取消关机则可以调用system()函数,传入 shutdown -a 语句,如:
system("shutdown -a");
则可以取消关机,如图所示:
2023/8/4
王起舟