C++期末上机考试题

更新时间:2023-08-28 05:27:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

试卷编号:8608

所属语言:C++

试卷方案:11121C++语言程序设计K

试卷总分:100分

共有题型:6种

━━━━━━━━━━━━━━━

一、填空 共20题 (共计20分)

━━━━━━━━━━━━━━━

第1题 (1分) 题号:6450

若所用变量都已正确定义,请填写以下程序段的输出结果【1】.

for(i=1;i<=5;i++);

cout<<"OK"<<endl;

答案:

1). OK

第2题 (1分) 题号:6482

设x=2.5,a=7,y=4.7,算术表达式x+a%3*(int)(x+y)%2/4的值为【1】.

答案:

1). 2.5

第3题 (1分) 题号:6446

若a是int型变量,则计算表达式 a=25/3%3 后a的值为【1】.

答案:

1). 2

第4题 (1分) 题号:6565

C++中,预定义算子oct表示【1】进制的输出.

答案:

1). 八 或 8

第5题 (1分) 题号:6546

关键字new用于进行动态内存分配,关键字【1】用于释放所分配的内存.

答案:

1). delete

第6题 (1分) 题号:6548

若有说明:int *p=new int,则分配了【1】个字节的内存空间.

答案:

1). 4

第7题 (1分) 题号:6540

当一个函数无返回值时,函数的类型应定义为【1】

答案:

1). void

第8题 (1分) 题号:6517

已知a=12,写出表达式 (0<a)&&(a<2) 的值是【1】.

答案:

1). 0

第9题 (1分) 题号:6501

以下程序段要求从键盘输入字符,当输入字母为'Y' 时,执行循环体,则在括号内填写.

#include "iostream.h"

main()

{char ch=cin.get();

while(ch 【1】 'Y')/*在括号中填写*/

ch=cin.get();

}

答案:

1). ==

第10题 (1分) 题号:6473

设a、b、c为整型数, 且a=2、b=3、c=4, 则执行完以下语句:

a*=16+(b++)-(++c);

后,c的值是 【1】.

答案:

1). 5

第11题 (1分) 题号:6502

已知 a=10,b=15,c=1,d=2,e=0,则表达式 a*b&&c

答案:

1). 1

第12题 (1分) 题号:6416

int x=y=4,z=2;x=y==z; 则x的值为【1】.

答案:

1). 0

第13题 (1分) 题号:6522

已知a=13,b=6, a||b的十进制数值为【1】.

答案:

1). 1

第14题 (1分) 题号:6463

若有以下数组a,数组元素:a[0]~a[9],其值为

9 4 12 8 2 10 7 5 1 3

1】. 的值为【

该数组中下标最小的元素名字是【1】.

答案:

1). a[0]

第15题 (1分) 题号:6528

执行下列语句后,*(p+1)的值是【1】.

char s[3]="ab",*p;

p=s;

答案:

1). b

第16题 (1分) 题号:6543

定义指向整型变量的指针变量p的语句【1】.

答案:

1). int *p;

第17题 (1分) 题号:6555

在面向对象程序设计中,将类所说明的变量称为【1】.

答案:

1). 对象

第18题 (1分) 题号:6518

已知a=13, !a的十进制数值为【1】.

答案:

1). 0

第19题 (1分) 题号:6412

int x=2;z=x++-1; 则x的值为【1】.

答案:

1). 3

第20题 (1分) 题号:6527

在C++语言中的实型变量分为两种类型,它们是float型和【1】型.

答案:

1). double

━━━━━━━━━━━━━━━

二、判断 共20题 (共计20分)

━━━━━━━━━━━━━━━

第1题 (1分) 题号:1497

C++语言允许嵌套定义函数,也允许嵌套调用函数.

答案:N

第2题 (1分) 题号:1531

用户使用字符串处理函数时,必须使用编译预处理命令,在头文件中定义cstring或string.h. 答案:Y

第3题 (1分) 题号:1645

对二维数组正确定义的形式是:int a(2)(3);

答案:N

第4题 (1分) 题号:1592

若有 int i=10,j=2;则执行完i*=j+8;后ⅰ的值为28.

答案:N

第5题 (1分) 题号:1446

C++语言中一行只可以写一条语句.

答案:N

第6题 (1分) 题号:1642

全局变量是静态存储变量.

答案:Y

第7题 (1分) 题号:1599

表达式4||3||2的值是1.

答案:Y

第8题 (1分) 题号:1616

有定义int a[5]={0,1,2,3,4},*p,i=2;若执行语句:

p=a;

cout<<*(p+i);后的输出结果是1.

答案:N

第9题 (1分) 题号:1472

else总是与离它最近的if匹配,可以通过使用大括号{}来改变匹配关系.

答案:Y

