资源描述:
《第02讲 C语言概述》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第二讲C语言概述第二讲C语言概述计算机程序和语言C语言的简史为什么学习和使用C语言程序的开发过程C语言的编程环境C语言程序的基本结构C语言的字符集和关键字程序的测试与调试C语言程序设计2计算机程序和语言计算机程序确切告诉计算机如何完成某项任务的指令序列。计算机语言用来编写程序人和计算机之间进行信息交流计算机基础概述#include#includevoidmain(){floata,b,c,p,disc,q,x1,x2;scanf("%f%f%f",&a,&b,&c);p=
2、-b/(2*a);disc=b*b-4*a*c;q=sqrt(disc)/(2*a);x1=p+q;x2=p-q;printf("x1=%f,x2=%f",x1,x2);}3机器语言数字形式的指令码就是机器语言(Machinelanguage)用机器语言编写的程序能够被计算机直接理解和执行但是,编写程序非常费力例如,编写程序完成两个数相加的任务需要以下几步把地址为20的内存单元中的数复制到寄存器1;把地址为24的内存单元中的数复制到寄存器2;把寄存器2中的数与寄存器1中的数相加,结果保留在寄存器1中;把寄
3、存器1中的数复制到地址为28的内存单元中。计算机基础概述0110001000010100011000110001100000001100000000110111001100011100指令码操作数4汇编语言符号化的指令码就是汇编语言(Assemblylanguage)例如,完成两个数相加的汇编语言程序汇编语言程序必须被翻译成机器语言程序才能被执行汇编程序(Assembler)充当“翻译”用汇编语言编写程序还是比较费力计算机基础概述ldregn1,r1把变量n1的值复制到寄存器1(r1);ldregn2,r
4、2把变量n2的值复制到寄存器2(r2);addr1,r2把r2中的数与r1中的数相加,结果保留在r1中;storer1,sum把r1中的数复制到变量sum。5高级语言高级语言(High-levellanguage)使用数学符号和类似英语的单词例如,完成两个数相加的C语言程序从多方面提高了编程效率不必考虑CPU的指令集不必考虑CPU实现特定任务的精确步骤采用接近人类思考问题的方式去书写程序高级语言程序必须被翻译成机器语言程序才能被执行由两种专门的程序来完成:编译器和解释器程序计算机基础概述sum=n1+n2
5、;6编译器和解释器编译器(Compiler)将程序中所有的语句编译成单独的程序组,并生成机器语言指令,然后存入目标文件中。生成的可执行文件可以独立执行。解释器(Interpreter)在程序运行的同时一次转换一条语句。因为转换过程和程序运行过程是同时进行的,所以解释的程序比编译的程序运行的慢。计算机基础概述7C语言的简史C语言的起源美国贝尔实验室的DennisRitchie在1972年开发的用于设计UNIX操作系统其前身是B语言(KenThompson于1970年为第一个UNIX系统开发的语言)C语言的标
6、准美国国家标准化组织(ANSI)于1983年成立了一个委员会(X3J11),以确定C语言的标准。该标准(ANSIC)于1989年被正式采用,即C89。最新的标准是C99标准。目前,大多数C语言编译器没有完全实现C99的所有修改。C语言概述8为什么学习和使用C语言C语言的特点C语言是一种强大而灵活的语言,可以用来编写任意复杂的程序。C语言简洁、紧凑,使用方便、灵活。C语言程序效率高、运行速度快。C语言是可移植的。C语言很适合结构化程序设计,因而要求用户以功能模块的方式来思考问题。C语言具有自我扩展能力。C语
7、言概述9为什么学习和使用C语言C与C++(C加加,see-plus-plus)贝尔实验室于二十世纪八十年代在C语言的基础上开发的。C++是C语言的超集,包含了C语言的所有内容(C89),同时增加了面向对象编程方面的内容。C与Java(爪哇)Sun公司于1995年发布的面向对象编程语言。Java也是基于C语言的。C与C#(see-sharp)微软在2000年6月与.NET平台一同推出。C#也是从C语言派生的一种面向对象语言。C语言概述10C语言程序的开发过程一般分成五个步骤定义程序目标设计程序编写代码编译运
8、行、测试和调试程序C语言概述11C语言程序的开发过程定义程序目标在开始解决问题之前,程序的开发人员必须彻底了解问题是什么,对即将要创建的程序要做的事情有个清晰的认识。这需要仔细考虑以下问题程序需要什么信息程序需要执行哪些计算和操作程序应该报告什么信息例如,计算任意一个圆环的面积提出问题,明确目标圆环是什么?如何计算面积?需要什么数据?计算精度?C语言概述12C语言程序的开发过程设计程序决定程序如何去解决问题。需要考虑如何给程序