版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计算机与软件学院计算机与软件学院20122012年年9 9月月2课程介绍课程介绍课程性质:大学计算机专业基础课(必修)课程性质:大学计算机专业基础课(必修)课程内容课程内容C语言语言程序设计的基本方法和技巧程序设计的基本方法和技巧预备知识预备知识计算机基础计算机基础教材教材C语言程序设计语言程序设计项目引导教程杨杨 威威 主编主编 中国水利水电出版社中国水利水电出版社C语言程序设计语言程序设计谭浩强谭浩强C C语言程序设计语言程序设计3考试与考核办法考试与考核办法学分:学分:3 3学分学分学时:学时:7272(讲课(讲课36+36+实验实验3636)总评成绩总评成绩 = 平时成绩平时成绩30%
2、 + 30% + 期末考试成绩期末考试成绩70%70%平时成绩:(考勤,实验,作业平时成绩:(考勤,实验,作业) )期末考试成绩期末考试成绩C C语言程序设计语言程序设计计算机与软件学院计算机与软件学院20122012年年9 9月月5第一讲第一讲 C语言概述语言概述预备知识预备知识计算机组成和工作原理计算机组成和工作原理计算机语言和程序计算机语言和程序C语言的简史语言的简史为什么学习和使用为什么学习和使用C语言语言C语言程序的开发过程语言程序的开发过程C语言编程环境语言编程环境C语言编程实验环境语言编程实验环境C语言程序的基本结构语言程序的基本结构Visual C+ 6.0编程环境编程环境C
3、C语言程序设计语言程序设计6计算机计算机计算机计算机(Computer)能进行计算和逻辑判断的设备能进行计算和逻辑判断的设备在一组指令在一组指令(instructions)程序程序(programs)的控制下的控制下处理数据处理数据硬件硬件(Hardware)组成计算机的各种物理部件组成计算机的各种物理部件键盘、鼠标、显示器、内存、硬盘、光驱等等键盘、鼠标、显示器、内存、硬盘、光驱等等软件软件(Software)计算机中运行的程序和数据计算机中运行的程序和数据C语言概述语言概述7计算机的组成计算机的组成计算机包括六大部件计算机包括六大部件输入单元输入单元(Input unit)从输入设备(键盘
4、、鼠标)获得数据从输入设备(键盘、鼠标)获得数据输出单元输出单元(Output unit)把数据输出到输出设备(显示器、打印机等)把数据输出到输出设备(显示器、打印机等)内存内存(Memory unit)临时存储正在处理的数据和运行的程序临时存储正在处理的数据和运行的程序可以快速地访问可以快速地访问容量不大容量不大C语言概述语言概述8计算机的组成计算机的组成中央处理单元中央处理单元(Central processing unit, CPU)算术逻辑单元算术逻辑单元(Arithmetic and logic unit, ALU)进行算术运算和逻辑判断进行算术运算和逻辑判断控制器控制器(Contr
5、ol unit)管理和协调计算机的其它部件管理和协调计算机的其它部件辅助存储器辅助存储器(Secondary storage unit)保存需长期存储的数据和非活动的程序保存需长期存储的数据和非活动的程序保存时间长保存时间长价格便宜、容量大价格便宜、容量大例如硬盘、光盘、磁带例如硬盘、光盘、磁带C语言概述语言概述9计算机的工作原理计算机的工作原理六大部件紧密协作六大部件紧密协作C语言概述语言概述10计算机的工作原理计算机的工作原理CPU负责执行程序负责执行程序从内存中读取一条指令从内存中读取一条指令执行该指令执行该指令从内存中读取下一条指令并执行从内存中读取下一条指令并执行一个主频为一个主频为
6、1GHz的的CPU可以在一秒钟内进行大约一亿次这可以在一秒钟内进行大约一亿次这样的操作样的操作 CPU有自己的工作区:有自己的工作区:包括若干个寄存器包括若干个寄存器(Registers)CPU只能理解有限的指令只能理解有限的指令(CPU的指令集)的指令集)指令能够完成的任务是具体的指令能够完成的任务是具体的例如,把一个数从内存移动到某一个寄存器例如,把一个数从内存移动到某一个寄存器C语言概述语言概述11计算机程序和语言计算机程序和语言存储在计算机中的一切内容都是二进制的数字形式存储在计算机中的一切内容都是二进制的数字形式数据:数、字符、图片、声音、动画等等数据:数、字符、图片、声音、动画等等
7、指令指令计算机程序计算机程序确切告诉计算机如何完成某项任务的指令序列就是一套确切告诉计算机如何完成某项任务的指令序列就是一套程程序序计算机语言计算机语言用来编写程序用来编写程序C语言概述语言概述#include #include void main() float a,b,c,p,disc,q,x1,x2; scanf(%f%f%f,&a,&b,&c); p=-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);0110001100000110011
8、0010111001100000011000001101101100011000001100110010111001100000011000001101112机器语言机器语言数字形式的指令码就是机器语言数字形式的指令码就是机器语言(Machine language)用机器语言编写的程序能够被计算机直接理解和执行用机器语言编写的程序能够被计算机直接理解和执行但是,编写程序非常费力但是,编写程序非常费力例如,编写程序完成两个数相加的任务需要以下几步例如,编写程序完成两个数相加的任务需要以下几步把地址为把地址为2000的内存单元中的数复制到寄存器的内存单元中的数复制到寄存器1;把地址为把地址为200
9、4的内存单元中的数复制到寄存器的内存单元中的数复制到寄存器2;把寄存器把寄存器2中的数与寄存器中的数与寄存器1中的数相加,结果保留在寄存器中的数相加,结果保留在寄存器1中;中;把寄存器把寄存器1中的数复制到地址为中的数复制到地址为2008的内存单元中。的内存单元中。C语言概述语言概述01100011000001100110010111001100000011000001101113汇编语言汇编语言符号化的指令码就是汇编语言符号化的指令码就是汇编语言(Assembly language)例如,完成两个数相加的汇编语言程序例如,完成两个数相加的汇编语言程序汇编语言程序必须被翻译成机器语言程序才能被
10、执行汇编语言程序必须被翻译成机器语言程序才能被执行汇编程序汇编程序(Assembler)充当充当“翻译翻译”C语言概述语言概述ldreg n1, r1把变量把变量n1的值复制到寄存器的值复制到寄存器1(r1););ldreg n2, r2把变量把变量n2的值复制到寄存器的值复制到寄存器2(r2););add r1, r2把把r2中的数与中的数与r1中的数相加,结果保留在中的数相加,结果保留在r1中;中;store r1, sum把把r1中的数复制到变量中的数复制到变量sum。14高级语言高级语言高级语言高级语言(High-level language)使用数学符号和类似英使用数学符号和类似英语
11、的单词语的单词例如,完成两个数相加的例如,完成两个数相加的C语言程序语言程序从多方面提高了编程效率从多方面提高了编程效率不必考虑不必考虑CPU的指令集的指令集不必考虑不必考虑CPU实现特定任务的精确步骤实现特定任务的精确步骤采用接近人类思考问题的方式去书写程序采用接近人类思考问题的方式去书写程序高级语言程序必须被高级语言程序必须被编译程序编译程序(Compiler)翻译成机器语言翻译成机器语言程序才能被执行程序才能被执行C语言概述语言概述sum = n1 + n2;15C语言的简史语言的简史C语言的起源语言的起源美国贝尔实验室的美国贝尔实验室的Dennis Ritchie(丹尼斯丹尼斯里奇里奇
12、),C语言语言之之父,父,UNIX之父。在之父。在1972年开发的年开发的.用于设计用于设计UNIX操作系统操作系统其前身是其前身是B语言语言(Ken Thompson于于1970年为第一个年为第一个UNIX系统开系统开发的语言)发的语言)C语言的标准语言的标准美国国家标准化组织(美国国家标准化组织(ANSI)于)于1983年成立了一个委员会年成立了一个委员会(X3J11),以确定),以确定C语言的标准。语言的标准。该标准(该标准(ANSI C)于)于1989年被正式采用,即年被正式采用,即C89。最新的标准是最新的标准是C99标准。标准。目前,大多数目前,大多数C语言编译器没有完全实现语言编
13、译器没有完全实现C99的所有修改。的所有修改。C语言概述语言概述16为什么学习和使用为什么学习和使用C语言语言C语言的特点语言的特点C语言是一种强大而灵活的语言,可以用来语言是一种强大而灵活的语言,可以用来编写任意复杂编写任意复杂的程序的程序。C语言简洁、紧凑,使用方便、灵活。语言简洁、紧凑,使用方便、灵活。C语言语言程序效率高程序效率高、运行速度快。、运行速度快。C语言是语言是可移植的可移植的。C语言很语言很适合结构化程序设计适合结构化程序设计(面向过程程序设计面向过程程序设计),因而要,因而要求用户以功能模块的方式来思考问题。求用户以功能模块的方式来思考问题。C语言语言具有自我扩展能力具有
14、自我扩展能力。C语言概述语言概述17为什么学习和使用为什么学习和使用C语言语言C与与C+(C加加,加加,see-plus-plus)贝尔实验室于二十世纪八十年代在贝尔实验室于二十世纪八十年代在C语言的基础上开发的。语言的基础上开发的。C+是是C语言的超集,包含了语言的超集,包含了C语言的所有内容,同时增加语言的所有内容,同时增加了面向对象编程方面的内容。了面向对象编程方面的内容。C与与Java(爪哇)(爪哇)Sun公司于公司于1995年发布的面向对象编程语言。年发布的面向对象编程语言。Java也是基于也是基于C语言的。语言的。C与与C#(see-sharp)微软在微软在2000年年6月与月与.
15、NET平台一同推出。平台一同推出。C#也是从也是从C语言派生的一种面向对象语言。语言派生的一种面向对象语言。C语言概述语言概述18C语言程序的开发过程语言程序的开发过程一般分成五个步骤一般分成五个步骤定义程序目标定义程序目标设计程序设计程序编写代码编写代码编译编译运行、测试和调试程序运行、测试和调试程序C语言概述语言概述19C语言程序的开发过程语言程序的开发过程定义程序目标定义程序目标在开始解决问题之前,程序的开发人员必须彻底了解问题在开始解决问题之前,程序的开发人员必须彻底了解问题的是什么,对即将要创建的程序要做的事情有个清晰的想的是什么,对即将要创建的程序要做的事情有个清晰的想法。法。这需
16、要仔细考虑以下问题这需要仔细考虑以下问题程序需要什么信息程序需要什么信息程序需要执行哪些计算和操作程序需要执行哪些计算和操作程序应该报告什么信息程序应该报告什么信息例如,计算任意一个圆环的面积例如,计算任意一个圆环的面积提出问题,明确目标提出问题,明确目标圆环是什么?如何计算?计算精度?圆环是什么?如何计算?计算精度?C语言概述语言概述20C语言程序的开发过程语言程序的开发过程设计程序设计程序决定程序如何去解决问题。决定程序如何去解决问题。需要考虑需要考虑如何给程序提供必要的数据如何给程序提供必要的数据程序中如何表示数据程序中如何表示数据用什么方法来处理数据用什么方法来处理数据程序如何组织程序
17、如何组织程序怎样报告结果程序怎样报告结果完成这个程序需要多长时间完成这个程序需要多长时间应该用一般的概念考虑设计中的问题,而不是考虑具体的应该用一般的概念考虑设计中的问题,而不是考虑具体的代码。代码。 C语言概述语言概述21C语言程序的开发过程语言程序的开发过程编写代码编写代码编写代码来实现前面的设计,即用某一门语言来表示程序编写代码来实现前面的设计,即用某一门语言来表示程序设计。设计。需要开发人员熟练掌握该语言的知识。需要开发人员熟练掌握该语言的知识。可以在草稿纸上勾画自己的想法或书写代码,但最终必须可以在草稿纸上勾画自己的想法或书写代码,但最终必须将代码输入计算机。将代码输入计算机。输入代
18、码所采用的机制则取决于具体的编程环境。输入代码所采用的机制则取决于具体的编程环境。一般来说,需要使用文本编辑器(例如一般来说,需要使用文本编辑器(例如Windows的记事本程序)的记事本程序)来创建一种文件,称为来创建一种文件,称为源文件源文件源文件包含程序设计的源文件包含程序设计的C语言表示形式(称为语言表示形式(称为源程序源程序或或源代码源代码)C语言概述语言概述22C语言程序的开发过程语言程序的开发过程编译编译把把C语言源程序转换成机器语言表示的程序。语言源程序转换成机器语言表示的程序。这种程序可以直接被计算机理解和执行,所以称之为这种程序可以直接被计算机理解和执行,所以称之为可执行程序
19、可执行程序,放在放在可执行文件可执行文件中。中。编译的具体细节取决于使用的编程环境。编译的具体细节取决于使用的编程环境。C语言分两步完成这一工作:语言分两步完成这一工作:编译编译和和链接链接。编译器将源代码转换为编译器将源代码转换为目标代码目标代码,并存在,并存在目标文件目标文件中。中。链接器将目标代码与其他代码结合起来生成可执行文件。链接器将目标代码与其他代码结合起来生成可执行文件。这种把编译和链接分开来做的方法便于程序的模块化。这种把编译和链接分开来做的方法便于程序的模块化。 可以分别编译程序的各个模块,然后用链接器把编译过的模块结合起可以分别编译程序的各个模块,然后用链接器把编译过的模块
20、结合起来。来。 这样,如果需要改变一个模块,则不需要重新编译所有其他模块。这样,如果需要改变一个模块,则不需要重新编译所有其他模块。C语言概述语言概述23C语言程序的开发过程语言程序的开发过程运行、测试和调试程序运行、测试和调试程序运行包含可执行程序的文件,观察运行的结果。运行包含可执行程序的文件,观察运行的结果。在不同的系统中运行程序的方式可能不同。在不同的系统中运行程序的方式可能不同。例如,例如,Windows的控制台和资源管理器。的控制台和资源管理器。应该对程序进行仔细的检查,看程序是否在做该做的事。应该对程序进行仔细的检查,看程序是否在做该做的事。比较好的做法是为验证程序的正确性设计一
21、个测试计划。比较好的做法是为验证程序的正确性设计一个测试计划。越早做越好,因为它有助于理清程序员的思路。越早做越好,因为它有助于理清程序员的思路。程序中的错误被称为程序中的错误被称为bug,调试(,调试(Debug)就是要发现并)就是要发现并修正错误。修正错误。C语言概述语言概述24C语言的编程环境语言的编程环境开发程序的具体操作取决于使用的编程环境开发程序的具体操作取决于使用的编程环境因为因为C语言是可移植的,所以它在许多环境中都是可用的。语言是可移植的,所以它在许多环境中都是可用的。例如例如UNIX、Linux、Windows和和MS-DOS。C语言编程环境包括一系列程序。语言编程环境包括
22、一系列程序。编辑器编辑器编译器编译器链接器链接器运行和调试环境运行和调试环境C语言概述语言概述Hello.cHello.objHello.exe编辑器编辑器源代码源代码编译器编译器目标代码目标代码链接器链接器可执行代码可执行代码启动代码启动代码库代码库代码执行执行如果有错如果有错如果有错如果有错如果有错如果有错25C语言的编程环境语言的编程环境编辑器编辑器使用一个文本编辑器程序输入源代码,并将代码保存在源使用一个文本编辑器程序输入源代码,并将代码保存在源文件中。文件中。一般,一般,C程序的源文件名称的扩展名是程序的源文件名称的扩展名是.c例如例如welcometoyou.c和和Hello.c。
23、该名称应该遵循特定的操作系统的命名规则。该名称应该遵循特定的操作系统的命名规则。例如,例如,MS-DOS要求基本名包含的字符数不能大于要求基本名包含的字符数不能大于8,所以,所以welcometoyou.c不是合法的不是合法的DOS文件名。文件名。Windows允许长文件名,所以允许长文件名,所以welcometoyou.c是合法的是合法的Windows文件名。文件名。C语言概述语言概述Hello.c编辑器编辑器源代码源代码26C语言的编程环境语言的编程环境编译器编译器编译器接收源文件,生成目标文件,扩展名为编译器接收源文件,生成目标文件,扩展名为.obj或或.o。编译器还会检查输入的程序是否
24、是有效的编译器还会检查输入的程序是否是有效的C语言程序。语言程序。如果编译器发现错误,就会报告出错,且不能生成可执行程序。如果编译器发现错误,就会报告出错,且不能生成可执行程序。这时就必须修改错误,然后再编译。这时就必须修改错误,然后再编译。显然,为了能迅速找到错误,理解特定编译器的报错信息显然,为了能迅速找到错误,理解特定编译器的报错信息是一项有用的技能。是一项有用的技能。C语言概述语言概述Hello.cHello.obj编辑器编辑器源代码源代码编译器编译器目标代码目标代码如果有错如果有错27C语言的编程环境语言的编程环境链接器链接器目标代码虽然已经是机器代码,但还不能被执行。目标代码虽然已
25、经是机器代码,但还不能被执行。缺少下面两个东西缺少下面两个东西启动代码启动代码:相当于程序和操作系统之间的接口。:相当于程序和操作系统之间的接口。 库函数的代码库函数的代码:库文件中包含许多函数的目标代码。:库文件中包含许多函数的目标代码。 链接器的作用就是将这三个元素(目标代码、启动代码和链接器的作用就是将这三个元素(目标代码、启动代码和库代码)结合起来,并将它们放在一个文件中,即可执行库代码)结合起来,并将它们放在一个文件中,即可执行文件,扩展名为文件,扩展名为.exe或或.out。C语言概述语言概述Hello.objHello.exe目标代码目标代码链接器链接器可执行代码可执行代码启动代
26、码启动代码库代码库代码如果有错如果有错28Windows的的C语言编程环境语言编程环境Windows的的C语言编程环境语言编程环境Windows并不包含并不包含C编译器,所以需要获得并安装一个编译器,所以需要获得并安装一个C编译器。编译器。 许多现代的编译器都是许多现代的编译器都是集成开发环境集成开发环境(或叫(或叫IDE)的一部分。)的一部分。包括一个编辑器、编译器、链接器和包括一个符号调试程序在内的包括一个编辑器、编译器、链接器和包括一个符号调试程序在内的运行支持系统。运行支持系统。许多软件厂商都提供了基于许多软件厂商都提供了基于Windows的集成开发环境的集成开发环境Microsoft
27、公司的公司的Visual C/C+Borland公司的公司的C/C+ BuilderMetrowerks公司的公司的Code Warrior目前,大多数目前,大多数IDE把把C和和C+编译器结合在一起。编译器结合在一起。C语言概述语言概述29DOS的的C语言编程环境语言编程环境DOS的的C语言编程环境语言编程环境基于基于DOS的的IDE Borland公司的公司的Turbo CBorland公司的公司的Borland C+许多许多Windows上的上的IDE也提供了在也提供了在DOS命令行环境中编程命令行环境中编程的命令行工具。的命令行工具。C语言概述语言概述30C语言编程实验环境简介语言编程
28、实验环境简介上机实验环境简介上机实验环境简介举例演示举例演示Visual C+ 6.0的基本操作的基本操作启动启动创建源文件创建源文件构建工程(编译、链接)构建工程(编译、链接)运行程序运行程序C语言概述语言概述31C语言程序的基本结构语言程序的基本结构一个简单的一个简单的C语言程序语言程序问题:在屏幕上显示一行文字:问题:在屏幕上显示一行文字:“Hello World!”源程序源程序运行结果运行结果C语言快速入门语言快速入门/* 在屏幕上显示在屏幕上显示Hello World! */#include void main() /* 定义主函数定义主函数 */ printf(Hello Worl
29、d!n); Hello World!32C语言程序的基本结构语言程序的基本结构一个简单的一个简单的C语言程序语言程序程序结构分析程序结构分析C语言快速入门语言快速入门/* 在屏幕上显示在屏幕上显示Hello World! */#include void main() /* 定义主函数定义主函数 */ printf(Hello World!n); 注释部分注释部分以增加程序的可读性。以增加程序的可读性。不被执行。不被执行。33C语言程序的基本结构语言程序的基本结构一个简单的一个简单的C语言程序语言程序程序结构分析程序结构分析C语言快速入门语言快速入门/* 在屏幕上显示在屏幕上显示Hello Wo
30、rld! */#include void main() /* 定义主函数定义主函数 */ printf(Hello World!n); 预处理命令预处理命令 程序中包含某一文件内容。程序中包含某一文件内容。 “stdio.h”为标准输入输出函数为标准输入输出函数头文件名。头文件名。34C语言程序的基本结构语言程序的基本结构一个简单的一个简单的C语言程序语言程序程序结构分析程序结构分析C语言快速入门语言快速入门/* 在屏幕上显示在屏幕上显示Hello World! */#include void main() /* 定义主函数定义主函数 */ printf(Hello World!n); 函数函
31、数 C程序由函数组成。程序由函数组成。一个一个C程序有且仅有一个主函数程序有且仅有一个主函数(main函数)。函数)。35C语言程序的基本结构语言程序的基本结构一个简单的一个简单的C语言程序语言程序程序结构分析程序结构分析C语言快速入门语言快速入门/* 在屏幕上显示在屏幕上显示Hello World! */#include void main() /* 定义主函数定义主函数 */ printf(Hello World!n); 函数说明函数说明 说明函数类型、函数名和函数参数。说明函数类型、函数名和函数参数。36C语言程序的基本结构语言程序的基本结构一个简单的一个简单的C语言程序语言程序程序结构
32、分析程序结构分析C语言快速入门语言快速入门/* 在屏幕上显示在屏幕上显示Hello World! */#include void main() /* 定义主函数定义主函数 */ printf(Hello World!n); 函数体函数体 包括变量说明和语句执行部分。包括变量说明和语句执行部分。37C语言程序的基本结构语言程序的基本结构一个简单的一个简单的C语言程序语言程序程序结构分析程序结构分析C语言快速入门语言快速入门/* 在屏幕上显示在屏幕上显示Hello World! */#include void main() /* 定义主函数定义主函数 */ printf(Hello World!n
33、); 函数调用语句函数调用语句 格式输出函数格式输出函数printf( )。 输出输出“Hello world!”。Hello World!38C语言程序的基本结构语言程序的基本结构含有算术运算的含有算术运算的C语言程序语言程序问题:问题:求方程求方程 的根(设的根(设 )。)。源程序源程序C语言快速入门语言快速入门02cbxax042 acbaacbabx24221aacbabx24222#include #include void main() float a,b,c,p,disc,q,x1,x2; scanf(%f%f%f,&a,&b,&c); p=-b/(2*a
34、); disc=b*b-4*a*c; q=sqrt(disc)/(2*a); x1=p+q; x2=p-q; printf(x1=%f,x2=%f,x1,x2);39C语言程序的基本结构语言程序的基本结构含有算术运算的含有算术运算的C语言程序语言程序程序结构分析程序结构分析C语言快速入门语言快速入门#include #include void main() float a,b,c,p,disc,q,x1,x2; scanf(%f%f%f,&a,&b,&c); p=-b/(2*a); disc=b*b-4*a*c; q=sqrt(disc)/(2*a); x1=p+q;
35、x2=p-q; printf(x1=%f,x2=%f,x1,x2); 预处理命令预处理命令40C语言程序的基本结构语言程序的基本结构含有算术运算的含有算术运算的C语言程序语言程序程序结构分析程序结构分析C语言快速入门语言快速入门#include #include void main() float a,b,c,p,disc,q,x1,x2; scanf(%f%f%f,&a,&b,&c); p=-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); 函
36、数函数 一个主函数(一个主函数(main函数)。函数)。41C语言程序的基本结构语言程序的基本结构含有算术运算的含有算术运算的C语言程序语言程序程序结构分析程序结构分析C语言快速入门语言快速入门#include #include void main() float a,b,c,p,disc,q,x1,x2; scanf(%f%f%f,&a,&b,&c); p=-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); 函数说明部分函数说明部分42C语言程
37、序的基本结构语言程序的基本结构含有算术运算的含有算术运算的C语言程序语言程序程序结构分析程序结构分析C语言快速入门语言快速入门#include #include void main() float a,b,c,p,disc,q,x1,x2; scanf(%f%f%f,&a,&b,&c); p=-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); 函数体函数体 变量说明部分变量说明部分 执行部分执行部分43C语言程序的基本结构语言程序的基本结构含有算
38、术运算的含有算术运算的C语言程序语言程序程序结构分析程序结构分析C语言快速入门语言快速入门#include #include void main() float a,b,c,p,disc,q,x1,x2; scanf(%f%f%f,&a,&b,&c); p=-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); 运行程序运行程序 键盘输入键盘输入a、b、c的值;的值; 屏幕显示屏幕显示x1和和x2的值。的值。1 0 -4x1=2.000000,x2=
39、-2.00000044C语言程序的基本结构语言程序的基本结构包含多个函数的包含多个函数的C语言程序语言程序问题:问题:求求|a|+|b|的值。的值。源程序源程序C语言快速入门语言快速入门#includefloat absv(float x) float y; y=x=0?x:-x; return y;void main() float a,b,c; printf(input a,b:n); scanf(%f%f,&a,&b); c=absv(a)+absv(b); printf(|a|+|b|=%fn,c);45C语言程序的基本结构语言程序的基本结构包含多个函数的包含多个函数的
40、C语言程序语言程序程序结构分析程序结构分析C语言快速入门语言快速入门#includefloat absv(float x) float y; y=x=0?x:-x; return y;void main() float a,b,c; printf(input a,b:n); scanf(%f%f,&a,&b); c=absv(a)+absv(b); printf(|a|+|b|=%fn,c); 程序由两个函数组成:程序由两个函数组成: absv函数函数 main函数函数46C语言程序的基本结构语言程序的基本结构包含多个函数的包含多个函数的C语言程序语言程序程序结构分析程序结构分
41、析C语言快速入门语言快速入门#includefloat absv(float x) float y; y=x=0?x:-x; return y;void main() float a,b,c; printf(input a,b:n); scanf(%f%f,&a,&b); c=absv(a)+absv(b); printf(|a|+|b|=%fn,c); 调用调用absv函数求绝对值。函数求绝对值。47C语言程序的基本结构语言程序的基本结构包含多个函数的包含多个函数的C语言程序语言程序程序结构分析程序结构分析C语言快速入门语言快速入门#includefloat absv(flo
42、at x) float y; y=x=0?x:-x; return y;void main() float a,b,c; printf(input a,b:n); scanf(%f%f,&a,&b); c=absv(a)+absv(b); printf(|a|+|b|=%fn,c); 运行程序运行程序 屏幕显示提示信息;屏幕显示提示信息; 键盘输入键盘输入a、b的值;的值; 屏幕显示屏幕显示a、b绝对值之和。绝对值之和。input a,b:-5 13|a|+|b|=18.00000048C语言程序的基本结构语言程序的基本结构C语言程序的基本结构小结语言程序的基本结构小结C语言快
43、速入门语言快速入门一个一个C C程序由一个或多个函数组成,但有且仅有一个主函数(程序由一个或多个函数组成,但有且仅有一个主函数(mainmain函数);函数);mainmain函数是程序执行的入口,可置于程序的任何位置。函数是程序执行的入口,可置于程序的任何位置。程序中可以有预处理命令程序中可以有预处理命令( (如:如:include include 命令命令) )。预处理命令通常放。预处理命令通常放在程序的最前面。在程序的最前面。每个语句以分号结尾;预处理命令、函数头和花括号每个语句以分号结尾;预处理命令、函数头和花括号“ ”之后不能之后不能加分号。加分号。 函数包括函数的说明部分和函数体;
44、函数体包括变量说明部分和函数包括函数的说明部分和函数体;函数体包括变量说明部分和执行部分;函数体由一对花括号执行部分;函数体由一对花括号“ ”括起来。括起来。 括在括在/ /* * */ /内的文本为注释。内的文本为注释。一行可以写几个语句,一个语句也可以写在多行上。一行可以写几个语句,一个语句也可以写在多行上。程序区分大小写字母。一般变量、语句等用小写字母书写;符号常程序区分大小写字母。一般变量、语句等用小写字母书写;符号常量、宏名等用大写字母书写。量、宏名等用大写字母书写。标识符和保留字之间须加空格以示分隔。标识符和保留字之间须加空格以示分隔。49C语言的字符集语言的字符集C语言源程序中使用的字符来自语言源程序中使用的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 家装顾问招聘规划
- 职业生涯规划大纲
- 煤炭运输框架协议2026年
- Q-ZF 001-2023 化工设备安装工程施工质量验收标准
- 高考文化常识试题及答案
- 中学教师资格证教育知识与能力题库及解析
- 渔业技术淡水养鱼试卷及详解
- 财务分析师试题及答案
- 高等代数试题及详解
- 测绘员GPS测量题目及详解
- 2025年小学信息技术特岗老师招聘考试试题及答案
- 燃气锅炉节能改造技术路径与效果评估
- 公路应急处置知识培训课件
- 2025年四川省成都市中考道法真题卷含答案解析
- 2025年安全管理人员《陆上石油天然气开采》安全生产模拟考试题及答案
- 广铁校招机考题库及答案
- 2025年离婚抖音作品离婚协议书
- 陕西省2019-2024年中考满分作文109篇
- 毕业设计(论文)-年产一万吨的苏氨酸工厂设计
- 《逻辑推理与批判性思维》课件
- 企业主要负责人如何履行隐患排查治理职责:宣讲课件
评论
0/150
提交评论