C语言入门必须掌握的75个知识点培训讲学Word格式.docx
《C语言入门必须掌握的75个知识点培训讲学Word格式.docx》由会员分享,可在线阅读,更多相关《C语言入门必须掌握的75个知识点培训讲学Word格式.docx(7页珍藏版)》请在冰豆网上搜索。
![C语言入门必须掌握的75个知识点培训讲学Word格式.docx](https://file1.bdocx.com/fileroot1/2022-11/16/4e777a28-2a26-4c26-9564-28a1326b7cb9/4e777a28-2a26-4c26-9564-28a1326b7cb91.gif)
5、关于putchar函数------putchar函数即字符输出函数,表示向输出设备(显示器输出一个字符。
无论用户输作何种输入,函数都只会输出字符(putchar(65输出结果是“A”,putchar(„65‟输出结果是“65”;
putchar函数可以通过输出控制字符,让程序执行某种指令(putchar(„\n‟则程序会执行换行指令。
6、教材在介绍格式符的章节里有不准确的地方(见P33------d格式符、s格式符、f格式符的介绍里,“m”应是最少输出位数(书上的描述是“总位数”:
%md,%ms,%mf,分别对应------输出最少m位整型数据,m位字符串,m位浮点数,位数不足时左补空格。
7、对于我们来说,C语言不仅是一门必修课。
现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机,单片机的前景是很广阔的(有兴趣的同学可以向老师咨询或者上网了解,要设计出现代化的电子产品无疑要懂得用单片机。
单片机的运行全靠程序,不把程序设计学好如何谈得上使用?
所以,希望各位能够重视C语言这门课程。
8、定义变量时不能使用赋值语句。
”inti=j=k=0;
”这种定义方法有误,要正确定义变量并对变量进行初始化,则应修改成“inti=0,j=0,k=0;
”(顺带提醒一下,每个语句的结尾都应该添上“;
”
9、关于if语句------“if(”括号里面输入的数据或表达式是其判定条件,只要数据或表达式对应的值非零,便会执行if语句之后的语句,反之不执行。
(如语句“if(a=0”,具体是把0值赋给a,括号里的数值是0,则不执行if语句之后的内容
10、基础知识巩固------结构化程序设计的三种基本结构:
顺序结构、选择结构、循环结构;
算法的4种表示方式:
自然语言、伪码、流程图、N-S图。
对于一些基础的C语言知识最好能够做到心中有数,不仅是为了巩固基础,这些内容以后考试也会涉及到的。
11、强制类型转换------运用强制转换运算符可以实现对变量的数据类型进行转换,强制转换运算符的格式为“(类型名”,如(int,是其中一种强制转换运算符。
(intx+y------只对变量x进行强制转换;
(int(x+y------对x+y的值进行强制转换。
12、条件运算符------运算优先等级低于关系运算符,高于赋值运算符。
条件运算符的结合性是自右至左,使用时有以下技巧:
第一个条件运算符的“:
”后面的内容加上括号(手机无法正常显示例子,详见P46中条件运算符的介绍。
13、利用关系运算符对字符和数据进行比较时,要先将字符转换成对应的ASCⅡ值。
如
“if(A==65”,要先将A转换成对应的ASCⅡ值(65,再和65进行比较。
14、continue语句和break语句的使用:
continue语句的作用只是跳过该次循环,转而进入下一次循环条件的判断,并不会中止整个循环;
break语句只能用在switch语句和循环体内,在循环体内的作用是直接终止整个循环体,不再进行任何循环条件判断和执行循环体内的语句。
15、对于无符号变量,二进制的最高位代表数据的最高位;
对于有符号变量,二进制的最高位数代表数据的符号位,仅用来决定数据是正数还是负数,在进行反码、补码运算时不参与运算。
16、使用case语句时一定要在case后面加空格(如“case1”,否则系统会把case与常量表达式一同识别为一个标识符(如“case1”,是一个标识符;
case后面一定要是一个常量表达式,不能是关系表达式或者别的表达式------常量表达式,必须的~
17、字符与字符,字符与数据均可以通过关系表达式进行比较。
进行比较时,字符先转换成对应的ASCⅡ值。
(if(A>
B先把A、B分别转换成65、66;
if(65>
B先把B转换成6618、逻辑运算符“非”(“!
”------书上说的原值取反并非取相反数。
逻辑“非”的运算法则中,“取反”是“取反义值”:
对非0值取0(如“!
2”等于0,代表“假”,对0取非0值(如“!
0”等于1,代表“真”;
凡是非0值都能代表“真”,C语言中的“真”默认用数值“1”来表示(即当运算结果为“真”时对应的数值是1。
19、循环结构中要让变量进行自增或自减时,既可以使用前缀自增自减(如++i,--i,也可以使用后缀自增自减(如i++,i--,互换两种增减方式对循环结构不造成影响,编写C程序时可按照自己的个人习惯进行选择。
(由于自增自减在循环结构中一般是独立语句,所以可以互换
20、编译器在求解逻辑表达式的值时,采用“非完全求解”的方法,并不是所以的逻辑运算符都被执行,只有在需要执行下一个逻辑运算才能求出表达式的解时,才继续运算(如“0&
&
2&
3”,0代表假,后两个表达式不必判断,运算立即终止
21、goto语句------goto语句的作用是无条件转向“语句标号”处执行(如“ibm:
x=a”中,“ibm:
”即为“语句标号”;
“语句标号”仅仅对goto语句有效,“语句标号”后面的语句在程序中照样会执行,也就是说“语句标号”不影响其后语句的执行,只是一个标记;
因为无条件转向使程序结构无规律、可读性差,一般应避免使用goto语句,除非它能大幅提高程序的执行效率。
22、1、强烈建议大家在写复杂程序之前先把算法写出来!
!
(一般来说,采用流程图来写算法比较方便2、while语句------条件符合时执行语句,直到不符合条件;
do-while语句------先执行语句,再进行判定,条件符合时继续执行语句。
两种“while”语句要视实际情况来使用。
23、用printf来输出浮点型数据时,一般格式为【printf(“%f”,浮点型变量或浮点型常量】,系统默认输出的浮点数有6位小数,如果需要增加或减少输出的小数位数,可以利用格式【printf(“%.nf”,浮点型变量或浮点型常量】,其中的n表示了输出的浮点数的小数位数。
(PS:
用格式【printf(“%lf”,浮点型变量或浮点型常量】无法改变小数位数24、如果被调函数的返回值是整型或字符型,可以不对被调函数进行声明,而直接调用。
这时,系统将自动对被调函数的返回值按整形处理。
(也就是说,在没有对函数返回值进行定义的情况下,系统默认为整型量
25、关于无参函数------一般情况下,无参函数没有返回值,此时函数类型标识符可以写为void,向系统表明该函数将不会返回任何值。
此外需要说明的是,如果要定义带返回值的无参函数,也是可以的。
(无参函数也可以有返回值,不过一般情况下让它有返回值也没多大意义
26、形参变量只有在函数被调用时才分配内存单元,在调用结束时,便会释放所分配的内存单元。
因此,形参只在本函数内部有效,函数调用结束返回主调函数后则不能再使用该形参变量了。
(也就是说,形参变量在使用过后便会“消失”
27、关于函数参数------把某个函数A作为另一个函数B的实际参数时,必须保证A函数有返回值【如sqrt(sum(a,b,sum函数必须有返回值】;
如果在A函数内,B函数和C函数同时充当A函数的实际参数,则按照自右向左的顺序求值(当求值顺序会影响函数结果时就要注意这一点。
【如printf(“%d,%d”,sum(a,b,sqrt(c,先计算sqrt函数的值】28、“void”是其中一个C语言关键字,用来对函数类型进行声明,表明函数不会有返回值;
被“void”声明了的函数不能用来给变量赋值,因为函数是没有值的。
29、主函数放最后的话,可以不用进行函数声明(如“voidfun(long”,是一个函数声明;
如果主函数不是放在最后,要保证所有函数在main函数出现之前已经声明了函数类型和形参变量类型。
30、初学者编写函数时的常见错误:
Ⅰ、函数体的花括弧或复合语句的花括弧不配对;
Ⅱ、调用函数时,实参与形参在个数、类型以及顺序上不匹配;
Ⅲ、调用库函数时忘记#include语句,调用自定义函数时忘记进行函数声明。
(其中第三点是最常见的错误,记得调用库函数时要加头文件
31、主函数中定义的变量只能在主函数中使用,不能在其他函数中使用。
同时,主函数中也不能使用其他函数中定义的变量。
主函数也是一个函数,虽然被称作“主函数”,但实际上它与其他函数是平行关系,应予以注意。
32、关于全局变量------1.它不属于哪一个函数,它属于一个源程序文件;
2.其作用域是整个源程序(在哪个函数哪个复合语句中都能取用;
3.所有全局变量的储存位置都是静态储存区。
33、全局函数建议尽量少用,原因:
1.全局变量在程序的全部执行过程中都占用着存储单元;
2.降低函数的独立性,继而降低程序的可靠性,同时也不利于将来程序的移植(最主要的原因,用太多的全局变量会导致函数移植后难以独立使用;
3.使用过多的全局变量,会使程序的可读性降低,人们往往难以明确判断各个时刻各变量的取值。
34、关于自动变量(auto------函数中的局部变量,如不专门声明为static存储类别,都是动态地分配存储空间的,数据存储在动态存储区中,函数中的形参变量和在函数中定义的局部变量(包括在复合语句中定义的变量都属此类,在调用这种函数时系统会自动给他们分配空间,在函数调用结束时将自动释放这些空间。
(最大的特点是函数调用完毕后会“消失”
35、#include------文件包含指令,一个include命令只能指定一个被包含文件(也就是说,要包含多个文件,则需要用多个include命令;
文件包含允许嵌套,即在一个被包含的文件中还可以包含另一个文件。
36、寄存器变量------为了提高效率,C语言允许将频繁使用的局部变量的值存放到CPU的寄存器中,这种变量成为“寄存器变量”,用关键字register来声明;
会“消失”的变量才可以作为寄存器变量(如局部自动变量、形参变量;
寄存器变量的数目是有限的,不能任意定义。
37、静态局部变量------静态局部变量储存在静态储存区;
如果不给静态局部变量赋初值,则系统自