版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程要求课前请做好预习保持课堂安静,头脑清醒,思维活跃认真、独立、按时完成并提交作业重视上机实践,有效利用宝贵的上机时间参考书目C程序设计 谭浩强 清华大学出版社C语言程序设计何钦铭 颜 晖 高等教育出版社第0章 几个重要的术语概念1.数据 凡是能够被计算机接收、识别、处理的一切符号称之为数据。2.指令 在计算机中,指令指示计算机进行什么操作和操作什么。进行什么操作的符号叫操作码,操作的对象叫做操作数。3.程序 程序是为解决某一问题而设计的一系列指令,这些指令能被计算机识别和执行。人们设计程序的最终目的是用它来解决问题。 4.程序设计 程序设计指设计、书写及检查程序的过程。具体来说是指包括分析
2、问题、确定解决方法、设计程序结构,使问题内容或解题计划变为计算机能够接受的指令或语句序列的过程。5.语言 语言用于传达信息的表示方法、约定和规则的集合,是人们交流信息的工具和媒介。程序设计语言是人与计算机打交道时交流信息的一类媒介和工具,它由语句组成,包含语法和语义两个方面。语法定义了构造语言表达式或句子所需要的各种规则。语义则是对构成语言成分的含义的定义和说明。 C语言程序设计 第第0 0章章 C C语言概述语言概述第一章 C语言概述C语言发展历史C语言特点C程序格式和结构特点C程序开发步骤算法及其表示1.1 C语言发展历史程序设计语言的发展机器语言汇编语言高级语言面向过程面向对象CPU指令
3、系统,由0、1序列构成的指令码组成如:10000000 加 10010000 减用助记符号描述的指令系统如 ADD A, B面向机器的语言程序设计是数据被加工的过程客观世界可以分类,对象是类的实例对象是数据和方法的封装对象间通过发送和接受消息发生联系程序设计关键是定义类,并由类派生对象 C语言程序设计 第一章第一章 C C语言概述语言概述52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96AdaALGOL60ALGOL68PascalModula-2CPLBCPL BCC+JavaLISPPROLOGCOBOL
4、FORTRAN77FORTRANPL/1Simula 67Smalltalk 80BASICANSI-BASICQBASIC VBFORTRAN90C语言发展过程v产生背景v产生过程l时间:19721973l地点:美国贝尔实验室l目的:UNIX操作系统l设计人: Ken.Thompson和Dennis.M.RitchievC标准l标准C: K&R合著The C Programming LanguagelANSI C: 1983年l87 ANSI C: 1987年l1990年国际标准的ANSI C C语言程序设计 第一章第一章 C C语言概述语言概述1.2 C语言特点语言简洁、紧凑、灵活运算符和
5、数据类型丰富程序设计结构化、模块化生成目标代码质量高可移植性好语法限制不太严格,程序设计自由度大C语言允许直接访问物理地址,能进行位操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作中级语言 C语言程序设计 第一章第一章 C C语言概述语言概述32个关键字:个关键字:(auto break case char constcontinue default do double elseenum extern float for gotoif int long register returnshort signed sizeof static structswitch typedef unsi
6、gned union voidvolatile while C语言程序设计 第一章第一章 C C语言概述语言概述9 9种控制语句种控制语句:if( )elsefor( )while( )dowhile( )continuebreakswitchgotoreturn C语言程序设计 第一章第一章 C C语言概述语言概述例例 C语言与语言与Pascal语言比较语言比较C语言语言 Pascal语言语言 含义含义 BEGIN.END 复合语句复合语句if(e) s; IF(e) THEN s 条件语句条件语句int i ; VAR i:INTEGER 定义定义i为整型变量为整型变量 int a10;
7、VAR a:ARRAY1.10 OF INTEGER 定义整型数组定义整型数组aint f(); FUNCTION f():INTEGER 定义定义f为返值整型的函数为返值整型的函数int *p; VAR p: INTEGER 定义定义p为指向整型变量的指针为指向整型变量的指针i+= 2; i=i+2 赋值赋值i+2ii+,+i; i=i+1 i自增值自增值结论:结论:C比比 Pascal简练,源程序短简练,源程序短。 C语言程序设计 第一章第一章 C C语言概述语言概述3434种运算符:种运算符:算术运算符:算术运算符:+ - + - * * / % + - / % + -关系运算符:关系运
8、算符: = != = !=逻辑运算符:!逻辑运算符:! & |& |位运算符位运算符 : | & | &赋值运算符:赋值运算符:= = 及其扩展及其扩展条件运算符:条件运算符:?:?:逗号运算符:逗号运算符:, ,指针运算符:指针运算符:* * & &求字节数求字节数 :sizeofsizeof强制类型转换:强制类型转换:( (类型)类型)分量运算符:分量运算符:. -. -下标运算符:下标运算符:其它其它 :( ) -( ) - C语言程序设计 第一章第一章 C C语言概述语言概述C C数数据据类类型型基本类型基本类型构造类型构造类型指针类型指针类型空类型空类型void定义类型定义类型typ
9、edef数值类型数值类型字符类型字符类型char枚举类型枚举类型enum整整 型型浮点型浮点型单精度型单精度型float双精度型双精度型double短整型短整型short长整型长整型long整型整型int数组数组结构体结构体struct共用体共用体union C语言程序设计 第一章第一章 C C语言概述语言概述1.3 C程序格式和结构特点例例1.1 1.1 第一个程序第一个程序 Hello,World!Hello,World!/* example1.1 The first C Program*/#include void main() printf(“Hello,World!”); C语言程序
10、设计 第一章第一章 C C语言概述语言概述注释编译预处理函数语句输出:输出:Hello,World!例1.2/* example1.1 calculate the sum of a and b*/#include /* This is the main program */void main() int a,b,sum; a=10; b=24; sum=add(a,b); printf(”sum= %dn,sum);/* This function calculates the sum of x and y */int add(int x,int y) int z; z=x+y; return
11、(z);运行结果:sum=34函数语句预处理命令注释 C语言程序设计 第一章第一章 C C语言概述语言概述格式特点v习惯用小写字母,大小写敏感v不使用行号,无程序行概念v可使用空行和空格v常用锯齿形书写格式 C语言程序设计 第一章第一章 C C语言概述语言概述main( ) . . . . . . .#include void main( ) int i , j , sum; sum=0; for(i=1; i10;i+) for(j=1;j10;j+) sum+=i*j ; printf(“%dn”,sum);优秀程序员的素质之一: 使用TAB缩进 对齐 有足够的注释 有合适的空行结构特点v
12、函数与主函数l程序由一个或多个函数组成l必须有且只能有一个主函数main()l程序执行从main开始,在main中结束,其它函数通过嵌套调用得以执行。v程序语句lC程序由语句组成(可分多行书写)l用“;”作为语句终止符v注释l/* */为注释,不能嵌套l不产生编译代码例: /*This is the main /* of example1.1*/ */ 非法v编译预处理命令 C语言程序设计 第一章第一章 C C语言概述语言概述编辑编辑链接链接编译编译执行执行1.4 C程序的开发步骤C程序开发步骤 开 始 编 辑 编 译 连 接 执 行 有错?结果正确? 结 束有源程序 file.c目 标 程序
13、file.obj库函数和其它目标程序可执行目标程序无正确不正确 C语言程序设计 第一章第一章 C C语言概述语言概述程序代码的录入,生成源程序*.c语法分析查错,翻译生成目标程序*.obj与其它目标程序或库链接装配,生成可执行程序*.exe源程序目标程序可执行程序内容程序设计语言机器语言机器语言可执行不可以不可以可以文件名后缀.c.obj.exe1.4 算法及其表示什么是程序?沃思(N. Wirth)公式: 数据结构 + 算法 = 程序数据结构(Data Structure):对数据的数据类型、组成形式、相互关系等的描述算法(Algorithm):对数据结构的操作的描述一般认为:程序 = 数据
14、结构 + 算法 + 程序设计方法 +语言工具和环境什么是算法?算法是解决问题的方法和步骤在计算机上的表示任何问题的求解都有一定的“算法”计算机算法有很大不同v 算法是人设计出来的v 计算机算法是严谨的算法可分为两类: 数值运算算法:主要用于科学运算 非数值运算算法:如信息检索、人工智能等算法的特性有零个或多个执行算法所需要的数据作为输入有一个或多个经算法处理的数据作为输出包含有限个步骤,执行算法的时间也是有限时间算法的每一步所规定的动作应该是唯一确定的,没有二义的。算法的每个步骤都应当能有效地执行,并得到确定的结果例:求s = 1 + 2 + 3 + + 100问题:求100个整数的和s,结果
15、是s 这100个整数是从1到100的所有自然数算法一:设算法一:设 s 为累加单元为累加单元1) 将将1送到送到S中;中;2) 把把2加到加到S中(即中(即S中的内容中的内容1加加2后再送回后再送回S中,下同)中,下同)3) 把把3加到加到S中;中;100) 把把100加到加到S中;中;101) 把把S中的结果输出。中的结果输出。例:求s = 1 + 2 + 3 + + 100问题:求100个整数的和s,结果是s 这100个整数是从1到100的所有自然数算法二:设算法二:设 n 为计数单元,为计数单元,s 为累加单元为累加单元1) 将将 0 送到送到S中,将中,将 0 送到送到 n 中;中;2) 将将 n+1 送到送到 n 中,再把中,再把 n 加到加到 s 中;中;3) 判断判断 n 的值是否大于等于的值是否大于
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五版房屋代持业务合同范本3篇
- 二零二五版电机维修智能化改造合同范本3篇
- 二零二五年度房地产经纪服务合同7篇
- 二零二五版购房借款及房地产开发商风险控制担保服务合同3篇
- 二零二五版商业地产买卖合同模板下载3篇
- 二零二五年度高等教育机构外国专家项目合作合同参考书3篇
- 二零二五版家用空调安装与室内环境改善合同3篇
- 二零二五年度成都上灶师父招聘与餐饮业人才服务合同2篇
- 展会创意展示合同(2篇)
- 2025年度油气田2#配电房土建安装与防爆电气设备合同3篇
- 下肢皮牵引护理PPT课件(19页PPT)
- 台资企业A股上市相关资料
- 电 梯 工 程 预 算 书
- 参会嘉宾签到表
- 机械车间员工绩效考核表
- 形式发票格式2 INVOICE
- 2.48低危胸痛患者后继治疗评估流程图
- 人力资源管理之绩效考核 一、什么是绩效 所谓绩效简单的讲就是对
- 山东省医院目录
- 云南地方本科高校部分基础研究
- 废品管理流程图
评论
0/150
提交评论