cpp考试参考

合集下载

CPP教学材料-习题答案-第 章a2

CPP教学材料-习题答案-第 章a2

{
if (s.x <= 1 ) return 1;
else return s.x * Fun(Test(s.x - 1));
}
int main()
{
int sum = 0;
for (int i = 0; i < 6; i++)
sum += Fun(Test(i));
cout << sum << endl;
但定义对象指针p时不调用构造函数;使用new动态创建对象时,根据参数情
况调用“MyClass(char c) { cout << c; }”,输出X;执行“delete p;”时,
需要调用一次析构函数,输出B;最后主函数结束时,对象a调用一次析构函
数答2,案021输 :/3/出D18 B。
14
13.有以下程序:
解析:只要在程序的执行中,需要用一个对象来初始化另一个对象,都要调 用复制构造函数,包括A、B、C三种情况。 答案:D
2021/3/18
12
11.以下关键字不能用来声明类的访问权限的是 。
A)public
B)static
C)protected
D)private
解析:类的访问权限有三种:公有、私有、保护,关键字分别是public, private,protected,。static用于静态成员的声明。 答案:B
该答局案20部:21/3变B/18量a随之消失,与对象无关。obj.a调用的是静态数据成员,结果为151。
14.有以下程序:
class Test
{
private:
long x;
public:
Test(long a): x(a) { }

Cpp考试资料

Cpp考试资料

面向对象的程序设计语言C++复习指南一、选择填空1、下列高级语言中,()是面向对象的程序设计语言。

A)BASIC B)Pascal C)C++ D) Fortran2、依据面向对象的抽象原理下列提法中,()是错误的A)数据抽象B) 行为共享C) 进化D) 兼容3、()不是面向对象系统所包含的要素A)重载B) 对象C) 类D) 继承4、关于C和C++的论述中,()错误的A)C语言是C++的一个子集B) C++与C是兼容的C) C++是对C的改进D) C++和C都是面向对象的语言5、下面关于对象的概念的论述中,()是错误。

A)对象就是结构变量B)对象代表着正在创建的系统中的一个实体C)对象是一个状态和操作的封装体C)对象之间的信息的传递时通过消息进行的6、下面关于类概念的论述错误的是()A)类是由抽象数据类型实现的; B)类是具有共同行为的若干对象的统一描述;C)类是创建对象的样板;D)类是C语言中的结构类型;7、C++对C语言作了很多改进,下列描述中()使得C语言发生了质的变化,即从面向过程变成了面向对象。

A)增加了一些新的操作符;B)允许函数重载,并允许设置默认值;C)规定函数说明必须用原型;D)引进了类和对性;8、关于执指针运算中错误的是()A)两个指针在一定的条件下进行相等和不等的运算;B)可以用一个空指针付给某个指针;C)一个指针可以加上一个整数;D)两个指针可以相加;9、在int a=3,*p=&a;中,*p的值是()A)变量a的地址;B)无意义;C)变量p的对地址值; D)310、对int *pa[5]的描述中正确的是():A)pa是一个指向数组的指针,所指向的数组是5个int型的元素;B)pa是一个指向某数组中第五个元素的指针,该元素是int型变量;C)pa[5] 表示某个数组的第五个元素;D)pa是一个具有五个元素的指针数组,每个数组是一个int指针;11、下列表示引用的方法中正确的是();已知:int m=10;A)int &x=m;B)int &x=10; C) int &x; D) &x=&m;12、下列向函数中传送地址的标识中正确的是()A)int add(int *a); B) int add(int &a); C) int x=add(&a); D) int add(int a)13、当一个函数无返回值时定义它时函数的类型应是();A) int B) void C)无D) 任意14、在一个被调函数中,关于return语句使用的论述不正确的是()A) 被调函数中可以不使用return语句;B) 被调函数中可以使用多个return语句;C) 被调函数中如果有返回值就一定要有return语句;D)在被调函数中,一个return语句可以返回多个值;15、下列关于函数的论述中,属于引用调用的是()A) 形参时指针,实参是地址; B)形参和实参都是变量;C) 形参是数组名,实参是数组名C)形参是引用,实参是变量;16、在传值调用中要求()A) 形参和实参类型任意个数相等;B)形参和实参类型一致个数相等;C)形参和实参的对应类型一致个数相等;D)形参和实参对应类型一致,个数任意17、在C++中下列关于设置参数默认值的论述中,()是正确的。

