教学工作的资源分享

《C语言程序设计》基本知识点。

职教云智慧职教

职教云智慧职教

《C语言程序设计》教育基本知识点第一章C语言基本知识1.C源程序框架

各C源程序的功能千变万化,但框架不变,主要有:编译预处理、主函数(,函数n )等,主函数的位置不一定在开头,在程序的中央或后面加上主函数的名称2.C语言源程序的编写规则:(1c源程序由一个主函数和几个其他函数组成。 ) 2函数名称后需要小括号,函数体放在大括号内。 (3C程序必须用小写写。

(4)在每个句子的末尾加加号。 ) 5可以有一行以上的句子。 ) 6一文多行也可以。 ) 7你可以在程序的任何地方发表评论。 3 .句子类型

句子是程序的基本组成部分,程序的执行是通过一个句子的执行来实现的,根据表达形式和功能的不同,C语言的基本句子可以分为五类。 (1流控制语句

流控制语句的功能是控制程序流程,程序流程有三个基本结构:顺序结构、分支结构、循环结构,任何复杂的程序都可以由这三个基本结构复合而成。 后两种结构用特定过程控制语句实现。 (2式语句的公式语句的形式是:式; 中选择所需的族。 表达式后加分号';' 分号是句子的结尾,是句子中不可缺少的成分。 与公式语句的区别在于,公式表示数值,而公式语句表示操作。 最常见的表达式语句是赋值语句。 (3函数调用语句函数调用语句实际上也是表达式语句,格式为:在每次函数调用的小括号后加分号。 (4空文

空语句的形式是分号,不表示任何动作,多用作语义的转折点。 (5复合句

复合句在形式上是多个句子的组合,但在语法意义上相当于一个句子,无论哪个单句存在的地方都可以是复合句。 请注意,分号在复合语句最后一句的末尾是必不可少的。 复合语句的右大括号后没有分号。 4 .运算符

表示数据各种操作的符号称为运算符。 运算符实际上表示数据类型的运算规则。 运算符不同,运算规则也不同,操作的数据类型必须满足该运算符的要求,运算结果的数据类型也必须是固定的。 根据参与操作的数据个数,可以将C语言运算符分为单眼运算符、双目运算符和三眼运算符(根据运算对象和运算结果的数据类型分为算术运算符、关系运算符、逻辑运算符等)。 5 .公式

表达式是由常量、变量、函数和运算符连接的公式。 常数、变量或函数可以视为表达式。 公式的种类有:算术公式、关系公式、逻辑公式、代入公式、字节公式、强制型变换公式、逗号公式(顺序公式、条件式、指针公式)。 6 .数据输入和输出

C语言本身没有输/输语句,数据的输入输出是通过调用库函数实现的。 第二章数据型知识点

划分数据类型的含义是编译系统为不同类型的数据分配给内存的字节数不同,不同类型的数据可以按规定参加不同类型的运算。 1.C语言的数据类型

数据类型包括:整数型、字符型、实数型单精度型、双精度型、构造型数组型、结构型、联合型、枚举型、指针型和空型。 其中整数型、实数型和字符型是c语言的基本类型。 2 .各种数据的定义方法定义格式:数据类型变量名1、变量名2、变量名n; 3 .常量和变量

(1常数--程序运行期间值不变的量。 无法分配。 (2变量--程序运行期间值可以更改的量。 4 .各种数据的混合运算

各种类型的数据在运算前自动转换为同一类型。 如法则右所示,表示从右向左箭头一定要变换,例如float型的数据运算提前到double型来提高运算精度,但结果也是double型、short或char型的数据运算提前到int型,结果也是int型从下到上的箭头表示方向转换正在接近高水平。 5 .需要对强制型转换数据进行型转换,机器无法自动完成时,需要将强制型转换转换为: (数据型符号(转换对象。 第三章选择知识点

用c语言实现选择结构的控制语句有:条件分支语句if和开关分支语句switch两种。 1.if语句的三种形式:(1if )表达式语句; (2 if )表达式语句1; else文2;

(3 if )式1文1; else if (式2文2; else if (式3文3; else if (表达式n语句n; 2 .交换机分支语句switch(1格式switch )表达式

{ case e1:文1; 黑; case e2:文2; 黑; case e3:文3; 黑; case en:文n; 黑; default :语句n 1; }

(2功能

当表达式的值等于e1时,执行语句1; 当表达式的值等于e2时,执行语句2;如果表达式的值等于en,则执行语句n;

提高教学质量的方法和措施

提高教学质量的方法和措施

C语言有三个循环语句。 1.while循环语句的形式为:while (公式() ) ) ) ) ) ) ) ) )。

循环体;

执行步骤是先计算:表达式的值,如果表达式的值不为0,则执行循环体,然后判断表达式的值,重复以上步骤; 表达式值为0时结束循环。 2.do-- while循环语句的格式为:do  {

  循环体

  } while(表达式;

  执行过程是:先执行循环体一次,再判断表达式的值,当表达式的值非0时就再执行循环体,之后再判断表达式的值,且重复以上过程;当表达式的值为0时就结束循环。  3.for循环语句  形式为:for(表达式1;表达式2;表达式3  { 循环体}

  4.三种循环语句的比较

  三种循环语句可以完成同一件事,可任选其一。

  使用while和do-- while循环时,要提前给循环变量赋初值。而for循环是在表达式1中赋初值的。while循环和for循环都是先判断条件后执行循环体,有可能一次也不执行循环体,do-- while循环是先执行循环体,后判断条件,即循环体至少也得执行一次。for循环不限于计数循环,其循环条件可以是逻辑表达式和字符表达式等。  5.循环嵌套  三种循环控制语句可以互相嵌套,即在一个循环体内部又可以出现另一循环,这种嵌套在理论上来说可以是无限的。注意必须是一个循环完整的套住另一个循环。  6.break语句

  break语句只能出现在三种循环语句和switch多分支语句中,其作用是用来中断这四种语句的执行。当程序执行到break语句时,会跳出break语句所在的循环或switch分支,而直接执行紧跟在它们后面的语句。  7.continue语句  continue语句只能出现在三种循环语句中,当程序执行到continue语句时,其作用是提前结束本次循环,自动跳过循环体中后半部剩余的语句的执行,而直接回到循环条件判断。根据判断的结果决定是否继续执行下次循环。  8. goto 语句  goto语句是一种非结构化语句,其作用是使程序的执行无条件的转移到某一处。使用格式为: goto 标号;利用goto语句与if条件语句配合,也可以实现条件循环。C语句允许在任何语句前添加标号,作为跳转目标,标号的构成是标识符后面加一个":"。  第五章数组知识点  数组就是同类型的一批数据的集合,用一个变量名存放,区分各元素的办法是用下标。  1.一维数组

  类型说明符数组名\[数组长度\];  (1数组命名要符合标识符的命名规则。  (2数组名后的括号必须是方括号,不能是圆括号。  (3数组长度必须是正整数,可以是个表达式,但不能有变量,C语言不支持动态数组。  (4数组长度表示数组中元素的个数  (5数组元素的下标从0开始数,所以最大下标是数组的长度减1。  2.多维数组(以二维为例  类型说明符数组名\[第一维长度\]\[第二维长度\];  (1数组命名要符合标识符的命名规则。  (2数组名后的括号必须是两个方括号,定义时不能写成inta\[3,4\];。  (3数组长度必须是整型常量表达式。  (4第一维长度表示数组行数,第二维长度表示数组列数。

  (5每个数组元素都有两个下标,第一维表示该元素所在的行,第二维表示该元素所在的列,每一维  的下标都从0开始数。

  二维数组的初始化:C语言规定只有静态数组和外部数组才允许在定义时赋初值,赋初值形式如下: static类型说明符数组名\[第一维长度\]\[第二维长度\]={初值表};  二维数组的引用:二维数组不能整体引用,要引用数组的单个元素,形式为:数组名\[下标\]\[下标\]和普通变量的使用无任何区别。  3.字符数组  C语言中没有字符串变量,字符串是靠字符数组实现的,所谓字符数组就是元素的数据类型为字符型的数组。  (1字符数组的定义形式:char数组名\[数组长度\];

  因为C语言中的整型数据和字符型数据是相通的,所以也可以这样定义:int数组名\[数组长度\]; (2字符数组的初始化:给字符数组的初始化有两种方式,一种是用字符常量,另一种是用字符串。形式如下:  staticchar数组名\[数组长度\]={字符常量表};  staticchar数组名\[数组长度\]={字符串常量};  4.数组与函数

  数组经常作为函数的参数,数组做函数的参数有两种形式,一是数组元素做函数的参数,一是数组名做函数的参数,当用数组名做函数的实参时传送的是首地址。  5.常用的字符串处理函数

  C语言提供了一些处理字符串的标准函数,用以完成一些常见的操作。对以下几个函数要掌握其功能和调用形式。  (1gets(字符数组名此函数功能是从键盘输入一串字符,回车后送到字符数组中,注意定义数组时数组长度要足够大。  (2puts(字符数组名此函数功能是将字符数组的内容输出到屏幕上。  (3strcat(字符数组名1,字符数组名2此函数功能是将字符数组1中的'\\0'去掉后将字符数组2的内容连接到字符数组1的末尾。

  (4strcpy(字符数组名1,字符数组名2函数功能是将字符数组2的内容(包括'\\0'拷贝到字符数组1中,字符数组2处也可以是字符串常量。strcpy函数可以实现拷子串。  (5strcmp(字符数组名1,字符数组名2函数功能是两个字符串(ASCII码比大小。  (6strlen(字符数组名此函数功能是求字符串的长度,注意不包括'\\0'。  (7strlwr(字符数组名此函数功能是将字符串中的所有大写字母都变成小写。  (8strupr(字符数组名此函数功能是将字符串中的所有小写字母都变成大写。  第六章函数知识点  每个C源程序都是由函数组成的,一个主函数和若干个其它函数,C语言程序设计的基础工作就是函数的具体编写,C语言中的函数就相当于其它高级语言中的子程序。  1.函数的概念

  函数就是一个数据加工厂,从函数外部接收数据,在函数内部加工处理,然后得到一个结果返回给外部的调用者。所以函数就是对语言功能的扩充,对函数的调用就是对功能的调用。

提高教学质量

提高教学质量

  各种高级语言都定义了一些标准函数,C语言中的标准函数称为库函数,是将一些基本的、常用的功能编成了函数,供大家使用方便。使用库函数时必须把它的头文件用#include命令包含进来,每个库函数的功能及对应的头文件都会在手册中给出。  3.自定义函数  C 语言也允许用户自己编写函数以实现C库函数中没有提供的功能,称作自定义函数。  4.定义函数

  C语言规定每个函数都要独立定义,函数定义不能嵌套。  函数定义的形式:数据类型函数名(形参表  形参说明语句序列  { 说明语句序列  可执行语句序列}  5.函数调用

  函数调用的形式是:函数名(实参表。当实参表中有多个参数时,要用逗号隔开,若被调函数无参数,调用时小括号也不能省。函数调用过程是:将实参的值传给形参,在函数体内进行加工处理,然后由return语句将函数值返回调用处。  5.全局变量和局部变量  局部变量:在函数内部定义的变量称为局部变量,只在本函数中有效。

  全局变量:在函数外部定义的变量称为全局变量,它的作用范围是从定义开始到本文件结束。6.动态存储与静态存储

  内存中的用户数据区分为动态存储区和静态存储区,动态存储区是指程序运行期间给变量临时分配存储单元,变量用完后立即释放单元的区域,动态存储区放的是函数的形参、自动变量、函数调用期间的现场保护数据和返回地址。  静态存储区是指程序运行期间给变量分配固定的存储单元,放的是全局变量和局部静态变量。  一个变量除了它的数据类型以外还有存储类型,定义一个变量时应该说明这两种类型。  第七章预处理知识点

  对高级语言编译连接就是把源程序转换成机器语言,C语言在进行编译之前还要预先处理三件事:宏定义命令、文件包含命令和条件编译命令,统称为预处理命令,其特点是:  1.所有的预处理命令都放在程序的头部,以#开头,且#号后面不留空格。  2.预处理命令不是C的语句,行尾不加分号。

  3.预处理命令是在编译预处理阶段完成的,所以它们没有任何计算、操作等执行功能。  4.预处理命令有所变动后,必须对程序重新进行编译和连接。  1.宏定义  宏定义命令的作用是给一些常用的对象重新命名,在程序中可以用宏名来引用这些对象,预处理时宏名会被代表的内容替换,此过程称为宏展开或宏替换。宏定义有两种形式:  2.文件包含  使用文件包含命令可以将另-个C源程序的全部内容包含进来,其形式为:  #include <文件名>或#include "文件名"  通常可以把经常用到的,带公用性的一些函数或符号等集合在...起形成一个源文件,然后用此命

  令将这个源文件包含进来,这样可以避免在每个新程序中都要重新键入这些内容。 3.条件编译 顾名思义满足条件时进行编译,为了解决程序移植问题,C 语言提供了条件编译命令,它能使源 程序在不同的编译环境下生成不同的目标代码文件。条件编译命令有 3 种形式。 第八章 指针知识点 1.什么是指针和指针变量? 指针就是内存地址,因为通过"地址"可以找到变量,所以内存"地址"形象的称为指针。 指针变量就是存地址的变量。在 C 语言中用一个变量存另一个变量的地址,那么就称这个变量为 指针变量,指针变量的值就是地址。通常指针变量被简称为指针。 指针变量是有类型的,即指针值增 1 表示指向下一个数据,如整型数据在内存中占两个字节,它 的指针变量增 1 是增两个字节。如实型数据在内存中占 4 个字节,它的指针变量增 1 是增 4 个字节。 2.怎样定义指针变量? 定义形式为:数据类型*指针变量名 1,*指针变量名 2......; 3.指针的有关运算 指针为内存地址是整数,可以进行一些算术运算、关系运算、赋值运算、特殊运算等,但要注意运算 代表的实际意义。 4.指向数组的指针变量 (1指向数组元素的指针变量定义形式为:inta\[10\]; int*p=a; (2指向一维数组的指针变量 定义形式为:inta\[3\]\[4\]; int(*p\[4\]; p=a; (3指向字符串的指针变量 定义形式为: char*p="字符序列"; C 语言中的字符串是以隐含形式的字符数组存放的, 定义了指针变量 p 并不是将整个字符串都存放在 p 中了,而 p 中存放的是字符串的首地址。 5.指向函数的指针变量 一个函数在编译时被分配一个入口地址,这个地址就是函数的指针,可以用一个指针变量指向它。指 向函数的指针变量定义形式为: 数据类型(*指针变量名; 6.指针变量做函数的参数 (1指针作函数的参数可以传送地址,如数组的首地址,函数的入口地址等。 (2指针作函数的参数也可以用地址方式传送数据。 7.返回值是指针的函数 即函数的返回值是内存的地址,利用这种方法可以将一个以上的数据返回给函数的调用者。定义 形式如下: 数据类型*函数名(形参表) 8.指针数组 定义形式为:数据类型*数组名\[数组长度\]; 数组中的每个元素都是指针类型的数据,这种数组被称为指针数组。 9.指向指针的指针 定义形式为:数据类型**指针变量名; 指向指针数据的指针变量称为指向指针的指针。 10.main 函数的形参 6   main 函数可以带两个形参,如: main(argc,argv intargc; char *argv\[\]; { ...... } 11.指向结构体的指针变量 结构体变量的指针就是该变量所占据的内存段的首地址。 指向结构体的指针变量定义形式为: struct 结构体类型名*指针变量名; 12.指向共用体的指针变量 共用体变量的指针就是该变量所占据的内存段的首地址。指向共用体的指针变量定义形式为: union 共用体类型名*指针变量名; 替换了的字符时(这里为正中间的字符"4",原来的字符己不复存在。 结构体与共用体知识点 第九章 结构体与共用体知识点 结构体类型是 C 语言的一种构造数据类型,它是多个相关的不同类型数据的集合,相当于其它高 级语言中的记录。 1.结构体类型定义 结构体类型的形式为: struct 结构体类型名 { 数据类型成员名 1; ... 数据类型成员名 n; } 2.结构体变量的定义 结构体变量有三种定义形式: (1先定义结构体类型,后定义结构体变量。 (2定义结构体类型的同时定义结构体变量。 (3不定义结构体类型名,直接定义结构体变量。 3.结构体变量的引用 (1结构体变量的初始化:许多 C 版本规定对外部或静态存储类型的结构体变量可以进行初始化,而对 局部的结构体变量则不可以,新标准 C 无此限制,允许在定义时对自动变量初始化。 (2结构体成员的引用:由于 C 语言一般不允许对结构体变量的整体引用,所以对结构体的引用只能是 对分量的引用,结构体变量中的任一分量可以表示为:结构体变量名·成员名 4.结构体与数组 C 语言中数组的成员可以是结构体变量,结构体变量的成员也可以是数组。 结构体数组有三种定义形式: (1先定义结构体类型,后定义结构体数组。 (2定义结构体类型的同时定义结构体数组。 (3不定义结构体类型名,直接定义结构体变量。 5.结构体与指针 一方面结构体变量中的成员可以是指针变量,另一方面也可以定义指向结构体的指针变量,指向 结构体的指针变量的值是某一结构体变量在内存中的首地址。 结构体指针的定义形式:struct 结构体类型名*结构体指针变量名。 由结构体指针引用结构体成员的方法 7   6.用指针处理链表 结构体的成员可以是指针类型,并且这个指针类型就是本结构体类型的,这样可以构造出一种动 态数据结构-成为链表。所谓动态数据就是指在编译时不能确定数据量的多少,而是在程序执行时才 确定的数据,动态数据可以比较方便的进行数据插人或删除等操作。 7.结构体与函数 结构体变量的成员可以作函数的参数、指向结构体变量的指针也可以作函数的参数。虽然结构体 变量名也可以作为函数的参数,将整个结构体变量进行传递,但一般不这样做,因为如果结构体的成 员很多,或者有些成员是数组,则程序运行期间,将全部成员一个一个的传递,既浪费时间,又浪费 空间,开销太大。 8.结构体与共用体 结构体变量中的成员可以是共用体,共用体变量中的成员可以是结构体。 1.共用体类型定义 union 共用体类型名 { 数据类型成员名 1; ... 数据类型成员名 n; } 2.共用体变量定义 (1先定义类型,后定义变量。 (2定义类型的同时定义变量。 (3不定义类型名,直接定义变量。 3.共用体变量的引用 (1共用体变量不能整体引用,只能引用其成员,形式为:共用体变量名·成员名 (2共用体变量的成员不能初始化,因为它只能放一个数据。 (3共用体变量存放的数据是最后放入的数据。 (4共用体变量的长度是最大的成员的长度。 (5可以引用共用体变量的地址、各个成员的地址,它们都是同一个地址。 (6共用体变量不能当函数的参数或函数的返回值,但可以用指向共用体变量的指针作函数的参数。 (7共用体变量的成员可以是数组,数组的成员也可以是共用体变量。 第十章 位运算知识点 位运算就是按二进制位进行操作的运算,运算的对象只能是整型或字符型,不能是实型。不同长 度的变量进行位运算,系统会自动右对齐,而左端的不齐部分,对于无符号数左端补满 0,对于有符号 数则:正数左端补满 0,负数左端补满 1。 第十一章 文件知识点 操作系统是以文件为单位对数据进行管理的, 任何一种计算机高级语言都要有和磁盘文件打交道的 能力,否则该语言的功能充其量是算一算、显示显示而已。在 C 语言中没有单独的文件操作语句,所 有对文件的操作都是通过库函数来完成的,所以本章的重点是学会使用有关文件操作的库函数。 1.文件的基本概念 2.文件类型指针 3.文件的操作 8

随机看看

NEW ARTICLE

标签

Tag