如何写论文?写好论文?免费论文网提供各类免费论文写作素材!
当前位置:免费论文网 > 文秘写作 > 论文格式 > c语言论文2000字

c语言论文2000字

来源:免费论文网 | 时间:2016-11-10 12:54:56 | 移动端:c语言论文2000字

篇一:c语言程序设计论文

天津电子信息职业技术学院

暨国家示范性软件职业技术学院

二级C编程实训报告

姓 名: 邢书鹏

系 别: 网络系

专 业: 计算计控制

班 级: 计控s11-1

指导教师: 邵慧娟

完成时间: 2012 年 6 月 1 日

十个程序运算的综合设计

一、前言

C语言是一门长盛不衰的程序设计语言,深受广大软件爱好者的喜爱。C语言功能丰富,表达能力强、使用灵活方便、应用面广、目标程序效率高、可移植性好。兼备高级语言与低级语言的优点,属于一种中间语言。它是一种结构化程序设计语言,非常适合结构化程序设计。 有较丰富的数据类型、运算符以及函数供以选用。 直接与内存打交道,使修改、编辑其他程序与文档变得轻松、简单。

C语言是国际上广泛流行的计算机高级语言,它适合作为系统描述语言,即可以用来编写系统软件,也可以编写应用软件。在早期的操作系统软件主要是汇编语言编写的,但汇编语言依赖于计算机硬件程序的可读性和可移植性级语言,而C语言兼具一般语言优点还能克服其他语言的缺点。

通过这个学期的学习,我认为要学好C语言程序这门课程,不仅要认真阅读课本知识,更重要的是要通过上机实践才能增强和巩固自己的知识。在理论学习和基础实验的基础上,培养我们的实际操作能力,培养我们综合运用理论知识来分析和解决实际问题的能力、严谨的科学态度和良好的程序设计习惯,最终实现由知识向智能的初步转化。经过此次设计,我熟练掌握了编程技巧,课程设计为我提供了一个动手又动脑,独立实践的机会,将课本上的理论知识和实践有机的结合起来,锻炼了我的分析解决实际问题的能力,提高了我适应实际、实践编程的能力。

此报告说明书主要介绍了经典算法集成系统的C语言编程,经典算法集成系统设计是一个较简单的编程,经过仔细的分析,总结出算法再进行编辑、编译、链接、运行及调试,从而得到需要的程序。经过此次课程设计,学生更能对c语言有了新的理解。学会用一些函数来解决现实中的实际问题。

二、正文

1. 设计目的和意义

此次课程设计的目的是为了让我们加深对C语言内容的理解,特别是一些语法规定,光靠课堂老师讲授的,既乏味又难以记住,但它们都很重要。通过课程设计,就自然地、熟练地掌握了。熟悉所用的计算机系统的操作方法,也就是熟悉了C语言程序开发的环境。每一个计算机系统的功能和操作方法不完全相同,但只要熟练掌握一种两种计算机系统的使用,再遇到其它的系统时很快就能学会。学会上机调试程序。也就是善于发现程序中的错误,并且能很快地排除这些错误,使程序正常运行。经验丰富的人在编译链接过程中出现“错误信息”时,一般能很快地判断出错误所在,并改正之。而缺乏经验的人即使在明确的“错误提示”下也往往找不出错误而求救于别人。要真正掌握计算机应用技术,不仅要了解和熟悉有关的理论和方法,还要求自己动手实现。为以后的学习打下坚实的基础。

2.目标和总体方案

运用 Microsoft Visual C++ 6.0和所学C语言知识设计一个可以方便进行各种经典算法的集成系统。系统程序设计一般由两部分组成:算法和数据结构,合理地选择和实现一个数据结构和处理这些数据结构具有同样的重要性。在经典算法集成系统程序中,由于预计设计6种以上的算法,我觉得能够实现一个就能实现多个。所以我设计了10个算法。具体方案如下:

1. 计算1+2+3+4+?+100的和.。

2. 猜数游戏:任意设置一个整数,请用户从键盘上输入数据猜想设值的数是什么,告诉用户是猜大了还是小了。10次以内猜对,用户获胜。否则,告诉用户设置的数据是什么。

3.输出菱形。

4. 计算1+3+5+7+?+99的值.

5. 计算1-1/3+1/5-1/7+?-1/99的值.

6. 求斐波纳契数列的前30项之和.

7. 求两个正整数的最大公因子.

8. 打印所有水仙花数.

9. 输入一个正整数x,编程计算x的每一位数字相加之和.

10. 计算1*2*3+3*4*5+?+99*100*101的值.每个菜单都有其相对应的功能.

