当前位置:首页 » 编程语言 » c语言怎么控制程序停止
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言怎么控制程序停止

发布时间: 2023-03-27 02:52:50

c语言用什么语句终止整个程序

C语言用exit()语句可以终止整个程序。

C语言中,exit()通常是用在子程序中用来终结程序用的,使用后程序自动结束,跳回操作系统。exit(0) 表示程序正常退出;exit(1)、exit(-1)表示程序异常退出。在整个程序中,只要调用exit,就会结束程序。

exit()函数所在的头文件是stdlib.h,需要将该头文件引入后使用。

(1)c语言怎么控制程序停止扩展阅读:

exit()函数内部实际操作过程:

1、调用atexit()注册的函数(出口函数),按ATEXIT注册时相反的顺序调用所有由它注册的函数,这使得我们可以指定在程序终止时执行自己的清理动作.例如,保存程序状态信息于某个文件,解开对共享数据库上的锁等.

2、调用cleanup()来关闭所有打开的流,这将导致写所有被缓冲的输出,删除用TMPFILE函数建立的所有临时文件.

3、最后调用_exit()函数终止进程。

② c语言如何暂停

可以在main()函数的最后添加一句getchar()或者system("pause");就能让程序暂停,不过在TC里使用system("pause");需要引入头文件#include
<stdlib.h>

③ C语言~~~如何使程序中途结束、跳出~~~

程序中途跳出,和结束是两个不同的概念。

1 要使程序中途跳出,可以使用return语句,跳出该函数。

intfun(intn)
{
inti;
if(n<0)return-1;//在n为负数下,提前退出该函数。
//执行正常功能。
for(i=0;i<n;i++)
printf("%d",i);
}

2 要使程序提前结束, 可以调用exit()函数。

intfun(intn)
{
inti;
if(n<0)exit(-1);//在n为负数下,提前结束程序。
//执行正常功能。
for(i=0;i<n;i++)
printf("%d",i);
}

3 二者区别:

a) 使用exit函数,会结束整个程序。 而使用return只是结束当前函数,还会到主调函数处继续运行。

b) 在main函数中使用return语句,等效于调用exit函数,同样会结束程序。

c) 调用exit函数时,需要引用头文件stdlib.h。

④ C语言如何让程序一直不断运行直到按了某个键以后停止,代码怎么写

可以参考下面的代码:

#include <stdio.h>

#include <conio.h>

#include <windows.h>

main( )

{

int p;

while( ! _kbhit() ) {

// run progs

_cputs( "Please hit me ! " );

Sleep(500);

}

return 0;

}

(4)c语言怎么控制程序停止扩展阅读:

kbhit()是一个C和C++函数,用于非阻塞地响应键盘燃丛输入事件。

函数名皮州樱:kbhit()

功能及返回值: 检查当前是否有键盘输入,若有则返回一个非0值,否则返回0。

用 法:迹拦int kbhit(void);

C++语言包含头文件: include <conio.h>。

C语言不需包含额外头文件。

在VC++6.0下为_kbhit()

功能及返回值同上。

⑤ c语言里面,如何设置一个按键使程序停止

main()
{
....;
/* 需要按键暂停或停止部分,通常是循环体*/
#define STOP_KEY 'm'
while(你的循环条件) {
if(kbhit()) {
char ch=getchar();
if(ch == STOP_KEY) break; /*中止循环*/
}
}
....;

}

⑥ visual studio2012中 c语言编译出来的程序怎么暂停啊

1)建立工程时选择控制台程序,这样不需要自设断点(如system('pause')或getch()等),运行时F5是调试,Ctrl+F5是执行但不调试。
2)如果项目不是控制台程序,那么自设断点达到暂停的目的。

⑦ C语言如何停止运行

一般都是用Ctr+c来停止。如果是程序内部的话,可以在main函数里面使用return,或者用exit()都可以让程序停止运行。

