C期末复习指导.docx

上传人:b****5 文档编号:8008798 上传时间:2023-01-27 格式:DOCX 页数:24 大小:25.52KB
下载 相关 举报
C期末复习指导.docx_第1页
第1页 / 共24页
C期末复习指导.docx_第2页
第2页 / 共24页
C期末复习指导.docx_第3页
第3页 / 共24页
C期末复习指导.docx_第4页
第4页 / 共24页
C期末复习指导.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

C期末复习指导.docx

《C期末复习指导.docx》由会员分享,可在线阅读,更多相关《C期末复习指导.docx(24页珍藏版)》请在冰豆网上搜索。

C期末复习指导.docx

C期末复习指导

C++期末复习指导

考试题型及分值:

1.单项选择题(每题3分,共30分)

2.填空题(每空3分,共30分)

3.程序分析(阅读程序并写出程序的运行结果。

每小题7分,共21分)

4.指出程序或函数的功能(本题9分)

5.程序设计(根据要求编写程序或函数,本题10分)

一、单选题

1.C++源程序文件的缺省扩展名为(    )。

A. cpp             B. exe

C. obj             D. lik

2.C++语言中用来标记复合语句起始和结束的一组符号是(   )。

    A.(   )           B.[    ]

C.{   }             D.“   ”

3.C++语言是在哪一种语言的基础之上发展起来的(   )。

A.Basic         B.C          C.Fortran         D.Cobol

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

A.main      B.MAIN

C.name      D.function

5.由C++目标文件连接而成的可执行文件的缺省扩展名为(   )。

    A.cpp       B.exe       C.obj       D.lik

6.“编译”是应用程序开发的第二步,源程序经过编译后生成(   )。

A.目标程序            B.源程序

C.可执行程序          D.连接程序

7.文件名为fun.cpp的C++源程序在经过编译和连接后生成的可执行文件的文件名是(   )。

     A.fun.obj           B.fun.exe

C.fun.link          D.fun.cpp

8.    C++语言中的每条简单语句以(  )作为结束符。

A. 逗号      B. 分号     C.空格     D.换行符

9.    C++程序的基本功能模块是(  )。

A.表达式         B. 标识符

C. 语句          D. 函数

10.在下列符号中,不合法的变量名是(   )。

A.f.ile                   B.file

C.File                    D._file

11.在下列符号中,不可以作为变量名使用的是(   )。

A._stu                      B._STU

C.2stu                        D.stu

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

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

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

13.设x和y均为bool类型变量,则x║y为假的条件是(   )。

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

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

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

A.0     B.‘0’       C. “0”     D.‘\n’

15.下列字符或字符串存储在计算机中占用3字节空间的是(   )。

A.“ABC”                  B. “A”      

C.“AB”                   D. ‘A’

 16.实数5638.61在科学表示法中应表示为(   )。

A.0.563861e4          B.56.3861e2

C.5.63861e3           D.563.861

17.设x和y均为bool量,则x‖y为假的条件是(   )。

  A.它们均为真       B.它们均为假

C.其中一个为真      D.其中一个为假

18.下列表达式中,值为3的是(   )。

A.3*3       B.10/7        C.23%5        D.3-3

19.表达式32%6的值是(   )。

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

20.在下列常值变量的定义中,错误的是(   )。

A.    const int a=39;

B.    const char c;

C.    const double d=3.36;

D.const unsigned b=220;

21.下面的哪一个保留字不能作为函数的返回类型?

(   )

A.void     B.int     C.new     D.long

22. 下面的函数声明中,哪一个是”voidBC(inta, intb);”的重载函数(   )。

A.        intBC(inta,intb)                   

B.        void BC(inta,char b)

C.        float BC(int a,int b,int c=0)

D.        voidBC(int a,int b=0)

 23.下面的哪一个函数头格式不正确?

(   )

       A.AA(inta,intb)           B.AA(inta=0,intb)

       C.AA(inta=0,intb=0)       D.AA(inta,intb=0)

24.已知数组a定义为int a[20];则数组a的最小下标(   )。

A.0          B.1         C.19         D.20

25.某程序中有如下语句

int *p1, *p2=&x;

  p1=y;  

那么由此可知,变量x和y的数据类型分别是(   )。

  A.int* ,int         B.int , int

C.int*,int*        D.int ,int *

