全国计算机等级考试二级C语言真题2013年3月
2013年全国计算机等级二级C语言模拟试题及答案

2013年全国计算机等级二级C 语言模拟试题及答案2013年3月份全国计算机等级二级C语言试题及答案一、填空题1、C语言中基本的数据类型有:__________、__________ 、__________ 。
2、C语言中普通整型变量的类型说明符为__________,在内存中占__________字节,有符号普通整型的数据范围是__________。
3、整数-35在机内的补码表示为__________。
4、执行下列语句int a=8; a+=a-=a*a; 后,a的值是__________ 。
5、有如下语句:char A[ ]={”I am a student”}; 该字符串的长度是__________,A[3]=__________ 。
6、符号”a”和’a’的区别是__________。
7、所谓“指针”就是__________ 。
“&”运算符的作用是__________。
“*”运算符的作用是__________ 。
8、有如下输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是__________。
二、选择题1、设整型变量a为5,使b不为2的表达式是()。
A. b=a/2B. b=6-(--a)C. b=a%2D. b=a>3?2:12、为了避免嵌套的条件分支语句if-else的二义性,C语言规定:C程序中的else总是与()组成配对关系。
A. 缩排位置相同的ifB. 在其之前未配对的ifC. 在其之前未配对的最近的ifD.同一行上的if3、以下程序的输出结果是( )。
int x=10,y=10;printf(“%d%d\n”,x--,--y);A. 10 10B. 9 9C. 9 10D. 10 94、设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i 个元素的地址为()。
3月全国计算机二级c语言真题参考答案

3月全国计算机二级c语言真题参考答案2013年3月全国计算机二级c语言真题参考答案一、选择题:1、(C)二叉树链表2、(B)循环链表3、(C)函数的递归调用4、(D)软件运行存在磨损和老化问题5、(B)等价类划分6、(A)软件的功能确定7、(B)系统软件8、(A)矩形9、(C)投影10、(A)ISBN书号11、(A)标准模块中既有控件,也有代码12、(C)print_s13、(D)3avg14、(C)i = 0: s = 0Doi = i + 1s = s + iLoop Until i = 100Print s15、(C)False16、(B)方法和事件17、(D)在程序运行期间,可以修改命令按钮的Style属性。
18、(B)419、(C)15 720、(A)15 921、(B)Lostfocus22、(B)25 16 9 4 1 3623、(C)不能在Form2中引用Form1中控件的属性值,因此上述程序有错误24、(B)Dir1_Change25、(A)1 2 326、(B)变量x的作用域是Form127、(A)为了满足不同存取方式的需要,可以对同一个随机文件用几个不同的文件号打开28、(B)双击命令按钮,会触发命令按钮的.DblClick事件29、(C)对话框的“文件类型”框中显示内容为“文本文件(*.txt)”30、(D)菜单的Caption属性不可以为空字符串31、(D)Sub Main过程能被Visual Basic自动识别并一定首先被执行32、(C) afbecd33、(C)在窗体上显示“表达式1”34、(A) 3 5 7 4 535、(D)For j=n to i+1 Step -1二、填空题1、62、A,B,C,D,E,F,5,4,3,2,13、耦合性4、35、逻辑设计6、arr As Variant、4–i7、 <= 、False、i – 18、Combo1、Combo1.ListCount – 1、i9、Output、Print或Write【2013年3月全国计算机二级c语言真题参考答案】。
3月全国计算机等级考试二级C语言上机题库(20~30套)

