2010年全国自考C++程序设5……
自考04737C++程序设计201001历年真题及答案
2010年1月高等教育自学考试全国统一命题考试C++程序设计试题课程代码:04737一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.在C++中,头文件扩展名为()A..cppB..hC..1ibD..obj2.下列符号中,不属于分隔符的是()A.,B./C.;D.{}3.可替换#definePI3.1415926的语句是()A.float PI 3.1415926;B.const float PI=3.1415926;C.const PI(3.1415926);D.const 3.1415926;4.布尔类型标识符是()A.voidB.shortC.longD.bool5.下列不是C++语言的基本数据类型的是()A.字符类型B.整数类型C.逻辑类型D.枚举类型6.C++允许在结构中定义函数,这些函数称为()A.静态函数B.构造函数C.析构函数D.成员函数7.设函数void inc(int)将形参加1,如有整型变量int i=10;则执行inc(i);后,i的值为()A.9B.10C.11D.未知8.下列哪种默认参数的声明是不正确的()A. int max(int a,int b,int c,int d=0);B. int max(int a,int b,int c=0,int d=0);C. int max(int a=0,int b,int c=0,int d=0);D. int max(int a,int b=0,int c=0,int d=0);9.设int &max(int &,int &)返回两参数中较大者,如有两整型变量int a=10;int b=15;在执行max(a,b)++后,a,b值分别为()A.10,15B.11,15C.10,16D.1l,1610.包含哪种语句的函数不能声明为内联函数()A.循环B.变量自增自减C.if...else…D.变量声明11.定义函数模板中使用的参数类型标识符需使用下列哪组符号括起来()A.<>B.“”C.()D.{}12.一个类拥有多个构造函数,则这些构造函数间为()A.重载关系B.重复关系C.拷贝关系D.无关系13.对于拷贝构造函数point::point(point& p),下列说明正确的是()A.该函数只能访问P的私有成员B.该函数不能访问P的公有成员C.该函数可以访问P的私有和公有成员D.该函数不能访问P的成员14.使用delete[]删除对象数组时,描述正确的是()A.数组中各元素都调用析构函数B.数组中各元素都调用构造函数C.不调用析构函数D.只有首元素调用析构函数15.下列哪个指令属于条件编译指令()A. #elifB. #errorC. #pragmaD. #include16.设类Test中存在成员static int x,则下列哪种初始化方式是正确的()A.Test::int x=25;B.int x=25;C.int Test::x=25;D.int Test x=25;17.下列关于友元的描述错误的是()A.成员函数不可作友元B.类可以作友元C.普通函数可以作友元D.静态函数可以作友元18.在继承中,派生类拥有的基类个数为()A.0个B.1个C.多个D.至少1个19.基类中的protected成员,通过public派生,其在派生类中的可见性为()A.不可访问B.privateC.protectedD.public20.下列哪个不是面向对象的关键要素()A.抽象性B.结构性C.封装性D.多态性二、填空题(本大题共20小题,每小题1分,共20分)请在每小题的空格中填上正确答案。
全国2010年1月高等教育自学考试 C++程序设计试题及答案
全国2010年1月高等教育自学考试C++程序设计试题一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.在C++中,头文件扩展名为()A..cppB..hC..1ibD..obj2.下列符号中,不属于分隔符的是()A.,B./C.;D.{}3.可替换#definePI3.1415926的语句是()A.float PI 3.1415926;B.const float PI=3.1415926;C.const PI(3.1415926);D.const 3.1415926;4.布尔类型标识符是()A.voidB.shortC.longD.bool5.下列不是C++语言的基本数据类型的是()A.字符类型B.整数类型C.逻辑类型D.枚举类型6.C++允许在结构中定义函数,这些函数称为()A.静态函数B.构造函数C.析构函数D.成员函数7.设函数void inc(int)将形参加1,如有整型变量int i=10;则执行inc(i);后,i的值为()A.9B.10C.11D.未知8.下列哪种默认参数的声明是不正确的()A. int max(int a,int b,int c,int d=0);B. int max(int a,int b,int c=0,int d=0);C. int max(int a=0,int b,int c=0,int d=0);D. int max(int a,int b=0,int c=0,int d=0);9.设int &max(int &,int &)返回两参数中较大者,如有两整型变量int a=10;int b=15;在执行max(a,b)++后,a,b值分别为()A.10,15B.11,15C.10,16D.1l,1610.包含哪种语句的函数不能声明为内联函数()A.循环B.变量自增自减C.if...else…D.变量声明11.定义函数模板中使用的参数类型标识符需使用下列哪组符号括起来()A.<>B.“”C.()D.{}12.一个类拥有多个构造函数,则这些构造函数间为()A.重载关系B.重复关系C.拷贝关系D.无关系13.对于拷贝构造函数point::point(point& p),下列说明正确的是()A.该函数只能访问P的私有成员B.该函数不能访问P的公有成员C.该函数可以访问P的私有和公有成员D.该函数不能访问P的成员14.使用delete[]删除对象数组时,描述正确的是()A.数组中各元素都调用析构函数B.数组中各元素都调用构造函数C.不调用析构函数D.只有首元素调用析构函数15.下列哪个指令属于条件编译指令()A. #elifB. #errorC. #pragmaD. #include16.设类Test中存在成员static int x,则下列哪种初始化方式是正确的()A.Test::int x=25;B.int x=25;C.int Test::x=25;D.int Test x=25;17.下列关于友元的描述错误的是()A.成员函数不可作友元B.类可以作友元C.普通函数可以作友元D.静态函数可以作友元18.在继承中,派生类拥有的基类个数为()A.0个B.1个C.多个D.至少1个19.基类中的protected成员,通过public派生,其在派生类中的可见性为()A.不可访问B.privateC.protectedD.public20.下列哪个不是面向对象的关键要素()A.抽象性B.结构性C.封装性D.多态性二、填空题(本大题共20小题,每小题1分,共20分)请在每小题的空格中填上正确答案。
2010年10月全国自考概率论与数理统计试题答案
全国2010年10月高等教育自学考试《概率论与数理统计(经管类)》答案课程代码:04183(一)单项选择题(本大题共10小题,每小题2分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.设随机事件A与B互不相容,且P(A)>0,P(B)>0,则()A.P(B|A)=0B.P(A|B)>0C.P(A|B)=P(A)D.P(AB)=P(A)P(B)[答疑编号918070101]『正确答案』分析:本题考察事件互不相容、相互独立及条件概率。
解析:A:,因为A与B互不相容,,P(AB)=0,正确;显然,B,C不正确;D:A与B相互独立。
故选择A。
提示:① 注意区别两个概念:事件互不相容与事件相互独立;② 条件概率的计算公式:P(A)>0时,。
2.设随机变量X~N(1,4),F(x)为X的分布函数,Φ(x)为标准正态分布函数,则F(3)=()C.Φ(1)D.Φ(3)[答疑编号918070102]『正确答案』分析:本题考察正态分布的标准化。
解析:,故选择C。
提示:正态分布的标准化是非常重要的方法,必须熟练掌握。
3.设随机变量X的概率密度为f(x)=则P{0≤X≤}=()[答疑编号918070103]『正确答案』分析:本题考察由一维随机变量概率密度求事件概率的方法。
解析:,故选择A。
提示:概率题目经常用到“积分的区间可加性”计算积分的方法。
4.设随机变量X的概率密度为f(x)=则常数c=()A.-3B.-1C.-[答疑编号918070104]『正确答案』分析:本题考察概率密度的性质。
解析:1=,所以c=-1,故选择B。
提示:概率密度的性质:4.在f(x)的连续点x,有F’(X)=f(x);5.5.设下列函数的定义域均为(-∞,+∞),则其中可作为概率密度的是()A.f(x)=-e-xB. f(x)=e-xC. f(x)=D.f(x)=[答疑编号918070105]『正确答案』分析:本题考察概率密度的判定方法。
2010年全国自考高级语言程序设计模拟试卷(四)及答案
更多优质自考资料,请访问自考乐园俱乐部/club/5346389 2010年全国自考高级语言程序设计模拟试卷(四)一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。
1.下列标识符中,不是C语言保留字的是()A.charB.whileC.minD.default答案:C2.以下能正确定义且赋初值的语句是()A.int n1=n2=10;B.char c=32;C.float f=f+1.1;D.double x=12.3E2.5;答案:B3.设有宏定义“#define R 2+3”,则R*R的宏替换结果正确的是()A.(2+3)*(2+3)B.2+3*2+3C.5*5D. 5.0*5.0答案:B4.执行语句“for (k=4;k>0;k--) { break; --k;}”后,变量k的值是 ()A. 1B. 2C. 3D. 4答案:D5.能将x定义成指向文件的文件型指针的数据定义语句是()A.FILE x;B.file *x;C.file x;D.FILE *x;答案:D6.设 int a=4,b;则执行b=a<<1;语句后,b 的结果是()B. 2C.8D.10答案:C7.执行表达式“x=(y=4,z=16,k=32)”后,x的值为()A. 4B.16C.32D.52答案:C8.函数调用“strcmp(″333″,″300″)”的返回值是 ()A.0B. 1C.任意负整数D.任意正整数答案:D9.若有:char c[5]={′a′,′b′,′\0′,′c′,′\0′}; 则执行语句printf(″%s″,c);的结果为()A.′a′ ′b′B.abC.ab cD.ab\0c答案:B10.设变量x为实型,不能正确表达数学公式xyz的表达式是 ()A.x/y*zB.x*(1/(y*z))C.x/y*1/zD.x/y/z答案:A11.以下循环体的执行次数是()main(){int i,j;for(i=0,j=1;i<=j+1;i+=2,j--)printf(″%d\n″,i);}A. 3B. 2D.0答案:C12.设有定义:char s[12]={″string″};,则printf(″%d\n″,strlen(s));的输出是()A. 6B.7C.11D.12答案:A13.设有数据定义语句“struct xyz { int x;float y;char z;} xyz1;”,则下面的说法中,错误的是()A.struct xyz可以看成一种数据类型符B.xyz是用户选取的结构型名称C.xyz1可以用来定义该结构型变量等D.x是结构型的成员名答案:C14.以只写方式打开一个文本文件,应选择的文件操作方式是()A.″a+″B.″w+″C.″wb″D.″w″答案:D15.已知:int a[3][4],(*p)[4]=a;且a[0][0]的地址为2000,则下列表达式地址不是2008的是()A.*p+1B.a+1C.*(a+1)D.*(p+1)答案:A解析:*p+116.以下与int*q[5];等价的定义语句是()A.int q[5];B.int *q;C.int*(q[5]);D.int(*q)[5];答案:C解析:int*(q[5]);17.已知:float x=1,y;则y=++x*++x的结果为()A.y=9B.y=6C.y=1D.表达式是错误的答案:B解析:y=618.在C语言中,引用数组元素时,其数组下标的数据类型允许是()A.整型常量B.整型表达式C.整型常量或整型表达式D.任何类型的表达式答案:C解析:整型常量或整型表达式19.以下选项中,合法的用户标识符是 ()A.longB.2TestC.3DmaxD. A.dat答案:B解析:2Test20.下列程序段的输出结果是 ()int k=2,n=2,m;m=(k+=n*=k); printf(″%d,%d\n″,m,n);A.8,6B.8,3C.6,4D.7,4答案:C解析:6,4二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。
2010年3月全国计算机二级(C语言程序设计)笔试真题及参考答案
2010年3月全国计算机等级考试二级笔试试卷C 语言程序设计及参考答案一、选择题(1) 下列叙述中正确的是A)对长度为n 的有序链表进行查找,最坏情况下需要的比较次数为nB)对长度为n 的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)C)对长度为n 的有序链表进行对分查找,最坏情况下需要的比较次数为(2log n )D) 对长度为n 的有序链表进行对分查找,最坏情况下需要的比较次数为(n 2log n )(2) 算法的时间复杂度是指A)算法的执行时间 B)算法所处理的数据量 C)算法程序中的语句或指令条数 D)算法在执行过程中所需要的基本运算次数(3) 软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。
下面属于系统软件的是A)编辑软件 B)操作系统 C)教务管理系统 D)浏览器(4) 软件(程序)调试的任务是A)诊断和改正程序中的错误 B)尽可能多地发现程序中的错误 C)发现并改正程序中的所有错误 D)确定程序中错误的性质(5) 数据流程图(DFD 图)是A)软件概要设计的工具 B)软件详细设计的工具 C)结构化方法的需求分析工具 D )面向对象方法的需求分析工具(6) 软件生命周期可分为定义阶段,开发阶段和维护阶段。
详细设计属于A)定义阶段 B)开发阶段 C)维护阶段 D)上述三个阶段7) 数据库管理系统中负责数据模式定义的语言是A)数据定义语言 B)数据管理语言 C)数据操纵语言 D)数据控制语言(8) 在学生管理的关系数据库中,存取一个学生信息的数据单位是A)文件 B)数据库 C)字段 D)记录(9) 数据库设计中,用E-R 图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的A)需求分析阶段 B)逻辑设计阶段 C)概念设计阶段 D)物理设计阶段(10) 有两个关系R 和T 如下:A)选择 B )投影 C)交 D)并(11) 以下叙述正确的是A)C 语言程序是由过程和函数组成的 B)C 语言函数可以嵌套调用,例如:fun(fun(x))C)C 语言函数不可以单独编译 D)C 语言中除了main 函数,其他函数不可以作为单独文件形式存在(12) 以下关于C 语言的叙述中正确的是A)C 语言中的注释不可以夹在变量名或关键字的中间 B)C 语言中的变量可以再使用之前的任何位置进行定义C)在C 语言算术的书写中,运算符两侧的运算数类型必须一致 D)C 语言的数值常量中夹带空格不影响常量值的正确表示(13) 以下C 语言用户标示符中,不合法的是A)_1 B)AaBcC)a_b D)a--b (14) 若有定义:double a=22;int i=0,k=18;则不符合C 语言规定的赋值语句是A)a=a++,i++ B)i=(a+k)<=(i+k) C)i=a%11 D)i=!a(15)#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);}当执行程序时,按下列方式输入数据(从第一列开始,<CR>代表回车,注意:回车是一个字符)12<CR>34<CR>则输出结果是:A、1234B、12C、12D、1216、以下关于C语言数据类型使用的叙述中错误的是:A、若要准确无误的表示自然数,应使用整数类型。
2010年4月全国自考(操作系统)真题试卷(题后含答案及解析)
2010年4月全国自考(操作系统)真题试卷(题后含答案及解析) 题型有:1. 单项选择题 2. 多项选择题 3. 填空题 4. 简答题 5. 综合题单项选择题1.有关汇编语言表述正确的是A.每个语句都与多条机器指令相对应B.每个语句都与一条机器指令相对应C.多个语句与一条机器指令相对应D.有的语句与一条机器指令相对应正确答案:B2.UNIX的第一个版本Versionl是在()计算机上开发的。
A.PDP-5B.PDP-6C.PDP-7D.PDP-8正确答案:C3.具有微型化和实时性特点的操作系统是A.单用户微机操作系统B.实时操作系统C.单道批处理操作系统D.嵌入式操作系统正确答案:D4.CPU执行程序时.将每次从主存读出当前要执行的一条指令存人A.程序计数器B.指令寄存器C.指令译码器D.地址寄存器正确答案:B5.CPU在管态下可以执行计算机的A.特权指令B.非特权指令C.访管指令D.一切指令正确答案:D6.用户与UNIX系统进行交互作用的界面是A.windowsB.APIC.shellD.GUI正确答案:C7.进程是程序的一次执行过程,在执行过程中进程的状态不断发生变化,进程的这种特性称为A.动态性B.并发性C.同步性D.异步性正确答案:A8.进程名存放在该进程控制块PCB的()区域中。
A.说明信息B.标识信息C.现场信息D.管理信息正确答案:B9.造成某进程状态从就绪态转变成运行态的原因是A.上次分配给该进程的处理器时间太短B.有更高优先级的进程要运行C.该进程需要更多的处理器时间运行D.该进程被进程调度程序选中正确答案:D10.不属于进程控制原语的是A.接收原语B.撤销原语C.阻塞原语D.唤醒原语正确答案:A11.存储管理的目的是尽可能地方便用户使用和A.执行用户程序B.提高主存利用率C.提高主存的速度D.增加主存实际容量正确答案:B12.以下存储管理技术中,可以实现虚拟存储器的技术是A.单用户连续存储管理B.固定分区存储管理C.可变分区存储管理D.页式存储管理正确答案:D13.最基本的文件操作是A.打开操作、读写操作、关闭操作B.读写操作、增补操作、关闭操作C.打开操作、增补操作、关闭操作D.打开操作、读写操作、增补操作正确答案:A14.在UNIX的文件系统中,空闲磁盘块的组织方式是A.顺序B.链接C.索引D.成组链接正确答案:D15.假设磁盘的读写头在55号柱面上操作时,有新请求访问的柱面号为100、39、124、16和126。
自考C试题及答案(9套合集)
二、填空题(本大题共20小题,每小题1分,共20分)请在每小题的空格中填上正确答案 。错填、不填均无分。 1. C++的流库预定义了4个流,它们是cin、cout、clog和___。
答案:(P193)cerr [解析]cin、cout、clog和cerr分别用于标准输入、输出、标准错误流(缓冲)和标准错误流 (非缓冲)。
17. 下列程序的输出结果是()
#include <iostream.h>
void main() {int n[][3]={10,20,30,40,50,60}; int (*p)[3];vn p=n; cout<<p[0][0]<<","<<*(p[0]+1)<<","<<(*p)[2]<<endl;} A. 10,30,50 B. 10,20,30 C. 20,40,60 D. 10,30,60 答案:B 解析:如果数组元素都是相同类型的指针,则称这个数组为指针数组。指针数组一般用于处理二 维数组。声明的格式为:<数据类型><(*变量名)><[元素个数]>。 p表示指向数组n的行指针。如果将指针的初始化(*p)[3]=b;地址的等价形式: p+i p[i]*(p+i)都表示b数组第i+1行的第1个元素的首地址。 *(p+i)+jp[i]+j &p[i][j]都表示b数组第i+1行、第j+1列元素的地址。 值的等价形式: *(*(p+i)+j) *(p[i]+j) p[i][j]都表示b数组第i+1、第j+1列元素的值。 所以题目分别访问p[0][0],p[0][1],p[0][2]。 18. 在C++中,使用流进行输入输出,其中用于屏幕输入() A. cin B. cerr C. cout D. clog 答案:A 解析:(P193)(1)标准输入流cin:istream类的对象。(2)标准输出流cout:ostream类的对象。 (3)非缓冲型标准出错流cerr:ostream类的对象。(4)缓冲型标准出错流clog:ostream类的对象 19. 假定AA为一个类,a()为该类公有的函数成员,x为该类的一个对象,则访问x对象中函数 成员a()的格式为() A. x.a B. x.a() C. x->a D. (*x).a() 答案:B 解析:(P41)对象访问成员的方式为:对象名.成员。指针可以有两种:(*对象指针).成员或者对 象指针->成员。A选项是访问数据成员,B项是访问成员函数。 20. 关于对象概念的描述中,说法错误的是() A. 对象就是C语言中的结构变量 B. 对象代表着正在创建的系统中的一个实体 C. 对象是类的一个变量 D. 对象之间的信息传递是通过消息进行的 答案:A 解析:(P37)A对象在C++中才有,包括数据和操作两项,而C中的变量只有数据,没有操作。所 以A项错误。
历届自考C++__程序设计试题及答案
历届自考C++__程序设计试题及答案全国2008年10月自学考试C++程序设计试题课程代码:04737 一、单项选择题(本大题共20小题,每小题1分,共20分) 1(对C++语言和C语言的兼容性,描述正确的是( A )A(C++兼容C B(C++部分兼容C D(C兼容C++2(在C++中使用流进行输入输出,其中用于屏幕输出的对象是( C ) A(cerrB(cin C(coutD(cfile(cerr:标准错误输出(非缓冲方式);cin:标准输入;clog 标准错误输出(缓冲方式))3(对使用关键字new所开辟的动态存储空间,释放时必须使用( C ) A(freeB(create C(delete D(realse(如没有使用private关键字定义类的数据成员,则默认为( A ) 4A(private B(public C(protected D(friend5(使用值传递方式将实参传给形参,下列说法正确的是( A ) A(形参是实参的备份 B(实参是形参的备份C(形参和实参是同一对象D(形参和实参无联系 6(在函数调用时,如某一默认参数要指明一个特定值,则有( A ) A(其之前所有参数都必须赋值B(其之后所有参数都必须赋值C(其前、后所有参数都必须赋值D(其前、后所有参数都不必赋值7(设存在函数int max(int,int)返回两参数中较大值,若求22,59,70三者中最大值,下列表达式不正确的是( C )A(int m = max(22,max(59,70)); B(int m = max(max(22,59),70);C(int m = max(22,59,70);D(int m = max(59,max(22,70));8(下列哪个类型函数不适合声明为内联函数( A )A(函数体语句较多 B(函数体语句较少C(函数执行时间较短 D(函数执行时间过长 9(int Func(int,int);不可与下列哪个函数构成重载( B ) A(int Func(int,int,int); B(double Func(int,int);C(double Func(double,double); D(double Func(int,double); 说明:不能以形参名来区分函数;不能以函数返回值来区分函数。
2010和2011年计算机c程序设计真题及答案
二O一O年硕士学位研究生招生入学考试试题考试科目:计算机程序设计代码:9271.填空题20题,每题1分1)程序的三种基本的控制结构是:顺序结构、选择结构、循环结构。
2)外部函数的储存类型是,它既可以在本编译单位中被调用,又可以在中被调用。
3)若a函数中调用了b函数,而b函数又调用了c函数,这种调用称为调用。
若a函数中调用了b函数,而b函数又调用了a函数,这种调用称为调用。
4)“*”称为指针运算符,“&”称为取值运算符。
5)表示结构体成员的“ . ”称为成员(分量)运算符,“ -> ”称为分量运算符。
6)如果调用fopen函数不成功,则函数返回值为0;如果调用fclose函数不成功,则函数返回值为EOF。
7)C++语言中有//和/*与*/ 二种注释方法。
8)在C++中用关键字 class来定义新的类。
9)若有以下定义,则不移动指针p,且通过指针p引用值98的数组元素的表达式是。
int w[10]={23,54,10,33,47,98,72,80,61,102}, *p=w;10)位运算:0x1a2c&0x1a79 的运算结果是(用八进位制形式写出)015050 。
2.程序填空题4题,每题5分1)下列程序的功能是计算1-10之间偶数之和,请填空。
#include <iostream.h>void main( ){ int a, b,i:a=0;b=0;for ( i=0;__i<=10_____;i+=2){ a+=i;(2) ;}cout<<“偶数之和为:”<<a<<endl;}2)下列程序是将一个正整数n的各个位向左循环移动4位,请在程序的横线上填写适当的内容。
#include <stdio.h>void main(void){ int k,n,a;scanf(“%d”,&n);k=n&0xf000;k= >>12 ;a=n<<4;a=k | a;printf(“n=%o\n a=%o\n”,n,a);}3)下面是字符串拷贝函数,请填空。
全国2010年7月自学考试计算机基础与程序设计试题
全国2010年7月自学考试计算机基础与程序设计试题全国2010年7月自学考试计算机基础与程序设计试题 1做试题,没答案?上自考365,网校名师为你详细解答!全国2010年7月自学考试计算机基础与程序设计试题课程代码:02275一、单项选择题 (本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.与十进制数49等值的二进制数是()A.101111B.110000C.110001D.1100102.编译程序的功能是()A.修改并建立源程序B.将源程序翻译成目标程序C.调试程序D.命令计算机运行可执行程序 3.Turbo C 2.0中,若定义long b ;则变量b 在内存中分配的字节数是()A.1个B.2个C.4个D.8个4.下列语句中不能..实现循环结构的语句是() A.if 语句B.while 语句C.do —while 语句D.for 语句5.以下程序的输出结果是()main(){ int y=10;while(y ——);printf("y=%d”,y);}A.y=-1B.y=0C.y=1D.y=随机值 6.下列程序的输出结果是()main(){ int a[10]={l,2,3,4,5,6,7,8,9,10};printf(″%d\n″,a[2]);}A.1B.2C.3D.47.下面程序的输出结果是()#include#includemain(){ char p1[10]= ″abc″,p2[]=″ABC″;strcat(p1,p2);printf(″%s\n″,p1);}A.abcabcB.abcC.ABCD.abcABC8.设有int x=2,y,z;执行z=y=x++;后变量x的值是()B.1C.2D.39.下面程序段的输出结果是()main(){ int a=2,b=5;printf(″a=%%%d,b=%%9%d″,a,b);}A.a=2,b=5B.a=2%,b=5%C.a=%2,b=%5D.a=%d,b=%d10.若有下列程序段,欲使a=2,b=3,对应正确的数据输入法是(其中表示回车)()int a,b;2 全国2010年7月自学考试计算机基础与程序设计试题scanf(″%d,%d″,&a,&b);A.2B.a=2,b=33C.a=2b=3D.2,311.若运行时给变量x输入12,则以下程序的运行结果是()main(){ int x,y;scanf(″%d″,&x);y=x>12?x+10:x-12;printf(″%d\n″,y);}B.10C.12D.2212.若执行下列程序时,从键盘上输入3和4,则输出结果是()main(){ int a,b,s;scanf(″%d%d″,&a,&b);s=a:if(as=s*s;printf(″%d\n″,s);}A.9B.16C.18D.2013.C语言的auto型变量存储在()A.动态存储区中B.静态存储区中C.计算机CPU的寄存器中D.外存储器中14.以下程序的输出结果是()ff()3 全国2010年7月自学考试计算机基础与程序设计试题全国2010年7月自学考试计算机基础与程序设计试题 4{ int a=l ,c=8;static int b=4;if(b= =4){a+=c;b++;}(a+=c ;b--;)printf(″a=%d ,b=%d \n ″,a,b);}main(){ff();ff();}A.a=9,b=5B.a=9,b=4 a=9,b=5a=9,b=4 C.a=9,b=4D.a=9,b=5 a=9,b=5 a=9,b=415.设p1和p2是指向同一个字符串的指针变量,且c 为字符型变量,则以下不能..正确执行的赋值语句是()A.c=*p1+*p2;B.p2=*p1;C.p1=p2;D.c=*p1*(*p2);16.以下选项中,对指针变量p 的正确操作是()A.int a[5],*p ;p=&a ;B.int a[5],*p ;p=a ;C.int a[5];int *p=a[5];D.int a[5];int*p ,p2=a ;*p=*p2; 17.设有下面的结构体和结构变量定义:struct student{long id :char*name ;int math;};struct student studl ;全国2010年7月自学考试计算机基础与程序设计试题 5关于结构体类型变量赋值正确的是()A.studl.id=1001;/doc/49627214.html,=″Tom ″;B.id=1001;*studl. name=″T om ″;C.studl.id=1001;studl.*name=″Tom ″;D.studl.id=1001L ;*/doc/49627214.html,=″Tom ″;18.设有说明:int x=7,y=1;表达式:x&~y 的值是()A.0B.2C.4D.619.设有说明:int u=1,v=14;表达式:u|v>>2的值是()A.-1B.1C.3D.420.设有说明:FILE*fp ;char filename[10]= ″myfile ″;对于fp=fopen(filename ,″rb+″);语句,下面说法正确的是()A.打开名为myfile 的文件读写B.打开名为filename 的文件读写C.打开名为myfile 的文件只读D.打开名为filename 的文件只读二、多项选择题 (本大题共5小题,每小题2分,共10分)在每小题列出的五个备选项中至少有两个是符合题目要求的,请将其代码填写在题后的括号内。
2008-2010自学考试C++程序设计试题汇编(含答案)
全国2021年10月自学考试C++程序设计试题课程代码:04737一、单项选择题(本大题共20小题,每题1分,共20分)在每题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多项选择或未选均无分。
1.对C++语言和C语言的兼容性,描述正确的选项是〔〕A.C++兼容C B.C++局部兼容CC.C++不兼容C D.C兼容C++2.在C++中使用流进行输入输出,其中用于屏幕输出的对象是〔〕A.cerr B.cinC.cout D.cfile3.对使用关键字new所开辟的动态存储空间,释放时必须使用〔〕A.free B.createC.delete D.realse4.如没有使用private关键字定义类的数据成员,那么默认为〔〕A.private B.publicC.protected D.friend5.使用值传递方式将实参传给形参,以下说法正确的选项是〔〕A.形参是实参的备份B.实参是形参的备份C.形参和实参是同一对象D.形参和实参无联系6.在函数调用时,如某一默认参数要指明一个特定值,那么有〔〕A.其之前所有参数都必须赋值B.其之后所有参数都必须赋值C.其前、后所有参数都必须赋值D.其前、后所有参数都不必赋值7.设存在函数int max(int,int)返回两参数中较大值,假设求22,59,70三者中最大值,以下表达式不正确的选项是〔〕A.int m = max(22,max(59,70));B.int m = max(max(22,59),70);C.int m = max(22,59,70); D.int m = max(59,max(22,70));8.以下哪个类型函数不适合声明为内联函数〔〕A.函数体语句较多B.函数体语句较少C.函数执行时间较短D.函数执行时间过长9.int Func(int,int);不可与以下哪个函数构成重载〔〕A.int Func(int,int,int);B.double Func(int,int);C.double Func(double,double);D.double Func(int,double);10.对类中声明的变量,以下描述中正确的选项是〔〕A.属于全局变量B.只属于该类C.属于该类,某些情况下也可被该类不同实例所共享D.任何情况下都可被该类所有实例共享11.类的私有成员可在何处访问〔〕A.通过子类的对象访问B.本类及子类的成员函数中C.通过该类对象访问D.本类的成员函数中12.如果没有为一个类定义任何构造函数的情况下,以下描述正确的选项是〔〕A.编译器总是自动创立一个不带参数的构造函数B.这个类没有构造函数C.这个类不需要构造函数D.该类不能通过编译13.一个类可包含析构函数的个数是〔〕A.0个 B.1个C.至少一个D.0个或多个14.this指针存在的目的是〔〕A.保证基类公有成员在子类中可以被访问B.保证每个对象拥有自己的数据成员,但共享处理这些数据成员的代码C.保证基类保护成员在子类中可以被访问D.保证基类私有成员在子类中可以被访问15.以下关于类的权限的描述错误的选项是〔〕A.类本身的成员函数只能访问自身的私有成员B.类的对象只能访问该类的公有成员C.普通函数不能直接访问类的公有成员,必须通过对象访问D.一个类可以将另一个类的对象作为成员16.在编译指令中,宏定义使用哪个指令〔〕A.#include B.#defineC.#if D.#else17.设类A将其它类对象作为成员,那么建立A类对象时,以下描述正确的选项是〔〕A.A类构造函数先执行B.成员构造函数先执行C.两者并行执行D.不能确定18.以下描述错误的选项是〔〕A.在创立对象前,静态成员不存在B.静态成员是类的成员C.静态成员不能是虚函数D.静态成员函数不能直接访问非静态成员19.对于友元描述正确的选项是〔〕A.友元是本类的成员函数B.友元不是本类的成员函数C.友元不是函数D.友元不能访问本类私有成员20.在哪种派生方式中,派生类可以访问基类中的protected成员〔〕A.public和private B.public和protectedC.protected和private D.仅protected二、填空题(本大题共20小题,每题1分,共20分)请在每题的空格中填上正确答案。
2010C程序教案(第10章)
2010C程序教案(第10章)第一篇:2010C程序教案(第10章)【教学课题】预编译处理(第10章预编译处理,1、2节)【目的要求】了解编译预处理的特点和功能,掌握编译预处理中的宏定义,理解文件包含。
【教学重点】宏的定义与使用(无参和有参),理解带参的宏和函数的区别。
【教学难点】宏的定义与使用(无参和有参),理解带参的宏和函数的区别。
【教学方法】任务驱动法,问题引导法【教学手段】讲授+多媒体演示+学生动手【作业布置】1、定义一个带参数的宏,使两个参数的值互换,并写出程序,输入两个数作为使用宏时的实参。
输出已交换的两个值。
2、分别用函数和带参的宏,从3 个数中找出最大数。
一、提出任务,引入课题例1:#include main(){ int a……} 例2:#include #define N 100 main(){ int a[N];…… }。
一般C程序的开发执行过程:编辑→ 编译→ 连接→ 执行含有预处理命令的C程序:编辑→ 预处理→ 编译→ 连接→ 执行二、分析任务,讲授新课C提供的预处理功能主要有以下三种:宏定义、文件包含、条件编译。
分别用宏定义命令、文件包含命令、条件编译命令来实现。
为了与一般C语句相区别,这些命令以符号“ #” 开头。
(一)宏替换(P172)宏:代表一个字符串的标识符。
宏名:被定义为“宏”的标识符。
宏代换(展开):在编译预处理时,对程序中所有出现的“宏名”,用宏定义中的字符串去代换的过程。
不带参数的宏定义A、一般形式:#define 标识符替换文本例如:#define PI3.14159 main(){ float l,r;printf(“Input a number :”);scanf(“%f”,&r);l=2*PI*r printf(“l=%fn”,l);} 说明:⑴宏名一般用大写表示,以便与变量名区分。
⑵使用宏名使程序易读,易修改。
⑶只作简单的置换,不作正确性检查。
2010年全国自考Java语言程序设计(一)模拟试卷(一)
10. 键盘事件的接口是___。
答案:(P132)KeyListener [解析]键盘事件的接口是KeyListener,注册键盘事件监视器的方法是addKeyListener(监视器 )。实现KeyListener接口的方法有3个: (1)keyPressed(KeyEvent e),键盘上某个键被按下。 (2)keyReleased(KeyEvent e),键盘上某下键被按下后,又释放。 (3)keyTyped(KeyEvent e),keyPressed和keyReleased两方法的组合
3. 设计一个JFrame窗口,窗口中心有一个文本区。另有4个菜单,每个菜单都有菜单项,每个
菜单项都对应有快捷键,选择某个菜单项时,窗口中心的文本区显示相应信息。 import java.awt.*; import java.awt.event.*; import javax.swing.*; public class C2902 implements ActionListener { ___ JTextField text=new JTextField(20); String t[]={"文件","编辑","格式","帮助"}; Menu menu[]=new Menu[4]; String s[]={"打开","保存","复制","粘贴","字体","段落","小助手","关于"}; MenuItem jmi[]=new MenuItem[8]; C2902() { JFrame myWin=new JFrame("Ex0606"); myWin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Container con=myWin.getContentPane(); con.add(text,"Center"); text.setEditable(false); myWin.setMenuBar(jmb); int i; for(i=0;i<4;i++)//生成四个菜单
2010年10月全国自考高级语言程序设计(一)真题及参考答案
全国2010年10月高等教育自学考试高级语言程序设计(一)试题课程代码:00342一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.用户自定义标识符正确的是( )A.3abB.intC.fa2_aD.sin(x)2.关于C语言程序描述正确的是( )A.函数必须要有return语句B.主函数必须位于程序的开头C.程序中每行只能写一条语句D.一个程序中只能有一个主函数3.设int i=8,a,b;double x=1.42,y=5.2;,正确的表达式是( )A.a+=(b=4)*(a=3)B.a=a*3=2C.x%(-3)+y* *3D.y=float(i)4.设int a[][2]={1,2,3,4,5,6,7};,其中缺省的行长度的最小值是( )A.2B.3C.4D.55.设char c='A';int i=1,j;,执行语句j=!c&&i++;后,i和j的值分别是( )A.0和1B.1和0C.1和65D.2和666.设typedef char STRING[255];STRING*s;,则s是( )A.字符数组B.字符变量C.字符指针数组D.字符指针变量7.设int x=6;,执行语句X+=X-=X*X;后,x的值是( )A.-60B.0C.6D.368.设int i=3,j=3;,表达式i+++j的值是( )A.6B.7C.8D.99.下列为C语言保留字的是( )A.realB.longC.pointerD.integer10.设int a=2,b=6,c=8;,表达式(a,b),(c,10)的值是( )A.2B.6C.8D.1011.变量定义并初始化正确的是( )A.int a=l,*p=a;B.int a=2,p=*a;C.int a=3,p=&a;D.int a=4,*p=&a;12.使用递归函数计算n!(n=0,1,2,,3,....)的是( )A. fac(int n)B. fac(int n){int i,f=- 1; {if(n==0) return 1; if(n==0‖n==1) return 1;else for(i=1 ;i<=n;i++) f*=i; else return n*fac(n-1);return f; }C. fac(int n)D. fac(int n){int i=l,f=l; {int i=1,f=1;if(n==0) return l; if(n==0) return 1;else while(i<=n) f*=i++; else do { f*=i;}while (i++<n)return f; return f;} }13.设struct{int age;int num;}stu,*p=&stu;对结构型变量stu的成员age引用错误..的是( )A.stu.ageB.p->ageC.*p.ageD.(*p).age14.设int a[2]={1,2},*p=a;,则*p是( )A.元素a[0]的值B.元素a[0]的地址C.元素a[1]的值D.元素a[1]的地址15.设int a[10];,对数组元素引用正确的是( )A.a[10]B.a['0']C.a(6)D.a[10-10]二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。
全国2010年1月自考C++程序设计试题(带答案)
全国2010年1月自考C++程序设计试题一、单项选择题(本大题共20小题,每小题1分,共20分)1.在C++中,头文件扩展名为()A..cppB..hC..1ibD..obj2.下列符号中,不属于分隔符的是()A.,B./C.;D.{}3.可替换#define PI 3.1415926的语句是()A.float PI 3.1415926;B.const float PI=3.1415926;C.const PI(3.141592D.const 3.1415926;4.布尔类型标识符是()A.voidB.shortC.longD.bool5.下列不是C++语言的基本数据类型的是()A.字符类型B.整数类型C.逻辑类型D.枚举类型6.C++允许在结构中定义函数,这些函数称为()A.静态函数B.构造函数C.析构函数D.成员函数7.设函数void inc(int)将形参加1,如有整型变量int i=10;则执行inc(i);后,i的值为()A.9B.10C.11D.未知8.下列哪种默认参数的声明是不正确的()A. int max(int a,int b,int c,int d=0);B. int max(int a,int b,int c=0,int d=0);C. int max(int a=0,int b,int c=0,int d=0);D. int max(int a,int b=0,int c=0,int d=0);9.设int &max(int &,int &)返回两参数中较大者,如有两整型变量int a=10;int b=15;在执行max(a,b)++后,a,b值分别为()A.10,15B.11,15C.10,16D.1l,1610.包含哪种语句的函数不能声明为内联函数()A.循环B.变量自增自减C.if...else…D.变量声明11.定义函数模板中使用的参数类型标识符需使用下列哪组符号括起来()A.<>B.“”C.()D.{}12.一个类拥有多个构造函数,则这些构造函数间为()A.重载关系B.重复关系C.拷贝关系D.无关系13.对于拷贝构造函数point::point(point& p),下列说明正确的是()A.该函数只能访问P的私有成员B.该函数不能访问P的公有成员C.该函数可以访问P的私有和公有成员D.该函数不能访问P的成员14.使用delete[]删除对象数组时,描述正确的是()A.数组中各元素都调用析构函数B.数组中各元素都调用构造函数C.不调用析构函数D.只有首元素调用析构函数15.下列哪个指令属于条件编译指令()A. #elifB. #errorC. #pragmaD. #include16.设类Test中存在成员static int x,则下列哪种初始化方式是正确的()A.Test::int x=25;B.int x=25;C.int Test::x=25;D.int Test x=25;17.下列关于友元的描述错误的是()A.成员函数不可作友元B.类可以作友元C.普通函数可以作友元D.静态函数可以作友元18.在继承中,派生类拥有的基类个数为()A.0个B.1个C.多个D.至少1个19.基类中的protected成员,通过public派生,其在派生类中的可见性为()A.不可访问B.privateC.protectedD.public20.下列哪个不是面向对象的关键要素()A.抽象性B.结构性C.封装性D.多态性二、填空题(本大题共20小题,每小题1分,共20分)21.在STL库中用于实现数组内容反转的函数是______ ____。
全国2010年10月自考工学类真题发布
指针,引用与动态内存分配思考题1.什么是地址,什么是地址中的内容,两者的区别是什么?2.运算符“&”和“*”各有几种用法?各自的使用方式以及使用含义是什么?3.什么是指针?地址和指针有什么样的关系?4.如下3处出现的*pi的使用含义有什么不相同吗?int i=23, *pi=&i;cout<<*pi;*pi=56;5.指针的值和类型是怎样规定的?指针的值与其他类型变量的值是否有区别?6.假设程序中有“int a[20];int *pa=a;”的说明,要表示数组元素a[i]时(0≤i≤19),有几种方法可以使用呢?7.指针可以进行哪些运算?和普通数据类型的运算有什么不同?8.假设程序中有“int a[10],b[10][10];”的说明,请问数组名a以及b[i]都与地址及指针有某些关系吗(0≤i≤9)?a[i]与b[i]的使用含义相同吗?a+1与b+1的含义有什么不同?a[2]+1与b[2]+1的使用含义相同吗?9.下面按9种不同方式所定义的p有什么区别与联系?如何对每一种p进行使用?int p; int *p; int **p;int p[10]; int *p[10]; int (*p)[10];int p(); int *p(); int(*p)();10.在“2.4.1 主函数”一节中,给出过带参数的main函数的如下一般使用格式:void main(int argc, char * argv[]){…}你能细致地描述参数argv所表达的数据结构吗?11.试述指针在函数的参数传递中的作用及其使用方法。
指针参数与数组参数是否有某种形式的关联?12.怎样使用动态分配运算符new来生成无名的动态变量以及无名的动态数组?如何对这种动态变量及动态数组进行使用?如何使用delete来配合new释放上述的动态存储空间?13.什么是引用?引用和指针的区别是什么?引用型参数具有哪些优点?14.引用型的函数返回值与非引用型的函数返回值是否有某些不相同?15.如何定义结构类型?如何说明与使用结构变量及其分量?结构与数组的定义与使用有哪些异同?16.假设某结构的分量中含有指向本结构的指针(如下面的person结构类型),请问如何通过使用new及某些相关步骤来生成一个链表呢?struct person {...person * next;};17.在上一题person结构类型的基础上,如下的程序“构架”是否可以用来实现生成一个具有n个项的链表(而总将新链表项加入到当前已有链表的末尾)?person *head, *tail, *temp;//head指向链表首项,tail指向末项tail = head = NULL; //使head及tail均指向“空”,表示空链表for(i=0; i<n; i++){ //形成一个具有n个项的链表temp=new person; //生成一个person型的动态新表项temp->next=NULL; //新表项将充当链表末项,将其next域置为NULL... //如,通过cin输入(*temp)结构(变量)的其它各分量之值等 if(head==NULL)head=tail=temp; //链表为空时,新表项既为首项又为末项else { //链表非空时tail->next=temp; //新表项加入到原链表的末项之后tail=temp; //新表项成为链表的新末项}} //i循环体结束18.在C++语言中使用指针有哪些优点?指针在程序安全方面是否会有负面影响?练习题1.读程序写结果。
全国2010年10月自学考试C加加程序设计试题
全国2010 年10 月自学考试C++程序设计试题一、单项选择题(本大题共20 小题,每小题 1 分,共20 分)1.C++中注释“∥”的有效范围是()A. 从“∥”开始到行尾B. 从“∥”开始到下一个“∥”C.“∥”及其后一个字符D.从“∥”开始到程序尾2. 假定MyClass 为一个类,则该类的复制构造函数的声明语句为()A.MyClass&(MyClass x) ;B.MyClass(MyClass x) ;C.MyClass(MyClass &x) ;D.MyClass(MyClass *x) ;3. 下列选项不是C++关键字的是()A.typedefB.voidC.boolD.inc4. 用于标识十进制常量的前缀或后缀是()A. 无前后缀B. 后缀L 或lC. 前缀0D.前缀0x5. 设int x=56 ;int r=x ;若cout <<&x ;显示0012FF7A,则cout <<&r ;输出值为()A.56B.00l2FF7AC.0012FF7BD. 未知6. 使用下列哪个流格式控制符可设置转换基数为八进制()A.decB.octC.hexD.endl7.C++中是否允许在类结构中定义函数()A. 不允许B. 允许C. 仅允许定义构造函数D.只不允许定义构造函数8. 设函数void subone(int &)将形参减1,如有整型变量int k=10,则执行subone(k) ;后,k的值为()A.9B.10C.11D.未知9. 对函数int max(int a,int b=0,int c=0,int d=0,int e=0) ;下列调用方式正确的是()A.int m=max(10 ,11,12,13,14) ;B.int m=max(10 ,,12,13,14) ;C.int m=max(10 ,1l ,,13,14) ;D.int m=max(10 ,11,12,,14) ;10. 类MyClass 的定义如下:class MyClass{ public :MyClass(){}MyClass(int i){value=new int(i);}int * value ;} ;若要对value 赋值,则下面语句正确的是()A.MyClass my ;my.value=10 ;B.MyClass my ;*my.value=10 ;C.MyClass my ;my.*value=10 ;D.MyClass my(10) ;11. 包含哪种语句的函数不能声明为内联函数()A. 变量定义B.if,,elseC. 位操作D.switch12. 声明函数模板的关键字是()A.inlineB.templateC.constD.short13. 对于类中的成员,使用public 修饰,表明该成员的访问权限是()A. 公有的B. 私有的C. 保护的D.不可见的14. 一个类中是否可以允许一个无参数构造函数和一个全部都是默认参数的构造函数共存()A. 不允许B. 允许C. 无法确定D. 视构造函数的函数,可确定15. 析构函数的参数个数为()A.0 个B.1 个C. 至少 1 个D.多于1 个16. 非静态成员函数都会有一个隐含指针,它是()A.self 指针B.this 指针C.current 指针D.one 指针17. 下列访问公有静态成员的方式,错误的是()A. 类名::静态成员名B. 对象名. 静态成员名C.对象指针-> 静态成员名D.对象指针. 静态成员名18.声明友元使用下列哪个关键字()A.class B .const C .friend D.virtual19.派生类继承了基类的()A.所有成员 B .部分成员 C .数据成员D.成员函数20.基类private 成员,通过public 派生,其在派生类中为()A.private B .protected C .public D.不可访问二、填空题(本大题共20 小题,每小题 1 分,共20 分)21.执行下列代码double pi=3.141592 ;cout<<setprecision(1)<<pi ;程序的输出结果是_________。
C语言自考试题答案(2010年4月)
全国2010年4月高等教育自学考试计算机基础与程序设计试题课程代码:02275一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.在Turbo C2.0中,可激活主菜单的键是()A.F1B.F5C.F9D.F102.在Turbo C 2.0中,若定义char ch;则变量ch在内存中分配的字节数是()A.1个B.2个C.4个D.8个3.若有下列程序段,欲使x=5,y=6,对应正确的输入方法是(其中<CR>表示回车)()int x,y;scanf(″%d%d″,&x,&y);A.x=5 y=6<CR>B.x=5,y=6<CR>C.5<CR>D.5,6<CR>6<CR>4.下面程序段的输出结果是()main(){int a=2,b=5;printf(″a=%d%%,b=%d%%″,a,b);}A.a=2,b=5B.a=2%,b=5%C.a=%2,b=%5D.a=%d,b=%d5.设有条件表达式(exp)? a++:b--,则下列表达式中能够与该表达式完全等价的表达式是()A.(exp!=0)? a++∶b--B.(exp==0)? a++∶b--C.(exp==1)? a++∶b--D.(exp!=1)? a++:b--6.对于for(表达式l;表达式2;表达式3)语句;控制循环结束的表达式是()A.表达式1B.表达式2C.表达式3D.表达式l和表达式37.设有下列程序:()void main(void){int x[4]={1,3,5,7},i;i=0:printf("%d",x[i++]);}其输出结果是A.1B.3C.5D.78.下列关于函数的说法中,不正确...的是()A.函数名后面一定要一对圆括号B.空函数被调用时不做任何工作C.函数形参个数可以是一个、多个或没有D.函数参数类型可不作说明9.指向与文件参数有关的结构体类型的指针变量称为()A.函数指针B.整型指针C.字符型指针D.文件指针10.计算机对解释型高级语言的执行方式是()A.逐条语句边解释边执行,即解释一条就执行一条B.将整个程序编译完成后再执行,不生成目标程序C.将源程序编译成目标程序,生成并保留目标程序然后执行D.将源程序解释完毕后再执行11.设有int x=2,y,z;执行z=y=x——;后变量y的值是()A.0B.1C.2D.312.两次运行下面的程序,如果从键盘上分别输入6和4,则输出的结果是()void main(void){int x;scanf("%d",&x);if(x + + >5)printf("%d",x);else printf("%d\n",x——);}A.7和5B.6和3C.7和4D.6和413.在下列选项中,没有构成死循环的程序段是()A.int i=100;B.for(;;);while(1){ i=i%100+1;if(i>100)break;}C.int k=1000;D.int s=36;do{++k;}while(k>10000);while(s);一一s;l4.定义如下变量和数组int x[3][3]={9,8,7,6,5,4,3,2,l};则执行下面语句for(k=0;k<3;k++)if(k%2)printf("%5d",x[k][k]);后输出结果是()A.3B.5C.7D.9l5.设有下列程序:ff(){int c=9;static int a=1,b=4;if(b==4){a+=c;b++;}else {a+=c;b——;}printf("a=%d,b=%d\n",a,b);}main(){ff();ff();}则该程序执行后,显示的结果为()A.a=10,b=5B.a=10,b=4a=19,b=5 a=l9,b=5C.a=10,b=4D.a=10,b=5a=19,b=4 a=19,b=416.下面能正确进行字符串赋值操作的是()A.char s[5]={"ABCDE"};B.char s[5]={′A′,′B′,′C′,′D′,′E′};C.char *s;s="ABCDE";D.char *s;scanf("%s",s);17.下面程序段的运行结果是()chars *s="abcde";s+=2 printf("%d",s);A.cdeB.字符′c′C.字符′c′的地址D.无确定的输出结果18.下面关于结构体类型变量定义正确的是()A.struct bunding {int area=12345;char *name="No1 Hotel";} bl;B.struct building{int area=12345;char *name="Nol Hotel";C.building {int area=12345;char *name="No1 Hotel";} b1;D.STRUCT building {int area=12345;char *name="Nol Hotel";} b1;19.设有下面程序:# include"stdio.h"void main(void){unsigned x=1,y=3,z=5;printf("%d\n",z^x&y);}该程序的运行结果是()A.0B.3C.4D.520.设有说明:int u=l,v=3,w=5;表达式:u<<=(v|w)的值是()A.1B.5C.13D.128二、多项选择题(本大题共5小题,每小题2分,共10分)在每小题列出的五个备选项中至少有两个是符合题目要求的,请将其代码填写在题后的括号内。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2010年全国自考C++程序设计模拟试卷(三)一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1. 设有定义int i;double j=5;,则10+i+j值的数据类型是()A. intB. doubleC. floatD. 不确定答案:B解析:考察数据的转换,j是double类型,运算只能作同类型的运算,所以要转换,而int能自动转换为double类型,所以结果是double类型。
2. 要禁止修改指针p本身,又要禁止修改p所指向的数据,这样的指针应定义为()A. const char *p=“ABCD”;B. char *const p=“ABCD”;C. char const *p=“ABCD”;D. const char * const p=“ABCD”;答案:D解析:(P12)const char *p说明禁止通过p修改所指向的数据。
char * const p则说明不能修改指针p的地址。
因此const char * const p=“ABCD”;它禁止修改指针p本身,又禁止修改p所指向的数据。
3. 类的构造函数被自动调用执行的情况是在定义该类的()A. 成员函数时B. 数据成员时C. 对象时D. 友元函数时答案:C解析:(P75)建立对象时,自动构造函数的初始化对象,是系统自动调用的。
而成员函数、友元函数,需要用户直接调用,因此选择C项。
4. 已知类A是类B的友元,类B是类C的友元,则()A. 类A一定是类C的友元B. 类C一定是类A的友元C. 类C的成员函数可以访问类B的对象的任何成员D. 类A的成员函数可以访问类B的对象的任何成员答案:C解析:(P105)友元说明方法如下:friend?<类名>;//友元类类名使用友元可以访问所有成员:(1)友元关系不能被继承。
(2)友元关系是单向的,不具有交换性。
所以,B项和D项错误。
(3)友元关系不具有传递性。
所以,A项错误。
5. 假定一个类的构造函数为“A(int i=4, int j=0) {a=i;b=j;}”, 则执行“A x (1);”语句后,x.a和x.b的值分别为()A. 1和0B. 1和4C. 4和0D. 4和1答案:A解析:(P75)带默认的构造函数,对应实参没有值时就采用形参值。
调用构造函数时,i=1,不采用默认值,而只有一个参数,j采用默认值0即j=0,因此a=1,b=0,选择A项。
6. 关于this指针使用说法正确的是()A. 保证每个对象拥有自己的数据成员,但共享处理这些数据的代码B. 保证基类私有成员在子类中可以被访问。
C. 保证基类保护成员在子类中可以被访问。
D. 保证基类公有成员在子类中可以被访问。
答案:A解析:(P86)this指针是隐藏的,可以使用该指针来访问调用对象中的数据。
基类的成员在派生类中能否访问,与继承方式有关,与this没有关系。
所以选择A项。
7. 所谓多态性是指 ()A. 不同的对象调用不同名称的函数B. 不同的对象调用相同名称的函数C. 一个对象调用不同名称的函数D. 一个对象调用不同名称的对象答案:B解析:(P167)多态性有两种静态多态性和动态多态性,静态多态性是指调用同名函数,由于参数的不同调用不同的同名函数;动态多态性是指不同对象调用同名函数时,由于对象不同调用不同的同名函数。
多态性肯定具有相同的函数名,所以选择B项。
8. 友元关系不能()A. 提高程序的运行效率B. 是类与类的关系C. 是一个类的成员函数与另一个类的关系D. 继承答案:D解析:(P111)友元可以是函数与类的关系即友元函数,也可以类与类的关系即友元类,但友元不能继承,是单向性,且不具有传递性。
友元可以访问类中所有成员,提高了访问的方便性。
因此选择D项。
9. 语句ofstream f(“TEMP.DAT”,ios::app|ios::binary)?的功能是建立流对象f,试图打开文件TEMP.DAT 并与之连接,并且()A. 若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件B. 若文件存在,将其置为空文件;若文件不存在,打开失败C. 若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件D. 若文件存在,打开失败;若文件不存在,建立一个新文件答案:A解析:(P199)ios::binary,采用二进制形式,ios::app定位到文件尾部。
10. 构造函数不具备的特征是()A. 构造函数的函数名与类名相同B. 构造函数可以重载C. 构造函数可以设置默认参数D. 构造函数必须指定类型说明答案:D解析:(P75)构造函数无返回类型不能继承但可以重载,所以选择D项。
11. 在公有继承的情况下,基类的公有或保护成员在派生类中的访问权限()A. 受限制B. 保持不变C. 受保护D. 不受保护答案:B解析:(P132)继承方式的不同派生类成员的权限也不同,采用公有继承,除了私有无法访问外,公有、保护在派生类中保持不变,所以选择B项。
12. 假定一个类的构造函数为A(int aa,int bb) {a=aa--;b=a*bb;},则执行A x(4,5);语句后,x.a和x.b的值分别为()A. 3和15B. 5和4C. 4和20D. 20和5答案:C解析:(P75)a=4,因为后减,b的值与a、bb相关,b=4*5=20,而与aa没有任何关系。
13. C++对C语言做了很多改进,即从面向过程变成为面向对象的主要原因是()A. 增加了一些新的运算符B. 允许函数重载,并允许设置缺省参数C. 规定函数说明符必须用原型D. 引进了类和对象的概念答案:D解析:(P29)C++是一面向对象的语言,面向对象的特征,抽象、多态、继承和封装。
14. 在类中说明的成员可以使用关键字的是()A. publicB. externC. cpuD. register答案:A解析:extern用于声明外部变量的。
register声明寄存器类型变量。
无cpu类型。
它们都不能声明类成员。
public声明为公有访问权限,所以选择A项。
15. C++语言中所有在函数中定义的变量,连同形式参数,都属于()A. 全局变量B. 局部变量C. 静态变量D. 函数答案:B解析:变量存储类可分为两类:全局变量和局部变量。
(1)全局变量:在函数外部定义的变量称为全局变量,其作用域为:从定义变量的位置开始到源程序结束。
使用全局变量降低了程序的可理解性,软件工程学提倡尽量避免使用全局变量。
(2)局部变量:在函数内部定义的变量称为局部变量,其作用域为:从定义变量的位置开始到函数结束。
局部变量包含自动变量(auto)静态变量(static)以及函数参数。
形参不能是静态的。
所以选择B项。
16. 在私有继承的情况下,基类成员在派生类中的访问权限()A. 受限制B. 保持不变C. 受保护D. 不受保护答案:A解析:(P132)私有继承下,基类中的公有或保护成员在派生类中也是私有的,所以选择A选项。
17. 使用地址作为实参传给形参,下列说法正确的是()A. 实参是形参的备份B. 实参与形参无联系C. 形参是实参的备份D. 实参与形参是同一对象答案:D解析:(P51)地址作为实参,表示实参与形参代表同一个对象。
如果实参是数值,形参也是普通变量,此时形参是实参的备份。
所以选择D项。
18. C++的继承性允许派生类继承基类的()A. 部分特性,并允许增加新的特性或重定义基类的特性B. 部分特性,但不允许增加新的特性或重定义基类的特性C. 所有特性,并允许增加新的特性或重定义基类的特性D. 所有特性,但不允许增加新的特性或重定义基类的特性答案:A解析:(P129)派生类有两类成员:一是基类,二是自身类。
派生类中的成员不能访问基类中的私有成员,可以访问基类中的公有成员和保护成员。
19. 对于int *pa[5];的描述,正确的是()A. pa是一个指向数组的指针,所指向的数组是5个int型元素B. pa是一个指向某个数组中第5个元素的指针,该元素是int型变量C. pa[5]表示某个数组的第5个元素的值D. pa是一个具有5个元素的指针数组,每个元素是一个int型指针答案:D解析:(P117)指针数组:数组元素都是相同类型的指针,相同类型的指针是说指针所指向的对象类型是相同的。
例如,语句int *pa[5];定义了一个指针数组。
在指针数组的定义中有两个运算符:*和[],运算符[]的优先级高于*,所以*pa[5]等价于*(pa[5]),pa[5]表示一个数组,而*表示后面的对象为指针变量,合在一起*pa[5]表示一个指针数组。
该数组包含5个元素,每个元素都是指向int型的指针。
所以选择D选项。
20. 以下基类中的成员函数表示纯虚函数的是()A. virtual void tt()=0B. void tt(int)=0C. virtual void tt(int)D. virtual void tt(int){}答案:A解析:(P173)当在基类中不能为虚函数给出一个有意义的实现时,可以将其声明为纯虚函数,实现由派生类完成。
格式:virtual<函数返回类型说明符><函数名>(<参数表>)=0;。
二、填空题(本大题共20小题,每小题1分,共20分)请在每小题的空格中填上正确答案。
错填、不填均无分。
1. 单目运算符作为类成员函数重载时,形参个数为___个。
答案:(P189)0[解析]单目运算符使用成员函数重载可以不用形参,双目运算符使用一个参数。
2. 抽象类中至少要有一个___函数。
答案:(P173)纯虚[解析]至少有一个纯虚函数的类就称为抽象类,即不能实例化。
3. 设类A有成员函数void f(void);若要定义一个指向类成员函数的指针变量pf来指向f,该指针变量的声明语句是:___。
答案:(P117)void (A::*pf)(void)=&A::f;[解析]void(A::*pf)(void)=&A::f;指向成员函数的指针,它相当于两条语句:void(A::*pf)(void);和pf=&A::f;。
4. 执行下列程序double a=3.1415926,b=3.14;cout<<setprecision(5)<<a<<", "<<setprecision(5)<<b<<endl;程序的输出结果是___。
答案:3.1416,3.14[解析]题目设置精度即有效数字都是5,a四舍五入是3.1416,b是3.14。