C期末模拟试题及答案2010

合集下载

C语言程序设计 海滨学院期末考试试卷(2010-2011 第二学期)(B)

C语言程序设计 海滨学院期末考试试卷(2010-2011 第二学期)(B)

北京交通大学海滨学院考试试题(B 卷)课程名称:C语言程序设计 2010-2011学年第二学期出题教师:计算机教学组专业:班级:姓名:学号:答题说明:本试卷共有六道大题,要求所有解答均写在答题卡上,否则无效。

上交试卷时按照发试卷时候的顺序整理试卷,平铺展开上交。

一、选择题(本题共30道题目,每题1分,共30分)1.以下叙述中正确的是()。

A)C语言比其他语言高级。

B)C语言可以不用编译就能被计算机识别执行。

C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式。

D)C语言出现的最晚,具有其他语言的一切优点。

2.算法是为解决某特定问题而采取的确定且有限的步骤,下面不属于算法的五个特性的是()。

A)有零个输入或多个输入 B)高效性C)有穷性 D)确定性3.表达式3.6-5/2+1.2+5%2的值是()。

A)4.3 B) 4.8 C) 3.3 D) 3.84.C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符()。

A)必须为字母 B)必须为下划线C)必须为字母或下划线 D)可以是字母,数字和下划线中任一字符5.下列数据中,不合法的C语言实型数据的是()。

A)0.123 B)123e3 C)2.1e3.5 D)789.06.若有说明语句:char c='\72';则变量c()。

A)包含1个字符 B)包含2个字符C)包含3个字符 D)说明不合法,c的值不确定7.若有定义:int a=7;float x=2.5,y=4.7; 则表达式x+a%3*(int)(x+y)%2/4的值是()。

A)2.500000 B)2.750000C)3.500000 D)0.0000008.下列可用于C语言用户标识符的一组是()。

A)void, define, WORD B)a3_b3, _123,CarC)For, -abc, IF Case D)2a, DO, sizeof9.以下不正确的叙述是()。

c语言期末模拟考试题及答案

c语言期末模拟考试题及答案

C语言期末模拟考试题及答案29、若在程序中用到“strlenO”函数时,应在程序开头写上(D)0 (1分)A、#include<math. h> B、#include<stdio. h>C、#include<stdlib. h>D、#include<string. h>30、若有int f (int a, int b);,则说明函数(1 分)A、是一个内部函数B、是一个外部函数f( B )oC、只能在本文件中使用D、不能被同一源程序其他本文件中的函数调用31、声明一个函数为外部函数,应该在声明函数的函数类型的前面加(C)。

(1分)A、autoB、staticC、externD、register32、若有int a=3, *pa; float f=4. 5, *pf;,则下列表述中,错误的是(B )。

(1分) A、pa=&a B、pa=&f C、pf=&f D、*pf=a+f 33、设char s[10]; int i=5;,下列表达式中,正确的表达式是(B )。

(1分)A、 s[i+6] B、*(s+i)C、*(&s+i)D、*((s++)+i 34、若有int a[10], *p=a;,则(C)。

(1 分) A、p++可以使p指向下一个字节B、p+=2相当于p=sizeof(a)/10C、p++可以使p指向下一个元素,即a[l]的首地址D、p+=2可以使p 指向下一个元素,即a[l] 的首地址35设有语句:inta[10] = {0,1, 2, 3, 4, 5, 6, 7, 8, 9}, i, *p=a;,下列表达式中,对a数组元素引用错误的是(D )o (1分)A、p[i]B、aEp-a]C、*(&a[i])D、*(*a (a+i))36、在C语句中,&后跟指针变量名,表示该指针变量的((C)。

(1分)A、值B、别名C、地址D、类型37、若程序中包含有以下说明和定义:struct ex{ int x, y;}… struct ex, x, y; … ,则在计算机上调试时,(A )。

2010计算机二级C 模拟考及答案

2010计算机二级C  模拟考及答案

2010计算机二级c++模拟考及答案笔试部分一、选择题1.算法的空间复杂度是指A)算法程序的长度B)算法程序中的指令条数C)算法程序所占的存储空间D)执行过程中所需要的存储空间【参考答案】D2.用链表表示线性表的优点是A)便于随机存取B)花费的存储空间较顺序存储少C)便于插入和删除操作D)数据元素的物理顺序与逻辑顺序相同【参考答案】C3.数据结构中,与所使用的计算机无关的是数据的A)存储结构B)物理结构C)逻辑结构D)物理和存储结构【参考答案】C4.结构化程序设计主要强调的是A)程序的规模B)程序的效率C)程序设计语言的先进性D)程序易读性【参考答案】D5.软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指A)模块间的关系B)系统结构部件转换成软件的过程描述C)软件层次结构D)软件开发过程【参考答案】B6.检查软件产品是否符合需求定义的过程称为A)确认测试B)集成测试C)验证测试D)验收测试【参考答案】A7.数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。

下列图符名标识的图符不属于数据流图合法图符的是A)控制流B)加工C)数据存储D)源和潭【参考答案】A8.应用数据库的主要目的是A)解决数据保密问题B)解决数据完整性问题C)解决数据共享问题D)解决数据量大的问题【参考答案】C9.在数据库设计中,将E-R图转换成关系数据模型的过程属于A)需求分析阶段B)逻辑设计阶段C)概念设计阶段D)物理设计阶段【参考答案】B10.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。

其中数据独立性最高的阶段是A)数据库系统B)文件系统C)人工管理D)数据项管理【参考答案】A11.下面关于C++语言的描述错误的是A)C++语言支持数据封装B)C++语言中引入友元没有破坏封装性C)C++语言允许函数名和运算符重载D)C++语言支持动态联编【参考答案】B12.设有定义int a=1;float f=12;char c=′a′;,则下列表示错误的是A)++a;B)f--;C)c++;D)8++;【参考答案】D13.下列程序的运行结果为#includevoid main(){int a=2;int b=a+1;cout《A)0.66667B)0C)0.7D)0.66666666【参考答案】B14.设int a=1,b=2;,则(a++)+b和a+++b这两个表达式的值分别为A)3,3B)3,4C)4,3D)4,4【参考答案】A15.下面程序的运行结果为#includevoid main(){char a=′3′;switch(a){case′3′:cout《《“3”;case′2′:cout《《“2”;break;default:cout《《“1”;}}A)3B)321C)31D)32【参考答案】D16.有如下数组声明:int num[10];,下标值引用错误的是A)num[10]B)num[5]C)num[3]D)num[0]【参考答案】A17.存在定义int a[10],x,*pa;,若pa=&a[0],下列的哪个选项和其他3个选项不是等价的?A)x=*pa;B)x=*(a+1);C)x=*(pa+1);D)x=a[1];【参考答案】A18.下面程序的运行结果为#includevoid swap(int&a,int b){int temp;temp=a++;a=b;b=temp;}void main(){int a=2,b=3;swap(a,b);cout《A)2,3B)3,2C)2,2D)3,3【参考答案】D19.一个函数功能不太复杂但要求被频繁调用,应选用A)内联函数B)重载函数C)递归函数D)嵌套函数【参考答案】A20.下面关于C++语言变量的叙述错误的是A)C++语言中变量分为auto,static,extern和register四种存储类型B)自动变量和外部变量的作用域为整个程序C)内部静态变量的作用域是定义它的函数D)外部静态变量的作用域是定义它的文件【参考答案】B21.为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该成员的访问权限定义为A)public B)protected C)private D)static【参考答案】A22.在C++语言程序中,对象之间的相互通信通过A)继承实现B)调用成员函数实现C)封装实现D)函数重载实现【参考答案】B23.类的析构函数是在什么时候调用的?A)类创建时B)创建对象时C)删除对象时D)不自动调用【参考答案】C24.通常拷贝构造函数的参数是A)某个对象名B)某个对象的成员名C)某个对象的引用名D)某个对象的指针名【参考答案】C25.下面程序的运行结果为#includeclass A{static int n;public:A(){n=1;}A(int num){n=num;}void print(){cout《int A::n=2;void main(){A a,b(3);a.print();b.print();cout《A)11B)13C)23D)33【参考答案】D26.下列不是描述类的成员函数的是A)构造函数B)析构函数C)友元函数D)拷贝构造函数【参考答案】C27.继承机制的作用是A)信息隐藏B)数据封装C)定义新类D)数据抽象【参考答案】C28.C++语言类体系中,不能被派生类继承的有A)转换函数B)构造函数C)虚函数D)静态成员函数【参考答案】B29.下面程序的运行结果是#includeclass base{protected:int a;public:base(){cout《《“0”;}};class base1:virtual base{public:base1(){cout《《“1”;}};class base2:virtual base{public:base2(){cout《《“2”;}};class derived:public base1,public base2{public:derived(){cout《《“3”;}};void main(){derived obj;cout《A)0123B)3120C)0312D)3012【参考答案】A30.对于类定义class A{public:virtual void func1(){}void func2(){}};class B:public A{public:void func1(){cout《《″class B func1″《virtual void func2(){cout《《″class B func2″《下面正确的叙述是A)A::func2()和B::func1()都是虚函数B)A::func2()和B::func1()都不是虚函数C)B::func1()是虚函数,而A::func2()不是虚函数D)B::func1()不是虚函数,而A::func2()是虚函数【参考答案】C31.下面关于运算符重载的描述错误的是A)运算符重载不能改变操作数的个数、运算符的优先级、运算符的结合性和运算符的语法结构B)不是所有的运算符都可以进行重载C)运算符函数的调用必须使用关键字operatorD)在C++语言中不可通过运算符重载创造出新的运算符【参考答案】C32.与语句cout《A)cout《《′\n′;B)cout《《′\12′;C)cout《《′\xA′;D)cout《《′\0′;【参考答案】D33.下面程序的运行结果是#includeint fun(int a[],int n){int result=1;for(int i=1;iresult=result*a[i];return result;}void main(){int a[3]={3,4,5};cout《A)12B)15C)20D)60【参考答案】C34.下面程序的运行结果是#includevoid main(){int i=1;while(i《=8)if(++i%3!=2)continue;else cout《A)25B)36C)258D)369【参考答案】C35.下列程序的运行结果为#includetemplateclass FF{TT a1,a2,a3;public:FF(TT b1,TT b2,TT b3){a1=b1;a2=b2;a3=b3;} TT Sum(){return a1+a2+a3;}};void main(){FF x(int(1.1),2,3),y(int(4.2),5,6);cout《A)6.115.2B)615C)615.2D)6.115【参考答案】B二、填空题(1)数据的逻辑结构有线性结构和【1】两大类。

