C语言基础知识归纳_第1页
C语言基础知识归纳_第2页
C语言基础知识归纳_第3页
C语言基础知识归纳_第4页
C语言基础知识归纳_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C 语言基础知识1. 每个 C 程序有且只有一个主函数 main() ,且程序必须从 main() 函数开始执行,并在 main() 函数中结束。2. 在 C 语言中,用 e 来表示科学计数法时,规定在 e 的前面必 须有数字,后面必须为整数。3. 用单引号括起来的一个字符常量只能存放一个字符; C 语言中 没有字符串变量,只能用字符数组来存储字符串。4. 外部变量在编译时由系统分配永久的内存空间,所以外部变 量的类型不是自动存储类别。5. 在一个函数内的复合语句中定义的变量,只能在这个复合语 句范围内有效。6. 用 sizeof(int) 计算 int 类型数据的字节数。7. C 语言运行时

2、,首先系统检查语法的正误, 再运行程序的语法;C语言中,可以在一个函数中嵌套一个函数,但是不能在一个函数中定义一个函数 ; 只有在函数外部定义的函数才是外 部函数;C语言的子程序有过程和函数两种。8. 预处理命令行的位置没有规定,只是习惯放在前面;在源文 件中的可以有多条预处理命令,但一行只能写一条;宏名的 大写只是习惯性的表示;宏替换不仅不占用运行时间还不分 配内存空间。9.feo f函数的作用是检查文件是否结束,当结束时返回的 值为非零,否则为零。10. 当定义了数组后,在给其赋值时,不能直接把字符串赋给数组名。11. 在赋值表达式中,赋值运算符“=”右侧不能为表达式;在 求余运算符中的两

3、侧都必须为整型;在强制类型转换时,类 型名应用括号括起来。12. 静态局部变量,只有当程序结束后,其值才释放。13. 当调用函数时,实参是一个数组名,则向函数传送的是数组 每一个元素的地址。14. 算法的特点为有零个或多个输入,有一个或多个输出,当相 同的输入时,其结果相同;算法正确的程序最终一定会结束。15. 在 C 语言中,预处理命令行都以“ # ”开头;当需要时才用#in clude;预处理的作用就是实现宏定义和条件编译。16. 当数组元素的下标超出了定义的下标范围时, 系统不给出“下 标越界”的字样,而是得出错误的答案,因此在编程时务必 检查下标是否越界。17. 共用体变量不能作为函数

4、的参数,也不能使函数带回共用体 变量。18. 指向函数的指针变量的定义形式为:数据类型(* 指针变量)(); ,因此其为指向函数的指针变量。19. 用 C 语言编写的代码程序是源程序,只有通过编译、连接才 能进行。20. 在说明为 static 时,其生存期得到延长,而其作用域并没有改变,在定义后系统会自动帮它赋值为 0, static 为关键字不能被用作它用。21. 频繁地使用空语句会降低程序的可读性和运算速度。22. 运算符 %两边都应是整数,赋值语句左边应该是变量,而非 表达式,强制转换语句强制类型应加括号。23. 在逻辑运算符中,其两侧的运算符对象为任意合法的表达式 即可。24. 函数

5、 fread (&larray , 2,16, fp)的功能是,从 fp 所指的数据 文件中读取 16 次 2 字节的数据存储到数组 Iarray 中。25. 整个流式文件也可以随机存取数据, C 语言文件中有好多函 数可以达到写入数据时,未经输入数据,达到不覆盖的目的, 在进行写操作时,系统会自动关闭文件。26. 使用 putchar、getchat、puts、gets、printf、scanf 函数时,必须在程序的开头出现包含头文件#in elude ” stdio.h”的命令行,而使用字符串处理函数时,必须在程序的开头出现包含头文 件#“ clude ” stri ng.h”命令

