欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    语言程序设计初步.ppt

    • 资源ID:66747183       资源大小:1.39MB        全文页数:109页
    • 资源格式: PPT        下载积分:11.9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要11.9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    语言程序设计初步.ppt

    大大 学学 计计 算算 机机 应应 用用 基基 础础安徽师范大学数学计算机科学学院安徽师范大学数学计算机科学学院第10章 C语言程序设计初步1大大 学学 计计 算算 机机 应应 用用 基基 础础安徽师范大学数学计算机科学学院安徽师范大学数学计算机科学学院第第10章章 C语言程序设计初步语言程序设计初步 从本章开始我们正式进入从本章开始我们正式进入C语言程序设计的学习,语言程序设计的学习,也许大家会问:也许大家会问:为什么我们要学习为什么我们要学习C语言呢?语言呢?理由理由1:因为:因为C语言流行语言流行.理由理由2:因为因为C语言在各种程序考试中必考。语言在各种程序考试中必考。理由理由3:因为它是必修课,是老师逼的,不学不能:因为它是必修课,是老师逼的,不学不能拿学分拿学分 理由理由n:别急!让我想想别急!让我想想别急!让我想想别急!让我想想 这些理由都只是从表面上来回答,其实要真正来回答这一问题,这些理由都只是从表面上来回答,其实要真正来回答这一问题,这些理由都只是从表面上来回答,其实要真正来回答这一问题,这些理由都只是从表面上来回答,其实要真正来回答这一问题,我们有必要了解程序设计语言的发展历史及其特点,知道我们有必要了解程序设计语言的发展历史及其特点,知道我们有必要了解程序设计语言的发展历史及其特点,知道我们有必要了解程序设计语言的发展历史及其特点,知道C C C C语言是属语言是属语言是属语言是属于哪种类型的语言;于哪种类型的语言;于哪种类型的语言;于哪种类型的语言;C C C C语言是如何产生和发展的,语言是如何产生和发展的,语言是如何产生和发展的,语言是如何产生和发展的,C C C C语言的特点有哪些,语言的特点有哪些,语言的特点有哪些,语言的特点有哪些,它应用在哪些方面等,这样我们就可以做到学习目的明确,才能有意它应用在哪些方面等,这样我们就可以做到学习目的明确,才能有意它应用在哪些方面等,这样我们就可以做到学习目的明确,才能有意它应用在哪些方面等,这样我们就可以做到学习目的明确,才能有意识地去学好识地去学好识地去学好识地去学好C C C C语言程序设计。语言程序设计。语言程序设计。语言程序设计。2大大 学学 计计 算算 机机 应应 用用 基基 础础安徽师范大学数学计算机科学学院安徽师范大学数学计算机科学学院了解程序设计语言的发展及其特点;了解程序设计语言的发展及其特点;掌握机器语言、汇编语言和高级语言的差异;掌握机器语言、汇编语言和高级语言的差异;了解了解C C语言的发展历史及特点和应用;语言的发展历史及特点和应用;掌握掌握C C语言程序的基本结构;语言程序的基本结构;掌握编写掌握编写C C程序的基本步骤和调试过程。程序的基本步骤和调试过程。u学习目标学习目标 3大大 学学 计计 算算 机机 应应 用用 基基 础础安徽师范大学数学计算机科学学院安徽师范大学数学计算机科学学院u学习内容学习内容 引论引论 算法基础算法基础 基本数据类型基本数据类型 顺序结构程序设计顺序结构程序设计 选择结构程序设计选择结构程序设计 循环结构程序设计循环结构程序设计 4大大 学学 计计 算算 机机 应应 用用 基基 础础安徽师范大学数学计算机科学学院安徽师范大学数学计算机科学学院10.1引论 u程序设计语言的发展经历了三个阶段:程序设计语言的发展经历了三个阶段:机器语言是用二进制表示的,计算机能直接识别和执行的语言 如:10000000(加)10010000(减),机器语言执行速度最快。由于用二进制表示,因而程序可读性差,非专业人员难于掌握 二进制指令通过符号化 如 ADD A,B汇编程序 高级语言表达方式接近被描述的问题,接近于高级语言表达方式接近被描述的问题,接近于自然语言和数学表达式,易于人们接受和掌握自然语言和数学表达式,易于人们接受和掌握 5大大 学学 计计 算算 机机 应应 用用 基基 础础安徽师范大学数学计算机科学学院安徽师范大学数学计算机科学学院1.C1.C1.C1.C语言发展史语言发展史语言发展史语言发展史Combined Programming Combined Programming Language Language 19631963年,剑桥大学年,剑桥大学年,剑桥大学年,剑桥大学 19671967年,剑桥大学的年,剑桥大学的年,剑桥大学的年,剑桥大学的Matin Matin RichardsRichards对对对对CPLCPL语言进行了简化语言进行了简化语言进行了简化语言进行了简化 19701970年,美国贝尔实验室的年,美国贝尔实验室的年,美国贝尔实验室的年,美国贝尔实验室的Ken Ken ThompsonThompson将将将将BCPLBCPL进行了修改进行了修改进行了修改进行了修改 将将CPLCPL语语言言煮干煮干,提炼出它提炼出它的精华的精华19731973年,年,年,年,B B语言也给人语言也给人语言也给人语言也给人“煮煮煮煮”了了了了一下,美国贝尔实验室的在一下,美国贝尔实验室的在一下,美国贝尔实验室的在一下,美国贝尔实验室的在B B语语语语言的基础上最终设计出了一种新言的基础上最终设计出了一种新言的基础上最终设计出了一种新言的基础上最终设计出了一种新的语言的语言的语言的语言 B BC CPLPL的第二个的第二个字母作为这种字母作为这种语言的名字,语言的名字,这就是这就是C C语言语言 10.1.1 语言概述语言概述在在在在C C的基础上,的基础上,的基础上,的基础上,19831983年又由贝尔实年又由贝尔实年又由贝尔实年又由贝尔实验室的验室的验室的验室的Bjarne StroustrupBjarne Stroustrup推出了推出了推出了推出了C+C+6大大 学学 计计 算算 机机 应应 用用 基基 础础安徽师范大学数学计算机科学学院安徽师范大学数学计算机科学学院C C语言发展史语言发展史uu产生背景产生背景产生背景产生背景uu产生过程产生过程产生过程产生过程 时间时间时间时间:1972:1972:1972:19721973197319731973 地点地点地点地点:美国贝尔实验室美国贝尔实验室美国贝尔实验室美国贝尔实验室 目的目的目的目的:UNIX:UNIX:UNIX:UNIX操作系统操作系统操作系统操作系统 设计人设计人设计人设计人:Ken.ThompsonKen.ThompsonKen.ThompsonKen.Thompson和和和和uuC C C C标准标准标准标准 标准标准标准标准C:K&RC:K&RC:K&RC:K&R合著合著合著合著The C Programming LanguageThe C Programming LanguageThe C Programming LanguageThe C Programming Language ANSI C:1983 ANSI C:1983 ANSI C:1983 ANSI C:1983年年年年 87 ANSI C:198787 ANSI C:198787 ANSI C:198787 ANSI C:1987年年年年 1990199019901990年国际标准的年国际标准的年国际标准的年国际标准的ANSI CANSI CANSI CANSI C7大大 学学 计计 算算 机机 应应 用用 基基 础础安徽师范大学数学计算机科学学院安徽师范大学数学计算机科学学院2.C2.C语言的特点语言的特点(1 1)高效性:)高效性:)高效性:)高效性:C C程序往往紧凑且运行速度快。程序往往紧凑且运行速度快。程序往往紧凑且运行速度快。程序往往紧凑且运行速度快。(2 2)移植性:)移植性:)移植性:)移植性:C C程序不经修改或很少修改就可以到其他程序不经修改或很少修改就可以到其他程序不经修改或很少修改就可以到其他程序不经修改或很少修改就可以到其他系统上运行。系统上运行。系统上运行。系统上运行。(3 3)运算符丰富:有算术、关系、逻辑、位、自增)运算符丰富:有算术、关系、逻辑、位、自增)运算符丰富:有算术、关系、逻辑、位、自增)运算符丰富:有算术、关系、逻辑、位、自增/自减、自减、自减、自减、赋值运算符等等。赋值运算符等等。赋值运算符等等。赋值运算符等等。(4 4)数据结构丰富:数据类型有整型、实型、字符、数)数据结构丰富:数据类型有整型、实型、字符、数)数据结构丰富:数据类型有整型、实型、字符、数)数据结构丰富:数据类型有整型、实型、字符、数组、指针、结构体等,能实现如链表、树、栈等结构组、指针、结构体等,能实现如链表、树、栈等结构组、指针、结构体等,能实现如链表、树、栈等结构组、指针、结构体等,能实现如链表、树、栈等结构运算。运算。运算。运算。(5 5)对硬件操作:能直接访问内存的物理地址,并进行)对硬件操作:能直接访问内存的物理地址,并进行)对硬件操作:能直接访问内存的物理地址,并进行)对硬件操作:能直接访问内存的物理地址,并进行位操作。位操作。位操作。位操作。(6 6)自由度大:语法限制不严格。如:不检查数组下标)自由度大:语法限制不严格。如:不检查数组下标)自由度大:语法限制不严格。如:不检查数组下标)自由度大:语法限制不严格。如:不检查数组下标是否越界,整型与字符型可通用,条件可用是否越界,整型与字符型可通用,条件可用是否越界,整型与字符型可通用,条件可用是否越界,整型与字符型可通用,条件可用0 0和非和非和非和非0 0表表表表示假与真,指针操作灵活等。示假与真,指针操作灵活等。示假与真,指针操作灵活等。示假与真,指针操作灵活等。8大大 学学 计计 算算 机机 应应 用用 基基 础础安徽师范大学数学计算机科学学院安徽师范大学数学计算机科学学院v1.语言的字符集语言的字符集v2.标识符标识符:v3.关键字关键字v4.运算符运算符v5.分隔符分隔符v6.注释符注释符10.1.2 基本语法成分基本语法成分字符是组成语言的最基本的元素。语言字符集由字字符是组成语言的最基本的元素。语言字符集由字字符是组成语言的最基本的元素。语言字符集由字字符是组成语言的最基本的元素。语言字符集由字母,数字,空格,标点和特殊字符组成。母,数字,空格,标点和特殊字符组成。母,数字,空格,标点和特殊字符组成。母,数字,空格,标点和特殊字符组成。(1 1)字母:大小写字母。)字母:大小写字母。)字母:大小写字母。)字母:大小写字母。(2 2)数字:)数字:)数字:)数字:0 09 9共共共共1010个个个个(3 3)空白符空格符、制表符、换行符等统称为空)空白符空格符、制表符、换行符等统称为空)空白符空格符、制表符、换行符等统称为空)空白符空格符、制表符、换行符等统称为空白符。空白符只在字符常量和字符串常量中起作用。白符。空白符只在字符常量和字符串常量中起作用。白符。空白符只在字符常量和字符串常量中起作用。白符。空白符只在字符常量和字符串常量中起作用。在其它地方出现时,只起间隔作用,编译程序对它们在其它地方出现时,只起间隔作用,编译程序对它们在其它地方出现时,只起间隔作用,编译程序对它们在其它地方出现时,只起间隔作用,编译程序对它们忽略,但在程序中适当的地方使用空白符将增加程序忽略,但在程序中适当的地方使用空白符将增加程序忽略,但在程序中适当的地方使用空白符将增加程序忽略,但在程序中适当的地方使用空白符将增加程序的清晰性和可读性。的清晰性和可读性。的清晰性和可读性。的清晰性和可读性。(4 4)标点和特殊字符)标点和特殊字符)标点和特殊字符)标点和特殊字符 主要有主要有主要有主要有 !#%&+*/!#%&+*/=|.,:;?”()=|.,:;?”()等等。等等。等等。等等。在程序中使用的变量名、函数名、标号等统称为标识在程序中使用的变量名、函数名、标号等统称为标识符,用来标识各种程序成分。除库函数的函数名由系符,用来标识各种程序成分。除库函数的函数名由系统定义外,其余都由用户自定义。统定义外,其余都由用户自定义。C语言规定,标识语言规定,标识符只能是由字母符只能是由字母(AZ,az)、数字、数字(09)、下划线、下划线(_)组成的字符串,并且其第一个字符必须是字母或下组成的字符串,并且其第一个字符必须是字母或下划线。划线。在使用标识符时还必须注意以下几点:在使用标识符时还必须注意以下几点:(1)在标识符中,大小写是有区别的。例如在标识符中,大小写是有区别的。例如BOOK和和book 是两个不同的标识符。习惯上符号常量用大写是两个不同的标识符。习惯上符号常量用大写字母表示,而变量名等用小写字母表示。字母表示,而变量名等用小写字母表示。(2)标识符虽然可由程序员随意定义,但不能与关键标识符虽然可由程序员随意定义,但不能与关键字同名,也不能与系统预先定义的标准标识符(如标字同名,也不能与系统预先定义的标准标识符(如标准函数)同名准函数)同名 关键字是由语言规定的具有特定意义的字符串,通关键字是由语言规定的具有特定意义的字符串,通常也称为保留字。如类型说明符常也称为保留字。如类型说明符int,double等;语句等;语句特征特征if、switch、while等;预处理命令等;预处理命令include、define等。关键字是构成等。关键字是构成C语言的语法基础,用户定语言的语法基础,用户定义的标识符不应与关键字相同,也不能对关键字进行义的标识符不应与关键字相同,也不能对关键字进行重新定义。重新定义。语言中含有相当丰富的运算符。运算符与变量、函语言中含有相当丰富的运算符。运算符与变量、函数一起组成表达式,表示各种运算功能。运算符由一数一起组成表达式,表示各种运算功能。运算符由一个或多个字符组成。根据参加运算对象的个数,运算个或多个字符组成。根据参加运算对象的个数,运算符可分为单目运算符、双目运算符和三目运算符。符可分为单目运算符、双目运算符和三目运算符。C语言中的分隔符有逗号和空格两种,逗号主要用在语言中的分隔符有逗号和空格两种,逗号主要用在类型说明和函数参数表中,分隔各个变量。空格多用类型说明和函数参数表中,分隔各个变量。空格多用于语句各单词之间,作间隔符。在关键字、标识符之于语句各单词之间,作间隔符。在关键字、标识符之间必须要有一个以上的空格符作间隔,间必须要有一个以上的空格符作间隔,否则将会出现否则将会出现语法错误。例如把语法错误。例如把“int a;”,写成,写成“inta;”,C编译编译器会把器会把“inta”当成一个标识符处理,其结果必然出当成一个标识符处理,其结果必然出错。错。注释符是以注释符是以“/*”开头并以开头并以“*/”结尾的串。在结尾的串。在“/*”和和“*/”之间的即为注释。程序编译时,不对之间的即为注释。程序编译时,不对注释作任何处理。注释可出现在程序中的任何位置。注释作任何处理。注释可出现在程序中的任何位置。注释用来向用户提示或解释程序的意义。在调试程序注释用来向用户提示或解释程序的意义。在调试程序时,对暂不使用的语句也可用注释符括起来,使编译时,对暂不使用的语句也可用注释符括起来,使编译跳过不作处理,待调试结束后再去掉注释符。跳过不作处理,待调试结束后再去掉注释符。9大大 学学 计计 算算 机机 应应 用用 基基 础础安徽师范大学数学计算机科学学院安徽师范大学数学计算机科学学院标识符练习标识符练习1、下列选项中,可以作为语言标识符的是(、下列选项中,可以作为语言标识符的是()A)3stu B)#stu C)stu3 D)stu.32、下列选项中,不可以作为语言标识符的是(、下列选项中,不可以作为语言标识符的是()A)num B)turbo_c C)printf D)student33、以下不能定义为用户标识符的是、以下不能定义为用户标识符的是_。A)Main B)_0 C)_int D)int4、以下叙述中错误的是、以下叙述中错误的是()A)用户所定义的标识符允许使用关键字)用户所定义的标识符允许使用关键字 B)用户所定义的标识符应尽量做到)用户所定义的标识符应尽量做到“见名知意见名知意”C)用户所定义的标识符必须以字母或下划线开头)用户所定义的标识符必须以字母或下划线开头 D)用户定义的标识符中,大、小写字母代表不同标识)用户定义的标识符中,大、小写字母代表不同标识10大大 学学 计计 算算 机机 应应 用用 基基 础础安徽师范大学数学计算机科学学院安徽师范大学数学计算机科学学院5、以下不合法的用户标识符是、以下不合法的用户标识符是()A)j2_KEY B)Double C)4d D)_8_6、合法的语言标识符是(、合法的语言标识符是()。)。A)_a1 B)a+b C)3abc D)AB,CD7、以下选项中不合法的用户标识符是:(、以下选项中不合法的用户标识符是:()A)_xyz B)Int C)a_123 D)1238、以下选项中合法的用户标识符是:(、以下选项中合法的用户标识符是:()A)_123 B)int C)si%D)1_ads9、以下选项中合法的用户标识符是:(、以下选项中合法的用户标识符是:()A)signed B)printf C)aa$D)a1.11大大 学学 计计 算算 机机 应应 用用 基基 础础安徽师范大学数学计算机科学学院安徽师范大学数学计算机科学学院10.1.3 C10.1.3 C语言程序的基本结构语言程序的基本结构 了解了了解了了解了了解了C C C C语言的基本特性及其应用以后,接下来就来看看语言的基本特性及其应用以后,接下来就来看看语言的基本特性及其应用以后,接下来就来看看语言的基本特性及其应用以后,接下来就来看看C C C C语言程序是什么样子。一个语言程序是什么样子。一个语言程序是什么样子。一个语言程序是什么样子。一个C C C C语言程序可以是非常简单的,也语言程序可以是非常简单的,也语言程序可以是非常简单的,也语言程序可以是非常简单的,也可以是特别复杂的,这取决于程序所要实现的功能。我们先可以是特别复杂的,这取决于程序所要实现的功能。我们先可以是特别复杂的,这取决于程序所要实现的功能。我们先可以是特别复杂的,这取决于程序所要实现的功能。我们先来认识一个最为简单的来认识一个最为简单的来认识一个最为简单的来认识一个最为简单的C C C C程序。程序。程序。程序。【例【例【例【例1 1 1 1】最简单的最简单的最简单的最简单的C C C C程序。程序。程序。程序。main()main()printf(This is a C Language Program!printf(This is a C Language Program!nn););函数体函数体语句结束标志语句结束标志 运行结果运行结果运行结果运行结果:This is a C Language ProgramThis is a C Language Program!main是主函数的函数名,表示这是一个主函是主函数的函数名,表示这是一个主函数。每一个数。每一个C源程序都必须有,并且只能有源程序都必须有,并且只能有一个主函数一个主函数(main函数函数),这是整个,这是整个C程序运程序运行的入口点行的入口点 printf是是C语言中的输出函数,是一个由系统定义的语言中的输出函数,是一个由系统定义的标准函数,可在程序中直接调用,它的功能是把要输标准函数,可在程序中直接调用,它的功能是把要输出的内容送到显示器去显示。双引号内字符串原样输出的内容送到显示器去显示。双引号内字符串原样输出,出,“n”是回车换行符。是回车换行符。C C语言规定:语句以分号结束语言规定:语句以分号结束 12大大 学学 计计 算算 机机 应应 用用 基基 础础安徽师范大学数学计算机科学学院安徽师范大学数学计算机科学学院【例【例【例【例2 2 2 2】计算输入的两个整数的和】计算输入的两个整数的和】计算输入的两个整数的和】计算输入的两个整数的和。/*/*求两数的和。求两数的和。*/*/main()main()int a,b,sum;/*int a,b,sum;/*这是定义变量这是定义变量这是定义变量这是定义变量*/*/a=12;b=34;a=12;b=34;sum=a+b;sum=a+b;printf(The sum is%dn,sum);printf(The sum is%dn,sum);数据类型名数据类型名定义的变量名,以定义的变量名,以“,”分分隔隔两个赋值语句,使两个赋值语句,使a a和和b b的值分别为的值分别为1212和和3434 调用内部函数,输出计算的和数调用内部函数,输出计算的和数求和的值给求和的值给sum运行结果:运行结果:运行结果:运行结果:the sum isthe sum is 46“%d”“%d”是输入输出的格式字符串,用是输入输出的格式字符串,用来指定输入输出时的数据类型和格式来指定输入输出时的数据类型和格式 13大大 学学 计计 算算 机机 应应 用用 基基 础础安徽师范大学数学计算机科学学院安徽师范大学数学计算机科学学院【例【例【例【例3 3 3 3】计算输入的两个整数的最大值】计算输入的两个整数的最大值】计算输入的两个整数的最大值】计算输入的两个整数的最大值。/*This is the third C program*/*This is the third C program*/#include#include int max(int a,int b);int max(int a,int b);main()main()int x,y,z;int x,y,z;printf(Input two numbers:n);printf(Input two numbers:n);scanf(%d%d,&x,&y);scanf(%d%d,&x,&y);z=max(x,y);z=max(x,y);printf(maxnum=%dn,z);printf(maxnum=%dn,z);int max(int a,int b)int max(int a,int b)if (a b)if (a b)return a;return a;else else return b;return b;自定义函数声明自定义函数声明自定义函数调用自定义函数调用自定义函数自定义函数max带两个形参带两个形参返回返回a、b中最大值中最大值返回值为整型数返回值为整型数假设输入:假设输入:假设输入:假设输入:10 2010 2010 2010 20 运行结果:运行结果:运行结果:运行结果:max=2max=20调用内部函数,接受键盘输入数据调用内部函数,接受键盘输入数据14大大 学学 计计 算算 机机 应应 用用 基基 础础安徽师范大学数学计算机科学学院安徽师范大学数学计算机科学学院总结源程序的结构特点总结源程序的结构特点总结源程序的结构特点总结源程序的结构特点(1)(1)一个语言源程序可以由一个或多个源文件组成一个语言源程序可以由一个或多个源文件组成一个语言源程序可以由一个或多个源文件组成一个语言源程序可以由一个或多个源文件组成,每每每每个源文件以个源文件以个源文件以个源文件以“.c”“.c”作为扩展名。作为扩展名。作为扩展名。作为扩展名。(2)(2)每个源文件可由一个或多个函数组成。每个源文件可由一个或多个函数组成。每个源文件可由一个或多个函数组成。每个源文件可由一个或多个函数组成。(3)(3)一个源程序不论由多少个文件组成,都有一个且只能一个源程序不论由多少个文件组成,都有一个且只能一个源程序不论由多少个文件组成,都有一个且只能一个源程序不论由多少个文件组成,都有一个且只能有一个有一个有一个有一个mainmain函数,即主函数,整个程序的运行从主函数开函数,即主函数,整个程序的运行从主函数开函数,即主函数,整个程序的运行从主函数开函数,即主函数,整个程序的运行从主函数开始。始。始。始。(4)(4)源程序中可以有预处理命令源程序中可以有预处理命令源程序中可以有预处理命令源程序中可以有预处理命令(include(include 命令仅为其中命令仅为其中命令仅为其中命令仅为其中的一种的一种的一种的一种),预处理命令通常应放在源文件或源程序的最前面。,预处理命令通常应放在源文件或源程序的最前面。,预处理命令通常应放在源文件或源程序的最前面。,预处理命令通常应放在源文件或源程序的最前面。(5)(5)每一个说明,每一个语句都必须以分号结尾。但预处每一个说明,每一个语句都必须以分号结尾。但预处每一个说明,每一个语句都必须以分号结尾。但预处每一个说明,每一个语句都必须以分号结尾。但预处理命令,函数头之后不能加分号。理命令,函数头之后不能加分号。理命令,函数头之后不能加分号。理命令,函数头之后不能加分号。(6)(6)标识符、关键字之间必须至少加一个空格以示间隔。标识符、关键字之间必须至少加一个空格以示间隔。标识符、关键字之间必须至少加一个空格以示间隔。标识符、关键字之间必须至少加一个空格以示间隔。若已有明显的间隔符,也可不再加空格来间隔。若已有明显的间隔符,也可不再加空格来间隔。若已有明显的间隔符,也可不再加空格来间隔。若已有明显的间隔符,也可不再加空格来间隔。15大大 学学 计计 算算 机机 应应 用用 基基 础础安徽师范大学数学计算机科学学院安徽师范大学数学计算机科学学院程序代码的录程序代码的录程序代码的录程序代码的录入,生成源程入,生成源程入,生成源程入,生成源程序序序序*.c*.c*.c*.c或或或或*.cpp*.cpp*.cpp*.cpp语法分析查错,语法分析查错,语法分析查错,语法分析查错,翻译生成目标程翻译生成目标程翻译生成目标程翻译生成目标程序序序序*.obj*.obj*.obj*.obj与其它目标程与其它目标程与其它目标程与其它目标程序或库链接装序或库链接装序或库链接装序或库链接装配配配配,生成可执生成可执生成可执生成可执行程序行程序行程序行程序*.exe*.exe*.exe*.exe开 始编 辑编 译有错?链 接执 行结果正确?结 束源程序file.c目标程序file.obj库函数和其它目标程序可执行程序file.exe不正确正确有无 调试调试调试调试C C C C程序的流程程序的流程程序的流程程序的流程10.1.4 10.1.4 语言的编辑、编译和运行语言的编辑、编译和运行16大大 学学 计计 算算 机机 应应 用用 基基 础础安徽师范大学数学计算机科学学院安徽师范大学数学计算机科学学院v人们使用计算机,就是要利用人们使用计算机,就是要利用计算机处理各种不同的问题,计算机处理各种不同的问题,而要做到这一点,人们就必须而要做到这一点,人们就必须事先对各类问题进行分析,确事先对各类问题进行分析,确定解决问题的具体方法和步骤,定解决问题的具体方法和步骤,再编制好一组让计算机执行的再编制好一组让计算机执行的指令即程序,让计算机按人们指令即程序,让计算机按人们指定的步骤有效地工作。这些指定的步骤有效地工作。这些具体的方法和步骤,其实就是具体的方法和步骤,其实就是解决一个问题的算法。根据算解决一个问题的算法。根据算法,依据某种规则编写计算机法,依据某种规则编写计算机执行的命令序列,就是编制程执行的命令序列,就是编制程序,而书写时所应遵守的规则,序,而书写时所应遵守的规则,即为某种语言的语法即为某种语言的语法.10.2 算法基础算法基础 10.2.1 算法(算法(Algorithm)的概念)的概念【例【例10.2.1】输入输入3个数,求其最大值。个数,求其最大值。v问题分析:设问题分析:设num1,num2,num3存放存放3个数,个数,max存放其最大值。为求最大存放其最大值。为求最大值,就必须对值,就必须对3个数进行比较,可按如个数进行比较,可按如下步骤去做:下步骤去做:输入输入3个数个数num1,num2,num3。先把第先把第1个数个数num1的值赋给的值赋给max。将第将第2个数个数num2与与max比较,如果比较,如果num2max,则把第,则把第2个数个数num2的值的值赋给赋给max(否则不做任何工作)。(否则不做任何工作)。将第将第3个数个数num3与与max比较,如果比较,如果num3max,则把第,则把第3个数个数num3的值的值赋给赋给max(否则不做任何工作)。(否则不做任何工作)。输出输出max的值,即最大值。的值,即最大值。17大大 学学 计计 算算 机机 应应 用用 基基 础础安徽师范大学数学计算机科学学院安徽师范大学数学计算机科学学院10.2.2 算法的基本特征算法的基本特征 一个算法应具有以下一个算法应具有以下5个基本特征:个基本特征:v有穷性有穷性v确定性确定性v有效性有效性 v有零个或多个输入有零个或多个输入 v有一个或多个输出有一个或多个输出 算法必须总是在执行有限个操作步骤和可以接算法必须总是在执行有限个操作步骤和可以接受的时间内完成其执行过程。也就是说,对于一受的时间内完成其执行过程。也就是说,对于一个算法,要求其在时间和空间上均是有穷的。例个算法,要求其在时间和空间上均是有穷的。例如:一个采集气象数据并加以计算进行天气预报如:一个采集气象数据并加以计算进行天气预报的应用程序,如果不能及时得到结果,超出了可的应用程序,如果不能及时得到结果,超出了可以接受的时间,就起不到天气预报的作用。以接受的时间,就起不到天气预报的作用。算法中的每一步都必须有明确的含义,不允许算法中的每一步都必须有明确的含义,不允许存在二义性。例如:存在二义性。例如:“将成绩优秀的同学名单打将成绩优秀的同学名单打印输出印输出”,在这一描述中,在这一描述中“成绩优秀成绩优秀”就很不明就很不明确,是每门功课均为确,是每门功课均为95分以上?还是指总成绩在分以上?还是指总成绩在多少分以上?多少分以上?算法中描述的每一步操作都应能有效地执行,算法中描述的每一步操作都应能有效地执行,并最终得到确定的结果。例如:当并最终得到确定的结果。例如:当Y=0时,时,X/Y是是不能有效执行的。不能有效执行的。18大大 学学 计计 算算 机机 应应 用用 基基 础础安徽师范大学数学计算机科学学院安徽师范大学数学计算机科学学院10.2.3 算法的表示算法的表示v 用自然语言表示用自然语言表示v 用流程图表示用流程图表示 v 用伪代码表示用伪代码表示 v 计算机语言表示算法计算机语言表示算法 自然语言可以是中文、英文、数学表达式等。用自然语言表示自然语言可以是中文、英文、数学表达式等。用自然语言表示通俗易懂,缺点是可能文字过长,不太严格,表达分支和循环通俗易懂,缺点是可能文字过长,不太严格,表达分支和循环的结构不很方便。的结构不很方便。【例【例10.2.2】求】求1+2+m的值的值N,当当N10000时结束。时结束。算法可表示如下:算法可表示如下:N=0m=0m加加1N加加m判判N是否大于是否大于10000,如果满足关系结束;不满足关系,如果满足关系结束;不满足关系继续执行继续执行。伪代码是用介于自然语言和计算机语言之间的文字和符号伪代码是用介于自然语言和计算机语言之间的文字和符号来描述算法的,它不用图形符号,因此,书写方便,格式紧凑,来描述算法的,它不用图形符号,因此,书写方便,格式紧凑,也容易懂,同时也便于向计算机语言算法的转换。也容易懂,同时也便于向计算机语言算法的转换。【例【例10.2.4】用伪代码表示求】用伪代码表示求10!的算法。!的算法。begin(开始开始)置置t的初值为的初值为1(1t)置置i的初值为的初值为2(2i)当(当(while)i=10,执行(,执行(do)begin 使使t=t i 使使i=i+1 end 打印打印t的值(的值(print t)end(结束)。(结束)。计算机是无法识别流程图和伪代码形式,只有用计算机语言计算机是无法识别流程图和伪代码形式,只有用计算机语言编写的程序才能被计算机执行。因此在用流程图和伪代码形式编写的程序才能被计算机执行。因此在用流程图和伪代码形式描述出算法后,还要将它转换成计算机语言程序。描述出算法后,还要将它转换成计算机语言程序。【例【例10.2.5】用】用C语言程序来描述求语言程序来描述求10!。!。#include void main(void)long i,t;t=1L;i=2L;while(i=10L)t=t*i;i=i+1;printf(%ldn,t);。处理框处理框判断框判断框终点框终点框过程框过程框I/O框框流程线流程线连接点连接点准备框准备框下图列出了标准的流程图符号下图列出了标准的流程图符号:19大大 学学 计计 算算 机机 应应 用用 基基 础础安徽师范大学数学计算机科学学院安徽师范大学数学计算机科学学院C语言第语言第1次上机作业次上机作业1.输出以下字符:输出以下字符:Hello,world!2.输出如下图形:输出如下图形:1.*2.*3.*3.从键盘上输入两个整数从键盘上输入两个整数a和和b,输出,输出a与与b的和。的和。4.从键盘上输入两个两位整数,将它们合并为一个从键盘上输入两个两位整数,将它们合并为一个整数。例如,输入整数。例如,输入12和和34,输出,输出1234。20大大 学学 计计 算算 机机 应应 用用 基基 础础安徽师范大学数学计算机科学学院安徽师范大学数学计算机科学学院看看下面程序的运行结果是什么。看看下面程序的运行结果是什么。main()int x,y;x=3;y=6;printf(“%d,%d,%d”,x+y,xy,x*y);printf(“n”);21大大 学学 计计 算算 机机 应应 用用 基基 础础安徽师范大学数学计算机科学学院安徽师范大学数学计算机科学学院本节课计划内容本节课计划内容v1、数据的概念,常量和变量的概念,变量的定义方数据的概念,常量和变量的概念,变量的定义方法法v2、算术运算符,算术表达式,赋值运算符,逗号运、算术运算符,算术表达式,赋值运算符,逗号运算符,语句。算符,语句。v3、printf函数和函数和scanf函数的用法函数的用法v4、关系运算和逻辑运算、关系运算和逻辑运算v5、条件语句、条件语句if,条件运算符,条件运算符 22大大 学学 计计 算算 机机 应应 用用 基基 础础安徽师范大学数学计算机科学学院安徽师范大学数学计算机科学学院C C C C数数数数据据据据类类类类型型型型基本类型基本类型基本类型基本类型构造类型构造类型构造类型构造类型指针类型指针类型指针类型指针类型空类型空类型空类型空类型voidvoid字符类型字符类型字符类型字符类型charchar枚举类型枚举类型枚举类型枚举类型enumenum整整整整 型型型型实型实型实型实型单精度型单精度型单精度型单精度型floatfloat双精度型双精度型双精度型双精度型doubledouble数组数组数组数组结构体结构体结构体结构体structstruct共用体共用体共用体共用体unionunion短整型短整型短整型短整型shortshort长整型长整型长整型长整型longlong整型整型整型整型intint数据类型决定:数据类型决定:1.1.数据占内存字节数数据占内存字节数2.2.数据取值范围数据取值范围3.3.其上可进行的操作其上可进行的操作本节所介绍本节所介绍本节所介绍本节所介绍的数据类型的数据类型的数据类型的数据类型10.3 基本数据类型基本数据类型10.3.1 数据概述数据概述23大大 学学 计计 算算 机机 应应 用用 基基 础础安徽师范大学数学计算机科学学院安徽师范大学数学计算机科学学院u常量与符号常量常量与符号常量 .常量常量v定义:定义:程序运行时其值不能改变的量(即常数)程序运行时其值不能改变的量(即常数)v常量的分类常量的分类:直接常量直接常量(值常量值常量)整型常量整型常量 如,如,15、0、7浮点型常量浮点型常量 如,如,5.0、12.36字符型常量字符型常量 如,如,A、a 指针常量指针常量 如,如,NULL字符串常量字符串常量 如,如,”ABC”符号常量符号常量 用标识符来代表常量。用标识符来代表常量。其定义格式为:其定义格式为:#define define define define 符号常量符号

    注意事项

    本文(语言程序设计初步.ppt)为本站会员(wuy****n92)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

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

    收起
    展开