C语言程序设计-基础入门教学.pptx

上传人:wuy****n92 文档编号:70106991 上传时间:2023-01-16 格式:PPTX 页数:78 大小:324.12KB
返回 下载 相关 举报
C语言程序设计-基础入门教学.pptx_第1页
第1页 / 共78页
C语言程序设计-基础入门教学.pptx_第2页
第2页 / 共78页
点击查看更多>>
资源描述

《C语言程序设计-基础入门教学.pptx》由会员分享,可在线阅读,更多相关《C语言程序设计-基础入门教学.pptx(78页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、语言程序设计语言程序设计教学软件教学软件bb湖南建材高等湖南建材高等专科学校专科学校bb计算机科学系计算机科学系bb主讲:陈香兰主讲:陈香兰C语言程序设计 主讲:湖南建材高等专科学校计算机科学系系陈香兰计本 0401、2 班 C语言 本课程属于计算机本科生必修考试课程n理论:60学时 地点:T1教 室n实验:20学时 地点:实验中心n上课时间:每周4节(周一、周五)共15周 n(第16-17周进行课程设计)n若有免修者,提前向主讲教师声明,可待期末参加考试。n根据学校规定,若有缺席占抽查出席次数三分之一者,免去考试资格。n课程的性质与任务课程的性质与任务 根据教学大纲要求:n C语言程序设计是

2、计算机专业和非计算机专业的公共基础课程。本课程实践性很强,既要掌握概念,又要动手编程,还要上机调试运行。同时,这门课程也是“湖南省非计算机专业学生计算机应用能力水平考试”二级考试的主要语种之一。n 通过本课程的学习,使学生了解算法的基本概念,会根据算法编制相应的程序,并初步掌握软件开发的基本技巧,同时也为后继课程的学习打下坚实的基础。n 本课程的先行课程为计算机应用基础。是数据结构操作系统数学建模等课程的前导课程。考试要求:n平时学习态度、完成作业情况、实验成绩与期末考试成绩共同评定为课程总成绩。在考试中,对要求“了解”和“理解”的内容,可以采用选择题、填空题、简答题的方式进行考核,对要求“会

3、”、“掌握”和“熟练”的内容,可采用计算题、综合题的方式进行考核。n1、期末闭卷考试占总成绩的70%-80%。n2、平时成绩(作业、上机实验和课堂考勤等)占总成绩的20%-30%。第一章第一章 C 语言概述语言概述nC 语言是一种得到广泛重视并普遍应用的计算机程序设计语言,也是国际上公认的最重要的几种通用程序设计语言之一。n它即可以用来编写:系统软件(操作系统、编译系统等。与 C同时出现的多用户操作系统 UINX 现在都是用 C 语言程序编制的)。应用软件(C是工业控制单片机的开发语言之一,图形处理)。数据处理(如企业管理)。数值计算等各个领域。1-1 C 语言出现的历史背景语言出现的历史背景

4、n从 1946 年世界第一台计算机诞生以来,计算机使得世界技术发生了翻天覆地的变化,计算机已作为一种文化渗透到世界每一个角落。其中作为使用计算机的工具语言对世界影响较大的有三种有:n汇编语言(机器语言)。n数据库。nC 语言。几种计算机语言简介几种计算机语言简介n机器语言机器语言 n数据库管理系统数据库管理系统 nFORTRAN FORTRAN nCOBOL COBOL nBASIC BASIC nALGOL60 ALGOL60 nC C机器语言(汇编语言)机器语言(汇编语言)n所谓机器语言,是一种计算机的指令集合计算机的指令集合。nZilog 公司的 Z80 微处理器(1975年)nMoto

5、rola 公司的 M6502 及以其为 CPU 的 APPLEII 计算机。nIntel 公司的 8088 及以其为 CPU 的 IBM-PC 计算机。n8088 及 80386 成为现在流行的微型计算机及汇编语言的主要教学和应用语言。关系型数据库管理系统关系型数据库管理系统 n最成功的要属 1986 年美国 Fox Software公司推出的 FoxBASE+。n其特点是:速度快,用户接口好,特别适合于各种信息管理,如财务管理、物资管理、档案管理、图书资料检索与管理。n现在常用的有 FoxBASE、FoxPro、VF 等兼容系列。FORTRANFORTRAN n数值计算语言nFormula

6、Translation 公式翻译。n计算机出现最早的科学计算的语言。从 1954年提出,曾在 60-90 年代初在全世界得到最广泛的应用。n特点执行效率较高,标准化程度高,程序结构灵活特点,但结构不精确。n进入 90 年代由 C 及 BASIC 语言取代。COBOL n通用商务语言 nCommon Business Oriented Language。n1960 年由美国推出。n主要用于商务处理、企业管理等方面。n由于编程规则众多繁琐、程序代码较长、译成机器语言后效率低等缺点。n当进入 90 年代后,COBOL 所工作的领域被C 语言及数据库系统所取代。ALGOL60ALGOL60 n算法语言

7、。nAlgorithmic Language。该语言在 1958 年提出,1960 年确定标准。n它是经典(精确精确)语言中成功的一个。但由于过于精密,执行效率低 40%,而 C 仅低 10%。n在 60-90 年代,一直是计算机系统的教学语言。n直到 C 语言出现并广泛应用后,C 语言完全取代了它。BASICn初学者通用符号指令代码。nBeginner s All-purpose Symbolic Instruction Coden1969 年提出,1971 年形成标准版本。n由美国 Dartmouth 学院 John Kemeny 和Thomas Kurts 两位教授创立的。n语言简练,容

8、易掌握。n有较强的会话功能和程序的编辑修改调试功能。即有科学计算,又能进行非数值计算。n语言小,功能多但每一项都不是特别出色。计算机语言的发展简介计算机语言的发展简介n早期的操作系统等系统软件,主要是用汇编语言编写的,它依赖于计算机硬件,程序的可读性和可移植性都很差。n若用高级语言来编写,又难以实现汇编语言能直接对硬件进行操作的某些功能。n为此,人们开始寻找一种即具有高级语言特性,又具有低级语言特性的语言。C 语言的发展简介语言的发展简介n60 年代,计算机及其应用的飞速发展,使得程序量越来越大。n而当时,汇编语言太难于编程,FORTRAN 语言又太不精确,使得程序的可靠性的验证无法实现,出现

9、了软件危机。n当时给人们的印象是:软件越来越大,错误越来越多,交付日期越来越长,软件越来越不可靠。n1964 年提出了“计算机软件计算机软件”的概念。n1968 年提出了“软件工程软件工程”的概念。n中心思想是如何研制大型软件,提高软件生产率,使之具有较高的可靠性和可维护性。n这时,人们自然想到一个优秀的、但又不太合格的工具语言 ALOGL60,对它进行改造的工作也就顺理成章的开始了。1-2 C 语言的特点语言的特点n简洁、灵活,表达能力强,代码质量高,简洁、灵活,表达能力强,代码质量高,结构化程序,可移植性好结构化程序,可移植性好。n具体可叙述如下:n例如 1.1:n main()n n p

10、rintf(“This is a c program.n);n 、有32个关键字1)1)数据类型定义数据类型定义:typedef 类型定义void 定义空类型2)2)数据类型数据类型:char 字符double 双精度enum 枚举float 实型int 整型long 长整型short 短整型struct 结构体union 共用体unsigned 无符号整型3)3)存储方式存储方式:auto 自动extern 外部register 寄存器static 静态4)4)运算符运算符:sizeof 5)5)语句语句:if,else switch,case,defaultfor,while,dobrea

