华东交通大学C++2010

更新时间:2023-05-24 05:22:01 阅读量: 实用文档 文档下载

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

华东交通大学2011—2012学年第二学期考试卷

一、选择题(每题2分,共40分)

1.字符型数据在内存中的存储形式是:【 】

a)原码 b)补码 c)反码 d) ASCII码

2.下面常数中不能作为常量的是【 】

a)0xA5 b)2.5e-2 c)3e2 d)0583

3.以下符号中不能作为标识符的是:【 】

a)_256 b)void c)scanf d)Struct

4.如有int a=11;则表达式(a++*1/3)的值是【 】

a)3.67 b)3 c)4 d)12

5.若有以下语句

int *p,a=4;

p=&a;

下面均代表地址的一组选项是【 】

a)a,p,*&a b)&*a,&a,*p c)*&p,*p,&a d)&a,&*p,p

6.在下述对字符数组的描述中,有错误的是【 】。

a. 字符数组可以存放字符串

b. 字符数组中的字符串可以进行整体输入输出

c. 可以在赋值语句中通过赋值运算符"="对字符数组整体赋值 d. 字符数组的下标从0开始

7.在int b[][3]={{1},{3,2},{4,5,6},{0}};中,b[2][2]的值为【 】。 a. 0 b.5 c.6 d.2

8.以下对二维数组a的正确声明是【 】。

a.int a[3][] b.float a(3,4) c.double a[1][4] d.float a(3)(4)

9.若有以下说明和语句,且0<i<10,则【 】是对数组元素的错误引用。 int a[ ]={1,2,3,4,5,6,7,8,9,0},*p,i;

p=a;

a. *(a+i) b. a[p-a] c. p+i d. *(&a[i])

10.已知:int a[]={1,2,3,4,5,6},*p=a;下面表达式中其值为5的是【 】 a.p+=3;*(p++); b.p+=5;*p++ ;

c.p+=4;*++p; d.p+=4;*p++;

11.若有以下语句,且0<=k<6,则正确表示数组元素地址的语句是【 】 int x[]={1,9,10,7,32,4},*ptr=x,k=1;

a.x++ b.&ptr c.&ptr[k] d.&(x+1) //地址常量不能进行赋值运算

12.文件包含命令中被包含的文件的扩展名【 】。

A) 必须为.h B)不能用.h C)必须是.c D) 不一定是.h

13.下列while循环的次数是【 】。

while(int i=O) i--;

A)0 B) 1 C) 5 D)无限

14.下列for循环的循环体执行次数为【 】

for(int i(O),j(10);i=j=10;i++,j--)

A) 0 B) 1 C) 10 D) 无限

15.重载函数在调用时选择的依据中,【 】是错误的。

A.参数个数 B.参数的类型 C.参数的顺序 D.函数的类型

16.下列的标识符中,【 】是文件级作用域的。

A.函数形参 B.语句标号

C.外部静态类标识符 D.自动类标识符

17.下列存储类标识符中,【 】的可见性与存在性不一致。

A.外部类 B.自动类 C内部静态类 D.寄存器类

18.在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用【 】合适。

A.内联函数 B.重载函数 C.递归调用 D.嵌套调用

19.已知:char *s="hello";执行语句"for(int i=0;*s++;i++);"之后,变量i的结果是________________

20.若a为double类型的变量,表达式a=1,a+5,a++的值为

二、写程序的运行结果(每题5分,共35分)

1. 运行该程序后,输出结果

#include <iostream.h>

void main( )

{

int a=5;

int &ref=a;

ref+=5;

cout<<”a=”<<a<<”,”<<”ref=”<<ref<<endl;

a*=10;

cout<<”a=”<<a<<”,”<<”ref=”<<ref<<endl;

}

2. 运行该程序后,输出结果

#include <iostream.h>

void main()

{

int i(O);

while(++i)

{

if(i==10)break;

if(i%3 !=1)continue;

cout<<i<<" ";

}

}

