修改过的2012年上半年全国计算机等级考试二级C语言考前复习资料(笔试+机试).pdf
《修改过的2012年上半年全国计算机等级考试二级C语言考前复习资料(笔试+机试).pdf》由会员分享,可在线阅读,更多相关《修改过的2012年上半年全国计算机等级考试二级C语言考前复习资料(笔试+机试).pdf(109页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、(重庆虎贲教育)2012年上半年全国计算机等级考试二级C语言考前复习资料(笔试)单 分 支 蹄define typedef include 不 开 联 闭 趟 鹦思维导图1:c语言程序设计知识结构第一课C语言程序设计基础一 嫄)A 8 W ,ht(2锄 6 7 僻 头).螂-bm有节)+越蹦:、哪时山(网对瞅礁,蹦呻阴)4 f l o a t ;4?*).、.:麹铺、Y:影序 呈 字 耀c h ar(1?T),雌”翔 阳 厂V涕席板里y!.低负),&(W上)g z e o f 朝 运 算 符.怖 斛 八 丁飞/蹦 鞠1/=”.然 魏 鞠“双 目 我 算 符:/1 1 U 懒 彻 /_1-,嘀(
2、峋 阚3ig艇#怖1:期?;:三目弱力;二 十 二.二 七 4&二 七 二 二 二 雕 预 算 符 樵 变 曼 逗 号 运 算 符.1.右期没依啊.J /思维导图2:第 一 课 C 语言程序设计基础本 课 主 要 知 识 点:1.知识点:C程序基础 c 语言是一种结构化程序设计语言。三种基本结构:顺序、选择、例 1:(2010-09-11)以下关于结构化程序设计的叙述中正确的是(C)1亘-Js e a瞰熔 岭 强 冷 通 蜘一!骐 也 力 一 9制.制播、觥.触M曾选)库 函 费!隙 停 辘 到 翎就嘛i制 1就孵瘫钠期字桶处理部,7-1一球,期国 蜩锄搬就麻阳若彼1舱自定加费(觑翻章)循环。
3、A)一个结构化程序必须同时由顺序、分支、循环三种结构组成B)结构化程序使用go to 语句会很便捷C)在 C语言中,程序的模块化是利用函数实现的D)由三种基本结构构成的程序只能解决小规模的问题例 2:(2011-03-26)计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是(A)A)C 语言程序仅可以编译执行B)C 语言程序仅可以解释执行C)C 语言程序既可以编译执行又可以解释执行D)以上说法都不对【解析】计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言编写的程序。翻译的方式有两种,一个是编译,一个是解释。C语言
4、程序仅可以编译。例 3:(2011-03-26)以下叙述中错误的是(D)A)C 语言的可执行程序是由一系列机器指令构成的B)用 C语言编写的源程序不能直接在计算机上运行C)通过编译得到的二进制目标程序需要连接才可以运行D)在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.e x e 文件【解析】C程序开发过程:编辑一(.c)编译一(.o b j)链接一 可执行文件(.e x e)2.知识点:C 语言程序的构成 C 程序是由函数构成的,一个C 程序有且仅有一个main函数。一个函数由两部分组成:函数的首部和函数体。函数体包括声明部分和执行部分。一 个 C 程序总是从main函数开始执行
5、(即程序的入口),由 main函数结束,(即程序的出口)。例 1:(2010-03-12)以下叙述正确的是(B)A)C语言程序是由过程和函数组成的B)C语言函数可以嵌套调用,例如:f un(f un(x)C)C语言函数不可以单独编译D)C语言中除了 m a i n 函数,其他函数不可作为单独文件形式存在例 2:(2011-09-11)以下叙述中错误的是(C)A.C 语言编写的函数源程序,其文件名后缀可以是CB.C 语言编写的函数都可以作为一个独立的源程序文件C.C 语言编写的每个函数都可以进行独立的编译并执行D.一个C语言程序只能有一个主函数3.知识点:标识符 命名规则:标识符中只能包含字母(
6、a-z,A-Z),数字(0-9),下划线(_)。第个字符必须是字母或下划线。分类广关键字(3 2 个)类型说明符:i n t,f l o a t,d o ub l e 等(有固定含义,不可改变)语句定义符:i f,f o r,wh i l e 等小写预定义标识符库函数的名字:p rin tf,sc a n f等(有特殊含义,可以改变)编译预处理命令名:include等用户自定义的标识符i 格式合法,过不能使用关键字,垣见名知意例 1:(2010-03-13)以下C 语言用户标识符中,不合法的是(D)A)_l B)AaBc C)a_b D)a-b4.知识点:数据类型例 1:(2010-03-16
7、)以下关于C 语言数据类型使用的叙述中错误的是(D)A)若要准确无误差的表示自然数,应使用整数类型B)若要保存带有多位小数的数据,应使用双精度类型C)若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型D)若只处理“真”和“假”两种逻辑值,应使用逻辑类型【解析】结构数据类型是根据已定义的一个或多个数据类型用构造的方法来定义的,一个结构类型的值可以分解成若干个“成员”或“元素”,每 个“成员”都是一个基本数据类型或又是一个构造类型,C 项正确。C 语言没有逻辑类型,故 D 项错误。例 2:(2011-03-26)定义无符号整数类为UInt,下面可以作为类UInt实例化值的是(B)A
8、)-369 B)369 00.369 D)整数集合 1,2,3,4,5【解析】无符号整数类型为只有正整数和0,所有选择B。5.知识点:常量 整型常量十进制整常数:没有前缀,其数码为0-9。例如65535,-568八进制整常数:以 0 开头,其数码为0-7。例如015十六进制整常数:以 0X或 Ox开头,其数码为0-9,A-F或 a-f。例如0 x2A长整型数:整型常数后缀为L 或 1。例如358OOOL无符号数:整型常数后缀为U 或 u。例 如 158u 实型常量的形式小数形式:必须有小数点,小数点前后不能同时没有数字。指数形式:aEn(其中a 表示十进制数,E 阶码标志,n 阶码)。E 前
9、E 后必须有数字,E 后必为整数,可以带符号。例如2.1E-3、5E8例 1:(2011-09-13)以下选项中关于C 语言常量的叙述错误的是:(D)A.所谓常量,是指在程序运行过程中,其值不能被改变的量B.常量分为整型常量、实型常量、字符常量和字符串常量C.常量可分为数值型常量和非数值型常量D.经常被使用的变量可定义成常量【解析】根据常量的基本概念,则不难判断A、B、C 均正确。例 1:(2009-04-13)以下选项中,能用作数据常量的是(D)A)oll5 B)0118 C)1.5el.5 D)115L【解析】八进制整常数以0 开头,A 项错误;八进制整常数的数码味0-7,B 项错误;实型
10、常量的指数形式E 后必为整数,故 C 项错误;长整型数后缀为L 或 1,故 D 项正确。例 2:(2010-03-26)以下选项中可用作C 程序合法实数的是(A)A).le0 B)3.0e0.2 C)E9 D)9.12E【解析】实型指数表示方式“E 前 E 后比有数,E 后必须是整数”,故选A 字符常量:用单 引 号 括起来的一个字符。包括普通字符常量和转义字符。普通字符常量:如 a、A、T。转义字符:由一对单引号引起来的以 开头的若干字符的组合。如 n 表示回车换行、表示反斜线符、弋 表示单引号符、表示双引号、d d d 表示八进制数、x h h 表示十六进制数。例 3:(2010-09-1
11、5)以下选项中能表示合法常量 的 是(C)A)整数:1,200 B)实数:1.5E2.0 C)字符斜杠:D)字符串:“007”【解析】表示整常量不能用逗号分隔,A 项错误;实型常量的指数形式E 后必为整数,故 B项错误;3007,是转义字符,只能用单引号括起来,不能用双引号或其他括号,故 D 项错误。例 4:(2010-03-26)以下选项中不能用作C 程序合法常量的是(B)A)1,234 B)M23 C)I23 D)x7G【解析】A 中 的 ,在编译时会出错的,直接写成1234即可,B 是一个三位八进制数代表的字符,C 是一个数字常量,D 是一个字符串,其中x7是一个一位十六进制数代表的字符
12、,也即D 中的字符串是两个字符,如果sizeof的话是3,如果strlen的话是2。6.知识点:变量 整型变量和实型变量以考试标准Viusal C+6.0为例,说明各类型变量所占的位数。类型所占位数所占字节数类型所占位数所占字节数short162unsigned int324int324unsigned long324long324float324unsigned short162double648例 1:(2010-09-38)有以下程序#include main(0)int s,t,A=100;double B=6;s=sizeof(A);t=sizeof(B);printf(4%d,%d
13、n,s,t);在VC6平台上编译运行,程序运行后的输出结果是(C)A)2,4 B)4,4 C)4,8 D)1 0,6【解析】在VC6平台上,i n t型占4个字节,d o u b l e型占8个字节,故答案是C。字符变量:一个字符变量只能存放一个字符。字符串不能存放在字符变量中,只能用字符数组或指针存放字符串。例1:(2 0 0 9-0 9-2 2)有以下定义语句,编译时会出现编译错误的是(C)A)c h a r a=a ;B)c h a r a=n ;C)c h a r a=a a ;D)c h a r a=x 2 d ;【解析】一个字符变量只能存放一个字符,A项字符变量存放的是普通字符常量
14、;B、D项字符变量存放的转义字符;字符常量只能是单个字符,不能是字符串,a a,不是单个字符,故C项错误。7.知识点:ASCH码 的A S C I I码值为4 8;K的A SC H码值为65;H的AS CI I码值为97。大写字母与小写字母的AS CI I码值相差32。例1:(2009-09-23)有以下程序#i n c l u d e m a i n()c h a r c l,c 2;c l=A+8-4;c 2=A+8-5;p r i n t f(44%c,%d n,c l,c 2);)已知字母A的AS CI I码为6 5,程序运行后的输出结果是(A)A)E,68 B)D,69 C)E,D
15、D)输出无定值【解析】A,的AS CI I码值为65,的AS CI I码值为56,4的AS CI I码值为52,65+56-52=69,对应于字符E。5的AS CI I码值为53,65+56-53=68,对 应 于 字 符 字 符 变 量c l以c格式输出,即E,。字符变量c 2以d格式输出,即68。故答案是A。8.知识点:进制转换 十进制转换成二进制、八进制、十六进制:将十进制的数字除以2(8、16),得到的商数继续除以2,直到商为0,然后将各次相除所得的余数从后往前排列。二进制、八进制、十六进制转换成十进制:将 二(八、十六)进制数的每一位数从高位到低位乘以2的n-1次幕,n为该位所在的位
16、数。二进制与八进制之间的转换:每个八进制数字转换成3位二进制数字。二进制与十六进制之间的转换:每个十六进制数字转换成4位二进制数字。例 1:(2010-09)以下程序运行后的输出结果是一 2008 0#include main()int a=200,b=010;printf(算(术 运 算 符)关(系 运 算 符)(逻辑)与(逻辑)或 条(件运算符)赋(值运算符)10.知 识 点:强制类型转换运算符 一般形式:(类型说明符)(表达式)功能:把表达式的运算结果强制转换成类型说明符所表示的类型例 1:(2009-04-06)表达式(int)(double)(5/2)+2.5)的值是 4。【解 析】
17、(int)(double)(5/2)+2.5)-*(int)(double)2)+2.5)f (int)(2.000000+2.5)(int)(4.500000)T。例 2:以下程序运行后的输出结果是()omain()int a;a=(int)(double)(3/2)+0.5+(int)1.99*2);printf(%dnH,a);)答案:3【解析】(3/2)=l,(double)+00=15(int)1.99*2=2,所以(double)(3/2)+0.5+(int)1.99*2=35故 a=3o11.知识点:算 术 运 算 符:+、一、*、/、%:参与运算的量均为整型。/:当除号左右两边
18、都是整数的时候,商也要是整数,如果不是整数则舍弃小数部分。当参与运算量有一个为实型,则商为double型。例 1:(2011-09-14)若有定义语句:inta=10;doubleb=3.14;,则 表 达 式 A +a+b值得类型是(C)A.char B.int C.double D.float【解析】各种类型数据混合运算时,最终结果的类型可依据以下转换规律:char-short-int-long-float-double例 l:(2011-09-15)如有定义语句:int x=I2,y=8,z;,在其后执行语句z=0.9+x/y,则 z 的 值 为(B)A.1.9 B.l C.2 D.2.
19、4【解析】x,y,z 均为整型变量,因此x/y 结果为1,即 z=0.9+l =L 9,z 最终结果为1例 1:(2010-09-14)有以下定义:i n t a;l o n g b;d o u b l e x,y;则以下选项中正确的表达式是(A)A)a%(i n t)(x-y)B)a=x!=y;C)(a*y)%b D)y=x+y=x【解析】参与运算的左右操作数均为整型,故 A 项正确,C 项错误。B 项是赋值语句,不是表达式。赋值运算符左边必须是变量,而不是表达式,而 D 项中x+y=x,错误。12.知识点:逗号表达式 一般形式:表达式1,表达式2表达式n 求值过程:自左向右依次求解,最后一
20、个表达式的值为整个逗号表达式的值。例 1:(2009-04-14)设有定义:i n t x=2;以下表达式中,值不为6 的是(D)A)x*=x+1 B)x+,2*x C)x*=(1+x)D)2*x,x+=2【解析】A 项 x=x*(x+l)=2*(2+l)=6;B 项 x+后,x的值为3,2*x 的值为6,整个逗号表达式的值为6;C 项 x=x*(l+x)=2*3=6;D 项 x=x+2=2+2=4,整个逗号表达式的值为4。故答案是D。13.知识点:自增自减运算符+i i自加1 后再参与运算i+i 参与运算后再自加1-i i自减1 后再参与运算i-i 参与运算后再自减1+和-的运算对象只能为变
21、量,不能是常量或表达式。例 1:(2009-09-06)若有定义语句:i n t a=5;则表达式:a+的值是 5。【解析】表达式a+的值是a 未 加 1 之前的值,即 5。.当+或一与p r i n t f 语句结合时,若+/-x 的形式,则先自增/自减,然后输出;若 X+/-的形式,则先输出x原值,在进行自增/自减操作。例 2:(2 0 1 1-0 3-2 6)有以下程序#i n c lu dem a i n()i n t x=0 1 1;p r i n t f(,%dn,+x);)程序运行后的输出结果是(C)A)1 2 B)ll C)1 0 D)9【解析】Oi l是一个八进制的数,转为十
22、进制则为1 *8+1=9;+x 是 x先自增1 再参与其他运算,所以先x自增I 为 1 0 再输出即为1 0,故选C。14.知识点:赋值表达式 一般形式:变量名=表达式 赋值运算符左边必须是变量,而不是表达式。例 1:(2 0 1 0-0 3-1 4)若有定义:do u b le a=2 2;i n t i=0,k=1 8;则不符合C 语言规定的赋值语 句 是(C)A)a=a+,i+;B)i=(a+k)=(i+k);C)i=a%ll;D)i=!a;【解析】a 为 do u b le型,参与运算的操作数均为整型,故 C 项错误。例 2:(2 0 1 1-0 3-2 6)若有定义语句:i n t
23、a=3,b=2,c=l;,以下选项中错误的赋值表达式是(A)A)a=(b=4)=3;B)a=b=c+1;C)a=(b=4)+c;D)a=I+(b=c=4);【解析】赋值表达式的左边必须是变量不能是表达式。而答案A 中,(b=4)是一个赋值表达式。复合赋值运算符和表达式+=、=、*=、/=、=、=、=、&=A:例 2:(2 0 1 0-0 9-1 6)表达式 a+=a-=a=9 的 值 是(D)A)9 B)-9 C)1 8 D)0【解析】赋值运算符的结合性是从右到左,a=9f a=a-9=0 f a=a+0=0+0=0。故答案是D。15.知识点:位运算 按位与运算&规则:0&0=0 0&1=0
24、按位或运算I规则:0|0=0 0|1=1 按位异或运算八规 则:0 A0=0 OA1=1 求反运算一规则:0=1 1=0 左移运算 1&0=0 1&1=11|0=1 1|1=11 AO=1 1 A1=O规则:把 左边的运算数的各二进位全部左移若干位,高位丢弃,低位补0。左移一位相当于该数乘以2 o 左移n 位相当于该数乘以2:例 1:(2 0 1 0-0 9-4 0)有以下程序#i n c lu de m a i n ()s h o r t c=1 2 4;c=c _ _ _ _ D_ _ _ _;p r i n t f(%dn ,c);若要使程序的运行结果为2 4 8,应在下划线处填入的是A
25、)2 B)1 2 4 8 O&0 2 4 8 D)l【解析】左移位相当于该数乘以2,1 2 4 1 相当于1 2 4 乘以2,等于2 4 8。故答案是D。例2:(2 0 0 9-0 4-3 9)有以下程序#i n c lu de m a i n()i n t a=5,b=l,t;t=(a 2)lb;p r i n t f(4 4%dn,t);)程序运行后的输出结果是(A)A)2 1 B)ll C)6 D)1o【解析】左移2位相当于该数乘以2。5 2相当于5乘以4等于2 0。2 0 1=2 1 故答案是A。右移运算 把 左边的运算数的各二进位全部右移若干位。高位补0,低位丢弃。右移一位相当于该数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 修改 2012 上半年 全国 计算机等级考试 二级 语言 考前 复习资料 笔试 机试
限制150内