本次得分為:14.00/14.00, 本次測試的提交時間為:2020-03-08, 如果你認為本次測試成績不理想,你可以選擇再做一次。
下面程序片段哪個沒錯?
-
A.
int n = 4;
int & r = n * 5;
-
B.
int n = 6;
const int & r = n;
r = 7;
-
C.
int n = 8;
const int & r1 = n;
int & r2 = r1;
-
D.
int n = 8;
int & r1 = n;
const int r2 = r1;
下面程序片段輸出結果是什么?
int a = 1,b = 2;
int & r = a;
r = b;
r = 7;
cout << a << endl;
-
A.
1
-
B.
2
-
C.
7
-
D.
8
下面說法哪種是對的?
-
A.
常引用所引用的變量,其值不能被修改
-
B.
不能通過常量指針,去修改其指向的變量
-
C.
常量指針一旦指向某個變量,就不能再指向其他變量
-
D.
1+1 = 3
表達式 “new int”的返回值類型是:
-
A.
int
-
B.
int *
-
C.
int &
-
D.
void
下面小段程序,哪個是正確的:
-
A.
char * p = new char[10];
p[0] = 'K';
delete [] p;
-
B.
int *p = new int[25];
p[10] = 100;
delete p
-
C.
char * p = new int;
p = 'a';
delete p;
-
D.
int * p = new char[20];
下面說法正確的是:
-
A.
多個重載函數的參數個數必須不同。
-
B.
兩個函數,參數表相同,返回值類型不同,它們是重載關系。
-
C.
調用一個第二個和第三個參數都有有缺省值的函數時,可以不寫第二個實參而寫第三個實參。
-
D.
使用內聯函數的目的是提高程序的運行速度。
-
填空(2分)簡單的swap 通過碼是 ( 請參考公告中的“關於編程作業的說明”完成編程作業(請注意,編程題都要求提交通過碼,在openjudge上提交了程序並且通過以后,就可以下載到通過碼。)
總時間限制: 1000ms 內存限制: 65536kB
描述 :填空,使得程序 輸出結果是:5,3
12345678910111213141516171819202122232425#include <iostream>usingnamespacestd;classA{public:intx;intgetX() {returnx; }};voidswap(// 在此處補充你的代碼){inttmp = a.x;a.x = b.x;b.x = tmp;}intmain(){A a,b;a.x = 3;b.x = 5;swap(a,b);cout << a.getX() <<","<< b.getX();return0;}輸入無 輸出5,3
答案:
8 填空(2分) 難一點的swap填空,使得程序輸出結果是:5,3
1234567891011121314151617181920#include <iostream>usingnamespacestd;voidswap(// 在此處補充你的代碼){int* tmp = a;a = b;b = tmp;}intmain(){inta = 3,b = 5;int* pa = & a;int* pb = & b;swap(pa,pb);cout << *pa <<","<< * pb;return0;}答案:
9 填空(2分) 好怪異的返回值填空,使得程序輸出指定結果1234567891011121314#include <iostream>usingnamespacestd;// 在此處補充你的代碼getElement(int* a,inti){returna[i];}intmain(){inta[] = {1,2,3};getElement(a,1) = 10;cout << a[1] ;return0;}輸入 無 輸出 10
答案:
10 填空(2分) 神秘的數組初始化12345678910111213141516#include <iostream>usingnamespacestd;intmain(){int* a[] = {// 在此處補充你的代碼};*a[2] = 123;a[3][5] = 456;if(! a[0] ) {cout << * a[2] <<","<< a[3][5];}return0;}輸入 無 輸出 123,456
答案:
