武汉理工大学c语言课件_第1页
武汉理工大学c语言课件_第2页
武汉理工大学c语言课件_第3页
武汉理工大学c语言课件_第4页
武汉理工大学c语言课件_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2022/12/161武汉理工大学计算机学院授课教师:程艳芬

Email:chengyanfen@C语言程序设计2022/12/121武汉理工大学计算机学院授课教师:程艳芬2022/12/162选用教材主教科书

顾治华、陈天煌等

《C语言程序设计》

机械工业出版社

2007.2

参考教材

顾治华、陈天煌等《C语言程序设计学习辅导与等级考试精解》

四川大学出版社2004.122022/12/122选用教材主教科书顾治华、陈天煌等2022/12/163课程内容第一章C语言程序设计基础

第二章程序的基石—算法

第三章顺序结构程序设计第四章选择结构程序设计

第五章循环结构程序设计

第六章数组与指针第七章函数与模块化程序设计方法第八章结构体和共用体

第九章预处理命令与带参数的主函数

第十章文件

2022/12/123课程内容第一章C语言程序设计基础2022/12/164第一章C语言程序设计基础1.1程序与程序设计1.2C语言简介1.3简单的C语言程序1.4C语言程序的上机步骤1.5C语言的基本词法1.6C语言程序的基本结构2022/12/124第一章C语言程序设计基础1.12022/12/165程序与计算机语言程序是存放在计算机中的操作指令的集合。用程序设计语言安排好的处理问题的步骤称为计算机程序用程序设计语言编制一个能完成某项任务的计算机程序的过程叫做计算机程序设计。程序设计=数据结构+算法+程序设计方法+编程语言程序设计的关键:必须掌握一种程序设计语言。掌握程序设计的逻辑思维。2022/12/125程序与计算机语言程序是存放在计算机中的2022/12/166

程序设计过程(1)问题的提出,要达到的要求;(2)确定数据结构和所采用的算法;(3)编制程序;(4)调试程序;(5)整理并写出文档;2022/12/126程序设计过程C语言的发展历史ALGOL60607080汇编语言机器语言高级语言剑桥CPL剑桥BCPL贝尔B贝尔CUNIXC可移植C编译器ANSICC语言的发展历史ALGOL60607080汇编语言机器语言高2022/12/168C语言的特点(1)语言简洁、紧凑,使用方便、灵活。C语言一共只有32个关键字,主要用小写字母表示。(2)

比其他高级语言更接近硬件,比低级语言更接近算法。程序易编、易读、易差错、易修改,兼有高级语言和低级语言的优点。(3)

数据类型和运算符十分丰富,程序设计和算法描述更为简单和方便。(4)语法结构十分简单,语句数目少,简单易学。2022/12/128C语言的特点(1)语言简洁、紧凑,使用2022/12/169

(6)它是一种模块化的程序设计语言,适合大型软件的研制和调试。

(5)它是一种结构化程序设计语言,提供了完整的程序控制语句(选择语句和循环语句),很适合结构化的程序设计方法。(7)生成目标代码质量高,程序执行效率高。(8)用c语言写的程序可移植性好。(9)它提供了大量的库函数以供调用,简化了程序设计工作。2022/12/129

(6)它是一种模块化的程序设计2022/12/1610C语言程序的结构

C语言是结构化的程序设计语言。C语言是模块化的程序设计语言,程序是由函数构成的。一个C源程序至少包含一个main函数,也可以包含一个main函数和若干个其他函数。因此,函数是C程序的基本单位。一个函数由两部分组成:

①函数的首部,函数的第一行。包括函数名、函数类型、函数属性、函数参数(形参)名、参数类型。

