2015年全国计算机二级C语言考试真题

2015年全国计算机考试套题

1、对于一个正常运行的C程序,以下叙述中确的是

A)程序的执行总是从 main 涵数开始

B)程序的执行总是从程序的笫一个函数开始,在程序的最后一个函数中结束

C)程序的执行总是从main函数幵始,在程序的最后一个函数中结束

D)程序的执行总是从程序的笫一个函数开始,在main函数结束

3、若变量x、y已正确定义并赋值,以下符合C语言语法的表达式是

A)x+1=y

B) x=x+10=x+y

C)double (x)/10

D) ++x,y=x--

4、以下选项中能表示合法常量的是

A)’\’

B)1,200

C)1.5E2.0

D)”\007”

5、以下定义语句中正确的是

A) double a=0.0;b=1.1;

B) float a=1,*b=&a,*c=&b;

C) int a=b=0;

D) char A=65+1,b=’b’

7、若变量已正确定义为int型,要通过语句

scanf(“%d,%d,%d”,&a,&b,&c);

给a赋值1、给b赋值2、给c赋值3,以下输入形式中错误的是(注:□代表一个空格符)

A) □□□1,2,3

B)1,2,3

C)1, □□□2, □□□3

D)1 □ 2 □3

8、当变量c的值不为2、4、6时,值也为“真”的表达式是 ( )

A (c>=2&&c<=6)&&(c%2!=1)

B) (c>=2&&c<=6)&&!(c%2) )

C) (c==2)‖(c==4)‖(c==6)

D) (c>=2&&c<=6)‖(c!=3)‖(c!=5)

9、以下选项中,值为1的表达式是

A) ‘\0’-‘0’

B)’1’-0

C)1-‘0’

D)1-‘\0’

30、以下选项中,不合法的C语言用户标识符是

A a——b B AaBc C _1 D a_b

31. 以下选项中关于C语言常量的叙述错误的是

A经常被使用的变量可以定义成常量

B 所谓常量,是指在程序运行过程中,其值不能被改变的量

C常量可分为数值型常量和非数值型常量

D常量分为整型常置、实型常量、字符常量和字符串常量

34、以下叙述中正确的是

A C语句必须在一行内写完

B C语言程序中的注释必须与语句写在同一行

C C程序中的每一行只能写一条语句

D 简单C语句必须以分号结束

37、以下选项中不能作为C语言合法常量的是

A ’cd’ B’\011’ C 0.le+6 D "\a"

58、以下选项中不能用作C程序合法常量的是

A."\x7D"

B.1,234

C.123

D.'\123'

60、C语言源程序名的后缀是

A) . cp

B) .obj

C) .exe

D) .C

61、阅读以下程序

#include

main ()

{ int case ;

float printF;

printf ("请输入2个数:");

scanf ( "%d %f",&case, &printF );

printf("%d %f\n",case,printF );

}

该程序在编译时产生错误,其出错原因是

A.定义语句出错,case是关键字,不能用作用户自定义标识符

B.定义语句无错,printf不能输出case的值

C.定义语句无错,scanf不能作为输入函数使用

D.定义语句出错,printF不能用作用户自定义标识符

62.若有定义语句:

int x=12,y=8, z;

在其后执行语句

z= 0.9+x/y;

则z的值为

A.2.4

B.1

C.2

D.1.9

63. 表达式a+=a-= a=9的值是

A.-9

B.0

C.9

D.18

68. 以下选项中非法的c语言字符常量是

A.'\b'

B.'\xaa'

C.'\007'

D.'aa'

72. 以下叙述中正确的是

A.英文大写字母X和荚文小写字母x都可以作为二进制数字的开头字符

B.八进制数的开头要使用英文字母o,否则不能与十进制区分开

C. 在C程序中的八进制和十六进制,可以是浮点数

D.整型变量可以分为int型、short型、long型和unsigned型四种

79. 以下选项中,当x为大于1奇数时,值为0的表达式是

A.x%2==0

B.x%2==l

C.x%2!=0

D.x/2

101. 以下选项中不能作为c语言合法常量的是

A.'cd'

B.'\011'

C.0.le+6

D."\a"

104. 以下选项中不能用作C程序合法常量的是

A"\x7D"

B.1,234

C.123

D.'\123'

134. 若有定义语句:

char a='\82 ';

则变量a

A.包含3个字符

B.说明不合法

C.包含1个字符

D.包含2个字符

135. 有以下程序

