您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > C语言课件完整版(课本全部内容)
1程序设计基础(C)基础篇第1章程序设计及C概述第2章C语言基础第3章顺序结构第4章选择结构第5章循环结构第6章编译预处理提高篇第7章数组第8章指针第9章函数第10章结构体与共用体第11章位运算第12章数据文件主讲教师:邵明Tel:153187698992课程安排和要求2331.不迟到2.手机铃不响3.协作学习约法三章4总体安排学习目标学习方法基本要求课程安排、要求总学时:48上课/上机=32/16积极调整思维方式理解概念多做练习理解计算机解题的思想和过程学会使用C语言进行简单程序设计逐步形成良好的程序设计风格上课积极听讲,记录重点、难点按时、独立完成作业上机实习充分准备,实习后认真总结5201228001李晓红1-1.c1-2.c…8-1.c将文件夹压缩=邮箱(主题:学号+姓名)上机作业作业要求课后习题、题库每章结束之后,按照指定作业格式上交纸质作业各班班长将作业按学号排列有序再提交作业格式从指定地址下载6jsj_c_2012@163.com地址上机作业上交邮箱下载软件资料地址邮箱jsj_download@163.com密码:jsj9999课程考核形式期末(70%):笔试+上机平时(30%):作业+出勤提示:程序设计语言是国家对计算机能力检测的重要内容88第1章程序设计及C概述程序设计的基本概念算法结构化程序设计方法C语言知识初步9程序设计的基本概念91010程序和程序设计语言#include“stdio.h”main(){floatr,s;r=3;s=3.14159*r*r;printf(“s=%f”,s);}求圆的面积源程序目标程序0000111111111111110001111111101111101010000000011111111111010110001110编译解释r=?s=3.14159*r*r程序计算机能够识别并可以执行的指令序列,是用程序设计语言来描述11机器语言计算机直接识别的语言,不需要翻译汇编语言效率高可移植性差高级语言采用数学语言、自然语言表达,可读性好可移植性高C语言是一种具有低级语言特征的高级语言程序设计语言是计算机能够理解和识别的语言语法程序设计语言的使用规则1212分析问题确定处理方案确定操作步骤编写程序上机运行程序整理结果程序设计利用计算机解决问题的全过程,程序设计的一般步骤为:分析、理解问题解决方案(大致的思路),建立数学模型求解步骤和流程(算法)(文字、符号等的描述)使用程序设计语言编写源程序运行调试程序整理输出结果,写出相关文档1313例如求圆的面积和周长的程序设计一般步骤:①分析问题求圆的面积和周长需要知道圆的半径r,根据圆的半径求出圆的面积S和周长L并输出结果。②确定处理方案求圆的面积数学公式是:S=лr2求圆的周长公式是:L=2лr③确定操作步骤(算法)确定半径的初值计算面积S计算周长L输出结果S,L1414④根据算法编写源程序(编码)将上面求圆的面积和周长算法编写C源程序如下:⑤运行调试程序⑥整理输出结果,写出相关文档#definePI3.14159main(){floatr=3,s,c;s=PI*r*r;c=2*PI*r;printf(“s=%f,c=%f\n”,s,c);}15算法151616有穷性:必须在有限的步骤内完成确定性:不会产生二义性可行性:算法中描述的操作在计算机上都是可实现的输入:有0个或多个输入输出:有1个或多个输出算法是对具体问题求解步骤的描述算法及算法的特性算法的特性17用自然语言表示算法用流程图表示算法用伪代码表示算法用程序设计语言表示算法的描述工具【例】求两个整数m与n的和步骤1:输入整数n和m;步骤2:求和sum=m+n;步骤3:输出两数之和sum。传统流程图开始输入m,nsum=m+n输出sum结束N-S流程图求和sum=m+n输入m,n输出sum传统流程图N-S流程图18结构化程序设计方法181919自顶向下、逐步求精程序结构模块化(每个模块只有一个入口和一个出口)程序流程使用3种基本控制结构描述模块:每个子功能设计原则2020顺序结构N-S流程图传统流程图选择结构N-S流程图传统流程图循环结构N-S流程图传统流程图基本控制结构21C语言的初步知识212222C语言的起源与发展起源ANSI标准ALGOL60CPLBCPLB语言C语言(1960)(1963)(1967)(1970)(1972)流行C语言编译系统MicrosoftC或称MSCBorlandCTurboCQuickCVisualC++(简称:VC)2323语言简洁(32个关键字,9种控制语句)运算符丰富(34种),能直接访问物理地址数据类型丰富,能用来实现各种复杂的数据结构生成的目标代码质量高,可移植性好有较强的预编译处理能力即具备高级语言的优点又有低级语言的特点语法限制不太严格,程序设计自由度较大C语言的特点2424一个C程序对应一个文件(.c)C程序的基本单位是函数,包括:一个主函数main()(必需)若干个用户定义的函数(可无)每个函数的结构如下:函数返回值函数名(函数参数){局部变量定义;执行语句;}C语言程序的构成和书写规范C程序构成2525main()的作用每个程序至少有一个主函数main()main()函数的位置随意C程序从main()函数开始执行并终止于main()函数26采用阶梯式书写格式不同层次的语句,从不同的起始位置开始,这样可以使程序结构清晰程序习惯使用英文小写字母书写大写字母习惯上常作为常量或另有其它用途一般每一条语句占用一行允许1行内写几条语句,或1条语句分写在几行26a=1;b=2;a=1;b=2;C程序书写规则2727使用注释,可以单占1行,也可以跟在语句的后面/*注释文本*/书写风格较好书写风格差28C程序开发过程28编译编译错是连接否连接错是运行错是运行否否编辑编辑编译连接执行程序生成目标文件(.obj)生成可执行文件(.exe)file.objfile.cfile.exe生成源文件(.c)用编辑软件编写C源程序。检查源程序是否有语法错误。将源程序中引用的标准函数和目标文件装配成一个可执行程序使用文本编辑程序使用C语言编译系统提供的编辑器29C程序中的错误29包括:编译错误、连接错误、逻辑错误和运行错误编译错误是指在程序编译过程中出现的错误。通常是由于不正确书写代码而产生的。如:关键字写错、遗漏标点符号、括号不匹配等。错误类型main(){floatr,c,s;scanf(“%f”,r);c=2*3.14*rprintf(c=%f,,c);}编译错误;运行错误是指应用程序在运行期间执行了非法操作所发生的错误。5&3030连接错误是指在程序连接过程中出现的错误。通常是由于函数名不正确书写而产生的。main(){floatr,c,s;c=2*3.14*r;print(c=%f,,c);}连接错误逻辑错误f使程序运行时得不到预期的结果。这种程序没有语法错误,也能运行,但却得不到正确的结果。例如,在一个算术表达式中,把乘号“*”写成了加号“+”,条件语句的条件写错,循环次数计算错误等r=5.7;通常,调试程序过程中所花的大部分时间和精力都在逻辑错误上3131C程序错误提示Error编译时期:通常是语法不正确而导致的。连接时期:通常是函数名不正确而导致的。运行结果错误由于程序的逻辑设计不正确而导致的。Warning当获得来自编译器的警告时,应予以重视。多数情况下在程序运行时可能出现不可预见的错误。32MicrosoftVisualC++6.0调试C语言程序323333为更好管理C语言程序,在指定盘下建立好文件夹。每个C文件保存在不同文件夹下。C作业程序1程序2例如建立如下结构的文件夹准备工作3434开始-所有程序-MicrosoftVisualStudio6.0-MicrosoftVisualC++6.0启动VC++3535启动VC++演示3636打开VC++集成环境目的:下次启动VC++,就不会再出现“TipoftheDay”对话框单击,取消√单击,关闭对话框3737步骤1新建一个文本文件(.txt)步骤2将文本文件另存为C文件(.c)步骤3编辑C文件,并保存新建C语言源文件步骤3838步骤1:单击该按钮,新建一个文本文件(.txt)步骤2:将文本文件另保存为.c文件选择File菜单-SaveAs…1.选择文件存放路径2.将文件名改为后缀为.C的文件3.单击“保存”按钮proc.c步骤3:在编辑窗口输入编辑C语言程序表示文件进行了修改,可单击工具栏中的“保存”进行保存3939步骤1:编译当前C程序单击按钮“是”,为当前的应用建立一个新工作区新建工作空间窗口,主要负责组织源文件编译结果。如果有错误需要修改源程序。找到第一个error处,并双击在箭头所指处前一两行找到错误并修改。修改后再编译,直到没有error为止。;步骤2:连接程序。连接操作后的结果。如果有error,需要修改程序后再连接,直到没有error为止。步骤3:运行程序。2输入2再输入回车调试C语言源文件步骤4040选择File菜单下CloseWorkspace命令,关闭当前工作区在出现的对话框中单击“是”按钮关闭工作区(调试后必须的步骤)4141单击“打开”按钮选取C源文件所在文件夹选取文件后,单击“打开”按钮打开C源文件4242C源文件备份只需将后缀为.C的源文件复制到U盘4343第2章C语言基础数据类型标识符、常量和变量基本数据类型运算符及表达式44数据类型4445输入设备输出设备存储器运算器控制器知识准备计算机的工作过程46位(二进制位)内存中的最小存储单位。每一个位中或者存放0,或者存放1。字节1字节=8个二进制位在内存中,每个字节分配一个地址。存储单元若干个字节组成,通常是字节的倍数。用来存放一条机器指令或一个数据。几个基本概念47二进制位字节存储单元,可以是1个字节,可以是连续2个字节,可以是连续4个字节FF00FF01FF02地址喂!赵刚是住在2031房间吗?内存结构4800000111最低位最高位01000100FF00FF01FF02FF03FF04存储单元高字节低字节…001000100000011149【例】根据计算机的工作原理描述求解圆面积的过程控制输入设备,将数据=〉内存计算,并将结果=〉内存控制输出设备,将存储在内存的结果输出到屏幕……ff00ff01ff02ff03shorta,b;a=1;b=a+1;a=a+1;ab变量122提示:在程序中通过定义变量(对应内存若干字节)来访问内存空间。50通过输入语句,将数据=变量计算,并将结果=变量通过输出语句,将变量的值输出到屏幕上1rs3.14【例】利用C语言描述求解圆面积的过程main(){}floatr,s;scanf(“%f”,&r);s=3.14*r*r;printf(“%f”,s);……ff00…ff12…51程序设计步骤确定数据结构确定算法编码调试数据结构主要通过数据类型描述输入数据计算处理输出数据程序=数据结构+算法/*确定数据结构*//*处理数据*//*输出数据*//*输入数据*/52数据类型数据类型数据有型和值之分,型是数据的分类,值是数据的具体表示,是程序处理的对象。数据类型体现数据的特点,确定了数据的取值范围、所能进行的操作以及存储单元的大小53数据类型基本类型构造类型指针类型空类型整型字符型实型枚举类型数组类型结构体类型共同体类型单精度型双精度型说明:C语言的数据结构以数据类型的形式出现,不同的数据类型代表了不同的数据结构。C数据类型54标识符、常量和变量5455是一个由有限个有效字符组成的序列,在C语言中只起标识作用。主要用作符号常量名、变量名、函数名、数组名、文件名等。由字母、数字、下划线组成必须以
本文标题:C语言课件完整版(课本全部内容)
链接地址:https://www.777doc.com/doc-4598987 .html