6、行,而使用数学函数时,必须在程序的开头出现包含头文件#inelude”math.h”的命令行。27. 一个斜杠与小于等于 127 任意数字按一个字符计算,一个斜 杠与任意一个字符按一个字符计算。28. 一个 C 程序可以有一个或多个程序文件,也可以有一个或多 个函数,所以一个 C 语言程序可以实现多种算法。29. 根据 C 语言规定,注释语句可以换行写,并且一个“ /*”和其后紧跟的第一个“ */ ”中间的部分是注释内容,且注释内容不参与程序的运行。例如:b=0; /*b=20;给 b 赋值*/则 b=0;。30. sizeof 是求字节数的运算符,包括 0,而 strlen 是求字符串 的实

7、际长度的函数,不包括 0,以 0 作为结束。31. 在函数声明时,其中的形参变量、个数、函数的类型必须一 致。32. C 语言源程序经编译后生成后缀为 .obj 的目标程序; C 程序经 过编译、连接步骤之后才能形成一个真正可执行的二进制机 器指令文件;用 C 语言编写的程序称为源程序,它以 ASCII 代码形式存放在一个文本文件中。并不是源程序中的所有行 都参加编译。在条件编译形式下,相关内容只在满足一定条 件时才进行编译。33. switch 括号后的表达式可以使任何表达式;case 后的表达式必须是常量表达式,常量表达式中不能出现变量,且类型必 须是整数、字符型或枚举型。34. C 程序

8、必须由一个或一个以上的函数组成;函数调用可以作 为一个独立的语句存在;若函数有返回值,必须通过 return 语句返回。35. 在 C 语言中,数据只能从实参单向传递给形参, 称为“按值” 传递。【在实参传递到形参时, 是数值传递, 而不是地址传递, 形参中值的改变不会影响实参中的值。 】36. 可以用 typedef 声明新的类型名来代替已有的类型名, 而不能增加新的类型。37. 在没有限制输出宽度时,一般浮点数的小数位数是 6 位,不 管输出格式是 %f 或 lf% 均如此。38. C 语言中,函数的隐含存储类别是无存储类别。39. 当实参传递到形参时,地址传递时形参的改变影响实参。40.

9、 串的长度指的是串中的字符的个数, 且其字符个数可以为零。41. C 语言中数据类型有整型、实型、字符型等,实行数据分为 单精度型和双精度型两种。42. 整型数组只能一个一个地输入或输出,而在字符型数组中可 以对字符串整体地输入与输出。43. C 语言中,文件型指针变量的定义形式为:FILE *文件型指针名;。C 语言中对二进制文件的访问速度比文本文件快;C语言中, 随机文件以二进制代码形式存储数据; C 语言中的文 本文件以 ASCII 码形式存储数据。44. 因为 #define 是宏定义的标志,而不是 C 语句,而 printf 是输 出函数,因此其是 C 语句。45. 在实参传递给形参

10、时, 地址传递时能够改变, 而数值传递时 则不变。46. 在 scanf 函数中,必须含有输入项,并且需含有与之一一对应 的转换说明符,在 scanf 函数的格式字符前可以加入一个正整 数指定输入数据的宽度,但不可以实数指定小数位的宽度, 输入项是地址表达式。47. switch 语句使用注意事项: ( 1) switch 语句与 if 语句不同, 仅能判断一种关系:是否恒等; ( 2) switch 语句中 case 子句 的常量可以使整型常量、字符型常量、枚举型数据,或是整 型常量表达式,不允许变量; ( 3)在同一个 switch 中, case 子句的常量不能相同,在嵌套的 switc

11、h 语句中,不同层次的 switch 之间,可有相同的常量; ( 4) default 子句可以省略。 例 女口:default: printf(“En”); (5) case 和 default 子句只能在 switch 语句中使用,且 case 和 default 只起标号作用,可出现 在 switch 中的任何位置;(6) case 和 default 子句后面的语句 序列允许由多个可执行语句组成, 且不必用 “ ”括起来, 也 可以为空语句;(7)switch语句中可省略 break 语句,但省略 后会改变流程。48. break 语句是限定转向语句,它使流程跳出所在的结构,把流 程转

