广东c++ 计算机二级考试原题
发布时间:2024-11-12
发布时间:2024-11-12
广东省二级计算机考试试题如有雷同,不胜荣幸。
全国高等学校计算机水平考试Ⅱ级―《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、 选择结构的嵌套
㈣ 循环结构程序设计
【考试要求】
领会程序设计中构成循环的方法;掌握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、指针与数组
5、指针与字符串
6、指针用作函数参数
㈧ 结构与联合
【考试要求】
掌握结构体和联合体类型的说明、结构体和联合体变量的定义及初始化方法;掌握结构体与联合体变量成员的引用。
【主要考点】
1、结构体和联合体类型数据的定义方法和初始化
3、结构体和联合体类型的说明及结构体类型变量的定义
4、结构体和联合体变量的初始化
5、结构体和联合体变量的引用
6、结构体数组
㈨ 基本语句
【考试要求】
广东省二级计算机考试试题如有雷同,不胜荣幸。
了解面向对象类和对象的概念;掌握构造、析构函数的定义和使用;类的继承性。
【主要考点】
1、类的创建和引用对象
2、构造函数与析构函数
3、派生类的定义和访问权限
4、单一继承与多重继承
㈩ 了解C++流的概念,掌握标准设备输入/输出函数的使用
【考试要求】
了解C++流的概念;掌握标准设备输入/输出函数的使用。
【主要考点】
1、文件类型指针
2、文件的打开与关闭
3、文件的读写
4、输入输出的控制格式
三、考试方式
机试。考试时间为105分钟。
四、考试题目类型
考试分两部分:理论题(20分)、编程题(80分)。理论题主要由单项选择题组成。编程题分简单操作题、简单应用题和综合应用题3种类型的考题。
四、考试样题
(一)理论题(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
B) \65) \0xff
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;
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)以下程序段的输出结果是_______。
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)以下程序中f()函数的形式参数有 个
# include <iostream.h>
f ( int b[] , int n )
{
int i , r=1 ;
for (i=0; i <= n; i++ ) r = r * b[i] ;
return r ;
}
void main ()
{
int x , a[ ] = {2,3,4,5,6,7,8,9} ;
x=f (a , 3);
cout << x << endl ;
}
(2)编写一个C++程序,打印以下图案
*
* * *
* * * * *
* * *
*
广东省二级计算机考试试题如有雷同,不胜荣幸。
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分)
编写程序,定义一个类square(正方形),其成员数据及函数要求如下:
① 私有数据成员 float radius(代表边长)
② 构造函数 square (float d=0)当参数缺省时将数据成员radius的值设置为0,否则设置为参数d的值
③ 成员函数float perimeter(float d)计算出周长。(注:正方形的周长为: l=4*r)