计算机二级考试C语言考点解析

  • 格式:docx
  • 大小:28.47 KB
  • 文档页数:17

下载文档原格式

  / 17
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算机二级考试C语言考点解析

初步知识

2.1程序的构成

尽管C程序的内容千变万化,但是它们的构成都是一致的,一个完整的C源程序的格式可以如下表示:

编译预处理

主函数()

函数()

函数()

从上面中可以看出,一个C源程序实际上就是若干函数的集合,这些函数中有一个是程序的主函数,任何C的源程序执行时,都是从主函数开始执行的,其它的函数最终必将被这个主函数所调用。C语言除了主函数规定必须取名main外,其它的函数名可以任取,但是要符合C的标识符取名规则,另外注意不要与保留字重名,最好也不可与C语言中的库函数或其它一些命令如编译预处另命令重名。各个函数在程序中所处的位置并不是固定的,但要求一个函数是完整的、独立的。不允许出现在一个函数内部又去定义另一个函数,或是函数格式不齐全的现象。一个完整的一般意义上的函数有一个固定的框架,编写具体的函数时,只需在这个框架中填入相应的内容即可。框架如下:

函数类型函数名(形参)

形参说明

{

内部变量说明;

执行语句部分;

}

2.2C语言的基本词法

C语言的基本词法由三部分组成:符号集、关键字、保留字。

符号集就是一门语言中允许出现的字符的集合,C语言的符号集就是ASCⅡ码表中的一些字符,在键盘上不能直接得到(比如说响铃字符),C语言引入了转义字符的概念,利用反斜杠符号″\″后加上字母的一个字符组合来表示这些字符,当在源程序中遇到这类字符组合时,虽然这个字符组合是一个字符串的形式,但C语言仍会自动将之理解成某一特定的字符。比如″\″,C语言在处理这个字符组合时,会自动理解成回车换行符号。转义字符经过进一步引申应用,形成了另外两种形式:″\ddd″和″\xnn″,这里″\″后的ddd和xnn分别代表三位八进制和两位十六进制数(打头的″x″只是标明后面跟着的是十六进制数),这两种形式不再局限于表示不可打印的字符,它们可以表示ASCⅡ码表中的任意字符,只要把所需表示的字符的ASCII码转换成八进制数或十六进制数即可。比如说字母″A″,ASCII码为65,65的八进制和十六进制分别为101和x41,所以,字母A可表示为″\101″或″\x41″,对转义字符应认真理解。

标识符就是用以标识的符号。正如现实生活中给每一个人都取一个名字一样,C语言中的每一个对象(如函数、变量等)都必须取一个标识符以和其它对象区别开。在C语言中,这个标识符是一个字符串,这个字符串的选定有一定的规则:必须是以字母或下划线开头的字母与数字的序列。除了这个基本的规则外,C语言对标识符的命名还有几个限制需加以注意:①长度最好不要超过八个字符。因C中对标识符只处理前8个字符,超过8个长度的部分将被C自动忽略掉。″ABCDEFGH1″和″ABCDEFH2″是同一个标识符;②标识符不要与保留字同名,最好也不要与C提供的标准标识符,如库函数重名;③应注意C语言对大小写字母是敏感的,Abcd和abcd是两个不同的标识符。

关键字实际上就是一些特殊的标识符,又称保留字,这些保留字不允许用户对它重新定义。

字符串

10.1字符串与字符数组

1.字符数组的定义

定义方法与前面介绍的类似,只是将数组定义为字符型即可。例如:

charc[10];

这里定义了一个包含10个元素的字符数组c。

2.字符数组的初始化

对字符数组初始化,可以采用以下方法:

(1)逐个字符赋给数组中各元素;

(2)用字符串常量使字符数组初始化。

3.字符串

在C语言中,字符串是作为字符数组来处理的,字符串可以存放在字符型一维数组中,故可以把字符型一维数组作为字符串变量。

字符串常量是用双引号括起来的一串字符。

C语言中约定用′\0′作为字符串的结束标志,它占内存空间,但不计入串的长度,′\0′的代码值为0。

系统对字符串常量也自动加一个′\0′作为结束符。例如″clanguage″共有10个字符,但在内存中占11个字节,最后一个字节存放′\0′。

4.字符数组的输入输出

(1)逐个字符输入和输出

①在标准输入输出printf和scanf中使用%c格式描述符;

②使用getchar和putchar函数。例如:

for(i=0;i<10;i++)

scanf(″%c″,&str[i]);/*或str[i]=getchar();*/

str[i]=′\0′;/*人为加上串结束标志*/

for(i=0;i<10;i++)

printf(″%c″,str[i]);/*或putchar(str[i]);*/

(2)字符串整体输入输出

①在标准输入输出函数printf和scanf中使用%s格式描述符;

输入形式:

charstr[6];

scanf(″%s″,str);

其中str为字符数组名,代表着str字符数组的起始地址,输入时系统自动在每个字符串后加入结束符′\0′。若同时输入多个字符串,则以空格或回车符分隔。

输入形式:

printf(″%s″,str);

输字符串时,遇第一个′\0′即结束。但可人为控制输出串所占的域宽如:

printf(″%6s″,str);/*若字符串中字符多于6个,仍将全部输出*/

printf(″%-6s″,str);/*只输出前6个字符,多余的不输出*/

②使用gets和puts函数输入输出一行

gets函数用来从终端键盘读字符,直到遇换行符为止,换行符不属字符串的内容。

调用形式:

gets(str);

str为字符数组名或字符指针,字符串输入后,系统自动将′\0′置于串尾代替换行符。若输入串长超出数组定义长度时,系统报错。

Puts函数用来把字符串的内容显示在屏幕上。

调用形式:

puts(str);

str的含义同上。输出时,遇到第一个′\0′结束并自动换行,字符串中可以含转义字符。

运算符

无论是加减乘除还是大于小于,都需要用到运算符,在C语言中的运算符和我们平时用的基本上都差不多。

运算符包括赋值运算符、算术运算符、逻辑运算符、位逻辑运算符、位移运算符、关系