1、對「聚合」關係的描述,哪一項是正確的(a)
a . 是一種特殊的關係,體現整體和部分的關係
b . 反映物件之間的靜態聯絡
c . 表示乙個物件需要其他物件為其提供服務
d . 通常被稱為「isa」關係
2、有以下函式:
int fun(char* a, char* b)
return (*a-*b);
}
其功能是:返回a,b所指字串的大小
即從頭開始比較兩個字串,當發現有不相同的字元時,返回兩字元的ascii碼的差值,若兩字元完全相同,由返加0。
3、下面描述正確的是:
a、#define sum(x,y) (x*y) 則sum(1+2,3) = 9
b、sizeof(frame) == 5
struct frame;
c、兩個相同型別的指標,在一定條件下可以進行減運算
d、*p的值是2468
int *p = null;
*p = 1234*2;
分析:
a: #define 只是替換,所以結果是1+2*3 = 7
b:sizeof(frame) == 6,位元組對齊問題,32位機器下,byte是1位元組,word是2位元組,所以1+1(填充位元組)+2+1+1 = 6
c:正確
d:*p = null,開始指向的是null,沒有指向記憶體位址,不可以賦值
4、假定a是乙個陣列名,則下面的哪一種表示有錯誤
a *(a+1)
b *a
c *++a
d a[i]
解析:a是乙個陣列,則a代表這個陣列的首位址
*a是第1個元素,b正確
*(a+1)是第2個元素,a正確
a為乙個陣列名,不能進行++a操作,c錯誤
5、有如下巨集定義,則offsetof(s,next) = ? 答案是12
#define offsetof(type,member) ((size_t) &((type*)0)->member)
typedef struct s
; struct s* next;
}s;
6、**執行完畢i
的值是多少:6
int i = 0;
char *s = "hello";
while(s[i++]);
int a[4] = ; int *p = a;
(1)a++
(2)p+1
(3)a+1
(4)++p
因為運算子++會改變自身的值,而陣列名是乙個不可以更改的指標常量
不允許++a或者a++操作
筆試題目總結1
今天是我的第一篇部落格,有點小激動,以前羨慕大神和大牛級人物,現在我也要堅定信念朝這個行業努力啦 最近有學校的雙選會,參加了乙個公司的筆試,筆試題目很基礎,但是我還有一些做錯了,慚愧 1 考了字串和字元陣列的區別,題目大概如下 char pstr hello cout 在vc 6.0下執行結果如圖1...
部分面試題總結1
一 執行緒池的底層怎麼實現的?實現類為reentrantlock類,有幾個重要的方法 lock 加鎖,如果已經被獲取則等待 trylock 嘗試獲取鎖,獲取則返回true,否則false trylock long time,keepalivetime unit 在規定時間內獲取鎖 unlock 解鎖...
HBase面試題總結1
hbase的特點是什麼?1 hbase是乙個分布式的基於列式儲存的資料庫,基於hadoop的hdfs儲存,zookeeper管理。2 hbase適合儲存半結構化和非結構化資料,對於結構化資料字段不夠確定或者雜亂無章很難按乙個概念去抽取資料 3 hbase為空的紀錄不會被儲存 4 基於的表包含rowk...