程序员考试模拟题及答案解析第二套_第1页
程序员考试模拟题及答案解析第二套_第2页
程序员考试模拟题及答案解析第二套_第3页
程序员考试模拟题及答案解析第二套_第4页
程序员考试模拟题及答案解析第二套_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、选题题1.二进制语言是属于( )A.面向机器语言B.面向问题语言C.面向过程语言D.面向汇编语言【解析】 人们研制了许许多多计算机程序设计语言,其中二进制语言直接来自计算机的指令系统, 与具体计算机紧密相关, 所以是一种面向机器语言。 面向问题语言是为了易于描述和求解某类特定领域的问题而专门设计的一种非过程语言。面向过程语言是一种能方便描述算法过程的计算机程序设计语言。有汇编语言, 但没有面向汇编语言。 汇编语言也是一种面向机器的语言, 与机器语言比较, 汇编语言用有助于记忆的符号来代表二进制代码。所以解答是 A.【参考答案】 A2.下列语言中不属于面向过程的语言是()A.高级语言 低级语

2、言 C.C 语言 D.PASCAL 语言【解析】 C 语言和 PASCAL 等程序设计语言都是高级语言, 它们用于描述复杂加工的处理过程, 所以也称它们是面向过程语言。 低级语言是指机器语言和汇编语言, 低级语言是面向机器的语言,而不是面向问题的语言。所以解答是B.【参考答案】 B3.下列字符中属于键盘符号的是()A. B.n C. t D. b【解析】键盘符号是指键盘上有标记,并能在显示器上直接以其标记字样显示的字符。有许多键盘上有标记的符号, 它们不是用于直接显示的, 键入这种字符用于表示特定的意义,如常用的回车符。 为了能让 C 程序标记这种符号, 程序采用转义字符的方式书写这种字符。如

3、 n 、 t 、b 都不是键盘字符,在 C 语言中,它们都得用转义字符来表达。只有字符 才是键盘字符。所以解答是 A.但在 C 程序中,反斜杠字符 已特别用作转义字符的.4.下列字符列中,不是用来表达转义字符是()A. B. C.074D. 0【解析】 转义字符有三种书写形式:反斜社字符后接上某个规定的字符;反斜杠字符后接上 13 个八进制数字符; 反斜社字符和字符 X 之后接上 1 至 2 个十六进制数字符。 后两种分别八进制数和十六进制数直接给出字符的ASCll 代码值。而 074 是八进制整数,不是转义字。所以解答是 C.【参考答案】 C5.不是 C 语言提供的合法关键字是()A.swi

4、tchB.beginC.caseD.default【解析】 因 C 语言的关键字表中没有 begin, 它不是 C 语言的关键字。所以解答是 B.【参考答案】 B6.下列字符列中,能作为单个标识符是()lA.? a B. a=2C.a.3D. a_3【解析】 在 C 语言中,规定标识符是这样一种字符序列, 由英文字母或下线字符开始,后接任 1 个英文字母、 下线字符和数字符组成。 所以问题所列的字符列只有 a_3 是标识符,其余都 l 是标识符,一个是由字符 ?开头、一个中间有字符 =, 另一个有字符 .所以解答是 D.【参考答案】 D7.在 C 语言中,下列说法中错误的是()A.函数定义可以

5、分为两个部分:函数说明部分和函数体B.主函数可以调用任何非主函数C.任何非主函数可以调用其它任何非主函数D.程序可以从任何函数开始执行【解析】每个 C 函数的定义分两部分,函数说明部分和函数体,所以叙述A.是正确的叙述。 C 语言中,函数可以递归调用,主函数可以调用程序中的任何函数,当然可以调用任何非主教的其它函数,所以叙述 B.是一个正确的叙述。同样理由,叙述C.也是正确的。 C语言规, C 程序只有一个主函数,并总是从主函数开始执行,不能从非主函数开始执行。所以,说程可以从任何函数开始执行是错误的。所以解答是【参考答案】 DD.8.下列字符列中,可以作为“字符串常量”的是()A. ABC“

6、 ABC” C.abcD.a【解析】 C 程序中,一个字符率常量是表示一个字符序列,书写时,用双引号字符前后括住这个字符序列。所以只有“ ABC”是一个正确的字符率常量,其余都不是。其中,ABC可作为标识符,字符列 abc 不能出现在 C 程序中, a是一个字符常量。所以解答是B.【参考答案】 B9.在以字节存储字符的系统中, n 在内存占用的字节数是()A.1B.2C.3D.4【解析】一般来说,一个字符在内存中只占换行符,它作为一个字符存储,在内存也只占1 个字节, n 是转义字符,其意义是1 个字节。所以解答是 A.【参考答案】 A10.字符串“ XyZ ”在内存占用的字节数是()A.3B

