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
2015全国计算机二级C语言考试复习攻略07-12
计算机二级《C语言》重要考点复习11-25
全国计算机二级C语言指针知识考点10-06
报考全国计算机二级C语言的优势07-24
计算机二级C语言单选专项复习题10-03
计算机二级考试C语言复习测试题09-06
计算机二级c语言试题09-29