设为首页 加入收藏

TOP

2018年全国计算机二级考试C语言常考知识点归纳(二)
2018-01-04 06:06:33 】 浏览:567
Tags:2018年全国 计算机 二级 考试 语言 常考 知识点 归纳
个先计算 3!=2) 第一个a的数值是得到的1;第二个a的数值是3。


考试注意点: 括号在这里的重要性。


第五章


函数:是具有一定功能的一个程序块;


1) 函数的参数,返回数值(示意图):


main()


{


int a = 5,b=6,c;


c = add(a,b);


printf(“%d”,c);


}


调用函数


a,b是实参


整个函数得到一个数值就是


Add函数的返回数值。


int add ( int x,int y)


{


int z;


z=x+y;


return z;


}


被调用函数


x,y是形式参数


函数返回数值是整型


z就是这个add函数计算后得到的结果,就是函数返回给主程序的返回数值。


程序是在从上往下顺序执行,当碰到了函数add后,把a,b的数值穿给调用函数,程序暂时中断等待返回数值。当得到了返回数值后,再顺序的往下执行


2)一定要注意参数之间的传递


实参和形参之间 传数值,和传地址的差别。(考试的重点)


传数值的话,形参的变化不会改变实参的变化。


传地址的话,形参的变化就会有可能改变实参的变化。


3)函数声明的考查:


一定要有:函数名,函数的返回类型,函数的参数类型。


不一定要有:形参的名称。


第六章


指针变量的本质是用来放地址,而一般的变量是放数值的。


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


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


p是当作地址来使用。


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


*p++是 地址会变化。


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


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


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


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


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


第七章


1一维数组的重要概念:


对a[10]这个数组的讨论。


1、a表示数组名,是第一个元素的地址,也就是元素a[10]的地址。


2、a是地址常量,所以只要出现a++,或者是a=a+2赋值的都是错误的。


3、a是一维数组名,所以它是列指针,也就是说a+1是跳一列。


对a[3][3]的讨论。


1、a表示数组名,是第一个元素的地址,也就是元素a[10]的地址。


2、a是地址常量,所以只要出现a++,或者是a=a+2赋值的都是错误的。


3、a是二维数组名,所以它是行指针,也就是说a+1是跳一行。


4、a[0]、a[1]、a[2]也都是地址常量,不可以对它进行赋值操作,同时它们都是列指针,a[0]+1,a[1]+1,a[2]+1都是跳一列。


5、注意a和a[0] 、a[1]、a[2]是不同的,它们的基类型是不同的。前者是一行元素,后三者是一列元素。


二维数组做题目的技巧:


如果有a[3][3]=这样的题目。


步骤一:把他们写成:


第一列 第二列 第三列


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。


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


数组的初始化,一维和二维的,一维可以不写,二维第二个一定要写


int a[]= 合法。 int a[][4]=合法。 但int a[4][]=非法。


二维数组中的行指针


int a[1][2];


其中a现在就是一个行指针,a+1跳一行数组元素。 搭配(*)p[2]指针


a[0],a[1]现在就是一个列指针。a[0]+1 跳一个数组元素。搭配*p[2]指针数组使用


还有记住脱衣服法则:


a[2] 变成 *(a+2) a[2][3]变成 *(a+2)[3]再可以变成 *(*(a+2)+3)


首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇2018年3月全国计算机二级C语言练.. 下一篇2018计算机二级C语言考点:循环结..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目