C語言

當前位置 /首頁/計算機/C語言/列表

c語言程式設計練習題

篇一:C語言程式設計基礎單元總結與練習題及答案

c語言程式設計練習題

《C語言程式設計》單元總結與練習題

答 案

單元一 程式設計巨集觀認識

單元總結提升

本單元中,核心內容有C語言程式框架結構、程式的構成和程式開發過程。通過本單元

的學習,我們應該知道: 1.C語言程式最基本的程式框架由兩部分構成,分別是:

(1) 編譯預處理

(2) 函式組

2.C程式最大的特點就是所有的程式都是用函式來裝配的,函式是構成C語言程式的

基本單位,函式包括主函式、庫函式和自定義函式。函式的一般結構形式為:

3.識別符號是用來標識程式中的某個物件名字的字元序列。C語言把識別符號分為三類,

即關鍵字、預定義識別符號、使用者自定義識別符號。對於使用者自定義識別符號的命名C語言規

定:

(1) 所有的使用者識別符號必須先定義後使用;

(2) 使用者識別符號由字母(A~Z,a~z)、數字(0~9)、下劃線“_”組成,並且首字元不

能是 數字 ;

(3) 區分大小寫;

4)不能用關鍵字作為使用者自定義識別符號,通常不使用預定義識別符號作為使用者自定義

識別符號。

4.理論上講,程式開發過程分為四個步驟,分別為:

(1) 編輯源程式

(2) 編譯源程式,生成目標程式

(3) 連線目標程式及其相關模組,生成可執行檔案

(4) 執行可執行檔案

5.簡單描述使用VC++6.0開發應用程式的步驟:

如圖所示:

總之,通過本單元的學習,應該掌握C語言程式框架結構和程式開發過程,還要對C

語言程式設計的知識脈絡有一定的瞭解。

單元練習

一.選擇題

1.構成C語言程式的基本單位是(c )。

A.框架 B.預處理 C.函式 D.語句

2.在程式開發過程中,把文字檔案格式源程式轉化為二進位制格式的目標程式的過程稱之為( b )。

A.編輯B.編譯 C.連線 D.執行

3.關於主函式,下列說法不正確的是( c )。

A.一個完整的C語言應用程式有唯一的主函式

B.主函式的名稱只能是main

C.主函式可以被其他自定義函式呼叫

D.C語言程式的執行從主函式開始,以主函式為核心展開

4.關於識別符號,下列說法不正確的是( c )。

A.庫函式名稱為預定義識別符號,不建議用作使用者自定義識別符號

B. 關鍵字不能作為使用者自定義識別符號

C.使用者自定義識別符號中不區分大小寫字母

D.識別符號中可以出現下劃線,且可以出現在識別符號的任意位置

5.以下可用作使用者自定義識別符號的一組是( c )。

A.void、return、if

B.printf、include、fabs D.2abc、pay$、sum-10 C.Max、_abc、Main

二.填空題

1.C語言程式一般由若干個函式構成,程式中應至少包含一個_________,其名稱只能為

_________。

2.C語言程式中每條語句必須以_________結束。

3.C語言程式的註釋是以_________開頭,以________結束的.,在VC++6.0程式設計環境中,可使用_________作為註釋的起始標識,註釋對程式的執行不起任何作用。

4.最初編寫的C語言程式稱為_________,其副檔名為_________,編譯後生成的檔案為_________,其副檔名是_________,連線後生成的檔案是_________,其副檔名是_________。

5.C語言規定,識別符號只能由_________、_________和_________三種字元組成,而且,首字元只能是_________或_________。

******************************************************************************* 習題答案:

一.選擇題

1.C 2.B 3.C 4.C 5.C

二.填空題

1.主函式 main

2.分號; 3./**///

4.源程式或.c

序) 目標檔案(或目標程式) 可執行檔案(或可執行程

5.字母(A~Z,a~z)、數字(0~9)、下劃線“_” 字母或下劃線

*******************************************************************************

單元二 程式設計基礎知識

單元總結提升

本單元中,核心內容有C語言中基本的資料型別、常量和變數、運算子和表示式以及算

法的概念。通過本單元的學習,我們應該知道: 1.C語言中最基本的資料型別有:。

2.C程式中使用的常量按照表現形式可分為直接常量和符號常量。

(1)直接常量

1)整型常量,有十進位制、八進位制和十六進位制三種描述方式,其中,八進位制的前置符

