2007计算机等级考试二级C语言考前模拟密卷及答案7.doc_第1页
2007计算机等级考试二级C语言考前模拟密卷及答案7.doc_第2页
2007计算机等级考试二级C语言考前模拟密卷及答案7.doc_第3页
2007计算机等级考试二级C语言考前模拟密卷及答案7.doc_第4页
2007计算机等级考试二级C语言考前模拟密卷及答案7.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

2007计算机等级考试二级C语言考前模拟密卷及答案(7)(1)最简单的交换排序方法是 A)快速排序 B)选择排序 C)堆排序 D)冒泡排序 (2)栈通常采用的两种存储结构是 A)线性存储结构和链表存储结构 B)散列方式和索引方式 C)链表存储结构和数组 D)线性存储结构和非线性存储结构 (3)线性表的顺序存储结构和线性表的链式存储结构分别是 A)顺序存取的存储结构、顺序存取的存储结构 B)随机存取的存储结构、顺序存取的存储结构 C)随机存取的存储结构、随机存取的存储结构 D)任意存取的存储结构、任意存取的存储结构 (4)完全不考虑程序的内部结构和内部特征,而只是根据程序功能导出测试用例的测试方法是 A)黑箱测试法 B)白箱测试法 C)错误推测法 D)安装测试法 (5)在结构化设计方法中,生成的结构图(SC)中,带有箭头的连线表示 A)模块之间的调用关系 B)程序的组成成分 C)控制程序的执行顺序 D)数据的流向 (6)下列选项中,不属于模块间耦合的是 A)数据耦合 B)同构耦合 C)异构耦合 D)公用耦合 (7)一个关系中属性个数为1时,称此关系为 A)对应关系 B)单一关系 C)一元关系 D)二元关系 (8)为用户与数据库系统提供接口的语言是 A)高级语言 B)数据描述语言(DDL) C)数据操纵语言(DML) D)汇编语言 (9)相对于数据库系统,文件系统的主要缺陷有数据关联差、数据不一致性和 A)可重用性差 B)安全性差 C)非持久性 D)冗余性 (10)需求分析阶段的任务是确定 A)软件开发方法 B)软件开发工具 C)软件开发费用 D)软件系统功能 (11)下列关于C语言的说法不正确的是 A)C语言既具有高级语言的一切功能,也具有低级语言的一些功能 B)C语言中的每一条执行语句都必须用分号结束,分号不是C语言的一部分,是语句之间的分隔符号 C)注释可以出现在程序中任意合适的地方 D)命令行后面不能加分号,命令行不是C语言的语句 (12)下列关于标识符的说法中错误的是 A)合法的标识符是由字母、数字和下划线组成 B)C语言的标识符中,大写字母和小写字母被认为是两个不同的字符 C)C语言的标识符可以分为三类,即关键字、预定义标识符和用户标识符 D)用户标识符与关键字不同时,程序在执行时将给出出错信息 (13)下列合法的整型常量的表示是 A)098 B)oXde C)32767 D)0xDG (14)现在有以下定义,int a;double b;float c;char k;则下面的表达式a/b+c-k值的类型为: A)int B)double C)float D)char (15)假设整型变量a,b,c的值均为5,则表达式a+b+c+的值为 A)17 B)16 C)15 D)14 (16)下列关于复合语句和空语句的说法错误的是 A)复合语句是由“”开头,由“”结尾的 B)复合语句在语法上视为一条语句 C)复合语句内,可以有执行语句,不可以有定义语句部分 D)C程序中的所有语句都必须由一个分号作为结束 (17)关于printf()函数的返回值叙述正确的是 A)通常是本次调用中输出字符的个数 B)通常是输出的第一个数值 C)通常返回布尔值真 D)通常返回非零值 (18)现有格式化输入语句,scanf(x=%d,sumy=%d,linez=%dL,&x,&y,&z);,现在已知在输入数据后,x,y,z的值分别是12,34,45,则下列数据是正确的输入格式的是 A)12,34,45 B)x=12,y=34,z=45 C)x=12C,sumy=34,z=45 D)x=12,sumy=34,linez=45 注:“”表示空格, 表示回车 (19)设x,y,z,t均为整型变量,现有如下语句x=y=z=1;t=+x|+y&+z;则执行这个语句后t的值为 A)2 B)1 C)0 D)不定值 (20)现有如下程序段,此程序段编译有错误,则程序段的错误出在 #include main() int a=30,b=40,c=50,d; d=a30?b:c; switch(d)case a:printf(%d,a); case b:printf(%d,b); case c:printf(%d,c); default:printf(#); A)default:printf(#);这个语句 B)d=a30?b:c;这个语句 C)case a:printf(%d,a); case b:printf(%d,b); case c:printf(%d,c);这三个语句 D)switch(d)这个语句 (21)下列语句中,错误的是(x,y,a,b假设已经定义好) A)while(x=y)5; B)do x+ while(x=10); C)while(0); D)do 2;while(a=b); (22)若i,j已经定义为整型,则以下程序段中,内循环体的执行次数是 for(i=6;i;i-) for(j=0;ja)a=x; scanf(%d,&x); printf(a=%d,b=%dn,a,b); 现输入如下。注 :表示空格 34562345556712365494857877675697890 输入后输出结果是 A)a=7569,b=789 B)a=5,b=365 C)a=7,b=789 D)a=7569,b=5 (25)下面关于字符常量的说法错误的是 A)一个字符常量代表ASCII字符集中的一个字符 B)单引号中的大写字母和小写字母代表不同的字符常量 C)字符常量只能包含一个字符 D)字符常量可以用单引号或双引号括起来(26)现有如下程序#include stdio.hint fun(int x)printf(x=%dn,+x);main()fun(12+5);则程序的输出结果是A)12B)13C)17D)18(27)现有如下程序段#include stdio.hint aa(int x,int y);main()int a=24,b=16,c;c=aa(a,b);printf(%dn,c); int aa(int x,int y)int w;while(y)w=x%y;x=y;y=w;return x;则程序段的输出结果是A)8B)7C)6D)5(28)下列说法错误的是A)函数调用时,函数名必须与所调用的函数名字完全相同B)实参的个数必须与形式参数的个数一致C)实参可以是表达式,在类型上必须与形参一一对应匹配D)C语言规定,函数必须先定义,后调用(函数的返回值类型为int或char时除外)(29)函数的值通过return语句返回,下面关于return语句的形式描述错误的是A)return表达式;B)return(表达式); C)一个return语句可以返回多个函数值D)一个return语句只能返回一个函数值(30)现有如下定义:int a,b,*p,*q;,则下列赋值语句错误的是A)p=&a;B)q=&b;C)p=q;D)p=a;(31)现有如下程序段#include stdio.hint *fun(int *a,int *b)int c;c=*a%*b;return &c;main()int a=5,b=19,*c;c=fun(&a,&b);printf(%dn,+*c);则程序段执行后的结果为A)8B)7C)6D)5(32)现有int a,*b;,b=&a;,则下列运算错误的是A)*&a B)&*aC)*&bD)&*b(33)现有如下程序段#include stdio.hmain() int k30=12,324,45,6,768,98,21,34,453,456;int count=0,i=0;while(ki) if(ki%2=0ki%5=0)count+; i+; printf(%d,%dn,count,i); 则程序段的输出结果为A)7,8B)8,8C)7,10D)8,10(34)现有如下定义语句int*p,s20,i;p=s;表示数组元素si的表达式不正确的是A)*(s+i)B)*(p+i)C)*(s=s+i)D)*(p=p+i)(35)阅读如下程序段,这个程序在编译的时候会有一个警告,下列关于这个警告叙述正确的是 #include stdio.h#define N 10int *fun(int aN,int n) int i,bN;for(i=0;ibi=ai;return(b);main() int aN=12,34,45,5,6,34,4,655,2;int *k;k=fun(aN,5);printf(%dn,*k);A)指针k没有指向任何对象而成为“无向指针”,所以这里会产生警告B)return语句不应该有括号,所以在这里会有警告C)return语句的返回值类型与指针k的基类型不一致,这里会产生警告D)数组赋值的时候没有把数组全部都赋初值,所以在这里会有警告(36)有如下定义语句:int aa3=12,23,34,4,5,6,78,89,45;,则45在数组aa中的行列坐标各为A)3,2B)3,1C)2,2D)2,1(37)现有如下程序段#include stdio.hmain()int a56=23,3,65,21,6,78,28,5,67,25,435,76,8,22,45,7,8,34,6,78,32,4,5,67,4,21,1;int i=0,j=5;printf(%dn,*(&a00+2*i+j-2); 则程序的输出结果为A)21B)78C)23D)28(38)下列程序的输出结果是#include stdio.h#define N 3#define M 3void fun(int aMN)printf(%dn,*(a1+2);main()int aMN;int i,j;for(i=0;ifor(j=0;jaij=i+j-(i-j);fun(a); A)3B)4C)5D)6(39)下列关于字符串的说法中错误的是A)在C语言中,字符串是借助于字符型一维数组来存放的,并规定以字符0作为字符串结束标志B)0作为标志占用存储空间,计入串的实际长度C)在表示字符串常量的时候不需要人为在其末尾加入0D)在C语言中,字符串常量隐含处理成以0结尾(40)有下面程序段 #include stdio.h#include string.hmain()char a320=china,isa,bigcountry!;char k100=0,*p=k;int i;for(i=0;ibj)ck+=bj+;else ck+=bj+;i+;while(ai=0 & bj!=0) ck+=bj+;while(ai!=0 & bj=0)ck+=ai+;ck=0;puts(c); 则输出结果是A)acfijkbefijklqswzB)abceffiijjkklqswzC)befijklqswz acfijkD)abcefijklqswz(42)现在有如下程序#include stdio.hmain()char s80;int i,j;gets(s);for(i=j=0;si!=0;i+)if(si!=H_)sj=0;puts(s); 这个程序段的功能是删除输入的字符串中字符H,则空线上应当添入的是A)sj+=si;j+;B)sj=si+;j+; C)sj+=si;D)sj=si;(43)下列说法中错误的是A)静态局部变量的初值是在编译时赋予的,在程序执行期间不再赋予初值B)若全局变量和某一函数中的局部变量同名,则在该函数中,此全局变量被屏蔽C)静态全局变量可以被其他的编辑单位所引用D)所有自动类局部变量的存储单元都是在进入这些局部变量所在的函数体(或复合语句)时生成,退出其所在的函数体(或复合语句)时消失(44)阅读下列程序段,则程序的输出结果为#include stdio.h#define M(X,Y)(X)*(Y)#define N(X,Y)(X)/(Y)main()int a=5,b=6,c=8,k;k=N(M(a,b),c);printf(%dn,k);A)3B)5C)6D)8(45)若有以下定义和语句struct a int n,m;struct a st3=1,20,2,19,3,21;struct a *p=st;则以下错误的引用是A)(p+)-n;B)st0.n;C)(*p).n;D)p=&st.m;(46)假设有如下定义:struct aint n;float k;data,*p;若要使p指向data中的成员n,正确的赋值语句是A)p=&data.n;B)*p=data.n;C)p=(struct a *)&data.n;D)p=(struct a *)data.n;(47)下面函数的功能是将指针t2所指向的线性链表,链接到t1所指向的链表的末端。假定t1所指向的链表非空struct node float x;struct node *next;connect(struct node *t1, struct node *t2) if(t1-next=NULL)t1-next=t2; else connect(_ ,t2); 要实现此功能则应该添入的选项是A)t1.nextB)+t1.nextC)t1-nextD)+t1-next(48)C语言结构体类型变量在程序运行期间A)TC环境在内存中仅仅开辟一个存放结构体变量地址的单元B)所有的成员一直驻留在内存中C)只有最开始的成员驻留在内存中D)部分成员驻留在内存中(49)有下列运算符:,&, |,则运算的优先顺序是A),&, |,B),&, |,C), &,|D),&, |(50)最简单的交换排序方法是A)快速排序B)选择排序C)堆排序 D)冒泡排序二、填空题(1)栈和队列通常采用的存储结构是 【1】 。【命题目的】考查考生对数据结构基本知识的了解。【解题要点】栈和队列都属于线性表,它们一般采用顺序存储结构,也可以对它们采用链式存储结构。 【考点链接】栈、数组、表采用的存储结构,各种存储结构的定义和区别。(2)在程序设计阶段应该采取 【2】 和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,进而用某种程序设计语言写成程序。【命题目的】让考生对程序设计有较深入的了解。【考点链接】系统设计其他阶段的内容。(3)软件结构是以 【3】 为基础而组成的一种控制层次结构。【命题目的】考查考生对软件结构的了解。【解题要点】采用模块化原理可以使软件结构清晰,不仅容易设计也容易阅读和理解,模块化使得软件容易测试和调试,因而有利于提高软件的可靠性,也有利于软件的组织管理,大型程序可由不同的程序员编写不同的模块,并且可以进一步分配技术熟练的程序员编写困难的部分。【考点链接】软件结构的定义,模块操作其他的所有特点。(4)数据库系统阶段的数据具有较高独立性,数据独立性包括物理独立性和 【4】 两个含义。【命题目的】考查考生对数据库基本知识(数据独立性)的了解。【解题要点】数据独立性是数据与程序间的互不依赖性,即数据库中数据独立于应用程序而不依赖于应用程序。数据独立性一般分为物理独立性与逻辑独立性两个含义。 【考点链接】在人工管理阶段,文件系统阶段和数据库管理阶段中数据独立性的特点。(5)数据库保护分为:安全性控制、 【5】 、并发性控制和数据的恢复。【命题目的】考查考生对数据库基本知识的了解。【解题要点】安全性控制:防止未经授权的用户有意或无意存取数据库中的数据,以免数据被泄露、更改或破坏;完整性控制:保证数据库中数据及语义的正确性和有效性,防止任何对数据造成错误的操作;并发控制:正确处理好多用户、多任务环境下的并发操作,防止错误发生;恢复:当数据库被破坏或数据不正确时,使数据库能恢复到正确的状态。【考点链接】数据库的其他用途,如数据定义、数据操作和数据管理等。(6)语句printf(%fn,13.0*(1/5);的输出结果为 【6】 。【命题目的】考查对于基本运算符的掌握情况。【解题要点】/表示整除,1/5为0,0乘以任何数都得零,但是与浮点型相乘,要转化为浮点型,所以结果为0.000000。【考点链接】在一个运算符的两边如果一个是字符型,一个是整型,则把字符型转换为整型之后再进行运算。(7)阅读下面语句,则程序的执行结果是 【7】 。#include stdio.hmain() int a=-1,b=1,k;if(+a0)&!(b-=0)printf(%d,%dn,a,b);else printf(%d,%dn,b,a);【命题目的】考查对于if语句的掌握情况。【解题要点】与运算两边的语句必须同时为真时,结果才为真,当执行完if(+a0)&!(b-=0)时,a,b的值已经发生了变化。【考点链接】+,-运算符。(8)阅读下面语句,则执行后的输出结果为 【8】 #include stdio.hmain()char a,b;for(a=0,b=9;aprintf(%c%c,a,b);printf(n);【命题目的】考查对于for循环的掌握情况。【解题要点】for是C语言的关键字,其后的一对圆括号中通常含有三个表达式,各个表达式之间用分号隔开,这三个表达式可以是任意形式的表达式,通常主要用于for循环控制。【考点链接】对字符型的运算实际上是对其ASCII码值的运算。(9)阅读下面程序,则执行后程序的结果为 【9】 #include stdio.hmain() int a=0,b=0;while(a15)a+;while(b+=0;-i)d= 【15】 ;printf(%c,bd);printf(Hn);【命题目的】考查字符串的实际运用的理解程度。【解题要点】字符串的综合运用。【考点链接】这是一种常用的十进制转换成十六进制的方法,应该掌握。(14)现有如下程序段,则程序段的输出结果为 【16】 。#include stdio.hint fun()static int k;return k;main()int m;m=fun();printf(%dn,m);【命题目的】考查对于静态存储类的局部变量的掌握情况。【解题要点】在整个程序运行期间,静态局部变量在内存的静态存储区中占据着永久性的存储单元。即使退

温馨提示

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

评论

0/150

提交评论