第1章 C语言程序设计概述_第1页
第1章 C语言程序设计概述_第2页
第1章 C语言程序设计概述_第3页
第1章 C语言程序设计概述_第4页
第1章 C语言程序设计概述_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

主讲教师:王国华学院:数学与信息学院C语言程序设计C语言的位置2编译型语言在程序执行之前,有一个单独的编译过程,将程序翻译成机器语言,以后执行这个程序的时候,就不用再进行翻译了。解释型语言,是在运行的时候将程序翻译成机器语言,所以运行速度相对于编译型语言要慢。C/C++等都是编译型语言,而Java,C#等都是解释型语言。

31.1计算机语言与程序设计

1.2程序设计的基本过程

1.3C语言的发展及特点

1.4C语言程序的组成和结构

1.5C语言的开发步骤第1章C语言程序设计概述4三个概念:人类语言、计算机语言、计算机程序人类语言:人与人之间交流的工具,通过自然语言实现人与人之间的沟通,使别人能够明白的按照语言的表达来办事、工作。如:汉语、英语、德语、法语、日语等……1.1计算机与程序设计什么是语言?5计算机语言:人与计算机之间交流的工具,通过计算机语言实现人与计算机之间的沟通,使计算机能够按照人的意图进行工作。如:C语言、foxpro、basic、java、汇编语言、机器语言等……如何通过程序(代码)跟计算机沟通?计算机硬件,只认得高低电平(二进制)!人类通过二进制与指令的对应,实现与计算机的交流6什么是计算机程序?计算机程序也常称为“代码”,是用一系列指令编写的,可以由计算机执行的以完成某一特定任务的脚本。7人们常把编写程序的过程称为程序设计。

计算机可以直接识别和执行的二进制语言。如:加法指令:10000000

减法指令:10010000特点:计算机可以直接识别和执行,效率高,

节省内存;但难以阅读和记忆。

程序设计语言

按照不同种计算机语言的语法编写的程序,我们把它称为某一种语言的程序。

例如用C语言编写的程序,我们称为C语言程序。类似的还有汇编语言程序、JAVA语言程序等。

程序设计语言的种类很多,从其发展历史以及功能情况来划分可以大致划分成三大类:1、机器语言:82、符号语言(又称汇编语言):用“助记符”来表示机器指令。如:ADDA,BSUBA,B计算机不能直接识别和执行用汇编语言编写的源程序,它必须经过一个叫汇编程序的系统软件翻译成机器语言程序(即目标程序)后才能执行。93、高级语言不依赖于机器,降低了编程的难度。如:C、Java等,用‘+’和‘-’来表示加减运算。如:a=7+8;c=4*d+6;

计算机也不能直接执行高级语言的源程序,必须先经过编译程序或解释程序翻译成目标程序后,才能由计算机执行。1.2.1程序设计的步骤

程序设计常被简单称为编码,事实上编码只是程序设计的一个步骤,过程如下:101.2程序设计的基本过程分析问题设计算法编写程序编译程序调试程序编写程序文档开始结束

值得指出的是,程序设计者如果认为要解决的问题很熟悉,分析问题和设计算法这两步常被快速跳过;另,编写程序文档不是必需的步骤,但对软件工程很重要。111.2.2算法的常用描述方法

算法是程序的灵魂,能读懂他人设计的算法和将自己设计的程序以易于理解的方式描述出来是必要的。

目前描述算法的方法有很多,如:自然语言、流程图、N-S流程图、PAD图和伪代码等(只需关注前两种)。N-S流程图几种标准控制结构PAD图N-S流程图示例自然语言例1-1:使用自然语言描述计算n!的算法。算法使用变量s表示计算n!的中间结果,即累乘的积;使用变量t表示乘数,则算法步骤如下:步骤1:输入n;步骤2:使s=1,t=1;步骤3:计算s×t,得到的积保存到s中;步骤4:使t的值增加1;步骤5:如果t≤n,则跳转到步骤3执行;否则计算结束,

继续下一步骤;步骤6:此时s的值就是n!,输出s的值。2.流程图流程图是使用一些几何图形、线条以及文字说明来描述算法的逻辑结构。14例1-2:使用流程图描述计算n!的算法。算法使用变量s表示计算n!的中间结果,即累乘的积;使用变量t表示乘数。15例1-3:远红外行人检测检测结果示例:Video116检测结果示例:图1.不同季节下市区、郊区场景的远红外行人检测结果171.3C语言的发展与特点1.3.1C语言的发展历程C语言的原型ALGOL60语言。(也称为A语言,面向问题的高级语言,离硬件比较远)

