问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

计算机二级C语言学习内容

创作时间:
2025-03-17 08:36:02
作者:
@小白创作中心

计算机二级C语言学习内容

引用
1
来源
1.
https://3g.yjbys.com/edu/jisuanjidengji/340405.html

计算机二级C语言考试是许多计算机专业学生必考的科目之一,掌握其核心考点对于顺利通过考试至关重要。本文将从编译预处理、标识符作用域、动态存储分配、main函数的参数以及函数指针等五个方面,为大家详细解析计算机二级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.cf2.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个同一类型的连续存储空间,可以理解为nmalloc。例如:

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);
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号