程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> C++程序員面試常遇的12個題

C++程序員面試常遇的12個題

編輯:C++入門知識

一、x&y 按位與運算
如x=3 y=3
則:x=y=0011
結果還是:3
x|y 按位或運算,相同為0,不同為1

二、
int Vac=3;
int main(){
int Vac=10;
::Vac ;
count<<::Vac;
count<<Vac;
return 0;
}
結果:4,10

三、
int i=3,j=4;
i?i : j;
結果:4 4

五、
int i=1,j=2;
int k=i j;
結果:k=3;

六、
x=x 1;
讀兩次x的地址,編譯器不認為左右的x地址相同
x =1;
x的地址制度一次
x ;
效率由低到高排列

七、
#define product(x) (x*x)
int main(){
int i=3,j,k;
j=product(i );
//i=5
k=product( i);
return 0;}
結果;j=9;k=49;

八、
int a=5,b=3;
!a&&b ;
結果:a=5 b=3 因為當&&前面的運算為flase時候,不計算後面的,直接false

九、
char foo(void)
{
unsigned int a=6;
int b=-20;
char c;
(a b>6)?c=1:c=0;
return c;
}
結果:c=1;
無符號和有符號的相加,有符號的會自動轉化為無符號類型,即b會轉化成一個很大的整數,所以肯定大於6;

十、
#define SQR(x) (x*x)
main(){
int a,b=3;
a=SQR(b 2);
}
結果:a=11;
應為傳過去的是b 2
而實際執行的是b 2*b 2;
而不是(b 2)*(b 2)

如果SQR(x) ((x)*(x)) 則結果就是25了。

十一、
預處理,一年中有多少秒,應為牽扯的會溢出,所以數據類型要注意
#define SECONDS_PRE_YEAR(60*60*24*365)UL

十二、
宏定義:MIN
#define MIN(A,B) ((A)<=(B)?(A):(B))注意括號的使用。

資料未整理完整,以上供參考

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved