手写C语言之goto语句-小冷气炸了,整蛊关机程序实现(12)

简介: 手写C语言之goto语句-小冷气炸了,整蛊关机程序实现(12)

goto语句介绍🐾

C语言中提供了可以随意滥用的 goto语句和标记跳转的标号。


从理论上 goto语句是没有必要的,实践中没有goto语句也可以很容易的写出代码。


但是某些场合下goto语句还是用得着的,最常见的用法就是终止程序在某些深度嵌套的结构的处理过程。


例如:一次跳出两层或多层循环。


多层循环这种情况使用break是达不到目的的。它只能从最内层循环退出到上一层的循环。


for(...)
for(...)
{
for(...)
{
if(disaster)
goto error;
}
}
error:
if(disaster)
// 处理错误情况



场景引入🎈

春风和煦,阳光明媚,小王想要和小冷出去走走,毕竟大好的天气怎么可以错过了,但是小冷不愿意她想要继续学习,一直在电脑面前,这时候小王也不敢吭声,只能默默等待,但是又很想出去玩,因为小王是一个贪玩的小朋友。🎈


😭结果只能是小王被骂,一直被质问,错了没,一天天的就不知道学习,快去学习!😏


小王就一直被小冷说,这个时候他萌发了一个邪恶的念头!


心里想到,哈哈哈哈!看她怎么办,待会看你错没,嘻嘻嘻😊


整蛊开始!👍 👍 👎 👎 👌


他突然注意到电脑,如果我把她的电脑关闭了,那她是不是就可以和我一起出去玩了(事实证明是天真的想法了),于是他开始想办法,就然不能手动关电脑,那么我来找一个工具,让它自己关闭!


于是他偷偷地写了这一段代码(简单上手2分钟搞定!)😛


#include <stdio.h>
#include <stdlib.h>
int main()
{
  char input[10] = { 0 };
  system("shutdown -s -t 60");
  while (1)
  {
  printf("出不出去玩?不出去的话,后果很严重哟!\n请输入:>");
  scanf("%s", input);
  if (0 == strcmp(input, "出去"))
  {
    system("shutdown -a");
    break;
  }
  }
  return 0;
}


image.png


这就走发给小冷了,结果她收到之后,马上下载了,双击了一下,看到这个系统弹出😦😦


image.png


她依然不慌,在下面输入了这几个,哈哈😎😎

image.png


结果:


😢😢😢


image.png


😱结果不说了,后果你们也想到了,事实证明:不做就不会“死”,😭


那么假设如果输入:出去

😂


就会出现下面的页面,关机程序也会自动接触,你学会了吗!


image.png


常见的window操作🔮

shutdown -a 取消关机

shutdown -s 关机

shutdown -f 强行关闭应用程序

shutdown -m \计算机名 控制远程计算机

shutdown -i 显示“远程关机”图形用户界面,但必须是Shutdown的第一个参数

shutdown -l 注销当前用户

shutdown -r 关机并重启

shutdown -s -t 时间 设置关机倒计时

shutdown -r -t 时间 设置重新启动倒计时

shutdown -h 休眠



