文档库 最新最全的文档下载
当前位置:文档库 › C++试题

C++试题

C++试题
C++试题

F卷

一、单项选择题

1. C++源程序文件的默认扩展名为 .cpp

2. 由C++源程序文件编译而成的目标文件的默认扩展名为 . obj

3. 由C++目标文件连接而成的可执行文件的默认扩展名为 . exe

4. C++程序从上机到得到结果的几个操作步骤依次是编辑、编译、连接、运行

5. 以下标识符中不全是保留字的是( B )。

A. case for int

B. default then while

C. bool class long

D. goto return char

6. 能作为C++程序的基本单位是( C )。

A. 字符

B. 语句

C. 函数

D. 源程序文件

7. 程序中主函数的名字为 main

8. C++程序的基本模块为( D )。

A. 表达式

B. 标识符

C. 语句

D. 函数

9. 可用作C++语言用户标识符的一组标识符是( B )。

A. void define +WORD

B. a3_b3 _123 YN

C. for -abc Case

D. 2a DO sizeof

10. 存储以下数据,占用存储字节最多的是( D )。

A. 0

B. ‘0’

C. “0”

D. 0.0

11. 程序运行中需要从键盘上输入多于一个数据时,各数据之间

应使用( D )符号作为分隔符。

A. 空格或逗号

B. 逗号或回车

C. 逗号或分号

D. 空格或回车

12. 设”int a=12;”,则执行完语句”a+=a*a;”后,a的值是( C )。

A. 12

B. 144

C. 156

D. 288

13. 假设在程序中 a、b、c 均被定义成整型,所赋的值都大于1,则下列能正确表示代数式的表达式是( D )。

A. 1.0/a*b*c

B. 1/(a*b*c)

C. 1/a/b/(float)c

D.

1.0/a/b/c

14. 设”int a=15,b=26;”,则”cout<<(a,b);”的输出结果是( D )。

A. 15

B. 26,15

C. 15,26

D. 26

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

A. 1

B. 0

C. 与x值相同

D. 与x值相反

16. x>0 && x<=10的相反表达式为( A )。

A. x<=0 || x>10

B. x<=0 && x>10

C. x<=0 ||

x<=10 D. x>0 && x>10

17. x>0 || y==5的相反表达式为( B )。

A. x<=0 || y!=5

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

C. x>0 || y!=5

D. x>0 && y==5

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

A. 它们均为真

B. 其中一个为真

C. 它们均为

假 D. 其中一个为假

19.设x和y均为bool量,则x || y为假的条件是( C )。

A. 它们均为真

B. 其中一个为真

C. 它们均为

假 D. 其中一个为假

20. 字符串”a+b=12\n”的长度为( B )。长度算的不是

字节,“12”算为2

A. 6

B. 7

C. 8

D. 9

21. 假定下列x和y均为int型变量,则不正确的赋值为

( B )。 X++没有意义

A. x+=y++

B. x++=y++

C. x=++y

D.

++x=++y

22. 下列的符号常量定义中,错误的定义是( C )。

A. const M=10;

B. const int M=20;

C. const char ch;

D. const bool mark=true;

