當前位置:首頁 » 編程語言 » 撤銷C語言

撤銷C語言

發布時間: 2023-02-24 18:33:43

c語言編程有哪些快捷鍵

快捷鍵,指的是一個軟體的快捷鍵,例如windows的快捷鍵ctrl+c是復制,ctrl+v是粘貼
一個語言怎麼會有快捷鍵呢?你問的快捷鍵,應該是你用的c編譯器的ide軟體的快捷鍵吧,這個應該搜相應的軟體說明文檔啊

⑵ 怎麼用c語言編程 實現創建原語、撤銷原語、阻塞原語和喚醒原語

下,應該差不多

一、如何建立線程
用到的頭文件
(a)pthread.h
(b)semaphore.h
(c) stdio.h
(d)string.h
定義線程標識
pthread_t
創建線程
pthread_create
對應了一個函數作為線程的程序段
注意的問題
要保證進程不結束(在創建線程後加死循環)
在線程中加入While(1)語句,也就是死循環,保證進程不結束。

二、控制線程並發的函數
sem_t:信號量的類型
sem_init:初始化信號量
sem_wait:相當於P操作
sem_post:相當於V操作

三、實現原形系統
父親、母親、兒子和女兒的題目:
桌上有一隻盤子,每次只能放入一隻水果。爸爸專放蘋果,媽媽專放橘子,一個兒子專等吃盤子中的橘子,一個女兒專等吃盤子中的蘋果。分別用P,V操作和管程實現

每個對應一個線程
pthread_t father; father進程
pthread_t mother; mother進程
pthread_t son; son進程
pthread_t daughter; daughter進程

盤子可以用一個變數表示
sem_t empty;

各線程不是只做一次,可以是無限或有限次循環
用While(1)控制各線程無限次循環

輸出每次是那個線程執行的信息
printf("%s\n",(char *)arg);通過參數arg輸出對應線程執行信息

編譯方法
gcc hex.c -lpthread
生成默認的可執行文件a.out
輸入./a.out命令運行
查看結果:程序連續運行顯示出
father input an apple.
daughter get an apple.
mother input an orange.
son get an orange.
mother input an orange.
son get an orange.
………………..
四、程序源代碼
#include <stdio.h>
#include<string.h>
#include <semaphore.h>
#include <pthread.h>
sem_t empty; //定義信號量
sem_t applefull;
sem_t orangefull;

void *procf(void *arg) //father線程
{
while(1){
sem_wait(&empty); //P操作
printf("%s\n",(char *)arg);
sem_post(&applefull); //V操作
sleep(7);
}

}
void *procm(void *arg) //mother線程
{
while(1){
sem_wait(&empty);
printf("%s\n",(char *)arg);
sem_post(&orangefull);
sleep(3);
}
}
void *procs(void *arg) //son線程
{
while(1){
sem_wait(&orangefull);
printf("%s\n",(char *)arg);
sem_post(&empty);
sleep(2);
}
}
void *procd(void *arg) //daughter線程
{
while(1){
sem_wait(&applefull);
printf("%s\n",(char *)arg);
sem_post(&empty);
sleep(5);
}

}

main()
{
pthread_t father; //定義線程
pthread_t mother;
pthread_t son;
pthread_t daughter;
sem_init(&empty, 0, 1); //信號量初始化
sem_init(&applefull, 0, 0);
sem_init(&orangefull, 0, 0);

pthread_create(&father,NULL,procf,"father input an apple."); //創建線程
pthread_create(&mother,NULL,procm,"mother input an orange.");
pthread_create(&daughter,NULL,procd,"daughter get an apple.");
pthread_create(&son,NULL,procs,"son get an orange.");

while(1){} //循環等待
}
另外,站長團上有產品團購,便宜有保證

⑶ c語言編寫進程的創建與撤銷