26.C++中,专门用来申请一块动态空间的操作符是(   )。

     A.new        B.delete       C.cout      D.cin

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

       A. 1         B. 2

C. 4         D. 8

28.假定a为一个整型数组名,则元素a[4]的字节地址为(  )。

   A.  a+4              B.  a+8

C.  a+16            D.  a+32

29.num为一整型数组名,则表达式sizeof(num)/sizeof(num[0])表示(   )。

A.数组num中每个元素所占的字节空间数

B.数组num所占的空间总数

C.数组num中的元素个数

D.数组num的地址

30.与下列循环语句等价的for语句是(   )。

i=10;

while(i>0)

 cout<

      A.for(i>10;i=10;i--)            B. for(i=10;i>0;i--)

cout<

C. for(i--;i>0;i=10)            D. for(i>10;i=10;i--)

           cout<

31.与语句

       if(x>80)

         return true;

         else    returnfalse;

    等价的return语句是(   )。

       A.return  true;              B.return  false;

C.return(x>80);              D.return(x<=80);

32.假定a为一个一维数组名,则下面哪一种表示有错误(   )。

A. a[i]                   B. *a++

C. *a                 D. *(a+i)

 33.执行下列语句

        int  n, a[10], *p1=&a[1], *p2=&a[8];

         n=p2-p1;

      后,n的值是(   )。

     A.10         B.9        C.8        D.7

34.定义结构类型时,使用的类型保留字是(   )。

    A.struct       B.union       C.static       D.extern

35.使用函数调用时,可以不用给出被调用函数原形的情况是(   )。

A.函数的定义在被调用处之前

B.函数的定义在被调用处

C.被调用函数是无返回值函数

D.被调用函数是有返回值函数

 36.下列有关局部变量的各种说法中,正确的是(   )。

A.局部变量不一定定义在函数内部

B.定义一个局部变量的程序文件中的所有函数都可以访问该局部变量

C.局部变量是定义于函数内部的变量

D.局部变量可用于函数之间传递数据

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

       A. ios:

:

in

B. ios:

:

out

C. ios:

:

in︱ios:

:

out

D. 没有

38.类中的每个成员都有一定的存取权限,其中可以表明该成员能被任意函数访问的是(   )。

A.private           B.public     

C.protected         D.static

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

A. ios:

binary           B. ios:

in│ios:

out

C. ios:

out                  D. ios:

in

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

A. 0          B. 1

C. n       D. n+1

41.假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为(   )。

        A. ABoperator+(AB&a,AB&b);     B. ABoperator+(AB&a);

        C. operator+(ABa);              D. AB&operator+();

 42.当需要使用ostrstream流类定义一个流对象并联系一个字符串时,应在文件开始使用#include命令,使之包含(   )文件。

       A.strstrea.h      B.stdlib.h     

C.iostream.h      D.fstream.h

二、填空题

1.执行“cout<

2.逻辑表达式a<=b‖b==15的相反表达式为_____________。

3.程序的三种基本控制结构是_____________、_____________和_______________。

它们的共同特点是_____________。

4.    十进制数28和3.26的类型分别为_____________和_____________。

5.    表达式float(25)/4和int(14.6)%5的值分别是_____________和_____________。

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

7.表达式sqrt(81)的值为_____________。

8.逻辑表达式x>3&&x<10的相反表达式为_________。

9.C++程序中的头文件的扩展名是_________。

10.假定x=10,则表达式(x<=10?

20:

30)的值为_________。

11.下面的语句显示输出8行8列数组A的主对角线上的所有元素,请补充完整下面的语句:

for(           ;j<8;           ;)

cout<<__________<<’ ’;

12.算术表达式对应的C++表达式为__________。

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

=10的相反表达式为_____________。

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

15.执行语句cout<<”x1=”<<18*3;后得到的输出结果为__________。

 16.数组a定义为int a[15];那么该数组的最小下标是____________,最大下标是____________。

17.表达式pow(5,3)的值为_________。

18.全局变量是指定义于___________的变量。

19.C++依据调用实在参数在_____________上或_____________上的不同来确定调用的是重载函数的哪一个。

20.C++语言中每条复合语句以______________作为结束符。

21.假定一个枚举类型的定义为”enum RA{ab,ab,ad,ae};”,则ac的值为____________。

22.十进制数25表示成符合C++语言规则的八进制数为_____________。

23.增量表达式++y表示成赋值表达式为_____________。

