计算机二级C语言考点积累:对C语言的深入探讨

时间:2020-08-08 15:02:26 计算机等级 我要投稿

计算机二级C语言考点积累:对C语言的深入探讨

  C语言是一个有结构化程序设计、具有变量作用域(variable scope)以及递归功能的过程式语言。以下是关于计算机二级C语言考点积累,。希望大家喜欢!

  【考点1】编译预处理

  凡以#开头的这一行,都是编译预处理命令行,编译预处理不加分号,不占运行时间。宏替换仅是简单的文本替换,如#define f(x) (x)*(x)和#define f(x) x*x替换f(2+2)时就有区别,前者展开为(2+2)*(2+2),后者为2+2*2+2。

  如果源文件f2.c中有#include"f1.c"可以理解为把源文件f1.c原样包含到f2.c中,使f1.c和f2.c融合到一起成为一个C程序编译。所以一个C程序必有主函数,但一个C源文件未必有主函数。

  【考点2】标识符作用域

  局部变量是在函数内或复合语句内定义的变量,作用域为定义它的函数内。局部变量有三种类型:自动auto,寄存器register和静态static。

  自动变量随着函数的使用与否创建消失;寄存器变量分配在cpu中,没有内存地址;静态变量占用固定存储单元,在程序执行过程不释放,直到程序运行结束。

  全局变量是在函数外定义的变量,作用域从定义它的.位置到整个源文件结束为止,生存期为整个程序运行期间。全局变量都是静态变量。

  【考点3】动态存储分配

  malloc(size)用来创建size个字节的连续存储空间,返回值类型为void *型。malloc函数常用于动态创建链表结点,如int *p; p=(int *)malloc(sizeof(int));。

  calloc(n,size)创建n个同一类型的连续存储空间,可以理解为n个malloc。

  int *p; p=(int *) calloc (10,sizeof(int));。p指向首地址。

  free(p)释放动态分配的存储单元。

  【考点4】main函数的参数

  还有main(int argc,char **argv) {}

  这种含有参数的题目,是很呆板的题目。第一个参数是表示输入的字符串的数目,第二个参数是指向存放的字符串。

  【考点5】函数指针

  函数指针的用法(*f)()记住一个例子:

  int add(int x, int y)

  {....}

  main()

  { int (*f)();

  f=add;

  }

  赋值之后:合法的调用形式为

  1、add(2,3);

  2、f(2,3);

  3、(*f)(2,3);

【计算机二级C语言考点积累:对C语言的深入探讨】相关文章:

C语言符号积累08-20

计算机二级C语言考点盘点08-30

计算机二级C语言基本知识积累08-24

计算机二级C语言入门知识点积累08-21

计算机二级C语言资料08-30

2017年计算机二级C语言考点归纳08-19

计算机二级C语言备考资料08-30

计算机二级C语言备考攻略08-30

计算机二级C语言考试技巧08-26

2017二级c语言题库08-21