C语言详细教程(完整版)_第1页
C语言详细教程(完整版)_第2页
C语言详细教程(完整版)_第3页
C语言详细教程(完整版)_第4页
C语言详细教程(完整版)_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

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

文档简介

1、C Programming Language,语言程序设计,2010年度春季学期,2,教学安排,适应专业:非计算机专业 学 时:48 先修课程:计算机文化基础 教 材:C语言程序设计,马德骏等编著 任课教师:钟钰,3,教学环节,课前预习 讲授 作业(上机) 答疑 答疑时间:星期四 12:0013:30 地点:鉴主-12楼-计算机技术研究所 第6周到第18周 考试,4,上机安排,地点:南湖计算中心机房 时间:待定 上机内容:随教学进度根据配套的实验书(上机调试每次课堂作业) 要求: 所有作业必须独立完成 作业必须经上机调试通过 上机考勤3次缺席,按不及格处理 发现上机时间玩游戏等,按缺席一次处理

2、,5,实验安排,6,课程要求,课前请做好预习 保持课堂安静,头脑清醒,思维活跃 认真、独立、按时完成并提交作业 重视上机实践,有效利用宝贵的上机时间,C Programming Language,计算机技术研究所 钟 钰 caddilester,C 语言程序设计 Lecture 1,8,教学目的:掌握“文化基础”中的相关概念,明确学习方法,了解C语言基本知识。 教学要求:明确本课程的目标及学习方法,复习“文化基础”中与C语言相关的知识:数制、编码、计算机系统组成,了解算法的概念及表示、C语言及标识符、C语言基本结构。 学时:2学时,9,1.1 引言 1.2 算法和程序设计初步 1.3 C语言简

3、介 1.4 集成开发环境TurboC 2.0简介,10,信息与数据:信息存在于自然界,有多种形式;数据是信息在计算机中的表示,以二进制形式存在。 原码、反码、补码 数制转换,11,12,数值数据的编码方法: 前面讨论的是数值数据在计算机中的存放格式,下面讨论对数值数据进行编码的方法。 原码表示法:(假定用八个二进制位表示) a=+51 (a)2=(+00110011)2 则 a原=00110011 a=-127 (a)2=(-01111111)2 则 a原=11111111 原码表示法在八个二进制位中的表示范围: -127a+127 +0原=00000000 -0原=10000000 要点:

4、最高位作为符号位,若正数,则最高位是0,若负数,则最高位是1。,13,反码表示法:(假定用八个二进制位表示) 通过一个二进制整数的原码得到所谓反码:当a为正数时,a 原=a 反 ,当a为负数时,则保持a 原的符号位不变,其余各个二进制位逐位取反,即0变1,1变0。如: a=+51 a原=00110011 则 a 反 = a 原=00110011 a=-51 a原=10110011 则 a反=11001100 反码表示法在八个二进制位中的表示范围: -127a+127 +0反=00000000 -0反=11111111 要点: 由原码得到反码。若正数,则反码与原码相同,若负数,则最高位不变,其余

5、逐位取反。,14,补码表示法:(假定用八个二进制位表示) 通过一个二进制整数的反码得到所谓补码:当a0时,a 补=a 反 ,当a0时,则a 补=a 反+1,如: a=+51 a原=00110011 则 a补= a 反 = a 原=00110011 a=-51 a原=10110011 a反=11001100 则 a补=a 反+1 =11001101 补码表示法在八个二进制位中的表示范围: -128a+127 +0补=00000000 -128补=10000000 要点: 由反码得到补码。若正数,则反码与补码相同,若负数,则补码等于反码加1。 在补码表示法中,0的表示是唯一的,而最小值可达-128

6、。,15,在上述介绍当中我们是以八位二进制位为例,同样,我们可以将其推广到十六位,三十二位等二进制位中去,需要注意的是数值范围将发生变化。 思考:以上介绍的原码、反码 、补码都是有符定点整数的编码方式 ,若以八位二进制位表示无符定点整数,则其范围是0到255。 在Turbo C中: 有符整数是按有符定点整数格式的补码表示的, 无符整数是按无符定点整数格式表示的。,16,什么是程序设计语言? 自然语言,如汉语、英语等,随人类发展进步而自然形成的,人之间交流信息的工具和媒介。 程序语言是一类人造语言,“编程语言”、“程序语言”或“语言”。描述计算用的工具。 程序语言是人与计算机“交流”的媒介:人能

