中南大学C++题库 下载本文

下列字符串中可以用作C++标识符的是

A 2009var B goto C test-2009 D _123 参考答案 D 下列字符串常量中,错误的表示是__________。

A ”\\”Yes\\” or\\”No\\” ” B “abcd\\n” C ’ABC’ D “\\tOK!” 参考答案 C

定义变量int a=6,则a++的值是__________。 A 7 B 6 C 5 D 4 参考答案 B

已知字母A的ASCII码为65,则表示字符常量A错误的是__________。 A '\\101' B '\\x41' C 65 D “A” 参考答案 D 下列常量中不能作为c++常量的是__________。 A 0382 B 0xB4 C .5e-2 D 123 参考答案 A 下列哪个是C++语言的不正确的标识符__________? A _No1 B Ab1 C bgc D int 参考答案 D

下列哪个是C++语言的合法的字符常量__________。

A ”\\0” B ’054’ C ’\\x89’ D ’\\092’ 参考答案 C

定义整型变量x,y,z并赋初始值6的正确语句是__________。 A int

x=y=z=6; B int x=6,y=6,z=6; C x=y=z=6; D int x,y,z=6; 参考答案 B 在以下选项中,与k=n++完全等价的表达式是__________。

A k=n,++n; B n=n+1,k=n; C k=++n; D k+=n+1; 参考答案 A 表达式(1,2,3,4)的结果是__________。 A 1 B 2 C 3 D 4 参考答案 D

关于C++和c语言的描述中,错误的是__________。

A C语言是C++的一个子集 B C语言和C++是兼容的 C C++对C语言进行了一些改进 D C语言和C++都是面向对象的 参考答案 D 结构化程序由三种基本结构组成,不包括__________。 A 顺序结构 B 选择结构 C 控制结构 D 循环结构 参考答案 C

在位运算中,操作数每右移一位,其结果相当于__________。 A 操作数乘以2 B 操作数除以2 C 操作数乘以4 D 操作数除以4 参考答案 B 用c++语言编写的代码程序__________。

A 可立即执行 B 是一个源程序 C 经过编译即可执行 D 经过解释才能执行 参考答案 B

在函数中如果不说明变量的存储类型,则默认的存储类型是__________。 A auto B static C extern D register 参考答案 A 己知有定义 const int D 5; int i=1; double f=0.32; char c=15;

则下列选项错误的是__________。

A ++i; B D--; C c++; D --f; 参考答案 B

在C++语言中.表示一条语句结束的标号是__________。 A “#” B “;” C “}” D “//” 参考答案 B 以下选项中属于c++语言的数据类型是__________。 A 复数型 B 日期型 C 双精度型 D 集合型 参考答案 C 二进制文件与字符文件不同的是________。

A 二进制文件中每字节数据都没有用ASCII码表示 B 二进制文件包含了ASCII码控制符 C 二进制文件一般以字符‘\\0’结束 D 二进制文件用字符endl表示行的结束 参考答案 A

变量生存期是指_____________。

A 变量定义 B 程序的运行期间 C 变量在内存中分配存储单元到被释放期间 D 可执行代码的生存期 参考答案 C

x为int型,s为float型,x=3,s=2.5。表达式s+x/2的值为________。 A 4 B 3.5 C 2.5 D 3 参考答案 B 不属c++源程序的翻译过程的是_______。

A 解释分析 B 词法分析 C 语法分析 D 链接 参考答案 A

x、y为整数,x=15, y=-2。表达式x>10 && y<2 ||x*y==10 && x的值为( )。 A 0 B 15 C 1 D 2 参考答案 C 下列关于c++源程序正确的说法是

A 每行只能写一个语句 B 每条语句(包括预处理命令)必须以分号结束 C 注释语句会生成机器码 D 最好向右缩进表达程序的层次结构 参考答案 D c++源程序中,以下说法不正确的是__________。

A 逗号运算符的优先级最低 B Pcn和pcn是两个不同的标识符 C 变量定义语句一定会给变量赋初值 D 表达式1/4+1/4+1/4的结果为0 参考答案 C 不属于c++源程序的独立部分是_______。

A 声明部分 B 存储区分配部分 C 编辑预处理部分 D 函数部分 参考答案 B 函数的返回值的类型由_________决定。

A 调用该函数的主调函数类型 B return语句中的表达式类型 C 定义函数时所指定的返回值类型 D 调用函数时临时决定 参考答案 C

设有 int a[10], *p=a ; 则下面哪种表示与a[5]不等价:_________ 。 A *(a+5) B *(p+5) C p[5] D p+5 参考答案 D 若有:int a,*p=&a; 则下面哪个表达式为假__________。 A *p= =&a B p= =&*p C a= =*&a D p= =&a 参考答案 A

下面哪一C++ 语言表达式不能正确表示数学关系a<x≤b。选项为__________。 A a=x)&&!(x>b) D a

A 注释参加编译,出现在目标程序中 B 注释参加编译,但不出现在目标程序中 C 注释不参加编译,但出现在目标程序中 D 注释不参加编译,也不出现在目标程序中 参考答案 D

下面字符序列中,C++合法的标识符是 __________ 。 A abc.cpp B #a C int D _12 参考答案 D

下面字符序列中,合法的常量是___________。 A 078 B 5L C 9e7.5 D ’a1’ 参考答案 B 编译程序的功能是 。

A 将汇编语言程序转换为目标程序 B 将汇编语言程序转换为高级语言程序 C 将高级语言程序转换为目标程序 D 将高级语言程序转换为汇编语言程序 参考答案 C