②函数体,即函数首部下面的大括弧{…..}内的部分。如果一个函数内有多个括弧,则最外层的一对{}为函数的范围。函数体一般包括:声明部分:在这部分中定义所用到的变量。执行部分:由若干个语句组成。2022/12/1210C语言程序的结构C语言2022/12/1611(4)一个C程序总是从main函数开始的,而不论main函数在整个程序中的位置如何(main函数可以放在程序最前头,也可以放在程序最后,或在一些函数之前,在另一些函数之后)。(5)C程序书写格式自由,一行内可以写几个语句,一个语句可以分写在多行上。(6)每个语句和数据定义的最后必须有一个分号。分号是C语句的必要组成部分。分号不可少。(7)C语言本身没有输入输出语句。输入输出的操作是由库函数scanf和printf等函数来完成的。(8)可以用/*……*/对C程序中的任何部分作注释。2022/12/1211(4)一个C程序总是从ma2022/12/1612简单的C语言程序示例例一

main(){printf(“ThisisaCprogram.\n”);}

本程序的作用是输出以下一行信息:

ThisisaCprogram.2022/12/1212简单的C语言程序示例例一本程序的作2022/12/1613例二main(){inta,b,sum;/*这是定义变量*/a=123;b=456;/*以下3行为C语句*/sum=a+b;printf(“sumis%d\n”,sum);}程序的运行结果:Sumis5792022/12/1213例二程序的运行结果:2022/12/1614C程序的上机步骤

开始编辑编译

有错?执行连接结果正确结束可执行目标程序f.exe源程序f.c目标程序f.o库函数和其他目标程序YesNoYesNo2022/12/1214C程序的上机步骤开始编辑编译有2022/12/1615C语言的基本词法-标识符定义:在程序中使用的变量名、函数名、标号等统称为标识符。除库函数的函数名由系统定义外,其余的都由用户自己定义。命名规则:标识符只能是字母(A~Z,a~z)、数字(0~9)、下划线(_)组成的字符串,并且其第一个字符必须是字母或下划线。例如:以下标识符是合法的:

a,x,x3,BOOK_1,sum5,_x7。以下标识符是非法的:

3s(以数字开头)、s*T(出现非法字符*)、-3x(以减号开头)、bowy-1(出现非法字符-)。2022/12/1215C语言的基本词法-标识符定义:在程序2022/12/1616(1)标准C不限制标识符的长度,但它受各种版本的C语言编译系统限制,同时也受到具体机器的限制。TurboC规定标识符的长度为32。一般情况下,标识符的长度不要超过8个字符。(2)在标识符中,大小写是有区别的。例如SUM和sum是两个不同的标识符。变量名应尽量使用小写字母,以增加程序的可读性。(3)标识符虽然可由程序员随意定义,但标识符是用于标识某个量的符号。因此,命名应尽量有相应的意义,以便于阅读理解,做到“顾名思义”。在C语言中,所有的变量都是先定义后应用,使用没有定义的变量名被认为是“非法”的。

在使用标识符时还必须注意以下几点:2022/12/1216(1)标准C不限制标识符的长度,但它2022/12/1617C语言的基本词法-关键字定义:关键字是由C语言规定的具有特定意义的字符串,通常也称为保留字。用户定义的标识符不应该与关键字相同。分类:C语言的关键字分为以下几类:(1)类型说明符用于定义、说明变量、函数或其它数据结构的类型。如int,double,float,long,short,auto,2022/12/1217C语言的基本词法-关键字定义:关键字2022/12/1618(2)语句定义符用于表示一个语句的功能。如条件语句的语句定义符ifelse,循环语句的语句定义符do,while,for等。(3)预处理命令字用于表示一个预处理命令,使用时前面要加“#”。如include,define,ifdef,endif等。关键字后必须有空格,圆括号,尖括号,双引号等分隔符,否则与其它字符一起组成新的标识符。2022/12/1218(2)语句定义符(3)预处理命令字2022/12/1619C语言的基本词法-其它运算符

C语言中含有相当丰富的运算符。运算符与变量,函数一起组成表达式,表示各种运算功能。运算符由一个或多个字符组成。分隔符

在C语言中采用的分隔符有逗号和空格两种。逗号主要是用在类型说明和函数参数表中分隔各个变量。空格多用于语句各单词之间作间隔符。常量

C语言中使用的常量可分为数字常量、字符常量、字符串常量、符号常量、转义字符等多种。2022/12/1219C语言的基本词法-其它运算符分隔符常2022/12/1620C语言的字符集

