网站大量收购独家精品文档,联系QQ:2885784924

江苏省二级C真题解析、算法归纳.doc

  1. 1、本文档共88页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
江苏省二级C真题解析、算法归纳

江苏省二级C语言考试 题解、辅导与算法归纳 计算机学院基础部 二ОО九年九月 目 录 部分重要考点疑难精解 1 一、数据类型(常量与变量) 1 二、数组与指针、字符串处理 2 三、函数 4 四、共用体、结构体与单向链表 5 2007年春~2009年春笔试真题原题、答案及解析 8 2007年春季真题 8 2007年秋季真题 14 2008年春季真题 21 2008年秋季真题 28 2009年春季真题 34 2007年春季真题参考答案 41 2007年秋季真题参考答案 41 2008年春季真题参考答案 41 2008年秋季真题解析 42 2009年春季真题解析 46 2009年春季上机真题及参考答案 50 2009年春第一套 50 2009年春第二套 52 2009年春第三套 53 2009年春第四套 54 2009年春第五套 56 2009年春第一套参考答案 58 2009年春第二套参考答案 59 2009年春第三套参考答案 61 2009年春第四套参考答案 62 2009年春第五套参考答案 64 C语言常考算法归纳 66 应当掌握的一般算法 66 详细讲解 66 部分重要考点疑难精解 一、数据类型(常量与变量) 1.字符常量 字符常量是用两个单引号前后括住的单个字符来表示。其中转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符。转义字符主要用来表示那些用一般字符不便于表示的控制代码(用其ASCII码值的八进制或十六进制表示)。因为ASCII码表中字符的最大码值为127或255,而127=(177)8=(7F)16,255=(377)8=(FF)16,所以八进制形式最多要用3位、十六进制形式最多要用2位就够表示了。其中 \ddd 即表示是1~3位8进制数对应的符号, \xhh 是1~2位16进制数对应的符号,比如:\101,(101)8即(65)10,是字符A的ASCII码值,故\101表示字符A;\x41,(41)16即(65)10,也表示字符A。 由于在内存中,字符数据以ASCII码存储,它的存储形式就与整数的存储形式类似,于是,一个字符数据既可以以字符形式处理、输出,也可以以整数形式处理、输出。但容易出现溢出问题(C语言编译不报错),例如: (07秋)24.若有程序段“char c=256;int a=c;”,则执行该程序段后a的值是______。 A.256 B.65536 C.0 D.-1 由于8个二进制位所能表示的最大无符号整数是(1111 1111)2 ,即(255)10 , 而(256)10=(28)10=(10000 0000)2,最高位1溢出被舍弃,故本题结果为0。 2.符号常量及宏定义 符号常量的定义实际是“宏”定义的特例。 所谓“宏”定义就是在程序的开始将一个“标识符”定义成“一串符号”,这个“标识符”称为宏名;在源程序中可以出现这个宏,称为“宏引用”或“宏调用”;在源程序编译前,将程序清单中每个“宏名”都原样替换成对应的“一串符号”,称为“宏替换”或“宏扩展”。 为了区别于一般的变量名等,宏名通常用大写字母组成。 宏定义是以“#define”开头的编译预处理命令,分为无参宏和带参宏两种。 NULL、EOF是系统提供的符号常量,分别与0、-1等值,使用前必须在程序开头加上“#include stdio.h或#include stdio.h”编译预处理命令。NULL一般用来表示空地址值,与0、\0可等值互换使用;EOF为一些系统函数的返回值。 3.指针变量及其运算 指针是一种数据类型。所谓指针,就是指存放数据的内存地址。指针变量中存放的数据就是地址值。指针变量的定义形式是: 数据类型名 * 指针变量名; 注意:①定义时指针变量名前的*仅仅是一个标志,不具备“取内容符”的含义; ②指针变量必须在获得合法空间的地址值之后,方能进行各种运算、处理; ③指针变量可以与整数进行加减运算,例如,有下列程序段: int a,*p; p=a; 若p中值为FFDE(十六进制),则p+1的值为FFE0,即前者加上2的结果,含义是p+1为p所指数据空间的下一个数据空间的地址值,int型数据占据的空间字节数为2; ④两个同样类型的指针变量可以进行减法运算,运算结果为整数,值为两个指针变量所指空间地址之间的空间个数值(有正、负之分)。二者不能进行加法运算。例如,有下列程序段: int a,b,*p,*q; p=a; q=b; 若p值为FFDE,q值为FFE0,则p-q的值为-1,q-p的值为1。注意,int型数据占据的一个空间字节数为2。 ⑤两个同样类型的指针变量可以进行关系运

文档评论(0)

xy88118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档