C语言程序设计(第三版) 教学课件 ppt 作者 罗坚 王声决 主编 第1章 C程序设计入门

上传人:E**** 文档编号:89382815 上传时间:2019-05-24 格式:PPT 页数:44 大小:3MB
返回 下载 相关 举报
C语言程序设计(第三版) 教学课件 ppt 作者 罗坚 王声决 主编 第1章 C程序设计入门_第1页
第1页 / 共44页
C语言程序设计(第三版) 教学课件 ppt 作者 罗坚 王声决 主编 第1章 C程序设计入门_第2页
第2页 / 共44页
C语言程序设计(第三版) 教学课件 ppt 作者 罗坚 王声决 主编 第1章 C程序设计入门_第3页
第3页 / 共44页
C语言程序设计(第三版) 教学课件 ppt 作者 罗坚 王声决 主编 第1章 C程序设计入门_第4页
第4页 / 共44页
C语言程序设计(第三版) 教学课件 ppt 作者 罗坚 王声决 主编 第1章 C程序设计入门_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《C语言程序设计(第三版) 教学课件 ppt 作者 罗坚 王声决 主编 第1章 C程序设计入门》由会员分享,可在线阅读,更多相关《C语言程序设计(第三版) 教学课件 ppt 作者 罗坚 王声决 主编 第1章 C程序设计入门(44页珍藏版)》请在金锄头文库上搜索。

1、C语言程序设计(第3版),中国铁道出版社 China Railway Publishing House,普通高等教育“十一五”国家级规划教材,主 教 材:C语言程序设计(第三版) 书 号:ISBN 978-7-113-09512-3 中国铁道出版社 2009年2月 第3版 配套教材:C语言程序设计实验教程 书 号:ISBN 978-7-113-09513-0 中国铁道出版社 2009年2月 第1版 作者电子邮箱: L ,第1章 C程序设计入门,1.1 简单的C程序,1.3 C语言程序的上机调试步骤,1.2 C语言常用符号,1.4 Visual C+开发工具,1.5 C语言概况,结束放映,1.1

2、 几个简单的 C 程序,【例1.1】要求在命令提示符窗口中显示“hello, world!”这一行文字。 /* 第一个 C 语言程序举例 */ /* 包含有关标准库的信息 */ #include /* 定义名为main 的函数,它不接收实参值*/ main() /* main 的语句括在花括号中 */ printf(“hello ,world!n“); /* 调用库函数printf() ,在命令提示符窗口中显示 hello ,world!*/ ,【例1.1】分析: 程序代码中介于/*与*/之间的字符序列称为注释,它可以是一行文字或者连续的多行文字。使用注释能增强程序的可阅读性,注释可以在程序中

3、自由地使用,但在程序编译时被自动忽略。 C语言是函数式的语言,函数是组成C程序的基本单位,每个C程序不论大与小,都是由一个(或者多个)函数组成的。 函数是一个单独的程序模块,完成指定的功能。一个 C 程序不论由多少个文件组成,有且只有一个main()函数,通常称为主函数,而且任何一个C程序的执行都是从main()函数开始的。 主函数main( )的一般格式: 函数返回值的类型 main( 形式参数表 ) /* 函数首部 */ 语句; /* 函数体 */ ,【例1.1】继续分析: 用双引号括住的字符序列称为字符串,printf()函数是一个格式化输出库函数,本例通过它在命令提示符窗口中照原样显示

4、双引号内的字符序列hello,world!。 具有这种特征的字符称为转义字符,除n之外,还有表示制表符的t、表示退格符的b、表示双引号的、表示反斜杠符本身的,在第2章中有介绍。 文件包含命令:#include 这里的“#include”称为文件包含命令,其意义是把尖括号()内指定的文件包含到本程序中,成为本程序的一部分。被包含的文件通常是由系统提供的,其扩展名为“.h”,常称为头文件或首部文件。 如果使用了系统提供的库函数,一般应在文件的开始用 #include 命令,将被调用的库函数信息包含到本文件中。本例中使用#include 是因为调用了标准输入/输出库中的printf()函数。,【例1