⑧ C语言程序强行停止

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define N 30
typedef struct student
{
long number;
char name[10];
float score[3];
float sum;
float ave;
} STUDENT;
void swapfloat(float *x,float *y);
void swaplong(long *x,long *y);
void swapchar(char x[],char y[]);
int main()
{
STUDENT stu[N];
int i,j,k,l,n;
printf("请输入学生人数:");
scanf("%d",&n);
printf("请输入学号、姓名和各科成绩\n");
for(i=0; i<n; i++)
{
scanf("%ld,%s",&stu[i].number,stu[i].name);
stu[i].sum=0;
for(j=0; j<3; j++)
{
scanf("%f",&stu[i].score[j]);
stu[i].sum=stu[i].sum+stu[i].score[j];
}
stu[i].ave=stu[i].sum/3;
}
char cx[10];
for(i=0; i<n-1; i++)
{
for(j=i+1; j<n; j++)
{
if(stu[j].sum>stu[i].sum)
{
for(k=0; k<3; k++)
{
swapfloat(&stu[j].score[k],&stu[i].score[k]);
}
swapfloat(&stu[j].sum,&stu[i].sum);
swapfloat(&stu[j].ave,&stu[i].ave);
swaplong(&stu[j].number,&stu[i].number);
swapchar(stu[j].name,stu[i].name);
}
}
}
printf("请输入要查询的学生姓名:");
scanf("%s",cx);
for(i=0; i<n; i++)
{
if(strcmp(cx,stu[i].name)==0)
printf("%s:%ld%6.1f%6.1f%6.1f 总分:%.1f,排名为第%d名\n",stu[i].name,stu[i].number,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].sum,i+1);
}
system("PAUSE");
return EXIT_SUCCESS;
}
void swapfloat(float *x,float *y)
{
float temp;
temp=*x;
*x=*y;
*y=temp;
}
void swaplong(long *x,long *y)
{
long temp;
temp=*x;
*x=*y;
*y=temp;
}
void swapchar(char x[],char y[])
{
char temp[10];
strcpy(temp,x);
strcpy(x,y);
strcpy(y,temp);
}

⑨ C语言程序怎么实现按空格键停止,停止后按空格键继续

在windows控制台中运行的话,需要用到kbhit函数,该函数检测键盘,在有键盘输入时返回值非0,getch函数是如果没有输入则会停止等待,无法实现无输入不等待,因此需要前面函数配合使用。

#include<stdio.h>
#include<conio.h>
voidmain(){inti;charc;
i=0;
while(1){
printf("%6d按空格键暂停,按回车键退出 ",i);
if(kbhit()){//是否有键按下,每次检测不会等待键盘动作立即返回状态
c=getch();//取得此次输入的ASCII码
if(c=='')
do{printf("---------------按空格键继续... ");c=getch();
}while(c!='');//等待输入,空格退出循环
elseif(c==13)break;//如果是换行输入则退出整个循环
}
i++;i%=10000;
}
}

⑩ c语言怎么关闭正在运行的应用程序

可以通过system 函数,调用dos命令taskkill实现关闭正在运行的应用程序。

system("taskkill /im notepad.exe");
会关闭记事本应用。
system("taskkill \F /pid 1234 \T");
会强制结束pid为1234的进程及其子进程。

关于taskkill的详细描述如下:
TASKKILL [/S system [/U username [/P [password]]]] { [/FI filter] [/PID processid | /IM imagename] } [/F] [/T]

参数列表:
/S system 指定要连接到的远程系统。
/U [domain\]user 指定应该在哪个用户上下文
执行这个命令。
/P [password] 为提供的用户上下文指定密码。如果忽略,提示输入。
/F 指定要强行终止的进程。
/FI filter 指定筛选进或筛选出查询的的任务。
/PID process id 指定要终止的进程的PID。
/IM image name 指定要终止的进程的图像名。通配符 '*'可用来指定所有图像名。
/T Tree kill: 终止指定的进程和任何由此启动的子进程。
/? 显示帮助/用法。
筛选器:
筛选器名 有效运算符 有效值
----------- --------------- --------------
STATUS eq, ne 运行 | 没有响应
IMAGENAME eq, ne 图像名
PID eq, ne, gt, lt, ge, le PID 值
SESSION eq, ne, gt, lt, ge, le 会话编号
CPUTIME eq, ne, gt, lt, ge, le CPU 时间,格式为
hh:mm:ss。
hh - 时,
mm - 钟,ss - 秒
MEMUSAGE eq, ne, gt, lt, ge, le 内存使用,单位为 KB
USERNAME eq, ne 用户名,格式为
[domain\]user
MODULES eq, ne DLL 名
SERVICES eq, ne 服务名
WINDOWTITLE eq, ne 窗口标题
注意: 只有带有筛选器的情况下,才能跟 /IM 切换使用通配符 '*'。
注意: 远程进程总是要强行终止,
不管是否指定了 /F 选项。