11、k,continuegotoreturn、有种控制语句种控制语句1)条件语句:if()else2)循环语句:for()3)循环语句:while()4)循环语句:dowhile()5)结束本次循环语句:continue6)中止执行 switch 或循环语句:break7)多分支选择语句:switch8)转向语句:goto9)从函数返回语句:return3.程序书写形式自由n一行可写多个语句一行可写多个语句,一个语句也可分写多行。主要用小写字母表示。n压缩了一切不必要的成分。n使用一些简单、规整的方法,就可构造出相当复杂、功能很强的数据类型、语句、程序结构。n可进行运算符省写方式。n从语言内部实现

12、角度看,C 没有其它高级语言的输入输出输入输出语句、文件存取方式,代之都通过显式函数调用来实现函数调用来实现。C C 与与 BASIC BASIC 语言进行比较语言进行比较nC 语言 BASIC 语言n BEGINENDnif(e)s;IF e THEN snint i;I%nint a 10;DIM(10)nint f()无nint*p 无ni+=g I=I+Gni+,+i I%=I%+1二、表达式灵活实用表达式灵活实用n具有一般高级语言使用的算术运算功能。nC 语言n具有单项运算功能:n如:a+、b等。n复合运算功能:n如:+=、-=等。n提供了多种获得表达式值的方法:n赋值表达式、逗号表

