计算机专业C语言程序设计期中考试复习题.docx

上传人:b****3 文档编号:3944574 上传时间:2023-05-06 格式:DOCX 页数:27 大小:29.84KB
下载 相关 举报
计算机专业C语言程序设计期中考试复习题.docx_第1页
第1页 / 共27页
计算机专业C语言程序设计期中考试复习题.docx_第2页
第2页 / 共27页
计算机专业C语言程序设计期中考试复习题.docx_第3页
第3页 / 共27页
计算机专业C语言程序设计期中考试复习题.docx_第4页
第4页 / 共27页
计算机专业C语言程序设计期中考试复习题.docx_第5页
第5页 / 共27页
计算机专业C语言程序设计期中考试复习题.docx_第6页
第6页 / 共27页
计算机专业C语言程序设计期中考试复习题.docx_第7页
第7页 / 共27页
计算机专业C语言程序设计期中考试复习题.docx_第8页
第8页 / 共27页
计算机专业C语言程序设计期中考试复习题.docx_第9页
第9页 / 共27页
计算机专业C语言程序设计期中考试复习题.docx_第10页
第10页 / 共27页
计算机专业C语言程序设计期中考试复习题.docx_第11页
第11页 / 共27页
计算机专业C语言程序设计期中考试复习题.docx_第12页
第12页 / 共27页
计算机专业C语言程序设计期中考试复习题.docx_第13页
第13页 / 共27页
计算机专业C语言程序设计期中考试复习题.docx_第14页
第14页 / 共27页
计算机专业C语言程序设计期中考试复习题.docx_第15页
第15页 / 共27页
计算机专业C语言程序设计期中考试复习题.docx_第16页
第16页 / 共27页
计算机专业C语言程序设计期中考试复习题.docx_第17页
第17页 / 共27页
计算机专业C语言程序设计期中考试复习题.docx_第18页
第18页 / 共27页
计算机专业C语言程序设计期中考试复习题.docx_第19页
第19页 / 共27页
计算机专业C语言程序设计期中考试复习题.docx_第20页
第20页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

计算机专业C语言程序设计期中考试复习题.docx

《计算机专业C语言程序设计期中考试复习题.docx》由会员分享,可在线阅读,更多相关《计算机专业C语言程序设计期中考试复习题.docx(27页珍藏版)》请在冰点文库上搜索。

计算机专业C语言程序设计期中考试复习题.docx

计算机专业C语言程序设计期中考试复习题

计算机专业《C++语言程序设计》期中考试复习题

一、单选题(每小题2分,共20分)

1.在每个C++程序中都必须包含有这样一个函数,该函数的函数名为()。

A.mainB.MAINC.nameD.function

2.设x和y均为bool量,则x&&y为真的条件是()。

A.其中一个为假B.其中一个为真

C.它们均为假D.它们均为真

3.逻辑表达式x>0||y==5的相反表达式为()。

A.x<=0||y!

=5B.x<=0&&y!

=5

C.x>0||y!

=5D.x>0&&y==5

4.假定p是一个指向float型数据的指针,则p+1所指数据的地址比p所指数据的地址大()个字节。

A.1B.2C.4D.8

5.枚举类型中的每个枚举常量的值都是一个()。

A.整数B.浮点数C.字符D.逻辑值

6.循环体至少被执行一次的语句为()语句。

A.for循环B.while循环C.do循环D.任一种循环

7.在下面的字符数组定义中,()语句有语法错误。

A.chara[20]=”abcdefg”;B.chara[]=”x+y=55.”;

C.chara[15]={’1’,’2’};D.chara[10]=’5’;

8.若用数组名作为函数调用的实参,传递给形参的是()。

A.数组的首地址B.数组中第一个元素的值

C.数组全部元素的值D.数组元素的个数

9.假定AB为一个类,则执行“ABa(4),b[5],*p[2];”语句时,自动调用该类构造函数的次数为()。

A.6B.7C.9D.11

10.当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为()。

A.ios:

:

inB.ios:

:

outC.ios:

:

in|ios:

:

outD.没有

二、填空题(每小题2分,共20分)

1.若需要定义一个标识符常量,并且使C++能够进行类型检查,则应在定义语句的开始使用保留字__________。

2.算术表达式

对应的C++表达式为________________。

3.逻辑表达式x>y&&x!

=10的相反表达式为________________。

4.每个字符指针变量占用内存________个字节。

5.执行“typedefintDataType;”语句后,在使用int定义整型变量的地方都可以使用标识符__________来定义整型变量。