#include

main ()

{

char cl='A',c2='Y';

printf ("%d,%d\n", cl,c2 );

}

程序的输4结果是

A.输出格式不合法,输出出错信息

B.65.89

C.A,Y

D.65.90

154. 以下选项中,能用作数据常量的是

A.115L

B.0118

C.0115

D.1.5el.5

155. 设变量已正确定义并赋值,以下正确的表达式是

A.x=y*5=x+z

B.int(15.8%5)

C.x-25%5.0

D.x=y+z+5,++y

185. 有以下程序

#include

main()

{ char a='H';

a = ( a>='A' && a<= 'Z' ) ? (a+32) : a;

printf("%c\n",a );

}

程序运行后的输出结果是

A) A

B) a

C) h

D) H

194. 以下叙述中正确的是

A)程序可以包含多个主函数,但总是从第一个主函数处开始执行

B)书写源程序时,必须注意缩进格式,否则程序会有编译错误

C)程序的主函数名除main外,也可以使用Mainl或_main

D)在C程序中,模块化主要是通过函数来实现的

199. 以下叙述中正确的是

A)字符变量在定义时不能赋初值

B)同一英文字母的大写和小写形式代表的是同一个字符常量

C)转义字符用@符号开头

D)字符常量可以参与任何整数运算

200. 以下叙述中正确的是

A)"a"表示一个字符常量

B)"\"是非法的

C)'\0'表示字符0

D)表达式:'a'>'b'的结果是"假"

202. 以下叙述中正确的是

A)由&&构成的逻辑表达式与由||构成的逻辑表达式都有"短路"现象

B)C语言的关系表达式:0

C)逻辑"或"(即运算符||)的运算级别比算术运算要高

D)逻辑"非〃〈即运算符!)的运算级别是最低的

219. c源程序中不能表示的数制是

A) 八进制

B)十六进制

C)十进制

D) 二进制

221. 以下四个程序中,完全正确的是

A) # include

main ()

{/* programming */

printf("programming!\n"); }

B)include

main ()

{/* programming */

printf("programming!\n"); }

C) #include

main ();

{/* programming /*/

printf("programming!\n"}; }

D) # include

main ()

{/*/* programming */*/

printf("programming!\n"); }

222. 若有定义语句:

int x=10;

则表达式x-=x+x的值为

A) 10

B) -10

C) -20

D) 0

224. 己知大写字母A的ASCII码是65’小写字母a的ASCII码是97。以下不能将变量c中的大写字母转换为小写字母的语句是

A) c=c+32

B) c=('A'+c)%26-' a'

C) c=c-'A'+'a'

D) c=(c-'A')%26+'a'

248. 关于C语言的变量,以下叙述中错误的是

A)变量所占的存储单元地址可以随时改变

B)程序中用到的所有变量都必须先定义后才能使用

C)由三条下划线构成的符号名是合法的变量名

D)所谓变量是指在程序运行过程中其值可以被改变的量

249. 若有以下程序

#include

合集下载

全国计算机等级考试二级C语言真题库之选择题(14)

全国计算机等级考试二级C语言真题库之选择题(14)

★全国计算机等级考试等级考试真题库

1 全国计算机等级考试等级考试真题库之选择题(14)

1.一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是( )。

A) 12345ABCDE

B) EDCBA54321

C) ABCDE12345

D) 54321EDCBA

参考答案:B

【解析】栈是先进后出的原则组织数据,所以入栈最早的最后出栈,所以选择B)。

2.下列叙述中正确的是( )。

A) 循环队列有队头和队尾两个指针,因此,循环队列是非线性结构

B) 在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况

C) 在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况

D) 循环队列中元素的个数是由队头指针和队尾指针共同决定

参考答案:D

【解析】循环队列有队头和队尾两个指针,但是循环队列仍是线性结构的,所以A)错误;在循环队列中只需要队头指针与队尾两个指针来共同反映队列中元素的动态变化情况,所以B)与C)错误。

3.在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是( )。

A) O(n)

B) O(n2)

C)

D)

参考答案:C

【解析】当有序线性表为顺序存储时才能用二分法查找。可以证明的是对于长度为n的有序线性表,在最坏情况下,二分法查找只需要比较次,而顺序查找需要比较n次。

4.下列叙述中正确的是( )。

A) 顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的

B) 顺序存储结构只针对线性结构,链式存储结构只针对非线性结构

C) 顺序存储结构能存储有序表,链式存储结构不能存储有序表