7、用程序语言描述计算过程,计算机可接受这种描述,完成所需计算。人用程序语言写程序,指挥计算机完成各种工作。,一、程序设计语言概述,17,1、机器语言:计算机可以直接识别和执行的二进制 语言。 2、汇编语言:用“助记符”来表示机器指令。 如:ADD A, B SUB A, B 它必须经过一个叫汇编程序的系统软件翻译成机器语言程 序(即目标程序)后才能执行。 3、算法语言:亦称为面向过程的程序设计语言,不 依赖于机器。 计算机也不能直接执行算法语言描述的源程序,必须先 经过编译程序编译成目标程序后,才能由计算机执行。,二、程序设计语言的发展简史,18,4、面向任务的程序设计语言:是非过程化的语言,

8、不需要知道问题是如何求解的,只需描述需求解 的问题是什么。数据库操作语言便是。 5、面向对象的程序设计语言:认为系统是由许多对 象组成的,对象通过消息相互联系和相互作用, 从而完成系统的功能。 如 C+,设计的程序更易懂, 更适合更大规 模的程序开发。,19,新语言不断提出,老语言被淘汰或改变 推动程序语言发展的主要原因: 1)编程中取得的新认识;随着程序设计实践,人们对程序该怎样做,怎样描述等不断产生新认识。 2)计算机应用发展。应用领域不断提出新要求。 新认识和要求促使人们改造已有语言,提出新语言 目前使用较广的语言包括FORTRAN、C、C+、PASCAL、Ada、Java等。“常规语言

9、”。 非常规语言:LISP、Smalltalk、PROLOG、ML等。,程序语言发展现状,20,三、翻译方式,高级语言源程序,目标程序(code),编译方式 解释方式,21,22,用计算机解决问题的基本过程:,一、程序设计技术,分析问题,确定解决问题方案,确定实现算法,编写程序,运行程序,整理结果,程序设计的核心任务:设计算法,程序=算法+数据结构,23,算法:为解决特定问题所使用的确定的且有限的步骤或方案。 特点: 有穷性 确定性 有输入 有输出 有效性,24,常用的算法描述方法: 用自然语言表示 用伪码表示 用传统流程图 用N_S流程图 (教材 P6),二、算法的表示,结构化程序设计的三种

10、基本结构:顺序、选择、循环 基本原则:所有结构都可以由这三种基本结构组成、单入口、单出口、限制使用GOTO语句,25,例1.1求一个班学生的平均成绩。设A等(85分)12人,B等(70分)16人,C等(60分)6人,D等(按50分计算)5人。,三、简单算法举例,开始,A=12,B=16,C=6,D=5,SUM=85A+ 70B+C60+ D50,AVER=SUM/(A+B+C+D),输出AVER的值,结束,A,A,26,例1.2 输出一个数的绝对值。,输入 X,X=0吗?,N,Y,输出 -X,输出 X,开始,输入 X,X=0吗?,Y,N,结束,输出 -X,输出 X,27,例1.3 输入10个数

11、,把其中的正数输出。,开始,N=0,N=0吗?,N=N+1,输入 X,Y,结束,N,Y,输出 X,28,例1.4 输入10个数,求它们的平均值。,29,例1.5 输入50个学生的成绩,统计出得优秀的人数。,30,1、对一个班的40个学生逐个检查,将身高1.60米以上的学生挑出来。 2、求Y的值,X由用户给出 1 (x0) 3、求1+3+5+.99。 4、根据输入的年月,输出此月份对应的天数,课堂练习,31,开始,输入年月,Y是闰年,M=2,day=30,day=31,day=28,day=29,M=1、3、512,结束,Y,N,Y,N,Y,N,32,产生背景 产生过程 时间:19721973

12、地点:美国贝尔实验室 目的:UNIX操作系统 设计人: Ken.Thompson和Dennis.M.Ritchie C标准 标准C: K ,三、C程序格式和结构特点,例1.1 第一个程序 Hello,World!,输出: Hello,World!,35,参照例题,编写一个C程序,在屏幕上输出以下信息: * * * * * * * * * * * * * * Very good! * * * * * * * * * * * * * *,36,例1.2,/* example1.2 calculate the sum of a and b*/ #include /* This is the main

13、 program */ 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(z); ,运行结果: sum=34,37,格式特点 习惯用小写字母,大小写敏感 不使用行号,无程序行概念 可使用空行和空格 常用锯齿形书写格式,main( ) int i , j , sum; sum=0; for(i=1; i10;i+) for(j=

14、1;j10;j+) sum+=i*j ; printf(“%dn”,sum); ,38,结构特点 函数与主函数 程序由一个或多个函数组成 必须有且只能有一个主函数main() 程序执行从main开始,在main中结束,其它函数通过嵌套调用得以执行。 程序语句 C程序由语句组成 用“;”作为语句终止符 注释 /* */为注释,不能嵌套 不产生编译代码,例: /*This is the main /* of example1.1*/ */,编译预处理命令,39,scanf是C语言的标准输入函数; “%f”是格式输入符号,表示用户输入的数据应该是实数,“ aver1=(a1+b1+c1)/3; re