3月全国计算机等级考试二级C语言上机题库(20~30套)考试频道小编收集整理计算机等级考试资料,免费提供给大家交流参考。
第二十一套1. 程序填空给定程序中,函数fun的功能是:在形参ss所指字符串数组中,将所有串长超过k的字符串右边的字符删去,只保留左边的k个字符。
ss所指字符串数组中共有N个字符串,且串小于M。
第一处void fun(char (*ss)[M], int k)第二处while (i第三处ss[i][k]=0;i++;}2. 程序修改给定程序MODI1.C中函数fun的功能是:根据以下公式求值,并作为函数值返回。
例如,给指定精度的变量eps输入0.0005时,应当输出Pi=30140578.。
/**found**/t=1;/**found**/return(2*s);3. 程序设计假定输入字符串中只包含字母和*号。
请编写函数fun,它的功能是:将字符串的前导*号不得多于n个;若多于n个,则删除多余的*号;若少于或等于n个,则什么也不做,字符串中间和尾部的*号不删除。
函数fun中给出的语句仅供参考。
void fun(char*a,int n){int i=0,k=0;while(a[k]= =*)k++;if(kn){i=n;j=k;for(;a[j]!=0;j++)a[i++]=a[j];a[i]=0;}}第二十二套1. 程序填空给定程序中,函数fun的功能是:a所指43矩阵中第k行的元素与第0行元素交换。
例如:有下列矩阵1 2 34 5 67 8 910 11 12若k为2,程序执行结果为7 8 94 5 61 2 310 11 12第一处void fun(int (*a)[N],int k)第二处for(i=0;i第三处a[0][i]=a[k][i];2. 程序修改给定程序MODI1.C中函数fun的功能是:读入一个字符串(长度20),将该字符串中的所有字符串按ASCII码升序排序后输出。
2013你啊你3月份全国计算机二级ACCESS考试试题及答案

2013年3月份全国计算机等级考试二级笔试试卷Access数据库程序设计(考试时间90分钟,满分100分)一、选择题(每小题2分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)下列叙述中正确的是A)程序设计就是编制程序B)程序的测试必须由程序员自己去完成C)程序经调试改错后还应进行再测试D)程序经调试改错后不必进行再测试(2)下列数据结构中,能用二分法进行查找的是A)顺序存储的有序线性表B)线性链表C)二叉链表D)有序线性链表(3)下列关于栈的描述正确的是A)在栈中只能插入元素而不能删除元素B)在栈中只能删除元素而不能插入元素C)栈是特殊的线性表,只能在一端插入或删除元素D)栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素(4)下列叙述中正确的是A)一个逻辑数据结构只能有一种存储结构B)数据的逻辑结构属于线性结构,存储结构属于非线性结构C)一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率D)一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率(5)下列描述中正确的是A)软件工程只是解决软件项目的管理问题B)软件工程主要解决软件产品的生产率问题C)软件工程的主要思想是强调在软件开发过程中需要应用工程化原则D)软件工程只是解决软件开发中的技术问题(6)在软件设计中,不属于过程设计工具的是A)PDL(过程设计语言) B)PAD图C)N-S图D)DFD图(7)下列叙述中正确的是A)软件交付使用后还需要进行维护B)软件一旦交付使用就不需要再进行维护C)软件交付使用后其生命周期就结束D)软件维护是指修复程序中被破坏的指令(8)数据库设计的根本目标是要解决A)数据共享问题B)数据安全问题C)大量数据存储问题D)简化数据维护(9)设有如下关系表:R S T则下列操作中正确的是A)T=R∩S B)T=R∪S C)T=R×S D)T=R/S(10)数据库系统的核心是A)数据模型B)数据库管理系统C)数据库D)数据库管理员11)将两个关系拼接成一个新的关系,生成的新关系中包含满足条件的元组,这种操作称为A)选择B)投影C)联接D)并(12)如果表A中的一条记录与表B中的多条记录相匹配,且表B中的一条记录与表A中的多条记录相匹配,则表A与表B存在的关系是A)一对一B)一对多C)多对一D)多对多(13)利用Access创建的数据库文件,其扩展名为A).ADP B).DBF C).FRM D).MDB(14)下面关于Access表的叙述中,错误的是A)在Access表中,可以对备注型字段进行“格式”属性设置B)若删除表中含有自动编号型字段的一条记录后,Access不会对表中自动编号型字段重新编号C)创建表之间的关系时,应关闭所有打开的表D)可在Access表的设计视图“说明”列中,对字段进行具体的说明(15)在Access表中,可以定义3种主关键字,它们是A)单字段、双字段和多字段B)单字段、双字段和自动编号C)单字段、多字段和自动编号D)双字段、多字段和自动编号(16)~(21)题使用已建立的“tEmployee”表,表结构及表内容如下所示:A)5 5 B)5 10 C)10 10 D)10 20(17)若要确保输入的联系电话值只能为8位数字,应将该字段的输入掩码设置为A)00000000 B)99999999 C)######## D)????????(18)若在“tEmployee”表中查找所有姓“王”的记录,可以在查询设计视图的准则行中输入A)Like "王" B)Like "王*" C)="王" D)="王*"(19)下面显示的是查询设计视图的“设计网格”部分,从此部分所示的内容中可以判断出要创建的查询A)删除查询B)生成表查询C)选择查询D)更新查询(20)下面显示的是查询设计视图,从设计视图所示的内容中判断此查询将显A)出生日期字段值B)所有字段值C)除出生日期以外的所有字段值D)雇员ID字段值21)若以“tEmployee”表为数据源,计算每个职工的年龄(取整),并显示如下图所示的结果,那么正确的设计是22)~(24)题中使用下图,窗体的名称为fmTest,窗体中有一个标签和一个命令按钮,名称分别为Label1和bChange(22)在“窗体视图”显示该窗体时,要求在单击命令按钮后标签上显示的文字颜色变为红色,以下能实现该操作的语句是A)label1.ForeColor = 255 B)bChange.ForeColor = 255C)label1.ForeColor = "255" D)bChange.ForeColor = "255"(23)若将窗体的标题设置为“改变文字显示颜色”,应使用的语句是A)Me ="改变文字显示颜色" B)Me.Caption="改变文字显示颜色"C)Me.text="改变文字显示颜色" D)="改变文字显示颜色"(24)在“窗体视图”中显示窗体时,窗体中没有记录选定器,应将窗体的“记录选定器”属性值设置为A)是B)否C)有D)无(25)为窗体或报表上的控件设置属性值的正确宏操作命令是A)Set B)SetData C)SetWarnings D)SetValue(26)下列不属于操作查询的是A)参数查询B)生成表查询C)更新查询D)删除查询(27)使用自动创建数据访问页功能创建数据访问页时,Access会在当前文件夹下,自动保存创建的数据访问页,其格式为A)HTML B)文本C)数据库D)Web(28)能被“对象所识别的动作”和“对象可执行的活动”分别称为对象的A)方法和事件B)事件和方法C)事件和属性D)过程和方法(29)在关于报表数据源设置的叙述中,以下正确的是A)可以是任意对象B)只能是表对象C)只能是查询对象D)可以是表对象或查询对象(30)在报表设计的工具栏中,用于修饰版面以达到更好显示效果的控件是A)直线和矩形B)直线和圆形C)直线和多边形D)矩形和圆形31)下列逻辑表达式中,能正确表示条件“x和y都是奇数”的是A)x Mod 2 =1 Or y Mod 2 =1 B)x Mod 2 =0 Or y Mod 2=0C)x Mod 2 =1 And y Mod 2 =1 D)x Mod 2 =0 And y Mod 2=0(32)若要求在文本框中输入文本时达到密码“*”号的显示效果,则应设置的属性是A)“默认值”属性B)“标题”属性C)“密码”属性D)“输入掩码”属性(33)假定有以下循环结构Do Until 条件循环体Loop则正确的叙述是A)如果“条件”值为0,则一次循环体也不执行B)如果“条件”值为0,则至少执行一次循环体C)如果“条件”值不为0,则至少执行一次循环体D)不论“条件”是否为“真”,至少要执行一次循环体(34)窗体上添加有3个命令按钮,分别命名为Command1、Command2和Command3。
计算机二级c语言经典练习题及解析答案