(1)字母小写字母a~z共26个,大写字母A~Z共26个。(2)数字0~9共10个。(3)空格符、制表符、换行符等统称为空白符。(4)标点和特殊字符2022/12/1220C语言的字符集

2022/12/1621C语言程序设计的基本结构

(1)顺序结构

ABab2022/12/1221C语言程序设计的基本结构(1)顺序2022/12/1622(2)选择结构,或称选取结构

此结构中必包含一个判断框。根据给定的条件P是否成立而选择执行A框或B框abBAp不成立成立2022/12/1222(2)选择结构,或称选取结构此结构2022/12/1623l

(3)

循环结构,它又称为重复结构,即反复执行某一部分的操作。又两类循环结构:

(a)

当型(while型)循环结构它的功能是判断当前给定的条件p1成立时,执行A框操作,执行完A后,再判断条件p1是否成立,如果仍然成立,再执行A框,如此反复执行A框,直到某一次p1条件不成立为止,此时不执行A框,而从b点脱离循环结构。ap1TFAb2022/12/1223l

(3)

循环结构,它又称2022/12/1624(b)直到型(Until型)循环结构

它的功能是先执行A框,然后判断给定的p2条件是否成立,如果p2条件不成立,则再执行A,然后再对p2条件作判断,如果p2条件仍然不成立,又执行A‥‥‥如此反复执行A,直到给定的p2条件成立为止,此时不再执行A,从b点脱离本循环结构。aAFTbp22022/12/1224(b)直到型(Until型)循环结构2022/12/1625本章课堂练习(1)以下说法中正确的是().A)C语言程序总是从第一个函数开始执行

B)在C语言程序中,要调用的函数必须在main()函数中定义

C)C语言程序总是从main()函数开始执行

D)C语言程序中的main()函数必须放在程序的开始部分2022/12/1225本章课堂练习(1)以下说法2022/12/1626解答:C解释:C语言程序总是从main()函数开始执行,而不论其在程序中的位置。当主函数执行完毕时,亦即程序执行完毕。除main函数外,其它函数都是在执行main函数时被调用执行的。在C语言中,函数不允许嵌套定义。习惯上,将主函数main()放在最前头,但并不是必须的。2022/12/1226解答:C2022/12/1627(2).以下叙述不正确的是A)一个C源程序可由一个或多个函数组成B)一个C源程序必须包含一个main函数C)C程序的基本组成单位是函数

D)在C程序中,注释说明只能位于一条语句的后面2022/12/1227(2).以下叙述不正确的是2022/12/1628解答:D解释:

凡是用“/*”和“*/”括起来的文字,都是注释。其出现的位置可以任意。2022/12/1228解答:D2022/12/1629(3).下列标识符中,合法的变量名有:A)a.bB)$888C)A1D)

3x562022/12/1229(3).下列标识符中,合法的变量名有2022/12/1630解答:C解释:变量名只能由字母、数字和下划线三种字符所组成,且第一个字符必须为字母或下划线。C语言的关键字不能用作变量名。另外,C语言对英文字母的大小写敏感,即同一字母的大小写,被认为是两个不同的字符。习惯上,变量名和函数名中的英文字母用小写,以增加可读性。2022/12/1230解答:C2022/12/1631武汉理工大学计算机学院授课教师:程艳芬

Email:chengyanfen@C语言程序设计2022/12/121武汉理工大学计算机学院授课教师:程艳芬2022/12/1632选用教材主教科书

顾治华、陈天煌等

《C语言程序设计》

机械工业出版社

2007.2

参考教材

顾治华、陈天煌等《C语言程序设计学习辅导与等级考试精解》

四川大学出版社2004.122022/12/122选用教材主教科书顾治华、陈天煌等2022/12/1633课程内容第一章C语言程序设计基础

第二章程序的基石—算法

第三章顺序结构程序设计第四章选择结构程序设计

第五章循环结构程序设计

第六章数组与指针第七章函数与模块化程序设计方法第八章结构体和共用体

第九章预处理命令与带参数的主函数

第十章文件