12、向所在结构之后。 continue 语句被称为继续语句。该语句 的功能是使本次循环提前结束, 即跳过循环体中 continue 语句 后面尚未执行的循环体语句,继续进行下一次循环的条件判 别。49. 在 C 语言中,一个程序必须有一个main ()函数,但是其文件就不一定,因为其可以通过链接来实现多个子函数放到这 个主函数中,主函数的位置是不固定的,可以根据自己的爱 好和习惯来使用,在 C 语言中任何函数都不能调用主函数,且与函数的位置有关。在 C 程序的函数中不能定义另一个函50. 在用 fprintf 输入时,要将其转换为二进制数形式放到文件中。51. 由 C 语言构成的指令序列称为 C

13、源程序,源程序文件的后缀 为“.c”。而目标程序为“ .obj”,可执行程序为“ .exe”。52. 在 C 语言中, 合法的标识符可以由字母、 数字和下划线组成, 且第一个字符必须为字母或下划线。53. C 语言规定必须以 main 作为主函数名。程序要从 main ()函 数开始执行,最后在 main ()函数中结束。54. 赋值运算符左侧的操作数必须是一个变量。55. 在 C 语言中,函数的实参单元与形参单元在内存中分配不同 的存储单元。56. 在一个 C 语言源程序文件中所定义的全局变量, 其作用域为:由具体定义位置和 extern 说明来决定范围。 【全局变量是在函 数外部任意位置上

14、定义的变量,它的作用域是从变量定义的 位置开始,到整个源文件结束止。当全局变量定义在后,引 用它的函数在前时,应该在引用它的函数中用extern 对此全局变量进行说明,以便通知编译程序该变量是一个已在外部 定义了的全局变量,这时全局变量的作用域从extern 说明处起,延伸到该函数末尾。 】57. C 语言中,凡是以“ #”号开头的行,都成为“编译预处理” 。 对C 原程序进行编译前,由编译预处理程序对这些变异预处 理命令进行处理。58. typedef 语句的作用仅仅是用“标识符”来表示已存在的“类 型名”,并未产生新的数据类型。59. 共用体变量中的所有成员共享一段公共存储区,所有成员的

15、首地址相同。在每一个时刻所有的成员中只有一个有效,即 只有最后一个被赋值的成员有效,其余的成员无效。60. C 语言中注释可以出现在任意位置; C 语言一行内可以写多 个语句,一个语句可以写在多行上; C 语言编写的程序可以放 在多个程序文件中。61. 标识符只能由数字、字母和下划线组成,并且只能以字母和 下划线开头。62. 在用基本输出语句 printf 时,格式说明与输出项的个数应该相 同。如果格式说明的个数少于输出项的个数,多余的输出项 不予输出,如果格式说明个数多余输出项个数,则对于多余 的格式项输出不定制或 0。63. 二维数组定义和初始化允许省略行下标, 不允许省略列下标。64.

16、预处理命令行是在系统对原程序进行编译之前进行处理的, 不是在程序执行的过程中。65. gets 和 getchar 函数用于从标准输入设备终端读入字符串和字 符,并非从磁盘文件读入。66. 动态变量和静态变量都是内存变量,而寄存器变量不保存在 内存上,而是直接存储在 CPU 的寄存器中。变量的存储类别 有自动、静态、寄存器、外部。67. C 语言的源程序是由函数构成的,其基本单位是函数,每一 个函数完成相对独立的功能, 其中至少包括一个主函数; C 语 言的书写格式自由,一行可写多条语句,一条语句也可写在 不同行上;C 语言规定每个语句以分号结束。 可随时添加注释, 对程序没影响。68. 由高级语言编写的程序称为“源程序” ,由二进制代码表示的 程序称为“目标程序” 。由汇编语言编写的程序称为“汇编程 序”。对于计算机本身来说,它只能接收和处理由 0 到 1 的代 码构成的二进制指令和数据。 所以计算机能识别的程序是 “目 标程序”。而计算机可以直接执行的是可执行程序,即后缀为.exe 的程序。69. C 语言 源程序

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论