CPP笔试题2

CPP笔试题2

C++笔试题(十五)4. static有什么用途?(请至少说明两种)1.限制变量的作用域2.设置变量的存储域3.连接属性7. 引用与指针有什么区别?1) 引用必须被初始化,指针不必。

2) 引用初始化以后不能被改变,指针可以改变所指的对象。

2) 不存在指向空值的引用,但是存在指向空值的指针。

8. 描述实时系统的基本特性在特定时间内完成特定的任务,实时性与可靠性实时操作系统实时操作系统英文称Real Time Operating System,简称RTOS。

1.实时操作系统定义实时操作系统(RTOS)是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统作出快速响应,并控制所有实时任务协调一致运行的操作系统。

因而,提供及时响应和高可靠性是其主要特点。

实时操作系统有硬实时和软实时之分,硬实时要求在规定的时间内必须完成操作,这是在操作系统设计时保证的;软实时则只要按照任务的优先级,尽可能快地完成操作即可。

我们通常使用的操作系统在经过一定改变之后就可以变成实时操作系统。

实时操作系统是保证在一定时间限制内完成特定功能的操作系统。

例如,可以为确保生产线上的机器人能获取某个物体而设计一个操作系统。

在“硬”实时操作系统中,如果不能在允许时间内完成使物体可达的计算,操作系统将因错误结束。

在“软”实时操作系统中,生产线仍然能继续工作,但产品的输出会因产品不能在允许时间内到达而减慢,这使机器人有短暂的不生产现象。

一些实时操作系统是为特定的应用设计的,另一些是通用的。

一些通用目的的操作系统称自己为实时操作系统。

但某种程度上,大部分通用目的的操作系统,如微软的Windows NT或IBM的OS/390有实时系统的特征。

这就是说,即使一个操作系统不是严格的实时系统,它们也能解决一部分实时应用问题。

2.实时操作系统的特征1)多任务;2)有线程优先级3)多种中断级别小的嵌入式操作系统经常需要实时操作系统,内核要满足实时操作系统的要求。

面向对象程序设计考试题库

面向对象程序设计考试题库

面向对象程序设计期末综合练习一(单选题)单选题1. C++源程序文件的缺省扩展名为( )。

A. cppB. exeC. objD. lik2. 由C++源程序文件编译而成的目标文件的缺省扩展名为( )。

A. cppB. exeC. objD. lik3. 由C++目标文件连接而成的可执行文件的缺省扩展名为( )。

A. cppB. exeC. objD. lik4. 编写C++程序一般需经过的几个步骤依次是( )。

A. 编译、编辑、连接、调试B. 编辑、编译、连接、调试C. 编译、调试、编辑、连接D. 编辑、调试、编辑、连接5. 以下标识符中不全是保留字的是( )。

A. case for intB. default then whileC. bool class longD. goto return char6. 能作为C++程序的基本单位是( )。

A. 字符B. 语句C. 函数D. 源程序文件7. 程序中主函数的名字为( )。

A. mainB. MAINC. MainD. 任意标识符8. C++程序的基本模块为( )。

A. 表达式B. 标识符C. 语句D. 函数9. 可用作C++语言用户标识符的一组标识符是( )。

A. void define +WORDB. a3_b3 _123 YNC. for -abc CaseD. 2a DO sizeof10. 存储以下数据,占用存储字节最多的是( )。

A. 0B. ‘0’C. “0”D. 0.011. 程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用( )符号作为分隔符。

A. 空格或逗号B. 逗号或回车C. 逗号或分号D. 空格或回车12. 设”int a=12;”,则执行完语句”a+=a*a;”后,a 的值是( )。

A. 12B. 144C. 156D. 28813. 假设在程序中 a 、b 、c 均被定义成整型,所赋的值都大于1,则下列能正确表示代数式abc1的表达式是( )。

CPP模拟试题

CPP模拟试题

