国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品
電子工程網(wǎng)
標(biāo)題:
C語(yǔ)言中的細(xì)節(jié)
[打印本頁(yè)]
作者:
菲利盟電子
時(shí)間:
2017-3-29 15:59
標(biāo)題:
C語(yǔ)言中的細(xì)節(jié)
640.webp.jpg
1.1 “零值”比較
1. 寫出float x 與“零值”比較的if語(yǔ)句。
首先要知道float是有精度的,不能直接與0相比較或者兩數(shù)相減與0相比較。float能保留幾位小數(shù)?答案是6位。既然如此,那么就應(yīng)該這么寫:
if((x > 0.000001) && (x < -0.000001)) 。
1.2 宏定義
1. 定義一個(gè)宏,返回X、Y中的較大值。
這個(gè)題目其實(shí)很簡(jiǎn)單,但是在很多筆試中都會(huì)拿出來(lái)考試,并且出錯(cuò)率很高,原因只有一個(gè),忽略細(xì)節(jié)(優(yōu)先級(jí)的問(wèn)題,實(shí)在搞不明白就加括號(hào)吧,你好理解,別人一看也懂)。終究還是細(xì)節(jié)決定成敗。
#define MAX( (X) , (Y) ) ((X) >= (Y) ? (X) : (Y))
2. 宏定義兩個(gè)數(shù)相加
請(qǐng)問(wèn)如程序清單5. 1輸出什么?
程序清單5. 1 宏定義兩數(shù)相加
#define DOUBLE(x) x+x
int main(int argc, char* argv[])
{
int iNumber = 0 ;
printf("%d\n" , 10*DOUBLE(10));
return 0;
}
其實(shí)這個(gè)程序非常簡(jiǎn)單,學(xué)習(xí)C語(yǔ)言一周就應(yīng)該理解是什么意思,但是一般會(huì)出錯(cuò)的的地方都在細(xì)節(jié)。其實(shí)這個(gè)程序輸出是110。
可能有人會(huì)問(wèn),不是10先DOUBLE嘛,然后乘以10,不是200嘛。是啊,想法是好的,我想這個(gè)程序的“原意”也應(yīng)該是這樣,但是就是由于優(yōu)先級(jí)的問(wèn)題,打破了我們的愿望。如果要得到200,那么就應(yīng)該是這樣宏定義:#define DOUBLE(x) ((x)+(x))。我想,無(wú)論我加多少層括號(hào)都不算違法吧。
1.3 遞歸運(yùn)算
1. 如程序清單5. 2所示,輸出什么?
程序清單5. 2 遞歸運(yùn)算
#include
int func(int a)
{
if (a==0)
{
return a;
}
printf("%d\n",func(a++/2));
return a;
}
int main(int argc, char *argv[])
{
printf("%d",func(7));
return 0;
}
答案:0,2,4,8
這里把7送進(jìn)去,那么func(a++/2),先執(zhí)行7/2=3,然后a++ = 8,此時(shí)返回3;接著把3送進(jìn)去,func(a++/2),先執(zhí)行3/2=1,然后a++ = 4,此時(shí)返回1;接著把1送進(jìn)去,func(a++/2),先執(zhí)行1/2=0,然后a++ = 2,此時(shí)返回0;接著把0送進(jìn)去,此時(shí)直接返回0,遞歸結(jié)束。
遞歸最容易忽略的細(xì)節(jié)是,由于遞歸次數(shù)過(guò)多,容易導(dǎo)致堆棧溢出。
1.4 讓人忽略的貪心法
1. 如程序清單5. 3所示,程序輸出什么?
程序清單5. 3 貪心法
int k = 8 ;
int i = 10 ;
int j = 10 ;
k *= i+++j ;
printf("%d \n" , k) ;
貪心法,就是一次性能盡可能多得吃運(yùn)算符,那么這里k *= i+++j ,加上括號(hào)之后就是這樣:k = k * ((i++) + j) ;這樣的話就很簡(jiǎn)單可以得出答案為:160。
1.5 性能優(yōu)化
1. 對(duì)如程序清單5. 4所示進(jìn)行性能優(yōu)化,使得效率提高。
程序清單5. 4 性能優(yōu)化
int iValue1;
int iValue2;
iValue1 = 1234/16;
iValue2 = 1234%32;
對(duì)于嵌入式進(jìn)行除法是很消耗效率的,能使用移位完成最好使用移位完成。
iValue1 = 1234 >> 4;
iValue2 = 1234 – ((1234 >> 5) << 5);
1234 / 16 = 77; 1234 % 32 = 18。而十進(jìn)制:1234轉(zhuǎn)化成二進(jìn)制:0100 1101 0010。1234 >> 4 = 0000 0100 1101,轉(zhuǎn)化為十進(jìn)制即為:77;1234 >> 5 = 0000 0010 0110,((1234 >> 5) << 5)即為0100 1100 0000,轉(zhuǎn)化為十進(jìn)制即為:1120,1234 – 1216 = 18。
轉(zhuǎn)自網(wǎng)絡(luò)
深圳市菲利盟電子技術(shù)有限公司
640.webp.jpg
(15.39 KB)
下載附件
2017-3-29 15:59 上傳
歡迎光臨 電子工程網(wǎng) (http://m.qingdxww.cn/)
Powered by Discuz! X3.4
主站蜘蛛池模板:
在线精品播放
|
首尔站在线观看免费韩剧
|
黄色a一级片
|
99爱免费视频
|
精品久久久久久久九九九精品
|
不卡视频免费在线观看
|
99re只有精品
|
欧美成人免费全网站大片
|
欧美成人久久久免费播放
|
h黄视频在线观看
|
国产亚洲精品一品区99热
|
国产精品亚洲欧美一级久久精品
|
久草视频播放
|
亚洲日韩aⅴ在线视频
|
国产精品久久久久久吹潮
|
美女如厕视频
|
最近中文字幕2018动漫
|
深夜福利国产精品亚洲尤物
|
午夜啪啪福利视频
|
久久国产免费
|
欧美亚洲尤物久久精品
|
日本免费不卡视频一区二区三区
|
久久国产精品一区
|
毛片在线播
|
四虎影院免费看
|
亚洲成年
|
亚洲手机在线
|
欧美亚洲 尤物久久 综合精品
|
日本三级一区二区三区
|
超级乱淫视频播放日韩
|
野花日本mv视频
|
日韩视频亚洲
|
www.狠狠色
|
青青草针对华人
|
伊人欧美
|
欧美日韩一
|
国产美女69视频免费观看
|
韩日毛片
|
久久99精品亚洲热综合
|
国产九色在线
|
麻豆精品一区
|