23. 循环语句“for(int i=0; i

A. 1

B. n-1

C. n

D. n+1

24. 在下面循环语句中循环体执行的次数为( B )。

for(int i=0; i

if(i>n/2) break;

A. n/2

B. n/2+1

C. n/2-1

D. n-1

25. 在下面循环语句中内层循环体S语句的执行总次数为

( D )。

for(int i=0; i

for(int j=i; j

A. n2

B. (n+1)/2

C. n(n-1)/2

D.

n(n+1)/2

26. 在下面循环语句中循环体执行的次数为( C )。

int i=0,s=0; while(s<20) {i++; s+=i;}

A. 4

B. 5

C. 6

D. 7

27. 在下面循环语句中循环体执行的次数为( B )。

int i=0; do i++; while(i*i<10);

A. 4

B. 3

C. 5

D. 2

28. 当处理特定问题时的循环次数已知时,通常采用( A )来解决。

A. for循环

B. while循环

C. do循环

D. switch语句

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

A. for循环

B. while循环

C. do循环

D. 任一种循环

30. switch语句能够改写为( B )语句。

A. for

B. if

C. do

D. while

31. do语句能够改写为( D )语句。

A. 复合

B. if

C. switch

D. while

32. 在下面的一维数组定义中,哪一个有语法错误。( C )

A. int a[]={1,2,3};

B. int a[10]={0};

C. int a[];

D. int a[5];

33. 在下面的字符数组定义中,哪一个有语法错误。( D )。

A. char a[20]=”abcdefg”;

B. char a[]=”x+y=55.”;

C. char a[15];

D. char a[10]=’5’;

34. 在下面的二维数组定义中,正确的是( C )。

A. int a[5][];

B. int a[][5];

C. int a[][3]={{1,3,5},{2}};

D. int a[](10);

35. 假定一个二维数组的定义语句为“int

a[3][4]={{3,4},{2,8,6}};”,则元素a[1][2]的值为

( C )。

A. 2

B. 4

C. 6

D. 8

36. 假定一个二维数组的定义语句为“int

a[3][4]={{3,4},{2,8,6}};”,则元素a[2][1]的值为

( A )。

A. 0

B. 4

C. 8

D. 6

37. 若定义了函数 double *function(), 则函数function的返回值为( B )。

A. 实数型

B.实数的地址

C.指向函数的指针

D.函数的地址

38. 以下说法中正确的是( B )。

A. C++程序总是从第一个定义的函数开始执行

B. C++程序总是从main函数开始执行

C. C++函数必须有返回值,否则不能使用函数

D. C++程序中有调用关系的所有函数必须放在同一个程序文件中

39. 以下叙述中不正确的是( C )。

A. 在一个函数中,可以有多条return语句

B. 函数的定义不能嵌套,但函数的调用可以嵌套

C. 函数必须有返回值

D. 不同的函数中可以使用相同名字的变量

40. 函数重载是指( A )。

A. 两个或两个以上的函数取相同的函数名,但形参的个数或类型不同

B. 两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同

C. 两个以上的函数名字不同,但形参的个数或类型相同

D. 两个以上的函数取相同的函数名,并且函数的返回类型相同

41. 以下关于函数模板叙述正确的是( C )。

A. 函数模板也是一个具体类型的函数

B. 函数模板的类型参数与函数的参数是同一个概念

C. 通过使用不同的类型参数,函数模板可以生成不同类型的函数

D. 用函数模板定义的函数没有类型

42. 下列( C )的调用方式是引用调用。

A. 形参和实参都是变量

B.形参是指针,实参是地址值

C. 形参是引用,实参是变量

D.形参是变量,实参是地址值

43. 为了提高程序的运行速度,可将不太复杂的功能用函数实现,此函数应选择( A )。

A. 内联函数

B.重载函数

C.递归函数

D.函数模板

44. 函数原型语句正确的是( B )。

A. int Function(void a);

B.void Function (int);

C. int Function(a);

D.void int(double a);

45. C++中函数返回值的类型是由( B )决定的。

A. return语句中表达式的类型

B.该函数定义时的类型

C.调用函数时的调用语句

D.系统根据结果

46. 以下函数的返回结果是( A )。

int function(char *x) {

char *p=x; while(*p++); return(p-x-1);

}

A. 求字符串的长度

B.将字符串x连接到字符串p后面

C. 将字符串x复制到字符串p中

D.将字符串x反向存放

47. 函数调用func((exp1,exp2),(exp3,exp4,exp5))中所含实参的个数为( B )个。

A. 1

B. 2

C. 4

D. 5

48. 设有如下函数定义

int f(char *s) {

char *p=s;

while(*p!=’\0’) p++;

return(p-s);

}

在主函数中用cout<

A. 3

B. 4

C. 5

D. 6

49. 以下正确的函数原型语句是( C )。

A. double fun(int x,int y)

B. double

fun(int x;int y)

C. double fun(int,int);

D. double

fun(int x,y);

50. 以下正确的说法是( B )。

A. 用户调用标准库函数前,必须重新定义

B. 用户可以重新定义标准库函数,若如此,该函数将失去原有含义

C. 系统不允许用户重新定义标准库函数

D. 用户调用标准库函数前,不必使用预编译命令将该函数

所在文件包括到用户源文件中

二、填空题

1. C++语言是在_________语言的基础上发展起来的。

2. C++语言的编译单位是扩展名为__________的__________文件。

3. 行尾使用注释的开始标记符为__________。

4. 多行注释的开始标记符和结束标记符分别为__________和__________。

5. 用于输出表达式值的标准输出流对象是_________。

6. 用于从键盘上为变量输入值的标准输入流对象是________。

7. 一个完整程序中必须有一个名为________的函数。

8. 一个函数的函数体就是一条_________语句。

9. 当执行cin语句时,从键盘上输入每个数据后必须接着输入

一个________符,然后才能继续输入下一个数据。

10. 在C++程序中包含一个头文件或程序文件的预编译命令为

__________。

11. 程序中的预处理命令是指以______字符开头的命令。

12. 一条表达式语句必须以______作为结束符。

13. 在#include命令中所包含的头文件,可以是系统定义的头

文件,也可以是________定义的头文件。

14. 使用#include命令可以包含一个头文件,也可以包含一个______文件。

15.一个函数定义由________和________两部分组成。

16.若一个函数的定义处于调用它的函数之前,则在程序开始可以省去该函数的______语句。

17.C++头文件和源程序文件的扩展名分别为______和______。 18.程序文件的编译错误分为________和________两类。

19.当使用_______保留字作为函数类型时,该函数不返回任何值。

20.当函数参数表用______保留字表示时,则表示该参数表为空。 21.从一条函数原型语句“int fun1(void);”可知,该函数的返回类型为______,该函数带有______个参数。

22. 当执行cout语句输出endl数据项时,将使C++显示输出屏

幕上的光标从当前位置移动到________的开始位置。

23. 假定x=5,y=6,则表达式x++*++y的值为____35______。 X++

返回的值是加之后的,但x本身已经加了1了,注意是返回

值,区别++x

24. 假定x=5,y=6,则表达式x--*--y的值为____25______。

25. 假定x=5,y=6,则执行表达式y*=x++计算后,x和y的值

分别为____6______和____30______。

26. 假定x=5,y=6,则执行表达式y+=x--计算后,x和y的值

分别为____4______和___11_______。

27. C++常数0x145对应的十进制值为__________。

28. C++常数0345对应的十进制值为__________。

29. 十进制常数245对应的十六进制的C++表示为__________。10是A了

30. 十进制常数245对应的八进制的C++表示为__________。

31. signed char类型的值域范围是________至__________之间的整数。

32. int和float类型的数据分别占用____4_____和_____4_____个字节。

33. float和double类型的数据分别占用____4_____和

____8____个字节。

34. bool和char类型的数据分别占用_____1____和_____1___个字节。

35. unsigned short int和int类型的长度分别为_____2____和____4____。

36. 字符串”This\’s a book.\n”的长度为___15_______。

37. 字符串”\nThis\’s a pen\n\n”的长度为____15______。

38. 在C++中存储字符串”abcdef”至少需要________个字节。

39. 在C++中存储字符串”a+b=c”至少需要________个字节。

40. 假定x和y为整型,其值分别为16和5,则x%y和x/y的

值分别为__________和__________。

41. 假定x和y为整型,其值分别为16和5,则x/y和

double(x)/y的值分别为__________和__________。

42. 假定x是一个逻辑量,则x && true的值为__________。

43. 假定x是一个逻辑量,则x || true的值为__________。

44. 假定x是一个逻辑量,则x && false的值为__________。

45. 假定x是一个逻辑量,则x || false的值为__________。

46. 假定x是一个逻辑量,则!x || false的值为__________。

47. 假定x是一个逻辑量,则x && !x的值为__________。

48. 假定x是一个逻辑量,则x || !x的值为__________。

49. 数学算式的C++表达式为________________。

50. 数学算式的C++表达式为________________。

51. 数学算式的C++表达式为________________。 52. 设enum Printstatus{ready,busy,error}; 则 cout<

53. 设enum Printstatus{ready=2,busy,error}; 则

cout<

54. 常数-4.205和6.7E-9分别具有__________和__________位有效数字。

55. 枚举类型中的每个枚举值都是一个__________,它的值为一个__________。

56. 常数100和3.62的数据类型分别为__________和

__________。

57. 若x=5, y=10, 则计算y*=++x表达式后,x和y的值分别为______和______。

58. 假定x和ch分别为int型和char型,则sizeof(x)和

sizeof(ch)的值分别为______和______。

59. 假定x=10,则表达式x<=10?20:30的值为______。

60. 表达式sqrt(81)和pow(6,3)的值分别为______和______。

清华大学计算机系C++期末考试题及答案

一、填空题(25小题,共50分)

(以下每小题1分,共10分)

1.在C++中,函数的参数有两种传递方式,它们是值传递和地址或指针或引用传递。

2.当一个成员函数被调用时,该成员函数的this指针指向调用它的对象。

3.在基类和派生类中,派生类可以定义其基类中不具备的数据和

操作。对两个有相同名字的数据成员进行访问时,如果没有作用域分隔符限定时,对此数据成员的访问将出现歧义。

4.拷贝构造函数使用引用作为参数初始化创建中的对象。5.在公有继承的情况下,基类数据成员在派生类中的访问权限保持不变。

6.描述命题"A小于B或小于C"的表达式为A

7.用new申请某一个类的动态对象数组时,在该类中必须能够匹配到没有形参的或缺省参数构造函数,否则应用程序会产生一个编译错误。

8.静态数据成员在类外进行初始化,且静态数据成员的一个拷贝被类的所有对象共享。

9.为了避免可能出现的歧义,C++对if…else语句配对规则规定为:else总是与与最近的if配对。

10.设"int a=3,b=4,c=5;",表达式"(a+b)>c&&b==c"的值是0。(以下每小题2分,共20分)

11.面向对象的程序设计有四大特征,它们是抽象、封装、继承、多态。

12.在Visual C++中,定义重载函数时,应至少使重载函数的参数个数或参数类型不同;在基类和派生类中,成员函数的覆盖是指派生类成员函数与在基类被覆盖的成员函数名、参数个数、参数类型和返回值类型均相同。

13.构造函数与析构函数除功能不同外,在定义形式上,它们的区

别还包括构造函数名与类名相同,而析构函数名是在类名前加一个~、析构函数没有参数、析构函数可以定义为虚函数。

14.动态联编要满足两个条件,它们是被调用的成员函数是虚函数、用指针或引用调用虚函数。

15.在C++类中,有一种不能定义对象的类,这样的类只能被继承,称之为抽象类,定义该类至少具有一个纯虚函数。

16.在C++类中,const关键字可以修饰对象和成员函数,const 对象不能被修改,const成员函数不能修改类数据成员。

17.举出C++中两种用户自定义的数据类型:类、枚举。18. C++中没有字符串类型,字符串是通过字符数组来表示的,每一个字符串都有一个结尾字符\0。

19. C++中没有输入输出语句,输入输出是通过输入输出库实现的,写出一条打印整型变量n的输出语句:cout<

20.举出C++中两种代码复用的方式:继承、复用。

(以下每小题4分,共20分)

21.下面程序的运行结果是3。

#include

void main()

{

char a='a',b='j';

float x;

x=(b-a)/('F'-'A');

printf("%d\n",(int)(3.14*x)); }

22.下面程序的运行结果是2 5 8 11 14。

#include "iostream.h"

void main( )

{

int i=1;

while (i<=15){

i++;

if (i%3!=2) continue;

else cout

<<"i="<

}

}

23.下面程序的运行结果是

________。

#include "iostream.h"

class test

{

private:

int num;

float fl;

public:

test( );

int getint( ){return num;}

float getfloat( ){return fl;}

~test( );

};

test::test( )

{

cout << "Initalizing default" << endl;

num=0;fl=0.0;

}

test::~test( )

{

cout << "Desdtructor is active" << endl;

}

void main( )

{

test array[2];

cout <<

array[1].getint( )<< " " <<

array[1].getfloat( ) <

Initalizing default Initalizing default

0 0

Desdtructor is active Desdtructor is active 24.下面程序的运行结果是________。

#include class A

{

public:

A(){cout<<"A::A() called.\n";}

virtual

~A(){cout<<"A::~A()

called.\n";}

};

class B:public A

{

public:

B(int i){

cout<<"B::B() called.\n";

buf=new char[i];}

virtual ~B()

{

delete []buf;

cout<<"B::~B()

called.\n";

}

private:

char *buf;

};

void fun(A *a)

{

delete a;

}

void main()

{

A *a=new B(15);

fun(a);

}

A::A() called.

B::B() called.

B::~B() called.

A::~A() called.

25.下面程序的运行结果是________。

#include

int a[ ]={1,3,5,7,9};

int

*p[ ]={a,a+1,a+2,a+3,a+4}; void main( )

{

printf("%d\t%d\t%d\n",a[4],* (a+2),*p[1]);

printf("%d\t%d\t%d\n",**(p+1 )+a[2],*(p+4)-*(p+0),*(a+3)% a[4]);

}

9 5 3

8 4 7

二、问答题(每小题5分,共20分)

1.若程序员没有定义拷贝构造函数,则编译器自动生成一个缺省的拷贝构造函数,它可能会产生什么问题?

解答要点:当对象含有指针数据成员,并用它初始化同类型的另一个对象时,缺省的拷贝构造函数只能将该对象的数据成员复制给另一个对象,而不能将该对象中指针所指向的内存单元也复制过去。这样,就可能出现同一内存单元释放两次,导致程序运行出错。

2.简述成员函数、全局函数和友元函数的差别。

解答要点:以下几点必须说清楚:

成员函数是在类内部定义的,作用域在类的内部,成员函数可以访问类的数据成员(公有、保护和私有数据成员),可以调用该类的其它成员函数(公有、保护和私有成员函数),可以调用全局函数。如果友元函数是另一个类的公有成员函数,则该类的成员函数也只能通过那个类的对象调用,不能调用那个类的保护和私有成员函数。非本类成员函数(其它类成员函数或全局函数)可以通过该类的对象访问该类的公有数据成员和调用该类的的公有成员函数。

不是在类中定义的成员函数都是全局函数。

如果某一个函数(全局函数或类的成员函数)定义为另一个类的友元函数,需要在那个类中用friend关键字声明,友元函数并不是类的成员,它的定义自然是在那个类的外面。

3.简述结构化的程序设计、面向对象的程序设计的基本思想。

解答要点:结构化的程序设计将数据和对数据的操作分离,程序是由一个个的函数组成的,面向对象的程序设计将数据和操作封装在一起,程序是由一个个对象组成的,对象之间通过接口进行通信,它能够较好地支持程序代码的复用。

4.结构struct和类class有什么异同?

解答要点:struct和class都可以定义类,但是缺省访问权限

说明时,struct的成员是公有的,而class的成员是私有的。在C++中,struct可被class代替。

三、(8分)下列shape类是一个表示形状的抽象类,area( )为求图形面积的函数,total( )则是一个通用的用以求不同形状的图形面积总和的函数。请从shape类派生三角形类(triangle)、矩形类(rectangle),并给出具体的求面积函数

class shape{

public:

virtual float area( )=0;

};

float total(shape *s[ ],int n)

{

float sum=0.0;

for(int i=0;i

sum+=s[i]->area( );

return sum;

}

class Triangle:public Shape

{

public:

Triangle(double h,double w){H=h;W=w;}

double Area()

const{return H*W*0.5;} private:

double H,W;

};

class Rectangle:public Shape

{

public:

Rectangle(double

c期末考试试题及答案完整版

c期末考试试题及答案 HUA system office room 【HUA16H-TTMS2A-HUAS8Q8-HUAH1688】

AutoCAD 试卷 一、 单项选择 1、AutoCAD 默认扩展名是 A 、dwt B 、dwg C 、bak D 、dxf 答案:B 2、在CAD 中,以下哪个命令可用来绘制横 平竖直的直线 A 、栅格 B 、捕捉 C 、正交 D 、对象捕捉答案:C 3、按哪个键可切换文本窗口和绘图窗口 A 、F2 B 、F8 C 、F3 D 、F5答案:A 4、默认情况下,命令提示行显示为几行 A 、3 B 、5 C 、2 D 、8答案:A 5、在CAD 中为一条直线制作平行线用什么命令 A 、移动 B 、镜像 C 、偏移 D 、旋转答案:C 6、在图层特性管理器中不可以设定哪项 A 、颜色 B 、页面设置 C 、线 宽 D 、是否打印答案:B 7、绘制建筑图步骤为 A 、墙线、轴线、门窗 B 、墙线、 门窗、轴线 C 、轴线、门窗、墙线 D 、轴线、 墙线、门窗答案:D 8、哪个命令可用于绘制直线与圆弧的复合 体 A 、圆弧 B 、构造线 C 、多段线 D 、样条曲线答案:C 9、如何在图中输入“直径”符号 A 、%%P B 、%%C C 、%%D D 、%%U 答案:B

10、如果要在一个圆的圆心写一个“A”字,应使用以下哪种对正方式 A、中间 B、对齐 C、中心 D、调整答案:A 11、在哪个层创建的块可在插入时与当前层特性一致 A、0层 B、在所有自动产生的层 C、所有图层 D、新建的图层答案:A 12、一个完整的尺寸由几部分组成 A、尺寸线、文本、箭头 B、尺寸线、尺寸界线、文本、标记 C、基线、尺寸界线、文本、箭头 D、尺寸线、尺寸界线、文本、箭头 答案:D 13、要将图形中的所有尺寸都为原有尺寸的2倍,应设定以下哪项A、文字高度 B、使用全局比例 C、测量单位比例 D、换算单位 答案:B 14、三维模型中哪种模型可以进行布尔运算 A、线框模型 B、实心体模型 C、表面体模型答案:B 15、渲染三维模型时,哪种类型可以渲染出物体的所有效果 A、一般渲染 B、普通渲染 C、照片级真实感渲染 D、照片级光线跟踪渲染答案:D 16、样板文件的括展名是 A、BAK B、SVS C、DWT D、DWG 答案:C 17、以下哪种相对坐标的输入方法是画8个单位的线长 A.8, 0 B.@0,8 C.@0<8

C语言模拟试卷A

安徽农业大学经济技术学院 《C 语言程序设计》模拟试卷(A) 所有答案写在答题卡上,否则不得分 一、单项选择题(每题1分,共30分) 1.以下选项中叙述正确的是________。 A )C 语言程序总是从第一个定义的函数开执行 B )在 C 语言程序中,被调用的函数必须在main()函数中声明 C )C 语言程序总是从main()函数开始执行 D )C 语言程序中的main()函数必须放在程序的开始部分 2.C 语言程序的三种基本结构是顺序结构、选择结构和________结构。 A )循环 B )递归 C )转移 D )嵌套 3以下选项中不属于C 语言的基本数据类型的是________。 A )int B )double C )char D )bool 4.以下选项中正确的C 语言标示符是________。 A)2b B )x_1 C )a@b D)3#h 5.设C 语言中,一个int 型数据在内存中占2个字节,则unsigned int 型数据的取值范围为________。 A )0~255 B )0~32767 C )0~65535 D )0~2147483647 6.以下选项中,和语句k=n++;等价的是________。 A )k=n,n=n+1; B )n=n+1,k=n; C )k=++n; D )k=n+1; 7.已知:int i=3,j=2;,则执行语句j*=i+2;printf("%d",j);后,输出结果是________。 A )8 B )10 C )12 D )14 8.已知:int a=2,b=3,c;,执行语句c=(a=2,b=2);后,c 的值是________。 A )2 B )3 C )4 D )5 9.已知:int x,y;float z;,若要给变量x,y,z 输入数据,以下正确的输入语句是________。 A )scanf("%d,%d,%d",x,y,z); B )scanf("%d,%d,%f",&x;&y;&z); C )scanf("%d,%d,%f",&x,&y,&z ); D )scanf("%2d,%2d,%3.2d",x;y;z ); 10.华氏温度f 和摄氏温度c 的关系是)32(9 5-= f c 。已知:float c,f;,由华氏温度f 求摄氏温度c 的不正确的赋值表达式是________。 A )c=5/9(f-32) B )c=5.0/9*(f-32) C )c=5*(f-32)/9 D )c=(float)5/9*(f-32) 11.一个C 程序中要调用sqrt()函数时,应在程序中包含的头文件是________。 A )stdio.h B )math.h C )string.h D )stdlib.h 12.已知:char c='a';,则执行语句printf("%c",c-32);后输出结果是________。 A )A B )65 C )97 D )出错 13.能正确表示逻辑关系“a ≥5或a ≤-1”的C 语言表达式是________。 A )a>=5.or.a<=-1 B) a>=5.and.a<=-1 C) a>=5&&a<=-1 D )a>=5‖a<=-1