一、选择题二、程序填空/*-------------------------------------------------------【程序填空】---------------------------------------------------------【答题附加说明】考生打开试题文件夹,先将源程序文件的".C"扩展名改为".CPP"扩展名, 使用VC打开该源程序文件,然后答题,编译运行程序,最后关闭VC,再将源程序文件的".CPP"扩展名改为".C"扩展名。

不要修改源程序文件的文件名!不要点答题按钮!【功能】试题文件夹中含有一个源程序文件,其中位于每个填空提示注释之后的一行语句需要填空。

请完成函数int huiwen(int n),用于求解所有不超过200的n值,其中n的平方是具有对称性质的回文数(回文数是指一个数从左向右读与从右向左读是一样的,例如:34543和1234321都是回文数)。

求解的基本思想是:首先将n的平方分解成数字保存在数组中,然后将分解后的数字倒过来再组成新的整数,比较该整数是否与n的平方相等。

-------------------------------------------------------*/#include <iostream>using namespace std;int huiwen(int n){int arr[16],sqr,rqs=0,k=1;sqr=n*n;for(int i=1;sqr!=0;i++){/***********SPACE***********/【?】;sqr/=10;}for(;i>1;i--){rqs+=arr[i-1]*k;/***********SPACE***********/【?】;}/***********SPACE***********/if(【?】)return n;elsereturn 0;}int main(){int count=0;cout<<"The number are: "<<endl;for(int i=10;i<200;i++)if(huiwen(i)) cout<<++count<<'\t'<<i<<'\t'<<i*i<<endl;return 0;}/*-------------------------------------------------------【程序填空】---------------------------------------------------------【答题附加说明】考生打开试题文件夹,先将源程序文件的".C"扩展名改为".CPP"扩展名, 使用VC打开该源程序文件,然后答题,编译运行程序,最后关闭VC,再将源程序文件的".CPP"扩展名改为".C"扩展名。

2019.7.21CPP考试试题及答案

2019.7.21CPP考试试题及答案

2019.7.21CPP试题1.与其他职业一样,作为一名成功的采购师也需要一整套知识、技术和能力。

下面列举的就是几项这种知识、技术和能力。

(1)对各种产品的知识(2)进行有效的口头和书面沟通的能力(3)轻松结交朋友的能力(4)商务和合同方面的法律知识(5)每天工作12个小时的能力(6)心理学知识(7)运用商务数学/算术的能力(8)会计和财务知识在以上的知识、技术和能力中,哪些对于一名采购新手取得成功具有最为重要的作用?A (2),(3),(6),(7),(8)B (1),(3),(6),(7),(8)C (1),(3),(5),(7),(8)D (1),(4),(6),(7),(8)2.—-除了—-以外以下均为供应市场有效情报。

A评估市场新趋势对关键业务的影响B确保采购不超过年度运营预算C通过新兴材料和技术来支撑公司在关键业绩领域的战略D制定减少风险方案和应急计划应该收集:消费者、合作者、竞争者资料。

D是针对竞争者制定应急计划。

3.采购师能从多种多样的地方找到关于供应商的信息,以及从哪里购买产品或服务的信息,这些信息来源包括下面的1.万维网(WWW)2.电台广告3.电视广告4.硬拷贝或供应商在线名录(如“托马球斯登记簿”5.贸易杂志6.贸易展览7.外国领事馆8.邮局9.贸易协会10.运动俱乐部的公告牌11.现有的供应商12.其他采购专家13.组织内的工程师和技术人员14.金融名录15.“黄页”/电话目录16.临时到访的销售人员17.专业协会18.接待人员在以上各项中,最可倚仗的信息来源是:A.2 3 5 8 9 14B.4 6 7 10 16 18C.11 12 13 14 16 17D.1 4 5 7 12 154.下面哪一项是采购控制的输出?A工作说明书B采购文档C方案建议书D合同项目采购管理条目:4大过程:规划采购项目、实施采购项目、控制采购、结束采购。

控制采购有1.输入、2.工具和技术、3.输出采购控制输入:1)项目管理计划;2) 项目文件;3)协议;4) 采购文档;5) 批准的变更请求;6) 工作绩效数据;7)事业环境因素;8) 组织过程。

2024年6月GESP编程能力认证C++等级考试一级真题试卷(含答案)

2024年6月GESP编程能力认证C++等级考试一级真题试卷(含答案)

2024年6月GESP编程能力认证C++等级考试一级真题试卷(含答案)一、单选题(每题2分,共30分)。

1.在C++中,下列不可做变量的是()。

A. five-StarB. five_starC. fiveStarD. _fiveStar2.题C++表达式3 - 3 * 3 / 5的值是()。

A. -1.2B. 1C. 0D. 23.在C++中,假设N为正整数,则表达式cout <<(N % 3 +N % 7)可能输出的最大值是()。

A. 6B. 8C. 9D. 104.题C++语句printf("5%%2={%d}\n",5 % 2)执行后的输出是()。