13、达式等。n对变量类型使用灵活:n整型、字符型、逻辑量等可以通用。三、表达能力强表达能力强1.数数据类型丰富据类型丰富n具有现代化语言所要求的各种数据类型:n整型;n实型;n字符型n数组类型;n指针类型;n结构体类型;n共用体类型等。2.可实现数可实现数据结构据结构n上述数据类型实现各种复杂的数据结构:n链表;n栈;n树等。3.兼有低级语言功能兼有低级语言功能n可直接访问物理地址。n能进行位操作。n可直接对硬件进行操作。n能实现汇编语言的大部分功能。n即可以用来开发应用软件,也可以用来编写系统软件。四、语言生成的目标代码质量高四、语言生成的目标代码质量高n目标代码效率仅比汇编语言低 10%20%

14、。n描述问题迅速,工作量小,可读性好。n程序易于调试、修改和移植。n几乎成为当代系统软件开发的唯一工具。五、结构化程序设计五、结构化程序设计n用函数函数作为程序设计的基本单位基本单位,实现程序的模块化。允许一个程序分割为多个源文件,并分别进行编译,再通过连接得到可执行的目标程序文件。n提供了多种存储属性,使得数据可根据需要在相应的模块中共享或隐藏。nC 语言还提供了多种结构化控制语句,如用循环for、while、dowhile 语句,用判定的 ifelse、switch 语句等。n十分便于采用自顶向下、逐步求精的结构化程序设计技术。六、具有预处理能力六、具有预处理能力n#include#inc