计算机二级c语言经典练习题及解析答案一、单选题1. C语言中的三大基本数据类型包括( B )A.整型、实型、逻辑型B.整型、实型、字符型C.整型、逻辑型、字符型D.整型、实型、逻辑型、数组型2. 在C语言中,以下合法的字符常量是( c )A. '\048'B. 'ab'C. '\43'D. "\0"3.设x 为 int 型变量,执行下列语句: x=10; x+=x-=x-x; 则x的值为 ( B )A. 15B. 20C. 25D. 304. 定义如下变量和数组: int i, x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句for(i=0;i<3;i++) printf("%d",x[i][2-i]); 的输出结果是( C )A. 1 4 7B. 1 5 9C. 3 5 7D. 3 6 95.逗号表达式(a=3*5,a*4),a+15的值是( b )A.15B. 30C. 60D. 756. .以下程序的输出结果是( c )。
main( ){ int x=10,y=11;printf("%d,%d\n",x--,--y);}A. 11,11B. 10,11C. 10, 10D.11,107.若一个外部变量的定义形式为static int x ; 其中static的作用是( d )A.将变量存放在静态存储区,使x的值可以永久保留B.使变量x可以由系统自动初始化C.使x的值可以永久保留D.使x只能在本文件内引用8.有如下变量说明:int k=2;则下面的循环共执行多少( d )次while (k!=0) {printf("%d",k);k--;}A.无限多次 B.0次 C.1次 D. 2次9.设有变量说明:int a=7,b=8;那么语句:printf("%d,%d\n",(a+b,a),(b,a+b));的输出应该是( a )A. 7,15B. 8,15C. 15,7D.15,810.若已定义:int a[9], *p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式是( b )A. p+1B. a++C. a+1D. ++p11. C语言变量名中不能使用的字符是( d )A. 数字B. 字母C. 下划线D. 关键字12.以下变量定义中合法的是( a )A.short a=2.1e-1;B. double b=1+5e0.5;C. long do=0xffe ;D. float 3_end=1-e3;13.若有说明语句char ch1=′\x79′;则ch1( c )A.包含4个字符B.包含3个字符C. 包含2个字符D.包含1个字符14.C语言中的函数( b )A. 可以嵌套定义B.嵌套调用和递归调用均可C. 不可以嵌套调用D. 可以嵌套调用但不可以递归调用15. 设整形变量a=12;则执行完语句a+=a-=a*a后a的值为( c )A. 552B. 264C. -264D. 14416.设a=1,b=2,c=3,d=4,则表达式:a>b?a:c<d?a:d的结果是( a )A.1 B.2 C.3 D.417.若有说明语句:int b[][4]={ 3,1,2,5,7,6,4}; 则b数组的行数为( b )A. 3B. 2C.无确定值D. 118. 若有定义:char c[10];从键盘输入“LiFang”,则正确的函数引用是( c )A. scanf(″%c″,&c[10]);B. gets(c);C. scanf(″%s″,&c);D. gets(c[10]);19. 两个基类型相同的指针变量之间,不能进行的运算是( c )A. <B. =C. +D.-20. 下面程序段执行结果是( b )int i=5,k; k=(++i)+(++i)+(i++); printf("%d,%d",k,i);A. 24,8B. 21,8C. 21,7D. 24,721.以下选项中属于C语言的数据类型是( b )。
二级C语言真题2013年03月-(3)