5、.2】数值计算:编写程序,计算t的值。 #include main() int sum; /*说明整型变量sum*/ sum=1+1/2+1/3+1/4+1/5; /*计算累加和*/ printf(“The sum is %dn“,sum); /*按整型数格式显示计算结果*/ ,【例1.2】程序分析: (1)变量说明: 本例的主函数由两部分组成:一是说明部分,二是执行部分。在主函数的说明部分中,定义了本例所使用的变量名,通常它是放在函数开始处、且位于可执行语句之前。 C语言规定,程序中所有用到的变量都必须“先定义,后使用”。说明语句由一个类型名与若干所要说明的变量名组成: int sum; 其

6、中int是类型名,sum是变量名。int类型表示所列变量为整型变量,整数不能包含小数;float型表示所列变量为浮点变量或称实型变量,浮点数可以包含小数。 除int与float之外,C语言还提供了其他的基本数据类型,包括char(字符型)、short(短整型)、long(长整型)和double(双精度浮点型)等。 另外,由上述这些基本数据类型还可以构成数组类型、结构类型、联合类型和指针类型,这些将在以后的章节中介绍。,【例1.2】程序继续分析: (2)赋值表达式: 与Basic、Pascal、Fortran等计算机高级程序设计语言类似,C语言程序中也使用赋值表达式。 在C语言中,赋值表达式格式

7、如下: 变量名 = 表达式 其中,“=”称为赋值号,与数学中的等号不一样,它是将其右边的表达式的值赋给左边的变量。 (3)算术表达式: 编程时需把传统的数学式子转换为C语言中等价的表达式。C语言中的算术运算符包括加法+、减法-、乘法*、除法/和求模运算符%。 求模运算%只适用于两个整数之间的运算。表达式x%y表示x除以y所得的余数。这里的x和y均为整数,结果符号与被除数x的相同。,【例1.2】程序继续分析: 在C语言中,整数中的除法与实数中的除法虽然运算符相同,都是/,但除法的结果不同:整数中除法的结果仍为整数,只保留商的整数部分而抛弃小数部分(即截尾取整);而实数除法与数学中所讲的除法是一致

8、的,可能会出现小数部分。 例如: 5%3 = 2, (-5)%3=-2, 5%(-3)=2, 3%5 = 3 5/2 = 2 , 5.0/2.0 = 5/2.0 = 5.0/2 = 2.5 (4)格式输出: printf()函数是一个通用格式化输出函数,详细内容将在第2章中详细介绍。 printf(“The sum is %dn“,sum); 在上述语句中,字符串”The sum is”照原样输出;“%d” 与最右边的变量名sum相呼应,表示把sum的值计算出来之后,按照十进制int类型(整数)的格式输出。,【例1.2】程序继续分析: (5)程序运行结果: 本例程序运行之后,在命令提示符窗口(

9、或者称MS-DOS窗口)中显示: The sum is 1 结果显然是不精确的,为什么呢? 对源程序代码进行分析,发现在对1/2、1/3、1/4和1/5这些表达式进行求值时,C语言程序中的计算结果全部都为0。 在这里,由于1/2、1/3、1/4和1/5中的被除数与除数都是整数,因此在C程序中实际上进行的是整数范围内的除法,而不是我们想象中的实数除法。前面已经介绍过,整数除法的结果是截尾取整,因此上述几个表达式的结果就是0。 为了得到更加精确的计算结果,必须用浮点数代替上面的整型数。,【例1.3】对例1.2进行修改后的程序。 #include main() float sum; /*定义单精度浮

10、点型变量*/ sum=1.0f+1.0f/2.0f+1.0f/3.0f+1.0f/4.0f+1.0f/5.0f; /* 求累加和sum */ printf(“The sum is %fn“,sum); /*按浮点型数格式显示计算结果*/ 程序运行结果如下: The sum is 2.283333,【例1.3】程序分析: (1)程序中1.0f/2.0f是两个单精度浮点数的除法,与数学中的实数除数是一致的。在C程序中,浮点数最好写成带小数点的形式,即使该浮点数取的是整数值,因为这样可以使程序更加清晰; (2)printf()语句中的“%f”对应于单精度的浮点变量sum,它表示按单精度浮点数格式显示

