C语言概述、算法介绍

C语言概述、算法介绍

ID:40841227

大小:320.46 KB

页数:46页

时间:2019-08-08

C语言概述、算法介绍_第1页
C语言概述、算法介绍_第2页
C语言概述、算法介绍_第3页
C语言概述、算法介绍_第4页
C语言概述、算法介绍_第5页
资源描述:

《C语言概述、算法介绍》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第一章C概述、算法描述主要内容C语言概述算法(一)C语言概述内容C语言出现的历史背景C语言的特点简单的C程序介绍运行C程序的步骤历史背景C语言出现的历史背景C语言是国际上广泛流行的计算机高级语言,既可用来写系统软件,也可用来写应用软件。C语言是在B语言的基础上发展起来的,它的根源可以追溯到ALGOL60。特点C语言特点语言简洁、紧凑,使用方便、灵活。运算符丰富。数据结构丰富,具有现代化语言的各种数据结构。具有结构化的控制语句。语法限制不太严格,程序设计自由度大。语言能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。生成

2、目标代码质量高,程序执行效率高。用C语言编写的程序可移植性好(与汇编语言比)。C语言在编程语言中的位置有人把C称为“高级语言中的低级语言”或“中级语言”,意为兼有高级和低级语言的特点。按此观点可将各语言分类如下:高级:BASIC,FORTRAN,COBOL,PASCAL,Ada,Modula-2;中级:C,FORTH,宏汇编;低级:汇编语言一般仍习惯将C语言称为高级语言,因为C程序也要通过编译、链接才能得到可执行的目标程序,这是和其他高级语言相同的。程序示例C程序(例1.2)例1.2求两数和#includeintmain(){

3、inta;intb;intsum;a=123;b=456;sum=a+b;printf("sumis%d/n",sum);return1;}C程序(例1.3)例1.3求两个数中的较大者#includeintmax(intx,inty);//前向声明intmain()/*主函数*/{inta,b,c;/*声明部分,定义变量*/scanf("%d,%d",&a,&b);/*输入变量a和b的值*/c=max(a,b);/*调用max函数,将得到的值赋给c*/printf("max=%d",c);/*输出c的值*/return1;}C

4、程序介绍(例1.3续1)//定义max函数,函数值为整型,形式参数x,y为整型intmax(intx,inty){intz;if(x>y){z=x;}else{z=y;}returnz;}C程序(例1.3续2)max()函数的另两种写法:一种:intmax(intx,inty){returnx>=y?x:y;}另一种:用宏实现#defineMAX(x,y)(x)>=(y)?(x):(y)运行C程序步骤预备知识程序:一组计算机能识别和执行的指令。源程序:用高级语言编写的程序。计算机只能识别和执行由0和1组成的二进制指令,而不能识别和执行用高级语言

5、写的指令。编译:为了使计算机能执行高级语言源程序,必须先用一种称为“编译程序”的软件,把源程序翻译成二进制形式的“目标程序”。链接:把目标程序与系统的函数库以及其他目标程序链接起来,形成可执行程序。运行C程序流程图(二)算法总述程序包含以下两方面:数据数据的类型和数据的组织形式,即数据结构。操作即操作步骤,也就是算法。它们的关系:数据是操作的对象,操作的目的是对数据进行加工处理,以得到期望的结果。数据结构+算法=程序总述程序除了上述两个要素之外,还包括程序设计方法和计算机语言。因此,一个程序员应具备如下知识:算法数据结构程序设计方法语言内容算法

6、的概念算法举例算法特性算法表示方法结构化的程序设计方法算法的概念算法的概念为解决一个问题而采取的方法和步骤,就称为算法。生活中同样存在算法:吃饭、上学、跳舞……算法分类:数值运算算法非数值运算算法:常见的是用于事务管理。算法举例例2.1问题描述:求1*2*3*4*5。方法一:用最原始的方法进行:步骤1:先求1*2,得到结果2。步骤2:将步骤2得到的结果再乘以3,得到结果6。步骤3:将6乘以4,得到24。步骤4:将24乘以5,得到120。例2.1(方法二)设两个变量分别代表被乘数和乘数,不另外设变量存放结果,而直接将每一步的乘积放在被乘数变量中。

7、p:被乘数,i:乘数。用循环算法求结果。步骤:S1:使p=1S2:使i=2S3:使p*i,乘积仍放在变量p中:p*i=》pS4:使i的值加1,即:i+1=》iS5:如果i不大于5,返回S3重新执行;否则,算法结束。例2.1(问题变化)问题改为:求1*3*5*7*9*11。算法只需作很少的改动:S1:1=》pS2:3=》iS3:p*i=》pS4:i+2=》iS5:若i<=11,返回S3;否则,结束。思考:仔细分析循环结束的条件,即S5步骤,如果将S5修改为:i<11,返回S3。会有什么问题?例2.1(总结)方法二具有通用性,灵活性。例2.2问题描

8、述:有50个学生,要求将他们之中成绩在80分以上的学号和成绩输出。解决方法:用数组n表示学生学号,n[0]代表代表第一个学生,n[i]代表第i+1个学

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。