c语言怎么编辑错题本,嵌入式错题本
做嵌入式題時候的錯題本:
1.在c語言中,一個函數不寫返回值類型,默認的返回類型是int
2.在C語言中的sizeof既是運算符也是關鍵字(strlen是函數,順便復習一下他兩個的區別:https://blog.csdn.net/ice_masters/article/details/104928460中第一題)
3.
void main (void) {
char a[] = “SF-TECH” ;
a++;
printf (“%s”, a);
}程序的輸出是:都不是!a不是指針變量,不能自增
void main (void) {
printf(“%d”,’B’ < ‘A’ );
}程序輸出false,ASCII表中A65.B66
5.C語言的發明者Dennis Ritchie和Ken Thompson,貼一個鏈接故事:C語言的起源
6.
C庫中處理變長參數的頭文件是stdarg.h,這個知識點不清楚,我們繼續查一下資料:百科中關于stdarg.h的知識
7.char是有符號還是無符號類型?答案是取決于具體實現
8.在ARM調用標準(ATPC)中,函數的參數是怎么傳遞?答案是: 這個也給鏈接ARM系統中函數調用過程中的參數傳遞
9.在ARM cortex M系列中, 哪些寄存器是分組寄存器:通用寄存器(R0~R15)可分成不分組寄存器R0~R7、分組寄存器R8~R14和程序計數器R15 三類寄存器介紹
10.支持時間片輪轉調度的實時操作系統中,下面哪些情況會發生任務切換:進程使用互斥鎖,互斥鎖不可用時;進程主動休眠;進程被撤銷;進程當前時間片使用完
11.C庫函數中malloc依賴下面哪個系統調用增長堆空間:sbrk
open:打開和創建文件;
ioctl:設備輸入輸出操作的系統調用;
sbrk:實現虛擬內存到內存的映射;
write:將數據寫入一個打開的文件。
12.浮點數算術標準是以下哪一個:IEEE二進制浮點數算術標準(IEEE 754)
13.inux進程中,應用的運行起始地址是一樣的,是如何做到的:使用虛擬內存轉換
14.Linux程序運行后,文件句柄0,1,2分別是標準輸入,標準輸出,標準錯誤
15.可使用下列哪個工具將.o文件打包成庫文件:ar(Linux ar命令用于建立或修改備存文件,或是從備存文件中抽取文件。ar可讓您集合許多文件,成為單一的備存文件。在備存文件中,所有成員文件皆保有原來的屬性與權限。)
16.32位平臺上struct { unsigned char a; int b; short c } s;請問s的起始地址下面說法正確的是哪一個:四字節對齊字節對齊
17.2位平臺上struct { unsigned char a; int b; short c } s,請問s的長度是多少:12.參考上面的字節對齊的相關知識
18.有個函數位于0x20000000處,輸入參數為int類型,輸出為void類型,調用該函數代碼正確的是:
來個鏈接:指定某個函數或變量存放的地址
插播一個內存回顧
bss段: bss段(bss segment)通常是指用來存放程序中未初始化的全局變量的一塊內存區域。 bss是英文Block Started by Symbol的簡稱。 bss段屬于靜態內存分配。 data段: 數據段(data segment)通常是指用來存放程序中已初始化的全局變量的一塊內存區域。 數據段屬于靜態內存分配。 text段: 代碼段(code segment/text segment)通常是指用來存放程序執行代碼的一塊內存區域。 這部分區域的大小在程序運行前就已經確定,并且內存區域通常屬于只讀(某些架構也允許代碼段為可寫,即允許修改程序)。 在代碼段中,也有可能包含一些只讀的常數變量,例如字符串常量等。 堆(heap): 堆是用于存放進程運行中被動態分配的內存段,它的大小并不固定,可動態擴張或縮減。 當進程調用malloc等函數分配內存時,新分配的內存就被動態添加到堆上(堆被擴張); 當利用free等函數釋放內存時,被釋放的內存從堆中被剔除(堆被縮減)。 棧(stack): 棧又稱堆棧,是用戶存放程序臨時創建的局部變量, 也就是說我們函數括弧“{}”中定義的變量(但不包括static聲明的變量,static意味著在數據段中存放變量)。 除此以外,在函數被調用時,其參數也會被壓入發起調用的進程棧中,并且待到調用結束后,函數的返回值也會被存放回棧中。 由于棧的先進先出(FIFO)特點,所以棧特別方便用來保存/恢復調用現場。 從這個意義上講,我們可以把堆棧看成一個寄存、交換臨時數據的內存區。
19.
float的指數取值范圍是-127,+128
float的取值范圍是-3.4E+38,3.4E+38
float的指數位有8位
float的尾數位有23位
其他的明天再寫
20.在看一個教學視頻是看到一個知識點記錄一下:
int *a[5]={1,2,3,4,5};
a[3]==*(3+a);
//那么在編譯器中同樣可以
3[a]==*(3+a);
今天又看看到一個:
struct Student
{
int sid;
char name[100];
}
int main()
{
struct Student st;
struct Student *pst;
pst=&st;
pst->sid=10;//在使用->中,pst->sid就等于(*pst).sid
}
總結
以上是生活随笔為你收集整理的c语言怎么编辑错题本,嵌入式错题本的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言编程输出所有水仙花数,c语言中,如
- 下一篇: 重庆主城哪里可以买到哪里可以买到厨房操作