2022/12/123课程内容第一章C语言程序设计基础2022/12/1634第一章C语言程序设计基础1.1程序与程序设计1.2C语言简介1.3简单的C语言程序1.4C语言程序的上机步骤1.5C语言的基本词法1.6C语言程序的基本结构2022/12/124第一章C语言程序设计基础1.12022/12/1635程序与计算机语言程序是存放在计算机中的操作指令的集合。用程序设计语言安排好的处理问题的步骤称为计算机程序用程序设计语言编制一个能完成某项任务的计算机程序的过程叫做计算机程序设计。程序设计=数据结构+算法+程序设计方法+编程语言程序设计的关键:必须掌握一种程序设计语言。掌握程序设计的逻辑思维。2022/12/125程序与计算机语言程序是存放在计算机中的2022/12/1636

程序设计过程(1)问题的提出,要达到的要求;(2)确定数据结构和所采用的算法;(3)编制程序;(4)调试程序;(5)整理并写出文档;2022/12/126程序设计过程C语言的发展历史ALGOL60607080汇编语言机器语言高级语言剑桥CPL剑桥BCPL贝尔B贝尔CUNIXC可移植C编译器ANSICC语言的发展历史ALGOL60607080汇编语言机器语言高2022/12/1638C语言的特点(1)语言简洁、紧凑,使用方便、灵活。C语言一共只有32个关键字,主要用小写字母表示。(2)

比其他高级语言更接近硬件,比低级语言更接近算法。程序易编、易读、易差错、易修改,兼有高级语言和低级语言的优点。(3)

数据类型和运算符十分丰富,程序设计和算法描述更为简单和方便。(4)语法结构十分简单,语句数目少,简单易学。2022/12/128C语言的特点(1)语言简洁、紧凑,使用2022/12/1639

(6)它是一种模块化的程序设计语言,适合大型软件的研制和调试。

(5)它是一种结构化程序设计语言,提供了完整的程序控制语句(选择语句和循环语句),很适合结构化的程序设计方法。(7)生成目标代码质量高,程序执行效率高。(8)用c语言写的程序可移植性好。(9)它提供了大量的库函数以供调用,简化了程序设计工作。2022/12/129

(6)它是一种模块化的程序设计2022/12/1640C语言程序的结构

C语言是结构化的程序设计语言。C语言是模块化的程序设计语言,程序是由函数构成的。一个C源程序至少包含一个main函数,也可以包含一个main函数和若干个其他函数。因此,函数是C程序的基本单位。一个函数由两部分组成:

①函数的首部,函数的第一行。包括函数名、函数类型、函数属性、函数参数(形参)名、参数类型。

②函数体,即函数首部下面的大括弧{…..}内的部分。如果一个函数内有多个括弧,则最外层的一对{}为函数的范围。函数体一般包括:声明部分:在这部分中定义所用到的变量。执行部分:由若干个语句组成。2022/12/1210C语言程序的结构C语言2022/12/1641(4)一个C程序总是从main函数开始的,而不论main函数在整个程序中的位置如何(main函数可以放在程序最前头,也可以放在程序最后,或在一些函数之前,在另一些函数之后)。(5)C程序书写格式自由,一行内可以写几个语句,一个语句可以分写在多行上。(6)每个语句和数据定义的最后必须有一个分号。分号是C语句的必要组成部分。分号不可少。(7)C语言本身没有输入输出语句。输入输出的操作是由库函数scanf和printf等函数来完成的。(8)可以用/*……*/对C程序中的任何部分作注释。2022/12/1211(4)一个C程序总是从ma2022/12/1642简单的C语言程序示例例一

main(){printf(“ThisisaCprogram.\n”);}

本程序的作用是输出以下一行信息:

ThisisaCprogram.2022/12/1212简单的C语言程序示例例一本程序的作2022/12/1643例二main(){inta,b,sum;/*这是定义变量*/a=123;b=456;/*以下3行为C语句*/sum=a+b;printf(“sumis%d\n”,sum);}程序的运行结果:Sumis5792022/12/1213例二程序的运行结果:2022/12/1644C程序的上机步骤

