复习大礼包(三) | C程序期末复习指南

E路人2019-03-16 15:41:47

当当当~~~

C程序期末复习大礼包闪亮登场~~

08041703班的杨浩宇同学为我们总结了C程序前六章内容的复习指南,撒花~撒花~


第一章

1. 单精度浮点数(float)精度为小数点后7位,双精度浮点数(double)精度为小数点后17位。

2. C语言使用ASCII编码,因此编程中禁止使用中文标点,禁止使用中文字作为变量名(因此建议在编程时切换至纯英文输入法)。


第二章

1. 数据类型:常用的有整型(int),浮点型(float和double),字符型(char),数组和指针。

一般形式为:

数组的形式如5行所示,方括号内扩起数组长度(即数组包含元素个数)。关于数组的更多更灵活的形式在第六章给出;

指针的形式如7行所示,在变量名前加上星号(*)即表示该变量为指针变量。

同一数据类型下有多个变量时,不需要分行依次定义,可以以逗号分隔;不同的数据类型不能在一个语句内定义(即必须要以分号分隔)。

变量在使用前需要初始化(赋值),否则会产生导致程序崩溃的内存错误,而编译器不能检查出这类逻辑错误。


2.转义字符:一般只有换行符’\n’需要用到。


3.字符与字符串:  字符由单引号引起,只能包含一个字符;字符串由双引号引起,双引号内的所有字符均属于该字符串。


4. 运算符:掌握圆括号运算符(我觉得’(‘和’)’不至于有人不会用)、四则运算符(‘+’、’-‘、’*’、’/’)、求余运算符(‘%’)、关系运算符(‘>’、’<’、’==’、’>=’、’<=’、’==’、’!=’)、逻辑运算符(‘&&’、’||’、’!’)及赋值运算符(=)。自增自减运算符可用+/-1代替,条件运算符可用if语句代替,位运算符可用循环乘/除2代替。取长度运算可用于动态分配数组和链表节点,一般用不到。

第三章

1.每两个分号之间为一个简单语句,使用大括号{}将多个简单语句组合成复合语句。一个简单语句不能换行书写。若语句过长部分行不便于阅读,可以使用’\’连接上下两行。


2.使用getchar()、scanf()、gets()函数输入,使用putchar()、printf()函数输出。


getchar():读入一个字符,执行一次读入一个,因此没有读入限制,但该函数会将数字以字符形式读入而非数字形式。

scanf():格式化输入,因此可以读入数字,但应注意,编程时在该函数中定义的格式应与输入时的格式相同,否则会出现读入不全或无法读入。

gets():读入一个字符串,当读到换行符时停止


putchar()相当于getchar()的逆用,在屏幕上输出一个字符。可以输出一个变量存储的字符或者一个指定的字符。

printf()相当于scanf()的逆用,使用时同样需要注意格式。


3.控制语句:

if和switch选择语句:

if-else语句可以完全取代switch-case&default语句,并可视作条件运算符的升级版本;

if语句可以抛开else分支单独使用,此时省略的else分支可视作执行空语句。

while、do-while与for循环语句:

for循环语句可通过合并循环体或省略表达式的方式完全取代while与do-while语句。因此着重关注for语句。


for语句格式为:for(表达式1;表达式2(判断条件);表达式3) 语句;


其中:

表达式1为循环初始,该语句只在最开始时执行一次,多个语句可用逗号分隔,不支持无返回值函数;


表达式2的运算结果(无论是否判断语句)将转化为真/假逻辑值决定循环是否继续。省略该表达式则默认逻辑值为1(真);

紧接着运行的结构为语句。此处可使用复合语句,支持无返回值函数;


最后才运行表达式3.

在该循环中,任意表达式均可省略。但省略全部表达式将产生死循环。


break和continue语句可用于终止循环与跳过循环。当遇到break语句时,打断循环,无论后面是否还有循环结构;当遇到continue语句时,跳过本次循环中剩余的语句,直接跳到表达式3继续执行。


跳转语句go to有碍程序结构化,应避免使用。

第四章

定义一个函数时,首先需要声明函数的返回值类型,与基本数据类型相同。任何非void函数均需包含return语句,用于返回函数的运算值。


注意:

当遇到return语句时,函数终止运行并向调用该函数的语句返回一个运算值,return之后的语句不再执行;


return可以返回确定值、变量、表达式和函数(需要该函数有返回值;该操作可调用函数自身,这是递归的基础)。


向函数传递的外部参数称为形式参数(形参),在返回类型后的小括号中依次列出。必须对每一个参数分别定义其数据类型,多个同类型参数是不能一次性定义的。

正确形式:

错误形式:

第五章

没有什么考试中必须掌握的。#define可用可不用。个人认为,宏定义可由函数及只读变量代替。

第六章

数组可视作在内存上顺序排列的同类型变量。即便二维数组,它在内存上也依然是线性排列的。由于这个性质,对数组执行插入操作变得困难。

一维数组的定义形式已在第二章中给出

二维数组仅仅是在一维数组的基础上增加了一个维度。

应当注意:增加的维度是[3]而非[10]。


数组a[i]可通过变化下标i实现快速访问。


由于数组在内存上极不灵活,应当警惕数组越界。


若一个字符数组含有n个元素,则该数组应占用n+1个内存空间:多出的空间存储表示数组终止的’\0’。


最后,小编祝愿大家在考试中仔细认真,都得高分~~~

另外,在公众号后台“电小萌”一栏里有E起学习,能够获取更多资料哦!

最近推送

红色心声 | 致我亲爱的祖国

光盘打卡最终章 | 终点也是起点


图文:学创部

编辑:孔翊丞

审核:张静

人家这么萌,帮忙点个赞好不好呀~