7、.4C.6D.8【解析】字符串中的每个字符占 1 个字节,但 C 程序在存储字符串时,要在最后一个有效字符后面接上 1 个字符串结束的标记符 0. 这样,存储字符串常量“ xyZ”需要 4 个字节,所以解答是 B.【参考答案】 B11.在以下字符列中,合法的长整型常数是()。A. 0LB. 4962710C. 0.054838743D. 2.1869el0【解析】为表示不同范围的整数,整型数据分短整型、基本型和长整型,并对三种整型内部表示的最高位的不同理解, 又分别分成无符号和带符号两种。 若要明确指明一个整数是长整型的,必须在整数之后接上字符L.所以 OL 是一个长整型的整型常量,而 496

8、2710是基本整型数据,而对于用 2 个字节表示一个基本整型数据的系统来说,该整数将因超出范围而是一个错误的整数; 0.054839743 和 2.1869el0 都是 double 型的实数。所以解答是 A.【参考答案】 A12.一个 char 型数据,它的值在内存中存放的是()A.ASCll 代码值 B.BCD 代码值C.内码值 D.十进制代码值【解析】计算机存储字符,通常是存储字符的某种代码值。有许多种字符编码的方法,最流行的是 ASCII 代码。在 C 语言中, Char 型数据也用 ASCII 代码表示。所以解答是 A.【参考答案】 A13.设变量 m,n,a,b,c,d 均为 0

9、以执行( m=a=b )| (n=c=d )后, m,n 的值是( )。A.0,0B.0,1C.l,0 D.1,1m=a=b | n=c=d (m=a=b )的值,由于赋位运算符的优先级比关系运算符= 的优先级低,又先计算 a=b. 因 a,b 均为 0 后,所以比较结果值为 1.将 1 赋给变量 m,使变量 m 的值变为 1 .同时这个赋值运算的结果也是 1,这样逻辑运算的左运算分量的值为1.由于逻辑或运算的左运算分量值为 1,按照C 语言对逻辑或运算优化计算的规定, 不再计算逻辑或的右运算分量, 而直接得到逻辑或运算的结果为 1 .由于逻辑或的右运算分量不曾计算过,所以变量n 的值也不为变

10、化。这样,上述表达式计算后,变量 m 的情为 1,变量 n 的值为 0.所以解答是 C.【参考答案】 C14.设 a 为 5,执行下列计算后, b 的值不为 2 的是( )。A. b=a/2B. b=6- (-a ) C. b=a%2D. b=a3?3:2【解析】 因两个整型数据相除, 结果是整数, 当 a 的值为 5 时,计算表达式 b=a/2 后,使 b 的值为 2.计算表达式 b=6- (-a )是先计算子表达式( -a )的,先让 a 的值减 1 变成4,并以减 1 后的 a 为子表达式的结果,所以子表达式的结果为4,最后使 b 的值为 2.在计算表达式 b= a%2 时,求余运算 a

11、%2 的结果为 1,最后使变量 b 的值为 1.计算表达式b=a3?3:2 时,先计算条件表达式 a3?3:2, 以 2 为结果, 最后也使变量 b 的值为人所以解答是 C.【参考答案】 C15.执行语句“ x= (a=3,b=a- );”后, X,a,b 的值依次为( )。A.3,3,2B.2,3,2C.3,2,3D.2,3,3所b,并以该值为远号表达式的值赋给变量x,然后 a 的值被减少 1.所以计算该表达式后,使变量x,a,b 的值依次为 3,2,3. 所以解答是 C.【参考答案】 C17. 设有代码“ int a=3; ”则执行了语句“ a+=a-= a*a; ”后,变量 a 的值是(

12、 )A.3B. 0C. 9D. -12【解析】 由于赋值运算符的结合性自右至左, 语句“a+=a-=a*a; a*a,得到值 9,再计算 a-=a*a, 使 a 的值为 -6, 接着计算 a+=a, 使 a 的值为 -12. 所以解答是 D.【参考答案】 D18.在以下一组运算符中,优先级最高的运算符是()A.=B.=C.%D.&【解析】常规运算符的优先级自高到低的排列顺序是算术运算符、移位运算符、关系运算符。按位运算符、逻辑运算符、条件运算符、赋值运算符、逗号运算符。所以问题所给的四个运算符按优先级自高到低的排列顺序是%,=,&,=. 所以解答是 C.【参考答案】 C19.设整型变量 i 的