这10个题目在一个界面内。通过设计把它们组和在一起,并且能够实现其中的各种算法,每个算法互不影响。通过键盘进行选择相应的算法,然后按回车,会出现相应的提示,然后根据提示往下做。输入相应的之后,按回车就可以得到了。

3. 设计方案和内容

我做的是循环系统经典算法集成系统,运用C语言中的循环,输入,查找,显示等函数功能,把多个函数放在一起,使主程序看起来很明了。在主菜单界面里有10个相对应的小菜单,每个小菜单都能单独实现其功能。运行的时候就可以在屏幕上看到这10个菜单。

程序基本能满足我们日常生活中各种算法的需要,就是我们教程上的各种算

法,这也是比较实用的问题。经典算法集成系统的功能还不是很完善,也不强大,程序还不够简洁、完善,我会继续努力学习,改正程序中存在的不足,在好的方面继续努力。

4.详细设计过程

(1)程序代码的函数名:在这个程序中有2个函数名

#include <stdio.h>

#include <math.h>

以下是他们在程序中的作用:

在使用系统库函数时,要用预编译命令“#include”将有关的“头文件”包括到用户源文件中。因为用到了数学函数,所以还需要用#include <math.h>对程序进行数学函数调用。

(2)第一个程序中程序代码:

int Mun;/*整数型定义*/ void fun1()

{

int i=1,sum=0;/*sum的作用是存放求和的中间值*/

while(i<=100)

{

sum+=i;

i++;

}

printf("1+2+3+4+?+100=%d\n",sum);/*输出*/

}

首先定义整数型int Mun; 空格定义void fun1(),然后经过i, sum进行定义,使程序能够进行运算。While语句的用法。While语句后的表达式的值一开始就为假,循环体将一次都不执行。最后通过printf("1+2+3+4+?+100=%d\n",sum);这样就实现了1+2+3+4+?+100的和.

(3)第二个程序中程序代码:

void fun2()

{

int num=23,x,n;

printf("hint:0<number<100\n"); /*输出*/

for(n=1; n<=10 ;n++)

printf("guess:"); /*输出*/

{

scanf("%d",&x);

if(x==num) {printf("Win!\n");break;} /*若输入num,则说明用户获胜*/

if(x>num) printf("bigger!\n");

if(x<num) printf("smaller!\n");

}

if(n==11) printf("Lost!the number is %d\n",x); /*输出*/

}

首先进行变量的定义,程序内容用了for循环语句,并运用if语句对程序的输入进行选择。当输入次数达到11时,循环结束。此猜数游戏是说用户可以进行十次猜测,若在10次之内输入正确的数字,则说明用户获胜。反之,亦然。

(4)第三个程序中程序代码:

void fun3()

{

int n,i,j; /*定义变量的含义*/

scanf("%d",&n);/*输入n*/

for(i=1;i<=n;i++)

{

for(j=1;j<=n-i;j++)putchar(' '); /*光标的定位*/ for(j=1;j<=i*2-1;j++)putchar('*'); /*输出星号*/ printf("\n"); /*输出换行*/ }

for(i=1;i<=n-1;i++)

{

for(j=1;j<=i;j++)putchar(' ');/*打印每行前面的空格 */

for(j=1;j<=2*(n-i)-1;j++)putchar('*'); /*打印每行的“*” */

printf("输出菱形\n");/*输出*/

}

}

首先进行变量的定义,用for循环打印*号。菱形图形的实现需要三个方面:光标的定位,星号输出个数;换行。最后说明输出的是几行的菱形。

(5)第四个程序中的代码:

void fun4()

