二级C语言笔试考点相关真题及答案解析.pdf
《二级C语言笔试考点相关真题及答案解析.pdf》由会员分享,可在线阅读,更多相关《二级C语言笔试考点相关真题及答案解析.pdf(71页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第 一 章 C语言概述1.1 C语言基础知识I .【2 0 1 1 年9 月选择题第1 1 题】以 下 叙 述 中 错 误 的 是。A)C 语言编写的函数源程序,其文件名后缀可以是.CB)C 语言编写的函数都可以作为一个独立的源程序文件C)C 语言编写的每个函数都可以进行独立的编译并执行D)一个C 语言程序只能有一个主函数参考答案:C【解析】C 语言编写的每个函数可以被独立编译,但是除主函数外不能独立执行。2 .【2 0 1 1 年3 月选择题第1 1 题】计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是A)C 语言程序仅可以编译执行B)C 语言程序仅可以解释执行C)C
2、 语言程序既可以编译执行又可以解释执行D)以上说法都不对参考答案:A【解析】解释程序是将源程序(如B AS I C)作为输入,解释一句后就提交计算机执行一句,并不形成目标程序。编译程序是把高级语言(如F O R T R A N、C O B O L、Pa s c a l.C 等)源程序作为输入,进行翻译转换,产生出机器语言的目标程序,然后再让计算机执行这个目标程序,得到计算结果。3.【2 0 1 1 年3 月选择题第1 2 题】以下叙述中错误的是A)C 语言的可执行程序是由一系列机器指令构成的B)用C 语言编写的源程序不能直接在计算机上运行C)通过编译得到的二进制目标程序需要连接才可以运行D)在
3、没有安装C 语言集成开发环境的机器上不能运行C 源程序生成的.e xe 文件参考答案:D【解析】C 语言的可执行程序是由一系列机器指令组成的,用C 语言编写的源程序必须经过编译生成二进制目标代码,再经过连接才能运行,并且可以脱离C 语言集成开发环境。故答案为D)。1.2 常量、变量和数据类型4.【2 0 1 1 年9 月选择题第1 3 题】以F选项中关于C 语 言 常 量 的 叙 述 错 误 的 是。A)所谓常量,是指在程序运行过程中,其值不能被改变的量B)常量分为整型常量、实型常量、字符常量和字符串常量C)常量可分为数值型常量和非数值型常量D)经常被使用的变量可以定义成常量参考答案:D【解析
4、】常量是其值不可变化的量。常量分为数字常量和字符常量。在C 语言中,常量多是通过符号常量来表示的。数字常量又包括整形常量和浮点型常量,浮点型常量又称实数。在程序中不希望被改变的变量才定义为常量,而不是经常使用的变量。5 .【2 0 1 1 年9 月选择题第1 4题】若有定义语句:i n t a=1 0;d o u b l e b=3.1 4;,则表达式 A,+a+b 值的类型是。A)char B)int C)double D)float参考答案:c【解析】本题考查数据类型的自动转换,C语言语法规定,当不同的变量相加时按最长的变量对齐,即转换优先级为:char int floatdouble。6
5、.【2011年9月选择题第21题】以下不能输出字符A的语句是(注:字符A的ASCII码值为65,字符a的ASCII码值为97)oA)printf(%cn,n-32);B)printf(%dn,A);C)printf(%cn,65);D)printf(%cn,B-l);参考答案:B【解析】A)、C)、D)三个选项的输出格式都是c,只有B)的输出格式是d,只会输出数字6 5,所以应选择B)。7.【2011年9月填空题第12题】有以下程序#include main()intc3=0,k,i;while(k=getchar()!=n)ck-A+;for(i=0;i3;i+)printf(%d,ci);
6、printf(n);)若程序运行时从键盘输入ABCACC 回车,则 输 出 结 果 为【12】。参考答案:213【解析】当输入A时,a0+;当输入B时,al+;当输入C时,a+;直到遇到回车循环停止,题中共输入2个A,1个B,3个C,所以输出结果为213。8.【2011年3月选择题第13题】以下选项中不能用作C程序合法常量的是A)1,234 B)123 0123 D)“x7G参考答案:A【解析】常量是在程序运行过程中,其值不能被改变的量。常量类型包括:整型常量、实例常量、字符常量、字符串常量和符号常量。B)选项为字符常量,表示八进制数123代表的ASCII字符;C)选项为整型常量;D)选项为字
7、符串常量。9.【2011年3月选择题第14题】以下选项中可用作C程序合法实数的是A).leO B)3.OeO.2 C)E9 D)9.12E参考答案:A【解析】浮点型常量有十进制小数形式和指数形式。指数形式要求字母e(或者E)之前必须有数字,且e后面的指数必须为整数。B)、C)、D)都是不合法的指数形式,故答案为A)。10.【2011年3月填空题第8题】有以下程序(说明:字符0的ASCII码值为48)#includemain()char cl,c2;scanf(%d”,&cl);c2=cl+9;printf(%c%cn”,cl,c2);)若程序运行时从键盘输入48 回车,则 输 出 结 果 为【
8、8】。参考答案:09【解析】本题中通过ASCH码对字符变量赋值,由于字符0的ASCII码是4 8,因此字符变量cl为0,c2的ASCII码比c l大9,因此c2为9。11.【2010年9月选择题第13题】以下叙述中错误的是A)C程序在运行过程中所有计算都以二进制方式进行B)C程序在运行过程中所有计算都以十进制方式进行O 所有C程序都需要编译链接无误后才能运行D)C程序中整型变量只能存放整数,实型变量只能存放浮点数参考答案:B【解析】C程序在运行过程中所有计算都以二进制方式进行,所以A)正确B)错误。所有C程序先编译再链接,全都无误后才能运行。C程序中整型变量用于存放整数,实型变量用于存放浮点数
9、。所以,本题答案为B)。12.【2010年9月选择题第15题】以下选项中能表示合法常量的是A)整数:1,200 B)实数:1.5E2.0 C)字符斜杠:D)字符串:007”参考答案:D【解析】A)选项中1,200不能表示整数1200。B)选项中应表示为1.5E2。在C语言中,反斜杠是转义符,其后必须跟有其他字符,所以选项C)也是错误的。D)选项正确。13.【2010年3月选择题第13题】以下C语言用户标识符中,不合法的是A)_l B)AaBc C)a_b D)ab参考答案:D【解析】标识符由字母、下划线、数字三个方面组成,开头必须是字母或下划线。14.【2010年3月选择题第16题】以下关于C
10、语言数据类型使用的叙述中错误的是A)若要准确无误差地表示自然数,应使用整数类型B)若要保存带有多位小数的数据,应使用双精度类型C)若要处理如 人员信息”等含有不同类型的相关数据,应自定义结构体类型D)若只处理 真 和 假 两种逻辑值,应使用逻辑类型参考答案:D【解析】C语言中没有逻辑类型,若只处理”真 或 假 两种逻辑值,可以使用整型数”1或“0表示,故选D。15.【2009年9月选择题第12题】以下选项中,能用作用户标识符的是 oA)void B)88C)_0_ D)unsigned参考答案:C【解析】C语言的标识符命名规则为:只能由字母、数值和下划线3种字符组成;第一个字符必须是字母或下划
11、线;不能与C语言中的关键字或保留字相同。16.【2009年9月选择题第22题】有以下定义语句,编 译 时 会 出 现 编 译 错 误 的 是。A)char a-a;B)char a-n;C)char a-a a;D)char a=x 2 d;参考答案:C【解析】aa是字符串,不用加上单引号。17.【2009年3月选择题第11题】以 下 选 项 中 合 法 的 标 识 符 是。A)1 1B)l-1C)_llD)l_ _参考答案:C【解析】标识符命名规则:标识符必须由字母(a z或A Z)或下划线(_)开头;标识符的其他部分可以用字母、下划线或数字(0 9)组成;大小写字母表示不同意义,如cout
12、和Cout代表不同的标识符;在定义标识符时,虽然语法上允许用下划线开头,但是,我们最好避免定义用下划线开头的标识符,因为编译器常常定义些下划线开头的标识符。因此,本题正确答案为。18.【2009年3月选择题第12题】若函数中有定义语句:in tk;,则。A)系统将自动给k赋初值0B)这时k中的值无定义C)系统将自动给k赋初值-1D)这时k中无任何值参考答案:B【解析】用int方法定义变量时,编译器仅为变量开辟存储单元,并没有在存储单元中存放任何值,此时变量中的值是无确定的,称变量值 无意义。因此,本题正确答案为B)。19.【2009年3月选择题第13题】以下选项中,能 用 作 数 据 常 量
13、的 是 A)oll58)0118C)1.5el.5D)115L参考答案:D【解析】整型常量和实型常量统称为数值型常量。本题中A)项是数字和字符的组合,不能构成数值型常量。B)项以0开头代表该常量是一个8进制数,但其后面的数字中又出现了“8“,因此不正确。C)项用指数形式表示实型常量,但e后面必须为整数,不正确。D)项中一个常量后面加字母L表示长整型数据。因此,本题答案为D)。第二章运算符与表达式2.1 C 语言运算符简介2 0.【2010年9月选择题第38题】有以下程序#includemain()int s,t,A=10;double B=6;s=sizeof(A);t=sizeof(B);p
14、 rin tf(/z%d,%dn”,s,t);在VC6平台上编译运行,程序运行后的输出结果是A)2,4 B)4,4 C)4,8 D)10,6参考答案:C【解析】sizeof的作用就是返回一个对象或者类型所占的内存字节数。在VC6中整型占4个字节,双精度实型占8个字节,所以选0。2.2 算术运算符和算术表达式2 1.【2 0 1 1 年9 月填空题第7 题】以下程序运行后的输出结果是_#i n c l u d e m a i n()i n t a=3 7;a%=9;p r i n t f(u%d n,a);参考答案:1【解析】本题考查的是取余运算。3 7%9 商为4,余数为1,所以输出的值为1。
15、2 2.【2 0 1 1 年3 月选择题第1 8 题】有以下程序#i n c l u d e m a i n ()i n t x=0 1 1;p r i n t f(%d n”,+x):)程序运行后的输出结果是A)1 2 B)l l C)1 0 D)9参考答案:C【解析】x=0 1 1 表示把八进制的1 1 赋值给变量x,因此x 的值为十进制的9,程序运行的结果输出变量x 自加运算后的十进制值,即1 0。2 3.【2 0 1 1 年3 月填空题第6 题】以下程序运行后的输出结果是【下。#i n c l u d e m a i n ()i n t a;a=(i n t)(d o u b l e)
16、(3/2)+0.5+(i n t)1.9 9*2);p r i n t f(%d n ,a);参考答案:3【解析】本题中 3/2=1,(d o u b l e)(3/2)=l,(i n t)1.9 9*2=1*2=2,因此(i n t)(l+0.5+2)=(i n t)3.5=3。2 4.【2 0 1 0 年3 月选择题第1 2 题】以下关于C 语言的叙述中正确的是A)C 语言中的注释不可以夹在变量名或关键字的中间B)C 语言中的变量可以在使用之前的任何位置进行定义0在C 语言算术表达式的书写中,运算符两侧的运算数类型必须一致D)C 语言的数值常量中夹带空格不影响常量值的正确表示参考答案:A【
17、解析】C 语言中注释可以放在任何位置,但不能夹在变量名或关键字中间,选项A正确;C语言中的变量要在使用之前定义,C 标准规定定义位置在相关程序块的首部,选项B 错误;C语言中两侧数据类型可以不一致,系统可进行强制类型转换,选 项 C错误;C语言数值常量中不允许存在空格,选项D 错误。2 5.【2 0 1 0 年3 月填空题第1 3 题】以下程序的功能是:将值为三位正整数的变量x中的数值按照个位、十位、百位的顺序拆分并输出。请填空。#in c l u de m ain ()in t x=2 5 6;pr in t f C%d-%d-%dn ,1 3 ,x/1 0%1 0,x/1 0 0);参考答
18、案:x%1 0【解析】x=2 5 6,x%1 0=6 2 6.【2 0 0 9 年9 月选择题第1 4 题】表达式:(in t)(do u bl e)9/2)-(9)%2 的值是。A)0 B)30 4 D)5参考答案:B【解析】(in t)(do u bl e)9 的值为4,(9)%2 的值为1,因此(in t)(do u bl e)9-2 的值为3。2 7.【2 0 0 9 年 9月填空题第6题】若有定义语句:in t a=5;,则表达式:a+的值是 皿。参考答案:5【解析】a+的含义是在使用a 值以后,使 a 值 加 1,所以a+的值为5。2 8.【2 0 0 9 年9 月填空题第7 题】
19、若有语句do u bl e x=1 7;in t y;,当执行y=(in t)(x/5)%2;之后y 的值为 7】一。参考答案:1【解析】y=(in t)(x/5)%2=(in t)(3.4)%2=3%2=1。2 9.【2 0 0 9 年3 月填空题第6 题】表达式(in t)(do u bl e)(5/2)+2.5)的表是 6】。参考答案:4【解析】计算5/2=2,其结果先转换为do u bl e 类型,即2.0 0 0 0 0 0,然后加上2.5 为4.5 0 0 0 0 0 0,再转换为in t 型,所以结果为4。2.3 赋值运算符和赋值表达式3 0 .【2 0 1 1 年9 月选择题第
20、1 5 题】若有定义语句:in t x=1 2,y=8,z;,在其后执行语句z=0.9+x/y;,则z 的值为 OA)1.9 B)1 C)2 D)2.4参考答案:B【解析】x的值为1 2,y 的值为8,那么x/y 的值就是1,因为z 的类型是in t,所以0.9+1 变成in t 的值就是1,所以选择B)。3 1 .【2 0 1 1 年3 月选择题第1 5 题】若有定义语句:in t a=3,b=2,c=l;,以下选项中错误的赋值表达式是A)a=(b=4)=3;B)a=b=c+l;C)a=(b=4)+c;D)a=l+(b=c=4);参考答案:A【解析】在 A)选项中,赋值语句b=4 先把4赋值
21、给整型变量b,之后执行(b=4)=3 是把常量3赋值给常量4,但是由于C 语言规定赋值运算符的左侧只能是变量,不能是常量或者表达式,因此A)选项错误。3 2 .【2 0 1 0 年9 月选择题第1 4 题】有以下定义:in t a;l o n g b;do u bl e x,y;则 以 F 选项中正确的表达式是A)a%(in t)(x-y)B)a=x!=y;C)(a*y)%b D)y=x+y=x参考答案:B【解析】A)选项中如果x 与 y的值相等那么取余时就会有除数为0的情况。C)选项中取余的两个数据都应为整数,不能有一方为实型变量,而a*y的结果为double型。D)选项表达式本身就错误,不
22、能给表达式赋值。所以,本题答案为B)。33.【2009年9月选择题第15题】若有定义语句:int x=10;,则表达式x-=x+x的值为。A)-20 B)-10C)0 D)10参考答案:B【解析】x-=x+x可化为:x=x-(x+x),由于x初始值为1 0,所以计算后,x=10-20=-1 0,因此选B)。34.【2010年9月选择题第16题】表达式a+=a-=a=9的值是A)9 B)-9 C)18 D)0参考答案:D【解析】题干中的表达式可以分解为以下表达式:a=9;a=a-a即a=9-9,此时a的值为0;a=a+a即a=0+0,此时a的值为0。故本题的答案为D)。35.【2009年3月选择
23、题第14题】设有定义:in tx=2;,以下表达式中,值不为6的是。A)x*=x+1B)x+,2*xC)x*=(l+x)D)2*x,x+=2参考答案:D【解析】本题考察逗号运算符的运算方式,逗号运算符的作用是将若干表达式连接起来,它的优先级别在所有运算符中是最低的,结合方向为 自左至右。A)项 和C)项的结果是一样的,可展开为:x=x*(x+l)=2+,因为+运算符有自加功能,逗号之前执行后x的值为3,逗号后的值就是整个表达式的值,即6;D)项逗号之前并未给x赋值,所以表达式的值就是x+=2的值,即4。因此,本题答案为D)。2.4位运算36.【2011年9月选择题第38题】有以下程序#incl
24、ude main()int a=2,b;b=a2;printf(%dn,b);)程 序 运 行 后 的 输 出 结 果 是。A)2 B)4 C)6 D)8参考答案:D【解析】考查移位操作,b的值是由a左移两位,所以b的值为2X2X2=8。37.【2011年3月选择题第39题】有以下程序#includemain()unsigned char a=8,c;c=a3;printf(%dn,c);)程序运行后的输出结果是A)3 2 B)1 6 C)1 D)0参考答案:C【解析】本题中将8 赋值给字符变量a,则a的二进制为“OOOOIOOO”,a3 的位运算是把a向右移动三位,结果为“0 0 0 0 0
25、 0 0 1”,输出其十进制的值1。3 8.【2 0 1 0 年9 月选择题第4 0 题】有以下程序#in c l u de m ain ()s ho r t c=1 2 4;c-c;pr in t f (%dn”,c);)若要使程序的运行结果为2 4 8,应在下划线处填入的是A)2 B)|2 4 8 O&0 2 4 8 D)1参考答案:D【解析】短整型在存储时占用1 6 位,按照移位运算如果右移两位就等于原数除以4,结果为3 1,如果左移一位相当于原数乘以2结果为248,所以选择D)。39.【2010年3月选择题第39题】有以下程序#i n c l u d em a i n ()i n t
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级 语言 笔试 考点 相关 答案 解析
限制150内