23. 用于输出表达式值的标准输出流对象是_____________,用于从键盘上为变量输入值的标准输入流对象是_____________。

25. 假定一个二维数组的定义为“inta[3][5];”,则该数组所含元素的个数为_____________,所占存储空间的字节数为_____________。

26. 假定p所指对象的值为25,p+1所指对象的值为46,则*p++的值为_____________。

27. 假定a是一个一维数组,则a[i]对应的存储地址(以字节为单位)为_____________。

28. 假定要动态分配一个类型为Worker的具有n个元素的数组,并由r指向这个动态数组,则使用的语句为_____________。

29.执行for(inti=0;i<=20;i++) cout<<‘*’;将输出_________个’*’号。

30.执行语句”char ch1=’F’-1;”后,ch1所表示的字符是_________。

 31.指针是用来存放特定类型数据的__________。

 32.一个数组的数组名实际上是指向该数组__________元素的指针,并且在任何时候都不允许__________它。

33.析构函数的名字与__________相同,还应在函数名前加上__________。

34.构造函数与___________具有相同的名字。

35.局部变量是指定义于____________的变量。

36.假定a=5,则条件表达式”a>=5?

10:

20”的值为_______________。

37.当在程序执行到___________语句时,将结束所在循环类语句或switch语句的执行。

38.函数调用时,实参向形参的传送分为___________传送和值传送两种方式。

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

40.假定一个结构类型的定义为”struct C{double a[5];intn;};”则该类型的大小为__________字节。

41.当一个类对象被撤销时将自动调用该类的________。

42.假定一个类对象数组为A[N],当离开它的作用域时,系统自动调用该类析构函数的次数为_______。

43.若要在程序文件中进行文件输入输出操作,则必须在开始的#include命令中使用_________头文件。

44.重载一个函数的条件是:

该函数必须在参数的个数或参数的__________上与其它同名函数有所不同。

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

46.变量分为全局和局部两种,_____________变量没有赋初值时,将由系统自动置0。

47.假定a是一个一为数组,则a[i]对应的存储地址为(以字节为单位)_____________。

48.假定一个结构类型的定义为“struct A{double a,b;A*c;};”,则该类型的大小为_____________字节。

49.假定要访问一个结构指针p所指对象中的b指针成员所指的对象,则表示方法为_____________。

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

51.若需要把一个函数“void F( );”定义为一个类AB的友元函数,则应在类AB的定义中加入一条语句_____________。

52.C++流类库中,根基类为_____________。

53.假定一个结构类型的定义为”structB{inta[5];char*b;};”,则该类型的大小为_____________字节。

   54.在定义类对象的语句执行时,系统在建立每个对象的过程中将自动调用该类的____________使其初始化。

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

56.假定一个类AB中有一个静态整型成员bb,在类外为它进行定义并初始化为0时,所使用的语句为________________。

57.一个派生类中,对基类成员、类对象成员和非类对象成员的初始化次序是先_____________,后_____________,最后_____________。

58. 有给一个名为AB的类定义构造函数,则系统为其隐含定义的构造函数为_____________。

三、程序分析的运行结果

1. #include

 voidmain( )

 {

      inta[8]={85,42,1,85,-90,18,67,99};

   int max, min;

    max=min=a[0];

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

{

        if(max

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

     }

    cout<<“max:

”<

     cout<<“min:

”<

    }

 

2.#include

      voidmain(){

          ints1=0,s2=0;

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

              if(i%2)s1+=i;

              elses2+=i;

          cout<

      }

 3.#include

      voidmain(){

          inta[10]={8,19,46,15,6,24,27,18,20,53};

          intc1=0,c2=0;

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

              if(a[i]>=20)c1++;

              if(a[i]>=10&&a[i]<=40)c2++;

          }

          cout<

      }

4.#include

      voidmain(){

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

          intm=a[0][0];

          intk1=0,k2=0;

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

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

                  if(a[i][j]>m){m=a[i][j];k1=i;k2=j;}

          cout<

      }

5.#include

      voidmain(){

          inta=10,b=15;

          cout<

          {a*=3;

            intb=a+20;

            cout<

          }

          cout<

      }

6. #include

      void main( )

       {

int a,b,c;

cout<<“input two numbers:

”<

cin>>a>>b;

c=a*b;

cout<<“the result is”<

c=a*c;

cout<

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

当前位置:首页 > 人文社科 > 教育学心理学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1