D) 链式存储结构比顺序存储结构节省存储空间

参考答案:A

【解析】链式存储结构既可以针对线性结构也可以针对非线性结构,所以B)与C)错误。链式存储结构中每个结点都由数据域与指针域两部分组成,增加了存储空间,所以D)错误。

计算机二级考试真题及答案c语言

计算机二级考试真题及答案c语言

计算机二级考试真题及答案c语言

一、单项选择题(每题1分,共20分)

1. 在C语言中,以下哪个关键字用于声明函数?

A. struct

B. union

C. int

D. void

答案:D

2. 若有定义int a=5; 则执行以下语句后,变量a的值是多少?

A. a=(a++)+(++a)+a;

B. a=a--+(++a)+a;

C. a=(a++)+(++a)+a--;

D. a=(a++)+(++a)+a--;

答案:A

3. 在C语言中,以下哪个运算符用于计算两个数的乘积?

A. /

B. %

C. *

D. ^

答案:C

4. 下列哪个选项是C语言中合法的字符常量?

A. 'a'

B. "a"

C. 'ab'

D. '\t' 答案:D

5. 在C语言中,以下哪个选项是合法的数组声明?

A. int a[5];

B. int a[];

C. int a[5][5];

D. int a[5,5];

答案:A

6. 若有定义int x=10; 则执行以下语句后,变量x的值是多少?

A. x=x+++x;

B. x=++x+x--;

C. x=x--+x++;

D. x=x+++x--;

答案:B

7. 在C语言中,以下哪个关键字用于声明一个结构体?

A. struct

B. union

C. enum

D. typedef

答案:A

8. 在C语言中,以下哪个选项是合法的指针声明?

A. int *p;

B. int *p[];

C. int (*p)();

D. int (*p)[5];

答案:A

9. 在C语言中,以下哪个选项是合法的循环语句? A. for(;;)

B. while(1)

C. do{}while(0)

D. all of the above

答案:D

10. 在C语言中,以下哪个选项是合法的函数声明?

A. int func();

B. void func(int a);

全国计算机等级考试二级C语言真题库之选择题(16)

全国计算机等级考试二级C语言真题库之选择题(16)

标准实用

文案大全 全国计算机等级考试等级考试真题库之选择题(16)

1.下列叙述中正确的是

A) 程序执行的效率与数据的存储结构密切相关

B) 程序执行的效率只取决于程序的控制结构

C) 程序执行的效率只取决于所处理的数据量

D) 以上说法均错误

参考答案:A

【解析】程序执行的效率与数据的存储结构、数据的逻辑结构、程序的控制结构、所处理的数据量等有关。

2.下列与队列结构有关联的是

A) 函数的递归调用

B) 数组元素的引用

C) 多重循环的执行

D) 先到先服务的作业调度

参考答案:D

【解析】队列的修改是依先进先出的原则进行的,D正确。

3.

A) DYBEAFCZX

B) YDEBFZXCA

C) ABDYECFXZ

D) ABCDEFXYZ

参考答案:C

【解析】前序遍历是指在访问根结点、遍历左子树与遍历右子树这三者中,首先访问根结点,然后遍历左子树,最后遍历右子树;并且,在遍历左右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树。前序遍历描述为:若二叉树为空,则执行空操作。否则:①访问根结点;②前序遍历左子树;③前序遍历右子树,C正确。

4.一个栈的初始状态为空。现将元素1,2,3,A,B,C依次入栈,然后再依次出栈,则元素出栈标准实用

文案大全 的顺序是

A) 1,2,3,A,B,C

B) C,B,A,1,2,3

C) C,B,A,3,2,1

D) 1,2,3,C,B,A

参考答案:C

【解析】栈的修改是按后进先出的原则进行的,所以顺序应与入栈顺序相反,故选C。

5.下面属于白盒测试方法的是

A) 等价类划分法

B) 逻辑覆盖

C) 边界值分析法

D) 错误推测法

参考答案:B

【解析】白盒测试法主要有逻辑覆盖、基本路径测试等。逻辑覆盖测试包括语句覆盖、路径覆盖、判定覆盖、条件覆盖、判断-条件覆盖,选择B。其余为黑盒测试法。

计算机等级考试二级C语言真题

计算机等级考试二级C语言真题

第 1 页 共 4 页 计算机等级考试二级C语言真题

计算机等级考试二级C语言真题

导语:C语言之所以命名为C,是因为 C语言自Ken