號標誌為 0 ,十六進位制的前置符號標誌為 0x或0X 。

2)浮點型常量,有十進位制小數和指數兩種描述方式,指數形式的符號標誌是。

3)字元型常量,是用單撇引號括起來的單一字元,對一些特殊字元和控制字元用 的形式表示。

4)字串常量,是用雙撇引號括起來的一串字元序列。字串的結束標誌為。

(2)符號常量

符號常量是使用某個符號代表的常量,符號常量使用編譯預處理中的巨集定義命令定義。

3.C程式中使用變數,必須先,後。變數定義後,系統會根據變數的類

型分配相應的儲存空間。

4.C語言有豐富的運算子,其中算術運算子包括+、-、*、/、%,運算子中的%僅用於

整數間的運算;賦值運算子包括“=”和相應的複合賦值運算子 +=、-=、*=、/=,

賦值運算的含義是將“=”右側的表示式的計算結果賦值給“=”左側的變數,這與數學

中“=”的含義不同,需要注意。

5.由運算子和資料構成表示式,若表示式中各資料的型別不同,則存在型別自動轉換

問題,必要時也可以使用強制型別轉換。

6.對於面向過程的程式設計來說,程式

7.在C語言中,對於每一個程式設計單元可採用結構化程式設計方法,有三種基本的

篇二:C語言程式設計總結

C語言程式設計總結

一、C語言程式的基本結構

#include “stdio.h”

void main() {

定義變數; 程式實現;

輸出結果; printf }

二、變數的定義

1.整型:int a , b, s=0;(可以在定義的同時為變數進行賦值) 長整型:long 無符號整型(非負整數):unsigned 2.單精度實型:float x, y, z=1.0 ; 3.雙精度實型:double l,m; 4. 字元型:char c1=A, c2=b;

三、變數的賦值

1.直接賦值:a=10 ;//用賦值號“=”將右側的值賦給左側的變數 2.賦表示式的值:a=3+7;

3. 賦另外一個變數的值:a=s;//把s的值賦給a

變數的輸入:

輸入一個變數:scanf(“%d”, &a);

輸入多個變數:scanf(“%d%d%d”, &a, &b, &c);

int--%d float--%f char--%cdouble--%lf 字串--%s

變數的輸出:

輸出一個提示語句:printf(“xxxxxx”); 輸出一個回車:printf(“ ”);

輸出一個變數:printf(“xxx is %d”, a);

輸出多個變數:printf(“xxxx%d, xxxx%d”,a,b);

練習:

1. 輸入圓的半徑,求圓的周長。

四、常用流程控制語句

條件的形式:a大於0寫成a>0 a小於0寫成a<0

a等於0寫成a==0 (注意,用兩個=)

a大於等於0並且小於等於10寫成 a>=0 && a<=10 a小於0或者a大於10 寫成 a<0 a="">10

(一)單分支if語句(如果滿足某個條件,就做某件事情,不滿足就向下執行。) if(條件)

{執行語句; }

(二)雙分支if語句(如果滿足某個條件,就做某件事情,否則就做另外一件事情。) if(條件)

{執行語句1; } else

{執行語句2; }

(三)多分支if語句(滿足哪一個條件,就做相應的語句。) if(條件1)

{執行語句1; } else if(條件2)

{執行語句2; } else if(條件3) {執行語句3; } else if(條件4) {執行語句4; } else

{執行語句5; }

(四)if的巢狀(根據具體情況對if~else~語句進行靈活的運用)其格式如下: if(條件1)if(條件2)

{ 執行語句a; }else

{ 執行語句b; } else

if(條件3)

{ 執行語句c; } else

{ 執行語句d; }

(五) 多分支語句 switch(根據switch後的值,執行相對應的case語句,此語句瞭解即可,因為它的作用完全可以用多分支if來實現)

switch (表示式) {

case 值1:{語句1; break;}case 值2:{語句2; break;}case 值3:{語句4; break;}……

case 值n:{語句n; break;}default: {語句n+1;} }

練習:

2. 某自助餐廳規定,浪費食物在20克以下的,每克罰款2元;如浪費超過20

克,則超過的部分每克加罰1元。程式設計求罰款金額。

3. 從鍵盤輸入正方形的邊長,如果邊長大於零則求出該正方形的周長和麵積,

否則提示輸入錯誤。

4. 輸入3個數x,y,z,求其中的最小值。