2010程序设计期末试卷答案

2010程序设计期末试卷答案
【1】c!=’\n’
【2】_c>=’0’&&c<=’9’__
【3】j=1
【4】k>=0&&k<=6
【5】5
【6】6
【7】n==1
【8】(2*n-1)*x-p(n-1,x)
本题得分
五、编程题〖第1题5分,第2题9分,共计14分〗
1.将以下程序段改用嵌套的if语句实现。
int s,t,m;
t=(int)(s/10);
2.写一个函数,用“起泡法”对输入的10个整数按由小到大的顺序排列。
void main()
{
void sort(int b[10]);
int i,a[10];//正确的数组变量定义1分
for(i=0;i<10;i++)//正确的输入循环控制1分
scanf("%d",&a[i]);//正确的输入1分
sort(a);
for(i=0;i<10;i++)
printf("%d",a[i]);
}
void sort(b[10])
{
int i,j;
for(j=0;j<9;j++)//正确的冒泡法外循环控制1分
for(i=0;i<9-j;i++)//正确的冒泡法内循环控制1分
if(b[i]>b[i+1])//正确的比较1分
{
t=b[i];//正确的赋值1分
b[i]=b[i+1];//正确的赋值1分
b[i+1]=t;//正确的赋值1分
}
}
else if(s<70) m=1; //正确的条件以及赋值0.5分

计算机等级考试vc++2010秋_附答案

计算机等级考试vc++2010秋_附答案

2010 秋江苏省二级C++ 考试真题绝密★启用前2010 年秋江苏省高等学校非计算机专业学生计算机基础知识和应用能力等级考试二级试卷试卷语种:C++ 语言说明:1.本试卷包括计算机基础知识部分和程序设计部分,考试时间共12 0 分钟;2.本试卷满分为60分,分选择题和填空题,试卷不分A、B 类型;3.计算机基础知识部分全部是选择题(20 分),程序设计部分分为选择题(1 0 分) 和填空题(30 分) 两种;4.选择题用答题卡答题。

每一项有A、B、C、D 四个可供选择的答案,请选择其中一个你认为正确的答案,用HB 铅笔涂写在答题卡的相应答题号内。

每选对一项得 1 分,不选或选错不得分;5.填空题用答题纸答题。

请将答案用蓝、黑色钢笔或圆珠笔填写在答题纸的相应答题号内,每个答案只占一行,不得换行。

每填对一个答案得 1 分,不填或填错不得分;6.请认真填写并仔细核对答题卡和答题纸上的学校名称、准考证号和姓名是否填写正确。

7.考试结束时将试卷、答题卡和答题纸放在桌上,不得带走。

待监考人员收毕清点后,方可离场。

第一部分计算机基础知识1.微电子技术是信息技术领域中的关键技术,它以集成电路为核心.下列有关集成电路的叙述中,错误的是___(1)___A.现代集成电路使用的半导体材料只能是硅(Si),不能使用其它任何半导体材料B.集成度是指集成电路包含的电子元件数目,可分为SSI、MSI 、VLSI 等C.Moore 定律指出,单块集成电路的集成度平均18--24 个月翻一番D.我国第二代身份证中嵌入了集成电路芯片,可以实现电子防伪和数字管理功能2.数据传输速率是数据通信中重要的性能指标。

Gb/s 是数据传输速率的计量单位之一其正确含义是___(2)___ 。

A.每秒兆位B.每秒千兆位C.每秒百兆位D.每秒百万位3.所谓"变号操作"是指将一个整数变成绝对值相同但符号相反的另一个整数。

假设使用补码表示的8 位整数x=10010101, 则经过变号操作后结果为___(3)___.A.01101010B.00010101C.11101010D.011010114.下列有关PC 机主板的叙述中,错误的是___(4)___ 。

2010信息工程学院C语言2期末试卷(A)

2010信息工程学院C语言2期末试卷(A)

杭州电子科技大学信息工程学院考试试卷(A)卷考试课程计算机应用基础与程序设计(C语言)2考试日期2010年6月日成绩课程号教师号任课教师姓名考生姓名学号年级专业说明: 请将全部答案都书写在第5页答题纸上,否则答题无效。

试题一、判断题 (共10分) (用‘√’或‘×’标注对错)1.main函数必须写在一个C程序的最前面。

×2.定义函数时,可以有返回值,也可以无返回值。

√3.在调用函数时,实参传值给形参,调用结束时,形参值传给实参。

×4.a是一维数组名,数组元素a[1]还可以写作“*a++”。

×5.若有定义“int a[3][4];”,则在数组元素a[2][2]前有10个元素。

√6.有定义语句“char str1[ ]="Hello",str2[ ]={'W','o','r','l','d'};”,则数组str1和str2都有5个元素。

×7.有数组定义int a[3][3]={{1},{2,3}};,则a[2][2]的值为0。

√8.已知宏定义 #define S(a,b) a-b,执行语句 printf("%d",SQ(5+6,3+4));后的输出结果是4×。

9.设有说明struct stud { char num[8];char name[10];int score[4];};,stud只是一个类型名,系统没有为它分配存储空间。

√10.若有定义:char ch,*p=&ch;,通过指针p给变量ch读入字符的scanf函数调用语句是scanf(“%c”,p);√试题二、单选题,根据题目从A、B、C、D中,选择一个正确的选项(共30分)1.C语言程序中,当调用函数时( A )。

A. 实参和形参各占一个独立的存储单元B. 实参和形参可以共用存储单元C. 可以由用户指定是否共用存储单元D. 由计算机系统自动确定是否共用存储单元2.在C程序中,若对函数类型未加说明,则函数的隐含类型为( A )。

2010C 等级考试(答案)

2010C  等级考试(答案)

