(完整版)打印一下-C语言期末复习资料
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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];