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

下载本文档

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

文档简介

第一章,C语言程序设计概述,简单介绍C语言的起源、发展过程和特点 重点讲解C语言程序结构、运行过程和相应调试工具。,主要教学任务,1.1 C语言概述,程序设计语言发展历程 C语言的发展过程 C语言的特点及应用,1.1.1 程序设计语言发展历程,1机器语言 机器语言是计算机能够直接识别和执行的语言,是由“0”和“1”组成的二进制串。用机器语言编写程序就是写出一连串的由“0”和“1”组成的指令序列交给计算机去执行。 特点:运算效率是所有语言中最高的。机器语言,是第一代计算机语言。,2汇编语言 用一些简洁的英文字母、符号串来替代某一个特定指令的二进制串。 比如,用“ADD”代表加法,“MOV”代表数据传递等等 。 特点:汇编语言同样十分依赖于机器硬件,针对计算机特定硬件而编制,移植性不好,但效率仍十分高 。,1.1.1 程序设计语言发展历程,3 高级语言及发展历程 影响较大使用较普遍的有Fortran,Algol,Cobol,Basic,Lisp,Snobol,PL/1,Pascal,C,Prolog,Ada,C+,VC+,VB,Delphi,Java等。 高级语言经历了从早期语言向结构化程序设计语言发展,从面向过程向非过程化程序语言发展的过程。,1.1.1 程序设计语言发展历程,1.1.2 C语言的发展过程,产生背景 产生过程 时间:19721973 地点:美国贝尔实验室 目的:UNIX操作系统 设计人: Ken.Thompson和Dennis.M.Ritchie C标准 标准C: K&R合著The C Programming Language ANSI C: 1983年 87 ANSI C: 1987年 1990年国际标准的ANSI C,Ada,ALGOL60,ALGOL68,Pascal,Modula-2,CPL,BCPL,B,C,C+,Java,LISP,PROLOG,COBOL,FORTRAN77,FORTRAN,PL/1,Simula 67,Smalltalk 80,BASIC,ANSI-BASIC,QBASIC,VB,FORTRAN90,1.1.2 C语言的发展过程,1960年出现了一种面向问题的高级语言ALGOL 60。 1963年英国剑桥大学推出了CPL(Combined Programming Language)语言,后来经简化为BCPL语言。 1970年美国贝尔(Bell)实验室的K.hompson以BCPL语言为基础,设计了一种类似于BCPL的语言,取其第一字母B,称为B语言,并写了第一个UNIX操作系统。 1972年美国贝尔实验室的Dennis M.Ritchie为克服B语言的诸多不足,在B语言的基础上重新设计了一种语言,取BCPL语言的第二字母C,故称为C语言,并首次在UNIX操作系统的DEC PDP-11计算机上使用。 1977年,D.M.Ritchie发表了不依赖于具体机器的C语言编译文本可移植C语言编译程序,推动了UNIX操作系统迅速在各种计算机上的实现。随着UNIX操作系统的日益广泛使用,C语言得到了迅速推广。 1978年由美国电话电报公司(AT&T)的贝尔实验室正式发表了C语言,同时由B.W.Kernighan和D.M.Ritchit合著了影响深远的“THE C PROGRAMMING LANGUAGE”一书,通常简称为“K&R”,也有人称之为K&R标准。 1983年由美国国家标准学会ANSI(American National Standard Institute)在各种C语言版本的基础上制定了一个C语言标准,通常称之为ANSI C。 1987年ANSI又公布了新标准87 ANSI C。目前广泛流行的各种C编译系统都是以它为基础。 在C的基础上,1983年贝尔实验室的Bjarne Strou-strup推出了C+。C+进一步扩充和完善了C语言,成为一种面向对象的程序设计语言。 目前C语言版本主要有以下几种:Microsoft C 或称 MS C、Borland Turbo C 或称 Turbo C、AT&T C。,1.1.3 C语言的特点及应用,C语言的特点 1、语言成分简洁,紧凑,书写形式自由。 2、拥有丰富的数据类型。 3、运算符丰富、功能更强大。 4、结构化的程序设计语言。 5、对语法限制不严格,程序设计灵活。 6、具有良好的可移植性。 7、可以实现汇编语言的大部分功能。 8、编译后生成的目标代码小,质量高,程序的执行效率 高 。,1.1.3 C语言的特点及应用,C语言特点详细描述: 简洁紧凑,压缩了一切不必要的成分。 运算符丰富,将赋值、强制类型转换、取变量地址等操作都以运算符实现。ANSI C提供了34种运算符,Turbo C提供了44种运算符,灵活使用这些运算符可以实现其它高级语言难以实现的操作。 表达式简练、多样、灵活、实用,加上分号就可以构成语句。 数据类型丰富,具有现代语言的各种数据类型,用户还能扩充它,实现各种复杂的数据结构,完成各种问题的数据描述。 C语言是一种结构化程序设计语言,层次清晰,便于按照模块化方式组织程序,易于调试和维护。C程序可由若干程序文件组成,一个程序文件可由若干函数构成。 可以直接访问物理地址,进行位(bit)一级的操作,能实现汇编语言的大部分功能。 提供了预处理机制,有利于大型程序的编写和调试。 生成的目标代码质量很高,程序执行效率很高,一般只比汇编程序生成的目标代码效率低10%20%。 程序可移植性好(与汇编语言比),基本上不作修改就可以用于各种型号的计算机和各种操作系统。 语法限制不太严格,程序员设计自由度较大。,C语言应用领域 作为系统软件的编写和对硬件直接操作的语言,C语言应用在底层开发会更多一些。像目前主流的操作系统,80%都是用C编写实现。特别是在Linux和Unix平台上,使用频率非常高。对硬件的驱动程序编写,必定要用到C语言。 嵌入式行业领域C语言也大量被应用,特别是在单片机开发中使用非常广泛。,1.1.3 C语言的特点及应用,C语言基本语法成分,1、C语言字符集: (1)字母:A-Z,a-z (2)数字:0-9 (3)空白符:空格,制表符(跳格),换行符(空行)的总称。 2、标识符(名字):C语言标识符定义规则及注意事项。 (1) 标识符(名字): 用来标识变量名、符号常量名、函数名、数组名、类型名等实体(程序对象)的有效字符序列。标识符由用户自定义(取名字)。 (2) C语言标识符定义规则: 标识符只能由字母、数字和下划线三种字符组成。 大小写敏感。 不能与“关键词”同名。 建议:标识符命名应有一定意义,做到见名知义。,常州信息学院C语言课程组,3、关键词(保留字): C语言规定的具有特定意义的字符串。 (由系统定义,不能重作其它定义, 32个关键字) auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef unsigned union void volatile while,常州信息学院C语言课程组,算术运算符:+ - * / % + - 关系运算符: = != 逻辑运算符:! & | 位运算符 : | & 赋值运算符:= 及其扩展 条件运算符:?: 逗号运算符:, 指针运算符:* & 求字节数 :sizeof 强制类型转换:(类型) 分量运算符:. - 下标运算符: 其它 :( ) -,4、运算符: 运算符将常量、变量、函数连接起来组成表达式,表示各种运算。运算符可以由一个或多个字符组成。34种运算符如下:,if( )else for( ) while( ) dowhile( ) continue break switch goto return,5、九种控制语句,6、 C 数据类型:,7、分隔符: 逗号,空格。 起分隔、间隔作用。 8、注释符: 格式:/* . */。编译时编译系统忽略注释。 作用:注释、调试程序。,例1.1 #include “stdio.h” void main() printf(“This is a C program.n”) ; ,1.2 C语言程序结构,主函数:每个C语言程序都必须有一个main函数,它是每一个C语言程序的执行起始点(入口点)。,main的函数体:main函数中的所有操作(或:语句)都在这一对之间。也就是说main函数的所有操作都在main函数体中。,语句:执行某种功能的指令。C语言的每条语句都用“;”作为结束标志。 一个函数中可以有多条语句。,例1.2: #include “stdio.h” void main() int a, b, sum; a = 123; b = 456; sum = a + b; printf(“sum = %dn”, sum); ,赋值语句:将整数123赋给整型变量a,将整数456赋给整型变量b。a,b两个变量分别为123,456。每条语句均用“;”结束。,变量声明:声明了三个具有整数类型的变量a,b,sum。C语言的变量必须先声明再使用。,将a,b两变量内容相加,然后将结果赋值给整型变量sum。此时sum的内容为579。,调用库函数输出sum的结果。%d为格式控制表示sum的值以十进制整数形式输出。,/* example1.3 calculate the sum of a and b*/ #include /* This is the main 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,【例1-4】编写程序,输入两个整数,输出其中的大数,#include “stdio.h“ int max(int a, int b); /* 函数声明 */ void main() /* 主函数 */ int x, y, z; /* 变量定义 */ printf(“input two numbers:n“); scanf(“%d%d“, ,C源程序的结构特点, 一个C语言程序由一个或多个源文件组成,每个源文件以“.c”作为扩展名。 每个源文件可由一个或多个函数组成。 一个源程序不论由多少个文件组成,都必须有且仅有一个main函数,即主函数,整个程序的运行总是从主函数开始运行其中的语句。 源程序中可以有预处理命令(include命令仅为其中的一种),预处理命令通常应放在源文件或源程序的最前面。,C源程序的结构特点, 每一个变量定义说明,每一个语句都必须以分号结尾。但预处理命令,函数头和花括号之后不能加分号。 x,y,z等标识符与int,main等关键字之间必须至少加一个空格以示间隔。若已有明显的间隔符,也可不再加空格来间隔 。 切忌注意书写 程序一定要有退格,一定要有层次结构。 特别是上机考试尤其注意。,课堂练习,1-2-1:对于一个正常运行的C程序,以下叙述中正确的是( ) A 程序的执行总是从main()函数开始,在main()函数结束 B 程序的执行总是从程序的第一个函数开始,在main()函数结束 C 程序的执行总是从main()函数开始,在程序的最后一个函数中结束 D 程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束,A,1.3 C语言程序的编辑、编译、运行,编辑,程序代码的录入,生成源程序*.c,将高级语言转换成机器语言,语法分析查错,将源文件翻译生成目标程序*.obj。它不能在计算机上直接执行,把目标程序与系统的函数库以及其它相关代码连接起来,生成可执行程序*.exe,C语言程序的上机步骤 输入与编辑源程序- 编译源程序,产生目标代码- 连接各个目标代码、库函数,产生可执行程序- 运行程序。,几个基本概念 程序:为了使计算机能按照人们的意志工作,就要根据问题的要求,编写相应的程序。程序是一组计算机可以识别和执行的指令,每一条指令使计算机执行特定的操作。 源程序:程序可以用高级语言或汇编语言编写,用高级语言或汇编语言编写的程序称为源程序。C程序源程序的扩展名为“.c” 。 目标程序:源程序经过“编译程序”翻译所得到的二进制代码称为目标程序。目标程序的扩展名为“.obj” 。 可执行程序:目标程序与库函数连接,形成的完整的可在操作系统下独立执行的程序称为可执行程序。可执行程序的扩展名为“.exe”(在dos/windows环境下)。,课堂练习,1-3-1:下列叙述中错误的是( ) A 计算机不能直接执行用C语言编写的源程序 B C程序经C编译程序编译后,生成后缀为.obj的文件是一个二进制文件 C 后缀为.obj的文件,经连接程序生成后缀为.exe的文件是一个二进制文件 D 后缀为.obj和.exe的二进制文件都可以直接运行,D,1.4 上机操作调试过程,开发工具:各有优势和特点。 Turbo C; Borland C+; Visual C+ 6.0 建议: 使用Visual C+ 6.0; 一定要多上机!,上机操作步骤,1、Turbo C启动和环境配置 启动:双击TC文件夹下TC.EXE文件; 环境配置: 选择菜单栏中【Options】选项,按回车键; 展开子菜单,选择【Directores】选项,对【Include directories】、【Library directories 】和【Turbo C directory】进行设置。修改路径应该是Turbo C文件夹所在的主路径,后面接INCLUDE 或LIB。 保存环境配置,按【ESC】回到上一节菜单项,选择【Save Options】。,Turbo C环境配置,上机操作步骤,2、C源程序文件编辑、编译、连接和运行 编辑:输入源程序 编译:选择菜单栏中【 Compile 】|【Compile to OBJ】; 连接: 执行【Link EXE file】命令,连接成功生成可执行程序; 执行【Make EXE file】一次性完成编译和连接 执行【Build all】无论源程序是否编译过,系统都将进行编译和连接,相当于连续执行编译和连接两项功能。 运行:选择菜单栏中【Run】或【Ctrl+F9】,按【Alt+F5】查看结果,上机操作步骤,3、C源程序文件保存与导入 保存:选择菜单栏【File】|【Save】或直接按F2,修改文件名字和路径。 编辑已存在的源程序文件:选择菜单栏【Load】,然后直接输入源程序所在的盘符、文件路径及文件名字。,图1-7 装入现有文件画面,上机操作步骤,4、程序的跟踪调试 跟踪调试是指在程序运行过程中的调试,通过一行一行代码调试执行,分析和观察程序执行过程中数据(变量)和程序执行流程变化,查找可能出错位置和原因。 第一种:直接在程序代码中输入中要的数据,使用getch(

温馨提示

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

评论

0/150

提交评论