2022年计算机软考程序员备考程序设计知识点 .pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《2022年计算机软考程序员备考程序设计知识点 .pdf》由会员分享,可在线阅读,更多相关《2022年计算机软考程序员备考程序设计知识点 .pdf(10页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、计算机软考程序员备考程序设计知识点(2) 2.1C 语言的数据类型数据类型包含两方面的内容:数据的表示和对数据加工的操作。数据的全部可能表示构成数据类型的值的集合。数据全部合理的操作构成数据类型的操作集合。在 C 语言中,把整型、实型和字符型称为基本数据类型,又称整型和实型为数值型。为了描述更复杂的数据结构, C 语言还有构造类型、指针类型、放举类型和空类型。构造类型是指由若干个相关的数据组合在一起形成的一种复杂数据类型。1.整型整型数据按其存储在内存中的二进位信息的最高位是当作数值信息位还是当作数据的符号位,将整型数据分成带符号整型和无符号整型两种。每种整型又按所需的字节个数的多少分成三种。
2、所以整型共有6种:带符号整型 (int) 、带符号短整型 (short int)、带符号长整型 (long int ,或 long)、无符号整型 (unsigned int)、无符号短整型 (unsigned short int)以无符号长整型(unsigned long)。2.实型实型数据有表示范围和精度两个不同的特征,为了适应数的范围和精度的不同要求,实型数据分三种类型:单精度型 (也称浮点型float)、双精度型 (double)、长双精度型 (long double) 。3.构造类型构造类型是指由若干个相关的数据组合在一起形成的一种复杂数据类型,构造数据类型的成分数据可以是基本数据类型
3、的,也可以是别的构造类型的。按构造方式和构造要求区分,构造类型主要有数组类型、结构类型和共用类型。 数组类型是由相同类型的数据组成;结构类型可以由不同类型的数据组成;当不同数据类型不会同时使用时,以节约内存,让不同数据占用同一区域,这就是共用类型。4.指针类型指针类型是取程序对象(如变量 )在内存中占居的地址为值的一种特殊的数据类型。5.枚举类型当变量只取很少几种可能的值,并分别用标识符对值命名时,这种变量的数据类型可用枚举类型来表示。如变量表示一个星期中的某一天,就可用校举类型描述该变量的类型,并以星期见的英文名对日期命名,对应的变量取某日的星期名称为其值。6.void 类型用保留字 VOi
4、d 表示的数据类型有两种完全相反的意思,或表示没有数据(没有结果、没有形式参数),或表示某种任意类型的数据(如又与指针结合,用void。标记 )。 void 表示空类型, void。表示任意数据的指针类型,程序如要使用void。类型的数据,应该将它强制地转换成某种具体的指针类型。2.2 常量常量是指程序运行过程中其值不可改变的数据。常量按其值的表现形式可分为如下类型:整型常量、实型常量、字符型常量、字符串常量和指针常量。1.整型常量C 语言整型常量的书写形式有三种:(1)十进制整数。通常整数的写法,如0,123,-45,+25。(2)八进制整数。以数字符0 开头并由数字符0-7 组成的数字符序
5、列,为八进制整数。如0123 表示八进制整数,其值等于十进制整数l*8*8+2*8+3=83 。(3)十六进制整数。十六进制整数以OX(或 OX)开头的整数。表示十六进制数的数字将有16 个,它们分别是 0-9 和 A、B、C、D、E、F,其中六个英文字母也可以小写。例如,0 x123 表示十六进制整数,其值等于十进制整数1*16*16+2*16+3=291; oxabc ,其值等于10*16*16+11+16+12=2748 。整型常量也可在整数之后接上字母L(或 l),特别指明它是long 型的。整型常量也可在整数之后接上字母U(或 u),特别指明是不带符号的,即是 unsigned 型的
6、。为指明不带精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 10 页符号的 long 型整型常量,则需在整数之后同时加上字母U 和 L,表明该整型常量是unsigned long 型的。整型数据以二进制形式存放,要求短整型数据的字节数不能大于整型数据的字节数;整型数据的字节数不能大于长整型数据的字节数。对于带符号的整数,用二进制代码的最左二进位作为数的符号,1 表示负数, 0 表示正数。2.实型常量C 语言实型常量的一般书写格式是:正负号整数部分 .小数部分指数部分其中,正负号可有可无,无正负号即为正实数;整数部分和小数部分都是十进数字
7、符序列;指数部分是e(或 E)后接上正负号 (正号可有可无 )和十进数字符序列。按上述格式书写实型常量,另有两条限制:(l)整数部分和小数部分可以任选,但不可同时都没有。(2)小数点和指数部分不可以同时都没有。ANSIC 引入两个后缀字符,用f 标识 float 型实型常量,用1(或 L)标识 fong double 型实型常量,而无后缀符的实型常量被认为是double 型的实型常量。要注意实型常量的有效位数,不要以为写上的数字都能被计算机所接受。在大多数 C 系统中,一个 float型实型数据在内存中占用4 个字节 (32 个二进位 ),约 7 个十进位有效数字,能表示绝对值最接近0 的实数
8、约为 10 的-38 次方,最大的实数约为10 的 38 次方。例如,对于代码float x=123456.123f ,在大多数系统中,实型常量123456.123f 的最后两位数字是无效的。double 型实型数据占用8 个字节 (64 个二进位 ),约 15 个十进位有效数字,能表示绝对值最接近0 的实数约为 10 的一 308 次方,最大的实数约为10 的 308 次方。3.字符常量字符型数据用于表示一个字符值,但字符型数据的内部表示是字符的ASCll 代码 (8 位二进位的二进制形式 )。字符型数据的类型符用char 来标记。字符型常量的书写方法:(l)普通字符 -用单引号括起一个字符
9、。如a、b、B 、$。(2)特殊字符 -用 字符或字符列采标记。这种标记方法有三种: 特定字符 ,标记特定控制符,如换行符用 n 来标记。 1 至 3 个人进制数字 ,以人进数表示字符的ASCll 代码。 X1 至 2 个十六进制数字符 ,以十六进制数表示字符的ASCll 代码。由于字符以代码存放,所以也可把字符值当作一个小整数。反之,一个小整数也可把它理解为是某个字符的代码,把它当作一个字符。4.字符串常量字符串常量用来表示一个字符序列,它的书写方法用双引号括住字符序列。例如:”ABC ” 、”等。字符串常量 “”是一个空字符串,即不含任何有效字符的字符串。字符串数据顺序存储字符串字符的AS
10、Cll 代码,并在最后字符后面存储一个H 进制代码全为0 的特殊字符,用来标记字符串的结束。所以字符串常量“1234”在内存占 5 个字节,而空字符串只占一个字节。字符串中的字符也可以是转义字符。5.符号常量为了提高程序的可读性,常量可以用以下形式命名:# define 标识符常量其中的标识符也称作符号常量,这里的常量是前面所述的某种常量、或是程序中前面定义的符号常量。例如:# define MAXN 100 2.3 变量变量是程序执行时,其值允许改变的数据对象,用来存储输入数据、计算的中间结果和程序的最终结果等。精选学习资料 - - - - - - - - - 名师归纳总结 - - - -
11、- - -第 2 页,共 10 页1.变量定义变量用标识符命名,通过变量定义引入的变量名习惯用英文字母开头,C 系统可能也会预定义一些标记系统特性的变量,系统定义的变量习惯用下线字符开头。变量的数据特性由变量定义时指定的类型确定。若定义指定数据类型的变量(即不在指定数据类型基础上定义新数据类型的变量,如指定类型的指针、数组等),这种变量定义的句法为:数据类型符变量名1,变量名 2,;编绎系统根据变量的数据类型确定存放它的值所需要的内存字节数,变量值的内部表示形多也由其类型确定。2.内部变量和外部变量变量按其定义出现在程序中的位置不同分成两类:在函数内定义的变量称为内部变量,而在函数之外(函数之
12、间 )定义的变量称为外部变量。3.变量的存储类型系统按程序对计算机存储空间使用的不同要求,将内存分成不同用途的块,与计算机的寄存器一起将存储空间分成不同类别。而C 程序通过指定变量的存储类表明变量的不同的使用要求,让系统将变量分配于不同的内存块或寄存器。如在上述变量定义形式中,还要指定变量的存储类型,变量定义的形式为:存储类型符数据类型符变量名1,变量名 2,;其中存储类型有四种:auto(自动的 )、static(静态的 )、register 寄存器的 )和 extem 外部的 )。外部变量只允许被指定为静态的,或不指定其存储类型。内部变量可以被指定为自动的或静态的、或寄存器的、或不指定存储
13、类型,若不指定存储类型,它就是自动的。自动变量是内部变量,在函数内或复合语句内定义,它们被分配在堆栈区。静态变量可以是内部变量,也可以是外部变量。静态变量表示永久性和专用性,即在程序执行过程中一直存在,局限于定义它的函数(内部静态变量 )或局限于定义它的程序文件中那些函数(外部静态变量 )。静态变量被分配在与程序相联的内存数据区。寄存器变量是函数的内部变量或参数,也是一种临时性的变量。如因函数使用非常频繁程序希望将它分配在寄存器,程序就可将变量指定为寄存器的,但编译系统也可能把它当作动变量处理。指定存储类型是外部的,实际b 是告诉编译器,这个变量是一个外部变量,在这里要使它,而它的定义或在别的
14、程序文件或在后面的程序段等别的地方。4.变量的作用域和生存期变量的使用要注意变量的作用域(可使用范围 )和生存期 (存在的时间 )。C 语言规定,内部变量的作用域只局限于定义它的函数或复合语句。自动的内部变量是一种临时性变量,函数被调用时分配,函数执行结束时释放。而静态变量在程序执行前分配,直至程序结束才释放。由于静态的内部变量在函数结束时,依旧保持存储,函数上一次调用时留在内部静态变量中的结果能被下一次调用时继续使用。外部变量也在程序启动前分配,直至程序执行结束释放。普通的外部变量能提供别的源程序文件中的函数使用(要对它作外部说明 );静态的外部变量只能供定义它的源程序中的全部函数专用。由于
15、外部变量能供整个程序使用,所以外部量不能重名。5.变量定义初始化变量定义是对变量的存储空间提出一种要求,存储空间分配后,变量的初值通常是不拔的。但程序可以要求系统在为变量分配存储空间同时为变量设定初值,这就是变量定义初始化。在变量的定义形式中,在变量名之后接上“= 初值表达式 ” ,该初值表达式的值就作为该变量的初值。C 语言另有约定,对于静态变量和外部变量,若定义它们时未指定初值,系统给它们设置成全部二进位都是0 的值。以下是各种变量定义的例子:(l)定义整型,并对其初始化。Short minInt =100; int i= l ,j= 2, k=3; 精选学习资料 - - - - - -
16、- - - 名师归纳总结 - - - - - - -第 3 页,共 10 页long p=-1L ,q=1234567890L; unsigned usi= 254u; unsigned long up= 4294967295UL; (2)定义字符型变量,并对其初始化。char ch= A ;(3)定义实型 (浮点型、双精度型)变量,并对其初始化。float f=1.23456f; double d=1.2345678op87654; 2.4 运算符每个运算符都代表对运算对象的某种运算,都有自已特定的运算规则,规定运算对象的个数、运算对象数据类型,以及运算结果的数据类型。C 语言还规定运算符有
17、不同的优先级和结合性。运算符的优先级指表达式求值时,按运算符的优先级由高到低的次序计算。如“ 先乘除后加减 ” 。运算符的结合性是指运算符要求它的运算对象对它的结合方向。结合性确定了在相同优先级运算符连续出现的情况下运算对象与运算符结合的顺序,通常也是计算顺序。如算术运算符的结合性是从左至右的,则连续的加减或连续的乘除是从左向右计算。而赋值运算符的结合性是从右至左的,则连续的赋值运算是从右向左逐个计算赋值。在C 语言中,要特别注意某些运算符因运算对象数据类型不同,可能有不同的意义。1.算术运算符算术运算符的运算对象是基本数据类型的数据,实现通常的取整、取负、四则运算、求两整数相除后的余数的运算
18、和增1 减 1 运算。特别要留心的是整除运算、求余运算、增1 运算和减 1 运算。对两个整型数据执行除运算(/),称为整除运算,要特别注意的是两个整型数据的整除运算的结果是整型的,如表达式3/2 的结果为 1,表达式 2/3 的结果为 0。求余运算符 (%)要求参与运算的两个运算对象均为整型数据,如5% 3 的值为2。一般来说,求余运算所得结果的符号与被除数的符号相同。如-5%3 的值为 -2,5%-3 的值为 2。增 1(+) 和减 1(-)运算符都是单目运算符,以整型、 字符型和指针型变量为运算对象,并改变运算对象的值。按它们出现在变量之前和之后两种不同情况,其作用有微妙的差别。前缀 +
19、前缀 +的一般形式是+变量例如,若 X 是整型或某种指针类型的变量,则+X 使变量 X 的值增大 1 个单位,并以X 的新值作为表达式 “+X ” 的运算结果。如以下语句执行前,变量X 的值为 1,语句j= + x; 使变量 X 的值变成 3,变量 j 的值也为 3。这里所说的一个“ 单位 ” 是指:如果 X 是整型的,则 +x 就是普通的解释: “x 的值比原值增加1;x 是指针, 它指向数组的某个元素,则+x 使它指向数组的后一个元素。后缀 + 后缀 +的一般形式是变量 + 表达式 “ 变量 +” 运算结果是该变量的原来值,在确定了表达式结果之后,用与前缀+相同的方式增大该变量的值 1 个
20、单位。前缀 +和后缀 +都能使变量的值增加1 个单位,但是它们所代表的表达式的值却不相同,前者是变量增加后的值,后者是变量还未增加的原先值。例如i,j 为整型变量,且i 的值为 4,以下分别用和表记的代码将使 j 获得不同的值:j=+i ; j= i+ 都使变量 i 的值变为 5,但使 j 的值为 5;使 j 的值为 4。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 10 页前缀 - 前缀 - 的一般形式是-变量前缀 -使变量的情减少 (或后退 )l 个单位,并以变量的新值为表达式“ -变量 ” 的运算结果。后缀 - 后缀 - 的一般
21、形式是变量 - 后缀 - 作用于变量时,以该变量的值作为表达式“ 变量 -” 的运算结果,即先取其值为结果,然后用与前缀 -相同的方式减少该变量1 个单位。后缀 - 与前缀 - 的区别类似于后缀+与前缀 +的区别。类似前面的例子,依旧假定i 的值为 4,两代码j= -i j=i- 都使变量 i 的值变为 3,但使 j 的值为 3;使 j 的值为 4。使用 +和-运算符时,其运算对象仅适用于变量,不能是常量等数据值表达式。如4+或(i+j)+ 都是不合法的。+和-是带有副作用的运算符。建议读者不要在一个表达式中对同一变量多次使用这样的运算符,可能会发生意想不到的结果。如i 的值为 4,对表达式(
22、i+)+(i+) 可能认为它的值为9(+5)。然而在TURBO C 和 MS C 系统中,它的值为8。而表达式(+i)+(+i) 的值为 12。这是因为这些系统在处理i+时,先使用i 的原值计算整个表达式,然后再让i 连续两次自增 ;处理+i 时,在计算表达式值之前,先对i 执行两次自增,然后才计算表达式。放前一个表达式的值为 8,后一个表达式的值为12。因+与+(-与-类似 )是两个不同运算符,对于类似表达式i+j 会有不同的理解: (i+)+ j 或 i+(+j) 。 C编译的处理方法是自左至右让尽可能多的字符组成一个合法的句法单位(如标识符、数字、运算符等)。因此, i+j 被解释成 (
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年计算机软考程序员备考程序设计知识点 2022 计算机 程序员 备考 程序设计 知识点
![提示](https://www.deliwenku.com/images/bang_tan.gif)
限制150内