大学C语言考试试题及答案

精选考试类文档,如果您需要使用本文档,请点击下载! 祝同学们考得一个好成绩,心想事成,万事如意! 大学C语言考试试题及答案 姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题吧。加油! 一单项选择题 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’ ’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’ 若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串

选项B,C,分别用{}和’’标识字符串 选项D,标识字符。 3、以下说法中正确的是( C )。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是( B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C )。 A.-a1 B.a[i] C.a2_i D.int t 6.下列C语言用户标识符中合法的是( B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是( C )。 A) %x B) a+b C) a123 D) 123 8、下列四组字符串中都可以用作C语言程序中的标识符的是( A )。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是 C 。 A)2.5 B)2 C)1 D)3 11.如果int a=3,b=4;则条件表达式"a

C试题附答案

C++试题 一、选择题: 1. 关于类和对象不正确的说法是( C ) A) 类是一种类型,它封装了数据和操作 B) 对象是类的实例 C) 一个类的对象只有一个 D) 一个对象必属于某个类 2. 在类定义的外部,可以被访问的成员有(C ) A) 所有类成员 B) private或protected的类成员 C) public的类成员 D) public或private的类成员 3.关于this指针的说法错误的是(A ) A) this指针必须显示说明 B) 当创建一个对象后,this指针就指向该对象 C) 成员函数拥有this指针 D) 静态成员函数不拥有this指针 4.声明一个类的对象时,系统自动调用( B )函数,撤消对象时,系统自动调用(C )函数 A) 成员函数 B) 构造函数 C) 析构函数 D) 普通函数 5. 下面对构造函数的不正确描述是(B )

