课程设计.docx

上传人:b****5 文档编号:6241890 上传时间:2023-01-04 格式:DOCX 页数:17 大小:88.47KB
下载 相关 举报
课程设计.docx_第1页
第1页 / 共17页
课程设计.docx_第2页
第2页 / 共17页
课程设计.docx_第3页
第3页 / 共17页
课程设计.docx_第4页
第4页 / 共17页
课程设计.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

课程设计.docx

《课程设计.docx》由会员分享,可在线阅读,更多相关《课程设计.docx(17页珍藏版)》请在冰豆网上搜索。

课程设计.docx

课程设计

黑龙江东方学院

C语言课程设计

 

课题名称:

电子计算器C语言编程

 

专业:

电子信息工程

班级:

09级一班

姓名:

朱兵杰

学号:

09103133

指导教师:

闵昆龙

 

2010年12月23日

目录

第一章绪论.....................................

1.1概述.......................................

1.2电子计算器原理.............................

1.3课题的意义及设计目标........................

1.4主要设计内容................................

第二章软件设计相关基础知识介绍...............

2.1书写程序时应注意的相关事项..................

2.2基本类型的分类及特点........................

2.3结构简介....................................

2.3.1结构程序设计............................

2.3.2分支程序设计............................

2.3.3循环程序设计............................

第三章软件设计流程............................

3.1主程序流程图................................

3.2数据输入子程序流程图........................

3.3电子计算器结果输出子程序....................

第四章软件运行界面说明........................

4.1电子计算器四则运算结果......................

附录A常用函数及说明..........................

附录BC语言程序及讲解.........................

总结..............................................

电子计算器程序设计

第一章绪论

1.1概述

17世纪初,西方国家的计算工具有了较大的发展。

英国数学家发明了“纳皮尔算筹”;英国牧师奥却德发明了圆柱型对数计算尺,这种计算尺不仅能做加减乘除和开放运算,甚至可以计算三角函数,指数函数和对数函数。

这些计算工具不仅带动了计算器的发展,也为现代计算器发展奠定了基础。

本程序旨在训练读者的编程能力,使读者熟悉C语言图形模式下的编程。

本程序中设计结构体,数组等方面的知识。

通过本程序的训练,使读者能对C语言有一个更深的了解,掌握利用C语言相关函数开发计算器的基本原理,为进一步开发出高质量的多功能计算器打下坚实的基础

1.2电子计算器的原理

利用C语言中算法来实现四则云算的进行,掌握计算机语言将算法转换成程序运算:

程序设计=算法+数据结构+计算机语言+程序设计方法+工具软件和环境+文档

程序设计人员应当具备以上几个方面的综合知识,才能更好的惊醒程序设计,而四则运算是简单程序设计,所以对计算机方面的要求并不大。

1.3课题的意义及设计的目标

通过一个学期的学习,我认为要学好C语言程序这门课程,不仅要认真阅读课本知识,更重要的是要通过上机实践才能增强和巩固我的知识。

特别是作为本科生,更要注重实践这一环节,只有这样我们才能成为合格的计算机人材。

通过这次课程设计,进一步巩固所学的语句,如语句嵌套等;加深对循环,分支等结构的运用;最后还可以熟悉四则运算﹑三角函数等经典算法。

通过此次课程设计扩展自己的知识面,课本上的东西是远远不够的,可以通过去图书馆查资料,上网找资料等手段学到一些新知识,比如画图函数,颜色填充函数等。

通过课程设计,加深对结构化程序设计思想的理解,能进行一个系统功能需求分析,并设计合理的模块化结构。

提高程序开发能力。

1.4主要设计内容

用所学过的C语言基本知识进行编程,来实现简单的四则运算。

我设计的是一款简易计算器,界面清楚,操作方便,它能实现以下功能:

1.以界面形式给出计算器功能

2.简单的四则混合运算

 

第二章程序设计相关基础知识介绍

2.1书写程序时应注意的相关事项

由于考虑清晰,利于阅读,理等方面问题,在书写程序时英遵循以下规则:

1.每个说明,语句各占一行;

2.{}符号或if,while语句,单独一行,{}符号并与第一个字母对齐;

3.书写过程注意保存,防止失误丢失信息;

4.做到以上规则,可更大确保编程过程中的顺利进行

2.2基本类型的分类及特点

类型说明符

整型

int

字符型

char

正弦运算符

+

负号运算符

-

圆括号

()

数组元素下表

[]

乘法.除法.整数