第10题 (1分) 题号:1631

在C++环境下,可以使用Ctrl+F5键运行程序.

答案:Y

第11题 (1分) 题号:1629

C++语言中,'a'与"a"是等价的.

答案:N

第12题 (1分) 题号:1532

求字符串长度函数strlen ( )

答案:Y

第13题 (1分) 题号:1508

int a [10]={0, 1, 2, 3, 4, 5};a[6]~ a[9]均为0.

答案:Y

第14题 (1分) 题号:1634

break是C++语言中的关键字.

答案:Y

第15题 (1分) 题号:821

C++程序中,通常使用const来定义符号常量,定义时必须指出类型.

答案:Y

第16题 (1分) 题号:1553

实参与形参值传递是双向的传递.

答案:N

第17题 (1分) 题号:1619

对数组进行初始化ch aa[]={'h','e','l','l','0'},bb[]="hello";

则两个数组的长度相同.

答案:N

第18题 (1分) 题号:1534

char ch1[ ]= "student", ch2[10];ch2=ch1; 是错误的

答案:Y

第19题 (1分) 题号:1614

若有int i,*p=&i;则语句*p=1000;

是合法的.

答案:Y

第20题 (1分) 题号:1548

char *p ="PCGAME";是定义初始化指针变量,指针变量的值是一个字符串.

答案:N

━━━━━━━━━━━━━━━━━

三、单项选择 共30题 (共计30分)

━━━━━━━━━━━━━━━━━

第1题 (1分) 题号:3587

一个C++程序的执行是从().

A:本程序的main函数开始,到main函数结束

B:本程序文件的第一个函数开始,到本程序文件的最后一个函数结束

C:本程序的main函数开始,到本程序文件的最后一个函数结束

D:本程序文件的第一个函数开始,到本程序main函数结束

答案:A

第2题 (1分) 题号:3434

以下不符合C++语言语法的赋值语句是().

A:a=1,b=2

B:++j;

C:a=b=5;

D:y=(a=3,6*5);

答案:A

第3题 (1分) 题号:3667

设有定义int n; 执行n='f'-'a'后,n的值是().

A:f

B:a

C:5

D:6

答案:C

第4题 (1分) 题号:3652

下列程序段的输出结果为().

#include <iostream.h>

void main()