15、turn(aver1); main( ) float a,b,c,aver; printf(please input a,b,c:); scanf(%f%f%f, ,四、简单的C程序介绍,40,源程序不能直接执行。为完成C程序描述的计算,必须先把C程序转换成计算机可执行的程序。这个转换称为C程序的加工,是C语言系统的主要功能。程序加工通常分两步: 编译:编译程序处理源程序,生成相应机器语言目标模块(目标文件)。目标模块不能执行,其中缺少必要的C程序运行系统和库提供的功能。 连接:连接程序把目标模块与运行系统、库功能模块组合起来,构成完整的可执行程序。,一、在Turbo C环境下建立及运行文件,

16、41,C源程序的加工过程,42,FILE-NEW FILE-WRITE TO FILE-SAVE(F2) FILE-LOAD(F3) COMPILE-Make EXE file(F9) RUN-RUN(Ctrl+F9) RUN-USER SCREEN(ALT+F5),编写Turbo C新程序,43,二、Turbo C菜单的功能和使用方法,使用Alt+首字母(F10)激活菜单 使用光标移动键选择命令 按回车键确定,44,File(文件)菜单,Load(F3):打开文件。 Pick(Alt+F3):列出最后装入的8个文件名, 可以从文件列表中选择所需文件。 New:新建文件。 Save(F2):保

17、存文件。 Write:另存为。 Directory:显示当前工作目录的文件列表 Change dir:指定当前目录,用于保存用户文件。 OS shell进入操作系统环境,并显示: Type Exit to return to Turbo C Quit (Alt+X)退出Turbo C,45,Run(运行)菜单,Run(Ctrl+F9):生成编译文件OBJ;生成可执行文件EXE;并运行当前程序。 Program reset (Ctrl+F2);程序重启,终止当前调试过程,回到初始状态。 Go to cursor (F4):使程序运行到当前光标所在的行。 Trace in to (F7):跟踪,单

18、步执行。 Step over (F8):跟踪,单步执行。但不进入被调函数内跟踪。 User Screen(Alt+F5)显示运行结果,按任意键返回。,46,Compile(编译)菜单,Compile to OBJ:生成目标文件(OBJ文件) Make EXE file:生成可执行文件(EXE文件) Link EXE file:将当前的OBJ文件和库文件连接生成EXE文件 Build all:重新编译连接Project中的全部程序,生成EXE文件。 Primary C file:指定文件作为编译对象,以替代编辑窗口中的文件。 Get into:在弹出的窗口中显示有关文件的信息。,47,Proje

19、ct(项目)菜单,Project name:指定项目文件名(PRJ文件) Break make on:指定终止编译的条件。 有四个选项: Warning编译中遇警告停止 Error编译中遇错误停止 Fatal编译后发现错误停止 Link只生成OBJ文件,不进行连接(不生成EXE文件) Auto dependencies:指定若程序已经修改,则在运 行前是否重新编译连接。(Off或On) Clear project:清除当前项目文件 Remove messages:删除信息窗口的错误提示,48,Options(选项)菜单,Compiler:指定编译选项 Linker:指定连接选项 Environ

20、ment:指定工作环境 Directories:是改变工作路径 Arguments:指定参数 Save Options:保存选项 Retrieve Options:从环境文件中恢复选项,49,Debug(调试)菜单,Evaluate:计算变量或表达式的值,显示结果。 Call stack:当调试程序调用多级函数时,显示调 用栈。 Find function:查找函数,在编辑窗口显示被查 找的函数的源程序。 Refresh display:刷新屏幕。 Display swapping:指定在调试程序时若程序产 生输出是否切换到用户屏幕。 Source debugging:指定进行源程序调试的选项。,50,Break(中断)菜单,Add watch:增加监视表达式 Delete watch:删除指定的监视表达式 Edit watch:编辑监视表达式 Remove all watches:删除全部监视表达式 Toggle breakpoint:设置/取消程序调试时的 中断点 Clear all breakpoints:清除全部中断点 View next breakpoint:将光标定位在下一个 中断点。,51,与数据类型有关的: char int float double signed long void struct union short typedef enum siz

温馨提示

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

评论

0/150

提交评论