设a和b为整型变量,执行语句b=(a=2+3,a*4),a+5;后a和b的值为 。 A 5,10 B 20,25 C 5,25 D 5,20 参考答案 A

如果a=1,b=2,c=3,d=4,则条件表达式“a>b?a:c

C++源程序文件的扩展名为 。 A .CPP B .C C .DLL D .EXE 参考答案 A

n目运算符的含义是______。

A 对n个数据进行操作 B 对n个数据进行加法 C 对n个类型进行整合 D 对3个类型进行转换 参考答案 A

以下属于c++语言的基本数据类型是_______。 A 复数型 B 集合型 C 整数型 D 频率型 参考答案 C

int a生存的自动变量a在没有赋值的情况下,其值为________。 A 0 B -1 C 1 D 随机数 参考答案 D

有关符号常量不正确的说法是_______。

A 增加了程序执行速度 B 增强程序的可读性 C 书写简单,不易出错 D 修改程序方便 参考答案 A

_________不是Vc++6.0的开发过程。

A 创建工程 B 创建c++源程序文件 C 使用exe程序 D 编译源程序 参考答案 C

vc++中常数0x11表示十进制数________。 A 11 B 17 C 16 D 12 参考答案 B vc++中常数020表示十进制数__________。 A 20 B 32 C 16 D 24 参考答案 C 下列标识符不正确的是________。

A ints B _wqse12 C _12aas D ~awq 参考答案 D

下列标识符正确的是________。

A 1asd B _swe C ‘swe D @aws 参考答案 B 有关变量的正确说法是______。

A存储单元及内容 B 自动变化的数 C 地址 D 人为设置的数 参考答案 A int变量的字节长度为_______。 A 8 B 2 C 4 D 10 参考答案 C

C++是 _______ 。 A 面向任务的编程语言 B 面向过程的编程语言 C 面向过程和对象的混合编程语言 D 面向对象的编程语言 参考答案 C 在C++中,运算对象必须为整型数的运算符是( )。 A % B / C * D %和* 参考答案 A

在以下选项中,可以用做变量名的是( )。 A 2 B sum C int D *p 参考答案 B 在下列选项中,非法的转义字符是 ( )。

A ''\\037'' B ''\\'' C ''\\0x41'' D ''\\t'' 参考答案 B 以下选项中,非法的表达式是 ( )。 A n=(i=2,++i) B j++ C ++(i+1) D x=j>0 参考答案 C 在C++中,属于合法字符常量的是( )。

A ''\\084'' B ''\\x43'' C ''ad'' D \参考答案 A 下列表达式中,可作为C++合法表达式的是:

A [4,3,2,1] B (4,3,2,1) C 4=3=2=1 D 4-- 参考答案 B

若有定义:int a=10;float x=2.6,y=5.1;则表达式x+a%3*(int)(x+y)%3/5的值是:

A 2.8 B 2.6 C 2.4 D 3.0 参考答案 B

整型变量x和y的值相等,且不等于0,则以下表达式中结果为0的是( )。 A x || y B x | y C x & y D x ^ y 参考答案 D 下列选项中不属于C++的类型的是( )。

A.signed short int B unsigned long int C unsigned int D long short 参考答案 D

在C++语言中,080是( )。

A 十进制数 B 八进制数 C 十六进制 D 非法数 参考答案 D 在C++中,合法的长整型常数是( )。

A.0L B 4962710 C 0.054838743 D 2.1869e10 参考答案 A 字符串常量“ME ”的字符个数是( ) A1 B 2 C 3 D 4 参考答案A

有如下表达式19/3*sqrt(4.0)/5,则该表达式值数据类型为( )。A. int B float C double D 不确定参考答案 C 在C++中,合法的字符常量是( )。

A.‘\\084’ B‘\\x43’ C‘ah’ D “0” 参考答案 B

以下程序段输出的结果是( )。char c=”\\41”printf(“%d”,c); A .A B 41 C 语法错 D 65 参考答案C

若d为double型变量,则表达式d=1,d+5,d++的值是( )。 A. 1 B 6.0 C 2.0 D 1.0 参考答案 D

整型变量a定义后赋初值的结果是( )。int a=2.8*6 A 12 B 16 C 17 D 18 参考答案 B 下列运算符中可用于是实数的是( )。 A % B -- C << D &参考答案 A

下列关于圆括号运算符的功能说法不正确的是( )。

A. 可用于强制类型转换 B 可用于类型构造 C 可用于类型声明 D 可用于函数调用参考答案 C

设变量k为int型,下列选项中不正确的赋值表达式是( )。 A ++k B n1 = n2 = n3 C k = I == 1 D a=b+c=1 参考答案 D

设int b=12表达式b+=b-=b*b求值后b的值是( )。 A. 552 B 264 C 144 D -264 参考答案 D 设int a=4,b=8;则++a*b的结果是( )。 A 33 B 40 C 32 D 41 参考答案 B

关于C++和C语言的描述中,错误的是( )。

A C语言是C++的一个子集 B C语言和C++是兼容的 C C++对C语言进行了一些改进 D C语言和C++都是面向对象的参考答案 D