一、选择题(每小题2分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。

请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。

(11)下列关于函数的描述中,错误的是DA)函数可以没有返回值B)函数可以没有参数C)函数可以是一个类的成员D)函数不能被定义为模板(12)若MyClass是一个类名,且有如下语句序列BMyClass c1,*c2;MyClass*c3=new MyClass;MyClass&c4=c1;上面的语句序列所定义的类对象的个数是A)1B)2C)3D)4(13)下列关于继承方式的描述中,错误的是DA)如果不显式地指定继承方式,缺省的继承方式是私有(private)B)采用公有继承方式时,基类中的公有成员在派生类中仍然是公有成员C)采用保护继承方式时,基类中的保护成员在派生类中仍然是保护成员D)采用私有继承方式时,基类中的私有成员在派生类中仍然是私有成员(14)将前缀运算符“--”重载为非成员函数,下列原型中,能正确用于类中说明的是CA)Decr&operator--(int);B)Decr operator--(Decr&,int);C)friend Decr&operator--(Decr&);D)frlend Decr operator--(Decr&,int);(15)若MyTemp是一个只有一个虚拟类型参数的类模板,且有如下语句序列MyTemp p2;MyTemp p3[2];编译系统在处理上面的语句序列时,所生成的模板MyTemp的实例的个数是CA)1B)2C)3D)0(16)在C++中,cin是个BA)类B)对象C)模板D)函数(17)在下列字符中,不允许作为C++标识符的是DA)b B)B C)_D)2(18)下列叙述中,错误的是BA)false是一个逻辑型常量B)"b"是一个字符型常量C)365是一个int常量D)3.1415926是一个double常量(19)若x和y是程序中的两个整型变量,则下列if语句中正确的是AA)if(x==0)y=1;else y=2;B)if(x==0)then y=1else y=2;C)if(x==0)y=1else y=2;D)if x==0y=1;else y=2;(20)要定义整型数组x,使之包括初值为0的三个元素,下列语句中错误的是BA)int x[3]={0,0,0};B)int x[]={0};C)static int x[3]={0};D)int x[]={0,0,0};(21)关于函数中的<返回类型>,下列表述中错误的是DA)<返回类型>中有可能包含关键字intB)<返回类型>中有可能包含自定义标识符C)<返回类型>中有可能包含字符*D)<返回类型>中可能包含[](22)要定义一个引用变量p,使之引用类MyClass的一个对象,正确的定义语句是DA)MyClass p=MyClass;B)MyClass p=new MyClass;C)MyClass&p=new MyClass;D)MyClass a,&p=a;(23)有如下两个类定义class XX{private:double x1;protected:double x2;public:double x3;};class YY:protected XX{private:double y1;protected:double y2;public:double y3;};在类YY中保护成员变量的个数是CA)1B)2C)3D)4(24)下列关于运算符重载的描述中,错误的是AA)可以通过运算符重载在C++中创建新的运算符B)赋值运算符只能重载为成员函数C)运算符函数重载为类的成员函数时,第一操作数是该类对象D)重载类型转换运算符时不需要声明返回类型(25)下列关于类模板的描述中,错误的是DA)类模板的成员函数都是模板函数B)可以为类模板参数设置默认值C)类模板描述了一组类D)类模板中只允许有一个类型参数(26)下列控制格式输入输出的操作符中,能够设置浮点数精度的是AA)setprecisionB)setwC)setfillD)showpoint(27)下列程序段中包含4个函数,其中具有隐含this指针的是Bint fun1();class Test{public:int fun2();friend int fun3();static int fun4();};A)fun1B)fun2C)fun3D)fun4(28)有如下程序#include<iostream>using namespace std;class Test{public:Test(){}Test(const Test&t){cout<<1;}};Test fun(Test&u){Test t=u;return t;} int main(){Test x,y;x=fun(y);return0;}运行这个程序的输出结果是CA)无输出B)1C)11D)111(29)有如下程序#include<iostream>using namespace std;class A{public:A(int i=0):r1(i){}void print(){cout<<'E’<<r1<<’-‘;}void print()const{cout<<'C'<<r1*r1<<’-‘;} void print(int x){cout<<'P'<<r1*r1*r1<<’-‘;} private:int r1;};int main(){A a1;const A a2(4);a1.print(2);a2.print();return0;}运行时的输出结果是DA)P8-E4B)P8-C16-C)P0-E4-(30)下列代码声明了3个类class Person{};class Student:public Person{};class Undergraduate:Student{};下列关于这些类之间关系的描述中,错误的是BA)类Person是类Undergraduate的基类B)类Undergraduate从类Student公有继承C)类Student是类Person的派生类D)类Undergraduate是类Person的派生类(31)有如下程序#include<iostream>using namespace std;Class Base{public:Base(int x=0):valB(x){cout<<valB;}~Base(){cout<<valB;}private:int valB;};class Derived:public Base{public:Derived(int x=0,int y=0):Base(x),valD(y){cout<<valD;} ~Derived(){cout<<valD;}int valD;};int main(){Derived obj12(2,3);retuen0;}运行时的输出结果是AA)2332B)2323C)3232D)3223(32)下面是类Shape的定义:class Shape{public:virtual void Draw()=0;};下列关于Shape类的描述中,正确的是BA)类Shape是虚基类B)类Shape是抽象类看课本267页C)类Shape中的Draw函数声明有误D)语句“Shape s;”能够建立Shape的一个对象s(33)将运算符“+”重载为非成员函数,下列原型声明中,错误的是CA)MyClock operator+(MyClock,long);B)MyClock operator+(MyClock,MyClock);C)MyClock operator+(long,long);D)MyClock operator+(long,MyClock);(34)打开文件时可单独或组合使用下列文件打开模式①ios_base::app②ios_base::binary③ios_base::in④ios_base::out若要以二进制读方式打开一个文件,需使用的文件打开模式为CA)①③B)①④C)②③D)②④(35)有如下程序:#include<iostream>using namespace std;class B{public:B(int xx):x(xx){++count;x+=10;}virtual void show()const{cout<<count<<’_‘<<x<<endl;}protected:static int count;private:int x;};class D:public B{public:D(int xx,int yy):B(xx),y(yy){++count;y+=100;}virtual void show()const{cout<<count<<’-‘<<y<<endl;}private:int y;};int B::count=0;int main(){B*ptr=new D(10,20);ptr->show();delete ptr;return0;}运行时的输出结果是BA)1_120B)2_120C)1_20D)2_20二、填空题(每空2分,共30分)请将每一个空的正确答案写在答题卡【l】~【15】序号的横线上,答在试卷上不得分。

2010C程序设计期末试卷

2010C程序设计期末试卷

2010C程序设计期末试卷B、若变量已正确定义,表达式x + y = z是⼀个合法的赋值表达式。

C、do-while语句先执⾏循环体,后判断循环条件,所以循环体⾄少会执⾏⼀次。

D、不同类型的变量在内存中占⽤存储空间的⼤⼩不⼀样。

16. char *s[ ]={"first","second","third"};printf("%s,%s,%c\n", s[0], s[1]+1,*s[2]);A、f irst,second,*thirdB、first, econd+1,*thirdC、first, econd, *tD、first, econd, t试题⼆、按题⽬的意思,写出正确的内容。

(共12分)1.C程序中的“真”和“假”是如何表⽰?2.读程序,回答问题#include#define MAX 7void main( ){ int i,a[MAX]={5,8,-7,5,3,0,7},c;for(i=0;i{ c=a[i]; /* 第8⾏*/a[i]=a[MAX-i-1];a[MAX-i-1]=c; /* 第10⾏*/}for(i=0;i}问题1.程序运⾏后的输出结果为是:。

问题2.将for循环中的i问题3.删除第8⾏,将第10⾏a[MAX-i-1]=c改为a[MAX-i-1]=a[i],for循环中仍然是i3.定义⼀个可以表⽰⽇期(年、⽉、⽇)的结构体数据类型date,并⽤该类型定义⼀个变量z同时为变量初始化,初始化年、⽉、⽇的值分别2007、6、28。

4.写出调⽤函数g(4)的输出结果。

return n;else return g(n-2)+g(n-1);}试题三、读程序写出程序执⾏结果(共24分)1. 阅读下列程序,并写出程序执⾏结果。

#includeint f(int m, int n){ int c= 0;for( ; m != 0 ; m=m/10 ){if(m%10 == n) c++;}return c;}void main( ){printf("%d#", f(30303, 0));printf("%d#", f(21212, 3));}2.阅读下列程序,并写程序执⾏结果。

南京信息工程大学2009-2010(1)C语言期末考试试卷A(后附答案)

南京信息工程大学2009-2010(1)C语言期末考试试卷A(后附答案)