{

篇二:C语言论文

计12-1雷峰津 12101020124

猜数字游戏报告

C语言是一种计算机程序设计语言。它既有高级语言的特点,又具有汇编语言的特点。它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛。

C语言是结构式语言。而结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。

C语言在很多方面都可以用,不仅仅是在软件开发上,各类科研都是需要用到C语言的。我所学的机器硬件课程中也有关于C语言的具体应用,通过与相关的机器语言转化可以控制硬件系统。C 语言发展如此迅速, 而且成为最受欢迎的语言之一,主要因为它具有强大的功能。许多著名的系统软件, 如DBASE Ⅲ PLUS、DBASE Ⅳ 都是由C 语言编写的。用C语言加上一些汇编语言子程序, 就更能显示C 语言的优势了, 像PC- DOS 、WORDSTAR等就是用这种方法编写的。

本程序就是设计一个猜数字游戏的程序,这个程序凸显了c语言中Random()函数的好处,通过系统不断给游戏者的提示,你可以猜出正确的数字。充分体现了程序的随机性,而不是在程序中事先给出,更具有游戏性。

猜数字游戏虽然规则很简单,但通过这个游戏却可以考验人的严谨和耐心。没有足够的耐心和严谨的态度是无法完成这个游戏的。能很好的锻炼我们的耐性。

猜数游戏是一个非常流行的益智类游戏,它不仅能娱乐,还能在娱乐中锻炼人的反应能力、逻辑思维能力,是一款寓教于乐的小游戏。其原理是对于随机给出的一个三位数,各位上的数字不重复,从0到9,输入三位数,按1或2提示进行猜数,其中1代表你本次猜对了相应的数字,但是位置不正确,2代表你本次猜对了数字并且位置也正确。本次设计主要运用

了循环、数组、随机数函数等,随机数的产生与存储,两个数的比较,以及对比较结果的判断。

如果你玩过猜数字你应该知道,这个游戏是随机给出三位0至9(包括0和9)之间的数字,然后让你猜是什么数字。你可以随便猜一个数字,游戏会提示太大还是太小,从而缩小结果范围。经过几次猜测与提示后,最终推出答案。最终通过难度和时间来得出积分以分出胜负。

本次游戏设计主要运用了循环、数组、随机数等语句。开始运用了随机数的出现,实现了随机的3位数出现,而且运用了For循环和While循环、Break语句,实现了数字重复出现。

我设计此款游戏的大概轮廓主要分三步。第一步,随机数的产生。我们可以借助c提供的Random()函数来产生一个三位随机数,每一位都不相同,产生的随机数用数组保存起来。第二步,拆分数字。将三位不同的数进行拆分,每一位都与用户输入的数字进行比较,如果错误系统给出提示错误,继续猜数,如果用户猜对了其中的一位,标记出这一位数的相关信息,其中包括数字和位置都是否正确,以便准确猜出正确的三位数字。第三步,退出。如果用户猜错,系统会提示错误,并且继续猜数,直到猜对为止。如果用户猜对了这三位数,系统会告诉用户获得胜利,并且再结果显示5秒后返回到程序编辑窗口。

这个游戏的主要操作分三步。第一步,系统随机产生一位不重复的N(N为3)位数字。第二步,游戏者输入所猜的不重复数字,并按回车提交。提交的数据数应与N的大小一致,当数据位数不是N位时,系统返回错误信息。第三步,系统将提交的数与它自动产生的数进行比较,输出结果有这么几种情况一种情况是数字的某一位正确返回“1”,另一种情况是数字正确但位置不正确。系统返回“2”,以上两种情况都没有(也就是用户输入的数顺序和数字都不对)返回“0”最后,通过提示输入的数字正确相应位置也正确,系统返回“you win!”。

猜数字游戏的设计看似简单,却需要能对C语言知识进行灵活应用。尤其是循环语句和数组要进行大量的应用。

首先,C语言课程设计让我把以前学习到的知识得到巩固和进一步的提高认识,对已有知识有了更进一步的理解和认识,再次,我在课程设计中碰到了很多的问题,我通过查阅相关书籍、资料,通过自己钻研,当然,

通过这次课程设计,我也发现了自身的很多不足之处,在以后的学习中,我会不断的完善自我,不断进取,能使自己在C语言编程这方面有一个大的发展。

通过这个游戏的设计,我对C语言这门课程有了更深一步的了解。它是计算机程序设计的重要理论技术基础,在我们计算机专业的学习中占据着十分重要的地位。同时也使我知道,要学好这门课程,仅学习书本上的知识是不够的,还要有较强的实践能力。因为我们学习知识就是为了实践。而只有多实践,多编写程序,才能更好的理解与掌握书本上的东西。 运用C语言中的算法思想编写一个通讯录管理系统。通过完成本课题,进一步熟悉C语言的基本知识,并掌握数据结构的一些基本算法思想,掌握C语言的文件操作(包括从磁盘读入和向磁盘写入内容),进一步熟悉指针的用法,数组的建立运用和函数的调用等。

篇三:c语言论文

#include<stdio.h>

#include<stdlib.h>

#define t 0.1

void T_in_out(int a,int b,int i,float T,float T_check,float T_giveup);

void main()

{

int i,m,a1; //a1是开始运行时在第一层进入电梯的人数,m为电梯开门后的检测

次数

int up_in[9],up_out[9];

int down_in[9],down_out[9];

float T=0.0,T_open,T_close,T_check,T_giveup,T_wait;

printf(" ------------------------------\n ");

printf("|---------模拟电梯系统--------| \n ");

printf("------------------------------ \n ");

label: printf("开始运行时从1楼进入电梯的人数: ");

scanf("%d",&a1);

for(i=0;i<9;i++)

{

printf("上楼时在第%d层进入电梯的人数:\n",i);

scanf("%d",&up_in[i]);//up_in[9]数组储存在上楼

时各层进入的人情况

}

for(i=0;i<9;i++)

{

printf("上楼时从第%d层出电梯的人数:\n",i);

scanf("%d",&up_out[i]); //up_out[9]数组储存在上

楼时各层出的人情况

}

for(i=7;i>=0;i--)

{

printf("下楼时从第%d层出电梯的人数:\n",i);

scanf("%d",&down_in[i]);//down_in[9]数组储存在下

楼时各层进入的人情况

}

for(i=7;i>=0;i--)

{

printf("下楼时从第%d层出电梯的人数:\n\n",i);

scanf("%d",&down_out[i]);//down_out[9]数组储存在

下楼时各层出的人情况

}

printf("电梯上楼时的情况(Up): \n \n");

T_open=20*t; //T_open为电梯开门所需时间

T_close=20*t; //T_close为电梯关门所需时间

T_check=40*t; //T_check为电梯每次开门是检测的时间间隔

T_giveup=150*t; //T_giveup为人能容忍的最长等待时间

T_wait=300*t; //T_wait为电梯在某一层能停留的最长时间

if(a1*25%40!=0) m=a1*25*t/T_check+1;

else m=a1*25*t/T_check;

T=T+T_open;

printf("电梯开始运行后在%f时刻开门! \n",T);

T=T+25*t*a1;

printf("电梯在%f时刻进入%d人! \n",T,a1);

T=T+m*T_check-a1*25*t+T_close;

printf("电梯开始运行后在%f时刻第一次关门! \n \n",T);

for(i=0;i<9;i++)

{

m=0;

printf("电梯上楼到达第%d层! \n",i);

if((T_open+25*t*up_out[i])>T_wait)//超过最长等待时间电梯

就返回第1层待命

{

printf("等待时间过长,返回第一层待命! \n");

printf("在%f时刻电梯由于长时间停留重新回到第一层! \n",T);

goto label;

}

if((up_in[i]+up_out[i])*25%40!=0) m=(up_in[i]+up_out[i])*25*t/T_check+1;

else m=(up_in[i]+up_out[i])*25*t/T_check;

T_in_out(up_out[i],up_in[i],i,T,T_check,T_wait);

T=T+m*T_check;

T=T+T_open+T_close;

}

printf("电梯下楼时的情况(Down): \n \n");

for(i=7;i>=0;i--)

{

m=0;

printf("电梯下楼到达第%d层! \n",i);

if((T_open+25*t*up_out[i])>T_wait)//超过最长等待时间

电梯就返回第1层待命

{

printf("等待时间过长,返回第一层待命! \n");

printf("在%f时刻电梯由于长时间停留重新回到第一层! \n",T);

goto label;

}

if((down_in[i]+down_out[i])*25%40!=0)

m=(down_in[i]+down_out[i])*25*t/T_check+1;

else m=(down_in[i]+down_out[i])*25*t/T_check;

T_in_out(down_out[i],down_in[i],i,T,T_check,T_wait);

T=T+m*T_check;

T=T+T_open+T_close;

}

}

//进出电梯(if语句中判断检测次数m的式子(a+b)*25*t%T_check消去t后变为(a+b)*25%40) void T_in_out(int a,int b,int i,float T,float T_check,float T_giveup)

{

int m,T_open,T_close; //m为电梯开门后的检测次数 if((a+b)*25%40!=0) m=(a+b)*25*t/T_check+1;

else m=(a+b)*25*t/T_check;

T_open=20*t;

T_close=20*t;

T=T+T_open;

printf("%f时刻电梯在第%d层开门! \n",T,i);

T=T+25*t*a;

printf("%f时刻在第%d层有%d人从电梯出来! \n",T,i,a);

if((T_open+a*25*t)>T_giveup) //等电梯的人放弃等待电梯 {

printf("等待电梯的人由于长时间等待而放弃乘电梯! \n");

T=T+T_close;

printf("%f时刻电梯在第%d层关门! \n \n",T,i);

i++;

}

else if((T_open+a*25*t)<=T_giveup)//等电梯的人没有放弃等待电梯 {

T=T+25*t*b;

printf("%f时刻在第%d层有%d人进入到电梯! \n",T,i,b);

T=T+m*T_check-(a+b)*25*t+T_close;

printf("%f时刻电梯在第%d层关门! \n \n",T,i);

}

}


c语言论文2000字》由:免费论文网互联网用户整理提供;
链接地址:http://www.csmayi.cn/show/93819.html
转载请保留,谢谢!
相关文章