




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、1. 目的與要求(1) 能正確使用關系和邏輯運算構造各種條件;(2) 能正確選擇if和switch語句進行程序設計;(3) 能夠使用流程圖和N-S圖進行算法描述。2. 上機練習【練習2-1】若有C源程序2-1.c,其內容如下:#include <stdio.h>void main(void)int a=3,b=4,i,j,k;i=(-a=b+)?-a:+b;j=a+;k=b+a+;printf("ni=%d,j=%d,k=%d,a=%d,b=%d",i,j,k,a,b);先分析程序運行的結果,然后上機編輯和運行程序,并將運行的結果與分析的結果進行比較,若分析有誤
2、,試找出原因。i=6,j=2,k=9,a=4,b=7【練習2-2】若有C源程序2-2.c,其內容如下:#include <stdio.h>void main(void)int a=3,b=4,c=5,x,y;x=!a+b<c&&(b!=c);y=c/b+(float)a/b&&(float)(a/c);printf("nx=%d,y=%d",x,y);x=a|b-;y=a-3&&c-;printf("n%d,%d,%d,%d,%d",a,b,c,x,y);先分析程序運行的結果,然后上機編輯
3、和運行程序,并將運行的結果與分析的結果進行比較,若分析有誤,試找出原因。x=1,y=13,4,5,1,0【練習2-3】若有C源程序2-3.c,功能是輸入x的值,計算并輸出y1和y2的值。y1=,y2=當x<0y1=0,y2=0當x=0y1=2x,y2=3x當x>0程序內容如下:#include <stdio.h>void main(void)float x,y1,y2;printf("Please enter x:");scanf("%f",&x);if(x<0)y1=2/x;y2=3/x;else if(x=0)y
4、1=y2=0;elsey1=2*x;y2=3*x;printf("nx=%.2f,y1=.2f,y2=.2fn",x,y1,y2);(1)上機編輯和運行程序,驗證程序是否正確,若不正確,請找出錯誤的原因,修改后重新運行,直到實現(xiàn)既定的功能。#include <stdio.h>void main(void)float x,y1,y2;printf("Please enter x:");scanf("%f",&x);if(x<0)y1=5/x;y2=8/x;else if(x=0)y1=y2=0;elsey1=2
5、*x;y2=3*x;printf("nx=%.2f,y1=%.2f,y2=%.2fn",x,y1,y2);If語句的嵌套(2)使用ifelse-if語句重寫上面的程序,并調試運行。#include <stdio.h>void main(void)float x,y1,y2;printf("Please enter x:");scanf("%f",&x);if(x<0)y1=5/x;y2=8/x;else if(x=0)y1=y2=0;elsey1=2*x;y2=3*x;printf("nx=%.2f
6、,y1=%.2f,y2=%.2fn",x,y1,y2);【練習2-4】若有C源程序2-4.c,其內容如下:#include <stdio.h>void main(void)int a,b,c,d,x;a=1,b=3,c=5,d=4;if(a<b)if(c<d) x=100;elseif(a<c)if(b<d) x=200;else x=500;else x=600;else x=700;printf("x=%dn",x);(1) 上面代碼的書寫格式非常糟糕,先分析該程序的執(zhí)行結果,然后上機編輯、調試和運行程序,認真體會良好的代碼
7、書寫格式對讀程序的重要性。 x=200規(guī)范的程序書寫格式:#include <stdio.h>void main(void)int a,b,c,d,x;a=1,b=3,c=5,d=4;if(a<b)if(c<d) x=100;elseif(a<c)if(b<d) x=200; else x=500;else x=600;else x=700;printf("x=%dn",x);(2) 根據(jù)程序代碼,分別畫出其流程圖和N-S圖?!揪毩?-5】若有C源程序2-5.c,其內容如下:#include <stdio.h>void mai
8、n(void)int a,b,x,y;a=b=y=0,x=1;switch(x)case 1:switch(y)case 0:a+;break;case 1:b+;break;case 2:a+;b+;break;case 3:a+;b+;break;default:a+;b+;printf("a=%d,b=%dn",a,b);(1) 先分析程序運行的結果,然后上機編輯和運行程序,并將運行的結果與分析的結果進行比較,若分析有誤,試找出原因。a=2,b=1(2)若把第18行和第21行的break語句去掉,程序執(zhí)行的結果是否會變化?這說明了什么?a=4,b=3 (3)若把第5行
9、中x=1改為x=4,程序執(zhí)行的結果是什么?若再把第22,23行一起移到第8行,執(zhí)行的結果有什么變化?a=1,b=1a=3,b=23. 上機編程【編程 2-1】在練習1-7中所給出的程序沒有考慮輸入三條邊后是否能夠構成三角形的處理。請重新設計算法對以上問題進行處理,即輸入三角邊后先判斷是否構成三角形,若構成三角形則求出面積輸出,否則輸出構不成三角形的信息。請畫出流程圖或N-S圖,并編寫程序上機調試運行。#include <stdlib.h>#include <stdio.h>#include <math.h>void main(void)int a,b,c;f
10、loat s,area;printf("Please enter three sides a,b and c:");scanf("%d%d%d",&a,&b,&c);if(a+b>c&&abs(a-b)<c)s=1.0/2*(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c);printf("Three sides:a=%d,b=%d,c=%dn",a,b,c);printf("Area=%.1fn",area);elseprintf(&qu
11、ot;Three sides:a=%d,b=%d,c=%dn",a,b,c);printf("這三條邊不能組成三角形!n");【編程 2-2】若實現(xiàn)從鍵盤上輸入一個字符,判斷并輸出該字符是以下哪一種的提示信息:字母;數(shù)字;空格;其他字符。如輸入1,則顯示的信息是:輸入的是數(shù)字字符1。請使用ifelse-if語句編程。#include <stdio.h>#include <math.h>void main(void)char c;printf("請輸入一個字符:");c=getchar();if(c>='A&
12、#39;&&c<='Z'|c>='a'&&c<='z')printf("輸入的是字母字符%cn",c);else if(c>='0'&&c<='9')printf("輸入的是數(shù)字字符%cn",c);else if(c='40')printf("輸入的是空格字符%cn",c);else printf("輸入的是其他字符%cn",c);【編程 1-
13、3】若某企業(yè)根據(jù)銷售人員的銷售額發(fā)放提成,計算公式如下(s代表銷售額):s<200沒有提成200s<400提成5%400s<1200提成8%1200s<2400提成8%2400s<4000提成8%s4000請分別使用if和switch語句結構分別編寫程序,實現(xiàn)從鍵盤上輸入銷售額,即輸出銷售額和提成。要求程序具有糾錯能力,如輸入負數(shù)就輸出非法數(shù)據(jù)的提示信息并結束程序。ifelse-if語句#include <stdio.h>#include <stdlib.h>void main(void)float s;float income;print
14、f("請輸入銷售額:");scanf("%f",&s);if(s<0)printf("這是非法數(shù)據(jù)!n");exit(1);else if(s<200)printf("沒有提成!n");exit(1);else if(s<400)income=(s-200)*0.05;else if(s<1200)income=(s-400)*0.08+200*0.05;else if(s<2400)income=(s-1200)*0.1+800*0.08+200*0.05;else if(s
15、<4000)income=(s-2400)*0.15+1200*0.1+800*0.08+200*0.05;else income=(s-4000)*0.18+1600*0.15+1200*0.1+800*0.08+200*0.05;printf("銷售額是:%.0f,提成是:%.0fn",s,income);Switchcase語句#include <stdio.h>#include <stdlib.h>void main(void)float s;float income;printf("請輸入銷售額:");scanf("%f",&s);if(s<0)printf("這是非法數(shù)據(jù)!n");exit(1);if(s<200)printf("沒有提成!n");exit(1);switch(int)(s/400)case 0:income=(s-200)*0.05;break;case 1:case 2:income=(s-400)*0.08+200*0.05;break;case 3:case 4:case 5:income=(s-12
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 高中高考生物必背111個知識點及18個高頻考點
- 2025年秋三年級上冊語文同步教案 18 美麗的小興安嶺
- 作業(yè)空間安全管理制度
- 使用飼料獸藥管理制度
- 供暖設備設施管理制度
- 供水公司壓力管理制度
- 供水維修流程管理制度
- 供熱公司調度管理制度
- 供電公司催費管理制度
- 供電公司電工管理制度
- 康復醫(yī)學科治療技術操作規(guī)范2023版
- 企業(yè)安全生產標準化評價表
- 學校學生評教表
- 長效在淋巴瘤化療中的支持應用課件
- 風力發(fā)電場集電線路優(yōu)化分析
- 2023高考地理高三一輪復習教學計劃和備考策略
- 快遞郵寄申請表
- 隔油池圖集pdf國標圖集
- 蒸壓灰砂磚抗壓、抗折強度檢驗記錄1
- 天津城建大學概率論試卷試題
- 收集九廠微地震監(jiān)測report1
評論
0/150
提交評論