嵌入式筆試刷題(第49天)
*1. 在16位系統(tǒng)中,int a[]={10,20,30}, p=&a; 執(zhí)行 p++ 后,錯誤說法是( )
? 答案:A(p向高地址移了一個字節(jié))
?? 解析:
- 在16位系統(tǒng)中,
int
占 2 字節(jié); p
是int *
,執(zhí)行p++
會讓指針向后移動 一個 int 的大?。? 字節(jié));- 正確說法是:向高地址移動了兩個字節(jié)(選項C),與
a+1
等價(選項D); - ? A 說的是“一個字節(jié)”,不正確。
2. b=p[5],結(jié)果是( )
定義:
int a[10]={1,2,3,4,5,6,7,8,9,10}, *p=&a[3], b; b = p[5];
? 答案:D(9)
?? 解析:
p = &a[3]
,即從a[3] = 4
開始;p[5] = *(p + 5) = a[3+5] = a[8] = 9
*3. char s="abcde"; s+=2; printf("%d", s); 輸出為( )
? 答案:C(字符 'c' 的地址)
?? 解析:
s += 2
,現(xiàn)在s
指向字符串"cde"
;%d
打印的是s
的地址(不是內(nèi)容);- 編譯器可能警告,輸出為地址(整數(shù)),不是字符本身;
- ? 正確理解應(yīng)是:字符 'c' 的地址
4. pthread 相關(guān)說法正確的是(多選)
? 答案:A、D
?? 解析:
- A ?
pthread_create
用于創(chuàng)建線程; - B ?
usleep(50*1000)
不保證嚴(yán)格 50ms,系統(tǒng)調(diào)度有誤差; - C ? 多線程訪問未加鎖變量會有數(shù)據(jù)競爭,但不會編譯失??;
- D ? 自旋鎖(
pthread_spi
)適合多線程保護共享變量
剩余60%內(nèi)容,訂閱專欄后可繼續(xù)查看/也可單篇購買
嵌入式筆試專欄 文章被收錄于專欄
本專欄系統(tǒng)整理了嵌入式方向筆試中常見的知識點和高頻考題,涵蓋基礎(chǔ)理論、常用算法、C語言陷阱、操作系統(tǒng)原理、驅(qū)動開發(fā)、常見外設(shè)通信協(xié)議(如 I2C/SPI/UART)、RTOS、Linux 內(nèi)核、以及實用電路知識等內(nèi)容。