C 語言重點知識 面試必備2

[size=medium][color=red]1、unsigned int 類型的數據與int類型的數據運算後自動轉化爲unsigned int 類型。[/color]
比如說-20和6運算後就會變成一個很大的數;

下面解釋一個判斷語句:
(a+b>6)?{
c=1

}:(c=0);
具體的意思就是如果a+b>6則c+1,否則C=0;
// %f.2:表示的意思是小數點後保留幾位;

[color=red][color=orange]2、隱式類型轉換:[/color][/color]
在混合類型的算式表達式中,最寬的數據類型肩負起了目標轉換類型的責任,
這被稱爲算術轉換。(Arithmetic Conversion)
int ab = 4;
double ab = 4.111;
此時ab=4.0;

表達式不同類型間的賦值】
在這時候目標轉換類型是被賦值的對象,

用一個表達式傳遞給一個函數,表達式類型和形參類型不同: 此時的目標值是形參的值;
function momo(double) momo(2) 結果值是double type;

函數返回值和i形參不同type
double difference(int );
目標類型爲函數返回值類型;

[color=red]3、 i?i[/color]
itn i = 3,j = 4;
i?i++;++j;
printf("%d %d\n",i,j); the answer is 4,4;
等價於:(

if(i=true){
i++
}else{
++j;
}




[color=red]4、很糾結的式子,:i++j;[/color]
mean is :first:i++;
next: +j;


[color=red]5、最扯淡的分析,[/color]
x = x+1; x+=1;x++ 這三個式子哪個效率最高:
從她得執行過程分析:
第一個:先讀取右X地址
X+1;
讀取做X的地址;
將右值傳給左邊的X;
第二個:讀取右X的地址;
x+1
得到值傳給X(X地址早已經讀出);
第三個:效率最高
讀取有X的地址;
X自增1.

[color=red]6、編程規範方面:[/color]
‘A’==a比a=='A'合適: because 常量是不能被賦值的少寫一個‘=’時能檢查出錯誤

[color=red]7、a、b交換:(神奇的算最大值的方法)[/color]
擴展:abs( int x )是求整數的絕對值的 ,
fabs( double x )是精確到雙精度浮點型的求絕對值的
簡單的說就是保留的精度位數更高
求兩個數中最大的那個:
int max = ((a+b)+abs(a-b))/2(so牛逼);

int c = a-b;
char *strs[2] = {"a大","b大"};
c = unsigned(c)>>(sizeof(int)*8-1) ;
c=a-b,假如a<b的話,c爲負數,轉換爲無符號數的話,最高位將是1
第二句c=unsigned(c)>>(sizeof(int)*8-1);就是求c的最高位,
之後只要判斷是否爲1就可以知道a和b哪個大了

----0、真正的交換來啦:
不用中間變量交換:a、b;
a^b 表示 a 和b 進行 異或運算

a=a^b;
b=a^b;
a=a^b;

[color=red]8、c、c++的區別;[/color]

(1)、c++支持函數的重載,c不支持,c++中的 void foo(int x,int y).
被C編譯後就成了 void _foo();
(2)、頭文件中的ifndef、define、endif是防止頭文件被重複引用的!!
(3)、<filename.h>是在標準庫路徑開始搜索的
"filename.h"是從用戶的工作路徑開始搜索的!!
[color=red]
9、如何判斷一段程序是C還是C++;[/color]
1、C是void main()而標準C++是int main() ;
2、文件就不同
c++有輸入輸出流文件即#include<iostream>
c用的是scanf 和printf
而c++用的是cout 和cin
3、c++有類的定義,c是沒有的
4、C++在編譯時定義了_cplusplus,C編譯時定義了_STDC.

[color=red]10、主函數想不到的地方,[/color]
在main函數退出執行之後,可以使用atexit()函數註冊一個函數,
注意需要<stdlib.h>文件;[/size]

:evil: [flash=200,200]http://player.youku.com/player.php/sid/XNDY3MzcwOTI=/v.swf[/flash]
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章