11、计算结果。 在printf()函数中可以指定显示宽度的格式举例如下: “%8d” 显示十进制整数,至少8个字符宽; “%8f” 显示浮点数,至少8个字符宽; “%.2f” 显示浮点数,小数点后有两位小数; “%8.2f” 显示浮点数,小数点后有2位小数(注:从小数点后 第3位向小数点后第2位进行四舍五入取整)。最后 显示的实数,至少有8个字符宽。 此外,printf()函数还可以识别如下格式说明:表示八进制数的“%o”、表示十六进制数的“%x”、表示字符的“%c”等,在第2章中有介绍。,【例1.4】解决例1.3问题的另一种程序。 #include main() int i; float sum

12、; sum=1.0; for(i=2;i6;i+) /* 采用循环结构来实现 */ sum=sum+1.0f/i; printf(“The sum is %fn“,sum); 程序运行结果如下: The sum is 2.283333,【例1.4】程序分析: (1)for循环语句: 本例采用了循环结构来编程,代码中的for语句是一种循环语句,for后面的圆括号共包含了三个部分,彼此之间用分号隔开: 第一部分i=2是初始化部分,此处的i称为循环变量 第二部分i)、小于等于(=)、等于(=)和不等于(!=)等关系运算符。,【例1.4】程序继续分析: 数学里的a=3在C语言中应改写为a=3,而数学里

13、的b10在C语言中应改写为b!=10,C语言中的a=3是赋值表达式。 前面第(1)点中介绍的for循环语句,以及第(2)点中介绍的关系表达式,这些内容在第3章中有详细的介绍。 (3)如果某个算术运算符的运算分量都是整数类型,那么将执行整数运算。 如果某个算术运算符的运算分量有一个是浮点运算分量,另一个是整数类型分量,那么这个整数类型分量在开始运算之前会被转换成浮点类型,表达式1.0f/i不会影响结果的精度。,【例1.5】扩充例1.3功能的又一个C程序。从键盘上输入数列的项数m,此处要求m5,要求编程计算下列数列的和。 #include float func(int x); /*函数声明*/ m

14、ain() int m; /*说明部分,定义变量m和c*/ float c; printf(“n Please enter an integer number m (m5):“); scanf(“%d“, ,/*定义函数func(),函数值为浮点型,参数x为整型*/ float func(int x) int i; /*func()函数中的说明部分 */ float sum=1.0; for(i=2; i5):10 屏幕提示输入m的值,这里输入10 The sum=2.928968 显示最后的运行结果 ,【例1.5】程序分析: (1)按功能来划分函数。本例程序的执行过程是:首先在屏幕上显示提示

15、字符串,请用户输入一个整数。输入数据之后按回车键,程序计算出累加和并在屏幕上显示。 本程序需要处理三件事情: 从键盘接收输入的m、若m5则计算累加和、输出计算结果 在程序中除了主函数main()之外,还包含了用于计算累加和的函数func(x)、键盘输入函数scanf()、结果输出函数printf()。其中,scanf()和printf()都是系统库函数,由C编译系统库提供,用户可以直接使用,但是累加和计算函数func(x)则是一个由用户自己编写的自定义函数,需要自己编写。 (2)键盘输入函数scanf():本程序中的scanf语句的作用是从键盘上输入一个整型数给整型变量m。%d 的含义与前面介

16、绍的printf语句中的用法一致,表示按十进制整型数输入,&m的含义是将输入的数赋给变量m,注意不要漏写“&”。,【例1.5】程序继续分析: (3)if选择语句 在求解过程中,往往需要根据输入的数据作出逻辑判断,对不同的结果作出不同的处理。本题如果输入的m值大于5,则作累加和计算,否则不会计算。 简单的if语句的格式如下: if(表达式) 语句或语句组 if语句的执行过程是: 如果if处的表达式的值不为0,则表示结果为真,将执行花括号内的语句;如果表达式的值为0,则花括号内的语句将不执行。 有关选择结构程序设计的内容将在第3章中介绍。,【例1.5】程序继续分析: (4)自定义函数func()。 用户自定义函数的一般定义形式为: /* 函数首部 */ 函数返回值类型 函数名(形参

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

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号