A. 1={1}B. 5%2={5%2}C. 5%2={1}D. 5 ={1}5.对整型变量i,执行C++语句cin >> i, cout << i时如果输入5+2,下述说法正确的是()。

A. 将输出整数7B. 将输出5C. 语句执行将报错,输入表达式不能作为输出的参数。

D. 语句能执行,但输出内容不确定。

6.下面C++代码执行后的输出是()。

float a;a =101.101;a =101;printf("a+1={%.0f}",a+1);A. 102={102}B. a+1={a+1}C. a+1={102}D. a先被赋值为浮点数,后被赋值为整数,执行将报错。

7.表达式9/4 - 6 %(6 - 2)* 10的值是()。

A. -17.75B. -18C. -14D. -12.758.下面C++代码执行时输入10后,正确的输出是()。

int N;cout << "请输入正整数:";cin >> N;if(N % 3)printf("第5行代码%2d", N % 3);elseprintf("第6行代码%2d", N % 3);A. 第5行代码1B. 第6行代码1C. 第5行代码1D. 第6行代码19.下面C++代码执行后输出是()。

中国计算机学会ccf考试模拟考试题目参考答案(CPP)

中国计算机学会ccf考试模拟考试题目参考答案(CPP)

{ now = 0; } return now; } now = 0; if (p1 == 0) { now += dp(n-1, 1, p3); // go 0 }else if (p1 == 1) { now += dp(n-1, 1, p3); // go 0 now += dp(n-1, 2, p3); // go 1 }else // p1 == 2 { now += dp(n-1, 2, p3); // go 1 } if (p3 == 0) { now += dp(n-1, p1, p3); // go 2; now += dp(n-1, p1, 1); // go 3; }else
#include <iostream> #include <cstdio> #include <cstring> #include <string> #include <vector> #include <deque> #include <list> using namespace std; long long f[2000][3][2]; // f[seq_k to place][0: to place 0 , 1: ethier 0 or 1, 2 : must be 1][3 is placed ? 1 : 0] int dp(int n, int p1, int p3) { long long &now = f[n][p1][p3]; if (now != -1) return now; if (n == 0) { if (p1 == 2 && p3 == 1) { now = 1; }else
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.输入若干个学生的成绩,如果输入—1表示输入结束。

求最高成绩。

输入:100 99 56 84 78 56 —1输出:100#include<stdio.h>int main(){int a[100];inti=0,j,k;while ((scanf("%d",&a[i]),a[i])!=-1) i++;for (j=0;j<i-1;j++)for (k=j+1;k<i;k++){if (a[k]>a[j]){a[k]=a[k]+a[j];a[j]=a[k]-a[j];a[k]=a[k]-a[j];}}printf("%d\n",a[0]);return 0;}2.编写一个函数func,其功能是将一个字符串中的所有大写字母转换成小写字母。

要求原始字符串在主函数中输入。

处理后的字符产在主函数中输出。

输入:I am a student.输出:I am a student.#include<stdio.h>#include<string.h>void func(char s[],int n){inti,j;for (i=0;i<=n;i++)if (s[i]>='A'&&s[i]<='Z') s[i]=s[i]+32;}int main(){char s[100];gets(s);int n;n=strlen(s);func(s,n);puts(s);return 0;}3.将十个任意音乐符号变换,变换规则:1->6;2->5;3->4;4->3;5->2;6->1;7->7。

十个原始数据由键盘输入。

输出变换结果。

输入:1 1 5 6 7 6 5 4 3 2输出:6 6 2 1 7 1 2 3 4 5#include<stdio.h>int main(){int a[10],i,c,d;for (i=0;i<10;i++){scanf("%d",&a[i]);switch(a[i]){case 1:printf("%d ",6);break;case 2:printf("%d ",5);break;case 3:printf("%d ",4);break;case 4:printf("%d ",3);break;case 5:printf("%d ",2);break;case 6:printf("%d ",1);break;case 7:printf("%d ",7);}}printf("\n");return 0;}4编写函数void func(char *ps2,const char *ps1)将字符串一中序数是奇数且ASCII吗为奇数的字符保留,否则为空格,串1最大长度为20;返回新的字符串2.比如在main中调用func函数出力“Jabavhga”的结果。

为:str2= g输入:无输出:str2= g#include<stdio.h>#include<string.h>void func(char *ps2,const char *ps1){inti,j=0,n;n=strlen(ps1);for (i=0;i<n;i++){if (((i+1)%2!=0)&&(ps1[i]%2!=0))*(ps2+j++)=*(ps1+i);else *(ps2+j++)=' ';}*(ps2+j)='\0';}int main(){char s[]={"Jabavhga"},a[20]={'\0'};func(a,s);printf("str2=");puts(a);printf("\n");return 0;}5向文本文件in.dat中写入一行文本,然后将文件内容反响显示。

输入:hello world!输出:!dlrowolleh#include<stdio.h>#include<string.h>void main(){FILE *a,*b;char s[1000];inti,n;a=fopen("in.txt","w");gets(s);n=strlen(s);fputs(s,a);fclose(a);b=fopen("in.txt","w");for(i=0;i<n;i++)fputc(s[n-i-1],b);}66使用头插法创建包含5个结点的单链表,输出链表中的第二个元素。

链表结点的形式如下:TypedefstructtagNode{Int data;structtagNode*next;}LNode,*linklist;//LNode为单链表结构类型,LinkList为单链表指针类型输入:1 2 3 4 5输出:4#include<stdio.h>#include<stdlib.h>typedefstructtagNode{int data;structtagNode *next;}LNode,*LinkList;void main(){LinkLists,head;int n=5;head=(LinkList)malloc(sizeof(LNode));for(;n>0;n--){s=(LinkList)malloc(sizeof(LNode));scanf("%d",&s->data);s->next=head->next;head->next=s;}printf("%d",head->next->next->data);printf("\n");}7验证谷角猜想:#include<stdio.h>void main(){int n;scanf("%d",&n);printf("%d->",n);for(;n!=2;){if(n%2==0) {n=n/2;printf("%d->",n);}else {n=n*3+1;printf("%d->",n);}}printf("1\n");}8输入一个人3行4列的整形数组的值,输出最大元素的值及其下标。

输入:1 2 3 4 5 6 7 8 9 10 11 12输出:max:a[2][3]=12#include<stdio.h>int main(){int a[3][4];inti,j,t,m=0,n=0;for (i=0;i<3;i++)for (j=0;j<4;j++)scanf("%d",&a[i][j]);t=a[0][0];for (i=0;i<3;i++)for (j=0;j<4;j++){if (a[i][j]>t){t=a[i][j];m=i;n=j;}}printf("max:a[%d][%d]=%d\n",m,n,t);return 0;}9键入一个学生10门课的成绩,找出最高分和平均成绩,输出二者之差的结果。

输入:56 67 78 98 77 66 68 85 86 66输出:98-74.90=23.10#include<stdio.h>int main(){int a[10];inti,j,max,sum=0;double ave,k;for (i=0;i<10;i++) scanf("%d",&a[i]);max=a[0];for (i=0;i<10;i++){sum=sum+a[i];if (a[i]>max) max=a[i];}ave=sum/10.0;k=max-ave;printf("%d-%.2lf=%.2lf\n",max,ave,k);return 0;}10.编写函数void func(char *ps2,const char *ps1)删除字符串一中序数是偶数且ASCII吗为偶数的字符,串1最大长度为20;返回新的字符串2.比如在main中调用func函数出力“Jabavhga”的结果。

为:str2=Jabavga输入:无输出:str2=Jabavga#include<stdio.h>#include<string.h>void func(char *ps2,const char *ps1){inti,j=0,n;n=strlen(ps1);for (i=0;i<n;i++){if (((i+1)%2==0)||(ps1[i]%2!=0))*(ps2+j++)=*(ps1+i);}*(ps2+j)='\0';}int main(){char s[]={"Jabavhga"},a[20]={'\0'};func(a,s);printf("str2=");puts(a);return 0;}11.从键盘键入3行文本,并在每行文本最前面加上4位行号和一个空格。

输入:hello worldHello CThis is a file输出:0001 hello world0002 Hello C0003 This is a file#include<stdio.h>void main(){FILE *a,*b;char s[3][1000],s1[3][1000];inti;gets(s[0]);gets(s[1]);gets(s[2]);a=fopen("b.c","w");for(i=0;i<3;i++){sprintf(s1[i],"%04d %s\n",i+1,s[i]);fputs(s1[i],a);}fclose(a);}12.使用尾插法创建包含5个结点的单链表,输出链表中的第3个结点前插入元素3进行遍历输出链表中每个结点的数据域信息。

相关文档
最新文档