二级C语言真题2013年03月-(3)(总分:100.00,做题时间:90分钟)一、选择题(总题数:40,分数:40.00)1.设数据元素的集合D={1,2,3,4,5},则满足下列关系R的数据结构中为线性结构的是______。
(分数:1.00)A.R={(1,2),(3,4),(5,1)}B.R={(1,3),(4,1),(3,2),(5,4)} √C.R={(1,2),(2,3),(4,5)}D.R={(1,3),(2,4),(3,5)}解析:[解析] 一个非空的数据结构如果满足以下两个条件:有且只有一个根节点;每一个节点最多有一个前件,也最多有一个后件,称为线性结构。
不同时满足以上两个条件的数据结构就称为非线性结构。
A选项中有两个根节点3和5故错误。
B选项根节点为5,排列顺序为54132,B选项正确。
C选项有两个根节点1和4,故错误。
D选项有两个根节点1和2,故错误。
2.下列叙述中正确的是______。
(分数:1.00)A.链表节点中具有两个指针域的数据结构可以是线性结构,也可以是非线性结构√B.线性表的链式存储结构中,每个节点必须有指向前件和指向后件的两个指针C.线性表的链式存储结构中,每个节点只能有一个指向后件的指针D.线性表的链式存储结构中,叶子节点的指针只能是空解析:[解析] 双向链表与树形结构的节点均可以包含两个指针域,但前者为线性结构,后者为非线性结构,故A选项正确。
双向链表含有指向前件和指向后件的两个指针,故C选项错误。
线性链表就是指线性表的链式存储结构。
由于这种链表中,每个节点只有一个指针域,故又称为单链表,故B选项错误。
二叉树为非线结构,叶子节点没有后件,但是可以有指向前件的指针,故D选项错误。
3.一个栈的初始状态为空。
现将元素A,B,C,D,E依次入栈,然后依次退栈三次,并将退栈的三个元素依次入队(原队列为空),最后将队列中的元素全部退出。
则元素退队的顺序为______。
3月全国计算机等级考试二级C语言上机题库(20~30套)

