未完(wan)待(dai)續請看某企業的嵌入式面試(shi)題(二)
時間(jian):2015-09-21 來源(yuan):未(wei)知
18、下面的函數(shu)有(you)什(shen)么問題:
int square(volatile int *ptr){
return *ptr * *ptr;
}
19、中(zhong)斷(duan)(duan)是嵌(qian)入式系統中(zhong)重(zhong)要的(de)組成部分,這(zhe)導致(zhi)了許多編譯開發商提供(gong)一(yi)種擴展:讓(rang)標準C支持中(zhong)斷(duan)(duan),產生了一(yi)個(ge)新的(de)關鍵(jian)字(zi)__interrupt。下面的(de)代(dai)碼(ma)就使用了__interrupt關鍵(jian)字(zi)去定義了一(yi)個(ge)中(zhong)斷(duan)(duan)服(fu)務子程(cheng)序(ISR),請評(ping)論以下這(zhe)段代(dai)碼(ma)。
__interrupt double compute_area(double radius)
{
double area = PI * radius *radius;
printf("nArea = %f", area);
return area;
}
20、請問下面程序有什么錯誤?
int a[60][250][1000],i,j,k;
for(k=0;k <=1000;k++)
for(j=0;j <250;j++)
for(i=0;i <60;i++)
a[i][j][k]=0;
21、設有以下說(shuo)明和定義:
typedef union {
long i;
int k[5];
char c;
} DATA;
struct data {
int cat;
DATA cow;
double dog;
} too;
DATA max;
則語句(ju) printf("%d",sizeof(struct data)+sizeof(max)); 的執行結果是(shi):________
22、下面(mian)的一段(duan)C 程(cheng)序中,循(xun)環體語(yu)句執行_________次退出循(xun)環。
int i = 100;
int sum;
do {
sum+=i;
}while(i--);
23、冒泡排序算法的時(shi)間復雜(za)度是(shi)_________。
24、嵌(qian)入式系(xi)統經常具有要(yao)(yao)求程序員(yuan)去訪問(wen)某特定的(de)內存(cun)位置的(de)特點(dian)。在某工程中,要(yao)(yao)求設(she)置一(yi)絕對地(di)址為0x67a9的(de)整型變量(liang)的(de)值為0xaa66。編譯(yi)器是(shi)一(yi)個純粹的(de)ANSI編譯(yi)器。寫代碼(ma)去完成這一(yi)任務。(5分(fen))
25、寫一個(ge)高性能的函數把一個(ge)int乘(cheng)以9。
26、請用C語言寫出能(neng)將一個字符串(chuan)逆(ni)序函數。
27、請(qing)編(bian)寫一個C 函數,該函數在(zai)給定的內存(cun)區域搜索給定的字(zi)符,并返回該字(zi)符所在(zai)位置(zhi)索引值。

