c語言編譯模擬,c語言編譯模擬器

本文目錄一覽:

c語言,編寫模擬翻硬幣得程序。

#includestdio.h

int main(void)

{

int n;//讀入一個數,為結束的次數

int i;

int a[10];//10個硬幣

int biaoji = 0;//當這個標記能被3或7整除,說明恰好數了3次或7次

scanf(“%d”, n);

for (i = 0; i 10; i++) //將硬幣都初始化為正面的狀態,即1

a[i] = 1;

biaoji = 1;//因為a[]的下標不允許超過9,故要重置

a[biaoji – 1] = !a[biaoji – 1];//改變硬幣的狀態

for (i = 0; i 10; i++)

printf(“%d”, a[i]);

return 0;

}

主要特點

C語言是一種結構化語言,它有着清晰的層次,可按照模塊的方式對程序進行編寫,十分有利於程序的調試,且c語言的處理和表現能力都非常的強大,依靠非常全面的運算符和多樣的數據類型,可以輕易完成各種數據結構的構建,通過指針類型更可對內存直接尋址以及對硬件進行直接操作,因此既能夠用於開發系統程序,也可用於開發應用軟件。

C語言模擬題

一.選擇題:

1.B 2.D 3.A 4.B 5.D 6.B 7.B 8.A

二.讀程序:

1. 67,D 2. 3 3. 3 4. 3

用C語言編程模擬處理機調度(實現一種算法)

#include stdlib.h

#include conio.h

#define getpch(type) (type*)malloc(sizeof(type))

#define NULL 0

struct pcb { /* 定義進程控制塊PCB */

char name[10];

char state;

int super;

int ntime;

int rtime;

struct pcb* link;

}*ready=NULL,*p;

typedef struct pcb PCB;

void sort() /* 建立對進程進行優先級排列函數*/

{

PCB *first, *second;

int insert=0;

if((ready==NULL)||((p-super)(ready-super))) /*優先級最大者,插入隊首*/

{

p-link=ready;

ready=p;

}

else /* 進程比較優先級,插入適當的位置中*/

{

first=ready;

second=first-link;

while(second!=NULL)

{

if((p-super)(second-super)) /*若插入進程比當前進程優先數大,*/

{ /*插入到當前進程前面*/

p-link=second;

first-link=p;

second=NULL;

insert=1;

}

else /* 插入進程優先數最低,則插入到隊尾*/

{

first=first-link;

second=second-link;

}

}

if(insert==0) first-link=p;

}

}

void input() /* 建立進程控制塊函數*/

{

int i,num;

system(“cls”); /*清屏*/

printf(“\n 請輸入進程數: “);

scanf(“%d”,num);

for(i=1;i=num;i++)

{

printf(“\n 進程號No.%d:\n”,i);

p=getpch(PCB);

printf(“\n 輸入進程名:”);

scanf(“%s”,p-name);

printf(“\n 輸入進程優先數:”);

scanf(“%d”,p-super);

printf(“\n 輸入進程運行時間:”);

scanf(“%d”,p-ntime);

printf(“\n”);

p-rtime=0;p-state=’W’;

p-link=NULL;

sort(); /* 調用sort函數*/

}

}

int space()

{

int l=0;

PCB* pr=ready;

while(pr!=NULL)

{

l++;

pr=pr-link;

}

return(l);

}

void disp(PCB * pr) /*建立進程顯示函數,用於顯示當前進程*/

{

printf(“\n 進程名\t 狀態\t 優先數\t 需要運行時間\t 已經運行時間\n”);

printf(“|%s\t”,pr-name);

printf(“|%c\t”,pr-state);

printf(“|%d\t”,pr-super);

printf(“|%d\t\t”,pr-ntime);

printf(“|%d\t”,pr-rtime);

printf(“\n”);

}

void check() /* 建立進程查看函數 */

