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/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

发表回复

登录后才能评论