A) 系统可以提供默认的构造函数 B) 构造函数可以有参数,所以可以有返回值 C) 构造函数可以重载 D) 构造函数可以设置默认参数 6.下面对析构函数的正确描述是(C ) A) 系统不能提供默认的析构函数 B) 析构函数必须由用户定义 C) 析构函数没有参数 D) 析构函数可以设置默认参数 7.对静态成员的不正确描述是(C) A) 静态成员不属于对象,是类的共享成员 B) 静态数据成员要在类外定义和初始化 C) 调用静态成员函数时要通过类或对象激活,所以静态成员函数拥有this指针 D) 非静态成员函数也可以操作静态数据成员 8.下面选项中,不是类的成员函数为(C ) A) 构造函数B) 析构函数 C)友元函数 D) 缺省参数的构造函数方言 9.下面对友元的错误描述是(D ) A) 关键字friend用于声明友元 B) 一个类的成员函数可以是另一个类的友元 C) 友元函数访问对象的成员不受访问特性影响

C语言期末考试试题

C语言试题1 一填空题(15分) 1.设x的值为15,n的值为2,则表达式x%=(n+=3)运算后,x的值为()。 2.设int a=7,b=9,t;执行完表达式t=(a>b)?a:b后,t的值是()。 3.下面程序段的输出结果是()。 int a=1234; a=a&0377; printf(“%d %o\n”,a,a); 4.a数组定义如下,按照内存排列顺序,a数组中的所有元素是()。 char a[3]; 5.设有以下宏定义,则执行赋值语句a=PP*20;(a为int型变量)后,a的值是()。 #define PR 80 #define PP PR+403 6.在C程序中,可以通过三种运算方式为指针变量赋地址值,它们是:()、()和()。7.在C文件中,数据存在的两种代码形式是()和()。 8.C语言中调用()函数打开文件,调用()函数关闭文件,调用()函数可实现文件的随机读写。 9.若有int a[3]={10,12,30};则a+1是()的地址,*(a+2)=()。 二判断对错(5分,对的划“√”,错的划“×” 1.在Turbo C中,整型数据在内存中占2个字节。() 2.表达式1/4+2.75的值是3。() 3.结构体类型只有一种。() 4.函数若无返回值,则它一定无形参。() 5.C语言只能处理文本文件和二进制文件。() 三选择题(20分) 1.设int a=12; 表达式a+=a-=a*=a的值是()。 A 12 B 144 C 0 D 132 2.以下程序的输出结果是()。 main( ) { int a=011; printf(“%d\n”,++a); } A 12 B 11 C 10 D 9 3.以下程序的输出结果是()。 #define ADD(x) (x)+(x) main() { int a=4,b=6,c=7,d=ADD(a+b)*c; printf(“d=%d”,d); } A d=70 B d=140 C d=280 D d=80 4.下面的选项中正确的赋值语句是(char a[5],*p=a;)()。 A p=“abcd”; B a=“abcd”; C *p=“abcd”; D *a=“abcd”; 5.若k为整形,则while循环执行()次。 k=2; while(k==0) printf(“%d”,k); k--; printf(“\n”); A 10 B 9 C 0 D 1