{

PCB* pr;

printf(“\n **** 當前正在運行的進程是:\n”); /*顯示當前運行進程*/

disp(p);

pr=ready;

printf(“\n **** 當前就緒隊列狀態為:\n”); /*顯示就緒隊列狀態*/

while(pr!=NULL)

{

disp(pr);

pr=pr-link;

}

}

void destroy() /*建立進程撤消函數(進程運行結束,撤消進程)*/

{

printf(“\n 進程 [%s] 已完成.\n”,p-name);

free(p);

}

void running() /* 建立進程就緒函數(進程運行時間到,置就緒狀態*/

{

(p-rtime)++;

if(p-rtime==p-ntime)

destroy(); /* 調用destroy函數*/

else

{

(p-super)–;

p-state=’W’;

sort(); /*調用sort函數*/

}

}

void main() /*主函數*/

{

int len,h=0;

char ch;

input();

len=space();

while((len!=0)(ready!=NULL))

{

ch=getchar();

h++;

printf(“—————————————————–“);

printf(“\n 現在是第%d次運行: \n”,h);

p=ready;

ready=p-link;

p-link=NULL;

p-state=’R’;

check();

running();

printf(“\n 按任意鍵繼續……\n”);

}

printf(“\n\n 進程已經完成.\n”);

}

C語言模擬命令行調用GCC編譯器編譯一個.c文件?

包含stdlib.h頭文件,調用的時候用

system(“gcc

-o

yourfile

yourfile.c”);

就可以了。

參考

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/286703.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-23 03:48
下一篇 2024-12-23 03:48

相關推薦

  • AES加密解密算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES算法,並對實現過程進…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演着非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • Python被稱為膠水語言

    Python作為一種跨平台的解釋性高級語言,最大的特點是被稱為”膠水語言”。 一、簡單易學 Python的語法簡單易學,更加人性化,這使得它成為了初學者的入…

    編程 2025-04-29
  • OpenJudge答案1.6的C語言實現

    本文將從多個方面詳細闡述OpenJudge答案1.6在C語言中的實現方法,幫助初學者更好地學習和理解。 一、需求概述 OpenJudge答案1.6的要求是,輸入兩個整數a和b,輸出…

    編程 2025-04-29
  • Python按位運算符和C語言

    本文將從多個方面詳細闡述Python按位運算符和C語言的相關內容,並給出相應的代碼示例。 一、概述 Python是一種動態的、面向對象的編程語言,其按位運算符是用於按位操作的運算符…

    編程 2025-04-29
  • Python語言由荷蘭人為中心的全能編程開發工程師

    Python語言是一種高級語言,很多編程開發工程師都喜歡使用Python語言進行開發。Python語言的創始人是荷蘭人Guido van Rossum,他在1989年聖誕節期間開始…

    編程 2025-04-28
  • Python語言設計基礎第2版PDF

    Python語言設計基礎第2版PDF是一本介紹Python編程語言的經典教材。本篇文章將從多個方面對該教材進行詳細的闡述和介紹。 一、基礎知識 本教材中介紹了Python編程語言的…

    編程 2025-04-28
  • Python語言實現人名最多數統計

    本文將從幾個方面詳細介紹Python語言實現人名最多數統計的方法和應用。 一、Python實現人名最多數統計的基礎 1、首先,我們需要了解Python語言的一些基礎知識,如列表、字…

    編程 2025-04-28
  • Python作為中心語言,在編程中取代C語言的優勢和挑戰

    Python一直以其簡單易懂的語法和高效的編碼環境而著名。然而,它最近的發展趨勢表明Python的使用範圍已經從腳本語言擴展到了從Web應用到機器學習等廣泛的開發領域。與此同時,C…

    編程 2025-04-28
  • Python基礎語言

    Python作為一種高級編程語言擁有簡潔優雅的語法。在本文中,我們將從多個方面探究Python基礎語言的特點以及使用技巧。 一、數據類型 Python基礎數據類型包括整數、浮點數、…

    編程 2025-04-28

發表回復

登錄後才能評論