Thompson创造的B语言,而 B语言那么自BCPL语言。下面是计算机二级考试C语言的真题,欢送参考!

(1)以下表达中正确的选项是

A.栈是“先进先出”的线性表

B.队列是“先进先出”的线性表

C.循环队列是非线性构造

D.有序性表既可以采用顺序存储构造,也可以采用链式存储构造

(2)支持子程序调用的数据构造是

A.栈

B.树

C.队列

D.二叉树

(3)某二叉树有5个度为2的结点,那么该二叉树中的.叶子结点数是

A.10 第 2 页 共 4 页 B.8

C.6

D.4

(4)以下排序方法中,最坏情况下比拟次数最少的是

A.冒泡排序

B.简单项选择择排序

C.直接插入排序

D.堆排序

(5)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是

A.编译软件

B.操作系统

C.教务管理系统

D.汇编程序

(6)下面表达中错误的选项是

A.软件测试的目的是发现错误并改正错误

B.对被调试的程序进展“错误定位”是程序调试的必要步骤

C.程序调试通常也称为Debug

D.软件测试应严格执行测试方案,排除测试的随意性 第 3 页 共 4 页 (7)耦合性和内聚性是对模块独立性度量的两个标准。以下表达中正确的选项是

A.进步耦合性降低内聚性有利于进步模块的独立性

B.降低耦合性进步内聚性有利于进步模块的独立性

C.耦合性是指一个模块内部各个元素间彼此结合的严密程度

D.内聚性是指模块间互相连接的严密程度

(8)数据库应用系统中的核心问题是

A.数据库设计

B.数据库系统设计

C.数据库维护

D.数据库管理员培训

(9)有两个关系R,S如下:

R

ABC

a32

b01

c21

S

AB

a3 第 4 页 共 4 页 b0

c2

由关系R通过运算得到关系S,那么所使用的运算为

全国计算机等级考试《二级C语言程序设计》历年真题精选及详解

全国计算机等级考试《二级C语言程序设计》历年真题精选及详解

全国计算机等级考试《二级C语言程序设计》历年真题精选及详解

一、选择题(请在【答题】菜单上选择【选择题】命令,启动选择题测试程序,

按照题目上的内容进行答题。作答选择题时键盘被封锁,使用键盘无效,考生须

使用鼠标答题。选择题部分只能进入一次,退出后不能再次进入。选择题部分不

单独计时。)

1.下列叙述中正确的是()。

A.所有数据结构必须有根结点

B.所有数据结构必须有终端结点(即叶子结点)

C.只有一个根结点,且只有一个叶子结点的数据结构一定是线性结构

D.没有根结点或没有叶子结点的数据结构一定是非线性结构

【答案】

D

【解析】

D项正确,线性结构的特点是:①集合中必存在“第一个元素”且惟一;②集合

中必存在“最后一个元素”且惟一;③除最后一个元素外,其他数据元素均有惟

一的“后继”;④除第一个元素外,其他数据元素均有惟一的“前驱”。所以没

有根结点或没有叶子结点的数据结构一定是非线性结构。AB两项错误,不是所

有数据结构都必须有根结点和叶子结点;C项错误,数据结构中若有中间结点不

满足只有一个前件或者后件的条件,就不是线性结构。答案选择D选项。

2.以下叙述中错误的是()。

A.C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令

B.C程序经过编译、链接步骤之后才能形成一个真正可执行的二进制机器指令文件

C.用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中

D.C语言源程序经编译后生成后缀为.obj的目标程序

【答案】

A

【解析】

A项错误,注释语句不会被翻译成二进制的机器指令。C源程序经过C编译程序

编译之后生成后缀为.obj的二进制文件(称为目标文件),然后由“链接程序”

(Link)的软件把.obj文件与各种库函数连接起来生成一个后缀为.exe的可执

行文件。答案选择A选项。

3.C语言主要是借助以下()功能来实现程序模块化的。

A.定义函数

B.定义常量和外部变量

C.三种基本结构语句

D.丰富的数据类型

【答案】

计算机二级Access考试92015年_真题(含答案与解析)-交互

计算机二级Access考试92015年_真题(含答案与解析)-交互

计算机二级Access考试9 2015年

(总分30, 做题时间90分钟)

单选题

1.

表的组成内容包括(

)。

SSS_SINGLE_SEL

A 查询和报表

B 字段和记录

C 报表和窗体

D 窗体和字段

