2012内蒙古自治区计算机等级考试试题 二级C试题考试题库
2012年3月计算机等级考试二级c语言真题
教育城(/)是一个专门提供计算机类、外语类、资格类、学历类,会计类、建筑类、医学 类等教育信息服务。 2012 年 3 月计算机等级考试试题及答案汇总
/ckl/教育城会计网更多学习资料
教育城(/)是一个专门提供计算机类、外语类、资格类、学历类,会计类、建筑类、医学 类等教育信息服务。
教育城 计算机等级考试交流 QQ 群:184458132
2012 年 03 月计算机二级考试试题及答案汇总
2012 年 3 月计算机等级考试试题及答案汇总
/ckl/教育城会计网更多学习资料
/ckl/教育城会计网更多学习资料
教育城(/)是一个专门提供计算机类、外语类、资格类、学历类,会计类、建筑类、城会计网更多学习资料
教育城(/)是一个专门提供计算机类、外语类、资格类、学历类,会计类、建筑类、医学 类等教育信息服务。
/ckl/教育城会计网更多学习资料
教育城(/)是一个专门提供计算机类、外语类、资格类、学历类,会计类、建筑类、医学 类等教育信息服务。
/ckl/教育城会计网更多学习资料
教育城(/)是一个专门提供计算机类、外语类、资格类、学历类,会计类、建筑类、医学 类等教育信息服务。
/ckl/教育城会计网更多学习资料
教育城(/)是一个专门提供计算机类、外语类、资格类、学历类,会计类、建筑类、医学 类等教育信息服务。
/ckl/教育城会计网更多学习资料
教育城(/)是一个专门提供计算机类、外语类、资格类、学历类,会计类、建筑类、医学 类等教育信息服务。
/ckl/教育城会计网更多学习资料
教育城(/)是一个专门提供计算机类、外语类、资格类、学历类,会计类、建筑类、医学 类等教育信息服务。
/ckl/教育城会计网更多学习资料
2012年3月全国计算机等级考试二级C语言真题及详细答案
12、关于C语言中数的表示,以下叙述示,实型数会有误差
B、只要在在允许范围内整型和实型都能精确表示
C、只有实型数在允许范围内能精确无误的表示,整型数
会有误差
Main()
{ int a;
Scanf(“%d”,&a);
If(a++<9) printf((“%d\n”,a);
Else printf((“%d\n”,a--);
}
程序运行时键盘输入9<回车>,则输出的结构是
A、10 B 11 C 9 D 8
6、 有三个关系R、S和T如下:
R
A B C
a 1 2
b 2 1
c 3 1
则由关系R和S得到关系T的操作是
A、自然连接 B、并 C、差 D、交
【答案】C
【解析】R和S的差是由属于R但不属于S的元组组成的集合,运算符为“-”。记为T=R-S。根据本题关系R和关系S运算前后的
A 1,2,4 B 1,3,6 C 3,10,14 D 3,6,10
【答案】C)
【解析】本题考察switch语句的应用,case分支后面如果没有break,那么就会顺序执行下面的case,直到遇到break跳出。所以第一次循环后s的值为3打印输出。第二次s的值为:s=s+3,s=s+4,即为10,打印输出。第三次没有匹配成功直接执行default语句,s=s+4,所以s的值为14,打印输出。
行下句逗号表达式中的a=b,把b的值0赋给a,此时a的值为0,然后执行b=b+4,使得b的值为4。最后打印输出。
18、设变量均已正确定义并且赋值,以下与其他三组输出结构不同的一组语句是
2012内蒙古自治区全国计算机等级考试二级VB考试题库
1、下述关于数据库系统的叙述中正确的是(A)A. 数据库系统减少了数据冗余B. 数据库系统避免了一切冗余C. 数据库系统中数据的一致性是指数据类型的一致D. 数据库系统比文件系统能管理更多的数据2、下面对对象概念描述错误的是(A)A. 任何对象都必须有继承性B. 对象是属性和方法的封装体C. 对象间的通讯靠消息传递D. 操作是对象的动态性属性3、在深度为5的满二叉树中,叶子结点的个数为(C)A. 32B. 31C. 16D. 154、软件调试的目的是(B) 注:与软件测试要对比着复习A.发现错误B.改正错误C.改善软件的性能D.挖掘软件的潜能5、结构化程序设计主要强调的是(B)A.程序的规模B.程序的易读性C.程序的执行效率D.程序的可移植性6、信息隐蔽的概念与下述哪一种概念直接相关(B)A.软件结构定义B. 模块独立性C. 模块类型划分D. 模拟耦合度7、对长度为N的线性表进行顺序查找,在最坏情况下所需要的比较次数为(B) 注:要牢记A. N+1B. NC. (N+1)/2D. N/28、软件需求分析阶段的工作,可以分为四个方面:需求获取、需求分析、编写需求规格说明书以及(B)A. 阶段性报告B. 需求评审C. 总结D. 都不正确9、对建立良好的程序设计风格,下面描述正确的是(A)A. 程序应简单、清晰、可读性好B. 符号名的命名要符合语法C. 充分考虑程序的执行效率D. 程序的注释可有可无10、下列工具中属于需求分析常用工具的是(D)A. PADB. PFDC. N-SD. DFD11、算法一般都可以用哪几种控制结构组合而成(D)A. 循环、分支、递归B. 顺序、循环、嵌套C. 循环、递归、选择D. 顺序、选择、循环12、按条件f对关系R进行选择,其关系代数表达式为(C)A. R|X|RB. R|X|RfC. бf(R)D. ∏f(R)13、下面概念中,不属于面向对象方法的是 (D)A. 对象B. 继承C. 类D. 过程调用14、数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。
2012年9月国家计算机二级C语言上机考试题库
2012年9月全国计算机考试上机题库100套第01套:给定程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回所指变量。
例如,输入一个数:27638496,新的数:为739。
请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!给定源程序:#include <stdio.h>void fun(unsigned long *n){ unsigned long x=0, i; int t;i=1;while(*n){ t=*n % __1__;if(t%2!= __2__){ x=x+t*i; i=i*10; }*n =*n /10;}*n=__3__;}main(){ unsigned long n=-1;while(n>99999999||n<0){ printf("Please input(0<n<100000000): "); scanf("%ld",&n); }fun(&n);printf("\nThe result is: %ld\n",n);}解题思路:第一处:t是通过取模的方式来得到*n的个位数字,所以应填:10。
第二处:判断是否是奇数,所以应填:0。
第三处:最后通形参n来返回新数x,所以应填:x。
给定程序MODI1.C中函数fun 的功能是:计算n!。
例如,给n输入5,则输出120.000000。
请改正程序中的错误,使程序能输出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!给定源程序:#include <stdio.h> double fun ( int n ){ double result = 1.0 ;if n = = 0return 1.0 ;while( n >1 && n < 170 )result *= n--return result ;}main ( ){ int n ;printf("Input N:") ;scanf("%d", &n) ;printf("\n\n%d! =%lf\n\n", n,fun(n)) ;}解题思路:第一处:条件语句书写格式错误,应改为:if (n==0)。
2012计算机二级C笔试真题及答案
全国计算机等级考试二级C语言2012年3月试题及答案一、填空题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.1010B.99C.910D.1094、设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i个元素的地址为()。
A.P+i*2B.P+(i-1)*2C.P+(i-1)D.P+i5、选出下列标识符中不是合法的标识符的是()。
2012年9月全国计算机的等级考试二级C语言笔试试卷答案详解及解析汇报汇报
(1)下列链表中,其逻辑结构属于非线性结构的是_________。
A)双向链表B) 带链的栈 C) 二叉链表D) 循环链表(1)C 【解析】见/uuxzhang上全国计算机二级考试参考资料_数据结构.pps 中第13张说明:链表存储结构是数据的存储结构;排除链表因素,从数据逻辑结构来看,线性结构包括线性表、栈和队;非线性结构包括树形结构和图形结构,所以二叉树是树形结构,即非线性结构。
(2)设循环队列的存储空间为Q(1:35),初始状态为front=rear=35。
现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为A) 20 B) 0或35 C) 15 D) 16(2)B 【解析】见/uuxzhang上全国计算机二级考试参考资料_数据结构.pps中第100-101张关于入队(Q.rear=Q.rear+1)与退队(Q.front=Qfront+1)运算规则,此外第一次入队为Q.rear=1;第一次退队为Q.front=1。
并假定循环队列最大个数为maxsize,其相应存储空间为1: maxsize,则循环队列的入队与退队图例和运算后元素个数的确定原则如下:循环队列中的元素个数或称队列长度通用计算公式:(Q.rear-Q.front+ maxsize)% maxsize 例如,Q.rear=20,Q.front=15,则循环队列中的元素个数=(20-15+35)%35=5;Q.rear=40,Q.front=15,则循环队列中的元素个数=(40-15+35)%35=25;本题根据Q.rear=Q.front=15,maxsize=35,则循环队列中元素个数=(15-15+35)%35=0或35;(3)下列关于栈的叙述中,正确的是A) 栈底元素一定是最后入栈的元素B) 栈操作遵循先进后出的原则C) 栈顶元素一定是最先入栈的元素D) 以上三种说法都不对(3)B 【解析】见/uuxzhang上全国计算机二级考试参考资料_数据结构.pps中第63张幻灯片说明:栈元素入、退原则:先进后出(FILO)或后进先出(LIFO)。
全国计算机等级考试二级C++真题2012年9月
全国计算机等级考试二级C++真题2012年9月(总分:100.00,做题时间:90分钟)一、选择题(每小题2分,共70分) (总题数:35,分数:70.00)1.下列链表种,其逻辑结构属于非线性结构的是(分数:2.00)A.循环链表B.双向链表C.带链的栈D.二叉链表√解析:2.设循环队列的存储空间为Q(1:35),初始状态为front=rear=35,现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为(分数:2.00)A.16B.20C.0或35 √D.15解析:3.下列关于栈的叙述中,正确的是(分数:2.00)A.栈顶元素一定是最先入栈的元素B.栈操作遵循先进后出的原则√C.栈底元素一定是最后入栈的元素D.以上三种说法都不对解析:4.在关系数据库中,用来表示实体间联系的是(分数:2.00)A.二维表√B.树状结构C.属性D.网状结构解析:5.公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,则实体部门和职员间的联系是(分数:2.00)A.m:1联系B.1:m联系√C.1:1联系D.m:n联系解析:6.有两个关系R和S 如下R得到关系S的操作是(分数:2.00)A.自然连接B.选择√C.并D.投影7.数据字典(DD)所定义的对象都包含于(分数:2.00)A.程序流程图B.数据流图(DFD图)√C.方框图D.软件结构图解析:8.软件需求规格说明书的作用不包括(分数:2.00)A.软件可行性研究的依据√B.用户与开发人员对软件要做什么的共同理解C.软件验收的依据D.软件设计的依据解析:9.下面属于黑盒测试方法的是(分数:2.00)A.逻辑覆盖B.语句覆盖C.路径覆盖D.边界值分析√解析:10.下面不属于软件设计阶段任务的是(分数:2.00)A.数据库设计B.算法设计C.软件总体设计D.制定软件确认测试计划√解析:11.下列关于函数重载的叙述中,错误的是(分数:2.00)A.重载函数的参数个数可以不同B.重载函数的参数类型可以不同C.重载函数的返回值类型必须不同√D.重载函数的参数个数或参数类型必须有所不同解析:12.下列关于类成员对象构造函数调用顺序的叙述中,正确的是(分数:2.00)A.与它们在初始化列表中顺序相同B.与它们在类中声明的顺序相同√C.与析构函数的调用顺序相同D.顺序不确定解析:13.下列关于派生类的叙述中,错误的是(分数:2.00)A.派生类至少要有一个基类B.派生类中包括了从基类继承的成员C.一个派生类可以作为另一个派生类的基类D.基类成员被派生类继承以后访问权限保持不变√14.下列关于运算符重载的叙述中,正确的是(分数:2.00)A.通过运算符重载机制可以为C++语言扩充新的运算符B.运算符重载的作用是使已有的运算符作用于类的对象√C.重载运算符的操作数类型可以全部为基本类型D.所有运算符都可以重载解析:15.下列关于模板的叙述中,错误的是(分数:2.00)A.调用模板函数时,有时可以省略模板实参B.函数模板的每个实例就是一个函数定义C.类模板的每个实例就是一个类定义√D.类模板的实例是一个类对象解析:16.下列关于输入输出流的叙述中,正确的是(分数:2.00)A.一个文件流可以与一个数据文件相联系√B.cin是专门从键盘输入数据的输入流类C.流运算符<<用来从输入流中读取数据D.宽度设置的效果永久有效解析:17.下列选项中可以做C++标识符的是(分数:2.00)A._256 √B.fat/pigC.deleteD.5char解析:18.关键字unsigned不能修饰的类型是(分数:2.00)A.char √B.intC.floatD.long int解析:19.有如下程序: #include using namespace std; int main(){ char a; cin>>a; if(a='*') cout<<"***"<<<"###"<(分数:2.00)A.***B.### √C.***###D.无输出解析:20.下列对一维数组a的定义中,语法正确的是(分数:2.00)A.int a(10)B.int n=7,a[n];C.int n;cin>>n;int a[n];D.const int size=10;int a[size]; √解析:21.假设函数fun已经定义,其原型为”void fun(int a,int b=7,char *p=”**”);”,下列函数调用中错误的是(分数:2.00)A.fun(5)B.fun(5,8)C.fun(6,”##”)√D.fun(0,0.”==”)解析:22.已经函数print()没有返回值,如果在类中将之声明为常成员函数,正确的是(分数:2.00)A.void print()const; √B.const void print();C.void const print();D.void print(const);解析:23.已知基类Employees只有一个构造函数,其定义如下: Employee::Employee(int n):id(n){} Manager 是Employees的派生类,则下列对Manager的构造函数的定义中,正确的是(分数:2.00)A.Manager::Manager(int n):id(n){}B.Manager::Manager(int n){id=n;}C.Manager::Manager(int n):Employee(n){} √D.Manager::Manager(int n){Employee(n);}解析:24.已知将运算符“+”和“*”作为类Complete的成员函数重载,设c1和c2是类Complex的对象,则表达式c1+c2*c1等价于(分数:2.00)A.c1.operator*(c2.operator+(c1))B.c1.operator+(c2.operator*(c1)) √C.c1.operator*(c1.operator+(c2))D.c2.operator+(c1.operator*(c1))解析:25.下列类模板的定义中语法格式错误的是(分数:2.00)A.template class Buffer{/*…*/};B.template class Buffer{/*…*/};C.template class Buffer{/*…*/};D.template class Buffer{/*…*/};√解析:26.在C++中既可以用于文件输入又可以用于文件输出的流类是(分数:2.00)A.fstream √B.ifstreamC.ofstreamD.iostream解析:27.有如下类定义:class MyClass{ int b;char a;double c; public: MyClass():c(0.0),b(0),a(','){} }; 创建这个类的对象时,数据成员的初始化顺序是(分数:2.00)A.a,b,cB.c,b,a √C.b,a,cD.c,a,b解析:28.有如下类定义 class MyClass{ int x; public: MyClass():x(0),y(0){} int GetX(){return x;} void SetX(int xx){x==xx;} int y; }; 已知obj是类MyClass的对象,下列语句中违反类成员访问控制权限的是(分数:2.00)A.obj.x; √B.obj.y;C.obj.GetX();D.obj.SetX(0);解析:29.有如下类定义 class Test{ char a; const char b; public:Test(char c){a=c;b=c;} //第1行 void f(char a)const{this->a=a;} //第2行void g(char b){this->b=b;} //第3行char h()const{return a;} //第4行 }; 编译时没有错误的行是(分数:2.00)A.第1行B.第2行C.第3行√D.第4行解析:30.有如下程序:#include using namespace std; class A{ public: A(){cout<<'C';} }; class B:public A{ public: B(){cout<<'G';} ~B(){cout<<'T';} }; int main(){ B obj; return 0; } 运行这个程序的输出结果是(分数:2.00)A.GATCB.AGTC √C.GACTD.AGCT解析:31.有如下程序: #include using namespace std; class Base{ public; void fun(){cout<<'B';} }; class Derived:public Base{ public; void fun(){ cout<<'D';} }; int main(){ Derived d; d.fun(); return 0; } 若程序的输出结果是BD,则划线处缺失的部分是(分数:2.00)A.fun()B.Base.fun()C.Base::fun() √D.Base->fun()解析:32.有如下程序:#include using namespace std; class B{ public; virtual void f() {cout<<"B";} void g(){cout<<"B";} } class D;public B { public; void f(){cout<<"D";} void g(){coun<<"D";} } void h(B*p){p->f();p->g();} int main(){ D obj; h(&obj); return 0; } 运行这个程序的输出结果是:(分数:2.00)A.DDC.BDD.DB √解析:33.有如下程序: #include #include using namespace std; class MyString{ public; char str[80]; MyString(const char*s) {strcpy(str,s);} MyString&operator+=(MyString a){ strcat(str,a.str); return*this; } }; ostream&operator<<(ostream&s,const MyString&z){return s << z.str} intmain(){ MyString x("abc"),y("cde"); cout<<(分数:2.00)A.abcB.cdeC.abcdeD.abccde √解析:34.有如下程序: #include #include using namespace std; intmain(){ cout<<setfill('#')<<setw(4)<<"OK"<<123<(分数:2.00)A.##OK123 √B.##OK#123C.OK##123D.OK##123#解析:35.有如下语句序列: ifstream infile("DATA.DAT"); if(infile.good())cout<<"A"; else{ cout<<"B"; ofstream outfile("DATA.DAT"); if(outfile.fail())cout<<"C";else cout<<"D"; } 若执行这个语句序列显示的是BD,则说明文件DATA.DAT(分数:2.00)A.以读方式打开成功B.以读方式打开失败,但以写方式打开成功C.以读方式打开失败,以写方式打开也失败√D.以读方式打开成功,以写方式打开也成功解析:二、填空题(每空2分,共30分) (总题数:15,分数:30.00)36.一棵二叉树共有47个结点,其中有23个度为2的结点,假设根结点在底1层,则该二叉树的深度为【1】。
计算机等级考试二级C语言模拟试题(1)及答案
⼀、选择题(每题2分,共计70分)1.栈和队列的共同特点是A)都是先进先出B)都是先进后出C)只允许在端点处插⼊和删除元素D)没有共同点2.已知⼆叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是A)acbedB)decabC)deabcD)cedba3.链表不具有的特点是A)不必事先估计存储空间B)可随机访问任⼀元素C)插⼊删除不需要移动元素D)所需空间与线性表长度成正⽐4.结构化程序设计的3种结构是A)顺序结构、选择结构、转移结构B)分⽀结构、等价结构、循环结构C)多分⽀结构、赋值结构、等价结构D)顺序结构、选择结构、循环结构5.为了提⾼测试的效率,应该A)随机选取测试数据B)取⼀切可能的输⼊数据作为测试数据C)在完成编码以后制定软件的测试计划D)集中对付那些错误群集的程序6.算法的时间复杂度是指A)执⾏算法程序所需要的时间B)算法程序的长度C)算法执⾏过程中所需要的基本运算次数D)算法程序中的指令条数7.软件⽣命周期中所花费⽤最多的阶段是A)详细设计B)软件编码C)软件测试D)软件维护8.数据库管理系统DBMS中⽤来定义模式、内模式和外模式的语⾔为A)CB)BasicC)DDLD)DML9.下列有关数据库的描述,正确的是A)数据库是⼀个DBF⽂件B)数据库是⼀个关系C)数据库是⼀个结构化的数据集合D)数据库是⼀组⽂件10.下列有关数据库的描述,正确的是A)数据处理是将信息转化为数据的过程B)数据的物理独⽴性是指当数据的逻辑结构改变时,数据的存储结构不变C)关系中的每⼀列称为元组,⼀个元组就是⼀个字段D)如果⼀个关系中的属性或属性组并⾮该关系的关键字,但它是另⼀个关系的关键字,则称其为本关系的外关键字11.以下叙述中正确的是A)C语⾔⽐其他语⾔⾼级B)C语⾔可以不⽤编译就能被计算机识别执⾏C)C语⾔以接近英语国家的⾃然语⾔和数学语⾔作为语⾔的表达形式D)C语⾔出现的最晚,具有其他语⾔的⼀切优点12.C语⾔中⽤于结构化程序设计的3种基本结构是A)顺序结构、选择结构、循环结构B)if,switch,breakC)for,while,do-whileD)if,for,continue13.C语⾔中最简单的数据类型包括A)整型、实型、逻辑型B)整型、实型、字符型C)整型、字符型、逻辑型D)字符型、实型、逻辑型14.若变量已正确定义并赋值,以下符合C语⾔语法的表达式是A)a:=b+1B)a=b=c+2C)int 18.5%3D)a=a+7=c+b15.下列可⽤于C语⾔⽤户标识符的⼀组是A)voiddefineWORDB)a3_b3_123CarC)For-abcIFCaseD)2aDOsizeof16.若变量a,i已正确定义,且i已正确赋值,合法的语句是A)a==1B)++i;C)a=a++=5;D)a=int(i);17.已知int t=0;while (t=1){...}则以下叙述正确的是A)循环控制表达式的值为0B)循环控制表达式的值为1C)循环控制表达式不合法D)以上说法都不对18.有如下程序main(){int x=1,a=0,b=0;switch(x){case 0: b++;case 1: a++;case 2: a++;b++;}printf("a=%d,b=%d\n",a,b);}该程序的输出结果是A)a=2,b=1B)a=1,b=1C)a=1,b=0D)a=2,b=219.有以下程序main(){ int i=1,j=1,k=2;if((j++||k++)&& i++)printf("%d,%d,%d\n",i,j,k);}执⾏后输出结果是A)1,1,2B)2,2,1C)2,2,2D)2,2,320.有如下程序main(){ int n=9;while(n>6){n--; printf("%d",n);}}该程序的输出结果是A)987B)876C)8765D)987621.在下列选项中,没有构成死循环的是A)int i=100;while(1){ i=i0+1;if(i>100)break;}B)for(;;);C)int k=10000;do{ k++; }while(k>10000);D)int s=36;while(s)--s;22.若已定义的函数有返回值,则以下关于该函数调⽤的叙述中错误的是A)函数调⽤可以作为独⽴的语句存在B)函数调⽤可以作为⼀个函数的实参C)函数调⽤可以出现在表达式中D)函数调⽤可以作为⼀个函数的形参23.有以下程序float fun(int x,int y){ return(x+y);}main(){ int a=2,b=5,c=8;printf("%3.0f\n",fun((int)fun(a+c,b),a-c));}程序运⾏后的输出结果是A)编译出错B)9C)21D)9.024.若有以下调⽤语句,则不正确的fun函数的⾸部是main(){ …int a[50],n;…fun(n, &a[9]);…}A)void fun(int m, int x[])B)void fun(int s, int h[41])C)void fun(int p, int *s)D)void fun(int n, int a)25.设有以下说明语句struct stu{ int a;float b;} stutype;则下⾯的叙述不正确的是A)struct是结构体类型的关键字B)struct stu是⽤户定义的结构体类型C)stutype是⽤户定义的结构体类型名D)a和b都是结构体成员名26.若运⾏时给变量x输⼊12,则以下程序的运⾏结果是main(){ int x,y;scanf("%d",&x);y=x>12?x+10:x-12;printf("%d\n",y);}A)0B)22C)12D)1027.以下说法正确的是A)C语⾔程序总是从第⼀个的函数开始执⾏B)在C语⾔程序中,要调⽤函数必须在main()函数中定义C)C语⾔程序总是从main()函数开始执⾏D)C语⾔程序中的main()函数必须放在程序的开始部分28.有以下程序#define F(X,Y)(X)*(Y)main(){ int a=3, b=4;printf("%d\n", F(a++, b++));}程序运⾏后的输出结果是A)12B)15C)16D)2029.下列程序执⾏后的输出结果是void func(int *a,int b[]){ b[0]=*a+6; }main(){ int a,b[5]={0};a=0; b[0]=3;func(&a,b); printf("%d\n",b[0]);}A)6B)7C)8D)930.若有下⾯的程序段char s[]="china";char *p; p=s;则下列叙述正确的是A)s和p完全相同B)数组s中的内容和指针变量p中的内容相等C)s数组长度和p所指向的字符串长度相等D)*p与s[0]相等31.以下程序中函数sort的功能是对a数组中的数据进⾏由⼤到⼩的排序void sort(int a[],int n){ int i,j,t;for(i=0;ifor(j=i+1;jif(a[i]}main(){ int aa[10]={1,2,3,4,5,6,7,8,9,10},i;sort(&aa[3],5);for(i=0;i<10;i++)printf("%d,",aa[i]);printf("\n");}程序运⾏后的输出结果是A)1,2,3,4,5,6,7,8,9,10,B)10,9,8,7,6,5,4,3,2,1,C)1,2,3,8,7,6,5,4,9,10,D)1,2,10,9,8,7,6,5,4,3,32.以下程序的运⾏结果是#include "stdio.h"main(){ struct date{ int year,month,day;}today;printf("%d\n",sizeof(struct date));}A)6B)8C)10D)1233.若执⾏下述程序时,若从键盘输⼊6和8时,结果为main(){ int a,b,s;scanf("%d%d",&a,&b);s=a;if(as=b;s*=s;printf("%d",s);}A)36B)64C)48D)以上都不对34.下列关于C语⾔数据⽂件的叙述中正确的是A)⽂件由ASCII码字符序列组成,C语⾔只能读写⽂本⽂件B)⽂件由⼆进制数据序列组成,C语⾔只能读写⼆进制⽂件C)⽂件由记录序列组成,可按数据的存放形式分为⼆进制⽂件和⽂本⽂件D)⽂件由数据流形式组成,可按数据的存放形式分为⼆进制⽂件和⽂本⽂件35.有以下程序void ss(char *s,char t){ while(*s){ if(*s==t)*s=t-′a′+′A′;s++;}}main(){ char str1[100]="abcddfefdbd",c=′d′;ss(str1,c); printf("%s\n",str1);}程序运⾏后的输出结果是A)ABCDDEFEDBDB)abcDDfefDbDC)abcAAfefAbAD)Abcddfefdbd⼆、填空题(每空2分,共计30分)1.算法的基本特征是可⾏性、确定性、【1】和拥有⾜够的情报。
2012年9月全国计算机等级考试二级C语言笔试真题与答案
2012年9月全国计算机等级考试二级笔试试卷C语言程序设计(考试时间90分钟,满分100分)一、选择题((1)~(10)、(21)~(40)每小题2分,(11)~(20)每题1分共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)下列链表种,其逻辑结构属于非线性结构的是A)循环链表 B)双向链表 C)带链的栈 D)二叉链表(2)设循环队列的存储空间为Q(1:35),初始状态为front=rear=35,现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为A)16 B)20 C)0或35 D)15(3)下列关于栈的叙述中,正确的是A)栈顶元素一定是最先入栈的元素 B)栈操作遵循先进后出的原则C)栈底元素一定是最后入栈的元素 D)以上三种说法都不对(4)在关系数据库中,用来表示实体间联系的是A)二维表 B)树状结构 C)属性 D)网状结构(5)公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,则实体部门和职员间的联系是A)m:1联系 B)1:m联系 C)1:1联系 D)m:n联系A)自然连接 B)选择 C)并 D)投影(7)数据字典(DD)所定义的对象都包含于A)程序流程图 B)数据流图(DFD图) C)方框图 D)软件结构图(8)软件需求规格说明书的作用不包括A)软件可行性研究的依据 B)用户与开发人员对软件要做什么的共同理解C)软件验收的依据 D)软件设计的依据(9)下面属于黑盒测试方法的是A)逻辑覆盖 B)语句覆盖 C)路径覆盖 D)边界值分析(10)下面不属于软件设计阶段任务的是A)数据库设计 B)算法设计C)软件总体设计 D)制定软件确认测试计划(11)以下叙述中正确的是A)在C语言程序中,main函数必须放在其他函数的最前面B)每个后缀为.C的C语言源程序都可以单独进行编译C)在C语言程序中,只有main函数才可单独进行编译D)每个后缀为.C地点C语言源程序都应该包含一个main函数(12)C语言中的标识符分为关键字、预定义标识符和用户标识符,以下叙述正确的是A)预定义标识符(如库函数中的函数名)可用作用标识符,但失去原有含义B)用户标识符可以由字母和数字任意顺序组成C)在标识符中大写字母和小写字母被认为是相同的字符D)关键字可用作用户标识符,但失去原有含义(13)以下选项中表示一个合法的常量是(说明:符号 表示空格)A)9 9 9 B)0Xab C)123E0.2 D)2.7e(14)C语言主要是借助以下哪个功能来实现程序模块化A)定义函数 B)定义常量和外部变量C)三种基本结构语句 D)丰富的数据类型(15)以下叙述中错误的是A)非零的数值类型常量有正直和负值的区分B)常量是在程序运行过程中值不能被改变的量C)定义符号常量必须用类型名来设定常量的类型D)用符号名表示的常量叫符号常量(16)若有定义和语句:int a,b; scanf(“%d,%d”,&a,&b);以下选项中的输入数据,不能把值3赋给变量a、5赋给变量b的是A)3,5 B)3,5,4 C)3 ,5 D)3,5(17)C语言中char类型数据占字节数为A)3 B)4 C)1 D)2(18)下列关系表达式中,结果为“假”的是A)(3+4)>6 B)(3!=4)>2 C)3<=4||3 D)(3<4)==1(19)若以下选项中的变量全部为整型变量,且已正确定义并赋值,则语法正确的switch语句是A)switch(a+9) B)switch a*b{ case c1:y=a-b; { case 10:x=a+b;case c2:y=a+b; default :y=a-b;} }C)switch(a+b) D) switch(a*a+b*b){ case1:case3:y=a+b;break { default:break;case0:case4:y=a-b; case 3: y=a+b;break;} case 2: y=a-b;break;}(20)有以下程序#include<stdio.h>main(){ int a=-2,b=0;while(a++&&++b);printf("%d,%d\n",a,b);}程序运行后的输出结果是A)1,3 B)0,2 C)0,3 D)1,2(21)设有定义:int x=0,*p; ,立刻执行以下语句,正确的语句是A)p=x; B)*p=x; C)p=NULL; D)*p=NULL;(22)下列叙述中正确的是A)可以用关系运算符比较字符串的大小B)空字符串不占用内存,其内存空间大小是0C)两个连续的单引号是合法的字符常量D)两个连续的双引号是合法的字符串常量(23)有以下程序#include <stdio.h>main(){ char a='H';a=(a>='A'&&a<='Z')?(a-'A'+'a'):a;printf("%c\n",a);}程序运行后的输出结果是A)A B)a C)H D)h(24)有以下程序#include <stdio.h>int f(int x);main(){ int a,b=0;for(a=0;a<3;a++){b=b+f(a); putchar('A'+b);}}int f(int x){return x*x+1;}程序运行后的输出结果是A)ABE B)BDI C)BCF D)BCD(25)设有定义:int x[2][3];,则以下关于二维数组x的叙述错误的是A)x[0]可看作是由3个整型元素组成的一维数组B)x[0]和x[1]是数组名,分别代表不同的地址常量C)数组x包含6个元素D)可以用语句x[0]=0;为数组所有元素赋初值0(26)设变量p是指针变量,语句p=NULL;是给指针变量赋NULL值,它等价于A)p= ""; B)p= '0'; C)p=0; D)p= '';(27)有以下程序#include <stdio.h>main(){int a[]={10,20,30,40},*p=a,i;for(i=0;i<=3;i++){a[i]=*p;p++;}printf("%d\n",a[2]);}程序运行后的输出结果是A)30 B)40 C)10 D)20(28)有以下程序#include <stdio.h>#define N 3void fun(int a[][N],int b[]){ int i,j;for(i=0;i<N;i++){ b[i]=a[i][0];for(j=i;j<N;j++)if(b[i]<a[i][j]) b[i]=a[i][j];}}main(){int x[N][N]={1,2,3,4,5,6,7,8,9},y[N],i;fun(x,y);for(i=0;i<N;i++) printf("%d,",y[i]);printf("\n");}程序运行后的输出结果是A)2,4,8, B)3,6,9, C)3,5,7, D)1,3,5,(29)有以下程序(strcpy为字符串复制函数,strcat为字符串连接函数)#include <stdio.h>#include <string.h>main(){ char a[10]="abc",b[10]="012",c[10]="xyz";strcpy(a+1,b+2);puts(strcat(a,c+1));}程序运行后的输出结果是A)a12cyz B)12yz C)a2yz D)bc2yz(30)以下选项中,合法的是A)char str3[]={'d', 'e', 'b', 'u', 'g', '\0', };B)char str4; str4="hello world";C)char name[10]; name="china";D)char str[5]= "pass",str2[6]; str2=str1;(31)有以下程序#include <stdio.h>main(){ char *s="12134"; int k=0,a=0;while(s[k+1]!='\0'){ k++;if(k%2==0){a=a+(s[k]-'0'+1);continue;}a=a+(s[k]-'0');}printf("k=%d a=%d\n",k,a);}程序运行后的输出结果是A)k=6 a=11 B)k=3 a=14 C)k=3 a=12 D)k=5 a=15(32)有以下程序#include <stdio.h>main(){ char a[5][10]={"one","two","three","four","five"};int i,j;char t;for(i=0;i<4;i++)for(j=i+1;j<5;j++)if(a[i][0]>a[j][0]){t=a[i][0]; a[i][0]=a[j][0]; a[j][0]=t;}puts(a[1]);}程序运行后的输出结果是A)fwo B)fix C)two D)owo(33)有以下程序#include <stdio.h>int a=1,b=2;void fun1(int a,int b){printf("%d %d",a,b);}void fun2(){a=3;b=4;}mian(){ fun1(5,6);fun2();printf("%d %d\n",a,b);}程序运行后的输出结果是A)1 2 5 6 B)5 6 3 4 C)5 6 1 2 D)3 4 5 6(34)有以下程序#include <stdio.h>void func(int n){ static int num=1;num=num+n; printf("%d",num)}main(){func(3); func(4); printf("\n");}程序运行后的输出结果是A)4 8 B)3 4 C)3 5 D)4 5(35)有以下程序#include <stdio.h>#include <dtdio.h>void fun(int *p1,int *p2,int *s){ s=(int*)malloc(sizeof(int));*s=*p1+*p2;free(s);}main(){ int a=1,b=40,*q=&a;fun(&a,&b,q);printf("%d\n",*q);}程序运行后的输出结果A)42 B)0 C)1 D)41(36)有以下程序void f(struct STU a[]){ struct STU b={"Zhao",'m',85,90};a[1]=b;}main(){ struct STU c[2]={{"Qian",'f',95,92},{"Sun",'m',98,99}};f(c);printf("%s,%c,%d,%d,",c[0].name,c[0].sex,c[0].score[0],c[0].score[1]);printf("%s,%c,%d,%d\n",c[1].name,c[1].sex,c[1].score[0],c[1].score[1]);}程序运行后的输出结果是A)Zhao,m,85,90,Sun,m,98,99 B)Zhao,m,85,90,Qian,f,95,92C)Qian,f,95,92,Sun,m,98,99 D)Qian,f,95,92,Zhao,m,85,90(37)以下叙述中错误的是A)可以用typedef说明的新类型名来定义变量B)typedef说明的新类型名必须使用大写字母,否则会出编译错误C)用typedef可以为基本数据类型说明一个新名称D)用typedef说明新类型的作用是用一个新的标识符来代表已存在的类型名(38)以下叙述中错误的是A)函数的返回值类型不能是结构体类型,只能是简单类型B)函数可以返回指向结构体变量的指针C)可以通过指向结构体变量的指针访问所指结构体变量的任何成员D)只要类型相同,结构体变量之间可以整体赋值(39)若有定义语句int b=2;则表达式(b<<2)/(3||b)的值是A)4 B)8 C)0 D)2(40)有以下程序#include <stdio.h>main(){FILE *fp;int i,a[6]={1,2,3,4,5,6};fp=fopen("d2.dat","w+");for(i=0;i<6;i++) fprintf(fp,"%d\n",a[i]);rewind(fp);for(i=0;i<6;i++) fscanf(fp,"%d",&a[5-i]);fclose(fp);for(i=0;i<6;i++) printf("%d,",a[i]);}程序运行后的输出结果是A)4,5,6,1,2,3, B)1,2,3,3,2,1, C)1,2,3,4,5,6, D)6,5,4,3,2,1,二、填空题(每空2分,共30分)请将每一个空的正确答案写在答题卡【1】至【15】序号的横线上,答在试卷上不得分。
计算机二级c 上机考试题库80题答案
第1套一、填空题给定程序的功能是求1/4的圆周长。
函数通过形参得到圆的直径,函数返回1/4的圆周长(圆周长公式为:L=Πd,在程序中定义的变量名要与公式的变量相同)。
例如:输入圆的直径值:19.527,输出为:15.336457请勿改动主函数main与其他函数中的任何内容,仅在横线上填写所需的若干表达式或语句。
#include<stdio.h>double fun(double d){return 3.14159*d/4.0;}main(){double z;printf("Input the d of the round:");scanf("%lf",&z);printf("L=%lf\n",fun(z));}二、改错题下列给定程序中函数fun的功能是:计算正整数m的各位上的数字之积。
例如,若输入202,则输出应该是0。
请修改程序中的错误,得出正确的结果注意:不要改动main函数,不能增行或删行,也不能更改程序的结构#include<stdio.h>#include<conio.h>long fun(long n){long r=1;do{r*=n%10;n/=10;}while(n);return(r);}main(){long m;printf("\nplease enter a number:");scanf("%ld",&m);printf("\n%ld\n",fun(m));}三、编程题请编写一个函数fun,它的功能是:求出1到m之内(含m)能被7或11整初的所有整数放在数组b中,通过n返回这些数的个数。
例如,若传送给m的值为20,则程序输出7 11 14。
请勿改动主函数main与其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
2012计算机二级考试试题
2012年计算机二级C++笔试模拟试题及答案一、选择题在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)循环链表的主要优点是A)不再需要头指针了B)从表中任一结点出发都能访问到整个链表C)在进行插入、删除运算时,能更好的保证链表不断开D)已知某个结点的位置后,能够容易的找到它的直接前件(2)栈底至栈顶依次存放元素A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列可能是A)ABCEDB)DCBEAC)DBCEAD)CDABE(3)n个顶点的强连通图的边数至少有A)n-1B)n(n-1)C)nD)n+1(4)在结构化程序设计思想提出之前,在程序设计中曾强调程序的效率。
与程序的效率相比,人们更重视程序的A)安全性B)一致性C)可理解性D)合理性(5)模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准则是模块的A)抽象和信息隐蔽B)局部化和封装化C)内聚性和耦合性D)激活机制和控制方法(6)软件开发的结构化生命周期方法将软件生命周期划分成A)定义、开发、运行维护B)设计阶段、编程阶段、测试阶段C)总体设计、详细设计、编程调试D)需求分析、功能定义、系统设计(7)在软件工程中,白箱测试法可用于测试程序的内部结构。
此方法将程序看做是A)路径的集合B)循环的集合C)目标的集合D)地址的集合(8)在数据管理技术发展过程中,文件系统与数据库系统的主要区别是数据库系统具有A)特定的数据模型B)数据无冗余C)数据可共享D)专门的数据管理软件(9)数据库设计包括两个方面的设计内容,它们是A)概念设计和逻辑设计B)模式设计和内模式设计C)内模式设计和物理设计D)结构特性设计和行为特性设计(10)实体是信息世界中广泛使用的一个术语,它用于表示A)有生命的事物B)无生命的事物C)实际存在的事物D)一切事物(11)以下都是C++语言标识符的是A)dsfa,df4,f$B)huhj,a^,k2C)3k,h,j_9D)_ok,jk,k8(12)C++语言中用于定义类的关键字是A)classB)structC)defaultD)sizeof(13)设以下变量均为int类型,则值不等于7的表达式是A)(x=y=6,x+y,x+1)B)(x=y=6,x+y,y+1)C)(x=6,x+1,y=6,x+y) D)(y=6,y+1,x=y,x+1)(14)以下程序的输出结果是#includevoid main(){ int a=21,b=11;cout << --a+b;}A)30B)31C)32D)33(15)while 和do-while循环的主要区别是A)do-while的循环体至少无条件执行一次B)while的循环控制条件比do-while的循环控制条件更严格C)do-while允许从外部转到循环体内D)do-while 的循环体不能是复合语句(16)与y=(x>0?1:x<0?-1:0);的功能相同的if语句是A)if (x>0)y=1;else if(x<0)y=-1;else y=0;B)if(x)if(x>0)y=1;else if(x<0)y=-1;C)y=-1;if(x)if(x>0)y=1;elseif(x==0)y=0;else y=-1;D)y=0;if(x>=0)if(x>0)y=1;else y=-1;(17)若二维数组a有m列,则计算任一元素a[i][j]在数组中相对位置的公式为(假设a[0][0]位于数组的第一个位置上)A)i*m+jB)j*m+iC)i*m+j-1D)i*m+j+1(18)下面程序段的运行结果是#includevoid main(){ char*s="abcde";s+=2;cout << &s;}A)cdeB)字符′c′C)字符′c′的地址D)无确定的输出结果(19)下面叙述不正确的是A)派生类一般都用公有派生B)对基类成员的访问必须是无两义性的C)赋值兼容规则也适用于多重继承的组合D)基类的公有成员在派生类中仍然是公有的(20)下面程序应能对两个整型变量的值进行交换。
计算机等级考试-二级C语言上机考试题库及答案
1.填空给定程序的功能是调用fun函数建立班级通讯录。
通讯录中记录每位学生的编号,姓名和电话号码。
班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。
请在程序的下划线处填入正确的内容并把下划线删除,是程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.c中不得增行或删行,也不得更改程序的结构!void check();/**********found**********/int fun(___1___ *std){/**********found**********/___2___ *fp; int i;if((fp=fopen("myfile5.dat","wb"))==NULL)return(0);printf("\nOutput data to file !\n");for(i=0; i<N; i++)/**********found**********/fwrite(&std[i], sizeof(STYPE), 1, ___3___);fclose(fp);return (1);}修改给定程序MODI1.C中函数fun的功能是:先将在字符串s中的字符按正序存放到t串中,然后把s中的字符按逆序连接到t串后面。
例如:当s中的字符串为:“ABCDE”时,则他中的字符串应为:“ABCDEEDCBA”。
请改正程序中的错误,使他能得出正确的结果。
注意:不要改动main函数,不能增行或删行,也不得更改程序的结构!void fun (char *s, char *t){ int i, sl;sl = strlen(s);/************found************/for( i=0; i<=s1; i ++)t[i] = s[i];for (i=0; i<sl; i++)t[sl+i] = s[sl-i-1];/************found************/t[sl] = '\0';}程序函数fun的功能是:将两个两位数的正整数a,b合并成一个整数放在c中。
计算机等级考试二级C语言试题及答案
{ int a=5; s+=f(&a);
}
s+=f(&a); printf(“%d\nC)7 D)8
38、有以下程序 #define f(x) x*x main( ) { int i; i=f(4+4)/f(2+2);
15、 若以下选项中的变量已正确定义,则正确的赋值语句 是
(C) A)x1=26.8%3 B)1+2=x2 C)x3=0x12 D)x4=1+2=3;
//%为模式运算,又称为求余运算,二侧均为整形数据 16、 设有以下定义
int a=0; double b=1.25; char c=’A’; #define d 2 则下面语句中错误的是(D) A)a++; B)b++ C)c++; D)d++;
{ int i,s=0;
for(i=1;i<10;i+=2) s+=i+1;
printf(“%d\n”,s);
} 程序执行后的输出结果是(D)
A)自然数1~9的累加和
B)自然数1~10的累加和
C)自然数1~9中的奇数之和 D)自然数1~10中的偶数 之和
25、有以下程序 main( ) { int i,n=0; for(i=2;i<5;i++) { do { if(i%3) continue; n++; } while(!i); n++; } printf(“n=%d\n”,n); } 程序执行后的输出结果是(D) A)n=5 B)n=2 C)n=3 D) n=4
全国计算机等级考试二级C语言真题库之选择题
全国计算机等级考试等级考试试题库之选择题〔13〕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【解析】除了堆排序算法的比拟次数是,其他的都是n(n-1)/2。
2012年9月全国计算机2级考试(C语言程序设计)笔试模拟试题及答案
2012年9月全国计算机2级考试(C语言程序设计)笔试模拟试题及答案2012年9月全国计算机等级考试二级笔试模拟试题C语言程序设计(考试时间90分钟,满分100分)一、选择题((1)-(10)、(21)-(40)每题2分,(11)-(20)每题1分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)下列叙述中正确的是()A)栈是“先进先出”的线性表B)队列是“先进后出”的线性表C)循环队列是非线性结构D)有序线性表既可以采用顺序存储结构,也可以采用链式存储结构(2)支持子程序调用的数据结构是()A)栈 B)树 C)队列 D)二叉树(3)某二叉树有5个度为z的结点,则该二叉树中的叶子结点数是()A)10 B)8 C)6 D)4(4)下列排序方法中,最坏情况下比较次数最少的是()A)冒泡排序 B)简单选择排序 C)直接插入排序 D)堆排序(5)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。
下面属于应用软件的是() A)编译程序 B)操作系统 C)教务管理系统 D)汇编程序(6)下面叙述中错误的是()A)软件测试的目的是发现错误并改正错误B)对被调试的程序进行“错误定位”是程序调试的必要步骤C)程序调试通常也称为DebugD)软件测试应严格执行测试计划,排除测试的随意性(7)耦合性和内聚性是对模块独立性度量的两个标准。
下列叙述中正确的是()A)提高耦合性降低内聚性有利他哦高模块的独立性B)降低耦合性提高内聚性有利于提高模块的独立性C)耦合性是指一个模块内部各个元索间彼此结合的紧密程度D)内聚性是指模块间互相连接的紧密程度(8)数据库应用系统中的核心问题是()A)数据库设计 B)数据库系统设计 C)数据库维护 D)数据库管理员培训(9)有两个关系R, S如下:由关系R通过运算得到关系S,则所使用的运算为()A)选择 B)投影 C)插入 D)连接(10)将E-R图转换为关系模式时,实体和联系都可以表示为()A)属性 B)键 C)关系 D)域(11)以下选项中合法的标识符是()A)1_1 B)1-1 C)_11 D)1_ _(12)若函数中有定于语句:int k;,则()A)系统将自动给K赋初值0B)时k中的值无定义C)系统将自动给k赋初值-1D)这时k中无任何值(13)以下选项中,能用作数据常量的是()A)0115 B)0118 C)1.5e1.5 D)115L(14)设有定义:int x=2;,以下表达式中,值不为6的是()A)x*=x+1 B)x++,2*x C)x*=(i+x) D)2*x, x+=2(15)程序段:int x=12; double y=3.141593; printf(“%d%8.6f”, x, y);的输出结果是() A)123.141593 B)12 3.141593 C)12, 3.141593 D)123.1415930(16)若有定义语句:double x, y,*px,*pY; 执行了px=&x; py=&y;之后,正确的输入语句是() A)scarf(“%f%1”,x,y);B)scarf(“%f%f”,&x,&y);C)scarf(“%lf%1e”,px,py);D)scarf(“%lf%lf”,x,y);(17)以下是if语句的基本形式:()if〔表达式)语句其中“表达式”A)必须是逻辑表达式B)必须是关系表达式C)必须是逻辑表达式或关系表达式D)可以是任意合法的表达式(18)有以下程序A)n=0; while((ch=getchar())!='\n’) n++;B)n=0; while(getchar()!='1n‘) n++;C)for( n=0;getchar()!='\n';n++);D)n=0; for( ch=getchar(); ch! ='\n';n++);(23)有以下程序#include <stdio.h>main(){int al,a2;char cl,c2;scanf(“%d%c%d%c”,&a1,&cl,&a2,&c2);printf(“%d, %c. %d, %c”,a1,c1,a2, c2);}若想通过键盘输入,使得a1的值为12,a2的值为34,c1的值为字符a,c2的值为自负b,程序输出的结果是:12,a,34,b 则正确的输入格式是(以下~代表空格,<CR>代表回车)()A)i2a34b<CR>B)12~a~34~b<CR>C)12,a,34,b<CR>D)12~a34~b<CR>(24)有以下程序#include <stdio.h>int f(int x,int y){return((y-x)*x);)main(){int a=3,b=4,c=5,d;d=f(f(a,b),f(a, c));printf(“od\n”,d);}程序运行后的输出结果是()A)10 B)9 C)8 D)7(25)有以下程序#include <stdio.h>void fun (char *s){while(*s){if(*s%2==0)printf(“%c”,*s);s++;}}main(){char a[]=(“good”};fun(a);printf(“\n”);}注意:字母a的ASCII码值为97,程序运行后的输出结果是()A)d B)go C)god D)good(26)有以下程序#include <stdio.h>void fun(int *a,int *b){int *c;c=a;a=b;b=c;}main(){int x=3, y=5,*p=&x, *q=&y;fun (p,q);printf(“%d,%d,”,*P,*q):fun(&X, &y);printf(“%d,%d\n”;*p.*q);}程序运行后的输出结果是()A)3,5.5,3 B)3,5,3,5 C)5,3,3,5 D)5,3,5,3(27)有以下程序#include <stdio.h>void flint *p,int *q);main()int m=l,n=2,*r=&m;f (r, &n);printf(“%d,od”,m, n);}void f(int *p,int *q){p=p+l: *q=*q+1;}程序运行后的输出结果是()A)1,3 B)2,3 C)1,4 D)1,2(28)以卜函数按每行8个输出数组中的数据vold fun( int *w,int n){int i;for(i=0;i<n;i++){_____________printf(“%d”,w[i]);}printf(“\n”);}下划线处应填入的语句是()A)if(i/8==0)printf(“\n”);B)if(i/8==0)continue;C)if(i%8==0)printf(“\n”);D)if(i%8==0)contInue;(29)若有以下定义int x[1O], *pt=x;则对x数组元素的正确引用是()A)*&x[10] B)*(x+3) C)*(pt+10) D)pt+3(30)设有定义:char s[81]; int i=0;,以下不能将一行(不超过80个字符)带有空格的字符串正确读入的语句或语句组是()A)gets(s);B)while((s[i++]=getchar())!='\n’);s[i]= '\0';C)scarf(“%s”,s);D)do{ scarf(“%c”,&s[i]); }while(s[i++]!='\n‘); s[i]='\0';(31)有以下程序#include <stdio.h>nain(){char *a[ ]=(“abed”,“ef”,“gh”,“ijk”}; int I;for(i=0;i<4;i++)printf(“%c”,*a[i]);}程序运行后的输出结果是()A)aegiB)dfhkC)abedD)abcdefghijk(32)以下选项中正确的语句组是()A)char s[]; s=“BOOK!”;B)char * s={“BOOK!”};C)char sf10}; s=“BOOK!”;D)char* s=“BOOK!”;(33)有以下程序#include <stdio.h>int fun(int x,int y){if (x==y) return(x);else return((x+y)/2);main()( int a=4,b=5,c=6;ptintf(“%d\n”, fun (2*a,fun(b,c)));}程序运行后的输出结果是()A)3 B)6 C)8 D)12(34)设函数中有整型变量n,为保证其在未赋初值的情况下初值为0,应选择的存储类别是()A)autoB)registerC)staticD)auto或register(35)有以下程序#include <stdio.h>int b=2.;int fun(int *k){b=*k+b; return (b);}main(){int a〔10],{1,2,3, 4,5,6,7,8),i;for(i=2;i<4;i++)(b=fun(&a[i])+b; printf(“%d”;b);printf(“\n”);}程序运行后的输出结果是()A)10 12 B)8 10 C)10 28 D)10 1b(36)有以下程序#include <stdio.h>#define PT 3 .5;#define S(x) PT*x*x;main(){ int a=1,b=2;printf(“%4 .if\n”, S(a+b));}程序运行后的输出结果是()A)14.0 B)31.5 C)7.5 D)程序有错无输出结果(37)有以下程序#include <stdio.h>struct ord{int x,y;}bt[2]={1,2,3,4};main(){struct ord *p=dt;printf(“%d”,++p->x); printf(“%d\n”,++p->y);}程序的运行结果是()A)1,2 B)2,3 C)3,4 D)4,1(38)设有宏定义:#define IsDIV(k,n)((k%n=I)?1:0)且变量m己正确定义并赋值,则宏调用:IsDIV(m,5)&&IsDIV(m,7)为真时所要表达的是()A)判断m是否能被5或者7整除B)判断m是否能被5和7整除C)判断m被5或者7整除是否余1D)判断m被J和7整除是否都余(39)有以一下程序main(){int a=5,b=1, t;t=(a《2)|b; printf(“%d\n”,t);}程序运行后的输出结果是()A)21 B)11 C)6 D)1(40)有以下程序#include <stdio.h>main(){FILE *f;f=fopen(“filea.txt”,“w”);fprintf(f,“abc”);fclose(f);}若文本文件filea.txt中原有内容为:hello,则运行以上程序后,文件filea.txt中的内容为()A)helloabc B)abclo C)abc D)ahchelln二、填空题(每空2分,共30分)请将每一个空的正确答案写在答题卡【1】至【15】序号的横线上,答在试卷上不得分。
2012内蒙古自治区计算机等级考试试题 二级C试题考试题库
1、在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是(B)A. 可行性分析B. 需求分析C. 详细设计D. 程序编码2、在深度为5的满二叉树中,叶子结点的个数为(C)A. 32B. 31C. 16D. 153、程序流程图(PFD)中的箭头代表的是(B)A. 数据流B. 控制流C. 调用关系D. 组成关系4、将E-R图转换到关系模式时,实体与联系都可以表示成(B)A. 属性B. 关系C. 键D. 域5、在软件开发中,下面任务不属于设计阶段的是(D)A. 数据结构设计B. 给出系统模块结构C. 定义模块算法D. 定义需求并建立系统模型6、对长度为N的线性表进行顺序查找,在最坏情况下所需要的比较次数为(B) 注:要牢记A. N+1B. NC. (N+1)/2D. N/27、关系数据库管理系统能实现的专门关系运算包括(B)A. 排序、索引、统计B. 选择、投影、连接C. 关联、更新、排序D. 显示、打印、制表8、结构化程序设计主要强调的是(B)A.程序的规模B.程序的易读性C.程序的执行效率D.程序的可移植性9、下面不属于软件工程的3个要素的是(D)A. 工具B. 过程C. 方法D. 环境10、结构化程序设计主要强调的是(B)A.程序的规模B.程序的易读性C.程序的执行效率D.程序的可移植性11、下列工具中属于需求分析常用工具的是(D)A. PADB. PFDC. N-SD. DFD12、程序流程图(PFD)中的箭头代表的是(B)A. 数据流B. 控制流C. 调用关系D. 组成关系13、在深度为5的满二叉树中,叶子结点的个数为(C)A. 32B. 31C. 16D. 1514、软件需求分析阶段的工作,可以分为四个方面:需求获取、需求分析、编写需求规格说明书以及(B)A. 阶段性报告B. 需求评审C. 总结D. 都不正确。
2012年3月全国计算机二级C++考试真题及答案
2012年3月全国计算机二级C++考试真题及答案一、选择题(每小题2分,共70分)(1)下列叙述中正确的是 AA)循环队列是队列的一种链式存储结构B)循环队列是一种逻辑结构C)循环队列是队列的一种顺序存储结构D)循环队列是非线性结构(2)下列叙述中正确的是 DA)栈是一种先进先出的线性表 B)队列是一种后进先出的线性表C)栈与队列都是非线性结构D)以上三种说法都不对(3)一棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数为 AA)4 B)16 C)10 D)6(4)在下列模式中,能够给出数据库物理存储结构与物理存取方法的是 BA)逻辑模式B)概念模式C)内模式D)外模式(5)在满足实体完整性约束的条件下 AA)一个关系中可以没有候选关键字B)一个关系中只能有一个候选关键字C)一个关系中必须有多个候选关键字D)一个关系中应该有一个或多个候选关键字(6)有三个关系R、S和T如下: D则由关系R和S得到关系T的操作是A)并B)差C)交D)自然连接(7)软件生命周期的活动中不包括 AA)软件维护B)需求分析C)市场调研D)软件测试(8)下面不属于需求分析阶段任务的是 DA)确定软件系统的性能需求B)确定软件系统的功能需求C)制定软件集成测试计划D)需求规格说明书评审(9)在黑盒测试方法中,设计测试用例的主要根据是 DA)程序外部功能B)程序数据结构C)程序流程图D)程序内部结构(10)在软件设计中不使用的工具是 AA)系统结构图B)程序流程图 C)PAD图D)数据流图(DFD图)(11)若一个函数的原型为"int * Xfun1(int x,int& y,char z);",则该函数的返回值类型为BA)int *B)intC)int& D)char(12)若AA为一个类,a为该类的私有整型数据成员,getA()为该类的一个非静态公有成员函数,功能是返回a的值。
2012年9月全国计算机等级考试二级C语言笔试试题和答案-------2013
29 1)main(){char a[10]="abcde",b[]="fgh";int i=0;strcpy(a+1,b+2);printf("%s",a);}请详细解释一下”strcpy(a+1,b+2)”这句语句2)main(){char s[][10]={"a","good",world"};strcat(s[0],s[1]);printf("%s",s[0]);}请详细解释一下”strcat(s[0],s[1])”这句语句strcpy()是字符串复制函数。
连字符串的结束标志…\0‟一同复制。
对于strcpy(a+1,b+2);中的b+2则是数组里的“h\0”的首地址。
a+1则是数组里的“bcde”的首地址。
即此函数的意义是:把“h\0”复制到“bcde”的位置。
字符串遇到…\0‟结束即结果是:ah。
对于strcat(s[0],s[1]);中的二为数组可以看成是多个一维数组组成的。
所以s[0]代表的是“a”的首地址,s[1]代表的是“good”的首地址。
这是字符串连接函数。
即把good 放到了a的后面。
结果是:agood。
二级C语言程序设计答案及详解一、选择题(11)B)【解析】每一个C 语言的文件或函数都可以单独编译,但只有main 函数的才可以执行。
(12)A)【解析】预定义标识符是C语言中的标识符,在C语言中也有特定的含义,如函数printf、scanf、sin 等和编译预处理命令名(如define 和include)。
预定义标识符可以作为用户标识符使用,只是这样会失去系统规定的原义。
(13)B)【解析】0xab 是十六进制表示的常量。
(14)A)【解析】C语言用函数实现软件的模块化设计。
(15)C)【解析】C语言中,常常用一个标识符来代表一个常量,称为符号常量。
2012年9月 全国计算机等级考试 二级C语言 笔试试卷、答案及解析
2012年9月22日网上发布的全国计算机等级考试二级C语言笔试答案一、选择题:(1)C、(2)B、(3)B、(4)D、(5)A(6)C、(7)C、(8)B、(9)A、(10)A(11)B、(12)A、(13)B、(14)A、(15)C(16)C、(17)C、(18)B、(19)D、(20)D(21)B、(22)D、(23)D、(24)B、(25)D(26)C、(27)A、(28)B、(29)C、(30)A(31)C、(32)A、(33)B、(34)A、(35)D(36)D、(37)B、(38)A、(39)B、(40)D二、填空题【1】6【2】20【3】逻辑独立【4】选择【5】系统软件【6】a>b【7】%lf%f【8】224【9】16【10】4321【11】7【12】22【13】2【14】6【15】p=p->next2012年9月22日评阅者注释的全国计算机等级考试二级C语言笔试答案一、选择题:(1)C、(2)B、(3)B、(4)D、(5)A(6)C、(7)C、(8)B、(9)A、(10)A(11)B、(12)A、(13)B、(14)A、(15)C(16)C、(17)C、(18)B、(19)D、(20)D(21)B?、(22)D、(23)D、(24)B、(25)D(26)C?、(27)A、(28)B、(29)C、(30)A(31)C、(32)A、(33)B、(34)A、(35)D(36)D、(37)B、(38)A、(39)B、(40)D二、填空题【1】6【2】20【3】逻辑独立性【4】选择【5】系统软件【6】a>b【7】%lf%f【8】224【9】16【10】4321【11】7【12】22【13】2【14】6【15】p=p->next2012年9月全国计算机等级考试二级笔试试卷C语言程序设计(考试时间90分钟,满分100分)一、选择题(⑴-(10)、(21)-(40)每题2分,(11)-(20)每题1分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、下列模式中,能够给出数据库物理存储结构与物理存取方法的是(A)
A. 内模式
B. 外模式
C. 概念模式
D. 逻辑模式
2、在结构化方法中,软件功能分解属于下列软件开发中的阶段是(C) 注:总体设计也就是概要设计
A. 详细设计
B. 需求分析
C. 总体设计
D. 编程调试
3、索引属于(B)
A. 模式
B. 内模式
C. 外模式
D. 概念模式
4、数据的存储结构是指(B)
A. 数据所占的存储空间量
B. 数据的逻辑结构在计算机中的表示
C.数据在计算机中的顺序存储方式
D. 存储在外存中的数据
5、对建立良好的程序设计风格,下面描述正确的是(A)
A. 程序应简单、清晰、可读性好
B. 符号名的命名要符合语法
C. 充分考虑程序的执行效率
D. 程序的注释可有可无
6、对建立良好的程序设计风格,下面描述正确的是(A)
A. 程序应简单、清晰、可读性好
B. 符号名的命名要符合语法
C. 充分考虑程序的执行效率
D. 程序的注释可有可无
7、在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。
其中数据独立性最高的阶段是(A)
A. 数据库系统
B. 文件系统
C. 人工管理
D. 数据项管理
8、在结构化方法中,软件功能分解属于下列软件开发中的阶段是(C) 注:总体设计也就是概要设计
A. 详细设计
B. 需求分析
C. 总体设计
D. 编程调试
9、下列工具中属于需求分析常用工具的是(D)
A. PAD
B. PFD
C. N-S
D. DFD
10、在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是(B)
A. 可行性分析
B. 需求分析
C. 详细设计
D. 程序编码
11、在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是(B)
A. 可行性分析
B. 需求分析
C. 详细设计
D. 程序编码
12、软件需求分析阶段的工作,可以分为四个方面:需求获取、需求分析、编写需求规格说明书以及(B)
A. 阶段性报告
B. 需求评审
C. 总结
D. 都不正确
13、数据库设计包括两个方面的设计内容,它们是(A)
A. 概念设计和逻辑设计
B. 模式设计和内模式设计
C. 内模式设计和物理设计
D. 结构特性设计和行为特性设计
14、索引属于(B)
A. 模式
B. 内模式
C. 外模式
D. 概念模式
15、在下列选项中,哪个不是一个算法一般应该具有的基本特征(C)
A. 确定性
B. 可行性
C. 无穷性
D. 拥有足够的情报
16、在关系数据库中,用来表示实体之间联系的是(D)
A. 树结构
B. 网结构
C. 线性表
D. 二维表
17、算法一般都可以用哪几种控制结构组合而成(D)
A. 循环、分支、递归
B. 顺序、循环、嵌套
C. 循环、递归、选择
D. 顺序、选择、循环
18、软件需求分析阶段的工作,可以分为四个方面:需求获取、需求分析、编写需求规格说明书以及(B)
A. 阶段性报告
B. 需求评审
C. 总结
D. 都不正确
19、在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是(B)
A. 可行性分析
B. 需求分析
C. 详细设计
D. 程序编码
20、程序流程图(PFD)中的箭头代表的是(B)
A. 数据流
B. 控制流
C. 调用关系
D. 组成关系
21、在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是(B)
A. 可行性分析
B. 需求分析
C. 详细设计
D. 程序编码
22、在关系数据库中,用来表示实体之间联系的是(D)
A. 树结构
B. 网结构
C. 线性表
D. 二维表
23、数据库系统的核心是(B)
A. 数据模型
B. 数据库管理系统
C. 软件工具
D. 数据库
24、对长度为N的线性表进行顺序查找,在最坏情况下所需要的比较次数为(B) 注:要牢记
A. N+1
B. N
C. (N+1)/2
D. N/2
25、面向对象的设计方法与传统的的面向过程的方法有本质不同,它的基本原理是(C)
A. 模拟现实世界中不同事物之间的联系
B. 强调模拟现实世界中的算法而不强调概念
C. 使用现实世界的概念抽象地思考问题从而自然地解决问题
D. 鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考
26、下面概念中,不属于面向对象方法的是 (D)
A. 对象
B. 继承
C. 类
D. 过程调用
27、在一棵二叉树上第5层的结点数最多是(B) 注:由公式2(k-1)得
A. 8
B. 16
C. 32
D. 15
28、程序流程图(PFD)中的箭头代表的是(B)
A. 数据流
B. 控制流
C. 调用关系
D. 组成关系
29、下列工具中属于需求分析常用工具的是(D)
A. PAD
B. PFD
C. N-S
D. DFD
30、在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送(D)
A. 调用语句
B. 命令
C. 口令
D. 消息
31、下列模式中,能够给出数据库物理存储结构与物理存取方法的是(A)
A. 内模式
B. 外模式
C. 概念模式
D. 逻辑模式
32、按条件f对关系R进行选择,其关系代数表达式为(C)
A. R|X|R
B. R|X|Rf
C. бf(R)
D. ∏f(R)
33、程序流程图(PFD)中的箭头代表的是(B)
A. 数据流
B. 控制流
C. 调用关系
D. 组成关系
34、在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送(D)
A. 调用语句
B. 命令
C. 口令
D. 消息
35、下面对对象概念描述错误的是(A)
A. 任何对象都必须有继承性
B. 对象是属性和方法的封装体
C. 对象间的通讯靠消息传递
D. 操作是对象的动态性属性
36、在关系数据库中,用来表示实体之间联系的是(D)
A. 树结构
B. 网结构
C. 线性表
D. 二维表
37、下面描述中,符合结构化程序设计风格的是(A)
A. 使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑
B. 模块只有一个入口,可以有多个出口
C. 注重提高程序的执行效率
D. 不使用goto语句
38、对建立良好的程序设计风格,下面描述正确的是(A)
A. 程序应简单、清晰、可读性好
B.符号名的命名要符合语法
C. 充分考虑程序的执行效率
D. 程序的注释可有可无。