试题 百分网手机站

全国计算机二级C语言知识点复习

时间:2020-09-23 15:12:58 试题 我要投稿

2017全国计算机二级C语言知识点复习

  计算机二级对于很多考生来说还是比较有难度的,那么怎样顺利通过二级考试呢?这就需要大家平时多练习和找方法了。以下是百分网小编整理的2017全国计算机二级C语言知识点复习,希望对大家有帮助!

2017全国计算机二级C语言知识点复习

  一、计算机二级C语言知识点复习:指针

  【考点1】指针变量

  指针变量是用来存储地址的,而一般变量是存储数值的。指针变量可指向任意一种数据类型,但不管它指向的数据占用多少字节,一个指针变量占用四个字节。

  【考点2】指针变量的定义

  格式为:类型名 *指针变量名。二维指针int **p;可以理解为基类型为(int *)类型。

  【考点3】指针变量的初始化

  指针变量在使用前必须要初始化,把一个具体的地址赋给它,否则引用时会有副作用,如果不指向任何数据就赋“空值”NULL。

  指针变量两种初始化

  方法一:int a=2,*p=&a;(定义的同时初始化)

  方法二:int a=2,*p; (定义之后初始化)

  p=&a;

  【考点4】指针变量的引用

  &是取地址符,*是间接访问运算符,它们是互逆的两个运算符。在指针变量名前加间接访问运算符就等价它所指向的量。

  【考点5】指针的运算

  int *p 中 *p 和p 的差别:

  *p 可以当做变量来用;*的作用是取后面地址p 里面的数值

  p 是当作地址来使用。

  *p++ 和(*p)++的之间的差别:改错题目中很重要

  *p++是地址会变化。

  (*p)++ 是数值会要变化。

  三名主义:(考试的重点)

  数组名:表示第一个元素的地址。数组名不可以自加,他是地址常量名。(考了很多次)

  函数名:表示该函数的入口地址。

  字符串常量名:表示第一个字符的地址。

  考试重要的话语:

  指针变量是存放地址的。并且指向哪个就等价哪个,所有出现*p 的地方都可以用它等价的代替指向的变量。

  例如:int a=2,*p=&a;

  *p=*p+2;

  (由于*p 指向变量a,所以指向哪个就等价哪个,这里*p 等价于a,可以相当于是a=a+2)

  二、计算机二级C语言知识点复习:数组

  【考点1】数组的定义

  数组是一组具有相同类型的数据的集合,这些数据称为数组元素。格式为:类型名 数组名[常量表达式]。数组的所占字节数为元素个数与基类型所占字节数的乘积。

  【考点2】数组的初始化

  第一维长度可以不写,其它维必须写。

  int a[]={1,2};合法,

  int a[][3]={2,3,4};合法,

  int a[2][]={2,3,4};非法。

  数组初始化元素值默认为0,没有初始化元素值为随机。如在int a[5]={0,1,2};中,元素a[4]值为0;而在int a[5];中,元素a[4]值为一个不确定的随机数。

  【考点3】元素的引用

  数组元素的下标从0开始,到数组长度减1结束。所以int a[5];中数组最后一个元素是a[4]。要把数组元素看作一个整体,可以把a[4]当作一个整型变量。

  【考点4】二维数组

  数组a[2][3]={1,2,3,4,5,6};中含6个元素,有2行3列。第一行为a[0]行,第2行为a[1]行,a[0]、a[1]叫行首地址,是地址常量。*(a[0]+1)是第一行第一个元素往后跳一列,即元素a[0][1]值为2,*(a[0]+3)是第一行第一个元素往后跳三个,即元素a[1][0]值为4。

  【考点5】行指针

  是一个指针变量,占四个字节,行指针指向一行连续数据,形式为:int(*p)[2];,p只能存放含有两个整型元素的一维数组的首地址。注意(*p)两边的小括号不能省略,否则就成了指针数组,是若干指针元素的集合。

  【考点6】数组名

  数组名是数组的首地址。数组名不能单独引用,不能通过一个数组名代表全部元素。数组名是地址常量,不能对数组名赋值,所以a++是错误的。但数组名可以作为地址与一个整数相加得到一个新地址。

  【考点7】元素形式的转换

  助记:“脱衣服法则”a[2]变成*(a+2),a[2][3]变成*(a+2)[3]再可变成*(*(a+2)+3)。这个思想很重要!

  二维数组做题目的技巧:

  如果有 a[3][3]={1,2,3,4,5,6,7,8,9}这样的题目。

  步骤一:把他们写成: 第一列 第二列 第三列

  a[0]􀃆 1 2 3 ->第一行

  a[1]􀃆 4 5 6 —>第二行

  a[2]􀃆 7 8 9 ->第三行

  步骤二:这样作题目间很简单:

  *(a[0]+1)我们就知道是第一行的第一个元素往后面跳一列,那么这里就是a[0][1]元素,

  所以是1。

  *(a[1]+2)我们就知道是第二行的第一个元素往后面跳二列。那么这里就是a[1][2]元素,

  所以是 6。

  一定记住:只要是二维数组的题目,一定是写成如上的格式,再去做题目,这样会比较简单。

  两种重要的数组长度:

  char a[]={‘a’,’b’,’c’}; 数组长度为3,字符串长度不定。sizeof(a)为3。

  char a[5]={ ‘a’,’b’,’c’} 数组长度为5,字符串长度3。sizeof(a)为5。

  三、计算机二级C语言知识点复习:字符串

  【考点1】字符串常量及表示

  字符串常量是由双引号括起来的'一串字符,如”ABC”。在存储字符串时,系统会自动在其尾部加上一个空值’\0’,空值也要占用一个字节,也就是字符串”ABC”需要占四个字节。

  【考点2】字符数组

  C语言没有字符串变量,只能采用字符数组来存储字符串。数组的大小应该比它将要实际存放的最长字符串多一个元素,从而存放’\0’。

  【考点3】字符串赋值

  字符串赋值的两种形式:

  char str[]=“Hello!”;

  或char *p;p=“Hello!”;,

  但不能用下面的形式:char str[10];str=”Hello”;因为str是一个地址常量,不能进行赋值操作。

  【考点4】字符串的输入与输出

  可以用scanf和printf函数,如scanf(”%s”,str);,也可用专门处理字符串的两个函数gets和puts函数,还可以对字符数组逐个元素进行赋值,但一定要在最后赋一个’\0’。使用gets函数可以接收空格,使用puts函数在最后输出一个换行。

  scanf 和 gets 的数据:

  如果输入的是 good good study!

  那么 scanf(“%s”,a); 只会接收 good. 考点:不可以接收空格。

  gets(a); 会接收 good good study! 考点:可以接收空格。

  【考点5】字符串函数

  要掌握的四个字符串函数:字符串拷贝函数strcpy(),求字符串长度函数strlen(),字符串链接函数strcat(),字符串比较函数strcmp()。使用这些函数需在预处理部分包含头文件”string.h”。

  字符串长度要小于字符数组的长度,例:char str[10]=”Hello”;sizeof(str)的值为10(数组长度),strlen(str)的值为5(字符串长度)。这些函数是考试常用到的函数,大家一定要熟练应用这几个函数。

【2017全国计算机二级C语言知识点复习】相关文章:

全国计算机二级C语言知识点复习:函数11-20

全国计算机二级C语言数组知识点复习10-06

2017年全国计算机二级C语言考试复习方法07-31

2015全国计算机二级C语言考试复习攻略07-12

计算机二级《C语言》重要考点复习11-25

全国计算机二级C语言指针知识考点10-06

报考全国计算机二级C语言的优势07-24

计算机二级C语言单选专项复习题10-03

计算机二级考试C语言复习测试题09-06

计算机二级c语言试题09-29