该问题分值: 1

答案:B

【解析】在关系数据库中关系是一个二维表,每一行称为一个元组,每一列称为一个属性;在Access这个关系数据库中,用表来实现关系,表的每一行称作一条记录,对应关系模型中的元组;每一列称作一个字段,对应关系模型中的属性。

2.

若要确保输入的m生日期值格式必须为短。日期,应将该字段的输入掩码设置为(

)。

SSS_SINGLE_SEL

A 0000/99/99

B 9999/00/99

C 0000/00/00

D 9999/99/99

该问题分值: 1

答案:A

【解析】在Access中,设计字段时可以使用输入掩码来使输入的格式保持一致,输入掩码中的字符“0”表示必须输入数字[0,9];“9”表示可以选择输入数字或空格,由于要实现短日期格式,不必强制为两位数字,所以本题答案为A。

3.

SeleCt Case结构运行时首先计算( )的值。

SSS_SINGLE_SEL

A 表达式

B 执行语句

C 条件

D 参数

该问题分值: 1

答案:A

【解析]Select Case结构运行时首先计算表达式的值,然后依次计算或测试Case表达式的值。

4.

表达式10 Mod4的值为( )。

SSS_SINGLE_SEL

A 2

B 1

C 0

D 2.5

该问题分值: 1

答案:A

【解析】在VBA中,Mod是取余运算,结果将返回左操作数整除右操作数后的余数。本题中10除以4余2,所以答案为A。

5.

一F列标识符不是关键字的是( )。

SSS_SINGLE_SEL

A break

B Char

全国计算机二级c语言练习题及答案

全国计算机二级c语言练习题及答案

全国计算机二级c语言练习题及答案

计算机二级考试是全国计算机等级考试(National Computer

Rank Examination,简称NCRE)四个等级中的一个等级,考核计算机基础知识和使用一种高级计算机语言编写程序以及上机调试的基本技能。那么全国计算机二级c语言考试会怎么考?以下仅供参考!

1). 函数fseek(pf, OL,SEEK_END)中的SEEK_END代表的起始点是

A.文件开始

B.文件末尾

C.文件当前位置

D.以上都不对

正确答案:B

2). 设有以下语句:char x=3,y=6,z;z=x^y<<2;则z的二进制值是

A.00010100

B.00011011

C.00011100

D.00011000

正确答案:B

3). C 语言中,系统的标准输入文件是指

A.键盘

B.显示器

C.软盘

D.硬盘

正确答案:A

4). C语言程序的基本单位是

A.程序行

B.语句

C.函数 D.字符

正确答案:C

5). 下面四个选项中,均是合法实数的选项是( )。

A.2e-4.2

B.-0.50

C. 0.2e-.5

D.-e5

正确答案:B

答案解析:实数有两种表示形式:小数形式和指数形式,小数形式必须有小数点,指数形式中,字母e之前必须有数字,e之后必须是整数。选项A)中的"2e-4.2",选项C中的"0.2e-.5",选项D中的"-e5"均是不合法的。

6). 关系表中的每一横行称为一个

A.元组

B.字段

C.属性

D.码

正确答案:A

7). 数据库的故障恢复一般是由

A.数据流图完成的

B.数据字典完成的

C.DBA完成的

D.PAD图完成的

正确答案:C

8). 有以下函数char fun(char *p){return p;}该函数的返回值是