15、lude(预编译命令#include#include)使程序设计时可引用数学函数等。n#define#define(宏定义:#define#define 标识符号 字符串)可指定标识符来代表一个字符串,例如:#define#define PI=3.1415926。n上述两个预处理命令实现对外部文件的包含以及对字符串的宏定义。n还具有#if#if#else#else 等条件编译预处理语句。n这些功能的使用提高了软件开发的工件效率,并为程序的组织和编译提供了便利。七、输入输出处理七、输入输出处理n提供标准输出函数 printf。n提供标准输入函数 scanf。n可使程序直接进行一般输入输出处理。八

16、、程序可移植性好八、程序可移植性好 n汇编语言因依赖于机器,不可移植。n而一些高级语言(如 FORTRAN、BASIC 等)的编译程序也不可移植。换机型需要重新编写。nC 在不同机型上的出现,基本都是编译移植得到的(统计资料表明:不同机器上的 C 编译程序 80%的代码是公共的)。nC 编译程序便于移值,使得 C 语言编写的程序基本上不用修改或稍加改动就能在各种型号的计算机和各种操作系统环境下运行。九、不足九、不足n运算符的优先级别较多,有些与常规约定不同,不便记忆。n某些语法部分不易用形式化方法进行描述。nC 语言不是强类型的语言,它强调灵活、高效的同时,在一定程度上牺牲了某些安全性。n类型

17、检验太弱。n不同数据类型转换比较随便。n上述这些,对程序员提出了更高的要求。C 语言的特点总结语言的特点总结n总之:nC语言优点突出;n吸引人们越来越多的关心;n研究 C 语言的人正迅猛增加;n在国内外广泛使用;n优秀的 C 语言版本和配套工具软件不断涌现。1-3 简单的简单的C程序介绍程序介绍 main()printf(This is a C program.n);nmain表示“主函数”,每一个C程序都必须有一个main函数。n函数体由大括号括起来。n“n”是换行符。n程序作用(执行结果):This is a C program.在屏幕上显示在屏幕上显示 例例1-21-2(P4)(P4)m

18、ain()/*求两数和*/int a,b,sum;/*这是定义变量*/a=123;b=456;sum=a+b;printf(sum is%dn,sum);sum is 579 例例1-31-3:main()main()/*/*主函数主函数*/int a,b,sum;/*int a,b,sum;/*定义变量定义变量*/a=3;b=4;/*a=3;b=4;/*变量赋值变量赋值*/sum=add(a,b);sum=add(a,b);/*/*调用调用addadd函数函数*/printf(printf(sum=a+b=%d.nsum=a+b=%d.n,sum);,sum);int int add(int

19、 add(int x,int x,int y)y)/*/*定定义义函函数数 add,add,函函数数值值为整型为整型*/int z;z=x+y;int z;z=x+y;return(z);return(z);/*/*将将z z的值返回的值返回*/sum=a+b=7sum=a+b=7程序执行结果程序执行结果 C语言程序的组成特点1.1.函数函数nC程序是由函数组成的。nC源程序由一个main函数和若干个其它函数组成,程序全部工作都是由函数来完成的。被调用的函数可以是:n系统提供的库函数,如:printf();n用户根据需要自己编制设计的函数如例1-3中:add(a,b)。nC的函数库十分丰富:n

20、标准C提供一百多个库函数;nTurbo C和MS C4.0提供三百多个函数。2.函数的组成n说明部分。n执行部分。(1)函数的说明部分n包括函数名、函数类型、参数名(形参)、参数类型。int add (intx,int y)函数类型 函数名 参数类型 参数名 参数类型 参数名函数名后必须有一对圆括号()。n参数可有可无,如 main()函数无参数。n若有参数,放在圆括号中。如:int add(int x,int y)。(2)函数体n即函数说明部分下面的大括号 内的部分。n如果一个函数内有多个大括号,则最外层的一对 为函数体的范围。n函数体一般包括:1.变量定义变量定义。如 例13 中 main

21、()函数中的“int a,b,sum;”。2.执行部分执行部分。由若干语句组成,即 main()中的其它语句。3.空函数n在某些情况下也可以没有变量定义部分。甚至可以即无变量定义也无执行部分。如:dump()n它是一个空函数,什么也不干,但这是合法的。4.主函数主函数 main()nC 程序必须有 main()函数,习惯上称其为主函数。nC语言程序运行时,总是从 main()函数开始,并且在 main()函数中结束。nmain()可以整个程序的任意位置。n通常我们总是把 main()函数放在程序中其它函数的前面。5.书写格式书写格式nC 程序没有行号,书写格式自由,一行内可写多条语句,n语句中

22、的空格和回车符均可忽略不计。n一个语句也可以写在多行上,用“”作续行符续行符。n而 FORTRANFORTRAN 或 COBOLCOBOL 等其它高级语言则有严格规定书写格式(语句必须从某一列开始书写)。6.每个语句后必须有一个分号每个语句后必须有一个分号 n分号分号“;”是语句的一部分。n例如:sum=a+b;n分号不可少,即便是程序的最后一个语句也应包含分号。7.输入输出函数化输入输出函数化 nC 本身无输入输出语句。n输入和输出的操作是由库函数 scanf()和printf()等函数来完成的。nC 语言对输入输出实行“函数化”。8.可以在程序的任何部分加注释可以在程序的任何部分加注释 n

23、C 语言注释部分应括在语言注释部分应括在/*/*/*/之间之间。n/和*之间不允许有空格。n注释使程序变得清晰,能帮助我们阅读和理解程序。给程序加注释是一个良好的编程习惯。例例1-4-1求两个数的中较小的数。求两个数的中较小的数。(BASIC)10 input a%,b%10 input a%,b%20 if a%b%then c%=b%else c%=a%20 if a%b%then c%=b%else c%=a%30 print c%30 print c%40 end40 end例例1-4-2求两个数的中较小的数。求两个数的中较小的数。(C)main()int a,b,c;scanf(%d

24、,%d,&a,&b);if(ab)c=b;else c=a;printf(%dn,c);C 语言的基本符号语言的基本符号基本符号字符单词单词字母字母数字数字其它字符其它字符常量常量小写字母小写字母大写字母大写字母特殊字符特殊字符不可印出字符不可印出字符数据类型定义数据类型定义存储方式存储方式数据类型数据类型语句语句运算符运算符分隔符分隔符语句括号语句括号数值常量数值常量字符常量字符常量字符串常量字符串常量符号常量符号常量标识符标识符关键字关键字界限符界限符 图图图图1-11-11-11-1 C 语言字符集语言字符集 n小写字母:小写字母:abcabcz zn大写字母:大写字母:ABCABCZ

25、Zn数字:数字:0120129 9 n特特殊殊字字符符:*/_ _ !#&?(),;:n 不可印出字符:空格,换行,制表符。不可印出字符:空格,换行,制表符。单词单词一、标识符一、标识符 n标标识识符符是用来标识C语言程序中一个对象的名字。n命名时应注意以下几点:1.1.标标识识符符是一串字母或下划线开头的由字母、数字和下划线组成的字符串。2.2.标标识识符符的的长长度度可识别的标标识识符符长长度度常限制为8个字符。3.3.标识符大小字母含义不同标识符大小字母含义不同。一、标识符(表示对象)一、标识符(表示对象)1.函数。2.关键字。3.常量。4.变量。5.数据类型。6.存储方式。7.语句。一

26、、标识符(约定)一、标识符(约定)n习惯约定:习惯约定:系统程序专用标识符:以下划线领头。系统程序专用标识符:以下划线领头。符符号号常常量量标标识识符符:以以大大写写字字母母开开头头或或全全部部为大写字母。为大写字母。用户标识符:小写字母领头。用户标识符:小写字母领头。n举例:举例:n系统程序变量:系统程序变量:_sum,_cont,_s_1,_s_2_sum,_cont,_s_1,_s_2等。等。n符号常量:符号常量:PIPI,N N,M M,K_1,K_1,等。等。n用户变量:用户变量:x,y,sum,a_1,a_2x,y,sum,a_1,a_2等。等。一、标识符(补充说明)一、标识符(补

27、充说明)n用户一般用下划线符作为分段符。如:sum_1n标识符的长度按规则可以是任意的,但识别长度为 8。nlengthword1 和 lengthword2 都等效于 lengthwonSUM、sum、Sum 代表 3 个不同的标识符。例1-5-5 在下列字符串中挑出合法标在下列字符串中挑出合法标识符,并指出其大约用途;若是非法识符,并指出其大约用途;若是非法 ,说明原因。,说明原因。if 123 a _a aBCif 123 a _a aBCx3u !23#ABC y_1 a*bx3u !23#ABC y_1 a*bSUM aSUM a2 2 e printf 1e3 e printf 1

28、e3a-b exp()suma-b exp()sum1 1 例1-5 答案:答案:if if 正确,关键字正确,关键字123 123 非法,数字开头非法,数字开头a a 正确,变量正确,变量_a _a 正确,系统变量正确,系统变量aBC aBC 正确,变量正确,变量x3u x3u 正确,变量正确,变量!23 !23 非法,非法字符非法,非法字符 !#ABC#ABC 非法,非法字符非法,非法字符#y_1 y_1 正确,变量正确,变量a*b a*b 非法,非法字符非法,非法字符*SUM SUM 正确,符号常量正确,符号常量a a2 2 非法,上标非法,上标e e 正确,变量正确,变量printf

29、printf 正确,函数名正确,函数名1e3 1e3 非法,数字开头非法,数字开头exp()exp()非法,非法字符非法,非法字符()()sumsum1 1 非法,下标非法,下标二、关键字二、关键字 n关关键键字字是是一一类类具具有有固固定定名名字字和和特特殊殊含含义义的的特特殊殊标标识识符符,又又称称为为保保留留字字。共共 32 32 个个。不不允允许许程程序员在程序中将它们另作别用。序员在程序中将它们另作别用。ntypedefnchar,double,enum,float,int,long,short,struct,union,unsignednauto,extern,register,s

30、taticnsizeofnbreak,case,continue,default,do,else,for,goto,if,return,switch,whilen下面几个单词严格说来不属于关键字,但建议用户把它们看作关键字,不要在程序中随意使用,以免造成混淆,它们是:n宏定义#definen宏定义终止#undefn文件包含命令#includen条件编译开始#ifdefn(非)条件编译开始#ifndefn条件编译结束#endifn它们通常用在 C 语言的预处理程序中。三、界限符三、界限符n包括:运算符、分隔符和语句括号。1.运算符:()!&*sizeof /%+-=y)z=x;else z=y;

31、return(z)main()main()int a,b,c;int a,b,c;scanf(scanf(%d,%d,&d%d,%d,&d,&a,&b,&c),&a,&b,&c);a=max(a,b);a=max(a,b);a=max(a,c);a=max(a,c);printf(printf(%dn%dn,a);,a);答案7:编写一个C程序,输入a、b、c三个值,计算并输出其平均值。main()main()int a,b,c;int a,b,c;float aver;float aver;scanf(scanf(%d,%d,&d%d,%d,&d,&a,&b,&c);,&a,&b,&c);a

32、ver=(a+b+c)/3.0;aver=(a+b+c)/3.0;printf(printf(%fn%fn,aver);,aver);答案8:什么是关键字?它与标识符有什么不同?n关键字是一类具有固定名字和特定含义的特殊的标识符。又称保留字。不允许程序员在程序中将它们另作别用。n普通标识符,可作函数名、变量、符号常量等。答案9:下面的字符串能作为一条注释吗?/*Thisisattempt/*tonext*/acomment*/n不能。nC语言会把下列字符串作为一条注释语句:/*Thisisattempt/*tonext*/n因此后半断就出错了:acomment*/答案10:指出哪些不是合法标识符,为什么?3id 不是,数字开头;不是,数字开头;_ yes 是是o_no_o_n 是是 00_go 不是,数字开头不是,数字开头start*it 不是,含非法字符不是,含非法字符*1_i_am 不是,数字开头不是,数字开头one_i_arent 不是,含非法字符不是,含非法字符me_to_2 是是 xYshouldI 是是

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