




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程名称:C语言程序设计课型与教法:讲授学时:2课时授课题目:第1章C语言概述基本教材:C语言程序设计(高等教育出版社)廖雷主编教学目的与要求:通过本章的学习使学生了解C语言的历史、特点和C语言程序的上机步骤;掌握学习C语言所需的必备知识:数制、数制转换及整数的原码、补码和反码表示。教学重点与难点:C语言程序的上机步骤;数据转换及整数的原码、补码和反码的表示1C语言发展历史C语言特点C程序格式和结构特点C程序开发步骤第一章C语言概述预备知识2存储器运算器控制器输入设备输出设备CPU数据路径控制路径计算机的基本组成结构3程序设计语言的发展机器语言汇编语言高级语言面向过程面向对象一种CPU指令系统,由0、1序列构成的指令码组成如:10000000加
10010000减用助记符号描述的指令系统如ADDA,B面向机器的语言程序设计侧重于系统功能解题过程是数据被加工的过程客观世界可以分类,对象是类的实例对象是数据和方法的封装对象间通过发送和接受消息发生联系程序设计关键是定义类,并由类派生对象冯.诺依曼结构:计算机运算器控制器存储器主机:I/O设备:键盘、显示器等中央处理器CPUC语言发展历史4产生背景汇编语言程序依赖于计算机硬件,可读性和可移植性都差一般的高级语言又难以实现对计算机硬件的直接操作
产生过程(BCPL→B→C)时间:1972~1973地点:美国贝尔实验室目的:UNIX操作系统设计人:Ken.Thompson、Dennis.M.Ritchie和Brian.W.KernighanC标准标准C:K&R合著《TheCProgrammingLanguage》83ANSIC:1983年ANSI公布C语言标准草案87ANSI标准C:1987年1990年国际标准的ANSICC语言发展过程55254565860626466687072747678808284868890929496AdaALGOL60ALGOL68PascalModula-2CPLBCPLBCC++JavaLISPPROLOGCOBOLFORTRAN77FORTRANPL/1Simula67Smalltalk80BASICANSI-BASICQBASICVBFORTRAN90高级语言的发展变迁情况6具有现代程序设计语言的特征运算符和数据类型丰富程序设计结构化、模块化用途广泛语言简洁,具备底层处理功能,可执行代码质量高可移植性好>>C语言特点
7C数据类型基本类型构造类型指针类型空类型void定义类型typedef字符类型char枚举类型enum整型浮点型单精度型float双精度型double数组结构struct联合union短整型short长整型long整型int数据类型总表8C运算符算术运算符:+-*/%++--关系运算符:<<===>>=!=逻辑运算符:!&&||位运算符:<<>>~|^&赋值运算符:=及其扩展赋值运算符条件运算符:?:逗号运算符:,指针运算符:*&求字节数:sizeof强制类型转换:(类型)分量运算符:.->下标运算符:[]其它:()等运算符
9基本思想:任何程序都可以用“顺序”、“选择”和“循环”这三种基本结构来描述,限制使用无条件跳转语句(goto)三种基本结构顺序结构AB结构化程序设计10PAB真假二分支选择结构多分支选择结构选择结构A1A2AiAnk=k2k=k1k=knk=ki......k11PA假真AP假真循环结构结构化程序:由三种基本结构反复嵌套构成的程序优点:结构清晰,易读,提高程序设计质量和效率12特点2:程序组织结构化,即程序设计采用自顶向下,逐步细化,功能模块化开发方法:
将程序设计针对的问题进行一步步分解,直到分解到对应于一个个功能更简单,又独立的模块,每个模块也可以分解到“顺序”、“选择”和“循环”三种基本程序结构优点:各模块相对独立、功能单一、结构清晰、接口简单控制了程序设计的复杂性提高元件的可靠性缩短开发周期避免程序开发的重复劳动易于维护和功能扩充C是结构化程序设计语言结构化程序设计
13例
第一个程序Hello,World!/*example1.1ThefirstCProgram*/#include<stdio.h>main(){
printf(“Hello,World!”);}/*ch1_1.c*/注释预处理命令函数语句输出:Hello,World!C程序格式和结构特点14/*examplecalculatethesumofaandb*/#include<stdio.h>/*Thisisthemainprogram*/main(){inta,b,sum;
a=10;
b=24;sum=add(a,b);
printf(”sum=%d\n",sum);}/*Thisfunctioncalculatesthesumofxandy*/int
add(int
x,inty){intz;z=x+y;return(z);}/*ch1_2.c*/运行结果:sum=34函数语句预处理命令注释15习惯用小写字母,大小写敏感不使用行号,无程序行概念可使用空行和空格常用锯齿形书写格式main(){
……………….………………
…………..…………..
……………….
………………………….
……………….………………..}main(){
inti,j,sum;sum=0;for(i=1;i<10;i++)
{for(j=1;j<10;j++){sum+=i*j;}
}
printf(“%d\n”,sum);}优秀程序员的素质之一:使用TAB缩进{}对齐有足够的注释有合适的空行格式特点16函数与主函数程序由一个或多个函数组成必须有且只能有一个主函数main()程序执行从main开始,在main中结束,其它函数通过嵌套调用得以执行。程序语句C程序由语句组成用“;”作为语句终止符注释/**/为注释,不能嵌套不产生编译代码例:/*Thisisthemain/*ofexample1.1*/*/
非法预处理命令结构特点
17编辑链接编译执行程序代码的录入,生成源程序*.c语法分析查错,翻译生成目标程序*.obj与其它目标程序或库链接装配,生成可执行程序*.exeC程序开发步骤
18DOS命令或Windows基本操作计算机中数的表示及进制转换数码、基与权数码:表示数的符号基:数码的个数权:每一位所具有的值数制十进制二进制八进制十六进制预备知识195或(195)10(100)2(261)8(1FA)1619数制基权表示数码特点10º,10¹,10²,…十进制数0~910逢十进一127或(127)10二进制数0~122º,2¹,2²,…逢二进一(10110)2八进制数0~788º,8¹,8²,…逢八进一(17530)8十六进制数0~9,A~F1616º,16¹,16²,…逢十六进一(AE701)1620二进制、八进制、十六进制转换成十进制
方法:把每一位的数字乘以其相应位的权值,将各乘积相加各种进制之间的转换21十进制转换成二进制、八进制、十六进制整数部分:除基取余法,直至商为0小数部分:乘基取整法,直至小数部分为0或达到精度为止例把十进制数459.78125转换成十六进制数(459.78125)10=(1CB.C8)1645916281611601CB余11余12余1各种进制之间的转换0.78125*16=12.5120.5*16=888C22二进制转换成八进制:整数部分从右向左,小数部分从左向右,每3位一组(不足3位补0),转换成八进制八进制转换成二进制:用3位二进制数代替每一位八进制数例(11010.01)2=(011,010.010)2=(32.2)8例(24.6)8=(010,100.110)2=(10100.11)2000~0001~1010~2011~3100~4101~5110~6111~7二进制与八进制之间的转换各种进制之间的转换23二进制转换成十六进制:整数部分从右向左,小数部分从左向右,每4位一组(不足4位补0),转换成十六进制十六进制转换成二进制:用4位二进制数代替每一位十六进制数例(11010101.111101)2=(1101,0101.1111,0100)2=(D5.F4)16例(4B9.E)16=(0100,1011,1001.1110)2=(10010111001.1110)20000~00001~10010~20011~30100~40101~50110~60111~71000~81001~91010~A1011~B1100~C1101~D1110~E1111~F二进制与十六进制之间的转换各种进制之间的转换24内存以字节为单元组成每个字节有一个地址一个字节一般由8个二进制位组成每个二进位的值是0或101234567012345678910…….字节和位25原码:最高位为符号位,正数符号位为0,负数符号位为1,其余各位为数值本身的绝对值反码:正数:反码与原码相同负数:最高位为1,其余位对原码取反补码:正数:原码、反码、补码相同负数:最高位为1,其余位为原码取反,再对整个数加1整数在机器内大多用补码表示整数的表示方法——原码、反码和补码26原码反码补码+7000001110000011100000111-7100001111111100
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高速公路架桥机安全培训
- 珠宝销售工作总结
- 金融分析师职场应用试题及答案
- 2024年特许金融分析师学习策略与试题及答案
- 创新创业策划书模板
- 河南省洛阳市一中2024-2025学年高三2月月考语文试题
- 幼儿园预防结核病2
- 教案课件整改方案范文
- CFA考试误区与攻略试题及答案
- 摄影知识学习心得体会
- 武汉市部分学校2024-2025学年下学期3月考七年级数学试题(含答案)
- 2025年全国高考体育单招政治时事填空练习50题(含答案)
- CB-T4528-2024《船舶行业企业应急管理要求》
- 餐饮业成本核算 全套课件
- 世界肾脏日肾脏病健康科普与讲座课件
- 上海市高一物理竞赛
- 太原市修缮土建工程预算定额
- 漆黑的魅影-精灵分布图鉴
- 付款申请函正式函
- 首发业务若干问题解答
- 曲线坐标计算(交点法]断链
评论
0/150
提交评论