C语言程序设计做题笔记之C语言基础知识(下)
C 語言是一種功能強大、簡潔的計算機語言,通過它可以編寫程序,指揮計算機完成指定的任務。我們可以利用C語言創建程序(即一組指令),并讓計算機依指令行 事。并且C是相當靈活的,用于執行計算機程序能完成的幾乎所以的任務,包括會計應用程序、字處理程序、游戲、操作系統等。它不僅是更高級語言(如C++) 的基礎,目前還以Objective C的形式開發手機應用程序。目前,C語言最新版本由ISO/IEC 9899:2011?文檔定義。 ? ? ? ? ? 數據結構+算法=程序
-
1.1 C程序和程序設計 ??
?? (1)以下敘述中錯誤的是:
???????? A) C程序經過編譯、連接步驟之后才能形成一個正真可以執行的二進制機器指令文件
???????? B) 用C語言編寫的程序稱為源程序,它以ASCII代碼形式存放在一個文本文件中
???????? C) C語言中的每條可執行語句和非執行語句最終都將被轉換成二進制的機器指令
???????? D) C語言源程序經編譯后生成后綴為.obj的目標程序
?????? 分析: C????在C語言中非執行語句(如:宏定義在預編譯之后替換到代碼中,該命令本身也就不存在了)。
???????????????????? a. 源程序文件的后綴為 .c ? ?? b.源程序經過C編譯生成后綴為 .obj的二進制文件(目標文件)? c.把目標文件與C語言各種庫函數連接起來生成后綴 .exe的可執文件
?
?? (2)以下敘述中錯誤的是:
??????? A)?結構化程序由順序、分支、循環三種基本結構組成
??????? B) C語言是一種結構化程序設計語言
??????? C)?使用三種基本結構構成的程序只能解決簡單問題
??????? D)?結構化程序設計提倡模塊化的設計方法
???????? 分析:? C???由3種基本結構組成的算法可以解決任何復雜的問題
??? ? ? ? ? ? ? ? ? (......后面還有好多題目,就不一一寫了)
?
?做題筆記知識歸納:
????? (1)算法:是指為解決某個特定問題而采取的確定且有限的步驟,在C語言中一個算法是用函數來實現的,即一個C語言程序可以實現多種算法。
?
????? (2)算法具有5個特征:? 1.有窮性??? 2.確定性??? 3.可行性???? 4.有零個或多個輸入?? 5.一個或多個輸出
?
????? (3)算法的描述有: 1.流程圖??? 2.盒圖(如N-S圖)? 3.偽代碼?? 4.?文字描述?? 5.程序代碼描述
?
????? (4)計算機不能直接處理C語言程序只能處理二進制代碼。
?
?? ?? (5)每一個C語言文件或函數都可以單獨編譯,但只有main函數的才可以執行。
-
1.2 程序的構成、main函數和其他函數 ?
? (1)以下敘述中錯誤的是:
???????? A) C程序在運行過程中所有計算都以二進制方式進行
?
???????? B)?所有C程序都需要編譯鏈接無誤后才能進行運行
?
???????? C) C程序在運行過程中所有計算機都以十進制方式運行
?
???????? D) C程序中字符變量存放的是字符的ASCII值
?
? ? ? ?? 分析: C???? 計算機程序都是編譯為二進制的代碼,計算機才會執行。
?
?? (2)以下敘述中正確的是:
??????? A)?在C程序中main函數的位置是固定的
?
??????? B) C程序中所有函數之間都可以互相調用
?
??????? C)?每個C程序文件中必須要有一個mian函數
?
??????? D)?在C程序的函數中不能定義另一個函數
?
??????? 分析:D ??? 主函數可以調用程序中的其他函數,而其他函數不可以調用main函數。
?????????????????????? C語言規定,不能在函數的內部定義函數。
????????????? (......后面還有好多題目,就不一一寫了)
??????
????? 做題筆記知識歸納:
?
????? (1)關鍵字 sizeof用于測試不同類型變量所占的內存空間,返回所占的字節數。? sizeof(是測試內存的運算符)
?
?
????? (2)在C語言中規定,允許函數的嵌套調用,即遞歸調用。
?
?
????? (3)在C語言中,不能存在過程的概念。
?
?
????? (4)在C語言中,函數允許單獨編譯,可以為單獨文件形式存在。
?
?
???? (5)用函數作為?程序模塊以實現C程序的模塊化,程序有多個?函數構成,每個?函數可以實現一個具體的功能,實現程序的模塊化設計,故C語言用函數實現軟件的模塊化。
?
?
???? (6)調用函數的位置和調用沒有直接關系
?
-
1.3 ?程序的注釋、書寫格式及C語言風格
?
?
? ? ?(1)以下四個程序中,完全正確的是:
???????? A)???????????? #include <stdio.h>
????????????????????????? main();
???????????????????????? {? /*/ Programming
??????????????????????????? /*/ printf("Programming!\n");}
????????
????????? B)?????????? ? #include <stdio.h>
????????????????????????? main()
???????????????????????? {? /* Programming */
??????????????????????????? printf("Programming!\n");}
?
???????? C)??????????? ? #include <stdio.h>
????????????????????????? main();
???????????????????????? {? /*/* Programming */*/
??????????????????????????? printf("Programming!\n");}
?
???????? D)???????????? ? #include <stdio.h>
????????????????????????? main();
???????????????????????? {? /* Programming */
??????????????????????????? printf("Programming!\n");}
?
? ? ? ?? 分析: B ???? main()后面不用跟分號(;),規定在注釋之間不可以在嵌套 "/*"和"*/"。
?
?? (2)以下敘述中正確的是:
??????? A) C程序書寫格式嚴格,要求一行內只能寫一個語句
?
??????? B)?簡單C語句必須以分號結束
?
??????? C) C語言程序中的注釋必須與語句寫在同一行
?
??????? D) C程序中的注釋只能出現在程序的開始位置和語句的后面
?
??????? 分析:B ???? C語言書寫格式自由,一行內可寫多條語句,一條語句也可以寫在同行上,可以寫一行或多行。
???????????????????????每條語句和數據定義的最后必須有一個分號。
?????????????????????? C語言編寫程序有很多的可移植性,可以放在多個程序文件中。
????????????? (......后面還有好多題目,就不一一寫了)
??????
????? 做題筆記知識歸納:
?
????? (1)程序可以包含一種或者幾種結構,不是必須包含三種結構,并且這三種基本結構能解決復雜的問題也能解決小規模的問題。
?
?
????? (2)goto語句的使用會使程序容易發生錯誤不易讀。
?
?
????? (3)在數值常量中不允許夾帶空格。
?
?
????? (4) C語句后面要加分號(;),不加分號不能看成C語句。
?
-
1.4??標識符、常量和變量
? (1)以下選項中不合法的標識符是:
???????? A) FOR
?
???????? B) &a
?
???????? C) print
?
???????? D) _00
?
? ? ? ?? 分析: B ?????標識符要滿足字符為 a~z?以及 A~Z、數字字符 0~9和下劃線,其中數字不能開頭,不能是關鍵字。?大小寫是兩種不同的字符。
?
?? (2)以下選項中,能用作數據常量的是:
??????? A) 115L
?
??????? B) 0018
?
??????? C) 1.5e1.5
?
??????? D) o115
?
??????? 分析:A ????數據常量可有:?? 1.10進制??? 2.8進制數(數字0~7) ?? 3.16進制?? 4.指數法(指數部分須為整型)
????????????????????
????????????? (......后面還有好多題目,就不一一寫了)
??????
????? 做題筆記知識歸納:
?
????? (1)變量是指在程序運行過程中,其值能被改變的量。
?
?
????? (2)在C語言中,沒有定義邏輯類型,0代表假,非零代表真。
?
?
????? (3) 符號常量:在C語言中,用一個符號名來表示一個常量,稱為符號常量。一般在程序中利用宏定義來定義符號變量。
?
?
????? (4)標識符就是C語言中的變量名、函數名、數組名、文件名、類型名等。
?
?
-
1.5和1.6?? 整型數據和實型常量、變量
???(1)以下選項中,合法的一組C語言數值常量是:
???????? A)? 12.0Xa23 4.5e0
?
???????? B)? 028 .5e-3 -0xf
?
???????? C) .177 4e1.5 0abc
?
???????? D) 0x8A 10,000 3.e5
?
? ? ? ?? 分析: A ????浮點數據的指數形式表示常量中,C語言規定字母 e或E之前必須要有數字,且 e或E之后的指數必須為整數。
?
?? (2)以下選項中合法的實型常量是:
??????? A)? .914
?
??????? B)? 3.13e-2.1
?
??????? C) 0
?
??????? D) 2.0*10
?
??????? 分 析:A ????實型常量又稱實數或浮點數。??在C語言中可以用小數形式或指數形式兩種形式表示一個實型常量。? 1.小數形式:由數字和小數點組成的一種實數表示形式。例如 0.345、.123、0.0等是合法的實數。這種形式必須要有小數 點。????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? 2.指數形式:在C語言中,用“e”或“E”后跟一個整數來表示以10為底的冪函數,注意C語言規定字母 e或E之前必須要有數字,且 e或E之后的指數必須為整數。
????????????? (......后面還有好多題目,就不一一寫了)
??????
????? 做題筆記知識歸納:
?
????? (1)變量可以定義在程序中任何地方,屬于不同的變量。
?
?
-
1.7?字符型常量及字符變量
(1)以下定義語句中正確的是:
???????? A) char A=65+1,b='b';
?
???????? B) int a=b=0;
?
???????? C) float a=1,*b=&a,*c=&b;
?
???????? D) double a=0.0; b=1.1;
?
? ? ? ?? 分析: A ????對變量聲明類型且賦值的情況是不允許出現的,必須單獨定義且賦值。? C語言允許在一個類型說明后說明多個相同類型的變量,各變量之間要用逗號(,)隔開,而不是用分號(;)隔開。
??????????????????????在計算機存儲字符是姜字符相應的ASCII碼以其對應的二進制進行存放。
?
?? (2)以下選項中非法的C語言字符常量是:
??????? A) '9'
?
??????? B) '\09'
?
??????? C) '\x09'
?
??????? D) '\x9d'
?
??????? 分 析:B ????一個字符常量代表ASCII字符集中的一個字符,在程序中用單引號把一個字符括起來,也可以為轉義字符,轉義字符又稱反斜線字符,這些字符常量總 是以一個反斜線開頭后跟一個特定字符,用來代表某一個特定的ASCII字符,這些字符常量也必須括在一對單引號內,其中反斜線后的八進制數可以不用0開 頭,但是不能出現8和9字符出現。反斜線后的16進制只可由小寫字母x開頭。
????????????? (......后面還有好多題目,就不一一寫了)
??????
????? 做題筆記知識歸納:
?
????? (1)每一個字符變量被分配一個字符的內容空間,只能存放一個字符。
?
?
????? (2)'\ddd'? 3位八進制代表一個ASCII字符?也可以 '\xhh'2位16進制代表一個ASCII字符。
?先休息會,待會在寫下篇試題題筆記..........
轉載于:https://www.cnblogs.com/stephenhuashao/p/4598063.html
總結
以上是生活随笔為你收集整理的C语言程序设计做题笔记之C语言基础知识(下)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java 第27章 JDBC
- 下一篇: ABAP程序相互调用--SUBMIT