开始编辑编译

有错?执行连接结果正确结束可执行目标程序f.exe源程序f.c目标程序f.o库函数和其他目标程序YesNoYesNo2022/12/1214C程序的上机步骤开始编辑编译有2022/12/1645C语言的基本词法-标识符定义:在程序中使用的变量名、函数名、标号等统称为标识符。除库函数的函数名由系统定义外,其余的都由用户自己定义。命名规则:标识符只能是字母(A~Z,a~z)、数字(0~9)、下划线(_)组成的字符串,并且其第一个字符必须是字母或下划线。例如:以下标识符是合法的:

a,x,x3,BOOK_1,sum5,_x7。以下标识符是非法的:

3s(以数字开头)、s*T(出现非法字符*)、-3x(以减号开头)、bowy-1(出现非法字符-)。2022/12/1215C语言的基本词法-标识符定义:在程序2022/12/1646(1)标准C不限制标识符的长度,但它受各种版本的C语言编译系统限制,同时也受到具体机器的限制。TurboC规定标识符的长度为32。一般情况下,标识符的长度不要超过8个字符。(2)在标识符中,大小写是有区别的。例如SUM和sum是两个不同的标识符。变量名应尽量使用小写字母,以增加程序的可读性。(3)标识符虽然可由程序员随意定义,但标识符是用于标识某个量的符号。因此,命名应尽量有相应的意义,以便于阅读理解,做到“顾名思义”。在C语言中,所有的变量都是先定义后应用,使用没有定义的变量名被认为是“非法”的。

在使用标识符时还必须注意以下几点:2022/12/1216(1)标准C不限制标识符的长度,但它2022/12/1647C语言的基本词法-关键字定义:关键字是由C语言规定的具有特定意义的字符串,通常也称为保留字。用户定义的标识符不应该与关键字相同。分类:C语言的关键字分为以下几类:(1)类型说明符用于定义、说明变量、函数或其它数据结构的类型。如int,double,float,long,short,auto,2022/12/1217C语言的基本词法-关键字定义:关键字2022/12/1648(2)语句定义符用于表示一个语句的功能。如条件语句的语句定义符ifelse,循环语句的语句定义符do,while,for等。(3)预处理命令字用于表示一个预处理命令,使用时前面要加“#”。如include,define,ifdef,endif等。关键字后必须有空格,圆括号,尖括号,双引号等分隔符,否则与其它字符一起组成新的标识符。2022/12/1218(2)语句定义符(3)预处理命令字2022/12/1649C语言的基本词法-其它运算符

C语言中含有相当丰富的运算符。运算符与变量,函数一起组成表达式,表示各种运算功能。运算符由一个或多个字符组成。分隔符

在C语言中采用的分隔符有逗号和空格两种。逗号主要是用在类型说明和函数参数表中分隔各个变量。空格多用于语句各单词之间作间隔符。常量

C语言中使用的常量可分为数字常量、字符常量、字符串常量、符号常量、转义字符等多种。2022/12/1219C语言的基本词法-其它运算符分隔符常2022/12/1650C语言的字符集

(1)字母小写字母a~z共26个,大写字母A~Z共26个。(2)数字0~9共10个。(3)空格符、制表符、换行符等统称为空白符。(4)标点和特殊字符2022/12/1220C语言的字符集

2022/12/1651C语言程序设计的基本结构

(1)顺序结构

ABab2022/12/1221C语言程序设计的基本结构(1)顺序2022/12/1652(2)选择结构,或称选取结构

此结构中必包含一个判断框。根据给定的条件P是否成立而选择执行A框或B框abBAp不成立成立2022/12/1222(2)选择结构,或称选取结构此结构2022/12/1653l

(3)

循环结构,它又称为重复结构,即反复执行某一部分的操作。又两类循环结构:

(a)

当型(while型)循环结构它的功能是判断当前给定的条件p1成立时,执行A框操作,执行完A后,再判断条件p1是否成立,如果仍然成立,再执行A框,如此反复执行A框,直到某一次p1条件不成立为止,此时不执行A框,而从b点脱离循

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论