13、值为 3,则计算表达式 i-i 后表达式的值为( )A.0B.lC.2D.表达式出错【解析】有些运算符只有一个字符, 也有许多运算符由两个字符组成。 特别是有些字符既可是单个字符的运算符, 又能组成双字符的运算符。 编译系统在识别源程序时, 通常是尽量多地读八字符,能组成多字符单词的先尽量组成多字符单词。所以表达式i-I, 被编译器表达式, 然后再对变量进行自增和自减运算。 同样地, 当表达式中某变量有前缀自增和自减运算时,先对变量进行自增和自减运算,然后再按变量的新值计算表达式。 按这个约定,求表达式( i- )-i 是计算 i-i 的值为 0,然后再对 i 作自减运算。这样,表达式( i-

14、 )-i 的值为0.所以解答是 A.【参考答案】 A20.设整型变量 a、b、c 均为 2,表达式 a+b+c+的结果是( )A.6B.9C.8D.表达式出错【解析】与上一小题解答的理由相同, 表达式 a+b+c+a+ )+(b+ )+c+ )。表达式“变量 + ”的值是变量的原来值,所以在变量a、b.c 均为2 的前题下,执行上述表达式,得到结果为【参考答案】 A6.所以解答是 A.21.若已定义 x 和 y 为 double 类型,则表达式: x=l, y=x+3/2 结果是( )A.lB.2 C.2.0D.2.5【解析】由于变量 x 和 y 都是 double 类型,表达式 x=l, y

15、=x+3/2 是先计算 x=1, 由于 1 是整型的, x 是 double 类型的,该计算先将整数 1 转换成 double 类型的 1.0,并将1.0 赋给变量 x.计算 y=X+3/2 是先求 3/2 的值,因是两整数相除,结果是整型值1,然后在计算 X+1 时,也先将 1 转换成 1.0,然后求得 X+l 的值为 2.0,最后将该值赋给变量 y,并得到整个表达式的值为 2.0.所以解答是 C.22.设 a 为整型变量,下列 C 表达式中,不能表达数学关系式: 10( )。A.10A15C.a10&a15B.a=11|a=12| a=13| a=14D.!(a=15 )【参考答案】 A2

16、3.下列表达式中,正确的 C 赋值表达式是( )A.a=7+b+C=a+7B. C=7+b+=a+7C.a= (7+b, b+, a+7 )D. a= 7+b, c=a+7【解析】赋值运算符是运算符之一, 赋值运算也可以出现在一般表达式中。 赋值运算时,出现在赋值运算符左边的表达式应该是引用一个存储对象,例如变量。 不可以是一个数值计算表达式。如表达式 a=7+b+c=a+7因算术运算符比赋值运算符的优先级高,要把a+7也是错误的。而表达括号表达式内是一个逗号表达式, 远号表达式要求顺序逐一计算各子表达式,并以最后一个子表达式的值作为远号表达式的结果,最后将该结果赋给变量a.而表达式 a=7+

17、b,c=a+7则不是一个赋值表达式,而是一个逗号表达式,它由两个赋值子表达式组成。所以解答是C.【参考答案】 C24.若有以下定义: char a;intb;float c; double d;则表达式 a*b+d-c 值的类型为 ( )A.floatB. intC. charD. double【解析】基本类型的数据可以混合运算,但运算时, 对要求运算分量类型相同的运算来说,如运算分量的类型不是全相同, 则会有自动类型转换发生。 类型自动转换规则规定类型的向类型高 (复杂)的转换。各类型由高到低的排列顺序是: long double float 、unsigned long 、long 、un

18、signed int 、int 这样,若有定义: char a; intb;float c;doubled;则表达式 a*b+d-c 的值的类型是 double 的。首先计算 a*b, 得到 int 类型的值,接着计算 a*b+d, 得到 double 类型的值,最后计算 a*b+d-c, 得到 double 类型的值。所以解答是D.【参考答案】 D25.表达式“ 9!=7 ”的值是( )A.trueB.非 0 值C.0D.1【解析】关系运算的结果只有 0 和 1,若关系成立,则结果为 1;若关系不成立,则结果为 0.因关系式 9!=7 成立,所以表达式的结果为 1.虽然 1 也是非 0 值,

19、在供选择的答案中有 1,【参考答案】 D26.用十进制数表示表达式“ 12|012 ”的运算结果是( )A.1B.0C. 14D. 16【解析】按位运算将运算分量视作二进位的位申信息,对两运算分量的对应位进行运算,产生 H 进位的位串信息结果。 整数 12 最低 8 位二进位是 00001100, 整数 012 是八进制数,它的最低 8 位二进位是 00001010. 这两个二进位位串信息按位或运算,得到结果是00001110, 对应十进制数 14,八进制数是 016.所以解答是 C.【参考答案】 C00001100 12 二进位00001010 012 是八进制数 二进位00001110按位或(上下比较,有一个为真就为真)十进制 表示 1427.设字符型变量 a=3,b=6, 计算表达式 C= (ab ) 2 后 C 的二进制值是( )A. 00011100B.00000111C. 00000001D. 00010100【解析】 a 的值为 3,写成 8 位二进制数形式是 00000011,b 的值为 6,写成 8 位二进制数形式是 00000110. 表达式 c=(ab )2,先计算 a 与 b 的按位加,得到结果 00000101,将这

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论