1963年,剑桥大学将ALGOL60语言发展成为CPL(CombinedProgrammingLanguage)语言。

1967年,剑桥大学的MatinRichards对CPL语言进行了简化,于是产生了BCPL语言。

1970年,美国贝尔实验室的KenThompson将BCPL进行了修改,并为它起了一个有趣的名字“B语言”。意思是将CPL语言煮干,提炼出它的精华。并且他用B语言写了第一个UNIX操作系统。

而在1973年,B语言也给人“煮”了一下,美国贝尔实验室的D.M.RITCHIE等人在B语言的基础上最终设计出了一种新的语言,他取了BCPL的第二个字母作为这种语言的名字,这就是C语言。18C程序的特点:(1)短小精悍而且功能齐全。(2)结构化的程序设计语言。(3)兼有高级语言和低级语言的特点。(4)程序执行效率高。(5)程序可移植性好。1.3C语言的发展与特点程序如下:

1/*2本程序在屏幕上输出一行字符串

3*/4#include<stdio.h>//编译预处理

5intmain()//主函数头部

6{//主函数体开始

7printf("WelcometoC!\n");//输出字符串

8return0;//返回值为09}19例1-3:编写一个C语言程序,其功能是显示字符串“WelocometoC!”1.4C语言程序的组成和结构20第1行到第3行是一个多行注释,注释不执行,它能够帮助程序员相互交流,理解程序和语句的作用。第4行是一个编译预处理命令,通常写在源程序的头部。程序从第5行开始定义了主函数main。每一个C程序都必须有一个主函数,C程序总是从主函数开始执行。第5行定义了主函数的头部,main是主函数的名称,int表示主函数的类型,右边的括号是必须的,它定义了函数的参数表。第6行到第9行是main函数的函数体的定义。函数体由一条或多条语句组成,这些语句按照顺序被放在一对花括号{}中。程序如下:

第1行/*第2行

本程序在屏幕上输出一行字符串第3行*/

第4行#include<stdio.h>//编译预处理第5行intmain()//主函数头部第6行{//主函数体开始第7行printf("WelcometoC!\n");//输出字符串第8行return0;//返回值为0

第9行}程序如下:#include<stdio.h>intmain(){doubler,area;//声明部分,定义变量

r=10.0;//赋值语句,让r的值为10.0area=3.14*r*r;//计算面积,并将结果赋值给areaprintf("area=%f\n",area);//输出area的值

return0;}21例1-4:根据半径计算圆面积的C程序。22第4行是main函数的声明部分,这里定义了两个变量r和area,分别表示圆的半径和面积。第5行是一条赋值语句,它把变量r的值设置为10.0。第6行也是一条赋值语句,但要复杂一点。首先计算赋值符号“=”右边的式子的结果,然后将结果赋给变量area。第7行输出了圆的面积area的值,这是程序的运算结果。程序如下:

第1行#include<stdio.h>

第2行intmain()

第3行{

第4行doubler,area;//声明部分,定义变量

第5行r=10.0;//赋值语句,让r的值为10.0

第6行area=3.14*r*r;//计算面积,并将结果赋值给area

第7行printf("area=%f\n",area);//输出area的值第8行return0;

第9行}23C语言程序的结构:源程序文件1~n示例:24Main函数示例:25编译预处理示例:全局变量声明示例:26函数头、函数体、声明部分、执行语句部分示例:27⑸在C语言中区分大小写,如Main、MAIN、main、

maiN是不相同的。(1)一个完整的C程序由若干个函数组成,至少有且

仅有一个main函数,每个函数包括:函数说明部分变量定义函数体语句部分⑵语句必须以分号(;)作结束标志;⑶由“/*”与“*/”之间的内容构成C语言程序的注释部分,也可以使用//;⑷用预处理命令#include可以包含有关文件的信息。C语言程序的基本结构:281.5C语言程序的开发步骤C语言程序的开发步骤:课后习题1.编写一个程序输出以下内容:*****************Hello,CWorld!*****************292.选做练习:用C语言输出心形图形303.什么是程序设计:

程序设计是给出解决特定问题程序的过程,是软件构造活动中的重要组成部分。程序设计往往以某种程序设计语言为工具,给出这种语言下的程序。程序设计过程应当包括分析、设计、编码、测试、排错、撰写文档等不同阶段。专业的程序设计人员常被称为程序员。314.什么是算法?算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。325.开发C语言程序有哪些步骤?写代码

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论