基礎題
1 const
和#define
有什麼區別?
答:(1)編譯器處理方式不同
define巨集時在預處理階段展開
const 常量是編譯執行階段使用
(2)型別和安全檢查不同
define巨集沒有型別,不做任何型別檢查,僅僅是展開
const常量具有型別,在編譯階段會執行型別檢查
(3)儲存方式不同
define巨集僅僅是展開,有多少地方使用,就展開多少次,不分配記憶體
const常量會在記憶體中分配(可以在對中也可以在棧中)
(4)const可以節省空間,避免不必要的記憶體分配 2
指標和引用有什麼區別?
答:相同點:
都是位址的概念;
指標指向一塊記憶體,它的內容是所指記憶體的位址;引用是某塊記憶體的別名。
區別:1 指標是乙個實體,而引用僅是個別名;
2 指標可以為空,引用不能為空;
3 指標有const,引用沒有const;
4 引用只能在定義時被初始化一次,之後不可變,指標可變;
5 從記憶體分配上看:程式為指標變數分配記憶體區域,而引用不需要分配記憶體區域。 3
在c++
程式中呼叫被
c編譯器編譯後的函式,為什麼要加
extern「c」
宣告?
答:因為c語言 或 c++語言的編譯規則不一樣,所以要告訴系統哪些函式時 c 方式 編譯,哪些函式需要用c++方式編譯,
如果不加exctern 「c」 系統會提示找不到此函式。 4
求sizeof。
struct
short a1;
short a2;
}a;struct
long b1;
short b2;
}b;char data[100];
int test[100];
char* pstr="abcdefghij";
char* str="a\n";
coutcoutcoutcoutcoutcout5 internet
上的通訊協議有哪些,此協議分幾層?
答:internet 通訊協議有:
tcp/ip協議:使計算機記性無障礙的通訊,讓其有相通的語言,即統一的通訊協議。
tcp協議:在傳送與接收計算機系統之間維持連線,同時還要提供無差錯的通訊服務,將傳送的資料報文還原並組裝起來,自動根據計算機系統間的距離遠近修改通訊確認的超時值。
ip協議:控制網路上的資料傳輸。
internet網路通訊的工作分為7層,由低到高分別是:
物理層(physical layer),
資料鏈路層(data link layer)
,網路層(network layer),
傳輸層(transport layer),
會話層(session layer),
表示層(presen tation layer),
程式設計題
1 編寫程式輸入實現
123->321。
答: #include
using namespacestd;
int main()
int n;
cout<<」please input a number」>n;
do cout<} while (n/=10);
return 0; 2
乙個字串右移
n,改變字串的輸出。
例如:字串
」abcdefghi」
右移n=2
後,輸出
」hiabcdefg」. 答:
#include
#include
using namespacestd;
void reser(char*q,char* p)
while(q*q ^= *p;
*p ^= *q;
*q ^= *p;
q++;
p--;
voidloopmove(char* str,int steps)
char *q = str;
int n=strlen(str);
char *p = str+n-1-steps;
reser(q,p);//先翻轉前一段
q = p+1;
p = str+n-1;
reser(q,p);//翻轉後一段
q = str;
reser(q,p);//翻轉整個字串
//coutchar str[100];
cout<<"please input string andnumber:";
cin>>str;
int steps = 0;
cout<<"please inputsteps:";
cin>>steps;
loopmove(str,steps);
cout<<"after move steps stringis:"將乙個intdata[10]=
通過氣泡排序後得到公升序,再用
vector
刪除為偶數的元素。 答:
#include
#include
#include
#include
using namespacestd;
voidbuble_sort(int data,size_t size)
int i,j;
for(i=0;iint order=1;
for(j=0;jif(data[j]>data[j+1])
swap(data[j],data[j+1]);
order=0;
int main()
int data[10]=;
size_t size=10;
buble_sort(data,size);
for(int i=0;icoutvectorin_vec;
for(int j=0;jin_vec.push_back(data[j]);
vector::iterator it;
for(it=in_vec.begin();it!=in_vec.end();it++)
if(*it%2!=0)
break;
else if(*it%2==0)
in_vec.erase(it);
cout<<*itreturn 0;
綜合題
有a,b,c,d 4
個球,分別出現的概率是
10%,
20%,
30%,
40%,要求編寫
rundemo
,每呼叫一次函式
rundemo
,就按上面的概率出現球。 答:
#include
#include
#include
using namespacestd;
string rundemo()
stringstr[4]=;
int i=rand()%10;
switch(i)
case 0:
return str[0];
break;
case 1:case 2:
return str[1];
break;
case 3:case 4:case 5:
return str[2];
break;
case 6:case 7:case 8:case 9:
return str[3];
break;
int main()
srand(time(0));
for(int i=0;i<10;i++)
coutreturn 0;
this指向問題 筆試趣題
var legth 10 function fn var obj obj.method fn,1 上星期去武大參加的校招,公司是樂其,這裡就不說筆試題的難易 yilianmengabc 了,當時上面這道題做的時候沒啥感覺,後來是樂其也去了閨蜜她們學校,也給他們這套題,然後給我看這道題,於是才發現當時...
vivo攜手京東 迪信通開啟2018趣炫泡泡跑
2018年9月16日,2018 vivo 趣炫泡泡跑在xabnleash北京朝陽公園活力開啟,vivoxabnleash幻彩光感新品x23驚豔亮相,在繽紛秋日為都市人帶來了一段 發現更多美 的新奇體驗。這場vivo攜手戰略合作夥伴京東手機 迪信通攜手打造的時尚運程式設計客棧動風潮,即將席捲全國五大城...
筆試 c 筆試題
1 在派生類中通過 base 呼叫基類成員 解析 2 方法重寫使用關鍵字 override 解析 使用virtual和override關鍵字實現方法重寫 3 關於抽象類下面說法錯誤的是 選一項 a 抽象類可以包含非抽象方法 b 含有抽象方法的類一定是抽象類 c 抽象類不能被例項化 d 抽象類可以是密...