c易错题
以下程序的輸出是()。? ? ? ? ? 3,2
struct HAR { int x,y;struct HAR *p;} h[2]; vold main() { h[0].x=1;h[0].y=2; h[1].x=3;h[1].y=4; h[0].p=&h[1];h[1].p=h; printf("%d,%d \n",(h[0].p)->x,(h[1].p)->y); }h是大小為2的結構體數組,對其兩個元素
進行賦值后得內存映像如圖1-1所示,其輸出結果應為3,2。
、
下列有關this指針使用方法的敘述正確的是()
this是指向實例化對象本身時候的一個指針,里面存儲的是對象本身的地址,通過該地址可以訪問內部的成員函數和成員變量。 為什么需要this?因為this作用域是在類的內部,自己聲明一個類的時候,還不知道實例化對象的名字,所以用this來使用對象變量的自身
虛函數可不可以重載為內聯?? ? ? ? ?不可以
虛函數不可以內聯,因為虛函數是在運行期的時候確定具體調用的函數,內聯是在編譯期的時候進行代碼展開,兩者沖突,所以沒有一起使用的做法。
C++不能重載的總共五個: (1) "."(類成員訪問運算符) (2)" .*"(類成員指針訪問運算符) (3) "::"(域運算符) (4)"siezof"(長度運算符) (5) " ?:"(條件運算符)
若有以下定義和語句:int?a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
則不能表示a數組元素的表達式是
選B
A的值為1
B越界
C和A相同
D p-a地址相減為0,訪問數組第一個元素
給定如下代碼: int x[4]={0}; int y[4]={1}; 數組x和y的值為()
如果初始化時指定的的元素個數比數組大小少,?剩下的元素都會被初始化為?0?
圖的廣度優先搜索算法需使用的輔助數據結構為()? ? ? ? ?隊列
廣度優先用隊列,深度優先用棧
廣度優先:當一個節點被加入隊列時,要標記為已遍歷,遍歷過程中,對于隊列第一個元素,遍歷其所有能夠能一步達到的節點,如果是標記未遍歷的,將其加入隊列,從第一個元素出發所有能一步直接達到的節點遍歷結束后將這個元素出列。
深度優先:當遍歷到某個節點A時,如果是標記未遍歷,將其入棧,遍歷它能夠一步直接達到的節點,如果是標記未遍歷,將其入棧且標記為已遍歷,然后對其進行類似A的操作,否則找能夠一步直接達到的節點進行類似操作。直到所有能夠一步直接達到的節點都已遍歷,將A出棧。
這里使用“能夠能一步達到的節點”而非“與其相鄰的節點”是考慮到有向圖因素。
下列關于數組與指針的區別描述正確的是?
B.sizeof(數組名)就是數組的容量
總結
- 上一篇: BugKu:cookies 欺骗
- 下一篇: C语言——vs2010的使用 || C语