c语言程序设计教程知识点总结(c语言程序设计基础知识点总结)

程序设计 565
本篇文章给大家谈谈c语言程序设计教程知识点总结,以及c语言程序设计基础知识点总结对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、c语言程序设计学什么

本篇文章给大家谈谈c语言程序设计教程知识点总结,以及c语言程序设计基础知识点总结对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

c语言程序设计学什么

什么是C语言?C语言的简介。

C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。

它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。

因此,它的应用范围广泛,不仅仅是在软件开发上,而且各类科研都需要用到C语言,具体应用比如单片机以及嵌入式系统开发。

语言特点:C是中级语言/C是结构式语言/C语言功能齐全/C语言适用范围大/简洁紧凑、灵活方便/运算符丰富/数据类型丰富/C是结构式语言/语法限制不太严格,程序设计自由度大/适用范围大,可移植性好。

如果能把C语言的要点给我列的在详细一点就更好了

C语言知识要点——转给那些还没把书看完的同志们

来源: 李志远的日志

1.C源程序的框架

尽管各个C源程序的功能千变万化,但框架是不变的,主要有:编译预处理、主函数()、函数n()等,主函数的位置不一定在最前面,可以在程序的中部或后面,主函数的名字固定为main。

2.C语言源程序的书写规则:

(1)C源程序是由一个主函数和若干个其它函数组成的。

(2)函数名后必须有小括号,函数体放在大括号内。

(3)C程序必须用小写字母书写。