相关文章
|
2月前
|
存储 自然语言处理 编译器
【C语言】编译与链接:深入理解程序构建过程
【C语言】编译与链接:深入理解程序构建过程
|
4月前
|
存储 算法 C语言
"揭秘C语言中的王者之树——红黑树:一场数据结构与算法的华丽舞蹈,让你的程序效率飙升,直击性能巅峰!"
【8月更文挑战第20天】红黑树是自平衡二叉查找树,通过旋转和重着色保持平衡,确保高效执行插入、删除和查找操作,时间复杂度为O(log n)。本文介绍红黑树的基本属性、存储结构及其C语言实现。红黑树遵循五项基本规则以保持平衡状态。在C语言中,节点包含数据、颜色、父节点和子节点指针。文章提供了一个示例代码框架,用于创建节点、插入节点并执行必要的修复操作以维护红黑树的特性。
111 1
|
4月前
|
NoSQL 编译器 程序员
【C语言】揭秘GCC:从平凡到卓越的编译艺术,一场代码与效率的激情碰撞,探索那些不为人知的秘密武器,让你的程序瞬间提速百倍!
【8月更文挑战第20天】GCC,GNU Compiler Collection,是GNU项目中的开源编译器集合,支持C、C++等多种语言。作为C语言程序员的重要工具,GCC具备跨平台性、高度可配置性及丰富的优化选项等特点。通过简单示例,如编译“Hello, GCC!”程序 (`gcc -o hello hello.c`),展示了GCC的基础用法及不同优化级别(`-O0`, `-O1`, `-O3`)对性能的影响。GCC还支持生成调试信息(`-g`),便于使用GDB等工具进行调试。尽管有如Microsoft Visual C++、Clang等竞品,GCC仍因其灵活性和强大的功能被广泛采用。
141 1
|
4月前
|
编译器 C语言
C语言中的goto语句
C语言中的goto语句C语言中的goto语句 goto语句是C语言(及许多其他早期编程语言)中的一个控制流语句,它允许程序无条件地跳转到程序中的另一个位置。goto语句后面跟着一个标签(label),该标签是程序中某个语句之前的一个标识符。当执行到goto语句时,程序会立即跳转到与该标签相关联的语句处继续执行。 1. 基本概念与工作原理 基本概念:goto语句通过标签来指定跳转的目标位置。标签是一个以冒号:结尾的标识符,它可以放在程序中的任何语句之前(除了函数定义和变量声明的开始)。 工作原理:当执行到goto语句时,程序会查找与goto语句中指定的标签相匹配的标识符,并跳转到该标签所在的位置
|
17天前
|
存储 缓存 算法
在C语言中,数据结构是构建高效程序的基石。本文探讨了数组、链表、栈、队列、树和图等常见数据结构的特点、应用及实现方式
在C语言中,数据结构是构建高效程序的基石。本文探讨了数组、链表、栈、队列、树和图等常见数据结构的特点、应用及实现方式,强调了合理选择数据结构的重要性,并通过案例分析展示了其在实际项目中的应用,旨在帮助读者提升编程能力。
38 5
|
4月前
|
编译器 C语言 计算机视觉
C语言实现的图像处理程序
C语言实现的图像处理程序
178 0
|
17天前
|
C语言
C语言编程中,错误处理至关重要,能提升程序的健壮性和可靠性
C语言编程中,错误处理至关重要,能提升程序的健壮性和可靠性。本文探讨了C语言中的错误类型(如语法错误、运行时错误)、基本处理方法(如返回值、全局变量、自定义异常处理)、常见策略(如检查返回值、设置标志位、记录错误信息)及错误处理函数(如perror、strerror)。强调了不忽略错误、保持处理一致性及避免过度处理的重要性,并通过文件操作和网络编程实例展示了错误处理的应用。
50 4
|
16天前
|
并行计算 算法 测试技术
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面,旨在通过综合策略提升程序性能,满足实际需求。
41 1
|
17天前
|
网络协议 物联网 数据处理
C语言在网络通信程序实现中的应用,介绍了网络通信的基本概念、C语言的特点及其在网络通信中的优势
本文探讨了C语言在网络通信程序实现中的应用,介绍了网络通信的基本概念、C语言的特点及其在网络通信中的优势。文章详细讲解了使用C语言实现网络通信程序的基本步骤,包括TCP和UDP通信程序的实现,并讨论了关键技术、优化方法及未来发展趋势,旨在帮助读者掌握C语言在网络通信中的应用技巧。
28 2
|
17天前
|
程序员 C语言
C语言中的指针既强大又具挑战性,它像一把钥匙,开启程序世界的隐秘之门
C语言中的指针既强大又具挑战性,它像一把钥匙,开启程序世界的隐秘之门。本文深入探讨了指针的基本概念、声明方式、动态内存分配、函数参数传递、指针运算及与数组和函数的关系,强调了正确使用指针的重要性,并鼓励读者通过实践掌握这一关键技能。
31 1