5. 輸入3個數x,y,z,將其中最大值放在x中,最小值放在z中,中間值放在

y中,然後輸出x,y,z。

例如:for(i=0;i<100;i++){

if(條件)

{

……;

break; } … }

練習:

1. 程式設計求出公式s=1-1/3 + 1/5- 1/7+…1/101 的值並輸出 2. 程式設計輸出如下圖形:

* * * * * * * * * * * * * * *

3. 程式設計列印九九乘法表

4. 程式設計打印出2016年1月份的日曆

注意:1月份的總天數是31天,其中1日是星期五。 日曆如下:

一 二 三 四 五 六 日 1

4 5 6 7 8 11 12 13 14 15 18 19 20 21 22 25 26 27 28 29

2 9 16 23 30

3 10 17 24 31

void main() {

int i,n,d; //i是迴圈變數,n代表總天數,d代表星期; n=31;//n代表一個月的天數

d=5; //d代表星期,星期一為1,星期五為5,星期日為7

printf(" 一 二 三 四 五 六 日 "); //一個漢字佔兩個字元的位置for(i=1;i<d;i++) //開始日期之前用空格佔位,每個日期對應3個空格printf("");

for(i=1;i<=n;i++,d++) {

printf("%3d",i);if(d%7==0) {

printf(" ");} } }

5. 在第4題的程式上進行修改,如果輸入任意一個月的總天數及該月第一天的星期(1代表星期日,2代表星期一……以此類推),能否打印出該月日曆

6. 計算x的n次方(x為雙精度,n為非負整數) void main() {

double x,s; unsigned n,i; s=1;

printf("請輸入x和n:"); scanf("%lf%u",&x,&n); for(i=1;i<=n;i++) {

s=s*x; }

printf("jieguo is %.2lf",s); }

篇三:C語言程式設計課程設計(小結版)

《C語言程式設計》課程小結要求

一、小結內容

1.關鍵字小結: 表格形式列出所有32個關鍵字,簡要說明其作用(1面)。 auto 宣告自動變數,預設時編譯器一般預設為auto int 宣告整型變數 double 宣告雙精度變數 long 宣告長整型變數 char 宣告字元型變數 float 宣告浮點型變數 short 宣告短整型變數 signed 宣告有符號型別變數 unsigned 宣告無符號型別變數 struct 宣告結構體變數 union 宣告聯合資料型別 enum 宣告列舉型別 static 宣告靜態變數 switch 用於開關語句 case 開關語句分支

default 開關語句中的“其他”分支 break 跳出當前迴圈 register 宣告暫存器變數 const 宣告只讀變數

volatile 說明變數在程式執行中可被隱含地改變 typedef 用以給資料型別取別名(當然還有其他作用)

extern 宣告變數是在其他檔案正宣告(也可以看做是引用變數) return 子程式返回語句(可以帶引數,也可不帶引數) void 宣告函式無返回值或無引數,宣告空型別指標 continue 結束當前迴圈,開始下一輪迴圈 do 迴圈語句的迴圈體 while 迴圈語句的迴圈條件

if 條件語句

else 條件語句否定分支(與 if 連用) for 一種迴圈語句(可意會不可言傳) goto 無條件跳轉語句

sizeof 計算物件所佔記憶體空間大小

2.運算子小結:表格形式列出所有45個運算子的符號、名稱、優先順序、結合性、運算目數(1面)。

3.資料型別小結:表格形式列出11個基本型別的說明符、位元組數、範圍(1面)。

4.預處理命令小結:列出11個預處理命令,並簡要說明其作用(1面)。 #define: 定義巨集 #undef: 取消已定義的巨集 #include: 包含一個原始碼檔案 #if: 如果給定條件為真,則編譯下面程式碼 #ifdef: 如果巨集已經定義,則編譯下面程式碼 #ifndef: 如果巨集沒有定義,則編譯下面程式碼 #else:建立另一個選擇(在#if失敗的情況下)

#elif: 如果前面的#if給定條件不為真,當前條件為真,則編譯下面程式碼 #endif: 結束一個#if#else條件編譯塊

Defined: 在#if 和#elif表示式中,常常是用defined運算子來檢查是否定義了前處理器識別符號

5.標準函式小結:按標頭檔案(15個)列出每個標頭檔案中的函式(146)、巨集(86)、型別(18)、變數(1),共251個(25面),要求給出函式原型宣告、作用、成功返回和失敗返回的值。