还剩15页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
《语言程序设计》教学基本知识点C第一章c语言基本知识LC源程序的框架尽管各个C源程序日勺功能千变万化,但框架是不变的,重要有编译预处理、主函数
0、函数n等,主函数的位置不一定在最前面,可以在程序的中部或背面,主函数H勺名字固定为maino2c语言源程序的书写规则DC源程序是由一种主函数和若干个其他函数构成的I⑵函数名后必须有小括号,函数体放在大括号内3C程序必须用小写字母书写4每句日勺末尾加分号5可以一行多句⑹可以一句多行⑺可以在程序H勺任何位置加注释
3.语句种类语句是程序日勺基本成分,程序的执行就是通过一条条语句的执行而得以实现日勺,根据体现形式及功能时不一样,C语言日勺基本语句可以分为五大类⑴流程控制语句流程控制语句的功能是控制程序的走向,程序的I流程有三种基本构造次序构造、分支构造和循环构造,任何复杂的I程序都可以由这三种基本构造复合而成其中后两种构造要用特定的流程控制语句实现2体现式语句体现式语句区I形式是体现式;,即体现式后跟一分号“;”,分号是语句结束符,是一量临时分派存储单元,变量用完后立即释放单元日勺区域,动态存储区放日勺是函数日勺形参、自动变量、函数调用期间的现场保护数据和返回地址静态存储区是指程序运行期间给变量分派固定口勺存储单元,放的是全局变量和局部静态变量一种变量除了它的数据类型以外还有存储类型,定义一种变量时应该阐明这两种类型第七章预处理知识点对高级语言编译连接就是把源程序转换成机器语言,C语言在进行编译之前还要预先处理三件事宏定义命令、文件包括命令和条件编译命令,统称为预处理命令,其特点是
1.所有的预处理命令都放在程序的头部,以#开头,且#号背面不留空格
2.预处理命令不是C的语句,行尾不加分号3,预处理命令是在编译预处理阶段完成欧I,因此它们没有任何计算、操作等执行功能
4.预处理命令有所变动后,必须对程序重新进行编译和连接
1.宏定义宏定义命令日勺作用是给某些常用日勺对象重新命名,在程序中可以用宏名来引用这些对象,预处理时宏名会被代表的I内容替代,此过程称为宏展开或宏替代宏定义有两种形式:
2.文件包括使用文件包括命令可以将另一个C源程序区I全部内容包括进来,其形式为include〈文件名>或#抽4遍©“文件名”一般可以把常常用到H勺,带公用性的某些函数或符号等集合在…起形成一种源文件,然后用此命令将这个源文件包括进来,这样可以防止在每个新程序中都要重新键入这些内容
3.条件编译顾名思义满足条件时进行编译,为了处理程序移植问题,C语言提供了条件编译命令,它能使源程序在不一样的编译环境下生成不一样日勺目标代码文件条件编译命令有3种形式第八章指针知识点
1.什么是指针和指针变量?指针就是内存地址,因为通过“地址”可以找到变量,因此内存“地址”形象日勺称为指针指针变量就是存地址日勺变量在C语言中用一种变量存另一种变量日勺地址,那么就称这个变量为指针变量,指针变量时值就是地址一般指针变量被简称为指针指针变量是有类型时,即指针值增1表达指向下一种数据,如整型数据在内存中占两个字节,它的指针变量增1是增两个字节如实型数据在内存中占4个字节,它的指针变量增1是增4个字节
2.怎样定义指针变量?定义形式为数据类型*指针变量名1,*指针变量名2……;
3.指针的有关运算指针为内存地址是整数,可以进行某些算术运算、关系运算、赋值运算、特殊运算等,但要注意运算代表的实际意义
4.指向数组的I指针变量1指向数组元素的I指针变量定义形式为血int*p=a;2指向一维数组区|指针变量定义形式为inta\[3\]\[4\];int*p\[4\];p=a;3指向字符串的I指针变量定义形式为char*p=字符序列二C语言中的字符串是以隐含形式的字符数组寄存的,定义了指针变量p并不是将整个字符串都寄存在P中了,而P中寄存的I是字符串的首地址
5.指向函数的指针变量一种函数在编译时被分派一种入口地址,这个地址就是函数的指针,可以用一种指针变量指向它指向函数的指针变量定义形式为数据类型*指针变量名;
6.指针变量做函数日勺参数⑴指针作函数日勺参数可以传送地址,如数组的首地址,函数的入口地址等2指针作函数日勺参数也可以用地址方式传送数据
7.返回值是指针日勺函数即函数的返回值是内存的地址,运用这种措施可以将一种以上的数据返回给函数的调用者定义形式如下数据类型*函数名形参表
8.指针数组定义形式为数据类型*数组名[数组长度\];数组中的每个元素都是指针类型的I数据,这种数组被称为指针数组
9.指向指针时指针定义形式为数据类型**指针变量名;指向指针数据的指针变量称为指向指针的I指针
10.main函数的形参main函数可以带两个形参,如mainargc,argv;;intargc char*argv\[\]
11.指向构造体的I指针变量构造体变量的指针就是该变量所占据的内存段时首地址指向构造体的指针变量定义形式为struct构造体类型名*指针变量名;
12.指向共用体的指针变量共用体变量的指针就是该变量所占据的内存段的首地址指向共用体的指针变量定义形式为union共用体类型名*指针变量名;替代了日勺字符时(这里为正中间的字符”4),原来的字符己不复存在第九章构造体与共用体知识点构造体类型是C语言口勺一种构造数据类型,它是多种有关H勺不一样类型数据的集合,相称于其他高级语言中的记录
1.构造体类型定义构造体类型的形式为struct构造体类型名(数据类型组员名1;•••数据类型组员名n;)
2.构造体变量的定义构造体变量有三种定义形式⑴先定义构造体类型,后定义构造体变量
(2)定义构造体类型的I同步定义构造体变量⑶不定义构造体类型名,直接定义构造体变量
3.构造体变量的引用⑴构造体变量日勺初始化许多C版本规定对外部或静态存储类型的构造体变量可以进行初始化,而对局部的构造体变量则不可以,新原则C无此限制,容许在定义时对自动变量初始化2构造体组员H勺引用由于C语言一般不容许对构造体变量的I整体引用,因此对构造体的引用只能是对分量的引用,构造体变量中时任一分量可以表达为构造体变量名•组员名
4.构造体与数组C语言中数组日勺组员可以是构造体变量,构造体变量的组员也可以是数组构造体数组有三种定义形式⑴先定义构造体类型,后定义构造体数组⑵定义构造体类型的同步定义构造体数组⑶不定义构造体类型名,直接定义构造体变量
5.构造体与指针首先构造体变量中的组员可以是指针变量,另首先也可以定义指向构造体的I指针变量,指向构造体的指针变量时值是某一构造体变量在内存中的首地址构造体指针的I定义形式:struct构造体类型名*构造体指针变量名由构造体指针引用构造体组员的措施
6.用指针处理链表构造体的组员可以是指针类型,并且这个指针类型就是本构造体类型日勺,这样可以构造出一种动态数据构造一成为链表所谓动态数据就是指在编译时不能确定数据量的I多少,而是在程序执行时才确定的数据,动态数据可以比较以便的进行数据插人或删除等操作
7.构造体与函数构造体变量日勺组员可以作函数日勺参数、指向构造体变量的指针也可以作函数日勺参数虽然构造体变量名也可以作为函数的I参数,将整个构造体变量进行传递,但一般不这样做,因为假如构造体的组员诸多,或者有些组员是数组,则程序运行期间,将全部组员一种一种日勺传递,既挥霍时间,又挥霍空间,开销太大
8.构造体与共用体构造体变量中的组员可以是共用体,共用体变量中肚I组员可以是构造体共用体为了节省存储空间,c语言容许将几种不一样类型的数据寄存在同一段内存单元,它们共用一种起始地址,称做共用体
1.共用体类型定义union共用体类型名{数据类型组员名1;•••数据类型组员名n;
2.共用体变量定义⑴先定义类型,后定义变量2定义类型的同步定义变量⑶不定义类型名,直接定义变量
3.共用体变量的引用⑴共用体变量不能整体引用,只能引用其组员,形式为共用体变量名•组员名⑵共用体变量的组员不能初始化,因为它只能放一种数据⑶共用体变量寄存的数据是最终放入的数据⑷共用体变量日勺长度是最大的组员时长度5可以引用共用体变量日勺地址、各个组员的地址,它们都是同一种地址6共用体变量不能当函数的参数或函数日勺返回值,但可以用指向共用体变量日勺指针作函数的参数⑺共用体变量的组员可以是数组,数组的I组员也可以是共用体变量第十章位运算知识点位运算就是按二进制位进行操作的运算,运算时对象只能是整型或字符型,不能是实型不一样长度时变量进行位运算,系统会自动右对齐,而左端的不齐部分,对于无符号数左端补满0,对于有符号数则正数左端补满0,负数左端补满1第十一章文件知识点操作系统是以文件为单位对数据进行管理欧I,任何一种计算机高级语言都要有和磁盘文件打交道H勺能力,否则该语言的功能充其量是算一算、显示显示而已在C语言中没有单独的文件操作语句,所有对文件的操作都是通过库函数来完成的,因此本章的重点是学会使用有关文件操作的库函数
1.文件的基本概念
2.文件类型指针
3.文件的操作种语句必不可少日勺成分体现式和体现式语句的区别在于体现式代表时是一种数值,而体现式语句则代表一种动作最常见的体现式语句是赋值语句3函数调用语句函数调用语句实际上也是一种体现式语句,形式为在一次函数调用日勺小括号背面加上一种分号4空语句空语句的形式就是一种分号,它不代表任何动作,常常作为一种意义转折点使用5复合语句复合语句从形式上看是多种语句的组合,但在语法意义上它只相称于一种语句,在任何单一语句存在的地方都可以是复合语句注意复合语句中最终一种语句末尾日勺分号不能少复合语句右大括号背面没有分号
4.运算符用来表达数据多种操作的符号称为运算符运算符实际上代表了一种类型数据的运算规则不一样的运算符具有不一样的运算规则,其操作的数据类型必须符合该运算符H勺规定,运算成果的1数据类型也是固定的根据参加操作日勺数据个数多少,可以将C语言时运算符分为单目运算符,双目运算符和三目运算符三目运算符只有条件运算符一种根据运算对象和运算成果的数据类型可分为算术运算符、关系运算符、逻辑运算符等
5.体现式体现式是由常量、变量、函数,通过运算符连接起来而形成日勺一种算式一种常量,一种变量或一种函数都可以当作是一种体现式体现式的种类有算术体现式、关系体现式、逻辑体现式、赋值体现式、字位体现式、强制类型转换体现式、逗号体现式次序体现式、条件体现式、指针体现式
6.数据的输入/输出C语言自身没有输人/输出语句,数据的输入/输出是通过调用库函数来实现时第二章数据类型知识点划分数据类型的意义是编译系统对每个不一样类型时数据在内存中分派的字节数不一样,不一样类型的数据可以按规定参加不一样类型日勺运算LC语言日勺数据类型数据类型有整型、字符型、实型单精度型、双精度型、构造类型数组类型、构造体类型、共用体类型、枚举类型、指针类型、空类型,其中整型、实型、字符型是C语言中日勺基本类型
7.多种类型数据日勺定义措施定义形式数据类型变量名1,变量名2,……变量名n;
8.常量与变量1常量一一在程序执行期间其值不变的量它不能被赋值2变量一一在程序运行期间其值可以变化日勺量
9.多种类型数据欧J混合运算各类数据运算前会自动转换成同一类型规律如右图示从右向左的箭头表达必然的转换,如float型数据运算前化成double型,以提高运算精度,成果也为double型,short或char型数据运算前化成int型,成果也为血型;从下向上的箭头表达转换方向是向级别高的靠拢
10.强制类型变换当我们需要对数据进行类型变换,而机器又不能自动完成时,就要用强制类型变换,形式为数据类型符被转换对象第三章选择知识点C语言中实现选择构造区I控制语句有两种条件分支语句if和开关分支语句switchoLif语句的三种形式
(1)if(体现式)语句;
(2)if(体现式)语句1;else语句2;
(3)if(体现式1)语句1;else if(体现式2)语句2;else if(体现式3)语句3;•••else if(体现式n)语句n;2,开关分支语句switch⑴形式switch(体现式){case el:语句1;break;case e2:语句2;break;case e3:语句3;break;case en:语句n;break;default:语句n+l;)⑵功能当体现式日勺值等于el时,执行语句1;当体现式H勺值等于e2时,执行语句2;当体现式口勺值等于en时,执行语句n;当体现式时值与常量el、e2……en谁都不等时,就执行default后的语句第四章循环知识点循环就是在程序执行过程中,反复多次的执行同一段程序C语言中有三种循环语句
1.while循环语句形式为while(体现式)(循环体};执行过程是先计算体现式时值,当体现式时值非时就执行循环体,之后再判断体现式H勺值,且反复以上过程;当体现式时值为0时就结束循环
2.do-while循环语句形式为do(循环体}while(体现式);执行过程是先执行循环体一次,再判断体现式的值,当体现式时值非0时就再执行循环体,之后再判断体现式U勺值,且反复以上过程;当体现式口勺值为时就结束循环
3.for循环语句形式为for(体现式1;体现式2;体现式3){循环体}
4.三种循环语句的比较三种循环语句可以完成同一件事,可任选其一使用while和do-while循环时,要提前给循环变量赋初值而for循环是在体现式1中赋初值日勺while循环和for循环都是先判断条件后执行循环体,有可能一次也不执行循环体,do-while循环是先执行循环体,后判断条件,即循环体至少也得执行一次for循环不限于计数循环,其循环条件可以是逻辑体现式和字符体现式等
5.循环嵌套三种循环控制语句可以互相嵌套,即在一种循环体内部又可以出现另一循环,这种嵌套在理论上来说可以是无限H勺注意必须是一种循环完整的套住另一种循环
6.break语句break语句只能出目前三种循环语句和switch多分支语句中,其作用是用来中断这四种语句的I执行当程序执行到break语句时,会跳出break语句所在的I循环或switch分支,而直接执行紧跟在它们背面日勺语句
7.continue语句continue语句只能出目前三种循环语句中,当程序执行到continue语句时,其作用是提前结束本次循环,自动跳过循环体中后半部剩余的语句的执行,而直接回到循环条件判断根据判断的成果决定与否继续执行下次循环
8.goto语句goto语句是一种非构造化语句,其作用是使程序的执行无条件的转移到某一处使用格式为goto标号;运用goto语句与if条件语句配合,也可以实现条件循环C语句容许在任何语句前添加标号,作为跳转目标,标号日勺构成是标识符背面加一种第五章数组知识点数组就是同类型日勺一批数据的集合,用一种变量名寄存,辨别各元素的措施是用下标
1.一维数组类型阐明符数组名[数组长度\];⑴数组命名要符合标识符的命名规则2数组名后的括号必须是方括号,不能是圆括号⑶数组长度必须是正整数,可以是个体现式,但不能有变量,C语言不支持动态数组⑷数组长度表达数组中元素的个数⑸数组元素区J下标从0开始数,因此最大下标是数组的长度减lo
2.多维数组以二维为例类型阐明符数组名[第一维长度\]\[第二维长度\];⑴数组命名要符合标识符的命名规则⑵数组名后的括号必须是两个方括号,定义时不能写成inta\[3,4\];o⑶数组长度必须是整型常量体现式4第一维长度表达数组行数,第二维长度表达数组列数5每个数组元素均有两个下标,第一维表达该元素所在的行,第二维表达该元素所在日勺列,每一维日勺下标都从开始数二维数组的初始化C语言规定只有静态数组和外部数组才容许在定义时赋初值,赋初值形式如下static类型阐明符数组名\[第一维长度\]\[第二维长度\]={初值表};二维数组的引用二维数组不能整体引用,要引用数组H勺单个元素,形式为数组名\[下标\N下标\]和一般变量的使用无任何区别
3.字符数组C语言中没有字符串变量,字符串是靠字符数组实现的I,所谓字符数组就是元素的数据类型为字符型时数组⑴字符数组的I定义形式char数组名[数组长度\];因为C语言中的整型数据和字符型数据是相通日勺,因此也可以这样定义int数组名\[数组长度\];2字符数组的初始化给字符数组H勺初始化有两种方式,一种是用字符常量,另一种是用字符串形式如下:staticchar数组名[数组长度\]={字符常量表};staticchar数组名[数组长度\]二{字符串常量};
4.数组与函数数组常常作为函数的参数,数组做函数的参数有两种形式,一是数组元素做函数的参数,一是数组名做函数的I参数,当用数组名做函数的实参时传送的是首地址
5.常用的字符串处理函数C语言提供了某些处理字符串时原则函数,用以完成某些常见时操作对如下几种函数要掌握其功能和调用形式⑴gets(字符数组名)此函数功能是从键盘输入一串字符,回车后送到字符数组中,注意定义数组时数组长度要足够大⑵puts(字符数组名)此函数功能是将字符数组的内容输出到屏幕上
(3)strcat(字符数组名1,字符数组名2)此函数功能是将字符数组1中日勺\\0去掉后将字符数组2时内容连接到字符数组1时末尾
(4)strcpy(字符数组名1,字符数组名2)函数功能是将字符数组2的内容(包括\\0)拷贝到字符数组1中,字符数组2处也可以是字符串常量strcpy函数可以实现拷子串
(5)strcmp(字符数组名1,字符数组名2)函数功能是两个字符串(ASCII码)比大小
(6)strlen(字符数组名)此函数功能是求字符串的长度,注意不包括\\0
(7)strlwr(字符数组名)此函数功能是将字符串中的所有大写字母都变成小写
(8)strupr(字符数组名)此函数功能是将字符串中的所有小写字母都变成大写第六章函数知识点每个C源程序都是由函数构成H勺,一种主函数和若干个其他函数,C语言程序设计的基础工作就是函数的详细编写,C语言中日勺函数就相称于其他高级语言中的子程序
1.函数的概念函数就是一种数据加工厂,从函数外部接受数据,在函数内部加工处理,然后得到一种成果返回给外部的调用者因此函数就是对语言功能的扩充,对函数的调用就是对功能的调用
2.原则函数多种高级语言都定义了某些原则函数,C语言中的原则函数称为库函数,是将某些基本的、常用的功能编成了函数,供大家使用以便使用库函数时必须把它的头文件用include命令包括进来,每个库函数的功能及对应的头文件都会在手册中给出
3.自定义函数C语言也容许顾客自己编写函数以实现C库函数中没有提供的功能,称作自定义函数
4.定义函数C语言规定每个函数都要独立定义,函数定义不能嵌套函数定义的形式数据类型函数名(形参表)形参阐明语句序列{阐明语句序列可执行语句序列}
5.函数调用函数调用的形式是函数名(实参表)当实参表中有多种参数时,要用逗号隔开,若被调函数无参数,调用时小括号也不能省函数调用过程是:将实参时值传给形参,在函数体内进行加工处理,然后由return语句将函数值返回调用处
6.全局变量和局部变量局部变量在函数内部定义的变量称为局部变量,只在本函数中有效全局变量:在函数外部定义的变量称为全局变量,它的作用范围是从定义开始到本文件结束
6.动态存储与静态存储内存中的顾客数据辨别为动态存储区和静态存储区,动态存储区是指程序运行期间给变。
个人认证
优秀文档
获得点赞 0