第1章 C++及其开发环境概述
一、问答题
1.结构化程序设计主要有哪些劣势?
【答案】
(1)程序的开发效率低下
(2)程序的可重用性差
(3)程序的维护成本高
c语言游戏编程题经典100例(4)无法适应信息的快速膨胀和多样化
2.面向对象的程序设计有哪些优点?
【答案】
(1)程序的开发效率高
(2)程序代码的可重用性高
(3)程序易于维护
3.C++的发展经历了哪些阶段?
【答案】
C++语言起源于C语言。1980年初期,美国贝尔实验室的Bjarne Stroustrup博士及其同事在C语言的基础上,从Simula67中引入面向对象的特征,开发出一种过程性与对象性相结合的程序设计语言,最初称为“带类的C”,1983年正式取名为C++。
后来,Stroustrup和他的同事陆续将运算符重载、继承、虚函数等特性引入C++,1989年后推出AT&T C++ 2.0版,并经过多次改进和完善,发展成为现在的C++。
4.C++主要有哪些特点?
【答案】
(1)C++可以被看成C语言的一个超集,是对C的增强和扩展。因此,许多C代码可以不经修改即可为C++所用。自然,也可以利用C++开发环境来开发C程序。
(2)C++几乎支持所有面向对象的程序设计特征,因此,利用C++不仅可以进行传统的结构化程序设计,而且可以较好地进行面向对象的程序开发。
(3)C++很好地保持了C的简洁、高效、灵活和接近汇编语言的特点,因此,C++程序的执行效率也很高。
5.一个C++程序一般由哪几部分构成?
【答案】
① 预处理命令。C++提供了三种预处理命令,即宏定义命令、文件包含命令和条件编译命令。
② 全局声明部分。此部分内容通常会给出用户自定义的数据类型声明,以及程序中所涉及变量的定义,例如类的声明。
③ 函数。一个程序中可包含一个或多个函数,它们是执行用户指定操作的主要部分。
6.使用Visual C++ 开发C++程序时一般要经过哪几个步骤?每个步骤的作用是什么?相应地产生哪些文件?
【答案】
(1)编写程序
C++是一种高级语言,所以用其编写的程序称为“源程序”,以.cpp做为后缀。我们可以利用Visual C++、Turbo C++等编译软件来编写C++源程序。
(2)编译程序
计算机不能识别高级语言,为了将源程序翻译成计算机可识别的二进制指令,需将源程序进行编译,编译之后的文件称作“目标文件”,以.obj作为后缀。编译时以每个源程序单元为单位,每一个源程序文件编译成一个目标文件。因此,如果一个工程中有多个源程序单元,系统会分别将其编译成多个目标文件。
另外,编译时系统会自动进行错误检查,一旦检查出有错误,便不会生成目标文件,需改正后重新编译。
(3)连接目标文件
一个程序中可能会包含很多文件,编译后会生成很多独立的目标文件,此时系统的“连接程序”将这些目标文件和库文件以及系统提供的其他信息连接起来,形成二进制可执行文件,以.exe为后缀。
(4)运行程序
运行二进制可执行文件,得到运行结果。如运行结果不正确,则需修改源文件,之后重新编译运行。
二、分析运行结果
1.
#include <iostream>
using namespace std;
int main( )
{
cout<<"My "<<"sister ";
cout<<"is "<<"a ";
cout<<"beautiful girl!"<<endl;
return 0 ;
}
运行结果为:
My sister is a beautiful girl!
2.
#include <iostream>
using namespace std;
int main( )
{
int a,b,c;
cin>>a>>b;
c=a+b;
cout<<"a+b="<<a+b<<endl;
return 0;
}
运行结果为:
2 3↙
a+b=5
第2章 C++程序设计基础(上)
一、选择题
(1)在一个C++程序中,main函数的位置( )。
A.必须在程序的开头 B.必须在程序的后面
C.可以在程序的任何地方 D.必须在其他函数中间
【答案】C
(2)用C++语言编写的源程序要变为目标程序必须要经过( )。
A.解释 B.汇编 C.编辑 D.编译
【答案】D
(3)C++程序基本单位是( )。
A.数据 B.字符 C.函数 D.语句
【答案】C
(4)C++程序中的语句必须以( )结束。
A.冒号 B.分号 C.空格 D.花括号
【答案】B
(5)下列选项中,全部都是C++关键字的选项为( )。
A.while IF static B.break char go
C.sizeof case extern D.switch float integer
【答案】C
(6)下列正确的八进制整型常量表示是( )。
A.0a0 B.015 C.080 D. 0x10
【答案】B
(7)在下列运算符中,( )优先级最高。
A.<= B.*= C.+ D.*
【答案】D
(8)在下列运算符中,( )优先级最低。
A.! B.&& C.!= D.?:
【答案】D
(9)设i=1,j=2,则表达式i+++j的值为( )。
A.1 B.2 C.3 D.4
【答案】C
(10)设i=1,j=2,则表达式++i+j的值为( )。
A.1 B.2 C.3 D.4
【答案】D
(11)在下列表达式选项中,( )是正确。
A.++(a++) B.a++b C.a+++b D.a++++b
【答案】C
(12)已知i=0,j=1,k=2,则逻辑表达式++i||--j&&++k的值为( )。
A.0 B.1 C.2 D.3
【答案】B
(13)执行下列语句后,x的值是( ),y的值是( )。
int x,y;
x=y=1;++x||++y;
A.不确定 B.1,1 C.2,1 D.2,2
【答案】C
(14)已知x=5,则执行语句x+=x-=x*x;后,x的值为( )。
A.25 B.40 C.-40 D.20
【答案】C
(15)设a=1,b=2,c=3,d=4,则条件表达式a<b?a:c<d?c:d的值为( )。
A.1 B.2 C.3 D.4
【答案】A
(16)逗号表达式(x=4*5,x*5),x+25的值为( )。
A.25 B.20 C.100 D.45
【答案】C
二、写出下列数学表达式的C++算术表达式
(1) (2)x{x[x(ax+b)+c]+d}+e
(3) (4)
(5) (6)log10(a2+ab+b2)
【答案】
(1)1/(1+1/(1+1/(x+y)))
(2)x*(x*(x*(a*x+b)+c)+d)+e
(3)log(1+pow(fabs((a+b)/(a–b)),10)
(4)sqrt(1+3.14159/2*cos(48*3.14159/180))
(5)1/tan((1-x*x)/(1+x*x))
或者cos((1-x*x)/(1+x*x))/sin((1-x*x)/(1+x*x))
(6)log10(a*a+a*b+b*b)
三、用关系表达式或逻辑表达式表示下列条件
(1)i整除j (2)n是小于正整数k的偶数
(3)1<=x<10 (4)x,y其中有一个小于z
(5)y [–100,–10],并且y [10,100]
(6)坐标点(x,y)落在以(10,20)为圆心,以35为半径的圆内
(7)三条边a,b和c构成三角形
(8)年份Year能被4整除,但不能被100整除或者能被400整除
【答案】
(1)i%j==0 (2)(n<k)&&(n%2==0)
(3)1<=x&&x<10 (4)x<z||y<z
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论