*,/,%

2.3结构简介

从程序流程分析来看,程序可分为基本的三种顺序结构,分支结构,循环结构。

2.3.1顺序程序设计

C程序的执行部分是由语句组成的。

程序的功能也是由执行语句实现的。

C语句可以分为以下五种:

1.表达式语句:

表达式语句由表达式加上分号“;”组成。

其一般形式为:

表达式;

执行表达式语句就是计算表达式的值。

例如:

x=y+z;赋值语句;

y+z;加法运算语句,但计算结果不能保留,无实际意义;

i++;自增1语句,i值曾1。

2.函数调用语句:

由函数名,实际参数加上分号“;”组成。

其一般形式为:

函数名(实际参数表);

执行函数语句就是调用函数体并把实际参数赋予函数定义中的形式参数,然后执行被调用函数体中的语句,求取函数值。

例如:

Printf(“CProgram”);

调用库函数,输出字符串。

3.控制语句:

控制语句用于控制程序的流程,以实现程序的各种结构方式

它们有特定的语句定义符组成。

C语言有九种控制语句。

可分成以下三类:

1)条件判断语句:

if语句,switch语句;

2)循环执行语句:

dowhile语句,while语句,for语句;

3)转向语句:

break语句,goto语句,continue语句,return语句。

4.复合语句:

把多个语句用{}括起来组成一个语句称复合语句。

在程序中应把复合语句看成是单条语句,而不是多条语句。

例如:

{

x=y+z;

a=b+c;

printf(“%d%d”,x,a);

}

是一条复合语句。

复合语句内的各条语句都必须以分号“;”结尾,在括号“}”外不能加分号。

2.3.2分支程序设计

1.本程序中有以下关系运算符:

1)+加法符号

2)-减法符号

3)*乘法符号

4)/除法符号

5)=等号

2.关系表达式

关系表达式的一般形式为:

表达式关系运算符表达式

例如:

a+b=c

b-c=a

a*b=c

b/c=a

都是合法的关系表达式。

3.if语句

用if语句可以构成分支结构。

它根据给定的条件进行判断,已决定执行某个分支程序段。

if语句的三种形式

(1)第一种形式为基本形式:

if

if(表达式)

语句;

其语义是:

如果表达式的值为真,则执行其后的语句,否则不执行该语句。

(2)第二种形式为:

if-else

if(表达式)

语句1;

else

语句2;

其语义是:

如果表达式的值为真,则执行语句1,否则执行语句2。

2.3.3循环程序设计

循环结构是程序中一种很重要的结构,其特点是,在给定条件成立时,反复执行某程序段,直到条件不成立为止。

1)用goto语句和if语句构成循环;

2)用while语句

3)用do-while语句;

4)用for语句

第三章软件设计流程图

3.1主函数流程图

特点:

1)主程序一开始就进入一个循环,用do语句实现,这样就可以连续式最开始值为初始值,进行下一次运算,而不会受上一次数据影响。

2)把程序模板化,把输入输出语句放在子程序中,在主函数中调用使程序清晰明了,不至于太多的重复,方便分析。

3.2数据输出子程序流程图

特点:

四则云算可连续计算,结束晕算按#键,即可,继续按enter键。

3.3电子计算器的输出程序

程序如下:

voidmain()