南京信息工程大学试卷2009 - 2010 学年第 1学期程序设计基础/C语言程序设计课程试卷( A 卷) 本试卷共 9 页;考试时间 120分钟;任课教师;出卷时间 2010 年 1月学院专业2009 年级班学号姓名得分一、单项选择题 (每小题 1分,共 12分)1.一个C程序的执行是从A.本程序的main函数开始,到main函数结束B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C.本程序的main函数开始,到本程序文件的最后一个函数结束D.本程序文件的第一个函数开始,到本程序main函数结束2.下面四个选项中,均是不合法的用户标识符的选项的是A. A p_o doB. float lao _AC. b-a while intD. _123 temp INT3.表达式18/4*sqrt(4.0)/8值的数据类型为A.floatB. charC.doubleD.不确定4.设有如下定义struct ss{ char name[10];int age;char sex;}std[3],*p=std;下面各输入语句中错误的是。

A.scanf("%d",&(*p).age); B.scanf("%s",&);C.scanf("%c",&std[0].sex); D.scanf("%c",&(p->sex));5.有如下定义:int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23},(*p)[4];下面表示正确的是A.p=a[0]; B.p=*a;C.p=&a[0][0]; D.p=a;6.能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是。

A.(x>=1) && (x<=10) && (x>=200) && (x<=210)B.(x>=1) | | (x<=10) | | (x>=200) | | (x<=210)C.(x>=1) && (x<=10) | | (x>=200) && (x<=210)D.(x>=1) | | (x<=10) && (x>=200) | | (x<=210)7.以下程序段的循环次数是。

C模拟考试题及参考答案(10级)

C模拟考试题及参考答案(10级)

C语言程序设计模拟试题(10级)一、单选题(、共30小题,每小题1分,共30分)1、有如下定义:struct date{int year,month,day;};struct person{char name[20];char sex;struct date birthday;} a;对结构体变量a的出生年份赋值时,下面正确的赋值语句是:()。

A. a.year=2010;B. birthday.year=2010;C. a.birthday.year=2010;D. year=2010;2、若定义了struct num{int a;int b;}d[3] ={{1,4},{2,5},{6,7}};则执行printf("%d\n",d[2].a* d[2].b/d[1].b);语句的输出结果是:()。

A.2B.2.5C.8D.8.43、以下程序的运行结果是:()。

void main(void){struct num{int x;int y;}cnum[2]={1,3,2,6};printf("%d\n",cnum[0].y/cnum[0].x*cnum[1].y);}A. 18B. 12C. 6D. 14、在VC++6.0中,若有以下说明:struct st{ int x;float y;};则:sizeof(struct st) 的值为():A. 6B. 8C. 10D. 125、若变量x和y均为整型,且x=y=1,则表达式y+=x+1的值为( )。

A. 3B. 2C. 1D.无正确结果6、表示关系x<=y<=z的c语言表达式为( )。

A. (X<=Y<=Z)B. (X<=Y)AND(Y<=Z)C. (X<=Y)&&(Y<=Z)D. (X<=Y)&(Y<=Z)7、x为int型变量,执行以下语句后,x的值为( )。

C语言程序设计期末测试题及答案(5套)

C语言程序设计期末测试题及答案(5套)

大学题库C语言程序设计期末模拟测试题及答案 2010年11月目 录期末模拟考试题(一) (3)期末模拟测试题(一)参考答案 (10)期末模拟考试题(二) (11)期末模拟测试题(二)参考答案 (18)期末模拟考试题(三) (19)期末模拟测试题(三)参考答案 (26)期末模拟考试题(四) (27)期末模拟测试题(四)参考答案 (34)期末模拟考试题(五) (35)期末模拟测试题(五)参考答案 (49)期末模拟考试题(一)一.选择题:2’*25=50’1.十进制数269转换成十六进制数是A)10E B)10D C)10C D)10B2. 若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是 for (i=5;i;i--)for(j=0;j<4;j++){...}A)20 B)25 C)24 D)303. 若有以下定义和语句:char *s1="12345",*s2="1234";printf("%d\n",strlen(strcpy(s1,s2)));则输出结果是A) 4 B)5 C)9 D)104. 若有以下定义和语句:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则不能表示a数组元素的表达式是A) *p B) a[10] C) *a D) a[p-a]5.设有如下定义:int x=l,y=-1;,则语句:printf("%d\n",(x--&++y));的输出结果是A)1 B)0 C)-1 D)26.当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是A)c=b=a; B)(a=c)‖(b=c);C)(a=c)&&(b=c); d)a=c=b;7.以下程序的输出结果是A)10 1 9 2 B)9 8 7 6 C)10 9 9 0 D)10 10 9 1main( ){ int x=10,y=10,I;for(i=0;x8;y=++i)printf("%d,%d ",x--,y);}8. 下面程序的输出是main(){ char *s="121";int k=0, a=0, b=0;do { k++;if(k%2==0) {a=a+s[k]-'0';continue;}b=b+s[k]-'0';a=a+s[k]-'0';}while (s[k+1]);printf("k=%d a=%d b=%d\n",k,a,b);}A)k=3 a=2 b=3 B)k=3 a=3 b=2 C)k=2 a=3 b=2 D)k=2 a=2 b=39.下面程序的输出是main(){ unsigned a=32768;printf("a=%d\n",a);}A)a=32768 B)a=32767 C)a=-32767 D)a=-110. 若有以下定义:float x;int a,b;则正确的switch 语句是A)switch(x) B)switch(x){ case1.0:printf("*\n"); { case1,2:printf("*\n");case2.0:printf("**\n"); case3:printf("**\n");} }C)switch (a+b) D)switch (a+b);{ case 1:printf("\n"); { case 1:printf(."*\n");case 1+2:printf("**\n"); case 2:printf("**\n");} } 11.以下程序运行后,如果从键盘上输入ABCDE,则输出结果为A) 8 B)7 C)6 D)5# include# includefuch (char str [ ] ){ int num =0;while (*(str +num )!='\0') num ++;return(num );}main(){ char str [10],*p=str ;gets(p);printf("%d\n",func(p));}12.运行以下程序后,如果从键盘上输入china#,则输出结果为A) 2,0 B)5,0 C) 5,5 D)2,5# includemain( ){ int v1=0,v2=0;char ch ;while ((ch=getchar())!='#')switch (ch ){ case 'a':case 'h':default: v1++;case '0':v2++;}printf("%d,%d\n",v1,v2);13.以下程序运行后,输出结果是A) 49.5 B) 9.5 C)22.0 D)45.0# include# define PT 5.5# difine s(x) pt*x*xmain(){ int a=1,b=2;printf ("%4.lf/n",S(a+b));} 14.以下程序执行后a的值是A)4 B)1 C)0 D)运行时出错,a无定值main(){ int a,k=4,m=6,*p1=&k,*p2=&m;a=p1==&m;printf("%d\n",a);} 15.以下程序运行后,输出结果是A)84 B)99 C)95 D)44int d=1l ;fun (int p){ int d=5;d+=p++;printf("%d",d);}main(){ itn a=3;fun(a);d+=a++;printf("%d\n",d);} 16.下面程序的运行结果是:# include <stdio.h>main(){ int i,j,x=0;for(i=0;i<2;i++){ x++;for(j=0;j<=3;j++){ if(j%2) continue;x++;}x++;}printf(“x=%d\n”,x);}A) x=4 B)x=8 C)x=6 D)x=1217.以下程序运行后,输出结果是A) 1 B) 7 C)9 D)11fut (int **s,int p[2][3]){ **s=p[1][1];}main(){ int a[2][3]={1,3,5,7,9,11},*p;p=(int *)malloc(sizeof(int))lfut (&p,a);printf("%d\n",*p);}18.设有如下定义:int a=1,b=2,c=3,d=4,m=2,n=2;则执行表达式:(m=a>b)&&(n=c>d)后,n的值为A) 1 B)2 C)3 D)019.请读程序:# define LETTER 0main(){ char str[20]=”C Language”,c;int i;i=0;While((c=str[i])!=’\0’{ i++;# if LETTERif(c>=’a’&&c<=’z’)c=c-32;# elseif(c>=’A’&&c<=’Z’)c=c+32;# endifprintf(“%c”,c);}上面程序的运行结果是:A) C Language B) c languageC) C LANGUAGE D) c lANGUAGE20. 假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在此可执行文件所在目录的DOS提示符下键入:PROG ABCDEFGH IJKL<回车>,则输出结果为A) ABCDEFG B) IJHL C) ABCDEFGHIJKL D) IJKLABCDEFGHmain( int argc, char *argv[])){ while(--argc>0) printf("%s",argv[argc]);printf("\n");}21. 以下程序的输出结果是A) 1 B) 2 C) 3 D) 4long fun( int n){ long s;if(n= =1 || n= =2) s=2;else s=n-fun(n-1);return s;}main(){ printf("%ld\n", fun(3)); }22. 以下程序的输出结果是A) 16 B) 2 C) 9 D) 1#define SQR(X) X*Xmain(){ int a=16, k=2, m=1;a/=SQR(k+m)/SQR(k+m);printf("%d\n",a);}23.若有以下说明和语句:struct student{ int age;int num;} std,*p;p=&std;则以下对结构体变量std中成员age的引用方式不正确的是:A) std.age B) p->age C) (*p).age D) *p.age24.以下程序的输出结果是:struct stu{ int x;int *y;} *p;int dt[4]={ 10,20,30,40};struct stu a[4]={ 50,&dt[0],60,&dt[1],70,&dt[2],80,&dt[3]}; main(){ p=a;printf(“%d,”,++p->x);printf(“%d,”,(++p)->x);printf(“%d\n”,++(*p->y));}A) 10,20,20 B) 50,60,21 C)51,60,21 D) 60,70,31 25.设有以下语句:char x=3,y=6,z;z=x^y<<2;则z的二进制值是:A)00010100 B)00011011 C)00011100 D)00011000二.判断题:1’*10=10’1.C语言规定在一个源程序中,main函数的位置必须在系统调用的库函数的后面。