{

int x=3,y=2;

cout<<(x-=y,x*=y+8/5);

A:1

B:7

C:3

D:5

答案:C

第5题 (1分) 题号:3616

以下叙述中正确的是 ().

A:C++语言比其他语言高级

B:C++语言可以不用编译就能被计算机识别执行

C:C++语言以接近英语国家的自然语言和数学语言作为语言的表达形式

D:C++语言出现的最晚,具有其他语言的一切优点

答案:C

第6题 (1分) 题号:3421

设C++语言中,int类型数据占4个字节,则short类型数据占().

A:1个字节

B:2个字节

C:4个字节

D:8个字节

答案:B

第7题 (1分) 题号:3404

C++语言中,double类型数据占().

A:1个字节

B:2个字节

C:4个字节

D:8个字节

答案:D

第8题 (1分) 题号:3537

若变量a,i已正确定义,且i已正确赋值,非法的语句是().

A:a==1

B:++i;

C:a=(int)i;

D:a=int(i);

答案:A

下列程序的输出结果是().

#include <iostream.h>

void main()

{

int a=9;

cout<<++a;

}

A:12

B:11

C:10

D:9

答案:C

第10题 (1分) 题号:3505

char h,*s=&h;可将字符H通过指针存入变量h中的语句是().

A:*s=H;

B:*s='H';

C:s=H;

D:s='H'

答案:B

第11题 (1分) 题号:3540

若使用一维数组名作函数实参,则以下正确的说法是().

A:必须在主调函数中说明此数组的大小

B:实参数组类型与形参数组类型可以不匹配

C:在被调用函数中,需要考虑形参数组的大小

D:实参数组名与形参数组名必须一致

答案:A

第12题 (1分) 题号:3517

设有说明:char w;int x;float y;double z;则表达式w*x+z-y

值的数据类型为().

A:float

B:char

C:int

D:double

答案:D

下面有关 for 循环的正确描述是().

A:for 循环只能用于循环次数已经确定的情况

B:for 循环是先执行循环循环体语句,后判断表达式

C:在 for 循环中,不能用 break 语句跳出循环体

D:for 循环的循环体语句中,可以包含多条语句,但必须用花括号括起来

答案:D

第14题 (1分) 题号:3603

以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是().

A:char s[10]="abcdefg";

B:char t[]="abcdefg",*s=t;

C:char s[10];s="abcdefg";

D:char s[10];strcpy(s,"abcdefg");

答案:C

第15题 (1分) 题号:1421

不能把字符串"hello!"赋给数组b的语句是

A:char b[10]={'h','e','l','l','o','!','\0'};

B:char b[];b="hello!";

C:char b[10];strcpy(b,"hello!");

D:char b[10]="hello!";

答案:B

第16题 (1分) 题号:3511

int a=3,b=2,c=1;

if(a>b>c)a=b;

else a=c;

则a的值为().

A:3

B:2

C:1

D:0

答案:C

第17题 (1分) 题号:3480

以下运算符中,优先级最高的运算符是().

A:?:

B:++

C:&&

D:,

答案:B

第18题 (1分) 题号:3509

int a=1,b=2,c=3;

if(a>b)a=b;

if(a>c)a=c;

则a的值为().

A:1

B:2

C:3

D:不一定

答案:A

第19题 (1分) 题号:3631

用户不可以调用的函数是().

A:非整型返回值的

B:本文件外的

C:main函数

D:本函数下面定义的

答案:C

第20题 (1分) 题号:3600

以下能正确定义数组并正确赋初值的语句是().

A:int N=5,b[N][N];

B:int a[1][2]={{1},{3}};

C:int c[2][]={{1,2},{3,4}};

D:int d[3][2]={{1,2},{3,4}};

答案:D

第21题 (1分) 题号:3470

以下标识符中,不能作为合法的C用户定义标识符的是().

A:For

B:Printf

D:sizeof

答案:D

第22题 (1分) 题号:3560

设 char *s="\ta\0";则指针变量s指向的字符串的长度。

是().

A:2

B:3

C:4

D:5

答案:A

第23题 (1分) 题号:3671

与语句if(a>b) if(c>d) x=1; else x=2; 等价的是().

A:if(a>b){if(c>d) x=1; else x=2;}

B:if(a>b){ if(c>d) x=1;} else x=2;

C:if((a>b)&&(c>d)) x=1; else x=2;

D:if(a<=b) x=2; else if(c>d) x=1;

答案:A

第24题 (1分) 题号:3484

在C++语言中,能代表逻辑值"真"的是().

A:True

B:大于0的数

C:非0整数

D:非0的数

答案:D

第25题 (1分) 题号:3596

以下不是无限循环的语句为().

A:for(y=0,x=1;x>++y;x=i++) i=x;

B:for(;;x++=i);

C:while(1){x++;}

D:for(i=10;;i--) sum+=i;

答案:A

第26题 (1分) 题号:3562

设int a=0,b=5; 执行表达式++a||++b,a+b后,a,b和表达式的值分别是

B:1,6,7

C:1,5,6

D:0,5,7

答案:C

第27题 (1分) 题号:3499

C++语言中用于结构化程序设计的三种基本结构是().

A:顺序结构、选择结构、循环结构

B:if、switch、break

C:for、while、do-while

D:if、for、continue

答案:A

第28题 (1分) 题号:3757

设x、y、z和k都是int型变量,则执行表达式x=(y=4,z=15/y,k=32%z)后,x的值是 A:0

B:2

C:4

D:8

答案:B

第29题 (1分) 题号:3436

以下程序的输出结果是().

#include <iostream.h>

void main()

{float x=3.6f;

int i;

i=(int)x;

cout<<"x="<<x<<",i="<<i;

}

A:x=3.600000,i=4

B:x=3,i=3

C:x=3.6,i=3

D:x=3 i=3.600000

答案:C

第30题 (1分) 题号:3439

以下程序的运行结果是().

#include <iostream.h>

void main()

{ int n;

for(n=1;n<=10;n++)

{

if(n%3==0) continue;

cout<<n;

A:12457810

B:369

C:12

D:1234567890

答案:A

━━━━━━━━━━━━━━━━

四、程序填空 共2题 (共计16分)

━━━━━━━━━━━━━━━━

第1题 (8分) 题号:54

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

题目:以下程序的功能是产生并输出如下形式的方阵。

1 2 2 2 2 2 1

3 1 2 2 2 1 4

3 3 1 2 1 4 4

3 3 3 1 4 4 4

3 3 1 5 1 4 4

3 1 5 5 5 1 4

1 5 5 5 5 5 1

-------------------------------------------------------*/

#include<iostream.h>

void main()

{

int a[7][7];

int i,j;

for (i=0;i<7;i++)

for (j=0;j<7;j++)

{

/***********SPACE***********/

if (【?】) a[i][j]=1;

/***********SPACE***********/

else if (i<j&&i+j<6) 【?】;

else if (i>j&&i+j<6) a[i][j]=3;

/***********SPACE***********/

else if (【?】) a[i][j]=4;

else a[i][j]=5;

}

for (i=0;i<7;i++)

{

for (j=0;j<7;j++)

cout << a[i][j] << ' ';

/***********SPACE***********/

【?】;

}

}

答案:

1). ★i★==★j★||★i★+★j★==★6★

2). a[i][j]=2

3). ★i<j★&&★i★+★j>6★ 或 ★j>i★&&★i★+★j>6★ 或 ★i<j★&&★i★+★6<j★ 或 ★j>i★&&★i★+★6<j★

