版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、各章学习目标、小结第一章c语言概述本章学习目标:了解c语言的历史和发展过程。了解c语言的特点及c程序的组成部分。了解c程序的编译、链接过程。本章小结:本章首先介绍了 C语言的发展简史。C语言诞生于美国贝尔实验室,经过不断地修改、完善,C语言目前已成为 人们广泛使用的语言之一。现在通用的C语言为1983年美国国家标准化协会(ANSI )制定的标准C语言,称为ANSI CoC语言的特点使得它在各种语言中独树一帜,受到人们的青睐,广泛应用于社会各个领域,其特点归纳如下。结构化的语言。模块化的语言。简洁、紧凑,使用方便,灵活。可移植性好。数据结构丰富。运算符丰富,生成代码质量高。C语言程序由函数组成。
2、一个C源程序有且仅有一个mai n ()函数,但是可以包含任意多个其他函数,因此,函数是C程序的基本单元。C语言开发者编制了内容丰富的库函数,编程者可以通过函数调用的形 式使用这些库函数,方便、快捷、编程效率高。C程序中,每一个基本语句和数据定义都是以分号“;”结束,书写格式自由,一行可写多个语句,一个语句也 可以分别写在儿行上。可以使用/*/对程序添加注释以方便读者阅读、理解程序的编写意图。C语言是编译型语言,源程丿宇必须经过编译和链接生成可执行文件后才能运行。编译过程中可以检查出程序的错 误,经过编辑修改后,再重新编译。一般情况下,一个程序要经过多次编辑和修改才能通过编译。链接目标文件的目
3、的就是要生成最终的可执行文件。C程序经过编译、链接,产生了一个可执行文件(*. exe)。运行该文件,即可得到程序的运行结果。第二章数据类型、运算符与表达式本章学习目标:了解常量与变量的含义。掌握数据类型及类型间的混合运算。掌握运算符与表达式及其优先级和结合性。本章小结:本章主要讲述了 C语言中的基本数据类型及类型的混合运算、常用的运算符与表达式 及其优先级和结合性等问 题。(1) 常量:在程序运行过程中其值不发生改变的量称为常量。如0x123、0. 123、 a 、 n,等都是常 量。(2)变量:在程序运行过程中,其值可以改变的量称为变量。每个变量有一个变量名, 变量名只能由字母、数字和下划
4、线3种字符组成,且第1个字符必须是字母或下划线,如ab _anOve. sun等都是合法的变量名。C语言规定,变量必须“先定义,后使用”。(3)整型数据分为整型常量和整型变量。整型常量常用3种形式表示:十进制整数,如100、3等;八进制整数,如010、07等;十六进制整数,如 0x15、0x234等。整型变量按数据在内存中所占的字节数分为基本型(int )、短整型(short)、长整型(long)和无符号型(unsigned) 4种。整型变量定义的一般形式为:v整型名 变量名;如“int a,b;”、 Unsignedc, d;等都是整型变量的定义。在将一个整型常量赋给一个整型变量时,应注意
5、整型数据取值范围的选择。(4)实型数据分为实型变量和实型常量。实型常量也称实数。常用十进制数的形式(如0. 123、45等)和指数形式(如1. 23e3、123E4 等)表示。实型变量分为单精度(float型)和双精度(double型)两类。实型变量的定义一般形式为:实型名 变量需女口 “ float a; ”、doublea,b; ”等都是实型变量的定义。同样,在将实型常量赋给一个实型变量时应注 意实型数据取值范围的选择。(5 ) 字符型数据分为字符型常量和字符型变量。字符型常量主要包括字符常量(如、A等)和字符串常量(如“ hello”、 China等)两种类型,此外,转义字符也是一种特殊
6、的字符常量。字符变量用来存放字符变量,只能放一个字符,定义形式如下:“ char cl二c;字”符串常量常用数组和指针来存储和访问,相关内容将在后续内容中讲述。在一定的范围内(0辽55或-128=127之间),字符型数据和整型数据之间可以通用。(6) 类型的混合运算整型、实型和字符型数据间可以进行混合运算,有两种转换方式。自动类型转换:数据类型由低向高自动转换,即char, short宀int宀un sig ned long double J floato强制类型转换:当自动类型转换达不到编程者的要 求时,可以利用强制类型转换将一个表达式转换成所需的类型,其一般形式为(类型名)(表达式)。叹二
7、(int) a (如a二2. 53,贝 U x二2 , a 为原值 2. 53 不变)、(loa) (5%2)等。(7)运算符与表达式本章重点讲解了算术运算符与算术表达式、关系运算符与关系表达式、赋值运算符与赋值表达式以及逻辑运算符 与逻辑运算表达式。此外还介绍了自增和自减运算符、条件运 算符与条件表达式、逗号运算符与逗号表达式和位运算 符。对于其他的一些运算符将在后面的相关章节中讲解。各类运算符的优先级和结合性为:初等运算符()、卜一:自左至右。单目运算符:自右至左。算术运算符(先乘除后加减):自左至右。关系运算符 逻辑运算符 条件运算符 赋值运算符 逗号运算符自左至右。 自左至右。 自右至
8、左。 自右至左。 自左至右。第三章顺序程序设计本章学习目标:了解语句的概念及其构成。掌握字符数据的输入与输出。掌握格式输入与输出。掌握编写简单的顺序结构程序的方法。本章小结:本章学习了 C语句、数据的输入与输出及最简单的程序设计一一顺序程序设计。一、C语句C语句可以分为以下5类:(1) 表达式语句由表达式加分号构成。(2) 空语句只有1个分号的语句称为空语句。(3) 复合语句用大括号“ ”括起来的若干语句称为复合语句。复合语句的使用方式是:当单一语句位置上的功能必须用多个语句才能实现时,就需要使用复合语句。(4) 函数调用语句在1个函数的后面加1个分号就构成了 1个函数调用语句。函数的使用除了
9、在表达式 中出现外,主要是通过函数 调用语句来使用它。(5) 流程控制语句主要是对程序的走向起控制作用。常用于实现选择结构和循环结构的程序控制。二、数据的输入与输出一个完整的程序,都应该含有数据输入/输出操作。将原始数据输入,经程序处理后,输出有用的信息。C程序的输入/输出功能是由系统提供的输入/输出标准函数实现的。常用的输入/输出标准函数如下。字符输入输出函数:(1) 字符输入函数getchaK)getchar ()函数的功能是接收从键盘输入的1个字符,它无参数。使用时应注意以下两点。如果getchar0函数读入的字符不赋给任何变量,则该函数只能作为表达式的一部分使用。如果在1个程序中使用了
10、 getchar()函数,则必须在该程序的开 头使用下列编译预处理命令:trinclude这是因为getchar ()函数属于标准I/O库函数。C语言规定:凡在程序中使用了标准I/O库函数,就需要将文件“ stdio.h ”调入到源程序文件中。(2) 字符输出函数put char ()putcharO函数的功能是向终端屏幕输出1个字符。该函数的使用形式为:putchar (c);输出字符变量C的值。C可以是字符型变量或整型变量,也可以是1个字符常量或整型常 量。格式化输入输出函数:(1) 格式化输入函数scanf 0用scanf ()函数可以输入任何类型的数据。一般格式:scanf (格式控制
11、,地址表列;格式说明:格式说明以“ %”开头,以1个格式字符结束,中间可以插入附加的字符。scanfo函数中使用的格式字符如表3-1所示,附加说明字符如表3-2所示。表3-1scanf()函数中的格式字符枚我立符;廿H日d用來输入十进制整数0用來输入八进制整数X用來输入十六进制整数用來输入单个字符格式字符说明用來输入以0,为结束标志的字符串到字符数组用来输入实数,可以用小数形式或指数形式输入e与f作用相同,e与f可以互相替换表3-2scanf附加的格式说明字符字符说明1用丁输入长整型数据(如ld )以及double型数据(如lf)h用于输入短整型数据(可用%hd, ?iho,%hx)域宽为一正
12、整数,指定输入数据所占宽度(列数)*表示本输入项在读入后不赋给相应的变量scanf函数的执行中应注意的问题。scanf o函数中格式控制”的后面应当是变量地址,而不应是变量名。如果在格式控制”字符串中,除了格式说明以外还有其他字符,则在输入数据时应输入与这些字符相同 的字符。添加这些字符的目的是帮助理解,避免在输入时产生错误的数据输入。(2)格式化输出函数printf ()putchar o函数只能输出1个字符,而printf )函数的作用是向终端(一般指显示屏幕)输出若干个任意 类型的数据。一般格式:printf ( 格式控制输出表列);格式字符。printf()函数有9种格式字符(如表3-
13、3所示)和4种附加格式说明字符(如表3-4所 示)。表3-3printf ()函数中的格式字符格式字符说明d以带符号的十进制形式输岀整数(正数不输出符号)0以八进制的无符号形式输出整数(不输出前导符0)X以十六进制无符号形式输出整数(不输出前导符Ox)以无符号十进制形式输出整数C以字符形式输出,只输出一个字符S输出字符串f以小数形式输出单、双精度,隐含输出 6位小数e以标准指数形式输出单、双精度数,数字部分小数位数为6位g选用就或。格式中输出宽度较短的一种格式,不输出无意义的0表3-4printfO函数中的附加格式说明字符格式字符说明字母1用于长整型,可加在格式符 d,o,x,u前面m(个正整
14、数)数据最小宽度 n(-个正整数)对实数,表示输出n位小数;对字符串,表示截取的字符个数一输出的数字或字符在域内向左靠使用printf 0函数应注意的问题如下。在用printfo函数输出时,应注意与上表中的格式说明匹配,否则将会出现错误。有些系统要求格式字 符要用小写字母。三、顺序结构程序设计顺序结构程序就是按语句书写顺序,逐条执行的程序。顺序结构程序比较简单,应多编程练习以熟练掌握基本 程序设计技巧。第四章选择程序设计本章学习目标:理解c语言中各类控制语句的执行过程、功能和使用方法。掌握if语句的3种形式、if和else配对规则及if语句的嵌套。能正确地使用switch语句设计多分 支选择结
15、构。本章小结:本章主要讲了两大语句的使用,即if语句和switch语句。它们都是C语言中使用最为频繁的语句,必须很好地掌握。就if语句而言,有3种基本使用形式和多种嵌套格式,第3种基本使用形式和两种嵌套较为繁琐,但在一般 情况下,其功能能用switch语句代替。在学习if语句的过程中要着重把握以下知识点。if语句后的表达式的值只有两种情况(真”和假”),它是其后语句是否被执行的依据,只有表达式的 值为真”时,其语句才被执行,否则不被执行。在if-else结构中,if子句和else子句只能有一个被 执行。程序运行时首先判断if子句前的表达式,当if子句前的表达式为假”时才执行else子句。否则,
16、else子句不被执行。if和else必须配对使用,当配对的if和else之间有两个或两个以上的 语句时,一定要使用大括号,作为复合语句來处理,否则程序编译时将会出错。else总是与它前面的不带else的if配对。就switch语句而言,应主要把握以下知识点。switch结构中有1个小括号和1个大括号,小括号内是表达式,其值作为大括号内入口选择的依据。两个括号(1个小括号和1个大括号)外均无;。default无论在何处总是最后执行。执行过程中,当进入入口后,只要没有遇到break语句,程序总是顺序执行下去,当遇到break语句时程序立即跳出switch结构,结束对switch的执行。case后必
17、须是常量或常量表达式,绝不能含有变量。不同case后的常量和常量表达式一定不能相同。第五章循环程序设计本章学习目标:掌握C语言中wh订e循环的用法。掌握C语言中do-while循环的用法。掌握C语言中for循环的用法。能对for语句和wh订e循环进行正确的 转换。掌握并能熟练运用循环的嵌套设计。本章小结:本章重点讲述了 3种循环结构,两种循环流程控制语句以及for语句和while循环之间的相互转换等问题。wh订e循环是1种当型循环,而do-wh订e循环是1种直到型循环。对于while循环而言,只有当条件表达式的值为真时才执行循环体。对于do-wh订e循环而言,先无条件地执行1次循环体再判断条件
18、表达式的值,因此循环体至少被执行1次。两种while循环的关系为:当两者的循环体相同,并且当第1次判断wh订e后面的表达式时,若其值为“真”时,两种循环得到的结果相同。否则,二者得到的结果不相同。for语句的形式较为复杂,有3个表达式和1个循环体语句。3个表达式均可省略,但必须在程序其他相应的位置(循环语句前、循环体内等位置)补充必要的赋值、增值等语 句。对于循环体,如果循环体由多个语句构成,必须用大括号括起来作为1个复合语句来处理,否则就会出现算法错误。在进行程序的调试时,特别要注意这点,因为大括号的有 无不会造成语法上的错误,程 序编译时系统不会报错。break语句和continue语句主
19、要用于循环的流程控制,两者在用法上有显著差别。break语句用于结束整个循环,执行循环结构后面的下一个语句。continue语句用于结束本次循环,越过循环体中尚未执行的语句,继续进行下一次循环。break语句还可以用在switch分支选择结构中,但continue语句只能用于循环语句中。第六章函数本章学习目标:掌握函数、函数值(函数返回值)以及函数调用等的基本概念。掌握函数的定义和调用方法。掌握函数参数的传递方法。掌握变量的作用范围。本章小结:本章着重讲述了有关函数的相关知识点,重点掌握以下要点。在程序设计中使用函数有以下好 处:可以增强程序的可 读性,可以为程序的后 序扩充留下空间,便于分工
20、 合作实现程序的并行开发。函数的定义形式为:类型标识符函数名(参数表列)其中类型标识符”可以是整型、实型、字符型和void类型。当省去 类型标识符”时则隐含为整型。参数的个数可有可无、可多可少,完全取决于程序的实际情 况。在使用函数时,函数的定义是必不可少的。但是 对函数的声明可有可无,如果不对函数进行声明则在使用函数前必须先定义。变量可分为全局变量和局部变量,全局变量总是定义在所有函数的外部,其作用范围是从定义位置开始一 直到程序结束。局部变量总是定义在某个函数或块语句内部,其作用范围只在该函数或块语句内部。变量既有数据类型,也有存储类型。存储类型用于指定变量在内存中的存储方式,变量的存储类
21、型主要有自动类型、静态类型、寄存器类型和外部类型等4种。第七章数组本章学习目标:掌握对数组的正确定义。学握对数组的正确引用。掌握对数组的初始化。字符串的输入、输出和处理。掌握数组在函数中的运用。本章小结:关于一维数组的定义、初始化和引用作以下总结。当定义数组并同时对所有元素进行初始化时,数组定义中的常量表达式”可以省略,系统默认数组的长度 即为初始化时大括号内数据的个数。当数组的定义与初始化同时进行时,定义数组时的常量表达式”可以省略,系统默认数组的长度即为初始化时大括号内数据的个数。对于字符类型的数组,初始化时单个地赋以字符与 赋以字符串是有区别的。单个地赋以字符时的数组的长 度即为所赋字符
22、的个数;赋以字符串的数 组的长度即为字符号串的长度再加1,两者相比多了一个字符“0”占用的存储单元。对数组所赋数据的个数只能小于或等于数 组的长度,而不能大于数 组的长度。当数组的长度大于初始化 时所赋的字符(串)的长度时,对于赋以字符的数组余下的部分补0值,而对于赋以字符串的数组余下的部分 的第1个存储单元补以字符0 ”,其余部分不管。关于对数组中各元素的引用应注意以下要点。数组中各元素都有自己的名称,其表示方法为:数组名下标。下标是从0开始,到常量表达式-1结束。各数组元素实质上是1个变量,可以像对待其他普通变量一样对其进行各种操作和运算。对数组名有两种理解,一是理解 为数组的名称,二是理
23、解 为数组的首地址,即第1个元素的地址。数 组不是1个变量,不能对其赋值。对数组中各元素地址的表示有两种方法。第1种:数组名+整数。第2种:&数组名下标。需要在此一提的是:数组中第1个元素的地址有3种表示方法,例如对于整型数组a 10的第1个元素的地址表示方法如下:aa+0& a 0对二维数组的有关知识作以下总结。有关二维数组的定义:在二维数组中,“常量表达式1 ”用于确定二维数组的行数即第一维的长度,“常量表达式2”用于确定二维数组的列数即第二维的长度。两个表达式必须是常量,而不能含有变量。 有关二维数组的引用。引用二维数组中元素的格式为:数组名下标1下标2,即二维数组中各元素的名称,其实质
24、为变 量。既可以对其引用,也可以对其赋值。无论是二维数组的行”还是二维数组的列”,其下标总是从0开绐的。与一维 数组一样,二维数组 行” 和列”的最大下标与二维数组对应的两维的长度之间始终相差数值1。二维数组中的每个元素(存储单元)都是由两个值决定的,一个是行的下标,一个是列的下标。引用1 个元素必须同时使用两个下标。有关二维数组中地址的表示方法。行”的首地址 为:二维数组名行下标。最常用的元素的地址表示方法为:&二维数组名行下标列下标。二维数组名是二维数组的首地址,数组名下标、&数组名下标1下标2也是二维数组的首地址。如果用i表示二维数组的行下标,用j表示二维数组的列下标,用m表示二维数组第
25、一维的长度,有3种 方法表示各元素的地址,分别如下:a+i *m+ja0+i *mj& aO 0+i *m+j有关二维数组的初始化。可对所有的元素赋值,把所赋数据放在大括号内并以,相隔即可,或者在以行”为单位再加以大括号。两种方法相比,第1种方法较为简便但不直观,第2种方法较为直观但不够简便。可以对部分元素 赋值,如果对二维数组的前儿个元素 赋值,把所赋数据放在大 括号内并以;”目隔即 可。女陳对二维数组中的元素有间隔地赋值则必须以行”为单元赋值。在定义二维数组并对其全部元素进行初始化时,可以省略第一维的长度。第八章指针本章学习目标:掌握指针的概念、定义。学握指针变量的使用。掌握指针在函数中的
26、运用。掌握指针的运算。掌握指针在数组中的运用。本章小结:本章全面介绍了 C语言中指针的相关知识,现将本章主要知识点总结如下:(1) 指针与地址的关系简单地说,指针是内存地址的代名词。通过指针(地址)操作,可以对存储单元中的数据实现读写操作。用于存放1个变量地址的特殊变量就是指针变量。(2) 指针变量的定义指针变量定义的基本形式为:指针类型指针变量名例如:int *p;(3) 指针类型在指针变量定义中的类型符(int、char、float-).称为指针类型。由于指针代表1个内存单元的地址,程序将要根据此地址读出(或写入)存放在此单元中的数据,因此指针类型实际上表示该地址单元存储数 据的类型。(4
27、) 指针变量的存储。指针变量占有固定大小的存储单元。1个地址本质上是整数(或长整数,为简单计,可以认为是整数)。故指针变量都占2个字节的存储空间,与指针类型无关。(5) 取地址运算符号“ &”是取变量地址的单目运算符,它直接作用于1个变量前表示该变量的地址,例如,若定义以下变量:float x ; char y ;则&x和&y就是这两个变量的内存地址,通常,程序设计者并不关心&x和&y的具体值,只要知道&x和&y是变量x和y的指针就可以了。若在前两个语句后再有1个定义指针变量的语句:float *fl;char *f2;则可进行以下赋值:f 仁& X;f2=& y;这样就使指针变量fl指向变量
28、X所在的地址,f2指向变量y所在的地址。注意:以下的赋值语句是错误的:f 仁& y;f2=& x;错误的原因是指针基类型与变量的数据类型不一致。(6) 间接访问变量使用取内容运算符“ * ”可以间接访问1个指针指向的变量,只需要在指针名前加上“ * ”即可。(7) 指针的自加和自减指针变量可以进行自加和自减运算,但其含义与普通变量的同种运算不同。若已有定义“ float *p ”,贝ij: 表达式p+ p-)将使指针向后(前)移动1个数据的位置。p+1指向数组的下1个元素,而不是 简单地使指针变量p的值加1。其值实际变化为pointer+lsizeSize为一个元素占用的字节数)。例如,假设指
29、针变量pointer 的当前值为 3000,贝 U pointer+1 为 3000+1*2二3002,而不是 3001。(8) 指针作函数参数在将指针作为函数参数时,一定要保证参数对应。指针是一种可以使我们“绕开”1个变量的名字而存取它的工具或手段,指针本身并没有受间接引用的影响。并且实参和形参指向同一段内存地址,因此 在函数调用过程中可修改实参变量的值,还可以从被调函数中获得多个返回值以提高以参数传递的程序的效率。第九章编译预处理、结 构体和共同体本章学习目标:掌握有关 编译预处 理的知识。掌握对简单的结构体的运用。了解有关共同体的知识。本章小结:本章主要讲述了编译预处理命令的作用、定义和
30、相关注意事项;结构体和共同体的定义、初始化、作用、区别 以及应用和位运算。其中结构体的使用是重点。(1) C程序中允许使用以輩”开头的命令,这些命令称为编译预处理命令,在对程序进行编译之前,所有这 些命令都要被预先翻译和加工处理,因此称为预处理。编译预处理命令不是语句,所以其后没有分号。 它可以写在程序中的任何位置,其作用范围是从书写位置开始到文件末尾。编译预处理命令主要有3种形式。宏替换宏替换也称宏定义,这是以“ #defi ne ”开头的一类命令,它的基本功能是用1个名字来代表1个常数或一段程序代码,在应用中可以有两种形式:带参数的宏和不带参数和宏。其一般形式如下:不带参数的宏:defin
31、e宏夕1宏体带参数的宏:#define宏名(参数名1,参数名2,参数名n)宏体后一种形式的功能要比前一种强大,在定义中的3部分必须以空格分隔,无论什么样的宏,系统只进行原样替换而不进行计算,因此宏替换无计算功能。文件包含文件包含处理是抬1个源文件可以将另外1个源文件的全部内容包含进来,即将另外的文件包含到本文件之中,C语言提供了 “ ttinelude ”命令用来实现“文件包含”的操作。条件编译在一般情况下,源程斥中所有的程序代码都要参加编译,但有时希望要有选择性地编译程序代码,这时就要用 到条件编译。这样源程序可以不必作任何修改就能适用于不同的环境,增加程序的可移植性。(2) 结构体结构体是一种典型的复杂数据类型,1个结构体可由若干个不同数据类型的成员构成,而且它的成员的类型个数可根据用户需要自己定义,这样使得结构体的构造非常灵活。结构体主要用于需要把1个 目标的所有信息集合在一起但它的信息又是不同类型的场合。使用结
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大厦综合布线课程设计
- 别墅课程设计总结
- 力学课程设计目的
- 塑料模模具课程设计
- 建筑可持续设计与土木工程应用考核试卷
- 新型冠状病毒疫苗研发与分发考核试卷
- 学校网站综合课程设计
- 炼铁过程中的废渣再利用考核试卷
- 水利工程对城市发展的支持考核试卷
- 机器人制造中的智能安全监控考核试卷
- 2023年国家基本药物制度考试试题及答案
- 感觉统合发展评定量表以及原始分与标准分转换表
- 美发师高级评分记录表
- 产前筛查、诊断及新生儿疾病筛查
- 实验室绩效考核细则
- 房屋建筑与装饰工程消耗量定额Y
- X5032铣床主传动系统改造论文说明书
- 2023年消防接警员岗位理论知识考试参考题库(浓缩500题)
- GB/T 786.1-1993液压气动图形符号
- GB/T 39637-2020金属和合金的腐蚀土壤环境腐蚀性分类
- GB/T 18367-2001公路收费方式
评论
0/150
提交评论