《数据结构C》模拟试题

山东科技大学继续教育学院 《数据结构C》模拟试题一 班级姓名学号 一、选择题(20分) 1. 组成数据的基本单位是( )。 (A) 数据项(B)数据类型(C)数据元素(D)数据变量 2. 线性表的链接实现有利于( )运算。 (A) 插入(B)读表元(C)查找(D)定位 3. 串的逻辑结构与( )的逻辑结构不同。 (A) 线性表(B)栈(C)队列(D)树 4. 二叉树第i(i≥1)层最多有( )个结点。 (A) 2i(B)2i (C) 2i-1(D) 2i-1 5. 设单链表中p指向结点A,若要删除A后结点(若存在),则需要修改p的操作为( ) (A) p.Next = p.Next.Next (B)p=p.Next (C)p=p.Next.Next (D)p.Next=p 6. 设一数列的输入顺序为1,2,3,4,5,6,通过栈操作不可能排成的输出序列为( ) (A) 3,2,5,6,4,1 (B) 1,5,4,6,2,3 (C) 2,4,3,5,1,6 (D) 4,5,3,6,2,1 7. 设字符串S1=’ABCDEFG’,S2=’PQRST’,则运算S=CONCAT(SUB(S1,2,LENGTH(S2)),SUB(S1,LENGTH(S2),2))的结果为( ) (A) ‘BCQR’ (B) ‘BCDEF’ (C) ’BCDEFG’ (D) ‘BCDEFEF’ 8. 有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a11为第一元素,其存储地址为1,每个元素占1个地址空间,则a85地址为( ) (A)13 (B) 33 (C) 18 (D) 40 9. 如果结点A有3个兄弟,而且B为A的双亲,则B的度为( ) (A) 3 (B) 4 (C) 5 (D) 1 10. 线索化二叉树中某结点D没有左孩子的必要条件是( ) (A) D.Lchild=null (B) D.ltag=1 (C) D.Rchild=null (D) D.ltag=0 二、填空题(20分) 1. 对于一个以顺序实现的循环队列Q[0..m_1],队头、队尾指针分别为f,r,其判空的条件是 ,判满的条件是。 2. 循环链表的主要优点是。 3. 给定一个整数集合{3,5,6,9,12},画出其对应的一棵Huffman树。 4 双向循环链表中,在p所指的结点之后插入f所指的结点,其操作为。 5. 下列为朴素的模式匹配算法,请在算法的处填入正确的子句。

C语言考试试题

试题 课程名称C语言程序设计适用时间 试卷类别 A 适用专业、年级、班 一、选择题(每小题2分, 2×25=50分) 1.下列叙述错误的是( )。 A) C程序中的每条语句都用一个分号作为结束符B) C程序中的每条命令都用一个分号作为结束符 C) C程序中的变量必须先定义,后使用 D) C语言以小写字母作为基本书写形式,并且C语言要区分字母的大小写 2.以下叙述不正确的是( )。 A) 一个C源程序必须包含一个main函数B) 一个C源程序可由一个或多个函数组成 C) C程序的基本组成单位是函数D) 在C程序中,注释说明只能位于一条语句的后面 3.C语言中最简单的数据类型包括( )。 A)整型、实型、逻辑型B)整型、实型、字符型 C)整型、字符型、逻辑型D)字符型、实型、逻辑型 4.C语言中运算对象必须是整型的运算符是( )。 A)%= B)/ C)= D)<= 5.若变量a,i已正确定义,且i已正确赋值,合法的语句是( )。 A)a= =1 B)++i;C)a=a++=5;D)a=int(i); 6.下列运算符中优先级最高的是( )。 A) < B) + C) && D) ! = 7.设有说明:char w;int x;float y;double z;则表达式w*x+z-y 值的数据类型是( )。 A) int B) float C) double D) char 8.设x和y均为int型变量,则语句:x+=y;y=x-y;x-=y;的功能是( )。 A)把x和y按从大到小排列B)把x和y按从小到大排列C)无确定结果D)交换x和y中的值 9.设整型变量a,b的值均为8, printf("%d,%d",(a++,++b),b--);的输出是( )。 A)8,8 B)8,7 C)9,9 D)8,9 10.若有语句scanf("%d%d",&a,&b);要使变量a,b分别得到10和20,正确的输入形式为( )。 A)10 20 B)10,20 C)1020 D)10:20 11.判断char型变量ch是否为大写字母的正确表达式是( )。 A)'A'<=CH<='Z' B) (CH>='A')& (CH<='Z') C)(CH>='A')&& (CH<='Z') D) ('A'<=ch)AND('Z'>=ch) 12.有如下程序 main( ) { int x=1,a=0,b=0; switch(x) { case 0: b++; case 1: a++; case 2: a++;b++; } printf("a=%d,b=%d\n",a,b);} 该程序的输出结果是( )。 A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=2 13.以下程序的功能是:按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下: main( ) { int n,k; float score,sum,ave; sum=0.0; for(n=1;n<=10;n++) { for(k=1;k<=4;k++) { scanf("%f",&score); sum+=score; } ave=sum/4.0; printf("NO%d:%f\n",n,ave); } } 上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。这条语句是( )。 A) sum=0.0; B) sum+=score; C) ave=sun/4.0; D) printf("NO%d:%f\n",n,ave);

C试题及答案一