6.对于在所有函数定义之外定义的变量,若没有被初始化则系统隐含对它赋予的初值为________。

7.假定p所指对象的值为25,p+1所指对象的值为46,则执行“*(p++);”语句后,p所指对象的值为________。

8.假定一个结构类型的定义为“structA{inta;double*b;A*c;};”,则该类型的大小为________字节。

9.假定一维数组的定义为“inta[8];”,则该数组所含元素的个数为________。

10.若while循环语句的开始为”while(i++<=10)”,若i的初值为0,同时在循环体中不会修改i的值,则其循环体将被重复执行__________次后正常结束。

三、写出下列每个程序运行后的输出结果(每小题6分,共30分)

1.#include

voidmain(){

ints1=0,s2=1;

for(inti=1;i<=6;i++){s1+=i;s2*=i;}

cout<

}

输出结果:

2.#include

voidmain(){

inta[10]={68,79,86,65,46,94,37,78,60,53};

intc=0;

for(inti=0;i<10;i++)

if(a[i]>=60)c++;

cout<<”c=”<

}

输出结果:

3.#include

voidmain(){

inta[3][4]={{1,2,7,8},{5,6,11,15},{9,20,3,4}};

intm=a[0][0];

for(inti=0;i<3;i++)

for(intj=0;j<4;j++)

if(a[i][j]>m)m=a[i][j];

cout<

}

输出结果:

4.#include

voidmain(){

inta=10,b=15;

cout<

{a*=3;

intb=a+20;

cout<

}

cout<

}

输出结果:

5.#include