(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语句的三种形式:

(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

(1)形式

switch(表达式)

{ case e1:语句1;break;

case e2:语句2;break;

case e3:语句3;break;

......

case en:语句n;break;

default :语句n+1;

}

(2)功能

当表达式的值等于e1时,执行语句1;

当表达式的值等于e2时,执行语句2;

......

当表达式的值等于en时,执行语句n;

当表达式的值与常量e1、e2......en谁都不等时,就执行default后的语句

第四章 循环知识点

循环就是在程序执行过程中,反复多次的执行同一段程序。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语言提供了一些处理字符串的标准函数,用以完成一些常见的操作。对以下几个函数要掌握其功能和调用形式。

(1)gets(字符数组名)此函数功能是从键盘输入一串字符,回车后送到字符数组中,注意定义数组时数组长度要足够大。

(2)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源程序都是由函数组成的,一个主函数和若干个其它函数,C语言程序设计的基础工作就是函数的具体编写,C语言中的函数就相当于其它高级语言中的子程序。

1.函数的概念

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

2.标准函数

各种高级语言都定义了一些标准函数,C语言中的标准函数称为库函数,是将一些基本的、常用的功能编成了函数,供大家使用方便。使用库函数时必须把它的头文件用#i nclude命令包含进来,每个库函数的功能及对应的头文件都会在手册中给出。

3.自定义函数

C 语言也允许用户自己编写函数以实现C库函数中没有提供的功能,称作自定义函数。

4.定义函数

C语言规定每个函数都要独立定义,函数定义不能嵌套。

函数定义的形式:数据类型函数名(形参表)

形参说明语句序列

{ 说明语句序列

可执行语句序列 }

5.函数调用

函数调用的形式是: 函数名(实参表)。当实参表中有多个参数时,要用逗号隔开,若被调函数无参数,调用时小括号也不能省。函数调用过程是:将实参的值传给形参,在函数体内进行加工处理,然后由return语句将函数值返回调用处。

5.全局变量和局部变量

局部变量:在函数内部定义的变量称为局部变量,只在本函数中有效。

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

6.动态存储与静态存储

内存中的用户数据区分为动态存储区和静态存储区,动态存储区是指程序运行期间给变量临时分配存储单元,变量用完后立即释放单元的区域,动态存储区放的是函数的形参、自动变量、函数调用期间的现场保护数据和返回地址。

静态存储区是指程序运行期间给变量分配固定的存储单元,放的是全局变量和局部静态变量。

一个变量除了它的数据类型以外还有存储类型,定义一个变量时应该说明这两种类型。

第七章 预处理知识点

对高级语言编译连接就是把源程序转换成机器语言,C语言在进行编译之前还要预先处理三件事:宏定义命令、文件包含命令和条件编译命令,统称为预处理命令,其特点是:

1.所有的预处理命令都放在程序的头部,以#开头,且#号后面不留空格。

2.预处理命令不是C的语句,行尾不加分号。

3.预处理命令是在编译预处理阶段完成的,所以它们没有任何计算、操作等执行功能。

4.预处理命令有所变动后,必须对程序重新进行编译和连接。

1.宏定义

宏定义命令的作用是给一些常用的对象重新命名,在程序中可以用宏名来引用这些对象,预处理时宏名会被代表的内容替换,此过程称为宏展开或宏替换。宏定义有两种形式:

2.文件包含

使用文件包含命令可以将另—个C源程序的全部内容包含进来,其形式为:

#i nclude <文件名>或#i nclude "文件名"

通常可以把经常用到的,带公用性的一些函数或符号等集合在...起形成一个源文件,然后用此命令将这个源文件包含进来,这样可以避免在每个新程序中都要重新键入这些内容。

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函数的形参

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结构体类型名*结构体指针变量名。

由结构体指针引用结构体成员的方法

6.用指针处理链表

结构体的成员可以是指针类型,并且这个指针类型就是本结构体类型的,这样可以构造出一种动态数据结构—成为链表。所谓动态数据就是指在编译时不能确定数据量的多少,而是在程序执行时才确定的数据,动态数据可以比较方便的进行数据插人或删除等操作。

7.结构体与函数

结构体变量的成员可以作函数的参数、指向结构体变量的指针也可以作函数的参数。虽然结构体变量名也可以作为函数的参数,将整个结构体变量进行传递,但一般不这样做,因为如果结构体的成员很多,或者有些成员是数组,则程序运行期间,将全部成员一个一个的传递,既浪费时间,又浪费空间,开销太大。

8.结构体与共用体

结构体变量中的成员可以是共用体,共用体变量中的成员可以是结构体。

共用体

为了节省存储空间,C语言允许将几种不同类型的数据存放在同一段内存单元,它们共用一个起始地址,称做共用体。

1.共用体类型定义

union共用体类型名

{ 数据类型成员名1;

...

数据类型成员名n;

}

2.共用体变量定义

(1)先定义类型,后定义变量。

(2)定义类型的同时定义变量。

(3)不定义类型名,直接定义变量。

3.共用体变量的引用

(1)共用体变量不能整体引用,只能引用其成员,形式为:共用体变量名·成员名

(2)共用体变量的成员不能初始化,因为它只能放一个数据。

(3)共用体变量存放的数据是最后放入的数据。

(4)共用体变量的长度是最大的成员的长度。

(5)可以引用共用体变量的地址、各个成员的地址,它们都是同一个地址。

(6)共用体变量不能当函数的参数或函数的返回值,但可以用指向共用体变量的指针作函数的参数。

(7)共用体变量的成员可以是数组,数组的成员也可以是共用体变量。

第十章 位运算知识点

位运算就是按二进制位进行操作的运算,运算的对象只能是整型或字符型,不能是实型。不同长度的变量进行位运算,系统会自动右对齐,而左端的不齐部分,对于无符号数左端补满0,对于有符号数则:正数左端补满0,负数左端补满1。

第十一章 文件知识点

操作系统是以文件为单位对数据进行管理的,任何一种计算机高级语言都要有和磁盘文件打交道的能力,否则该语言的功能充其量是算一算、显示显示而已。在C语言中没有单独的文件操作语句,所有对文件的操作都是通过库函数来完成的,所以本章的重点是学会使用有关文件操作的库函数。

1.文件的基本概念

2.文件类型指针

3.文件的操作

c语言课程的总结

1.先学习C语言的基础知识。现在正在学C语言的在校学生可以直接进入第2步学习。

2.按照《C语言程序设计入门学习六步曲》进行上机练习。

3.在上机练习时要养成良好的编程风格。点击查看C语言的编程风格

4.积极参加C、C++兴趣小组,养成和老师与同学交流习惯,从而相互收益。有时别人不经意的一句话可能使你茅塞顿开--“一句话点醒梦中人”。

5.及时总结自己的学习经验,养成写C语言日记的习惯。软件有编程日记功能。

6.从网上或教材上找一个自己感兴趣的题目(选题时根据自己的能力,可先易后难,培养自己的成就感,如果有了成就感,即使再苦再累还是感觉C语言学习是一件快乐的事,同学们喜欢打游戏,经常通宵达旦地玩游戏也乐而不疲就是这个道理)进行实战训练,提高自己的C语言综合应用能力。

7. 由于C语言灵活、强大,初学者要全面地掌握它是不可能的,因此在学习C语言的过程中,不要在细枝末节上浪费精力(比如++、--用于表达式的计算,实际上是没有意义的),但一定要熟练掌握C语言的流程控制语句、数组、函数、指针等基础知识的应用,为学习面向对象程序设计打下坚实的基础。如果这些知识你学不好,要后续学习好C++、可视化的程序设计Visual C++或C++Builder就像空中楼阁,是不现实的。

C语言程序设计入门学习六步曲

笔者在从事教学的过程中,听到同学抱怨最多的一句话是:老师,上课我也能听懂,书上的例题也能看明白,可是到自己动手做编程时,却不知道如何下手。发生这种现象的原因有三个:

一、所谓的看懂听明白,只是很肤浅的语法知识,而我们编写的程序或软件是要根据要解决问题的实际需要控制程序的流程,如果你没有深刻地理解C语言的语句的执行过程(或流程),你怎么会编写程序解决这些实际问题呢?

二、用C语言编程解决实际问题,所需要的不仅仅是C语言的编程知识,还需要相关的专业知识。例如,如果你不知道长方形的面积公式,即使C语言学得再好你也编不出求长方形的面积的程序来。

三、C语言程序设计是一门实践性很强的课程,“纸上谈兵”式的光学不练是学不好C语言的。例如,大家都看过精彩自行车杂技表演,假如,你从来没有骑过自行车,光听教练讲解相关的知识、规则、技巧,不要说上台表演、就是上路你恐怕都不行。

出现问题原因清楚了,那么如何学习呢?请你看【C语言学习六步曲】

在程序开发的过程中,上机调试程序是一个不可缺少的重要环节。“三分编程七分调试”,说明程序调试的工作量要比编程大得多。这里以如何上机调试C程序来说明C语言的学习方法。

第一步、验证性练习

在这一步要求按照教材上的程序实例进行原样输入,运行一下程序是否正确。在这一步基本掌握C语言编程软件的使用方法(包括新建、打开、保存、关闭C程序,熟练地输入、编辑C程序;初步记忆新学章节的知识点、养成良好的C语言编程风格)。

初学者最容易犯的错误是:

1、没有区分开教材上的数字1和字母l,字母o和数字0的区别,造成变量未定义的错误。另一个易错点是将英文状态下的逗号,分号;括号()双引号""输入出入成中文状态下的逗号,分号;括号(),双引号“”造成非法字符错误。

2、C语言初学者易犯语法错误:使用未定义的变量、标示符(变量、常量、数组、函数等)不区分大小写、漏掉“;”、“{”与“}”、“(”与“)”不匹、控制语句(选择、分支、循环)的格式不正确、调用库函数却没有包含相应的头文件、调用未C声明的自定义函数、调用函数时实参与形参不匹配、数组的边界超界等。

3、修改C语言语法错误时要注意以下两点:

(1)、由于C语言语法比较自由、灵活,因此错误信息定位不是特别精确。例如,当提示第10行发生错误时,如果在第10行没有发现错误,从第10行开始往前查找错误并修改之。

(2)、一条语句错误可能会产生若干条错误信息只要修改了这条错误,其他错误会随之消失。特别提示:一般情况下,第一条错误信息最能反映错误的位置和类型,所以调试程序时务必根据第一条错误信息进行修改,修改后,立即运行程序,如果还有很多错误,要一个一个地修改,即,每修改一处错误要运行一次程序。

第二步、照葫芦画瓢

在第一步输入的C程序的基础上进行试验性的修改,运行一下程序看一看程序结果发生了什么变化,分析结果变化的原因,加深新学知识点的理解。事实上这和第一步时同步进行的,实现“输入”加深知识的记忆,“修改”加深对知识的理解。记忆和理解是相辅相成的,相互促进。

例如:将最简单的Hello World!程序

#include "stdio.h"

int main()

{

printf("Hello World!\n");

return 0;

}

中的

printf("Hello World!\n");

中的Hello World!改成你的姓名,运行一下程序,看有什么变化?

再如求1+2+3...+100的和的程序

#include stdio.h

main()

{

int i,sum=0;

for(i=1;i=100;i++)

{

sum=sum+i;

}

printf("sum=%d\n",sum);

}

第1次将for(i=1;i=100;i++)中的100改成50,运行一下程序,看有什么变化?

第2次将for(i=1;i=100;i++)中的i++改成i=i+2,运行一下程序,看有什么变化?

找出程序结果变化的原因,就加深了对C语句的理解。

第三步、不看教材看是否能将前两步的程序进行正确地输入并运行。

在这一步要求不看教材,即使程序不能运行,看能否将其改正,使其能正确运行。目的是对前两步的记忆、理解进一步强化。

第四步、增强程序的调试能力

在教材中每章都有C语言初学者易犯的错误,按照易出错的类型,将教材中的正确的程序改成错误的程序,运行一下程序,看出现的错误信息提示,并记下错误信息,再将程序改成正确的,运行一下程序。这样反复修改,就能够学习C语言程序发生错误的原因和修改错误的能力。

注意:每次只改错一个地方,目的是显示发生该错误的真正原因,避免一次改动多个地方,搞清发生错误的真正原因,切记!!!!

注意:上机调试程序时要带一个记录本,记下英文错误提示信息和解决该错误问题的方法,积累程序调试经验,避免在编程犯同样的错误,切记!!!!。

例如,将Hello World程序中语句

printf("Hello World!\n");

中的;改成中文的分号;

运行一下程序,看有什么结果?

调试程序是一种实践性很强的事,光纸上谈兵是是没用的,就像游泳运动员只听教练讲解示范,而不亲自下水练习,是永远学不会游泳的。

即使在优秀的程序员编写程序也会犯错误的,可能事最低级的语法错误,但他能快速发现错误并改正错误,而我们C语言初学者面对错误提示,不知道发生了什么错误,如何改正,这就事差别。

第五步、研究典型的C语言程序,提高程序设计能力

C语言初学者遇到最多的困惑是:上课也能听懂,书上的例题也能看明白,可是到自己动手做编程时,却不知道如何下手。发生这种现象的原因是:所谓的看懂听明白,只是很肤浅的语法知识,而没有深刻地理解C语言的语句的执行过程(或流程)。

计算机是按照人的指令(编写的程序)去执行的,如果不知道这些C语句在计算机中是如何执行的,你怎么回灵活运用这些知识去解决实际问题呢?

解决问题的方法是要先理解C语言各种语句的流程(即计算机是如何执行这些语句的过程),然后研读现成C语言经典程序,看懂别人事如何解决问题的,以提高自己的程序设计能力。

第六步、研究课程设计源成序,提高C语言的综合应用能力.

c语言程序设计的重点

重点:

首先是第三章 数据类型、运算符、表达式

这些都是基础,很简单,但是不看的话后面写程序经常会出错的

第四章 第五章 第六章 主要讲程序设计结构,

掌握三种程序设计结构:顺序结构、选择结构、循环结构即可

第七章数组第八章指针很重要!如果你还要学习数据结构等等,那么最好掌握结构体哪一章

应该说 数组、指针、结构体 是c中最难也最重要的知识点吧!不过也不是很难啦 呵呵~难只是一个传说

c语言程序设计教程知识点总结的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c语言程序设计基础知识点总结、c语言程序设计教程知识点总结的信息别忘了在本站进行查找喔。

扫码二维码