C + + 程序设计模拟试卷(一) 一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1. 编写C++程序一般需经过的几个步骤依次是() A. 编辑、调试、编译、连接 B. 编辑、编译、连接、运行 C. 编译、调试、编辑、连接 D. 编译、编辑、连接、运行答案:B 解析:经过编辑、编译、连接和运行四个步骤。编辑是将C++源程序输入计算机的过程,保 存文件名为cpp。编译是使用系统提供的编译器将源程序cpp生成机器语言的过程,目标文件为obj,由于没有得到系统分配的绝对地址,还不能直接运行。连接是将目标文件obj转换为可执行程序的过程,结果为exe。运行是执行exe,在屏幕上显示结果的过程。 2. 决定C++语言中函数的返回值类型的是() A. return 语句中的表达式类型 B. 调用该函数时系统随机产生的类型 C. 调用该函数时的主调用函数类型 D. 在定义该函数时所指定的数据类型 答案:D 解析:函数的返回值类型由定义函数时的指定的数据类型决定的。A项的表达式的值要转换 成函数的定义时的返回类型。 3. 下面叙述不正确的是() A. 派生类一般都用公有派生 B. 对基类成员的访问必须是无二义性的 C. 赋值兼容规则也适用于多重继承的组合 D. 基类的公有成员在派生类中仍然是公有的 答案: D 解析:继承方式有三种:公有、私有和保护。多继承中,多个基类具有同名成员,在它们的子类中访问这些成员,就产生了二义性,但进行访问时,不能存在二义性。赋值兼容规则是指派生类对象可以当作基类对象使用,只要存在继承关系,所以单继承或多继承都适用。基类中的公有成员采用私有继承时,在派生类中变成了私有成员,所以D项错误。 4. 所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是() A. 类 B. 对象 C. 函数体 D. 数据块 答案:A 解析:类即数据和操作的组合体,数据是类的静态特征,操作是类具有的动作。 5. 在公有派生类的成员函数不能直接访问基类中继承来的某个成员,则该成员一定是基类中的() A. 私有成员 B. 公有成员 C. 保护成员 D. 保护成员或私有成员 答案:A 解析:在派生类中基类的保护或者基类公有都可以直接访问,基类的私有成员只能是基类的成员函数来访问。所以选择A项。 6. 对基类和派生类的关系描述中,错误的是() A. 派生类是基类的具体化 B. 基类继承了派生类的属性 C. 派生类是基类定义的延续 D. 派生类是基类的特殊化 答案:B 解析:派生类的成员一个是来自基类,一个来自本身,所以派生类是基类的扩展,也是基类的具体化和特殊化,派生类是对基类扩展。B项基类不能继承派生类成员,所以错误。 7. 关于this 指针使用说法正确的是() A. 保证每个对象拥有自己的数据成员,但共享处理这些数据的代码 B. 保证基类私有成员在子类中可以被访问。 C. 保证基类保护成员在子类中可以被访问。

c期末考试试题及答案

c期末考试试题及答案 TTA standardization office【TTA 5AB- TTAK 08- TTA 2C】

A u t o C A D试卷 一、单项选择 1、AutoCAD默认扩展名是 A、dwt B、dwg C、bak D、dxf 答案:B 2、在CAD中,以下哪个命令可用来绘制横平竖直的直线 A、栅格 B、捕捉 C、正交 D、对象捕捉答案:C 3、按哪个键可切换文本窗口和绘图窗口 A、F2 B、F8 C、F3 D、F5答案:A 4、默认情况下,命令提示行显示为几行 A、3 B、5 C、2 D、8答案:A 5、在CAD中为一条直线制作平行线用什么命令 A、移动 B、镜像 C、偏移 D、旋转答案:C 6、在图层特性管理器中不可以设定哪项 A、颜色 B、页面设置 C、线宽 D、是否打印答案:B 7、绘制建筑图步骤为 A、墙线、轴线、门窗 B、墙线、门窗、轴线 C、轴线、门窗、墙线 D、轴线、墙线、门窗答案:D 8、哪个命令可用于绘制直线与圆弧的复合体 A、圆弧 B、构造线 C、多段线 D、样条曲线答案:C 9、如何在图中输入“直径”符号 A、%%P B、%%C C、%%D D、%%U答案:B 10、如果要在一个圆的圆心写一个“A”字,应使用以下哪种对正方式 A、中间 B、对齐 C、中心 D、调整答案:A 11、在哪个层创建的块可在插入时与当前层特性一致 A、0层 B、在所有自动产生的层

C、所有图层 D、新建的图层 答案:A 12、一个完整的尺寸由几部分组成 A、尺寸线、文本、箭头 B、尺寸线、尺寸界线、文本、标记 C、基线、尺寸界线、文本、箭头 D、尺寸线、尺寸界线、文本、箭头答案:D 13、要将图形中的所有尺寸都为原有尺寸的2倍,应设定以下哪项 A、文字高度 B、使用全局比例 C、测量单位比例 D、换算单位 答案:B 14、三维模型中哪种模型可以进行布尔运算 A、线框模型 B、实心体模型 C、表面体模型答案:B 15、渲染三维模型时,哪种类型可以渲染出物体的所有效果 A、一般渲染 B、普通渲染 C、照片级真实感渲染 D、照片级光线跟踪渲染答案:D 16、样板文件的括展名是 A、BAK B、SVS C、DWT D、DWG答案:C 17、以下哪种相对坐标的输入方法是画8个单位的线长 A.8, 0 B.@0,8 C.@0<8 答案:B 18、哪种坐标输入法需要用@符号?A.极坐标 B.绝对坐标 C.相对坐标答案:C 19.在命令行中输入“Z”后,再输入选项“A”,什么作用 A.在图形窗口显示所有的图形对象和绘图界限范围。 B.恢复前一个视图 C.显示所有在绘图界限范围内的图形对象 D.显示绘图界限范围答案:A 20.下面哪个命令可将块打散生成图形文件

c语言模拟试题

试卷编号:8156 所属语言:C语言 试卷方案:C语言201006模拟 试卷总分:100分 共有题型:5种 ━━━━━━━━━━━━━━━ 一、判断共10题(共计20分) ━━━━━━━━━━━━━━━ 第1题(2.0分)题号:1225 在给变量命名时,C语言区分大小写字母,即认为Name和name不是同一个变量. 答案:Y 第2题(2.0分)题号:1279 循环结构while、do while、for不可以互相嵌套. 答案:N 第3题(2.0分)题号:1140 链表中的任何一个结点,必然要包括一个指针域. 答案:Y 第4题(2.0分)题号:1265 在书写C程序时,一行内只能写一条语句,一条语句也不能写在多行上. 答案:N 第5题(2.0分)题号:1280 C语言程序中用到的所有变量必须在使用之前进行定义. 答案:Y 第6题(2.0分)题号:1269 若定义int a[4]={1,2,3,4};若超界引用a[4]则编译时不报错. 答案:Y 第7题(2.0分)题号:19 C语言本身不提供输入输出语句,输入和输出操作是由函数来 实现的。 答案:Y 第8题(2.0分)题号:11 通过return语句,函数可以带回一个或一个以上的返回值。 答案:N 第9题(2.0分)题号:24