若w、x、y、z、m均为int型变量,则执行下面的语句后m的值是( )。 w=2,x=3,y=4,z=5; m=(w

A 2 B 3 C 5 D 4 参考答案 A 下列描述正确的是()

A 不是每个C++程序都必须包含预处理命令#include。 B C++程序必须包含return语句。 C C++程序中的变量必须定义在主程序的内部。 D C++程序中的符号变量可以不进行定义。 参考答案 A 以下选项中,合法的标识符是()

A long B _2Test C 3Dmax D A.dat 参考答案 B

在C++语言中,自定义的标识符号

A 能使用关键字并且不区分大小写。 B 不能使用关键字并且不区分大小写。 C 能使用关键字并且区分大小写。 D 不能使用关键字并且不区分大小写。 参考答案 D

下列符号中,不是分隔符的是 A ; B // C , D {} 参考答案 B 下列运算符中优先级最低的是 A & B && C ^ D | 参考答案 B

将小写字母n赋给字符变量onechar,正确的操作是() A onechar=’\\n’ B onechar=”n” C onechar=110 D onechar=’N’ 参考答案 C

能正确表示逻辑关系“a大于等于10或a不大于0”的C++语言表达式是() A a>=10 or a=0 B a>=0 or a<=10 C a>=10 && a<=0 D a>=10 || a<=0 参考答案 D

已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量\\101\是

A 字符A B 字符a C 字符e D 非法的常量参考答案 B 以下非法的赋值语句是

A n=(i=2,++i); B j++; C ++(i+1); D x=j>0; 参考答案 C 下面正确的赋值语句是

A a=7+b+c=a+7: B a=7+b++=a+7: C a=7+b,b++,a+7; D a=7+b,c=a+7;参考答案 A

语句cout<<(a=2)&&(h=-2);的输出结果是 A 无输出 B 编译错误 C -l D 1 参考答案 D C十+语言中在C语言的基础上增加的特性不包括 A 结构 B 引用 C 类和对象 D 静态成员函数 参考答案 A int x=3,y=4,z=5;则值为0的表达式是( )

A x>y++ B x<=++y C x!=y+z>y-z D y%z>=y-z 参考答案 A

对字符常量与字符串常量的描述不正确的是():

A 两者表示形式不同:前者使用单引号,后者使用双引号。 B 存放不同:前者存放在字符变量中,后者存放在字符数组或字符指针指定的位置。 C 存放字符串常量时系统会自动加一个结束符''\\0'' D 字符、字符串都能参与连接运算。参考答案 D

Visual C++6.0中打开一个已存在的项目,应打开其中后缀名为( )的文件 A htm B h C dsw D cpp 参考答案 C 所有的表达式都有值。 [参考答案] 正确

包含单个字符的字符串常量和字符常量是相同的。[参考答案] 错误 空字符串和空格串是一样的。 [参考答案] 错误

若x为整型变量,j为实型变量,当执行x=(int)j;语句后,j也变为整型变量。[参考答案] 错误

自减运算符“--”可以用于变量,也可以用于常量。 [参考答案] 错误

字符型数据可以和整型数据之间通用。 [参考答案] 正确

若表达式(x+(y-z)*(m/n))+3中的变量均为double型,则表达式值的类型为__1__。

参考答案 1:double类型或double型或双精度或双精度类型或双精度型或double

有如下循环语句:

for(int i=50; i>20; i-=2) cout<

#include void main() { char k='c',h='d'; int i=1,j=2; k+= i++; h-=--j; cout<

#include void main() { int

x,y,n; x=y=1; n=--x&&++y; cout<

\程序运行结果 第一行为:__1__。第二行为:__2__。 参考答案 1:0 0 1 2:1 -1 1 #include

void main( ) { int m=18,n=3; float

a=27.6,b=5.8,x; x=m/2+n*a/b+1/4; cout< void main( ) { int a=6,b=13;

cout<<(a+1,b+a,b+10)<

写出它们的输出结果 __1__。程序运行后,变量a的值__2__。参考答案 1:23 2:6 有如下程序段: int x=1, y=2, z=3; X=x^z;

y=y^z; z=x^y;

cout<

执行这个程序段的输出是__1__。 参考答案 1:2 有如下程序段:

for (int i=l; i<=50; i++) { if(i%3 !=0) continue; else if(i%5 !=0) continue;

cout << i << \}

执行这个程序段的输出是__1__。 参考答案 1:15,30,45 设int x,y;

则执行y=(x=1,++x,x+2);语句后,y的值是__1__。 参考答案 1:4

x、y、z为float,下列公式的赋值表达式为__1__。

参考答案 1:

z=(x*y>=0)?(x+y)*(x-x*y)/(x*x+y*y)/x:(x+y)*(y-x*y)/(x*x-y*y)/y

标识符是以__1__及下划线开头的数字、字母及下划线组成字串。 参考答案 1:字母

通过文字编辑建立的c++源程序的扩展名为__1__。 参考答案 1:.cpp 或 cpp

给变量赋初值,初值必须是______1__和常数表达式。 参考答案 1:常数

自加和自减的两种形式是__1__和后缀。 参考答案 1:前缀

修饰int的关键字有__1__、short和long。 参考答案 1:unsigned

c语言是__1__的程序设计语言,c++是面向过程和对象的程序设计语言。 参考答案 1:面向过程

n个字符的字符串存储占用的字节数为__1__,结尾的ascii码值为0。 参考答案 1:n+1

关系运算符、逻辑运算符和算术运算符的计算次序为:__1__ 参考答案 1:先算术运算符再关系运算符最后逻辑运算符 写出三种逻辑运算符:__1__、__2__和__3__。 参考答案 1:||2:&&3:!

写出三个2目位运算符:__1__、__2__和__3__。 参考答案 1:&2:^ 3:|

可存储小数的基本数据类型为__1__和双精度实型。

参考答案 1:单精度实型 或 float

变量的基本类型有__1__、实型、字符型和枚举型。 参考答案 1:整型

vc++源程序文件的扩展名为__1__,可执行程序的扩展名为exe。 参考答案 1:.cpp

变量的3要素是类型、__1__和变量值。 参考答案 1:名 或 变量名 指数形式的浮点常数格式为:__1__。 参考答案 1:Ae±B

变量的存储类型有自动存储类、__1__、静态存储类和外部存储类。参考答案 1:寄存器存储类

Visual C++6.0的集成开发环境(IDE)集编辑、__1__、链接和调试运行于一体。 参考答案 1:编译

应用程序hello.cpp中只有一个函数,这个函数的名称是__1__。(注意:答案只写函数名)

参考答案 1:main

若a为整型变量,且a的初值为6,则计算表达式 a+=a-=a*a 后,a的值为__1__。 参考答案 1:-60

表达式 ~10 的值为__1__。 参考答案 1:-11

若x和y均是整型变量,当执行 y=(x=1,++x,x+2); 语句后,y的值是 __1__。

参考答案 1:4

若有定义语句:int a=1, b=2, c=3; 则表达式c+=a>b?++a:++b的值为__1__。 参考答案 1:6

表达式 !-5+31>>2 的值为__1__。 参考答案 1:7

C++中的一个三目运算符是__1__。 参考答案 1:?:

C++中的字符串的结束符是__1__。 参考答案 1:‘/0’

C++中的标识符只能由字母、数字和__1__组成。 参考答案 1:下划线

十六进制常量前面应该加__1__。 参考答案 1:0x;0X

在C++结构化程序设计框架中,__1__是程序的基本组成单元。 参考答案 1:函数

假设int a=1,b=2;则表达式a+++--b的值为__1__. 参考答案 1:2

#include void main() {

int num=0;i=8;

do{

i--; num++; } while(--i):

cout<

参考答案 4 有如下程序:

# include # include void main( ) {

int s[ ]={123, 234};

cout<

cout<

运行时的输出结果是( )。

A 123 234 B ***123 234 C ***123 ***234 D ***123 234*** 参考答案 B

有如下程序:

# include using namespace std; class Publication{ //出版物类 char name[30]; public:

Publication(char *name=\未知名称\strcpy(this->name,name); }

const char * getName()const{ return name; }

virtual const char * getType()const{ return \未知类型\};

class Book: public Publication{ //书类 public:

Book(char *name): Publication(name){}

virtual const char * getType()const{ return \书\};

void showPublication( Publication &p){ cout<

int main(){

Book book(\精彩人生\showPublication(book); return 0; }

运行时的输出结果是

A 未知类型:未知名称 B 未知类型:精彩人生 C 书:未知名称 D 书:精彩人生参考答案 D 有如下程序:

# include using namespace std; class A { public:

A(int i) : r1(i) {}

void print() {cout<<'E'<

void print() const {cout<<'C'<

int main(){

A a1(2); const A a2(4); a1.print(); a2.print(); return 0;

}运行时的输出结果是

A 运行时出错 B E2-C16- C C4-C16- D E2-E4- 参考答案 B 有如下程序段: int i=1; while(1) { i++;

if (i==10) break; if (i%2==0) cout<<'*'; }

执行这个程序段输出字符*的个数是( )。 A 10 B 3 C 4 D 5 参考答案 C

有如下程序: int x=3; do { x-=2; cout<

A 1 B 3 0 C 1-2 D 死循环参考答案 C

有如下语句序列: int k=0; do { k+=5; cout<<'$'; }while(k<19); while(k-->0) cout <<'*'; 执行上面的语句序列输出字符“$”和“*”的个数分别是( )。

A 4和20 B 5和20 C 4和21 D 5和21 参考答案 A 已知语句: while(!x)

其中表达式!x等价于__________。 A x=1 B x!=0 C x==0 D x!=1 参考答案 C

C++语言的跳转语句中,对于break和continue说法正确的是__________。 A break语句只应用于循环体中 B continue语句只应用于循环体中 C break是无条件跳转语句,continue不是 D break和continue的跳转范围不够明确,容易产生问题参考答案 B

在下面的循环语句中循环体执行的次数为 。 for(int i=0;in/2)break;

A n/2 B n/2+1 C n/2-1 D n-1 参考答案 B 下面for语句的循环次数为 。

for(int i=0,x=0;!x&&i<=5;i++); A 5 B 6 C 7 D 无穷次参考答案 B 与下面程序段等价的是 。 while(a)

{ if(b)continue; c;

} A while(a){if(!b)c;} B while(c){if(!b)break;c;} C while(c){if(b)c;} D while(a){if(b)break;c;} 参考答案 A

已定义int a,b; 下列switch语句中格式正确的是 。 A. switch(a) { case b+1:a--;break; case b+2:a++;break; } B. switch(a==b) { default:a-b}

C. switch(a/10+b) { case 5:a-b; default:a+b; }

D. switch(a*a) { case 1,2:++a;case 3,4:++b;} 参考答案 C 在下列程序段中,两个cout输出语句( )。 while (2>3)

{ cout<<\

do

{ cout<<\

A 都有输出。 B 只有第1个有输出。 C 只有第2个没有输出。 D 第1个没有输出,第2个有输出。参考答案 D 下列语句中错误的是( )。

A if (a>b) cout<0) ; else a=n; 参考答案 B

在C++语言中,所谓选择结构,就是按照( )有选择地执行程序中的语句。 A 给定数值 B 给定符号 C 给定程序 D 给定条件参考答案 D

while后面的“条件表达式”一定要用一对 括起来。 A 防括号“[ ]” B 园括号“()” C 花括号“{ }” D 引号“”参考答案 B 已知语句: while(!E);

其中表达式!E等价于 。

A E==0 B E!=0 C E!=1 D E=1 参考答案 A 在C++程序中,一个标识符在使用前必须先 后引用。 A 声明 B设定C定义D调用参考答案 C

下列语句段将输出字符'*'的个数为 。 int i=100; while(1) {

i--;

if(i==0)break; cout<<'*';

} A 98 B 99 C 100 D 101 参考答案 B

若i为整型变量,则以下循环的执行次数是 for(i=2;i==0;) cout<

for(int i=0;x<10;x++) x++; 语句的循环次数是_________。参考答案 D

循环体被至少执行一次的循环语句为_______。

A while B for C do ...while D 多重循环参考答案 C 执行语句序列: int i=0; while(i<25) i+=3; cout<

输出结果是 。 A 24B 25C 27D 28 参考答案 C 执行语句序列: int x=3; do {

。 B 9 C 4 D 5 A 10 x-=2; cout<

A 1-2B 1C 30D 死循环参考答案 A 执行语句序列: int n; cin>>n; switch(n) {

case 1:

case 2: cout<<'1'; case 3:

case 4: cout<<'2'; break; default: cout<<'3'; }

时,若从键盘上输入1,则屏幕显示( ) 。 A 1 B 2 C 3D 12 案 D

假定所有变量均已正确说明,下列程序段运行后,x的值是( )a=b=c=0; x=35;

if (!a) x--;

参考答。 else if (b);

if (c) x=3; else x=4;

A 34 B 4 C 35 D 3 参考答案 B 下列程序段的输出是( )。 int a=2, b=-1, c=2; if(a

A 0 B C 2 D 3 参考答案 C

下列关于循环的描述中,错误的是( )。

A do-while、while和for循环中的循环体均可以由空语句组成 B while循环是先判断表达式,后执行循环体语句 C do-while、while和for循环均是先执行循环体语句,后判断表达式 D do-while循环体至少无条件执行一次,而while循环体可能一次也不执行参考答案 C

下列关于for循环的描述中,正确的是( )。

A for循环只能用于循环次数已经确定的情况 B for循环的循环体语句中,可以包含多条语句,但必须用花括号{ }括起来 C for循环是先执行循环体语句,后判断表达式 D 在for循环中可使用continue语句结束循环,接着执行for语句的后继语句参考答案 B

下列关于break语句的描述中,不正确的是 。 A break语句可用在循环体中,它将使执行流程跳出本层循环体 B break语句在一个循环体内可以出现多次 C break语句可用在switch语句中,它将使执行流程跳出当前的switch语句 D break语句可用在if语句中,它将使执行流程跳出当前的if语句参考答案 D

下列关于do-while语句的描述中,正确的是 。

A do-while语句所构成的循环只能用break语句跳出 B do-while语句所构成的循环不能用其他语句构成的循环来代替 C do-while语句所构成的循环只有在while后面的表达式非零时才结束 D do-while语句所构成的循环只有在while后面的表达式为零时才结束参考答案 D

为了避免嵌套的条件语句的二义性,C++语言规定else与 ( )配对。 A 编辑时在同一列的if B其之前最近的还没有配对过的if C 其之后最近的if D同一行上的if 参考答案 B

下列关于switch语句的描述中,正确的是 。 A switch语句中case子句后面的表达式只能是整型表达式 B switch语句中每个语句序列中必须有break语句 C switch语句中default子句可以没有,也可以有一个 D switch语句中default子句只能放在最后参考答案 C

下列选项中属于C++语句的是( ) 。 A ; B a=87 C i+5 Dcout<<'\\n' 参考答案 A

若有定义int i=1;则执行完循环while(i++<5);以后i的值为__________。 A 6 B 5 C 4 D 7 参考答案 A

若已有 int e; 则while(e) {?},中的循环控制条件等价于:____________。 A e= =0 B e!=0 C e= =1 D e!=1 参考答案 B 下列说法不正确的是:____________。

A for,while 和do-while循环体中的语句可以是空语句。 B 使用 while 和do-while循环时,循环变量初始化的操作应在循环语句之前完成。 C for和do-while循环都是先执行循环体语句,后判断循环条件表达式。 D while循环是先判断循环条件表达式,后执行循环体语句。参考答案 C

关键字break不会直接影响的是_________。 A if B for C switch D while 参考答案 A 与switch同时出现的关键字是_________。 A define B typedef C do D case 参考答案 D 下面_______不是必须的c++源程序格式要求。

A 语句以分号结束 B 编译命令不要以分号结束 C 函数体放在 {}内 D {}内的语句向右缩几个字符参考答案 D C++源程序分为______区。

A1个 B2个 C 包含和定义及条件编译3个 D 4个参考答案 B

设x、y、z、t 均为 int 变量,则执行以下语句后,t 的值为( )。 x=y=z=1;

t=++x||++y&&++z; A 不定值

B 2 C 1 D 0 参考答案 C

执行 if((x=y=2)>=x&&(x=5)) y*=x; 语句后,变量 x、y 的值分别为( )。 A 2、4 B 5、2 C 5、10 D 执行时报错参考答案 C

设 x、y 和 z 是 int 型变量,且x=3、y=4、z=5 ,则下列表达式中,其值为 0 的是( )。

A x&&y Bx<=y Cx||y+z&&y-z D !((x

A 只能是 0 或 1 B 只能是 0 或 非 0 正数 C 只能是整型或字符型数据 D 可以是任何类型的数据参考答案 D

与y=(x>0?2:x<0?1:0);的功能相同的语句是( )。 A if (x>0) y=2; else if(x<0) y=1; else y=0; B if (x) if(x>0) y=1; else if(x<0) y=2; else y=0; C y=1; if (x) if (x>0) y=2; else if(x==0)y=0; else y=1; D if(x<0) y=2; if(x>0) y=1; else y=0; 参考答案 A

已知 year 为整型变量,不能使以下表达式为“真”的数据是( )。 (year%4==0&&year0!=0)||year@0==0 A 1990 B 1992 C 1996 D 2000 参考答案 A

当把下面4个表达式用作if语句的条件表达式时,有一个选项与其它3个选项含义不同,这个选项是( )

A k%2 B k%2==1 C (k%2)!=0 D !k%2==1 参考答案 D

为了避免在嵌套的条件语句if..else中产生二义性,C++语言规定:else字句总是与( )配对。

A 缩排位置相同的ifB. 前面最近的if C 后面最近的if D 前面最近未配对的if 参考答案 D 下面的for语句的循环次数为( )。 for(x=1,y=0;(y!=19&&(x<6);x++);

A无限循环B循环次数不定 C最多执行6次D最多执行5次参考答案 D C++语言中while循环和do...while循环的主要区别是( )。 A do...while的循环体至少无条件执行一次 B while的循环控制条件比do...while的循环控制条件严格 C do...while允许从外部转到循环体内 D do...while的循环体不能是复合语句参考答案 A

有以下程序:#include using namespace std; void main(){ int a=5, b=4, c=3, d=2; if (a>b>c) cout<=d)==1) cout<

cout<

A 2 B 3 C 4 D 编译时有错,无结果参考答案 B

t为int类型,进入下面的循环之前,t的值为0。对下面的语句 while(t=1){...}

则以下叙述中,正确的是( )。

A 循环控制表达式的值为0 B 循环控制表达式的值为1 C 循环控制表达式不合法 D 以上说法都不对参考答案 B

若有条件语句“if(exp) a++ else b--”,则以下表达式中,能完全等价于表达式(exp)的是( )。

A (exp==0) B (exp!=0) C (exp==1) D (exp!=1) 参考答案 B 以下程序段的输出结果是( )。 int x=5;

do{

cout<

A 54321 B 43210 C 5 D 4 参考答案 C 用于实现程序流程转移的语句是()

A 选择语句 B .跳转语句 C 声明语句 D循环语句参考答案 B 下列关于switch的描述正确的是()

A switch语句中default子句可以没有,也可以有一个。 B switch语句中每个语句序列中必须有break语句。 C switch语句中default子句只能放在最后。 D |switch语句中case子句最后的表达式只能是整型表达式。参考答案 A C++语句中while循环和 do while循环的主要区别是()

A do while的循环体至少无条件的执行一次。 B while 的循环控制条件比do while的循环控制条件严格。C. do while 允许从外部转到循环体内。 D do while的循环体不允许是复合语句。参考答案 A 下列声明语句没有起到定义作用的是()

A int count; B const double pi=3.1415; C int max(int a,int b){return a>b ?a:b;} D extern long index; 参考答案 D 下列程序段循环了()次。 int x=-9; while(++x){}

A 8 B 9 C 10 D 无限参考答案 A 下列不是循环语句的是

A while语句 B do?while语句 C for语句 D if?else语句参考答案 D 对于语句for(x=0,y=0;(y!=123)&&(x<4);x++);正确的说法是 A 是无限循环 B 循环次数不定 C 循环4次 D 循环3次参考答案 C 有以下程序段 int k=0: while(k=1)k++; while循环执行的次数是 A

无限次(死循环)

B 有语法错,不能执行 C 一次也不执行 D 执行1次参考答案 A

设x,y,z,k都是int型变量,则执行表达式:x=(y=4,z=16,k=32)后,x的值为( )

A 4 B 16 C 32 D 52 参考答案 C

若k为int 类型,且k的值为3,执行语句k+=k-=k*k后,k的值为( ) A -3 B 6 C -9 D -12 参考答案 D

使用cin>>输入多个数据时,输入时各数据之间所用的分隔符不能是() A 空格键 B Tab键 C 逗号 D 回车符参考答案 C

任何一个表达式加上一个分号就构成一个语句。[参考答案] 正确 在逻辑表达式中,有些逻辑运算符可能不会被执行到。 [参考答案] 正确

条件运算符的结合方向为从左到右。[参考答案] 错误 在switch语句中,switch后面的表达式可以为任意类型。

[参考答案] 错误

在C++中,空语句表示什么都不做,因此毫无意义。 [参考答案] 错误

while语句的循环体有可能一遍都不执行,而do--while语句至少执行一遍循环体[参考答案] 正确

以下程序输入两个正整数,求它们的最大公约数。 #include void main( ) {

int m,n,r; cin>>m>>n; r=m%n;

while( __1__) { m=n; n=r; __2__ ; }

cout<<\最大公约数为:\}

填空完成该程序。

参考答案 1:(r=m%n)!=0或r!=0或r 2:r=m%n或r=m-m/n*n

以下程序显示输出倒三角图案。 ***** *** *

#include void main( ) { int

i,j; for(i=0;i<4;i++) { for(j=0;j

参考答案 1:\或*' 2:endl 或 '\\n' 或 \

以下程序计算表达式1/n(1^2+2^2+??+n^2) 的值。 #include void main( ) { int n,k=1,sum=0,mean; cout<<\输入n的值:

\(n>0) mean=sum/n; else mean=0; cout<<\表达式的值=\填空以完成该程序。

参考答案 1:k++ 或 k=k+1

根据输入的年、月,判断该月的天数。例如,2008年2月的天数为29天,2010年5月为31天。完成以下程序: #include void main( ) { int year,month,days; cout<<\请输入年,

月:\3: case 5: case 7: case 8: case 10: case 12:days=31;break; case 4: case 6: case 9: case

11:days=30;break; case 2: if (!(year@0) || !(year%4) && year0) __1__ ; else days=28; } cout<

输入任意一个字符,如果该字符是英文字母,则输出其ASCII码。 void main( ) { char c; cout<<\请输入一个字符:\

((c>='A'&&c<='Z')||(c>='a'&&c<='z')) cout<<(int)c<

参考答案 1:68 100 77 110

符合结构化原则的三种基本控制结构是:选择结构、循环结构和__1__。 参考答案 1:顺序结构

Break语句用于结束整个循环,__1__语句用于结束本次循环。 参考答案 1:continue

完成从键盘上输入100个数, 用选择法按降序排序输出的程序。 #include Main()

{ int i,j,a[100],tem; for (i=0;i<100;i++)

{ cout<<“输入第”<< i+1<<“个数:”; Cin>>a[i]; }

for (i=0;i<99;i++) for(j=__1__ ;j<=99;j++) if (__2__ ])

{tem=a[i];a[i]=a[j];a[j]=tem;} for (i=0;i<100;i++) cout<

}

参考答案 1: i+1 2:a[i]

语法的三种基本结构为顺序结构、__1__和循环结构。 参考答案 1:选择结构

一个数如果等于它的因子(包括1)之和,则称该数为完数,如:6=1+2+3; 编程求2到100之间的完数。填写空缺部分。 #include using namespace std; int main( ) {int m,i,s=0;

for(m=2;m<100;m++) {__1__ ; i=1;

while( __2__ ) {if(m%i==0) s=s+i; i++; } if( __3__)

cout<<\}

cout<

return 0; }

参考答案 1:s=0 2:ii 3:s==m或 m==s 设有: int y=10;

y+=y-=y-y; 则 y 的值是:__1__。 参考答案 1:20

三种基本的程序控制结构是:顺序结构,选择结构,__1__。 参考答案 1:循环结构

在switch语句中,每个语句标号所含关键字case后面的表达式必须是__1__. 参考答案 1:常量表达式

输入一个正整数,求该数的阶乘。 #include using namespace std; int main() {

int i,n; long int fact=1;

cout<<\请输入一个正整数:\ __1__;

for(i=2;i<=n;i++) __2__*=i;

cout<

参考答案 1:cin>>n 2:fact

用“枚举法”求解百元买百鸡问题。假定公鸡5元1只,母鸡3元1只,小鸡1元3只,现在有100元钱要买100只鸡,且需包含公鸡、母鸡和小鸡,编程列出所有可能的购鸡方案。 #include using namespace std; int main() {

int x,y,z;

cout<<\公鸡数\\t\母鸡数\\t\小鸡数\\t\ for(x=1;x<=19;x++) for(y=1;y<=31;y++) {

z=__1__;

if(__2__==100)

cout<

}

参考答案 1: 100-x-y 2:5*x+3*y+z/3.0

求“水仙花数”。所谓“水仙花数”是指一个三位正整数,其各位数字的立方和等于该数本身。例如:153=13+53+33。 #include using namespace std; int main() {

int i,j,k,n; cout<<\水仙花数:\ for(n=100;n<1000;n++) {

i=__1__

; // i为百位数字

j=n/10-i*10; // j为十位数字 k=__2__; // k为个位数字 if(i*i*i+j*j*j+k*k*k==n) cout<

参考答案 1: n/100 2:n

输入x,计算sin(x)。计算公式为:sin(x)=x/1-x^3/3!+???(-1)^(n-1)x^(2n-1)/(2n-1)! #include #include using namespace std; int main() {

int n=1;

double x,t,sinx(0); cout<<\请输入x的值:\ cin>>x;

t=__1__; while(fabs(t)>=0.000001) {

sinx+=t; t=-t*x*x/(__2__ );

n+=2; }

cout<<\编程求得的sin(\

cout<<\调用标准函数求得的sin(\

return 0; }

参考答案 1:x 2:(n+1)*(n+2)

一个小球从100米高处落下,每次落地后反弹回原高度的一半,再落下。求它在第10次落地时共经过多少米?第10次反弹多高? #include #include using namespace std; int main() {

float s=100.0,h=s/2; for(int i=2;__1__ ; i++) {

s+=h*2; h=__2__ ; }

cout<<\第10次落地时,共经过\米;反弹高度是\米\ return 0; }

参考答案 1i<=10或10>=i或i<11或11>i 2:h/2或h/2; 显示输出3~100之间的所有素数。

#include #include using namespace std; int main() {

cout<<\~100之间的素数是:\ for(int m=3;m<100;m+=2) {

int k=int(sqrt(m)); for(int i=2;i<=k;i++)

if(m%i==0)__1__ ;

if(__2__ ) cout<

cout<

参考答案 1:break 2:kk

输入一个自然数,将该数的每一位数字按反序输出。例如:输入12345,输出54321。

#include

using namespace std; int main() {

unsigned long int num,digital; cout<<\请输入一个自然数:\ cin>>num; do {

digital=__1__ ;

num/=10; cout<<__2__; }while(num>0); cout<

参考答案 1: num 2: digital 求出满足不等式1+1/2+1/3+??+1/n>=5 的最小n值。 #include using namespace std;

int main() {

int i=0;double s=0; while(__1__)

s+=double(1)/__2__; cout<<\ return 0; }

参考答案 1:s<5 2:++i

求自然数1~100之和,即计算sum=1+2+3+?+100。 #include using namespace std; int main() {

int i(1),sum(0); while(__1__) {

__2__; i++; }

cout<<\ return 0; }

参考答案 1:i<=100或100>=i 2sum+=i或sum=sum+i或sum=i+sum 将输入的百分制成绩按以下规定转换成相应的等级: 成 绩 等级 100~90 优秀 89~80 良好 79~70 中等 69~60 及格 59~0 不及格 #include using namespace std; int main() {

float score; cout<<\请输入成绩:\ cin>>score;

if(score>=0 && score<=100) switch(__1__) {

case 10:

case 9: cout<

__2__:cout<<\分:不及格\ } else

cout<<\输入数据有误!\ return 0; }

参考答案 1: int(score)/10 2:default

输入两个整数a和b,按从小到大的顺序输出这两个数。 #include using namespace std; int main() {

int a,b,t;

cout<<\请输入两个整数a,b:\ cin>>a>>b;

if(a>b)

{__1__;a=b;__2__;} cout< return 0; }

参考答案 1:t=a 2:b=t

根据x的值,计算分段函数y的值。y的计算公式为:

y=|x|(x<0),y=e^xsinx(x<=0<10),y=x^3(10<=x<20),y=(3+2x)lnx(x>=20) #include #include using namespace std; int main() {

double x,y; cout<<\请输入x:\ cin>>x; if(x<0)

y=fabs(x); else if(__1__ )

y=exp(x)*sin(x); else if(x<20) y=pow(x,3);

else

y=__2__(3+2*x); cout<<\ return 0; }

参考答案 1:x<10 或 10>x 2:log(x)*

有20只猴子吃掉50个桃子。已知公猴每只吃5个,母猴每只吃4个,小猴每只吃2个。求出公猴、母猴和小猴各多少只。 #include using namespace std; int main() {

int a,b,c; for(a=1;a<=11;a++) for(b=1;b<=13;b++) {

c= __1__ ;

if(__2__ ==50)

cout<<\公猴=\母猴=\小猴=\

} return 0; }

参考答案 1:20-a-b 2:5*a+4*b+2*c

求1000内所有的完数。所谓“完数”是指与其因子之和相等的数(除本身之外)。例如:6=1+2+3,而1、2和3都是6的因子。要求以如下形式输出:6——>1,2,3。

#include using namespace std; int main() {

int i,j,sum; for(i=2;i<=1000;i++) {

for(sum=1,j=2;j<=i/2;j++) //求i的因子和 if(i%j==0)sum+=j;

if( __1__ ) //判断i是否为完数 {

cout<1\

for(j=2;j<=i/2;j++) //按指定格式输出完数

if(i%j==0)cout<<','<< __2__ ;

cout<

参考答案 1:sum==i 或 i==sum 2: j

计算 pi 的近似值,直到最后一项的绝对值小于10-8为止,近似公式为 { 1e-8) }

#include #include #include using namespace std; int main()

double sum=0,faction=1; int denominator=1; int sign=1;

while(fabs(faction)__1__ {

__2__

+=faction;

denominator+=2; sign*=-1;

faction=sign/double(denominator); } sum*=4;

cout<<\π≈\ndl;

return 0; 参考答案 1:>= 2:sum

从键盘上输入一串字符,以Ctrl+Z(^Z)表示输入结束。统计其中包含的单词的个数、字母的个数、数字个数。规定单词之间用一个空白符分开(空白符包括空格符、水平制表符、换行符)。 #include using namespace std; int main() {

char c;

int alpha(0),num(0),ch(0),word(0); while((c=getchar())!=EOF)

// 使用getchar()函数逐一读取字符;EOF代表文本结束符,键盘上对应输入Ctrl+Z {

if(c==' ' || c=='\\t' || c=='\\n') word++;

if(c>='a' && c<='z'|| c>='A'&& c<='Z') alpha++; else if(__1__ ) num++; else__2__ ; }

cout<<\字母数=\数字数=\其他字符数=\

cout<<\单词数=\ return 0; }

参考答案 1:(int)c>=48 && (int)c<=57或c>='0' && c<='9'或c>=48 && c<=57 2:++ch或ch++或ch=ch+1或ch+=1

计算由0到9之间的任意3个不相同的数字组成的三位数共有多少种不同的组合方式。

#include using namespace std; int main( ) {

int i, j, k, count=0;

for ( i=9; i>=1; i--) for ( j=9; j>=0; j--) if ( __1__ )continue; else

for(k=0;k<=9;k++)

if(__2__ ) count++; cout<

参考答案 1: i==j或j==i 2:(k!=i)&&(k!=j) 或k!=i && k!=j或k!=j && k!=i “同构数”是指这样的数:它恰好出现在平方数的右端。 例如:376*376=141376

试找出10000以内的全部同构数。 #include using namespace std; int main() {

int n,sqr;

for(n=1;n<10000;n++) {

if (n<10)