2010年20套大学计算机C语言期末考试复习试题及答案

2010年20套大学计算机C语言期末考试复习试题及答案

一、判断共10题(共计10分)第1题(1.0分)题号:1488函数即可以嵌套定义,又可以嵌套调用.答案:N第2题(1.0分)题号:1256unsigned 和void 在C中都是保留字.答案:Y第3题(1.0分)题号:1280表达式++i表示对变量i自加1.答案:Y第4题(1.0分)题号:1282C语言源程序的基本结构单位是main函数.答案:N第5题(1.0分)题号:1276字符常量的长度肯定为1.答案:Y第6题(1.0分)题号:1469char a[]={'a','b','c'};char b[]={"abc"};数组a和数组b占用的内存空间大小不一样.答案:Y第7题(1.0分)题号:1249若有int i=10,j=2; 则执行完i*=j+8;后i的值为28.答案:N第8题(1.0分)题号:33int i,*p=&i;是正确的C说明。

答案:Y第9题(1.0分)题号:1250While循环语句的循环体至少执行一次.答案:N第10题(1.0分)题号:1510有数组定义int a[2][2]={{1},{2,3}};则a[0][1]的值为0.答案:Y二、单项选择共30题(共计30分)第1题(1.0分)题号:456执行下面程序后,输出结果是()。

main(){ a=45,b=27,c=0;c=max(a,b);printf("%d\n",c);}int max(x,y)int x,y;{ int z;if(x>y) z=x;else z=y;return(z);}A:45B:27C:18 D:72答案:A第2题(1.0分)题号:437下列数组说明中,正确的是()。

A:int array[][4];B:int array[][];C:int array[][][5];D:int array[3][];答案:A第3题(1.0分)题号:2396下面有关for循环的正确描述是()A:for循环只能用于循环次数已经确定的情况B:for循环是先执行循环体语句,后判断表达式C:在for循环中,不能用break语句跳出循环体D:for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来答案:D第4题(1.0分)题号:2817以下程序的输出结果是().main(){int i,j,k,a=3,b=2;i=(--a==b++)?--a:++b;j=a++;k=b;printf("i=%d,j=%d,k=%d\n",i,j,k);}A:i=2,j=1,k=3B:i=1,j=1,k=2C:i=4,j=2,k=4D:i=1,j=1,k=3答案:D第5题(1.0分)题号:2866若有下列定义,则对a数组元素地址的正确引用是().int a[5],*p=a;A:*(p+5)B:*p+2C:*(a+2)D:*&a[5]答案:C第6题(1.0分)题号:711下列选项中正确的语句组是()。

河北农业大学2010-2011学年本科C语言期末考试真题及答案

河北农业大学2010-2011学年本科C语言期末考试真题及答案

河北农业大学课程考试试卷2010—2011学年第2学期 2010 级 本科专业 卷别:A考试科目: C 语言程序设计 考核方式: 闭卷考试 姓 名: 学号: 专业班级: (注:考生务必将答案写在答题纸上,写在本试卷上无效)本试卷共( 4 )页一、选择题(共30分,每题1分)1、()是C 程序的基本构成单位。

A 、函数B 、函数和过程C 、超文本过程D 、子程序2、C 语言规定,必须用()作为主函数名。

A 、functionB 、includeC 、mainD 、stdio3、以下()是C 语言提供的关键字。

A 、continueB 、procedureC 、beginD 、append4、下列可以作为变量名的是()。

A 、+aB 、123425eC 、a3BD 、5e+05、在C 语言中以下合法的字符常量是()。

A 、‟\0824‟B 、‟\x243‟C 、‟0‟D 、”\0”6、设d 为字符变量,则下列表达式不正确的是()。

A 、d=‟m ‟B 、d=97C 、d=”a ”D 、d=‟\101‟7、表达式(double )(23/3)的值是()。

A 、4 B 、7.0 C 、7.7 D 、3 8、下列程序的输出结果是()。

main( ){ int x=4, y=0,z; x*=3+2;printf(“%d\t ”,x); x*=(y= =(z=4));printf(“%d ”,x);}A 、14 40B 、20 0C 、20 4D 、14 49、已知year 为整型变量,不能使表达式(year%4==0&&year%100!=0)||(year%400= =0)的值是1的整型数据是()。

A 、1990B 、1988C 、1992D 、2000 10、若x=4,y=z=3,则下列表达式的值分别是()。

(1)(z>=y>=x)?1:0(2)y+=z, x*=yA 、0 24B 、1 8C 、0 8D 、1 1211、若已定义a 和b 为double 类型,则表达式:a=1,b=a+3/2的值是()。

河北农业大学2009-2010现科,C语言期末考试真题及答案

河北农业大学2009-2010现科,C语言期末考试真题及答案

河北农业大学课程考试试卷2009 – 2010 学年 第 2 学期 学院 现科专业 卷别: A考试科目: C 语言程序设计 考核方式: 闭卷姓 名: 学号: 专业班级: (注:考生务必将答案写在答题纸上,写在本试卷上无效)本试卷共(4)页一、 单选题。

(共30分)1. (1分)有程序段:int x, y;scanf(“%d , %d ”,&x , &y); printf(“%d ” , (x , y)); 若输入3 ,5,则printf 语句()。

A 、输出5B 、输出3C 、输出3,5D 、编译出错2. (1分)C 语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是()。

A 、地址传递B 、单向值传递C 、由实参传给形参,再由形参传回实参D 、由用户指定传递方式3. (1分)若x 为float 型变量,则以下语句( )x=213.82631;printf(“%4.2f\n”,x);A 、 输出格式描述符的域宽不够,不能输出B 、 输出为213.83C 、 输出为213.82D 、 输出为-213.824. (1分)下列说法中错误的是()。

A 、 一个数组只允许存储同种类型的变量B 、 如果对数组进行初始化时,给定的数据元素个数比数组元素个数少时,多余的数组元素会被自动初始化为最后一个给定元素的值。

C 、 数组的名称其实是数组在内存中的首地址D 、当数组名作为参数被传递给某个函数时,原数组中的元素的值可能被修改5. (1分)变量的指针,其含义是指该变量的( )A 、值B 、地址C 、名D 、一个标志6. (1分)以下不正确的说法是()。

A 、在不同函数中可以使用相同名字的变量B 、形式参数是局部变量C 、在函数内定义的变量只在本函数范围内有效D 、在函数内定义的变量在本函数和main 函数内都有效7. (1分)已知int i,j,k;scanf(“%d%d%d ”,&i,&j,&k); ,若从键盘输入i 、j 、k 的值分别为1、2、3时,则错误的输入方式为( ) A 、 1,2,3 B 、1(回车)2(回车)3(回车)C 、 1 空格2空格 3(回车)D 、1(回车)2 空格3(回车)8. (1分)一个C程序的执行是从()A、main函数开始,直到main函数结束B、第一个函数开始,直到最后一个函数结束C、第一个语句开始,直到最后一个语句结束D、main函数开始,直到最后一个函数结束9. (1分)给出如下定义:char str1[ ]=”Hello”; charstr2[ ]={…H‟,‟e‟,‟l‟,‟l‟,‟o‟};则正确的叙述为()A、数组str1和数组str2等价B、数组str1和数组str2的长度相同C、数组str1的长度大于数组str2的长度D、数组str1长度小于数组str2的长度10. (1分)有变量定义int x=0,y=0; 则执行以下语句后y的值是()。

