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