C++主要教學內容
章節 教學內容
1 面向對象及C++語言概述
2 C++表達式
3 程序結構
4 數組
5 指針
6 函數
7 類與對象
8 基類與派生類
9 多態性
10 流與文件
考試題型及分值
1、選擇 15 * 2 共 30 分
2、填空 15 * 2 共 30 分
3、分析理解 4 * 4 共 16 分 4、問答 2 * 5 共 10 分
5、程序設計 2 * 7 共 14 分
合計 100 分
格式說明:
題號、章 難度 【答案】題目
A、選項A
B、選項B
C、選項C
D、選項D
一、選擇題
1、1A【A】輸入數據時,各數據間的分隔符有多種,錯誤的是()。
A、逗號
B、空格
C、制表
D、回車
2、1A【A】下列()是C++語言的有效標識符?
A、_No1
B、No.1
C、12345
D、int
3、1A【A】下列標識符正確的是()。
A、e2
B、MyID.
C、a(3)
D、int
4、1A【C】下列標識符正確的是()。
A、My Age
B、2L
C、Int
D、bool
5、1A【C】關於C++語言程序結構,敘述錯誤的是()。
A、函數是C++的基本功能模塊
B、程序中必不可少的一個函數是main()函數
C、程序若包含有多個函數,其他的函數必須放在main()函數的前面
D、程序是從main()函數開始執行的
6、1A【C】關於標識符,錯誤的敘述是()。
A、標識符是區分大小寫的
B、標識符可有英文字母、數字、下劃線組成
C、漢字也可作為C++標識符
D、標識符不能以數字開頭
7、1A【C】下面敘述錯誤的是()。
A、要使用數學函數,應包含頭文件math.h
B、要使用字符串函數,應包含頭文件string.h
C、要使用C語言提供的字符輸入輸出函數,應包含頭文件ctype.h
D、要使用C++流對象進行輸入輸出,應包含頭文件iostream.h
8、1A【C】在語句cin>>data;中,cin是()。
A、C++的關鍵字
B、類名
C、對象名
D、函數名
9、1A【D】C++語言對C語言做了很多改進,C++語言相對於C語言的最根本的變化是()。
A、增加了一些新的運算符
B、允許函數重載,並允許設置缺省參數
C、規定使用函數時必須用原型
D、引進了類和對象的概念
10、1A【D】要使用數學函數時,應包含的頭文件是()。
A、stdio.h
B、iostream.h
C、stdlib.h
D、math.h
11、1B【B】關於注釋,敘述錯誤的是()。
A、注釋有行注釋及塊注釋,行注釋符是“//”,塊注釋符是“/* ... */”
B、塊注釋內可以包含其他塊注釋
C、塊注釋內可以包含行注釋
D、行注釋後不可再寫其他語句
12、2A【B】關於變量,敘述錯誤的是()。
A、變量不能與C++保留字相同
B、變量沒有聲明就使用,編譯時會出現警告,但程序仍可正常執行
C、變量都有自己的存儲空間
D、變量具有不同的類型
13、2A【B】下面的整型常量,錯誤的是()。
A、12345
B、0678
C、0xABC
D、-2L
14、2A【C】設有定義int x; float v;,則10+x+v值的數據類型是()。
A、int
B、double
C、float
D、不確定
15、2A【C】下面的語句錯誤的是()。
A、char i=55;
B、char c='\n';
C、char c="G";
D、char c1,c2;
16、2A【C】字面常量42、4.2、42L的數據類型分別是()。
A、long, double, int
B、long, float , int
C、 int, double, long
D、 int, float , long
17、2A【D】假設所有變量均為整型,則表達式(a=2,b=5,b++,a+b)的值為()。
A、2
B、5
C、6
D、8
18、2A【D】下面程序的輸出結果是()。
#include<iostream.h>
void main()
{
int i=7;
double d=3.4;
cout<<i/2+(int)d/2.;
}
A、5.2
B、5
C、4.7
D、4.5
19、2B【B】若相同的字符串內容在常量區僅存儲一份。則下面的語句在運行時會顯示()。
cout<<("Ok"=="Ok");
A、0
B、1
C、false
D、true
20、2B【B】下面的整型常量,錯誤的是()。
A、123456789
B、012345678
C、0x0Ac0
D、-65536
21、2B【B】字符串常量"1\n\A"在存儲時占()個字節。
A、3
B、4
C、5
D、6
22、2C【A】下面程序的輸出結果是()。
#include<stdio.h>
void main()
{
int i=50;
printf("{%4d|%-4o|%04X}",i,i,i);
}
A、{ 50|62 |0032}
B、{50|62 |0032}
C、{ 50| 62|0432}
D、{ 50| 62| 32}
23、2C【B】下面程序的輸出結果是()。
#include<stdio.h>
void main()
{
char c[]="How are you?";
printf("{%3s|%.3s|%-5.3s}",c,c,c);
}
A、{How|ou?|How }
B、{How are you?|How|How }
C、{How|How|How }
D、{How are you?|How| How}
24、2C【C】下面程序的輸出結果是()。
#include<stdio.h>
void main()
{
double d=3.1415926;
printf("{%f|%.3f|%7.3f}",d,d,d);
}
A、{3.1415926|3.142| 3.142}
B、{3.141592|.142| 3.142}
C、{3.141593|3.142| 3.142}
D、{3.14159|3.142|3.142 }
25、2C【D】下面的語句在運行時會顯示()。
int a=3,b=8;
if(a++==3&&b++==8);
cout<<a<<' '<<b;
A、3 8
B、3 9
C、4 8
D、4 9
26、3A【D】下面關於break語句的描述中,不正確的是()。
A、break可以用於循環體內
B、break語句可以在for循環語句中出現多次
C、break語句可以在switch語句中出現多次
D、break語句可用於if條件判斷語句內
27、3B【B】下面的語句在運行時會顯示()。
int a=3,b=8;
if(a++==3||b++==8);
cout<<a<<' '<<b;
A、3 8
B、4 8
C、3 9
D、4 9
28、3B【C】下面的語句在運行時會顯示()。
int a=3,b=8;
if(++a==3&&b++==8);
cout<<a<<' '<<b;
A、3 8
B、3 9
C、4 8
D、4 9
29、4A【A】有以下定義,則此數組中不正確的一個賦值結果是()。
int a[10]={1,2,3,4,5};
A、a[10]=2
B、a[0]=1;
C、a[3]=4;
D、a[7]=0;
30、4A【B】要定義數組A,使得其中每個元素的值依次為:
3、9、4、8、0、0、0
錯誤的定義語句是()。
A、int A[]={3,9,4,8,0,0,0};
B、int A[]={3,9,4,8};
C、int A[7]={3,9,4,8};
D、int A[7]={3,9,4,8,0,0,0};
31、4A【C】下面的()選項不能作為函數的返回類型。
A、void
B、int
C、new
D、long
32、4A【C】下面是一個完整的程序,其輸出值是()。
#include<string.h>
#include<iostream.h>
void main()
{
char a[]={'H','i','\0','b','o','b','y','\0'};
int i,j;
i=sizeof(a);
j=strlen(a);
cout<<i<<j;
}
A、12
B、22
C、82
D、83
33、4A【D】下面關於數組的描述錯誤的是()。
A、在C++語言中數組的名字就是指向該數組第一個元素的指針
B、長度為n的數組,下標的范圍是0至n-1
C、數組的大小必須在編譯時確定
D、數組只能通過值參數和引用參數兩種方式傳遞給函數
34、4A【D】要定義一個具有10個元素的整型數組,應使用()。
A、int a(10);
B、int a[];
C、int *a[10];
D、int a[10];
35、4B【B】要定義數組A,使得其中每個元素(共7個)的值依次為:
3、9、4、8、0、0、0
錯誤的定義語句是()。
A、int A[]={3,9,4,8,0,0,0};
B、int A[]={3,9,4,8};
C、int A[7]={3,9,4,8};
D、int A[7]={3,9,4,8,0,0,0};
36、4B【B】有下面的語句:
int a[][3]={{9},{2,3},{4,5,6},{7}};
問:a[2][1]的值是()。
A、0
B、5
C、6
D、2
37、4B【D】字符串常量"A\0BC"在存儲時占()個字節。
A、2
B、3
C、4
D、5
38、5A【A】有如下定義:
int *p=new int(10);
釋放申請的空間的語句是()。
A、delete p;
B、delete *p;
C、delete [] p;
D、delete [] *p;
39、5A【B】下面程序的輸出結果是()。
#include<string.h>
#include<iostream.h>
void main()
{
char *p="101\0";
cout<<strlen(p);
}
A、4
B、3
C、2
D、1
40、5A【B】下面程序段的執行結果為()。
char *p="Good\0 luck!";
cout<<p<<endl;
A、G
B、Good
C、Good luck!
D、顯示變量p的地址
41、5A【B】下面的語句在運行時會顯示()。
char *s="12345";
s+=3;
cout<<*s;
A、3
B、4
C、5
D、45
42、5A【B】下面的語句在運行時會顯示()。
int a[]={48,49,50};
cout<<*a<<endl;
A、0
B、48
C、48 49 50
D、顯示數組首元素的地址
43、5A【B】字符串"Good"的類型是()。
A、char
B、char *
C、char **
D、char *[5]
44、5A【C】對於基類型相同的兩個指針變量之間,不能進行的運算是()。
A、<
B、=
C、+
D、-
45、5A【C】若要使語句 p=new int [10]; 能夠正常執行,p 應定義為()。
A、int (*p)[];
B、int (*p)[10];
C、int *p;
D、int *p[12];
46、5A【C】下列表達式中,與a[k]等效的是()。
A、a+k
B、*a+k
C、*(a+k)
D、a+*k
47、5A【D】下面的語句在運行時會顯示()。
int a[]={48,49,50};
cout<<a<<endl;
A、0
B、48
C、48 49 50
D、顯示數組首元素的地址
48、5B【B】下列表達式中,與a[i][j]不等效的是()。
A、*(a[i]+j)
B、*(a+i)[j]
C、(*(a+i))[j]
D、*(*(a+i)+j)
49、5B【C】若要使語句 p=new int [10]; 能夠正常執行,p 應定義為()。
A、int (*p)[];
B、int (*p)[10];
C、int *p;
D、int *p[12];
50、5B【C】下面的語句在運行時會顯示()。
char a[20];
a="Good\0 morning!";
cout<<a<<endl;
A、Good
B、Good morning!
C、出現編譯錯誤
D、顯示數組首元素的地址
51、5B【D】下面的語句在運行時會顯示()。
int a[4]={1,2,3},*p=a+2;
cout<<*++p;
cout<< ' ' <<p-a;
A、1 0
B、2 1
C、3 2
D、0 3
52、5B【D】下面指針用法中正確的是()。
A、int *p=&i,i=100;
B、int i=100; char *p=&i;