文档库 最新最全的文档下载
当前位置:文档库 › C复习资料

C复习资料

一、选择题

1、按照标识符的要求,()符号不能组成标识符。

A、连接符

B、下划线

C、大小写字母

D、数字字符

2、下列关于指针的运算中,( )是非法的

A、两个指针在一定条件下,可以进行相等或不相等的运算

B、可以将一个空指针赋给某个指针

C、一个指针可以加上两个整数之差

D、两个指针在一定条件下,可以相加

3、预处理命令在程序中都是以( )开头的

A、*

B、#

C、:

D、/

4、下述关于Break语句的描述中,( )是不正确的

A、break语句可用于循环体内,它将退出该循环

B、b reak语句可用于开关语句中,它将退出开关语句

C、b reak 语句可用于if语句中,它将退出if语句

D、break语句在一个循环体内可出现多次

5、在一个被调用函数中,关于return语句使用的描述,( )是错误的

A、被调用函数中可以不用return语句

B、被调用函数中可以使用多个return语句

C、被调用函数中,如果有返回值,一定要有return语句

D、被调用函数中,一个return语句可以返回多个值给调用函数

6、在下列关键字中,用来说明类中公有成员的是( )

A、public

B、private

C、protected

D、friend

9、在int a[5]={1,3,5};中,数组元素a[1]的值是( )

A、1

B、5

C、3

D、2

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

A、strlen( )

B、strcpy( )

C、strcat( )

D、strcmp( )

11、下列各种高级语言中,()是面向对象的程序设计语言。

A、BASIC

B、PASCAL

C、C++

D、Ada

12、在关于C++与C语言的关系描述中,()是错误的。

A、C语言是C++的一个子集

B、C++是与C语言兼容的

C、C++对C语言进行了一些改进

D、C++和C语言都是面向对象的

13、下列变量名中,()是合法的

A、CHINA

B、byte-size

C、double

D、A+a

14、下列关于条件语句的描述中,()是错误的。

A、if语句中只有一个else子句

B、if语句中可以有多个else子句

C、if语句中if体不能是开关语句

D、if语句的if体可以是开关语句

15、当一外函数无返回值时,定义它时函数的类型应是()

A、void

B、任意

C、int

D、无

16、下列的各种函数中,()不是类的成员函数

A、构造函数

B、析构函数

C、友元函数

D、拷贝构造函数

19、预处理语句在程序中都是以()开头的

A、*

B、#

C、:

D、/

20、在传值调用中,要求()

A、形参和实参类型任意,个数相等

B、形参和实参类型都完全相同,个数相等

C、形参和实参对应的类型一致,个数相等

D、形参和实参对应的类型一致,个数任意

二、判断题(20分)每题2分。

1、在C++中,定义函数时必须给出函数的类型X

2、C++中标识符内的大小写是没有区别的X

3、引用是某个变量的别名。对引用的操作,实质上是对被引用的变量的操作

4、运算符的优先级和结合性可以确定表达式的计算顺序对

5、while循环语句的循环体至少执行一次

6、C++中数组元素的下标是从1开始的,数组元素是连续存放在内存中的。X

7、C++引进了引用的概念,给编程带来了很多方便。

8、C++中每条语句的结束都加一个分号(;)。

9、数组赋初值,初始值表中的数据可以大于或等于数组元素的个数,

10、for循环是只有可以确定的循环次数时才可使用,否则不能用for 循环。

11、continue语句只能出现在循环体中。

12、如果一个函数没有返回值,定义时需用void说明。

13、所谓私有成员是指只有类中所提供的成员函数才能直接使用它们,任何为以外的函

数对它们的访问都是非法的,

三、分析下列程序的输出结果(40分)每小题10分

1、#include

void main( )

{

int a,b,c;

int s,w,t;

s=w=t=0;

a= -1;

b=3;

c=3;

if(c>0)

s=a+b ;

if(a<=0)

{

if(b>0)

if(c<=0)

w=a-b;

}

else

if(c>0)

w=a-b;

else

t=c;

cout<<”s=”<

}

2、#include

void swap(int x,int y);

void main( )

{

int a=3,b=8;

cout<<”a=”<

swap(a,b);

cout<<”after swaping…” ;

cout<<”a=”<

}

void swap(int x,int y)

{

int temp;

temp=x;

x=y;

y=temp;

}

3、#include

void f1(),f2(),f3();

void main( )

{

cout<<”it is in main().”<

f1();

cout<<”main() end.”<

}

void f1()

{ cout<<”it is in f1()”<

f2();

cout<<”f1() end.”<

}

void f2()

{ cout<<”it is in f2().”<

f3();

cout<<”f2() end.”<

}

void f3()

{cout<<”it is in f3().”<

cout<<”f3() end.”<

}

4、#include

void main()

{int a=5,b=3,c;

double x,y;

c=a/b;

x=a/b;

y=5.0/3;

cout<<”c=”<

cout<<”x=”<

cout<<”y=”<

5、#include

void main()

{int a=5,b=3,x,y,z;

x=++a;

y=b--;

z=a+b;

cout<

}

6、#include

void main()

{

char s1[20]=”abcd”;

char s2[ ]=”xyz”;

char p=s1,q=s2;

while(*p!=’\0’)

p++;

while(*q!=’\0’)

p++=q++;

*p=’\0’;

cout<<”s1:”<

}

四、写程序题

1、(5分)编程实现下列函数,输入x值,输出计算结果y.

当x<5时,y=x+5;

当5<=x<10时,y=3*x-1;

当x>=10时,y=x*x+1;

2、(5分)已知用5文钱可以买1只公鸡,用3文钱可以买1只母鸡,用1文钱可以

买3只小鸡,要求用100文钱买100只鸡。请编程输出所有可能的买法。

/* 公鸡3元每只,母鸡5元每只,小鸡1元3只,百元买百鸡*/

#include "stdio.h"

void main()

{

int a,b,c,d;

for(a=0;a<=33;a++)

{for(b=0;b<=20;b++)

{d=a*3+b*5+(100-a-b)/3;

if(d==100)

{

printf("答案有\n");

printf("公鸡%d\n",a);

printf("母鸡%d\n",b);

printf("小鸡%d\n",100-a-b);

}

}

}

}

3、输入两个整数a和b,若a

#include

int main()

{

int a,b,c;

scanf("%d%d",&a,&b);

if(a

c=a;

a=b;

b=c;

printf("%d%d",a,b);

} else

printf("%d%d",a,b);

}

4、任意输入一个整数m,并判断m是否是素数。

#include

#include

int main(void)

{

int n,i;

scanf("%d",&n);

for (i=2; i<=(int)sqrt(n); i++) { if (n%i==0) {

printf("%d不是素数\n",n);

i=n+1;/*设置标记*/

break;

}

}

if (i!=n+1) {

printf("%d是素数\n",n);

}

return 0;

}

相关文档