计算机二级C语言常见考点积累

时间:2018-03-27 计算机等级 我要投稿

计算机二级C语言常见考点积累

  C语言是高级语言。它把高级语言的基本结构和语句与低级语言的实用性结合起来。下面是小编整理的关于计算机二级C语言常见考点,欢迎大家参考!

  结构体类型的说明

  结构体是若干个类型数据的集合,

  结构体类型说明格式:

  struct 类型名 {类型1 成员名1;类型2 成员名2;……};,以上整个部分是一个数据类型,与整型的int是同样地位。可用typedef把结构体类型替换成一个只有几个字母的简短标识符。

  【考点2】结构体变量的定义

  结构体变量是用说明的结构体类型所定义的一个变量,与结构体类型不是一回事。一个结构体变量所占字节数为其所有成员所占字节数之和。如struct stu{char name[10];int age;} a,b;则表明定义了两个结构体变量a,b,每个变量占14个字节。a,b与int i,j;中的变量i,j是同样地位。typedef 考的很多(教材150页例6)。

  【考点3】结构体成员的引用

  引用成员可用以下3种方式:(1)结构体变量名.成员名;(2)指针变量名->成员名:(3)(*指针变量名).成员名。点(.)称为成员运算符,箭头(->)称为结构指向运算符。

  【考点4】共用体

  共用体的使用格式与结构体相似,共用体定义的关键字为union,共用体所占字节数是所有成员中字节数最大的那个。

  union TT

  { int a;

  char ch[2];} t1 ;

  main()

  {t1.a=0x1234;

  printf("%x\n",t1.ch[0] );

  printf("%x\n",t1.ch[1] );}

  考点一: sizeof (struct TT) = 2;

  考点二: TT t1 ; t1.a=0x1234;

  那么 ch[0]=0x 34; ch[1]=0x12

  结构体和共用体以及链表要掌握最简单的。typedef 考的很多,而且一定要知道如何引用结构体中的各个变量,链表中如何填加和删除节点,以及何如构成一个简单的链表,一定记住链表中的节点是有两个域,一个放数值,一个放指针。

  【考点5】链表

  链表是由一个个结点构成的,一个结点就是一个结构体变量。每个结点可以分为数据域与指针域两个部分,数据域用来存放要存储的数据,指针域用来指向下一个结点。链表是考试中的难点,在C语言和公共基础部分都会考到,要掌握,链表中如何增加和删除节点(每年都考),以及何如构成一个简单的链表,一定记住链表中的节点是有两个域,一个放数值,一个放指针。

  对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语言常见考点积累】相关文章:

1.2017年计算机二级C语言常见考点

2.2017年计算机二级C语言考试常见知识积累

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

4.计算机二级C语言知识点积累

5.计算机二级C语言入门知识点积累

6.计算机二级C语言基本知识积累

7.2017年计算机二级C语言复习知识积累

8.计算机二级C++常见考点分析