c++
關於運算順序的csdn上有,常考的有/ %等 上地址算法
https://blog.csdn.net/qq_28518147/article/details/101079884數組
float是C語言提供的合法數據類型關鍵字。 常量不能再等號左面 逗號表達式只看最後一項函數
在C語言中,要求參加運算的數必須 是 整數的運算符是%spa
逗號表達式,從左到右計算,最右邊的表達式的值做爲整個括號表達式的值.net
c語言的基本控制結構:順序結構、選擇(判斷)結構、循環結構指針
#o是以八進制來輸出blog
#x是以十六進制進行輸出排序
一個實型變量的值確定是精確的 錯誤的× 由於 指針只是指向一塊地址。是當引用指針指向的變量時,因爲出現類型轉換,會出現精度損失。遞歸
Int main()
{ int y= 456 ;
printf( 「 y=%7o \n 」 ,y); // 710(前面有4個空格)
printf( 「 * y=% -7o* \n 」 ,y); //-通俗一點就是從左往右排,而後就是710 *(空格依舊是4個)
printf( 「 * y=% 07o* \n 」 ,y); //這個的意思是空位用0來表示,因此會有0000710*
}
A ascii 65
a ascii 97
在定義二維數組時可省略行數,可是列數必須指出
在C語言中,字符串以'\0'做爲結束符,所以數組x的長度爲7+1=8,而數組y的長度等於7。
‘\0’在c語言中是終止的符號,出現這個,後面的別看了(只是說在下面的這種例子。。)
例子:
數組的長度是固定的,而其中元素的數據類型必須相同
選C aa是數組名的同時也是這個數組首元素的首地址,也就是aa=&aa[0] 找aa[1]的地址就是首地址偏移一個整形位,因此A D 對 B就是對元素aa[1]取地址 因此ABD對 C中&小於後置++的優先級因此&aa[0]++等價於 &(aa[0]++)因此先對aa[0]中的元素值加1後,在對aa[0]取址,結果仍是aa[0]的地址 故C錯
本題考覈的知識點是函數gets()的應用。函數gets()的調用形式爲gets(str_adr);str_adr是存放字符串的起始地址。能夠是字符數組名、字符指針或字符數組元素的地址。gets函數用來從終端鍵盤讀入字符串(包括空格符),直到讀入一個換行符爲止。換行符讀入後,不做爲字符串的內容。本題中定義一個長度爲10的字符數組和一個指針變量b,而且經過賦值讓它指向數組a。選項A)、選項B)、選:C)和選項D)中只有選項B)中gets函數的參數a[0]不能表示數組a的首地址,故選項B)不正確。因此,4個選項中選項B)符合題意。
[命題目的] 考查continue和break語句的使用。 [解題要點] continue是結束本次循環,直接進入到下次循環中,break用於循環語句中的做用是直接跳出本層循環,能從多層循環中退出的語句除了goto語句, exit,return等語句也能直接跳出多層循環。 [考點連接] continue和break語句在while語句中的做用。
在 if 語句中又包含一個或多個 if 語句稱爲嵌套if語句
關於從從後向前排序
for(i=0;i<n/3;i++)
{
s=a[i];
a[i]=a[n-1-k];
a[n-1-k]=s;
}
關於從小到大排序
for{j=0;j<n-1;j++}
{ if(a[i]>a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
}
標識符由字母(A-Z,a-z)、數字(0-9)、下劃線「_」組成,而且首字符不能是數字,但能夠是字母或者下劃線。
C語言中,int型數據在內存中的存儲形式是 補碼
在C語言中,字符型數據在內存中以 ASCII碼形式存在
"\'abc\376"
第1個\告訴其後的\有效,第3個\告訴其後的'有效,後面abc都有效,這總共是5個字符;第4個\後跟 着一個3位數字,就被解釋成了以8進製表示的ASCII碼,8進制376是16進制0xFE,它是個小黑方 塊,因此共有6個有效字符。而C/C++在字符串的最後要自動放一個結束符'\0',所以最後須要7個字 節來存放這個字符串。
宏替換時先求出實參表達式的值,而後代入形參運算求值。 (× )
用%s 格式符輸出字符串時,輸出字符不包括結束符 ’\0’。 (√)
c 語言中函數定義不容許嵌套,但調用可嵌套。 (√)
函數能夠調用本身。 (√ )
在一個源程序中, main 函數的位置必須在最開始。 (× )
全部變量在聲明時都必須給定一個類型。 (√ )
一個C程序由若干個源程序文件組成,而一個這樣的文件能夠有若干個函數和預處理命令以及全局變量聲明部分組成
C 源程序的基本單位是 函數 。
運行 C 程序的步驟是:編輯源程序 →編譯,獲得 目標 程序→鏈接,得 到 可執行 程序→運行,獲得結果。
算法的肯定性是指:算法中的每個步驟都應當是肯定的
已知梯形的上底爲 a,下底爲 b,高爲 h,用 C 語言寫的正確的面積公式 是B 1.0/2(a+b)h
putchar函數能夠向終端輸出一個 字符或字符型變量值
、一個 C 語言程序是由.函數組成
在宏定義 #define PI 3.14159中,用宏名 PI 代替一個 字符串
C 語言程序從 main() 函數開始執行,因此這個函數要寫在 程序文件的任何位置
構成數組的全部元素的數據類型必須是相同的
用指針法引用數組元素容許數組元素的下標越界
定義數組時的長度能夠是整型常量表達式
fun(float x) {float y; y=3*x-4; return y; }
關於這個函數,返回值爲int
答案是int,這是由於函數fun(float x)的類型沒有明確申明。而C語言規定,缺省類型說明的函數, 其默認類型爲int。
C語言是一門高級語言
C 語言源程序文件通過編譯後,生成目標文件的後綴是 obj
算法的特色:有窮性,肯定性,有零個或多個輸入,有一個或多個輸出,有效性
轉義字符的理解
「"對於這類字符的開始,首先要肯定這是幾進制,而後轉化成10進制,對照ascii碼便可
算法有:天然語言,流程圖,僞代碼
%u是十進制
字符串 "china" 在內存中佔據的存儲空間是 5 個字節。這個是錯誤答案,是6個字節,由於有\0結束的字符的存在(注意,只要是語句字串,這樣的"",都會有以\0存在的結束標誌,它也佔一個字符。(再次拓展,字符"\0"是字符串的結束標記,其 ASCII 碼值爲 0。)
還有存在這樣的也須要注意
char a[]="abcd";char b[]={'a','b','c','d'}; 則 a 和 b 兩數組長度不相同。a的字節是5,b的字節是4.。上面已經說了,至於b,由於是單個字符組成的數組,沒有終止的\0來做爲結束的標誌
C語言源程序文件通過編譯後,生成目標文件的後綴是 .obj
C語言程序從 main()函數開始執行,因此這個函數要寫在程序文件的任何位置(只要能夠被調用就好了,寫哪裏都行,c語言的規則是當聲明函說是爲了調用函數知道在哪,而後去執行。)
構成數組的全部元素的數據類型必須是相同的
用指針法引用數組元素容許數組元素的下標越界
定義數組時的長度能夠是整型常量表達式
補充:上面說的是字節,也就是sizeof函數,而strlen是用來計算字符串內容長度。sizeof也是儲存長度,也是用sizeof, char a[]={"wocao"} sizeof(a)的返回值爲6 ,而strlen(a) 的返回值則爲5,爲何是6?由於後面有一個\0來做爲終止,和上面說過的同樣爲何是5?由於只計算當前的內容長度,一般在寫程序時比較經常使用,例如數組。。。
關於第四章,最後一節
在C語言程序中,函數的定義不能嵌套,函數的調用能夠嵌套
C程序是函數的集合,包括標準庫函數和用戶自定義函數
在C語言程序中,被調用的函數必須在main函數中定義 這句話是錯誤的 由於調用的函數在調用以前必須進行聲明,由於全部程序執行是從main()開始的,因此建議聲明在main()以前,而不是在main()中聲明。
一個完整的c源程序是由一個且僅由一個主函數和零個以上的非主函數構成
在一個C程序中,main函數能夠在任何地方出現
實參能夠是常量、變量、表達式、函數等。 錯誤 形參只能是變量,在被定義的函數中,必須指定形參的類型。
函數未被調用時,系統將不爲形參分配內存單元
實參與形參的個數應相等,且實參與形參的類型必須對應一致
當形參是變量時,實參能夠是常量、變量或表達式
函數調用時,當實參和形參都是基礎類型變量時,他們之間數據傳遞的過程是實參將其值傳遞給形參,調用結束時形參並不將其值回傳給實參。
函數的形參和實參分別佔用不一樣的存儲單元
實參與其對應的形參佔用相同的存儲空間,是佔用不一樣的儲存空間。
C語言中函數返回值的類型是由定義函數時所指定的函數類型決定
C語言規定,程序中各函數之間 既容許直接遞歸調用也容許間接遞歸調用 函數調用時,只要符合函數的使用,程序中的各個函數間既能夠直接調用其餘函數,也能夠遞歸調用其自身。
C語言中,凡未指定存儲類別的局部變量的隱含存儲類別是 auto
在一個C源程序文件中,要定義一個只容許本源文件中全部函數使用的全局變量,則該變量須要使用的存儲類別是 static
ps:本人是小白一名,若有寫的不對,請你們指導。