實驗課程名:高階語言程式設計(c)
專業班級: 11級生物工程學號: 201140850119 姓名: 胡忠
實驗時間: 2012.09.16 實驗地點: k4-207 指導教師: 吳建設
一、實驗目的
1. 了解c語言表示邏輯量的方法。
2. 學會正確使用邏輯運算子和邏輯表示式
3. 熟練掌握if 語句和 switch語句。
4. 結合程式掌握一些簡單的演算法。
5. 學習除錯程式。
二、實驗內容和步驟
1. 若輸入10,20,30則程式的執行結果是 20,30,10 請填充程式。
# include 「
void main( )
執行結果:
2.源程式中包含有一些錯誤,除錯下列程式,使之具有如下功能:輸入a、b、c三個整數,求最小值。
# include 「
void main( )
再次執行程式,輸入為「2,1,3」,程式輸出卻是「min=2」。用單步執行的方法,馬上發現變數a、b、c的值是不對的,原因是程式要求輸入資料的分隔符是空格(還允許使用回車或鍵)。改正輸入資料的分隔方式後,程式沒有輸出,還是用單步執行的方法,監視程式的執行過程,發現程式中條件設計有誤,經過改正的程式如下:
# include 「
void main()
上述程式是按在三個數中僅有乙個最小值時才稱其為最小值進行設計的。另外,注意程式的書寫格式,一定要採用縮排格式,即不同層次(分支)的語句左起的空格不同,這樣可以有效地提高程式的可讀性。
執行結果:
3.參考上一題,編寫乙個c程式,求a、b、c、d四個數中的最大者。
程式設計點撥:
①多定義乙個變數,並一開始令變數max=a;
②if(max程式如下:
#include <>
void main()
執行結果:
4.輸入4個整數,要求按由小到大順序輸出。得到正確結果後,修改程式使之按由大到小順序輸出。
相關知識:①輸入函式scanf()的使用;②簡單的排序演算法;③通過中間變數t交換a和b值的方法:t=a; a=b; b=t;。
程式如下:
#include <>
void main()
if(a>c)
if(a>d)
if(b>c)
if(b>d)
if(c>d)
printf("%d,%d,%d,%d",a,b,c,d);
printf("\n19胡忠實驗二第四題\n");
}執行結果:
5.根據以下函式關係,對輸入的每個x值,計算出相應的y值。
#include <>
#include <>
void main()
相關知識點:if語句的巢狀;數學函式的呼叫方式。
執行結果:
6.模仿第5題,寫程式實現以下函式:
用scanf函式輸入x的值,求y值。執行程式,輸入x的值(分別為x<1、1≤x<10、x≥10三種情況),檢查輸出的y值是否正確。
相關知識:①用if的巢狀實現分段函式;②比較運算子的正確使用;③算術運算子*的正確使用。
程式如下:
#include <>
#include <>
void main()
執行結果:
7.閱讀分析以下程式的功能。
#include <>
void main( )
相關知識:①用switch語句實現選單的方法;②數制轉換的方法。
執行如下:
#include <>
void main( )
{ int choice;
int value;
printf("convert:\n顯示選單 */
printf(" 1:decimal to hexadecimal\n ");
printf(" 2:hexadecimal to decimal\n ");
printf(" 3:decimal to octal\n ");
printf(" 4:octal to decimal\n");
printf("enter your choice: ");
scanf("%d",&choice);
switch (choice)
case 1選中1時處理 */
實驗二選擇結構程式設計
一 實驗目的 1 熟悉vc6.0程式設計環境。2 進一步熟悉用vc6.0除錯c語言源程式的過程。3 熟練使用關係表示式和邏輯表示式作為if語句的條件判斷。4 熟練掌握if語句和switch語句的使用方法。二 實驗內容 1 給乙個不多於5位的正整數,要求 求出它是幾位數 分別列印出每一位數字 按逆序列...
實驗八迴圈結構程式設計 二
1 熟練掌握迴圈程式設計,包括巢狀迴圈。2 熟練掌握使用break continue語句在迴圈程式設計中的實現。3 繼續掌握vc 的程式除錯方法。8 1除錯示例,輸入正整數的個數n,再輸入n個正整數,判斷它們是否為素數。素數就是只能被1和自身整除的正整數,1不是素數,2是素數。源程式 有錯誤的程式 ...
上機實驗六迴圈結構程式設計二
for i 2 i sqrt n i if n i 0 break if i sqrt n return 1 n是素數,返回1 else return 0 若為假,n不是素數返回0 編譯 連線並執行該程式,結果顯示 問題1 輸出的第一行是否有5個式子?原因是什麼?只有3個,因為k是偶數,且取值從6開...