voidmain(){

inta[8]={6,19,4,12,20,5,18,25};

int*p=a;

for(p=a;p

if(*p<10)cout<<*p<<’‘;

cout<

}

输出结果:

四、写出下列每个函数的功能(每小题8分,共24分)

1.boolWB(inta[],intn,intx){

for(inti=0;i

if(a[i]==x)returntrue;

returnfalse;

}

函数功能:

2.intLJ(inta[],intn){

intk=0;

for(inti=1;i

if(a[i]>a[k])k=i;

returna[k];

}

函数功能:

3.假定结构类型Dnode中的data域为结点值域,next域为结点指针域。

DNode*QB(intn)

{

if(n==0){returnNULL;}

DNode*f=newDNode;

cin>>f->data;

DNode*p=f;

while(--n){

p=p->next=newDNode;

cin>>p->data;

}

p->next=NULL;

returnf;

}

函数功能:

五、按题目要求编写程序(6分)

已知6≤a≤30、15≤b≤36,求出满足不定方程2a+5b=126的全部整数组解。

如(13,20)就是其中的一组解,并按此格式输出每组解。

(答案供参考)

一、单选题(每小题2分,共20分)

1.A2.D3.B4.C5.A

6.C7.D8.A9.A10.D

二、填空题(每小题2分,共20分)

1.const2.(x*y*y)/(3*a)+4*b-1(分子中括号可以省略)

3.x<=y||x==104.4

5.DataType6.0

7.468.12

9.810.11

三、写出下列每个程序运行后的输出结果(每小题6分,共30分)

1.21,720//每个数据3分

2.c=7

3.20

4.101530503015//每个数据占1分,全对6分

5.645//每个数据占2分,全对6分

四、写出下列每个函数的功能(每小题8分,共24分)

评分标准:

每题与参考答案的叙述含义相同者得8分,否则酌情给分。

1.从数组a中顺序查找值为x的元素,若查找成功则返回真,否则返回假。

2.求出数组a中n个元素的最大值并返回。

3.建立一个具有n个结点的链表,每个结点的值依次由键盘输入,该函数返回其表头指针。

五、按题目要求编写程序(6分)

评分标准:

根据编程的完整程度酌情给分。

#include

voidmain()

{

inta,b;//1分

for(a=6;a<=30;a++)//2分

for(b=15;b<=36;b++)//3分

if(2*a+5*b==126)cout<<'('<

}//6分

训练第二套

一、单选题(每小题2分,共20分)

1.枚举类型中的每个枚举常量的值都是一个()值。

A.整数B.浮点数C.字符D.逻辑

2.设x和y均为bool量,则逻辑表达式x||y为假的条件是()。

A.它们均为真B.其中一个为真

C.它们均为假D.其中一个为假

3.声明或定义一个内联函数时,必须在函数开始使用保留字()。

A.staticB.constC.externD.inline

4.在下面的函数声明中,存在着语法错误的是()。

A.BC(inta,int);B.BC(int,int);

C.BC(int,int=5);D.BC(intx;inty);

5.假定a为一个整型数组名,则元素a[4]与()的表示等价。

A.a+4B.*a+4C.*(a+4)D.*(a+16)

6.下面循环语句执行结束后输出的i值为()的值。

for(inti=0;in/2){cout<

A.n/2B.n/2+1C.n-1D.n

7.将两个字符串连接起来组成一个字符串时,选用()函数。

A.strlen()B.strcpy()C.strcat()D.strcmp()

8.预处理命令在程序中都是以()字符开头的。

A.*B.#C.&D.@

9.假定有定义“structBOOK{chartitle[40];floatprice;};”,则不正确的变量定义语句为()。

A.BOOKx;;B.BOOKx={"C++Programming",27.0};

C.BOOK*x=newBOOK;D.BOOKx=newBOOK;

10.假定AB为一个类,px为指向该类动态对象数组的指针,该数组长度为n,则执行“delete[]px;”语句时,自动调用该类析构函数的次数为()。

A.1B.nC.n-1D.n+1

二、填空题(每小题2分,共20分)

1.已知'A''Z'的ASCII码为6590,当执行“charch=14*4+12;cout<

2.double类型的长度为________。

3.表达式x=x+1表示成增量表达式为__________。

4.逻辑表达式a<=b||b==15的相反表达式为________________。

5.假定一个二维数组的定义为“char*a[5][4];”,则该数组所含元素的个数为________,所占存储空间的字节数为________。

6.当函数中的________变量没有被赋初值时,它的值是不确定的。

7.假定一个结构类型的定义为“structA{doublea,b;A*c;};”,则该类型的大小为________字节。

8.假定要访问一个结构指针p所指对象中的数据成员data,则表示方法为____________。

9.假定用户没有给一个名为AB的类定义构造函数,则系统为其隐含定义的构造函数为____________。

10.当在程序中执行到________语句时,就立即结束本层循环类语句或switch语句的执行。

三、写出下列每个程序运行后的输出结果(每小题6分,共30分)

1.#include

voidmain(){

ints=0;

for(inti=1;i<=8;i=+2)

s+=i*i;

cout<<"s="<

}

输出结果:

2.#include

voidmain(){

inti=1,s=0;

while(s<20){

if(i%2!

=0)s+=i;

i++;

}

cout<

}

输出结果:

3.#include

voidmain(){

inta[8]={36,25,48,14,55,20,47,82};

intb1,b2;

b1=b2=a[0];

for(inti=1;i<8;i++){

if(a[i]

if(a[i]>b2)b2=a[i];

}

cout<

}

输出结果:

4.#include

intLB(int*a,intn){

ints=1;

for(inti=0;i

s*=*a;a++;

}

returns;

}

voidmain(){

inta[5]={1,2,3,4,5};

cout<

}

输出结果:

5.#include

structWorker{

charname[15];//姓名

intage;//年龄

floatpay;//工资

};

voidmain(){

Workerx={"wangfong",46,1640};

Workery,*p;

y=x;p=&x;

cout<

cout<name<<''<age+5<<''<pay-300<

}

输出结果:

四、写出下列每个函数的功能(每小题8分,共24分)

1.intWC(inta[],intn,intk){

intc=0;

for(inti=0;i

if(a[i]>=k)c++;

returnc;

}

函数功能:

 

2.boolSG(intx){//x为大于等于2的整数

inta=int(sqrt(x));//sqrt(x)为求x的平方根

inti=2;

while(i<=a){

if(x%i==0)break;

i++;

}

if(i>a)returntrue;elsereturnfalse;

}

函数功能:

 

3.假定结构类型Worker中的name域表示姓名,age域表示年龄,pay域表示工资。

voidQA(Workera[],intn){

for(inti=0;i

cin>>a[i].name>>a[i].age>>a[i].pay;

}

函数功能:

 

五、按题目要求编写函数(6分)

假定函数声明为“voidPrint(inta[],intn);”,在函数体中按下标从大到小的次序输出数组a中的n个元素的值,并要求每行输出6个元素,当然最后一行可以不足6个。

(参考答案)

一、单选题(每小题2分,共20分)

1.A2.C3.D4.D5.C

6.B7.C8.B9.D10.B

二、填空题(每小题2分,共20分)

1.D2.8

3.++x4.a>b&&b!

=15

5.20806.局部

7.208.p->data

9.AB(){}10.break

三、写出下列每个程序运行后的输出结果(每小题6分,共30分)

1.s=84//6分

2.10,25//每个数据3分

3.14,82//每个数据3分

4.120//6分

5.wangfong461640//3分,每个数据1分

wangfong511340//3分,每个数据1分

四、写出下列每个函数的功能(每小题8分,共24分)

评分标准:

每题与参考答案的叙述含义相同者得8分,否则酌情给分。

1.统计出数组a的n个元素中大于等于参数k的值的元素个数并返回。

2.判断x是否为一个素数(或质数),若是则返回真,否则返回假。

3.从键盘上输入n个Worker结构类型的记录依次保存到一维数组a的对应元素中。

五、按题目要求编写函数(6分)

评分标准:

按函数编写的完整程度酌情。

voidPrint(inta[],intn)

{

inti,j=0;//1分

for(i=n-1;i>=0;i--){//2分

cout<

if(++j%6==0)cout<

}

cout<

}//6分

训练第三套

一、单选题(每小题2分,共20分)

1.由C++源程序文件编译而成的目标文件的缺省扩展名为()。

A.objB.likC.exeD.cpp

2.程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用()符号作为分隔符。

A.空格或逗号B.逗号或回车C.逗号或分号D.空格或回车

3.设x是一个bool型的逻辑量,y的值为10,则表达式x&&y的值为()。

A.1B.0C.与x值相同D.与x值相反

4.for语句能够被改写为()语句。

A.复合B.ifC.switchD.while

5.在下面的do循环语句中,其循环体被执行的次数为()。

inti=0;doi++;while(i*i<10);

A.4B.3C.5D.2

6.在下面的一维数组定义中,()语句有语法错误。

A.inta[]={1,2,3};B.inta[10]={0};

C.inta[];D.inta[5];

7.下面的()保留字不能作为函数的返回类型。

A.voidB.intC.newD.long

8.下面的函数声明中,()是“voidBC(inta,intb);”的重载函数。

A.intBC(intx,inty);B.voidBC(inta,charb);

C.floatBC(inta,intb,intc=0);D.intBC(inta,intb=0);

9.当类中一个字符指针成员指向具有n个字节的存储空间时,它所能存储字符串的最大长度为()。

A.nB.n+1C.n-1D.n-2

10.假定AB为一个类,则该类的拷贝构造函数的声明语句为()。

A.AB&(ABx);B.AB(ABx);C.AB(AB*x);D.AB(AB&);

二、填空题(每小题2分,共20分)

1.执行“cout<

2.在C++每个程序行的后面或单独一行的开始使用注释的标记符为__________。

3.表达式float(25)/4的值为___________。

4.关系表达式x+y>5的相反表达式为____________。

5.假定一个二维数组的定义为“inta[3][6];”,则该数组含有__________个元素。

6.执行“typedefintABC[20];”语句把ABC定义为具有20个整型元素的________。

7.假定p所指对象的值为36,p+1所指对象的值为49,则*++p的值为________。

8.假定a是一个一维数组,则a[i]的指针访问方式为____________。

9.对一个类中的数据成员的初始化可以通过构造函数中的初始化表实现,也可以通过构造函数中的____________实现。

10.当一个类对象离开它的作用域时,系统将自动调用该类的____________。

三、写出下列每个程序运行后的输出结果(每小题6分,共30分)

1.#include

#include

intSD(inta,intb,charop){

switch(op){

case'+':

returna+b;

case'-':

returna-b;

default:

{cout<<"操作符op出错,退出运行!

";exit

(1);}

}

}

voidmain(){

intx=20,y=6;

cout<

}

运行结果:

2.#include

#include

voidmain(){

char*a[5]={"student","worker","cadre","soldier","apen"};

char*p1;

p1=a[0];

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

if(strcmp(a[i],p1)>0)p1=a[i];

}

cout<

}

运行结果:

3.#include

intWF(intx,inty){

x=x+y;

y=x+y;

returnx+y;

}

voidmain(){

cout<

}

运行结果:

4.#include

constintn=9;

voidmain(){

inta[n]={2,4,6,8,10,12,14,16,18};

ints=0;

for(inti=0;i

if(i%3==0)s+=a[i];

}

cout<<”s=”<

}

运行结果:

5.#include

voidmain(){

int*d=newint[5];

inti;

for(i=0;i<5;i++){

d[i]=2*i+1;

cout<

}

cout<

delete[]d;

}

运行结果:

四、写出下列每

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 考试认证 > 交规考试

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2