2010年全国计算机等级考试二级C++模拟试题及答案(1)

2010年全国计算机等级考试二级C++模拟试题及答案(1)

2010年全国计算机等级考试二级C++模拟试题及答案(1)笔试部分一、选择题1.树是结点的集合,它的根结点数目是( )A. 有且只有1B.1或多于1C. 0或1D.至少2【参考答案】A2.在设计程序时,应采纳的原则之一( )A. 不限制goto语句的使用B.减少或取消注解行C. 程序越短越好D.程序结构应有助于读者理【参考答案】D3.下列叙述中,不属于软件需求规格说明书的作用的是( )A. 便于用户、开发人员进行理解和交流B. 反映出用户问题的结构,可以作为软件开发工作的基础和依据C. 作为确认测试和验收的依据D.便于开发人员进行需求分析【参考答案】D4.单个用户使用的数据视图的描述称为( )A. 外模式B.概念模式C. 内模式D.存储模式【参考答案】A5.SQL语言又称为( )A. 结构化定义语言B.结构化控制语言C. 结构化查询语言D.结构化操纵语言【参考答案】C6.若某二叉树的前序遍历访问顺序是abdgcefh,中序遍历访问顺序是dgbaechf,则其后序遍历的结点访问顺序是( )A. bdgcefhaB.gdbecfhaC. bdgaechfD.gdbehfca【参考答案】D7.软件工程的理论和技术性研究的内容主要包括软件开发技术和( )A. 消除软件危机B.软件工程管理C. 程序设计自动化D.实现软件可重用【参考答案】B8.在软件测试设计中,软件测试的主要目的是( )A. 实验性运行软件B.证明软件正确C. 找出软件中全部错误D.发现软件错误而执行程序【参考答案】D9.索引属于( )A. 模式B.内模式C. 外模式D.概念模式【参考答案】B10.数据库系统的核心是( )A. 数据库B.数据库管理系统C. 模拟模型D.软件工程【参考答案】B来源:考试大-计算机二级考试11.下面关于类和对象的描述中,错误的是( )A.类就是C语言中的结构体类型,对象就是C语言中的结构体变量B.类和对象之间的关系是抽象和具体的关系C.对象是类的实例,一个对象必须属于一个已知的类D.类是具有共同行为工的若干对象的统一描述体【参考答案】A12.设int a=10,b=11,c=12;,表达式(a+b)<c&&b==c的值是( )<="" bdsfid="131" p=""></c&&b==c的值是(>A.2B.0C.-2D.1【参考答案】B13.下列语句中不是死循环的是( )A.int i=10;B.for(int i=1;i<10;i++)C.int i=0;D.int i=1;while(1) { do{ for(;;){ i--; i++; i=i+1;i--; } }while(i>=0);if(i==1)break;}【参考答案】A14.下面关于数组的描述错误的是( )A.在C++语言中数组的名字就是指向该数组第一个元素的指针B.长度为n的数组,下标的范围是0~n-1C.数组的大小必须在编译时确定D.数组只能通过值参数和引用参数两种方式传递给函数【参考答案】D15.下面的哪个选项不能作为函数的返回类型?( )A.voidB.intC.newD.long【参考答案】C16.下列程序的输出结果为( )#includeint func(int n){if(n<1) return 1;else return n+func(n-1);return 0;}void main(){cout<<func(5)<<endl;}< bdsfid="168" p=""></func(5)<<endl;}<>A.0B.10C.15D.16【参考答案】D来源:考试大-计算机二级考试17.以下程序中,错误的行为( )1.#include2.class A3.{4.public:5.int n=2;6.A(int val) {cout<<val<<endl;}< bdsfid="181" p=""></val<<endl;}<>7.~A(){ }8.{;9.void main()10{11.A a(0);12.}A.5B.6C.7D. 11【参考答案】A18.下面程序的运行结果为( )#includeclass A{int num;public:A(int i){num=i;}A(A &a){num=a.num++;}void print(){cout<<num;}< bdsfid="202" p=""></num;}<> };void main(){A a(1),b(a);a.print();}A.11B.12C.21D.22【参考答案】C来源:考试大-计算机二级考试19.如果类A被说明成类B的友元,则( )A.类A的成员即类B的成员B.类B的成员即类A的成员C.类A的成员函数不得访问类B的成员D.类B不一定是类A的友元【参考答案】D20.建立派生类对象时,3种构造函数分别是a(基类的构造函数)、b(成员对象的构造函数)、c(派生类的构造函数)这3种构造函数的调用顺序为( )A.abcB.acbC.cabD.cba【参考答案】A21.下面关于模板的描述,错误的是( )A.函数模板和类模板的参数可以是任意的数据类型B.类模板不能直接使用,必须先实例化为相应的模板类,然后定义了模板类的对象后才能使用C.函数模板不能直接使用,需要实例化为模板函数后才使用D.类模板的成员函数都是模板函数【参考答案】A22.下面程序的运行结果是( )void main(){int num=1;int &ref=num;ref=ref+2;cout<<num;< bdsfid="241" p=""></num;<>num=num+3;cout<<ref<<endl;< bdsfid="244" p=""></ref<<endl;<> }A.13B.16C.36D.33【参考答案】C23.下列程序的运行结果为( )#includeint i=0;class A{public:A(){i++;}};void main(){A a,b[3],*c;c=b;cout<<i<<endl;}< bdsfid="262" p=""></i<<endl;}<>A.2B.3C.4D.5来源:考试大-计算机二级考试24.下列字符串中可以用C++语言标识符的是()A._1234B.foo~~barC.virtuaD.34var【参考答案】A25.下列语句的输出结果( )cout<<strlen(″\t\″\065\xff\n″);< bdsfid="276" p=""></strlen(″\t\″\065\xff\n″);<>A.5B.14C.8D.输出项不合法,无正常输出【参考答案】A26.若有如下语句( )#includevoid main(){int x=3;do{x=x-2;cout<<x;< bdsfid="289" p=""></x;<>}while(!(--x));}则上面程序段A.输出的是1B.输出的是1和-2C.输出的是3和0D.是死循环27.以下程序中调用cin函数给变量a输入数值的方法是错误的,其错误原因是( )#includevoid main(){ int *p,*q,a,b;p=&a;cout<<″input a:″;cin>>p;}A.*p表示的是指针变量P的地址B.p表示的是变量a的地址,而不是变量a的值C.*p表示的是指针变量p的值D.*p只能用来说明p是一个指针变量【参考答案】B来源:考试大-计算机二级考试28.有以下程序#includevoid fun(int a,int b,int c){a=456,b=567,c=678;}void main(){int x=10,y=20,z=30;fun(x,y,z);cout<<x<<′,′<<y<<′,′<<z<<endl;}< bdsfid="318" p=""></x<<′,′<<y<<′,′<<z<<endl;}<>输出结果是( )A.30,20,10B.10,20,30C.456,567,678D.678,567,456【参考答案】B29.下列定义中p指向的地址可更改,但*p不能够更改的是( )A.const int *PB.int * const p;C.const int *const p;D.int *p;【参考答案】A30.下面程序的结果是( )#includeclass A{int a;public:A():a(1){ }void showa(){cout<<a;}< bdsfid="338" p=""></a;}<> };class B{int a;public:B():a(2){ }void showa(){cout<<a;}< bdsfid="346" p=""></a;}<> };class C:public A,public B{int a;public:C():a(3){ }void showa(){cout<<a;}< bdsfid="353" p=""></a;}<> };void main(){C c;c.showa();}A.1C.3D.程序有错误【参考答案】C来源:考试大-计算机二级考试31.如果表达式x*y+z中,“*”是作为友元函数重载的,“+”是作为友元函数重载的,则该表达式还可为( )A.operator+(operator*(x,y),z)B.x.operator+(operator*(x,y),z)C.y.operator*(operator+(x,y),z)D.x.operator+(operator*(x,y))【参考答案】A32.对于语句cout<<setfill(′*′)<<setw(10)<<1<<setfill(′*′)<<<=""></setfill(′*′)<<setw(10)<<1<<setfill(′*′)<A.*********1*2B.********12C.*******1*2D.12********【参考答案】A33.有如下程序#includeint func(int a,int b){return(a+b);}void main(){int x=2,y=5,z=8,r;r=func(func(x,y),z);cout<<r;}< bdsfid="384" p=""></r;}<>该程序的输出的结果是( )A.12C.14D.15【参考答案】D34.下列描述中,抽象类的特性是( )A.可以说明虚函数B.可以定义友元函数C.可以进行构造函数重载D.不能说明其对象【参考答案】D35.下列程序的运行结果是( )#includevoid fun(int *a,int *b){ int *k;k=a;a=b;b=k;}void main(){ int a=3,b=6,*x=&a,*y=&b;fun(x,y);cout<<a<<<b;<="" bdsfid="407"></a<<<b;<="">}A.6 3B.3 6C.编译出错D.0 0【参考答案】B来源:考试大-计算机二级考试二、填空题1.在面向对象方法中,类之间共享属性和操作的机制称为【1】。

西安石油大学《管理信息系》期末试题C及其答案

西安石油大学《管理信息系》期末试题C及其答案

第 1 页 共 5 页课程名称 管理信息系统 考试性质 考试 试卷类型 C 使用班级 经管院2010级工商管理类所有专业 考试方法 闭卷 人 数题 号 一 二 三 四 五 六 七 八 九 十 总 成 绩成 绩一、 单项选择。

(共30题,每题1分,总计30分。

)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、从管理决策问题的性质来看,在战略管理层上的决策大多属于( 3 )的问题。

A.结构化B.半结构化C.非结构化D.以上都有7、对管理信息系统进行综合,我们可以了解到,管理信息系统是由多个功能子系统组成的,这些功能子系统又可以分为业务处理、运行控制、管理控制和( )几个主要的信息处理部分。

A.财务管理B.信息管理C.人力资源管理D.战略管理 8、( 1 )是管理信息系统环境中最重要的因素之一,决定着管理信息系统应用的目标和规模。

A.组织规模B.管理的规范化程度C.生产过程的特征D.组织的系统性 9、从信息处理的工作量来看,信息处理所需资源的数量随管理任务的层次而变化,层次越高,所需信息量( 2 )A.越大B.越小C.不大不小D.不一定 10、管理信息系统的最大难点在于( 4 )难以获得。

A.系统数据B.系统信息C.系统人才D.系统需求 11、现代管理信息系统是( 3 )A.计算机系统B.手工管理系统C.人和计算机等组成的系统D.通信网络系统班级 学号 姓名 命题教师 教研室(系)主任审核(签字)---------------------------------------------装-----------------------------------------订----------------------------------------线--------------------------------------------装 订 线 以 内 不 准 作 任 何 标 记2011/2012学年第二学期期末试题(卷)12、管理信息系统的特点的( 3 )A.数据集中统一,应用数学模型,有预测和控制能力,面向操作人员B.数据集中统一,应用人工智能,有预测和决策能力,面向管理人员C.数据集中统一,应用数学模型,有预测和控制能力,面向管理人员D.应用数学模型,有预测和决策能力,应用人工智能,面向管理人员13、某公司把库存物资出入库和出入库财务记账处理综合成一个应用子系统,这种子系统是将( 2 )职能关联在一起。

C语言期末考试试卷 B卷与参考答案

C语言期末考试试卷 B卷与参考答案

2010~2011学年度第一学期10级《C语言》期末考试试卷(B卷与参考答案)班级1006计网学号姓名总分(适用班级:1006计网)(考试形式:闭卷时间:90分钟)一、选择题(每题2分,共60分)1、一个C程序的执行是从(A)。

A本程序的main函数开始,到main函数结束B本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C本程序的main函数开始,到本程序文件的最后一个函数结束D本程序文件的第一个函数开始,到本程序main函数结束2、在C 语言中,每个语句必须以(D)结束。

A. 回车符B. 冒号C. 逗号D. 分号3、C 语言规定:在一个源程序中,main函数的位置(C)。

A. 必须在最开始B. 必须在系统调用的库函数的后面C. 可以任意D. 必须在最后4、一个C 语言程序是由(B)。

A. 一个主程序和若干子程序组成B. 函数组成C. 若干过程组成D. 若干子程序组成5、下列说法中错误的是( D )。

A. 主函数可以分为两个部分:主函数说明部分和主函数体B. 主函数可以调用任何非主函数的其他函数C. 任何非主函数可以调用其他任何非主函数D. 程序可以从任何非主函数开始执行6、用C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( C)。

A. 生成可执行目标文件B. 生成目标文件C. 输出运行结果D. 自动保存源文件7、以下选项中,不正确的C 语言浮点型常量是(C)。

A. 160.B. 0.12C. 2e4.2D. 0.08、以下选项中,(D)是不正确的C 语言字符型常量。

A. 'a'B. '\x41'C. '\101'D. "a"9、C语言中,运算对象必须是整型数的运算符是( A )A) % B) \ C) %和\ D) * *10、C语言中数组下标的下限是( B )。