对于数值型数组,C语言中只能逐个引用数组元素而不能一次引用整个数组。答案:Y 第10题(2.0分)题号:33 int i,*p=&i;是正确的C说明。 答案:Y ━━━━━━━━━━━━━━━━━ 二、单项选择共15题(共计30分) ━━━━━━━━━━━━━━━━━ 第1题(2.0分)题号:87 C语言源程序的基本单位是()。 A:过程 B:函数 C:子程序 D:标识符 答案:B 第2题(2.0分)题号:110 C语言中,char类型数据占()。 A:1个字节 B:2个字节 C:4个字节 D:8个字节 答案:A 第3题(2.0分)题号:112 下列程序的输出结果是()。 main() {char c1=97,c2=98; printf("%d %c",c1,c2); } A:97 98 B:97 b C:a 98 D:a b 答案:B 第4题(2.0分)题号:170 关于return语句,下列正确的说法是()。

C语言考试试卷及答案

2011-2012学年第一学期 C语言程序设计A 课程A卷考试题 共 4 页此第 1 页成绩 一、单项选择题(每小题2分,共40分) 1. C语言中合法的字符常量是() A.n B.’\n’ C.110 D.”n” 2. 有以下程序: main( ) { char ch=’A’; printf(“ch(1)=%d,ch(2)=%c\n”,ch,ch+1); } 程序运行后的输出结果是() A. ch(1)=65,ch(2)=A B. ch(1)=97,ch(2)=A C. ch(1)=65,ch(2)=B D. ch(1)=97,ch(2)=B 3. 能表示a不能被2整除且a、b不相等,但a、b的和等于0的C语言逻辑表达式是() A. a==-b&&a%2==0 B. a!=b&&a+b==0&&a%2 C. !(a%2)&&a==-b D.a%2==0&&a+b==0 4. 以下程序段中语句” printf("i=%d,j=%d\n",i,j);”的执行次数是() int i, j; for(i=3;i ;i--) for(j=1;j<5;j++) printf("i=%d,j=%d\n",i,j); A. 12 B. 20 C. 15 D. 24 5. 执行以下程序段后,x[2]的值是() int x[10]={1,2,3,4,5,6,7,8,9,10},i,j,t; i=0;j=9; while(i

C试题库有答案的

C++试题库 一、选择题 1、求“abc\\12\n”字符串的长度( C ) (A) 5 (B) 6 (C) 7 (D) 8 2、字符串常量”\tMyNane\103”的长度是:( B ) (A) 6 (B) 8 (C) 12 (D) 14 3、设x=7,执行语句y=++x,则y等于( D ) (A) 6 (B) 7 (C) 9 (D) 8 4、下列字符列中,合法的长整型常量是:( D ) (A) 4.18e3 (B) 0.46793 (C) 4L (D) 956738 5、在C++中,char类型数据在内存的存储形式是:( D ) (A) 原码(B) 反码(C) 补码(D) ASCII码 6、以下运算符中,优先级最高的是:( B ) (A) *= (B) –> (C) && (D) >= 7、若有定义“int x”,则下面不能将x的值强制转换成双精度数的表达式(D )(A)(double)x (B) double(x)(C)(double)(x)(D)x(double) 8、设有变量定义 int i, j; 与表达式 i==0 && j==0 等价的表达式是:( b ) (A) i||j (B) !i&&!j (C) !i==!j (D) i==j 9、下述叙述正确的是()。 (A)字符型变量不能赋予整数(B) 任意整数都能表示字符 (C)字符型变量可存放多个字符(D) 字符数据的值是整数值 10、设变量int a = 5; 下列哪个表达式计算后,使得变量b的值等于2 ?( A ) (A) b=a/2 (B) b=6-(a--) (C) b=a%2 (D) b=a>3?3:2 11、if…else中为避免嵌套出现二义性,C++规定else子句总与( B ) (A)其之前最近的if语句 (B)其之前最近且尚未配对的if语句 (C)缩排位置相同的if语句 (D)其之后最近的if语句 12、逻辑运算符两侧运算对象的数据( D ) (A)只能是逻辑型数据(B)只能是整型数据 (C)只能是整型或字符型数据(D)可以是任何类型的数据

c语言期末考试试题

一、单项选择题。(每题1分,共20分) 1. C程序的基本单位是:() A.子程序 B.程序 C.子过程 D.函数 2.在C语言中,非法的八进制是:() A.016 B.018 C.017 D.02 3. 不是C语言实型常量的是:() A.55.0 B.0.0 C.55.5 D.55e2.5 4 .字符串“xyzw”在内存中占用的字节数是:() A.6 B.5 C.4 D.3 5. 若已定义f,g为double类型,则表达式:f=1,g=f+5/4的值是:() A.2.0 B.2.25 C.2.1 D.1.5 D.1.5 D.1.5 D.1.5 6. 若有语句char c1=`d`,c2=`g`;printf(“%c,%d\n”,c2- `a`,c2-c1);则输出结果为:() (a的ASCII码值为97) A.M,2 B.G,3 C.G,2 D.D,g 7. 使用语句scanf(“a=%f,b=%d”,&a,&b);输入数据时,正确的数据 输入是:() A.a=2.2,b=3 B.a=2.2 b=3 C.2.2 3 D.2.2,3 8.表示关系12<=x<=y的C语言表达式为:() A.(12<=x)&(x<=y) B. (12<=x)&&(x<=y) C. (12<=x)|(x<=y) D.(12<=x)||(x<=y) 9.设x=1,y=2,m=4,n=3,则表达式x>y?x:mc4)后,s,t的值为:() A.1,2 B.1,1 C.0,1 D.1,0 12. 语句for(a=0,b=0;b!=100&&a<5;a++)scanf(“%d”,&b); scanf最多可执行次数为:() A.4 B.6 C.5 D.1 13. 对于for(s=2;;s++)可以理解为:()

c模拟试题 (3)