3.运行程序后,输出结果

#include<iostream.h>

void main()

{

int a(5),b(6),i(0),j(0);

switch(a)

{

case 5:switch(b)

{

case 5:i++;break;

case 6:j++;break;

default:i++;j++;

}

case 6:i++;

j++;

break;

default:i++;j++;

}

cout<<i<<”,”<<j<<endl;

}

4.以下程序运行后,a,b,c,d,e=

int a,b,c,w=1,x=2,y=3,z=4,d=5,e=6;

a=b=c=3;

++a||++b&&++c;

(d=w>x)&&(c=y>z);

cout<<a<<b<<c<<d<<e;

5.运行程序后,输出结果

#include<iostream.h>

#define N 5

void fun();

void main()

{

for(int i=1;i<N;i++)

fun();

}

void fun()

{

static int a;

int b=2;

cout<<(a+=3,a+b)<<endl;

}

6.运行程序后,输出结果

#include<iostream.h>

void fun(int,int,int *);

void main()

{

int x,y,z;

fun(5,6,&x);

fun(7,x,&y);

fun(x,y,&z);

cout<<x<<”,”<<y<<”,”<<z<<endl;

}

void fun(int a,int b,int *c)

{

b+=a;

*c=b-a;

}

7.运行程序后,输出结果

#include<iostream.h>

int &fl(int n,int s[])

{

int &m=s[n];

return m;

}

void main()

{

int s[]={5,4,3,2,1,O};

f1(3,s)=10;

//引用作为函数返回值时,该函数调用可作为赋值语句的左边值。

cout<<s[3]<<endl;

}

三、程序填空题(共5分)

1.程序读入20个整数,统计非负数个数,并计算非负数之和。

#include <iostream.h>

void main()

{

int i,a[20],s=0,count=0;

for(i = 0;i<20;i++) (1)

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

{

if(a[i] < 0) (2) (3)

}

cout<<s<<’\t’<<count;

}

四、编程题(每题10分,共20分)

1.编写程序,从键盘输入一个大写英文字母,输出对应的小写字母。(提示:小写字母的ASCII码值比大写字母的ASCII值大32)

2.求100之内的自然数中被13整除的最大数。(提示:100之内最大被13整除的数应该从100开始,逐次减1获得到的第一个被13整除的数,结合break语句。)

3:编写程序:打印矩形转置。(附加题)

4.编程输出如下图案。(附加题)

MM

MMMM

MMMMMM

MMMMMMMM

一选择题

DCBADCDCCDADAACCCA,6,6.0

1: a=10,ref=10 2: 1,4,7

a=100,ref=100

3: 1,2 4: 43306

5: 5,8,11,14 6: 6,6,6

7:10

cin>>a[i]

count++

s+=a[i]

1:

#include<iostream.h>

void main()

{

char str,str1;

cout<<"please input"<<endl;

cin>>str;

str1=str+32;

cout<<str1<<endl;

}

2:

#include<iostream.h>

void main()

{

int N=101;

while(N--)

if(N%13==0)break;

cout<<N<<endl;

}

3:

#include<iostream.h>

void main()

{

int i,j;

char a[3][15]={{"1 2 3"},{"4 5 6"},{"7 8 9"}}; char b[3][15]={{"1 4 7"},{"2 5 8"},{"3 6 9"}}; for(i=0;i<3;i++)

{

{

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

cout<<a[i][j];

cout<<endl;

}

}

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

{

{

for(j=0;j<15;j++) cout<<b[i][j];

cout<<endl;

}

}

}

4:

#include<iostream.h> void main()

{

int N,i,j;

cout<<"please input"<<endl; cin>>N;

for(i=1;i<=N;i++) {

for(j=1;j<=N-i;j++) cout<<" ";

for(j=1;j<=2*i;j++) cout<<"M";

cout<<endl;

}

}

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

Top