C語言上機實驗題型詳解

2022-02-26 22:07:55 字數 2900 閱讀 1887

【例1】程式設計實現在螢幕上顯示如下三行文字

hello, world !

wolcome to the c language world!

everyone has been waiting for.

程式如下:

main()

理解c語言的格式,printf是個函式用來輸出資料,要輸出的資料放在雙引號內。

【例2】表中輸出結果中的符號□代表乙個空格,其中k為int型,值為1234;f為float型,值為123.456。

4. main()

5. 把第8行替換成下表的輸出語句,執行程式驗證計算機輸出的結果與下表的結果是否一致。

實驗二 c語言的基礎知識

【目的與要求】

1.掌握c語言資料型別,熟悉如何定義乙個整型、字元型、實型變數,以及對它們賦值的方法,了解以上型別資料輸出時所用的格式轉換符。

2.學會使用c的有關算術運算子,以及包含這些運算子的表示式,特別是自加(++)和自減(--)運算子的使用。

【上機內容】

【例1】輸入並執行下程式,寫出執行結果。

第1 行 mian()

第2 行

在此基礎上

1)第5行和第6行之間加一條printf語句,並執行之。

printf(「%d,%d」, c1, c2 );

2)在原程式的基礎上將第3行改為:

int c1, c2;

再使之執行。

在以上兩個小題中,說明了字元型資料在特定情況下可作為整型資料處理,整型資料有時也

可以作為字元型資料處理

3)在原程式的基礎上將第4行改為:

c1=300; c2=400;

執行的結果是不是不是300 和400?因為「%c」只輸出1個位元組(即8個二進位制位)的內容,300

和400存在記憶體中時都需要2個位元組來存放;所以在輸出時只輸出低8位的二進位制,轉換為十進位制就

不是300和400。

4)在原程式的基礎上將第4行改為:c1=a; c2=b;

再使之執行,(你會發現程式有錯誤,a,b都沒有加單引號,就應該是變數,而不是字元常量)

【例2】輸入計算機執行,將得到的結果與你分析得到的結果比較對照。

main()

在該程式中,主要考查對轉義字元的掌握情況**義字元字元在教材第二頁),要理解」\t」是橫向跳8列、「\b」是向左刪除一列

如果是這樣的「\t\b」,」\b」將刪除由「\t」產生的8列。

『\101』屬於』\ddd』這類轉義字元,』\101』中的101是乙個8進製整數,轉換為十進位制是65對應字元』a』。

【例3】分析下程式,寫出執行結果,再輸入計算機執行,將得到的結果與你分析得到的結果比較對照。

第1 行 main()

第2 行

分別作以下改動之後,先分析再執行:

1)將第5行改為:

m=i++; n= ++ j;

2)程式改為:

main()

解析:重點理解「++ --」後置時程式是怎麼來執行的。「++ --」後置時先用變數的值(先把變數的值輸出)再使變數的值加一或減一。

3)在2)的基礎上,將printf語句改為:

printf(「%d,%d」, ++ i, -- j );

解析:「++ --」前置時先使變數的值加一或減一再用變數的值(自加或自減後再輸出變數的值)

4)在2)的基礎上再將printf語句改為:

printf(「%d,%d,%d,%d」,i,j,++i,++j);

解析:執行的結果和你分析的是不是不一樣?因為它是從右邊計算過來的。

【例4】、執行下面的程式

第1 行 #include<>

第2 行 main()

第3 行

上面的程式是不是有錯?不能執行。把第5行改為:z=x+(int)a%3*(int)(x+y)%2/4;再除錯一下看能不能執行?

解析:取餘運算子」%」要求左右兩側的數都必須為整數或為整型變數,如果不是整型值必須用「強制型別轉換」轉換為

整型值。

【例5】.先自己分析,再上機執行,看得到的結果是否一致

第1 行 #include<>

第2 行 main()

第3 行

解析:理解復合賦值運算子的計算方法,a+=a的演算法是:a=a+a,a*=2+3的演算法是:a=a*(2+3),a/=a+a的演算法是:

a=a/(a+a) ,第13、15行的計算是從右到左來計算的(參看培訓教材第二章)。

實驗三簡單的c程式設計

【目的與要求】

1.理解c語言程式的順序結構

2.掌握常用的c語言語句,熟練應用賦值、輸入、輸出語句。

【上機內容】

【例1】 上機執行下面的程式。(你能否正確的輸入a,n的值?)

第1 行 #include<>

第2 行 main()

第3 行

解析:正確的輸入形式:a=7,n=90《回車》,因為格式符「%d」前面有」a=」和「,n=」。

1>把第6行改為scanf("%d,%d",&a,&n);你能否正確的輸入a,n的值?

2>把第6行改為scanf("%d%d",&a,&n);你能否正確的輸入a,n的值?

解析:「%d%d」它們之間沒有任何分隔符,在輸入資料時資料之間預設用(空格、回車、tab鍵)

3>把第6行改為scanf("%d,n=%d",&a,&n);你能否正確的輸入a,n的值?

【例2】 上機執行下面的程式。(你能否正確的輸入a,c的值?)

第1 行 #include<>

第2 行 main()

第3 行 {

第4 行 int a;

第5 行 char c;

第6 行 printf("請輸入1個整數和乙個字元\n");

第7 行 scanf("%d%c",&a,&c);

第8 行 printf("\n你輸入的兩個數是:a=%d,c=%c",a,c);

C語言上機實驗心得

在科技高度發展的今天,計算機在人們之中的作用越來越突出。而c語言作為一種計算機的語言,學習它將有助於我們更好的了解計算機,與計算機進行交流,因此,我們一定要學好c語言,這對我們以後的發展是十分重要的。說到這,上機實驗當然就是乙個必不可少的環節了,c語言靈活 簡潔的特點,只有通過程式設計實踐才能真正了...

C語言上機實驗報告

昆明理工大學資訊工程與自動化學院學生實驗報告 2010 2011學年第1學期 課程名稱 結構化程式設計方法與c語言開課實驗室 計算中心310 2010年10 月 14 日 一 上機內容和目的 內容 用c語言進行簡單的程式設計 寫乙個程式,判斷某一年是否是閏年。include int main els...

C語言陣列上機實驗報告

c語言程式設計實驗報告 1 實驗目的 1.熟練掌握一維陣列,二維陣列的定義,初始化和輸入輸出方法 2.熟練掌握字元陣列和字串函式的使用 3.掌握和陣列有關的常用演算法 如查詢排序等 2 實驗內容 4 程式設計實現 折半查詢 的過程。折半查詢的處理過程 在乙個資料已排好序的陣列中,首先比較要查詢的值與...