{

chars[20];

charendflag;

inti;

intweiflag;

intflag;

inta,b;

do

{

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

{

s[i]=0;

}

i=0;

weiflag=0;

flag=0;

a=0;

b=0;

endflag=0;

printf("%s","pleaseputinanumber:

");

while(s[i]!

='\n')

{

i++;

scanf("%c",&s[i]);

}

for(weiflag=1;s[weiflag]!

='\n';weiflag++)

{

if(s[weiflag]=='+')

{

flag=1;

break;

}

elseif(s[weiflag]=='-')

{

flag=2;

break;

}

elseif(s[weiflag]=='*')

{

flag=3;

break;

}

elseif(s[weiflag]=='/')

{

flag=4;

break;

}

}

for(i=1;i

{

a=a*10+(s[i]-48);

}

for(i=weiflag+1;s[i]!

='\n';i++)

{

b=b*10+(s[i]-48);

}

switch(flag)

{

case1:

printf("%s","sddresult:

");

printf("%d",a+b);

printf("\r\n");

break;

case2:

printf("%s","mudresult:

");

printf("%d",a-b);

printf("\r\n");

break;

case3:

printf("%s","minresult:

");

printf("%d",a*b);

printf("\r\n");

break;

case4:

if(b==0)

{

printf("%s","notzero");

break;

}

else

{

printf("%s","chufaresult:

");

printf("%0.3f",(float)a/(float)b);

}

printf("\r\n");

break;

default:

break;

}

printf("%s","entercontinugoout#:

");

scanf("%c",&endflag);

}while(endflag!

='#');

exit(0);

}

特点:

●简易性:

操作简单,易操作。

●有限性:

对于输入的数据限制。

第四章软件运行界面说明

4.1计算机四则云算结果

1)进行四则运算

 

2)按enter键继续运行

 

2)按#键退出运行

说明:

1)图中最多可输入20位的字节,可连续计算,在四则运算中可出现负数,小数等计算结果。

2)经过多次计算的输入,结果无误,证明此程序可行。

 

附录A常用函数及类型说明

 

表1常见函数及类型说明

函数名

函数功能

fmod

求整除x/y的余数

printf

按printf指定的格式字符所规定的格式,将输出表列args的值输出到标准输出设备scanf

scanf

从标准输入设备按format指向的格式字符串所规定的格式,输入数据给args所指向的单元

exit

使程序执行立刻终止,并清除和关闭所有打开的文件。

status=0表示工序正常结束,status非0表示程序存在错误。

atof

把字符串S转换成双精度浮点数

atoi

把字符串S转换成整型数

atol

把字符串S转换成长整型数

附录BC语言程序及讲解

/*

***************************************************

*标题:

东方学院09级电子信息工程课程设计程序

*文件:

noname.c

*日期:

2010-12-22

*导师:

闵坤龙

*作者:

朱兵杰

***************************************************

*描述:

*程序实现简单的四则运算

***************************************************

*/

#include"stdio.h"

#include"conio.h"

/************************变量的定义**********************/

voidmain()

{

chars[20];/*用来存储输入的算式*/

charendflag;/*用来保存操作结束符*/

inti;/*作为循环使用的变量*/

intweiflag;/*标记算术符号的位置*/

intflag;/*计算方法的标志*/

inta,b;/*进行算术运算的两个数值*/

do

{

/***********************************************************

/*********************变量的初始化***********************/

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

{

s[i]=0;

}

i=0;

weiflag=0;

flag=0;

a=0;

b=0;

endflag=0;

/**********************************************************/

/************获取输入存入数组S中以回车结束**********/

printf("%s","pleaseputinanumber:

");

while(s[i]!

='\n')

{

i++;

scanf("%c",&s[i]);

}

/**********************************************************/

/**计算运算符在字符数组S中的位置并判断是何种运算*/

for(weiflag=1;s[weiflag]!

='\n';weiflag++)

{

if(s[weiflag]=='+')

{

flag=1;

break;

}

elseif(s[weiflag]=='-')

{

flag=2;

break;

}

elseif(s[weiflag]=='*')

{

flag=3;

break;

}

elseif(s[weiflag]=='/')

{

flag=4;

break;

}

}

/**********************************************************/

/********将字符数组存入的数据转化为两个计算数*******/

for(i=1;i

{

a=a*10+(s[i]-48);

}

for(i=weiflag+1;s[i]!

='\n';i++)

{

b=b*10+(s[i]-48);

}

/**********************************************************//****************进行数据的运算并输出*****************/

switch(flag)

{

case1:

printf("%s","sddresult:

");

printf("%d",a+b);

printf("\r\n");

break;

case2:

printf("%s","mudresult:

");

printf("%d",a-b);

printf("\r\n");

break;

case3:

printf("%s","minresult:

");

printf("%d",a*b);

printf("\r\n");

break;

case4:

if(b==0)

{

printf("%s","notzero");

break;

}

else

{

printf("%s","chufaresult:

");

printf("%0.3f",(float)a/(float)b);

}

printf("\r\n");

break;

default:

break;

printf("%s","entercontinugoout#:

");

scanf("%c",&endflag);

}

while(endflag!

='#');

exit(0);

}

 

总结

这次课程设计时间很短,但我从中学到了许多,对程

有了更深入的了解,并且自己也得到了锻炼,C语言知识了很大的提高,感谢指导老师闵坤龙老师的耐心指导与帮助,虽然我做的并不是很难的程序,但他仍然让师长教导我们,导师认真的态度,渊博的知识,耐心的指导,使我受益无穷,感谢闵老师!

从中我学到最重要的就是:

自己努力去做一件事,过程真的很享受,结果更让

有成就感。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1