4). cout★<<★endl

第2题 (8分) 题号:238

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

题目:函数func的功能是:使一个字符串按逆序存放。

-------------------------------------------------------*/

#include <iostream.h>

#include<string.h>

void func (char str[])

{

/***********SPACE***********/

【?】

int i,j;

/***********SPACE***********/

for(i=0,【?】;i<j;i++,j--)

{

m=str[i];

/***********SPACE***********/

【?】;

str[j]=m;

}

/***********SPACE***********/

cout<<【?】<<endl;

}

void main()

{

char str[]="12345";

func(str);

}

答案:

1). char m;

2). j=strlen(str)-1

3). str[i]=str[j]

4). str

━━━━━━━━━━━━━━━━

五、程序改错 共1题 (共计8分)

━━━━━━━━━━━━━━━━

第1题 (8分) 题号:275

/*------------------------------------------------------

【程序改错】

--------------------------------------------------------

题目: 下列程序是求某班级的最高成绩、最低成绩和平均成绩

的程序,输入-1表示结束。

--------------------------------------------------------

注意:不可以增加或删除程序行,也不可以更改程序的结构。

------------------------------------------------------*/

#include <iostream.h>

void main()

{float cj,sum,max,min,ave;

int n;

/***********FOUND***********/

n=0

cin>>cj;

/***********FOUND***********/

/***********FOUND***********/

min=max=0;

cin>>cj;

/***********FOUND***********/

while(cj!=0)

{n++;

sum+=cj;

if(cj>max) max=cj;

if(cj<min) min=cj;

cin>>cj;}

ave=sum/n;

cout<<ave<<" "<<max<<" "<<min;

}

答案:

1). n=1;

2). sum=cj;

3). min=max=cj;

4). while(cj>=0)

━━━━━━━━━━━━━━━━

六、程序设计 共1题 (共计6分)

━━━━━━━━━━━━━━━━

第1题 (6分) 题号:262

/*------------------------------------------------

【程序设计】

--------------------------------------------------

题目: 求具有10个数的数组中的最大值和次最大值,

并把最大值和a[0]中的数对调,次最大数和a[1]中的数对调.

--------------------------------------------------

注意:部分源程序给出如下。请勿改动主函数main和其它

函数中的任何内容,仅在函数的花括号中填入所编

写的若干语句。

------------------------------------------------*/

#include <iostream.h>

#include <fstream.h>

#include <stdio.h>

void writeinfile(int a[ ])

{

fstream myfile;

myfile.open("f.txt",ios::out);

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

myfile<<a[k]<<endl;

myfile.close();

}

void main()

{

int a[10]={39,-47,21,2,-8,15,98,-3,87,56},max,cmax,j,l,i,t,m,n;

/**********Program**********/

/********** End **********/

writeinfile(a);

}

答案:----------------------

max=a[0];

m=0;

for(i=1;i<10;i++)

if(a[i]>max)

{max=a[i];

m=i;}

t=a[0];

a[0]=a[m];

a[m]=t;

cmax=a[1];

n=1;

for(j=2;j<10;j++)

if(a[j]>cmax)

{cmax=a[j];

n=j;}

l=a[1];

a[1]=a[n];

a[n]=l;

----------------------

试卷编号:8607

所属语言:C++

试卷方案:11121C++语言程序设计K

试卷总分:100分

共有题型:6种

━━━━━━━━━━━━━━━

一、填空 共20题 (共计20分)

━━━━━━━━━━━━━━━

第1题 (1分) 题号:6502

已知 a=10,b=15,c=1,d=2,e=0,则表达式 a*b&&c 的值为【1】.

答案:

1). 1

第2题 (1分) 题号:6532

执行语句char s[5]="abcd",*p;p=s;*(p+2)的值是【1】.

答案:

1). c

第3题 (1分) 题号:6538

【1】是语句结束的标志.

答案:

1). ;

第4题 (1分) 题号:6575

C++中,定义的重载函数必须具有不同参数类型,或不同的参数【1】.

答案:

1). 个数

第5题 (1分) 题号:6461

若有以下数组a,数组元素:a[0]~a[9],其值为

9 4 12 8 2 10 7 5 1 3

该数组可用的最小下标值是【1】.

答案:

1). 0

第6题 (1分) 题号:6441

本文来源:https://www.bwwdw.com/article/dpii.html

Top