A.无确切的`值

B.形参p中存放的地址值

C.一个临时存储单元的地址

D.形参p自身的地址值

全国计算机等级考试二级C语言选择题

1程序流程图中带有箭头的线段表示的是( )。A) 图元关系B) 数据流C) 控制流 D) 调用关系 参考答案:C【解析】在数据流图中,用标有名字的箭头表示数据流。在程序流程图中,用标有名字的箭头表示控制流。所以选择C)。结构化程序设计的基本原则不包括( )。A) 多态性B) 自顶向下C) 模块化D) 逐步求精 参考答案:A【解析】结构化程序设计的思想包括:自顶向下、逐步求精、模块化、限制使用goto语句,所以选择A)。软件设计中模块划分应遵循的准则是( )。A) 低内聚低耦合B) 高内聚低耦合C) 低内聚高耦合D) 高内聚高耦合 参考答案:B【解析】软件设计中模块划分应遵循的准则是高内聚低偶合、模块大小规模适当、模块的依赖关系适当等。模块的划分应遵循一定的要求,以保证模块划分合理,并进一步保证以此为依据开发出的软件系统可靠性强,易于理解和维护。模块之间的耦合应尽可能的低,模块的内聚度应尽可能的高。在软件开发中,需求分析阶段产生的主要文档是( )。A) 可行性分析报告 B) 软件需求规格说明书C) 概要设计说明书D) 集成测试计划 参考答案:B【解析】A)错误,可行性分析阶段产生可行性分析报告。C)错误,概要设计说明书是总体设计阶段产生的文档。D)错误,集成测试计划是在概要设计阶段编写的文档。B)正确,需求规格说明书是后续工作如设计、编码等需要的重要参考文档。算法的有穷性是指( )。A) 算法程序的运行时间是有限的B) 算法程序所处理的数据量是有限的C) 算法程序的长度是有限的D) 算法只能被有限的用户使用 a ir i r 2 参考答案:A【解析】算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。有穷性是指算法程序的运行时间是有限的。对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是( )。A) 快速排序B) 冒泡排序C) 直接插入排序D) 堆排序 参考答案:D【解析】除了堆排序算法的比较次数是,其他的都是n(n-1)/2。下列关于栈的叙述正确的是( )。A) 栈按"先进先出"组织数据B) 栈按"先进后出"组织数据C) 只能在栈底插入数据D) 不能删除数据 参考答案:B【解析】栈是按"先进后出"的原则组织数据的,数据的插入和删除都在栈顶进行操作。在数据库设计中,将E-R图转换成关系数据模型的过程属于( )。A) 需求分析阶段B) 概念设计阶段C) 逻辑设计阶段D) 物理设计阶段 参考答案:C【解析】E-R图转换成关系模型数据则是把图形分析出来的联系反映到数据库中,即设计出表,所以属于逻辑设计阶段。有三个关系R、S和T如下:由关系R和S通过运算得到关系T,则所使用的运算为( )。A) 并 B) 自然连接 C) 笛卡尔积 3D) 交 参考答案:D【解析】自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉,所以B)错误。笛卡尔积是用R集合中元素为第一元素,S集合中元素为第二元素构成的有序对,所以C)错误。根据关系T可以很明显的看出是从关系R与关系S中取得相同的关系组所以取得是交运算,选择D)。设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为( )。A) 课号,成绩B) 学号,成绩C) 学号,课号D) 学号,姓名,成绩 参考答案:C【解析】学号是学生表S的主键,课号是课程表C的主键,所以选课表SC的关键字就应该是与前两个表能够直接联系且能唯一定义的学号和课号,所以选择C)。以下叙述中错误的是( )。A) C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令B) C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件C) 用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中D) C语言源程序经编译后生成后缀为.obj的目标程序 参考答案:A【解析】C语言中的非执行语句不会被编译,不会生成二进制的机器指令,所以A)错误。由C语言构成的指令序列称C源程序,C源程序经过C语言编译程序编译之后生成一个后缀为.OBJ的二进制文件(称为目标文件);最后要由"连接程序"把此.OBJ文件与C语言提供的各种库函数连接起来生成一个后缀为.EXE的可执行文件。以下选项中,合法的一组C语言数值常量是( )。A) 12. 0Xa23 4.5e0B) 028 .5e-3 -0xfC) .177 4e1.5 0abcD) 0x8A 10,000 3.e5 参考答案:A【解析】C语言中八进制整型常量的开头是数字0,十六进制整型常量的开头数字是0x。C语言中的实型常量有两种表示形式:小数形式,小数形式表示的实型常量必须要有小数点;指数形式,以"e"或"E"后跟一个整数来表示以10为底数的幂数,且规定字母e或E之前必须要有数字,且e或E后面的指数必须为整数。B)选项中 028错误,八进制中没有数字8。C)选项中4e1.5中e后面的指数不是整数。D)选项中3.e5小数点后面缺少数字。以下选项中不合法的标识符是( )。A) &aB) FORC) print 4D) 00 参考答案:A【解析】C语言中标识符由字母、下划线、数字组成,且开头必须是字母或下划线。另外,关键字不能作为标识符。因为C语言中区分大小写,所以B)选项中的"FOR"可以作为标识符来用。A)选项中含有非法字符&,所以选择A)。若有代数式(其中e仅代表自然对数的底数,不是变量),则以下能够正确表示该代数式的C语言表达式是( )。A) sqrt(fabs(pow(n,x)+exp(x)))B) sqrt(fabs(pow(n,x)+pow(x,e)))C) sqrt(abs(n^x+e^x))D) sqrt(fabs(pow(x,n)+exp(x))) 参考答案:A【解析】B)选项中函数pow(x,e)错误应该直接使用exp(x)函数。C)选项中函数abs(n^x+e^x)错误,应该使用fabs()返回浮点数的绝对值。D)选项中pow(x,n)参数顺序错误。若有定义:double a=22;int i=0,k=18;,则不符合C语言规定的赋值语句是( )A) i=(a+k)<=(i+k);B) i=a%11;C) a=a++,i++D) i=!a; 参考答案:B【解析】取模运算符"%",二元运算符,具有左结合性,参与运算的量均为整型。选项B中的a变量是double实型,所以B)不符合规定。有以下程序:#include main(){ int s,t,A=10; double B=6; s=sizeof(A); t=sizeof(B); printf("%d,%d\n",s,t);}在VC6.0平台上编译运行,程序运行后的输出结果是( )。A) 10,6B) 4,4 C) 2,4 D) 4,8 参考答案:D【解析】C语言中利用sizeof()函数判断数据类型长度,在VC6.0平台中,整型int占有4个字节,double型数据占有8个字节。有以下程序:#include 5main(){ char a,b,c,d; scanf("%c%c",&a, &b); c=getchar(); d=getchar(); printf("%c%c%c%c\n",a,b,c,d);}当执行程序时,按下列方式输入数据(从第1列开始,代表回车,注意:回车也是一个字符)1234则输出结果是( )。A) 1234B) 12C) 1234D) 123 参考答案:D【解析】按照从键盘输入的数据可以判断字符1给了变量a,字符2给了变量b,字符即回车给了变量c,字符3给了变量d。所以打印输出的结果为D)选项。下关于逻辑运算符两侧运算对象的叙述中正确的是( )。A) 可以是任意合法的表达式B) 只能是整数0或非0整数C) 可以是结构体类型的数据D) 只能是整数0或1 参考答案:A【解析】C语言的逻辑运算符比较特别,它的操作数没有明确的数据类型,可以是任意合法的表达式,所以选择A)。有以下程序:#include main(){ int a=0,b=0,c=0,d=0; if(a=1) b=1;c=2; else d=3; printf("%d,%d,%d,%d\n",a,b,c,d);}程序输出( )。A) 1,1,2,0B) 0,0,0,3C) 编译有错D) 0,1,2,0 参考答案:C 6【解析】本题中if(a=1)b=1;与else d=3; 之间多了语句c=2;所以会出现else语句的位置错误的编译失败提示。有以下程序:#include main(){ int x=1, y=0, a=0, b=0; switch (x) { case 1: switch(y) { case 0: a++; break; case 1: b++; break; } case 2: a++; b++; break; case 3: a++; b++; } printf("a=%d, b=%d\n", a, b);}程序的运行结果是( )。A) a=2,b=2B) a=2,b=1C) a=1,b=1D) a=1,b=0 参考答案:B【解析】case常量表达式只是起语句标号作用,并不是该处进行条件判断。在执行switch语句时,根据switch的表达式,找到与之匹配的case语句,就从此case子句执行下去,不在进行判断,直到碰到break或函数结束为止。所以执行内层switch(y)时只执行了a++,此时a的值为1。然后执行外层case 2语句的a++;b++;a为2,b为1。所以结果为B)。以下程序段中的变量已正确定义: for( i=0; i<4; i++,i++ ) for( k=1; k<3; k++ ); printf("*" );程序段的输出结果是( )。A) **B) ****C) * D) ******** 参考答案:C【解析】由于内层循环for( k=1; k<3; k++)后面直接跟了空语句";"所以在循环内部什么操作也不做,跳出外层循环后执行打印语句,所以打印了一个"*",选择C)。有以下程序段: 7#include int i, n;for( i=0; i<8; i++ ){ n = rand() % 5; switch (n) { case 1:case 3: printf("%d \n", n); break;case 2:case 4: printf("%d \n", n); continue;case 0: exit(0); } printf("%d \n",n);}以下关于程序段执行情况的叙述,正确的是( )。A) for循环语句固定执行8次B) 当产生的随机数n为4时结束循环操作C) 当产生的随机数n为1和2时不做任何操作D) 当产生的随机数n为0时结束程序运行 参考答案:D【解析】case常量表达式只是起语句标号作用,并不是该处进行条件判断。在执行switch语句时,根据switch的表达式,找到与之匹配的case语句,就从此case子句执行下去,不再进行判断,直到碰到break或函数结束为止。简单的说break是结束整个循环体,而continue是结束单次循环。B)选项中当产生的随机数n为4时要执行打印操作。C)选项中当产生的随机数为1和2时分别执行case3与case4后面语句的内容。由于存在break语句所以for循环不是固定执行8次,执行次数与产生的随机数n有关系。有以下程序:#include int f(int x);main(){ int n=1,m; m=f(f(f(n))); printf("%d\n",m);}int f(int x){ return x*2; }程序运行后的输出结果是( )。A) 8B) 2C) 4D) 1 参考答案:A【解析】第一次调用m=f(f(f(1))),第二次为m=f(f(2)),第三次为m=f(4),即返回值为8。

全国计算机等级考试二级C语言真题库之选择题

全国计算机等级考试等级考试真题库之选择题(15)

1.下列链表中,其逻辑结构属于非线性结构的是

A) 二叉链表

B) 循环链表

C) 双向链表

D) 带链的栈

参考答案:A

【解析】在定义的链表中,若只含有一个指针域来存放下一个元素地址,称这样的链表为单链表或线性链表。带链的栈可以用来收集计算机存储空间中所有空闲的存储结点,是线性表。在单链表中的结点中增加一个指针域指向它的直接前件,这样的链表,就称为双向链表(一个结点中含有两个指针),也是线性链表。循环链表具有单链表的特征,但又不需要增加额外的存贮空间,仅对表的链接方式稍做改变,使得对表的处理更加方便灵活,属于线性链表。二叉链表是二叉树的物理实现,是一种存储结构,不属于线性结构。答案为A选项。

2.设循环队列的存储空间为Q(1: 35),初始状态为front=rear=35。现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为

A) 15

B) 16

C) 20

D) 0或35

参考答案:D

【解析】在循环队列中,用队尾指针rear指向队列中的队尾元素,用排头指针front指向排头元素的前一个位置。在循环队列中进行出队、入队操作时,头尾指针仍要加1,朝前移动。只不过当头尾指针指向向量上界时,其加1操作的结果是指向向量的下界0。由于入队时尾指针向前追赶头指针,出队时头指针向前追赶尾指针,故队空和队满时,头尾指针均相等。答案为D选项。

3.下列关于栈的叙述中,正确的是

A) 栈底元素一定是最后入栈的元素

B) 栈顶元素一定是最先入栈的元素

C) 栈操作遵循先进后出的原则

D) 以上说法均错误

参考答案:C

【解析】栈顶元素总是后被插入的元素,从而也是最先被删除的元素;栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素。栈的修改是按后进先出的原则进行的。因此,栈称为先进后出表,或"后进先出"表,所以选择C。

计算机二级c语言题库及答案

1 2016年计算机二级c语言题库及答案

一、选择题(每小题1分,共40小题,共40分)

1.设循环队列的存储空间为Q(1:35),初始状态为front=rear=35。现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为( )。

A.20

B.0或35

C.15

D.16

2.下列关于栈的叙述中,正确的是( )。

A.栈底元素一定是最后入栈的元素

B.栈操作遵循先进后出的原则

C.栈顶元素一定是最先入栈的元素

D.以上三种说法都不对

3.下列链表中,其逻辑结构属于非线性结构的是( )0、

A.双向链表

B.带链的栈

C.二叉链表

D.循环链表

4.在关系数据库中,用来表示实体间联系的是( )。

A.网状结构

B.树状结构

C.属性

D.二维表

5.公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员。则实体部门和职员间的联系是( )。

A.1:m联系

B.m:n联系

C.1:1联系

D.m:l联系 2 6.右两个关系R和S如下:

则由关系R得到关系S的操作是( )。

A.自然连接

B.并

C.选择

D.投影

7.数据字典(DD)所定义的对象都包含于( )。

A.软件结构图

B.方框图

C.数据流图(DFD图)

D.程序流程图

8.软件需求规格说明书的作用不包括( )。

A.软件设计的依据

B.软件可行性研究的依据

C.软件验收的依据

D.用户与开发人员对软件要做什么的共同理解

9.下面属于黑盒测试方法的是( )。

A.边界值分析

B.路径覆盖

C.语句覆盖

D.逻辑覆盖

10.下面不属于软件设计阶段任务的是( )。

A.制订软件确认测试计划

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档