计算机水平考试

下面是计算机水平考试的二级的c++程序设计的考试大纲,如果想考别的证书,可以通过 管理中心报名系统icon-default.png?t=N7T8https://bm.ykoa.net/   
来选对你有用的计算机水平考试的证书。如果还是想考计算机水平考试的二级的c++程序设计的话,后续我会发考试题给大家练(一套一套的发,做完了,在评论区找我要答案或者对于代码哪里不懂的话,也可以评论区问我)
一、考试目的与要求
学生应了解计算机程序设计的基本知识,掌握 C++语言程序设计的基本方法和使用计算机处理问题的
思维方法,具有应用计算机编程的初步能力。
1、了解 C++语言的特点,掌握语言的成份及其使用方法,能够阅读及编写简单的应用程序;
2、掌握最基本的算法和实现的方法;
3、掌握结构化程序设计的方法,能编制出风格良好的程序;
4、掌握 C++语言程序调试的基本技能。
二、考试内容
(一)数据类型及其运算
【考试要求】
了解基本类型及其常量的表示法;掌握变量的定义及初始化方法;掌握运算符与表达式的概念;掌握
C++ 的自动类型转换和强制类型转换。
【主要考点】
1 、数据类型的种类
2 、各种数据类型的定义方法
3 、运算符的种类
4 、运算符优先级和结合性
5 、不同类型数据间的转换与运算
(二)基本语句
【考试要求】
了解 C 语句的概念及种类;掌握 C 语言常用的输入 / 出方式。
【主要考点】
1 、表达式语句、空语句、复合语句
2 、数据的输入与输出
3 、输入输出函数 printf scanf 的使用
(三)选择结构程序设计
【考试要求】
熟练掌握 if else 的三种语法;领会 switch break 语句的作用。
【主要考点】
1 if 语句
2 switch 语句
3 、选择结构的嵌套
1/8 (四)循环结构程序设计
【考试要求】
领会程序设计中构成循环的方法;掌握 for while do-while 语句的用法;了解 break continue 在循
环语句中的作用。
【主要考点】
1 for 循环结构
2 while do while 循环结构
3 continue 语句和 break 语句
4 、循环的嵌套
(五)数组的定义和引用
【考试要求】
了解一维数组、二维数组的基本概念;掌握数组类型变量的定义与引用;掌握数组元素的引用。
【主要考点】
1 、一维数组和多维数组的定义和初始化
2 、数组的引用
3 、字符串与字符数组
4 、字符串处理函数 (strlen, strcpy, strcat, strcmp)
(六) 函数
【考试要求】
掌握函数的定义与调用;掌握函数参数的传递方式;领会变量存储类型的概念及各种存储类型变量的
生存期和有效范围;领会函数的嵌套调用与递归调用
【主要考点】
1 、函数的定义方法
2 、函数的类型和返回值
3 、形式参数与实在参数;参数值的传递
4 、函数的正确调用;嵌套调用和递归调用
5 、内联函数和函数重载
6 、局部变量和全局变量
7 、变量的存储类别和作用域
(七) 指针
【考试要求】
了解指针与地址的概念;掌握指针变量的定义、初始化及指针的运算;掌握指针与数组、指针数组、
指针实现字符串等知识;了解指针与函数的概念。
【主要考点】
1 、指针变量的定义和初始化
2 、指针的赋值
3 、指针的运算
4 、指针与数组
2/8 3/8
5 、指针与字符串
6 、指针用作函数参数
(八) 结构与联合
【考试要求】
掌握结构体和联合体类型的说明、结构体和联合体变量的定义及初始化方法;掌握结构体与联合体变
量成员的引用。
【主要考点】
1 、结构体和联合体类型数据的定义方法和初始化
3 、结构体和联合体类型的说明及结构体类型变量的定义
4 、结构体和联合体变量的初始化
5 、结构体和联合体变量的引用
6 、结构体数组
(九) 基本语句
【考试要求】
了解面向对象类和对象的概念;掌握构造、析构函数的定义和使用;类的继承性。
【主要考点】
1 、类的创建和引用对象
2 、构造函数与析构函数
3 、派生类的定义和访问权限
4 、单一继承与多重继承
(十) 了解 C++ 流的概念,掌握标准设备输入 / 输出函数的使用
【考试要求】
了解 C++ 流的概念;掌握标准设备输入 / 输出函数的使用。
【主要考点】
1 、文件类型指针
2 、文件的打开与关闭
3 、文件的读写
4 、输入输出的控制格式
三、考试方式
机试。考试时间为 105 分钟,满分 100 分。
四、考试题目类型
理论题(
20 分):主要由单项选择题组成;
编程题(
80 分):分为简单操作题、简单应用题和综合应用题 3 种类型的考题。 4/8
五、考试样题
(一)理论题(
20 分,每小题 1 分)
1 )已定义一个整型变量 x ,则表达式 x=1, x++, x+2 的值是 _________
A) 1
B) 2
C) 3
D) 4
2 )以下选项中不正确的实型常量是 _______
A) 2.607E 1
B) 0.8103e2.1
C) –77.77
D) 456e–2
3 )以下选项中不合法的用户标识符是 _______
A) abc.c
B) file
C) Main
D) PRINTF
4 C 语言中运算对象必需是整型的运算符是 _______
A)
B)
C) !
D) **
5 . a b c d 都是 int 类型变量且初值为 0 ,以下选项中不正确的赋值语句是 _______
A) a=b=c=100;
B) d=(c=22)–(b++);
C) c+=b;
D) d++;
6 C 语言中不合法的字符常量是 _______
A) ‘\0xff’
B) ‘\65’
C) ‘&’
D) ‘\028’
7 ) 对象的初始化是通过 ________ 实现的。
A) 友元函数
B) 构造函数
C) 析构函数
D) 递归函数
8 )已知 x=496 ,则执行 printf(“*%06d*\n”,x); 后输出是 _______
A) *496
*
B) *
496*
C) *000496*
D) 输出格式符不合法
9 )若有以下程序段,其输出结是 _______
int a=0, c=0; 5/8
c=(a-=a-5);
cout<<a<<c<<endl;
A) 00
B) 5,5
C) –5,5
D) –10– 10
10 )设 a=3 b=4 c=5 ,则逻辑表达式: !(a+b)+c–1 && b+c/2 的值是 _______
A) –1
B) 0
C) 1
D) true
11 )以下程序的输出结果是 _______
#include <iostream.h>
void main()
{ int w=4,x=3,y=2,z=1;
cout<<(w<x?w :z<y ? z :x)<<endl;
}
A) 1
B) 2
C) 3
D) 4
12 )若执行以下程序时从键盘上输入 3 4 ,则输出结果是 _______
#include <iostream.h>
void main()
{ int a,b,s;
cin>>a>>b;
s=a;
if(a<b)
s=b;
s*=s;
cout<<s<<endl;
}
A) 14
B) 16
C) 18
D) 20
13 )以下程序段的输出结果是 _______
int k,j,s;
for (k=2; k<6;k++, k++)
{ s=1;
for (j=k;j<6; j++) s+=j;
}
cout<<s<<endl;
A) 9
B) l
C) 11 D) 10
14 )以下正确的函数原型为 _______
A) ff(int x, int y)
B) void ff(x,y);
C) void ff(int x,y);
D) void ff(int, int);
15 )以下叙述正确的是 _______
A) do_while 语句构成的循环不能用其它语句构成的循环来代替。
B) do_while 语句构成的循环只能用 break 语句退出。
C) do_while 语句构成循环时,在 while 后的表达式为非零时结束循环。
D) do_while 语句构成循环时,在 while 后的表达式为零时结束循环。
16 )若有以下程序
#include<iostream.h>
class CC
{
char c1,c2;
public:
CC(char a,char b){c1=a;c2=b;}
~CC()
{
cout<<c1<<c2<<endl;
}
void disp()
{
if(c1>c2)
cout<<c1<<">"<<c2<<endl;
else
cout<<c2<<">"<<c1<<endl;
}
};
void main()
{
CC c('X', 'Y');
c.disp();
}
则程序运行后的输出结果是 ________
A) XY
Y>X
B) Y>X
XY
C) Y>X
D) XY
17 )以下程序段的输出结果是 _______
6/8 7/8
char c1='A', c2='Y';
cout<<c1<<c2<<endl;
A) 因输出格式不合法,无正确输出
B) 65,90
C) A, Y
D) 65,89
18 )以下说法中正确的是 _______
A) C 语言程序总是从第一个定义的函数开始执行
B) C 语言程序中,要调用的函数必须在 main 函数中定义
C) C 语言程序总是从 main 函数开始执行
D) C 语言程序中的 main 函数必须放在程序的开始部分
19 )以下程序的输出结果是 _______
#include <iostream.h>
int xyz(int a, int b)
{ int c;
c=a+b;
return c;
}
void main()
{ int x=6,y=7,z=8,r;
r=xyz((x--,y++,x+y),z--);
cout<<r<<endl;
}
A) 11
B) 20
C) 21
D) 31
20 )若有定义 : int x *pb; 则以下正确的赋值表达式是 _______
A) pb=&x
B) pb=x
C) *pb=&x
D) *pb=*x
(二)操作题
1 、简单操作题(
35 分)
1 )打开 proj1.cpp ,按照以下要求,完成操作:
1) 求出能整除 k 且是偶数的数,并将这些数按从大到小的顺序输出,例如当 k=20 时,输出 20 10
4 2
2) 请按照注释的要求在程序的“
_______ ”部分填入适当的内容并去掉程序中的“
_____ ”,使程序
能正确运行,保存文件。 (15 )
2 )打开 proj2.cpp ,按照以下要求,完成操作:
1) 请补充函数 fun ,该函数的功能是,根据整型参数 m 的值,计算如下公式 t=1-1/(2*2)-1/(3*3)-
-1/(m*m) 的值。 8/8
2) 请按照注释的要求在程序的“
_______ ”部分填入适当的内容并去掉程序中的“
_____ ”,使该公
式能得出正确的结果,保存文件。 (20 )
2 、简单应用题(
20 分)
1 在以下 C++ 程序的两行星号之间填入相应的语句,以完成 fun 函数部分。该程序用于求两个由键盘输
入的数字的最大公约数。
#include <iostream.h>
int fun(int num1,int num2);
main()
{
int s,num1,num2;
cout<<"Input a number:";
cin>>num1;
cout<<"Input another number:";
cin>>num2;
s=fun(num1,num2);
cout<<"The result is : "<<s;
}
int fun(int num1,int num2)
{
********************************************************
********************************************************
}
3 、综合应用题(
25 分)
打开 proj4.cpp ,按照以下要求,完成操作:
已知一个源程序文件 proj4.cpp ,此程序通过继承关系,实现对姓名的设置。类 TestClass1 实现对名字访问,
TestClass2 实现对名字的设置和输出。程序在屏幕上输出为如图所示。
这个程序不完整,请按照以下要求将程序补充完整。
1 )在类 TestClass1 中定义函数 GetName 为虚函数,请在注释 //***1*** 之后添加适当语句。
2 )定义函数 GetName() 为实现获得名字的缓存,请在注释 //***2*** 之后添加适当语句。
3 )完成 TestClass2 函数的定义,请在注释 //***3*** 之后添加适当语句。
4 )完成 TestClass2 函数的操作,实现对名字的处理,请在注释 //***4*** 之后添加适当语句
谢谢各位看官的观看,如果有帮助,给我点个关注点的赞,谢谢。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前行人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值