A、1B、0C、视具体情况D、无固定下限11、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是( B )A) input x,y,z; B) scanf("%d%d%d",&x,&y,&z);C) scanf("%d%d%d",x,y,z); D) read("%d%d%d",&x,&y,&z);12、表达式:10!=9的值是( D )A) true B) 非零值C) 0 D) 113、表示关系x<=y<=z的c语言表达式为( A)A) (X<=Y)&&(Y<=Z) B) (X<=Y)AND(Y<=Z)C) (X<=Y<=Z) D) (X<=Y)&(Y<=Z)14、下列运算符其优先级最高的是( C)。

2010年C++期末考试题-A卷

2010年C++期末考试题-A卷

C++试题Array一、单项选择题,答案务必写在相应的括号内,否则不得分(每小题21.以下选项中合法的C++变量名是()。

A)3sum B)_2Test C)C++ D)int2.在C++语言中,不合法的字符常量是()。

A)'\n' B)'\x43' C)'0' D)"a"3.C++语言中规定函数的返回值的类型是由()。

A)return语句中的表达式类型所决定B)调用该函数时的主调用函数类型决定C)在定义该函数时所指定的函数类型所决定D)调用该函数时系统临时决定4.一个C++程序从编写到最后运行结果要经历哪些步骤()。

A)编译、连接、编辑、运行B)编辑、编译、连接、运行C)连接、编辑、编译、运行D)编辑、连接、编译、运行5.下面描述中,表达错误的是()。

A)公有继承时基类中的public成员在派生类中仍是public的B)公有继承时基类中的private成员在派生类中仍是private的C)公有继承时基类中的protected成员在派生类中仍是protected的D)私有继承时基类中的public成员在派生类中是private的6.以下程序段的输出结果是()。

A)#*#*# B)##* C)***## D)##for(i=1;i<6;i++){if(i%3==0){cout<<"*";break;}cout<<"#";}7.下列关于构造函数的描述中,错误的是()。

A)构造函数与类同名B)构造函数在定义对象时自动执行C)若类中没有显式定义构造函数,编译系统会提供默认的构造函数D)构造函数有且只有一个8.若Student为类名,则语句“Student s1[3],s2;”执行时,调用()次构造函数。

A)1 B)0 C)4 D)39.若数组定义语句为int a[ ][4]={{1},{2,3},{4,5,6,7},{8,9,0}};则数组元素a[2][2]的值为()。

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

C++期末模拟试题及答案一、选择题(每题2分,共40分)1、面向对象程序设计将描述事物的数据与封装在一起,作为一个相互依存、不可分割的整体来处理。

A) 信息B) 数据隐藏C) 对数据的操作D) 数据抽象2、下列语句中,错误的是。

A) int *p=new int(5);B) int *p=new int[5];C) int *p=new int [20][(0);D) int *p=new int;3、下面有关类和对象的说法中,正确的是。

A) 系统为类和对象分配内存空间B) 类和对象没有区别C) 系统为类分配存储空间,不为对象分配存储空间D) 类与对象的关系和数据类型与变量的关系类似4、下列有关类和对象的说法中,不正确的是。

A) 任何一个对象只能属于一个类B) 对象是类的一个实例C) 类实质上是一种数据类型D) 一个类只能有一个对象5、下列说法中,不正确的是。

A) 要在类的外部直接使用类的私有成员是错误的B) 一个对象数组中的所有数组元素属于同一个类C) 当在类外部定义成员函数时,必须在函数名前加上类名和作用域运算符D) 同一个类的两个对象占用相同的内存空间6、在声明类时,下面的说法正确的是。