3月全国计算机等级考试二级C语言上机题库(20~30套)3月全国计算机等级考试二级C语言上机题库(20~30套)考试频道小编收集整理计算机等级考试资料,免费提供给大家交流参考。
第二十一套1. 程序填空给定程序中,函数fun的功能是:在形参ss所指字符串数组中,将所有串长超过k的字符串右边的字符删去,只保留左边的k个字符。
ss所指字符串数组中共有N个字符串,且串小于M。
第一处void fun(char (*ss)[M], int k)第二处while (i第三处ss[i][k]=0;i++;}2. 程序修改给定程序MODI1.C中函数fun的功能是:根据以下公式求值,并作为函数值返回。
例如,给指定精度的变量eps输入0.0005时,应当输出Pi=30140578.。
/**found**/t=1;/**found**/return(2*s);3. 程序设计假定输入字符串中只包含字母和*号。
请编写函数fun,它的功能是:将字符串的前导*号不得多于n个;若多于n个,则删除多余的*号;若少于或等于n个,则什么也不做,字符串中间和尾部的*号不删除。
函数fun中给出的语句仅供参考。
void fun(char*a,int n){int i=0,k=0;while(a[k]= =*)k++;if(kn){i=n;j=k;for(;a[j]!=0;j++)a[i++]=a[j];a[i]=0;}}第二十二套1. 程序填空给定程序中,函数fun的功能是:a所指43矩阵中第k行的元素与第0行元素交换。
例如:有下列矩阵1 2 34 5 67 8 910 11 12若k为2,程序执行结果为7 8 94 5 61 2 310 11 12第一处void fun(int (*a)[N],int k)第二处for(i=0;i第三处a[0][i]=a[k][i];2. 程序修改给定程序MODI1.C中函数fun的功能是:读入一个字符串(长度20),将该字符串中的所有字符串按ASCII码升序排序后输出。
c语言真题-试卷答案及解释(2013年3月)

c语言真题-试卷答案及解释(2013年3月)一、选择题(1)B 【解析】N-S图是由Nassi 和Shneiderman 提出的一种符合程序化结构设计原则的图形描述工具。
它的提出是为了避免流程图在描述程序逻辑时的随意性上灵活性。
(2)D 【解析】结构化程序设计方法的主要原则可以概括为自顶向下、逐步求精、模块化及限制使用goto语句,总的来说可使程序结构良好、易读、易理解、易维护。
(3)B【解析】模块的独立程度可以由两个定性标准度量:耦合性和内聚性。
耦合性是衡量不同模块彼此间互相依赖(连接)的紧密程度;内聚性是衡量一个模块内部各个元素彼此结合的紧密程度。
一般来说,要求模块之间的耦合尽可能地低,而内聚性尽可能地高。
(4)D 【解析】需求分析是软件定义时期的最后一个阶段,它的基本任务就是详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统的工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。
选项A)软件开发方法是在总体设计阶段需完成的任务;选项B)软件开发工具是在实现阶段需完成的任务;选项C)软件开发费用是在可行性研究阶段需完成的任务。
(5)A 【解析】算法具有5个特性:①有穷性:一个算法必须(对任何合法的输入值)在执行有穷步之后结束,且每一步都可在有限时间内完成,即运行时间是有限的;②确定性:算法中每一条指令必须有确切的含义,读者理解时不会产生歧义;③可行性:一个算法是可行的,即算法中描述的操作都是可以通过已经实现的基本运算执行有限次来实现;④输入:一个算法有零个或多个输入,这些输入取自于某个特定的对象的集合;⑤输出:一个算法有一个或多个输出。
(6)D 【解析】在最坏情况下,快速排序、冒泡排序和直接插入排序需要的比较次数都为n(n-1)/2,堆排序需要的比较次数为nlog2n。
(7)B 【解析】由栈"后进先出"的特点可知:A)中e1不可能比e2先出,C)中e1不可能比e2先出,D)中栈是先进后出的,所以不可能是任意顺序。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
全国计算机等级考试二级C语言真题2013年3月(总分40, 做题时间90分钟)一、选择题1. 程序流程图中带有箭头的线段表示的是______。
A 图元关系B 数据流C 控制流D 调用关系答案:C[解析] 在数据流图中,用标有名字的箭头表示数据流。
在程序流程图中,用标有名字的箭头表示控制流。
所以选择C。
2. 结构化程序设计的基本原则不包括______。
A 多态性B 自顶向下C 模块化D 逐步求精答案:A[解析] 结构化程序设计的思想包括:自顶向下、逐步求精、模块化、限制使用goto语句,所以选择A。
3. 软件设计中模块划分应遵循的准则是______。
A 低内聚低耦合B 高内聚低耦合C 低内聚高耦合D 高内聚高耦合答案:B[解析] 软件设计中模块划分应遵循的准则是高内聚低偶合、模块大小规模适当、模块的依赖关系适当等。
模块的划分应遵循一定的要求,以保证模块划分合理,并进一步保证以此为依据开发出的软件系统可靠性强,易于理解和维护。
模块之间的耦合应尽可能的低,模块的内聚度应尽可能的高。
4. 在软件开发中,需求分析阶段产生的主要文档是______。
A 可行性分析报告B 软件需求规格说明书C 概要设计说明书D 集成测试计划答案:B[解析] A错误,可行性分析阶段产生可行性分析报告。
C错误,概要设计说明书是总体设计阶段产生的文档。
D错误,集成测试计划是在概要设计阶段编写的文档。
B正确,需求规格说明书是后续工作如设计、编码等需要的重要参考文档。
5. 算法的有穷性是指______。
A 算法程序的运行时间是有限的B 算法程序所处理的数据量是有限的C 算法程序的长度是有限的D 算法只能被有限的用户使用答案:A[解析] 算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。
有穷性是指算法程序的运行时间是有限的。
6. 对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是______。
A 快速排序B 冒泡排序C 直接插入排序D 堆排序答案:D[解析] 除了堆排序算法的比较次数是O(nlog2n),其他的都是n(n-1)/2。
7. 下列关于栈的叙述正确的是______。
A 栈按“先进先出”组织数据B 栈按“先进后出”组织数据C 只能在栈底插入数据D 不能删除数据答案:B[解析] 栈是按“先进后出”的原则组织数据的,数据的插入和删除都在栈顶进行操作。
8. 在数据库设计中,将E-R图转换成关系数据模型的过程属于______。
A 需求分析阶段B 概念设计阶段C 逻辑设计阶段D 物理设计阶段答案:C[解析] 将E-R图转换成关系模型数据是把图形分析出来的联系反映到数据库中,即设计出表,所以属于逻辑设计阶段。
9. 有三个关系R、S和T如下:由关系R和S通过运算得到关系T,则所使用的运算为______。
A 并B 自然连接C 笛卡儿积D 交答案:D[解析] 自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉,所以B错误。
笛卡儿积是用R集合中元素为第一元素,S集合中元素为第二元素构成的有序对,所以C错误。
根据关系T可以很明显地看出其是从关系R与关系S中取得相同的关系组成,所以运用的是交运算,选择D。
10. 设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为______。
A 课号,成绩B 学号,成绩C 学号,课号D 学号,姓名,成绩答案:C[解析] 学号是学生表S的主键,课号是课程表C的主键,所以选课表SC的关键字就应该是与前两个表能够直接联系且能唯一定义的学号和课号,所以选择C。
11. 以下叙述中错误的是______。
A C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令B C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件C 用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中D C语言源程序经编译后生成后缀为.obj的目标程序答案:A[解析] C语言中的非执行语句不会被编译,不会生成二进制的机器指令,所以A错误。
由C语言构成的指令序列称为C源程序,C源程序经过C语言编译程序编译之后生成一个后缀为.OBJ的二进制文件(称为目标文件);最后要由“连接程序”把此.OBJ文件与C语言提供的各种库函数连接起来生成一个后缀为.EXE的可执行文件。
12. 以下选项中,合法的一组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小数点后面缺少数字。
13. 以下选项中不合法的标识符是______。
A &aB FORC printD _00答案:A[解析] C语言中标识符由字母、下划线、数字组成,且开头必须是字母或下划线。
另外,关键字不能作为标识符。
因为C语言中区分大小写,所以B选项中的“FOR”可以作为标识符来用。
A选项中含有非法字符&,所以选择A。
14. 若有代数式(其中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)参数顺序错误。
15. 若有定义: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不符合规定。
16. 有以下程序:#include <stdio.h>main() { int s, t, A=10; double B=6; s=sizeofA.; t=sizedB.; printf("%d, %d\n", s, t); }在VC 6.0平台上编泽运行,程序运行后的输出结果是______。
A 10,6B 4,4C 2,4D 4,8答案:D[解析] C语言中利用sizeof()函数判断数据类型长度,在VC 6.0平台中,整型int占有4个字节,double型数据占有8个字节。
17. 有以下程序:#include <stdio.h>main() { 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列开始,<CR>代表回车,注意:回车也是一个字符) 12<CR>34<CR>则输出结果是______。
A 1234B 12D 123答案:D[解析] 按照从键盘输入的数据可以判断字符1给了变量a,字符2给了变量b,字符<CR>即回车给了变量c,字符3给了变量d。
所以打印输出的结果为D选项。
18. 以下关于逻辑运算符两侧运算对象的叙述中正确的是______。
A 可以是任意合法的表达式B 只能是整数0或非0整数C 可以是结构体类型的数据D 只能是整数0或1答案:A[解析] C语言的逻辑运算符比较特别,它的操作数没有明确的数据类型,可以是任意合法的表达式,所以选择A。
19. 有以下程序:#include <stdio.h>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[解析] 本题中if(a=1)b=1; 与else d=3; 之间多了语句c=2; ,所以会出现else语句的位置错误的编译失败提示。
20. 有以下程序:#include <stdio.h>main() { int x=1, y=0, a=0, b=0; switch(x) { ease 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。
21. 以下程序段中的变量已正确定义:______ 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。