- 相關(guān)推薦
c語(yǔ)言面試題及答案(2)
11. 指向常量的指針和常指針的區(qū)別
答案:指向常量的指針?biāo)赶虻膬?nèi)容不能被修改但能夠指向其它的量,而常指針是指向的內(nèi)容可以被修改但指針不能再指向其它地方。
12. if (a=b)
printf(“a==b”)
else
printf(“a!=b”);
輸出結(jié)果為:
A.a==b B.a!=b C.不一定 D.不能運(yùn)行
答案:不一定,這要根據(jù)b的內(nèi)容來(lái)決定。通常再編程時(shí)不要使用此類(lèi)的賦值語(yǔ)句。
13.在內(nèi)聯(lián)函數(shù)中使用static變量,比如
inline test()
{ static couter = 0;
counter++;
}
會(huì)有什么問(wèn)題?
答案:會(huì)造成多次定義該變量,因此再內(nèi)聯(lián)函數(shù)中禁止定義靜態(tài)變量
14. F是一個(gè)結(jié)構(gòu)類(lèi)型,有如下定義:
F f1,f2;
問(wèn):f1=f2;語(yǔ)句是否成立?
答案:該語(yǔ)句成立,不過(guò)有的編譯器不支持。實(shí)際上編譯器也是用內(nèi)存拷貝函數(shù)來(lái)實(shí)現(xiàn)的。
15.全局變量、局部變量、模塊變量在內(nèi)存空間中如何存放?(數(shù)據(jù)區(qū)or?臻g?)
答案:全局變量在全局空間分配,局部變量在?臻g分配,模塊變量在全局空間分配。
16.struct A{
......
......
union {
int x;
.....
};
}
struct A a;
問(wèn):a.x這樣的表示法是否成立?
答案:成立
如果結(jié)構(gòu)定義改為如下定義
.struct A{
......
int x;
union {
int x;
.....
};
}
那a.x表示法是否成立?
答案:不成立,編譯時(shí)會(huì)報(bào)x變量重定義
17. #define REDEF(name,arg1,arg...) \
_##name (arg1,##arg)
問(wèn):以下兩個(gè)語(yǔ)句宏展開(kāi)的結(jié)果
REDEF(test_fn1,int a,int b);
REDEF(test_fn2,int a);
答案:
_test_fn1(int a ,int b)
_test_fn2(int a);
注意:在VC中不支持,gcc才支持該參數(shù)宏函數(shù)。
18. fnxxxx_max(char str[])
{
putchar str[0];
str++; //(1)
printf(“%s”,str);
}
main()
{
char str[20]={“ABCDEFG”};
fnxxxx_max(str);
str++; //(2)
printf(“%s”,str);
}
問(wèn):語(yǔ)句(1)和語(yǔ)句(2)是否成立?
答案:語(yǔ)句(1)成立,語(yǔ)句(2)不成立
19.#define SRR 0x001;
#define SRT 0x002;
#define SRI 0x0900;
EVENT = SRR|SRT|SRI
問(wèn):上面的語(yǔ)句有什么問(wèn)題?EVENT的值會(huì)是多少?
答案:宏展開(kāi)后變?yōu)椋?/p>
EVENT = 0x001; 0x002;0x0900;
因此EVENT的值為0x001,所以在編程時(shí)一定要小心,一定不要在常量宏定義的后面加上分號(hào)。
http://m.dameics.com/【c語(yǔ)言面試題及答案(2)】相關(guān)文章:
計(jì)算機(jī)二級(jí)C語(yǔ)言考試選擇題(帶答案)(2)06-10
java面試題及答案10-03
計(jì)算機(jī)二級(jí)c語(yǔ)言考試習(xí)題及答案07-03
職稱(chēng)英語(yǔ)衛(wèi)生類(lèi)C級(jí)真題及答案(word版)(2)06-10
c語(yǔ)言實(shí)習(xí)總結(jié)06-30
c語(yǔ)言讀書(shū)筆記09-28
2005年職稱(chēng)英語(yǔ)考試衛(wèi)生類(lèi)(C級(jí))試題及答案(2)09-01
2006年職稱(chēng)英語(yǔ)考試衛(wèi)生類(lèi)(C級(jí))試題及答案(2)07-24