A) 数据成员的数据类型可以是registerB) 可以在类的声明中给数据成员赋初值C) 没有用private,public,protected定义的数据成员是公有成员D) 定义时,private,public,protected可以按任意顺序出现7、下列关于构造函数的描述中,正确的是。

A) 构造函数必须带有参数B) 构造函数可以带有返回值C) 构造函数的名字与类名完全相同D) 构造函数必须定义,不能默认8、下列有关析构函数叙述中,不正确的是。

A) 析构函数必须与类名相同,并在其前面加上符号~,以便和构造函数名区别B) 析构函数不能带有任何参数,不能有返回值C) 析构函数可以重载D) 对于全局定义的对象,在程序开始时调用构造函数,到程序结束时调用析构函数9、关于成员函数特征的下列叙述中,是错误的。

A) 成员函数一定是内联函数B) 成员函数可以重载C) 成员函数可以设置参数的默认值D) 成员函数可以是静态的10、下列说法中,不正确的是。

A) 利用常对象只能调用类中的常成员函数B) 类的常数据成员和引用成员必须在构造函数的初始化表中进行初始化C) 常成员函数可以对类中的任何数据成员进行更新D) 在程序中既可以定义指针数据成员,也可以定义对象指针11、友元函数的作用是。

A) 提高程序的运行效率B) 加强类的封装性C) 实现数据的隐藏性D) 增加成员函数的种类12、在下列有关静态成员函数的描述中,正确的是。

A) 静态成员函数只能在类外定义B) 在静态成员函数中可以使用this指针C) 在建立对象前,就可以为静态数据成员赋值D) 静态成员函数在类外定义时,要用static前缀13、使用派生类的主要原因是。

A) 提高程序的运行效率B) 加强类的封装性C) 提高代码的可重用性D) 实现数据的隐藏14、下列说法,不正确的是。

A) 函数在重载时其函数名应相同B) 基类中定义了虚函数ab(int,int),若在派生类中重新定义ab(int),则在派生类中ab为重载函数C) C++中所有运算符都可以重载D) 对于基类中定义的运算符重载函数,派生类中不一定可以继承15、下列叙述中,不正确的说法是。

A) 不能直接由抽象类建立对象B) 至少有一个纯虚函数的类称为抽象类C) 抽象类中能包含构造函数D) 抽象类中不能有数据成员16、下列说法中,不正确的是。

A) 在派生过程中构造函数不被继承B) 在派生过程中析构函数不被继承C) 声明为指向基类对象的指针可以指向其公有派生的对象D) 声明为指向公有派生类对象的指针可以指向其基类的对象17、关于虚函数的描述中,正确的是。

A) 虚函数是一个static类的成员函数B) 虚函数是一个非静态成员函数C) 派生类的虚函数与基类的虚函数具有不同的参数个数和类型D) 内联函数、构造函数、静态变量可以声明为虚函数18、模板的使用是为了。

A) 实现多态性B) 提高代码的运行效率C) 加强类的封装性D) 提高代码的可重用性19、下列说法中,不正确的是。

A) 类模板代表一个具体的、实际的类B) 函数模板经实例化生成的具体函数称为模板函数C) 在template语句与函数模板定义语句间不允许有别的语句D) 模板函数类似于重载函数,只是更严格一些20、当包含头文件iostream.h后,一个C++源程序中的cin是。

A) 一个标准语句。

B) 预定义的类。

C) 预定义的函数。

D) 预定义的对象。

二、判断题(每题1分,共10分)1、面向对象方法中的抽象,是指对具体问题进行概括,抽出一类对象的公共性质并加以描述的过程。

2、多态性是指一段程序能够处理多种类型对象的能力。

3、保护类型成员的性质和私有成员的性质相似,差别在于继承过程中对产生的新类影响不同。

4、拷贝构造函数是使用一个已经存在的对象,去初始化同类的一个新对象。

5、UML中的图形的作用是描述软件中类和对象以及它们的静态关系。

6、静态数据成员具有静态生存期。

7、条件编译是指程序中的某些内容要在满足一定条件的情况下才参与编译。

8、默认的拷贝构造函数完成的是深拷贝。

9、当类的继承方式为私有继承时,基类中的公有成员和保护成员都以私有成员身份出现在派生类中,基类的私有成员在派生类中不能直接访问。

10、如果基类声明了带有形参表的构造函数时,派生类就应当声明构造函数。

三、程序填空题(每题5分,共10分)1、按照程序执行结果,填入合适语句:#include<iostream>using namespace std;class Test{private:int n;static int m;public:int p;static int q;Test(int arg);static void disp1();void disp2();};___(1)____________(2)_________Test::Test(int arg){n=arg;p=arg;}void Test::disp1(){cout<<”m=”<<m<<”,q=”<<q<<endl;}void Test::disp2(){ cout<<”m=”<<m<<”,q=”<<q<<endl;cout<<”n=”<<n<<”,p=”<<p<<endl;}int main(){Test obj1(2);cout<<”p=”<<obj1.p<<”,q=”<<Test::q<<endl;Test::disp1();obj1.disp2();return 0;}程序执行结果:p=2,q=20m=10,q=20m=10,q=20n=2,p=22、按照程序执行结果,填入合适语句:#include<iostream>#include<cstdio>using namespace std;int count(char *str){int i,num=0;for(i=0;str[i];i++){____(1)_____________num++;}____(2)_____________}int main(){char text[100];cout<<”输入一句英语:”<<endl;gets(text);cout<<”这个句子里有”<<count(text)<<”个字母。

”<<endl;return 0;}程序执行结果:输入一句英语:It is very interesting!这个句子里有19个字母。

四、程序阅读题(共20分)1、阅读下面的程序,写出程序运行结果:(5分)#include <iostream>#include <iomanip>#include <algorithm>#include <vector>using namespace std ;int main(){vector<int> A(4);vector<int>::iterator pi;pi=A.begin(); *pi++=51; *pi++=61; *pi++=51; *pi++=81; cout<<*(A.begin()+1)<<endl;;cout<<*find(A.begin(),A.end(),51)<<endl;cout<<count(A.begin(),A.end(),51)<<endl;reverse(A.begin(),A.end());for (pi=A.begin();pi!=A.end();pi++) cout<<*pi<<" "; cout<<endl;sort(A.begin(),A.end());for (pi=A.begin();pi!=A.end();pi++) cout<<*pi<<" "; cout<<endl;return 0;}2、阅读下面的程序,写出程序运行结果:(5分)#include <iostream>using namespace std ;class A{public:virtual void func(int data){cout<<"class A:"<<data<<endl;} virtual void func(char *str){ cout<<"class A:"<<str<<endl; }void func(){ cout<<"class A" <<endl;}};class B: public A{public:void func(int data) { cout<<"class B:"<<data<<endl; }void func(char *str,int i){ cout<<"class B:"<<str<<" "<<i<<endl;} void func(){ cout<<"class B"<<endl;}};int main(int argc,char *argv[]){A *pa;B b;pa=&b;pa->func(1);pa->A::func(1);pa->func("haha");b.func("haha",2);pa->func();return 0;}3、阅读下面的程序,写出程序运行结果:(6分)#include <iostream>#include<string>using namespace std;class CreateAndDestroy{public:CreateAndDestroy(int value, char str[20]){data=value;strcpy(memo,str);cout<< "Object "<<memo<<" constructor"<<endl; }~CreateAndDestroy(){cout<<"Object "<<memo<<" destructor "<<endl; }private:int data;char memo[20];};CreateAndDestroy first( 1," first " );void create( void ){CreateAndDestroy fifth( 3," fifth " );}int main(){create();CreateAndDestroy fourth( 2," fourth " );return 0;}4、阅读下面的程序,写出程序运行结果:(4分)#include <iostream>using namespace std;class CRange{public:int index;CRange(int i) { index = i; }};class CString{char a[100];int len;public:CString(char* s) {len = strlen(s);strcpy(a, s);}char& operator[](int i) {if( i>=0 && i<len ) return a[i];else throw CRange(i);}};int DisplayHasCatch(CString& s){try{int j;for( j=0; j<20; j++ ) cout<<s[j]<<endl; //注意[]运算符被重载了}catch( CRange r ) {cerr<<endl<<"字符串下标:"<<r.index<<"超界!"<<endl;}return 99;}int main(){CString S("ABC");int i = DisplayHasCatch(S);return 0;}五、编程题(共20分)1、根据下面的要求,完成程序编写,要求包含main函数并在main中使用所定义类的对象。

相关文档
最新文档