第四章:数组
一维数组的重要概念
- 对a[10]这个数组的讨论。
a)a表示数组名,是第一个元素的地址,也就是元素a[10]的地址。
b)a是地址常量,所以只要出现a++,或者是a=a+2赋值的都是错误的。
c)a是一维数组名,所以它是列指针,也就是说a+1是跳一列。 - 对a[3][3]的讨论。
a)a表示数组名,是第一个元素的地址,也就是元素a[3][3]的地址。
b)a是地址常量,所以只要出现a++,或者是a=a+2赋值的都是错误的。
c)a是二维数组名,所以它是行指针,也就是说a+1是跳一行。
d)a[0]、a[1]、a[2]也都是地址常量,不可以对它进行赋值操作,同时它们都是列指针,a[0]+1,a[1]+1,a[2]+1都是跳一列。
e)注意a和a[0] 、a[1]、a[2]是不同的,它们的基类型是不同的。前者是一行元素,后三者是一列元素。
三种循环结构
- for() ; while(); do- while()三种。
for循环当中必须是两个分号,千万不要忘记。
写程序的时候一定要注意,循环一定要有结束的条件,否则成了死循环。
do-while()循环的最后一个while();的分号一定不能够丢。(当心上机改错)。
break 和 continue的差别
- 记忆方法:
break:是打破的意思,(破了整个循环)所以看见break就退出真个一层循环。
continue:是继续的意思,(继续循环运算),但是要结束本次循环,就是循环体内剩下的语句不再执行,跳到循环开始,然后判断循环条件,进行新一轮的循环。
嵌套循环
就是有循环里面还有循环,这种比较复杂,要一层一层一步一步耐心的计算,一般记住两层是处理二维数组的。
while((c=getchar())!=’\n’) 和 while(c=getchar() !=’\n’)的差别
先看a = 3 != 2 和(a=3)!=2 的区别:(!=号的级别高于=号 所以第一个先计算 3!=2)第一个a的数值是得到的1;第二个a的数值是3。
考试注意点: 括号在这里的重要性。
本章重点
- 一维数组、二维数组的定义、初始化和输人输出方法。
- 字符数组和字符串数组的使用。
- 冒泡排序算法和折半查找法。
- break 和continue辅助控制。
- 字符串的处理函数。
本章难点
- while do–while循环结构的比较。
- 分支和循环的嵌套。
- 字符串的处理函数。
本章要求
- 掌握利用循环来实现数组元素的输人、输出、移动、排序、增加、删除、查等操作的方法。
- 掌握冒泡排序算法的实现过程。
- 掌握折半查找法。
- 熟练利用字符串处理函数完成字符串的连接、复制、比较求字符串长度等功能。
第五章:函数
函数:是具有一定功能的一个程序块。
函数的参数,返回数值(示意图)
- 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的数值穿给调用函数,程序暂时中断等待返回数值。当得到了返回数值后,再顺序的往下执行。
一定要注意参数之间的传递
- 实参和形参之间 传数值,和传地址的差别。(考试的重点)
传数值的话,形参的变化不会改变实参的变化。
传地址的话,形参的变化就会有可能改变实参的变化。
函数声明的考查
- 一定要有:函数名,函数的返回类型,函数的参数类型。
不一定要有:形参的名称。
本章重点
- 函数的定义及调用。
- 函数的参数传递。
- 变量的作用域和生存期。
- 带参数的宏定义。
本章难点
- 函数的嵌套调用。
- 函数的递归调用。
本章要求
- 掌握函数的定义格式及调用方法。
- 理解参数传递方式。
- 理解递归算法及其运用。
- 理解变量的作用域和生存期。
- 掌握带参数的宏定义进行宏替换的规则。
第六章:指针
指针变量的本质是用来放地址,而一般的变量是放数值的。
- int *p 中 *p和p的差别
*p可以当做变量来用;*的作用是取后面地址p里面的数值;p是当作地址来使用。
***p++ 和 (*p)++的之间的差别(改错题目中很重要)
*p++是 地址会变化;(*p)++ 是数值会要变化。
三名主义(考试的重点)
- 数组名:表示第一个元素的地址。数组名不可以自加,他是地址常量名。(考了很多次)
函数名:表示该函数的入口地址。
字符串常量名:表示第一个字符的地址。
本章重点
- 指针变量的定义、初始化及使用。
- 指向数组的指针。
- 指向字符串的指针。
本章难点
- 指向数组的指针。
- 指向字符串的指针。
本章要求
- 理解指针的概念及使用。
- 掌握利用指针访问变量和数组元素的方法。
- 理解指针作为函数参数,传递的是地址。
这是我期末的复习资料,感觉整理的还不错,拿出来和大家分享。
相关文章
C语言基础知识总结(上)–期末复习
C语言复习Word文档
链接:https://pan.baidu.com/s/1uX6W8gQriyZ93CKnT-xMDw
提取码:tj9w