struct pb
{int n;
int k;
int cha;};
typedef struct pb PCB;
PCB a[10];void creat()
{static int pi=1;
int k,l=0,m;
printf("plase input n0:");
scanf("%d",&m);
for(k=1;k<=10;k++)
if (a[k].n==m)
l=1;
if (l==1)
{printf("error!\n");
creat(); }
else
{a[pi].n=m;
printf("\n");
printf("plase input k0:");
scanf("%d",&a[pi].k);
printf("\n");
a[pi++].cha=4;}}void destory()
{int i,num,k=0;
printf(" plase input destory number:");
scanf("%d",&num);
for(i=1;i<=10;i++)
if(a[i].n==num) k=i;
if(k!=0)
{a[k].n=0;a[k].k=0;a[k].cha=0;}
else
printf("No have this destory number!\n");}void wakeup()
{int i,k,m,l;
printf("請輸入n0:");
scanf("%d",&m);
for(k=1;k<=10;k++)
if (a[k].n==m)
l=k;
a[l].cha=1; /*喚醒->靜止就緒*/}void active()
{int i,k,m,l;
printf("請輸入n0:");
scanf("%d",&m);
for(k=1;k<=10;k++)
if (a[k].n==m)
l=k;
a[l].cha=3; /*激活->活動就緒*/}void dse()
{int i,k,m,l;
printf("請輸入n0:");
scanf("%d",&m);
for(k=1;k<=10;k++)
if (a[k].n==m)
l=k;
a[l].cha=4; /*阻塞->活動阻塞*/}void swpend()
{int i,k,m,l;
printf("請輸入n0:");
scanf("%d",&m);
for(k=1;k<=10;k++)
if (a[k].n==m)
l=k;
a[l].cha=2; /* 掛起->靜止阻塞 */}void look()
{int i;
printf("\t\t�pcb n0 k0 cha\n");
for (i=1;i<=10;i++)
printf("\t\t%d\t%d\t%d\t%d\n",i,a[i].n,a[i].k,a[i].cha);
printf("\t1--靜止就緒 2--靜止阻塞 3--活動就緒 4--活動阻塞 5--運行\n");}void zt() /* 改變狀態*/
{int i,k,m,l;
printf("請輸入n0:");
scanf("%d",&m);
for(k=1;k<=10;k++)
if (a[k].n==m)
l=k;
printf("請輸入當前狀態:");
scanf("%d",&a[l].cha);
look();}void yxs() /*改變優先數*/
{int i,k,m,l;
printf("請輸入n0:");
scanf("%d",&m);
for(k=1;k<=10;k++)
if (a[k].n==m)
l=k;
printf("請輸入優先數:");
scanf("%d",&a[l].k);
look();}main()
{int d;
clrscr();
do
{
printf("\t\t*************** CHOICE *****************\n");
printf("\t\t* 1--------------進程創建 *\n");
printf("\t\t* 2--------------進程撤消 *\n");
printf("\t\t* 3--------------阻塞 *\n");
printf("\t\t* 4--------------喚醒 *\n");
printf("\t\t* 5--------------掛起 *\n");
printf("\t\t* 6--------------激活 *\n");
printf("\t\t* 7--------------查看狀態 *\n");
printf("\t\t* 8--------------改變狀態 *\n");
printf("\t\t* 9--------------改變優先數 *\n");
printf("\t\t* 0--------------退出 *\n");
printf("\t\t****************************************\n");
printf("\t\t�請選擇(0-9):");
scanf("%d",&d);
printf("\n");
switch(d)
{
case 1: creat();break;
case 2: destory();break;
case 3: dse();break;
case 4: wakeup();break;
case 5: swpend();break;
case 6: active();break;
case 7:look();break;
case 8:zt();break;
case 9:yxs();break;
case 0: exit(0);
}
}
while(d!=0);
}

⑷ C語言編程有哪些快捷鍵

C語言編程一些快捷鍵如下:

CTRL + SHIFT + B生成解決方案

CTRL + F7生成編譯

CTRL + O打開文件

CTRL + SHIFT + O打開項目

CTRL + SHIFT + C顯示類視圖窗口

F4顯示屬性窗口

SHIFT + F4顯示項目屬性窗口

(4)撤銷C語言擴展閱讀:

在編程領域中,C語言的運用非常之多,它兼顧了高級語言和匯編語言的優點,相較於其它編程語言具有較大優勢。計算機系統設計以及應用程序編寫是C語言應用的兩大領域。

C語言其他的快捷方式:

Ctrl+shift+Enter在插入點之下插入一個空行

Ctrl+Delete刪除插入點右側的單詞

Ctrl+shift+(左/右方向鍵)查找上/下一個文本匹配項

Ctrl+end將插入點移動到文檔結尾的最後一行

Ctrl+home將插入點移動到文檔首行

Ctrl+Tab逐個窗口地循環通過MDI子窗口

Ctrl+B顯示「斷點」對話框,可添加和修改斷點

Ctrl+Z撤銷

Ctrl+Y反撤銷

Ctrl+W關閉程序

熱點內容
海康sip伺服器地址怎麼填寫 發布:2024-11-08 00:32:13 瀏覽:394
安通加密 發布:2024-11-08 00:25:51 瀏覽:138
為什麼安卓和蘋果單核差距那麼大 發布:2024-11-08 00:25:50 瀏覽:438
存儲器的種類 發布:2024-11-08 00:14:10 瀏覽:188
戴爾伺服器bios怎麼看日誌 發布:2024-11-08 00:09:56 瀏覽:961
有漁編程下載 發布:2024-11-07 23:56:49 瀏覽:714
漢字在計算機內部存儲 發布:2024-11-07 23:55:20 瀏覽:714
java啟動jar 發布:2024-11-07 23:49:19 瀏覽:607
java方法的參數傳遞參數 發布:2024-11-07 23:37:12 瀏覽:445
安卓手機為什麼一直停在開機畫面 發布:2024-11-07 23:36:16 瀏覽:650