1,下列描述中不正确的是__C____。 A.可以对字符型数组进行整体输入、输出 B.字符型数组中可以存放字符串 C.可以对整型数组进行整体输入、输出 D.不能在赋值语句中通过赋值运算符"="对字符型数组进行整体赋值 2,以下程序的输出结果是___C___。 main() { int i,a[10]; for(i=9;i>=0;i--) a[i]=10-i; printf("%d%d%d",a[2],a[5],a[8]); } A.369 B.741 C.852 D.253 3,若变量已正确定义并赋值,下面符合C语言的表达式是__B____ A.a=a+7=c+b B.a=b=c+2 C.int 18.5%3 D,a:=b+1 4.以下选项中合法的字符常量是_D_____。 A."B" B,D C,68 D,'\010' 5,有以下程序 struct S{int n; int a[20];}; void f(struct S *p) { int i,j,t; for(i=0;in-1;i++) for(j=i+1;jn;j++) if(p->a[i]>p->a[j]) { t=p->a[i]; p->a[i]=p->a[j]; p->a[j]=t;} } main() { int i; struct S s={10,{2,3,1,6,8,7,5,4,10,9}}; f(&s); for(i=0;i

C试题库

2000~2001学年《程序设计基础-C》试卷 一、单项选择题(每小题 2 分,共 30 分) 1. C 语言程序中可以对程序进行注释,注释部分必须用符号_____括起来。 A、‘{‘ 和’}’ B、‘[‘和’]’ C、“/*”和”*/” D、“*/”和”/*” 2.下列运算符中,优先级最低的是_____。 A、* B、!= C、+ D、= 3.若变量已正确定义,表达式 (j=3, j++) 的值是_____ 。 A、3 B、 4 C、5 D、0 4.已知字符‘a’ 的ASCII码为 97 ,执行下列语句的输出是_____。 printf ("%d, %c", ’b’, ’b’+1 ) ; A、98, b B、语句不合法 C、98, 99 D、 98, c 5.表达式strcmp(“box”, “boss”) 的值是一个_______。 A、正数 B、负数 C、 0 D、不确定的数 6.数组定义为 int a[3][2]={1, 2, 3, 4, 5, 6},数组元素_____的值为6。 A、a[3][2] B、a[2][1] C、a[1][2] D、a[2][3] 7.要调用数学函数时,在#include命令行中应包含_____。 A、”stdio.h” B、”string.h” C、”math.h” D、”ctype.h” 8.判断i和j至少有一个值为非0的表达式是_____。 A、 i!=0 && j!=0 B、i*j!=0 C、!(i==0 || j==0) D、i&&j 9.若a是基本整型变量,c是单精度实型变量,输入语句______是错误的。 A、scanf(”%d,%f”, &a, &c); B、scanf(”d=%d, c=%f”, &a, &c); C、scanf(”%d%f”, &a, &c); D、scanf(”%d%f”, a, c); 10.若变量已正确定义并且指针p已经指向某个变量x,则(*p)++相当于_____。 A、p++ B、x++ C、*(p++) D、&x++ 11.若p1、p2都是整型指针,p1已经指向变量x,要使p2也指向x, _____是正 确的。 A、p2=p1; B、p2=**p1; C、p2=&p1; D、p2=*p1; 12.下列程序段的输出是_____。 int c[]={1, 3, 5}; int *k=c+1; printf("%d", *++k); A、 3 B、 5 C、 4 D、6 13.不正确的赋值或赋初值的方式是______。 A、char str[]="string"; B、char str[7]={'s', 't', 'r', 'i', 'n', 'g'}; C、char str[10];str="string"; D、char str[7]={'s', 't', 'r', 'i', 'n', 'g', ’\0’}; 14.对于以下结构定义,++p->str中的++加在_____。 s truct { int len;

C期末考试试卷及答案

C++期末考试试卷及答案1 一、单项选择题(每题2分,共40分) 1. ______不是属于面向对象程序设计的特性 A. 抽象性 B. 数据相关性 C. 多态性 D. 继承性 2. 将对某一类数据的处理算法应用到另一类数据的处理中,要用到C++的______ A. 类 B. 虚函数 C. 运算符重载 D. 模板 3. C++与C语言最根本的不同之处在于_______ A. 使用了类 B. 能够实现变量自动初始化 C. 支持软件重用 D. 支持接口重用 4. 动态内存分配的主要目的是_______ A. 使程序按动态联编方式运行 B. 正确合理的使用内存 C. 提高程序的运行速度 D. 提高程序的可维护性 5. 在C++函数的形参前加const关键字,是为了提高函数的_______ A. 数据封装性 B. 可理解性 C. 可维护性 D. 可重用性 6. 函数重载的目的是________ A. 实现共享 B. 使用方便,提高可读性 C. 提高速度 D. 减少空间 7. 从程序片断:char name[] = "C++"; course(name);可判断函数course的调用采用的是_______ A. 传值调用 B. 带缺省参数值的函数调用 C. 引用调用 D. 传址调用 8. 用来说明类中公有成员的关键字是________

9. 如果一个类的成员函数print()不修改类的数据成员值,则应将其声明为 A. void print() const; B. const void print(); C. void const print(); D. void print(const); 10. 下列关于构造函数的论述中,不正确的是_______ A. 构造函数的函数名与类名相同 B. 构造函数可以设置默认参数 C. 构造函数的返回类型缺省为int型 D. 构造函数可以重载 11. 在程序代码:A::A(int a, int *b) { this->x = a; this->y = b; }中,this的类型是______ A. int B. int * C. A D. A * 12. 内存泄漏是指_______ A. 内存中的数据出现丢失 B.试图释放一个已经释放了的动态分配的堆内存 C. 函数中局部变量所占的栈内存没有及时回收 D. 动态分配的堆内存在程序退出后始终被占用 A. 私有成员数据 B. 私有成员函数 C. 公有成员数据 D. 公有成员函数 14. 友元函数_______ A. 可以被声明为const B. 没有this指针 C. 可以用类名或对象名来调用 D. 只能用对象名来调用 15. 若一个类的成员函数前用static关键字修饰,则该成员函数________ A. 可以被声明为const B. 没有this指针 C. 可以访问该类的所有成员 D. 只能用对象名来调用 16. C++是用_______实现接口重用的

c 大一模拟试题 带答案

模拟试卷(A卷) 一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在括号内。每小题2分,共15小题,30分) 1. 下列字符串中不能作为C++标识符使用的是()。 A、WHILE B、user C、_lvar D、9stars 2. C++语言规定:在一个源程序中,main函数的位置()。 A、必须在程序的最开始 B、必须在系统调用的库函数的后面 C、可以任意 D、必须在程序的最后 3. 假定int类型变量占用两个字节,其有定义int?x[10]={0,2,4};,则数组x在内存中所占字节数是( )。? A、3 ??? B、6? C、10?? ? D、20? 4. 判断字符型变量ch是否为大写英文字母,应使用表达式()。 A、ch>='A' & ch<='Z' B、ch<='A' ||ch>='Z' C、'A'<=ch<='Z' D、ch>='A' && ch<='Z' 5. 已知下列语句中的x和y都是int型变量,其中错误的语句()。 A、x=y++; B、x=++y; C、(x+y)++; D、++x=y; 6. 有如下程序段: int i=1; while (1) { i++; if(i == 10) break; if(i%2 == 0) cout << '*'; } 执行这个程序段输出字符*的个数是()。 A、10 B、3 C、4 D、5 7.有如下程序 #include using namespace std; int func (int a, int b) { return (a+b); }

int main () { int x=2,y=5,z=8,r; r=func(func(x,y), z); cout<> 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、3 D、12 9.若二维数组a有m列,则在a[i][j]之前的元素个数为()。 A、j*m+i B、i*m+j C、i*m+j-1 D、i*m+j+1 10. 语句的int *p=&k定义于指针P,于这个语句等效的语句序列是()。 A、int *p; p=&k; B、int*p; p=k; C、int*p; *p=&k; D、int*p;*p=k; 11. 已知:int m=10; 在下列定义引用的语句中,正确的是()。 A、int &x=m; B、int y=&m; C、int &z; D、int &t=&m; 12、有如下程序段 int i =0, j=1; int&r=i ; // ① r =j; //② int*p=&i ; //③ *p=&r ; //④

相关文档