(完整版)打印一下-C语言期末复习资料

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

期末复习

第一部分:C中的数据

首先,从主调函数和被调函数(模块间)要处理的任务数据的角度来总结数据的知识点:

C语言中所讲授的数据有基本类型(整型、实型和字符型)和构建类型(数组、结构体、共用体、链表结点)之分。构建类型是由基本类型构建而成,因此我们有必要对基本类型的数据做以更细致的研究。

一.基本类型的数据

程序中的数据无非是以常量和变量两种形式描述。在这里我们不妨思考两个问题:(1)为什么要用变量?(2)常量经常用在什么地方?

(一)常量

对于基本类型常量我们要掌握:常量分几类?每类的书写规则是什么?

(1)整型常量:有十、八、十六进制三种表示形式。(3.3.1、3.3.3)

(2)实型常量:有小数和指数两种表示形式.(3.4.1、3.4.3)

(3)字符型常量:有普通字符(可以是ASCII码表中的任何一个字符)、转义字符(表示控制命令的转义字符和用八进制十六进制描述的转义字符)(3.5.1)(4)字符串常量(3.5.4)

(5)符号常量:实际上是不带参数的宏定义(3.2.1 、9.1.1)

对于常量部分的考察无非是辨别书写形式,字符类的常量特别注意转义字符的辨认。这就要求我们熟记书写规则。例如以下题目:

t-1:下面哪个是正确的整型常量表示

A)019 B)0X34g C)-123D)o56 E) 12,000

t-2: 下面哪个是错误的实型常量表示

A).23 B)3.8E-4.5C)45E12 D)92.45

t-3: 下面哪个是正确的字符常量表示:

A)”b”B)’\\’C)’\34’D)’\0x9’E)’0123’

t-4: 下面那个是正确的字符串常量表示:

A)’abc’B)“”C)“”D)“\0x120”

E)”abRT\0\\”

F)”A”

t-5: 字符串“ab034\0\\t\v\012”存储需要多少个字节?先组合转义字符,11个字节

t-6: puts(“ab034\0\\t\v\012”);的结果是ab034?strlen(“ab034\0\\t\v\012”)的值是5?

(二)变量

对于基本类型的变量,我们知道要使用变量必须先定义变量,定义的基本格式是:数据类型变量名;要正确定义变量就必须清楚两点(1)什么样的变量名才是合法的?(3.2.2)(2)如何用类型符来描述所要定义的变量,这就涉及到变量所分配的字节数、存储特点、有无符号及各自表示的数值范围等。

变量的三大类:

(1)整型变量(3.3.2)

分配字节:2字节(int/short) 4字节(long)(TC2.0)

存储特点:存储的是数值的补码形式

符号标识:signed unsigned

表示数值范围:表3-1

(2)实型变量(3.4.2)

分配字节:4字节(float) 8字节(double) 16字节(long double)

存储特点:图3-7

表示数值范围:表3-2

(3)字符型变量(3.5.2、3.5.3)

分配字节:1字节(char)

存储特点: 存储字符的ASCII值

符号标识:signed unsigned

表示数值范围:signed char: -128~+127

Unsigned char: 0~255

基本类型变量这部分知识主要的考察形式:

(1)变量名(标识符)的正确与否鉴别

(2)变量类型标识符的识别与应用

(3)变量定义语句中对变量进行初始化的形式正确与否鉴别(3.6)

例如以下题目:

t-7: 以下正确的变量标识符是:

A)3sum B)INT C)_3max D)case E)p&sum F)s_m_a

t-8: 以下正确的变量类型声明是:

A)signed int B)int long C)unsigned long D)short long

t-9: 下面程序段在tc2.0和cfree3.0运行时的输出各为-1 / 65535?

unsigned int a=65535;

printf("%d",a);

t-10: 以下正确的定义语句是:

A)int a=b=5 ; B)char ch=97 ;C)unsigned int x, y=-5; D)int a=3,b=5;

E)int c=3

(二)建构类型的数据

程序给出的任务数据可以是基本类型的,也可以是集合性质的。集合中的所有数据可以是同类型的即数组(7.1.1~7.1.3、7.2.1~7.2.3、7.3.1~7.3.4),也可以是不同类型的(例如学生记录)即结构体(11.1~11.5)。

在这部分知识中主要考察的形式有:

(1)数组及结构体的定义、初始化和引用

(2)计算集合(数组、结构体变量)存储所需要的空间

(3)数组定义时缺省形式的一些规则:

●在定义一维数组时,若给出了所有初始值则一维中括号内的数值可以省

略,由初始值的个数来确定其值。但若没有给出初始值,则不能省略中括

号内的值。例如:int a[]={1,2,3}; int b[]={3};都对。int a[]; 不对。

●二维数组的第2维列数任何情况下都不能缺省,第1维中的数值若在给

出初始值的按情况下可以缺省。例如int a[2][]={{1,2}{3,4}}不对。 int

a[][2]={1,2,3,4,5};正确。

(4)只有在数组定义时可以给数组整体赋值,不能单独用赋值运算“=”给数组整体赋值,特别是字符串数组。例如int a[3]; a={1,2,3}; char b[10];

b=”china”; char c[2][10]; c[0]=”chian”;c[1]=”japan”都不对, 只能是

int a[3]={1,2,3};char b[10]=”china”; char c[2][10]={“china”,”japan”};

(5)函数体内定义的数组名是地址常量,而由数组名表示的一些表达式也是常量表达式。如int a[3]={1,2,3}; a,a+i都是常量。int b[3][3]={..};

b,b[0],b+i,*(b+i)也都是常量形式。常量形式意味着该式只能出现在等

号的右边,而不能作为左值。

例如以下题目:

t-11: 以下正确的数组定义形式是:

A)int n; scanf(“%d”,&n); int a[n];

相关文档
最新文档