項目02順序程序設計_第1頁
項目02順序程序設計_第2頁
項目02順序程序設計_第3頁
項目02順序程序設計_第4頁
項目02順序程序設計_第5頁
已閱讀5頁,還剩83頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

項目二順序程序設計

項目二順序程序設計

第三部分實驗學習

3第一部分任務學習

1第二部分項目學習

2項目二順序程序設計

所謂輸出是指計算機向輸出設備輸出數(shù)據(jù),輸入是指從輸入設備向計算機輸入數(shù)據(jù)。我們編寫程序的目的是為了輸出,沒有輸出的程序是沒有任何意思的。同樣如果程序加上輸入程序的靈活性,可用性會加強許多。進行計算機程序設計時,通常采用三種不同的程序結(jié)構(gòu),即順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。其中順序結(jié)構(gòu)是一種最基本、最簡單的程序結(jié)構(gòu)。本章從實例分析著手,介紹C語言的各類語句,包括控制語句、表達式語句等;對格式輸出函數(shù)printf和格式項目二順序程序設計

輸入函數(shù)scanf等函數(shù)的一般形式和格式進行說明,以加深對C語言程序開發(fā)設計過程的感性認識,強化培養(yǎng)編程思路,為進一步進行C語言程序設計打下基礎?!緦W習目標】(1)掌握使用順序結(jié)構(gòu)程序設計的方法。

(2)會畫順序結(jié)構(gòu)的流程圖。

(3)能夠使用輸入輸出函數(shù)編寫一些簡單的程序。

第一部分任務學習

二、格式輸入輸出語句

一、普通輸出語句

三、格式輸入輸出語句

四、綜合運用1

五、綜合運用2

六、單個字符輸入輸出函數(shù)的使用

第一部分任務學習

一、普通輸出語句——設計菜單【問題提出】

不管在生活當中還是在使用計算機的過程中,經(jīng)常會使用到各種各樣的菜單。例如,利用菜單來操作各種計算機軟件,取錢用到的自動取款機的菜單,在KTV點歌用的菜單等。這些菜單怎樣來編寫呢?可以借助printf來實現(xiàn)簡單的菜單,在學習到后面知識的時候再來編寫一些復雜的菜單。第一部分任務學習

【工作任務】

編寫程序,設計如圖2-1所示的菜單。在學到選擇結(jié)構(gòu)程序設計之后,大家再把這個程序進行修改。

圖2-1菜單結(jié)構(gòu)第一部分任務學習

【思路指導】

對于菜單的設計,需要考慮的最主要問題是菜單在顯示屏上位置的組織,應該思考如何使菜單的界面整齊,功能齊全,看起來自然,用起來方便。第一部分任務學習

【解決方案】#include<stdio.h>voidmain(){

intk;

printf("*******************************\n");

printf("||--------請輸入(0-5)---------||\n");

printf("||1--------信息錄入

||\n");

printf("||2--------成績計算

||\n");

printf("||3--------成績排序

||\n");

printf("||4--------查詢成績

||\n");

printf("||5--------修改成績

||\n");

printf("||0--------退出

||\n");

printf("*******************************\n");

scanf("%d",&k);

printf("select%d\n",k);}第一部分任務學習

【運行情況】

菜單程序運行結(jié)果如圖2-2所示。圖2-2菜單程序運行結(jié)果第一部分任務學習

【歸納分析】(1)在C語言中,可以通過printf函數(shù)輸出信息來把信息顯示給大家,printf函數(shù)可以原樣輸出雙引號里面一串字符,其一般格式printf("輸出提示信息");。

(2)在菜單設計的過程中靈活性很大,大家可以根據(jù)自己的需要和喜好自由設計?!炯寄苡柧殹?/p>

為自己設計一個名片。

第一部分任務學習

程序代碼如下:#include<stdio.h>voidmain(){

printf("*****************************\n");

printf("||周健——客戶經(jīng)理||\n");

printf("||徐州市新世界有限公司||\n");

printf("||電子產(chǎn)品鉆石經(jīng)銷商||\n");

printf("||地址:江蘇徐州市中山南路116號||\n");

printf("||電話:0516—8357093||\n");

printf("||傳真:0516—8357092||\n");

printf("||手機:139581111111||\n");

printf("*****************************\n");}第一部分任務學習

程序運行結(jié)果如圖2-3所示。圖2-3名片程序運行結(jié)果第一部分任務學習

二、格式輸入輸出語句——解決一些簡單的數(shù)學問題【問題提出】

沒有輸出操作的程序毫無價值,所以任何一個程序都應有至少一個輸出操作。沒有輸入操作的程序缺乏靈活性,因此一般每個程序都要有輸入操作。另外,為了使輸入和輸出清晰美觀,必須借助于格式的控制。【工作任務】

已知矩形的長和寬,求矩形的周長和面積。

第一部分任務學習

【思路指導】

輸入數(shù)據(jù):長、寬。輸出數(shù)據(jù):周長、面積。常量:計算周長算法中的“2”。變量:長、寬、周長和面積。變量定義:inta;(一行定義一個變量)

intb;

intl,s;(一行定義兩個變量)。算法實現(xiàn):周長計算l=(a+b)*2,面積計算s=a*b。第一部分任務學習

【解決方案1】#include<stdio.h>voidmain(){

inta; /*定義矩形的長度變量a*/

intb; /*定義矩形的寬度變量b*/

int

l,s; /*定義矩形的周長、面積變量l和s*/a=12; /*給長度賦值12*/b=8; /*給寬度賦值8*/l=(a+b)*2; /*計算矩形周長*/s=a*b; /*計算矩形面積*/}第一部分任務學習

【運行情況1】

求矩形的周長和面積方案1程序運行結(jié)果如圖2-4所示。圖2-4求矩形的周長和面積方案1程序運行結(jié)果

第一部分任務學習

【歸納分析】(1)這個程序?qū)儆陧樞蚪Y(jié)構(gòu),程序按照書寫的順序自上而下一步步執(zhí)行,程序中的每一條語句都被執(zhí)行一次,且僅能被執(zhí)行一次。程序運行后沒有看到結(jié)果,變量l和s中得到了計算結(jié)果,但沒有輸出它們的值??梢栽诔绦蛑性黾虞敵稣Z句printf("l=%ds=%d\n",l,s);來解決這個問題,printf是C語言的庫函數(shù),它的功能是把程序中變量的值輸出到計算機的屏幕上。C語言輸入輸出函數(shù)的處理程序不在C語言本身,因而在運行時要連接的函數(shù)庫中,但必須在程序第一部分任務學習

中將相應的文件頭部加載。在使用printf前,需要在程序頭部加入#include<stdio.h>的語句。

(2)printf函數(shù)(格式輸出函數(shù))。

1)

函數(shù)功能:按用戶指定的格式,把指定的數(shù)據(jù)顯示到顯示器屏幕上。

2)

printf函數(shù)調(diào)用的一般形式:printf("格式控制字符串",輸出表列);。①格式控制字符串可由格式字符串和非格式字符串兩種組成。格式字符串是以%開頭的字符串,在“%”后面跟有第一部分任務學習

各種格式字符,以說明輸出數(shù)據(jù)的類型、形式、長度和小數(shù)位數(shù)等。如“%d”表示按十進制整型輸出。②非格式字符串在輸出時是按原樣輸出的,在顯示中起提示作用,如printf("l=%ds=%d\n",l,s);執(zhí)行之后的結(jié)果就是l=40s=96,“l(fā)=”和“s=”就是非格式字符串,即除了以“%”開頭的字符串,都是普通字符,原樣輸出。③輸出表列中給出了各個輸出項,要注意格式字符串和各輸出項在數(shù)量和類型上應該一一對應,如果輸出表列中有多個輸出項,各輸出項之間需要用“,”隔開,如圖2-5所第一部分任務學習

示。

圖2-5格式控制字符串和輸出項的對應關系第一部分任務學習

常用格式說明符見表2-1。

表2-1常用格式說明符類型格式使用場合整型int型%d輸入輸出基本整型數(shù)據(jù)long型%ld輸入輸出長整型數(shù)據(jù)實型float型%f以小數(shù)形式輸入輸出單精度實型數(shù)據(jù)%e以指數(shù)形式輸入輸出單精度實型數(shù)據(jù)double型%lf以小數(shù)形式輸入輸出雙精度實型數(shù)據(jù)%le以指數(shù)形式輸入輸出雙精度實型數(shù)據(jù)字符型char型%c輸入輸出單個字符第一部分任務學習

3)

printf函數(shù)調(diào)用時需要注意以下幾點。①雙引號中的格式控制字符串,除了格式字符串和轉(zhuǎn)義字符以外的普通字符都會原樣輸出。②符號“%”和格式字符之間不能有空格。③除了X、E、G外,符號“%”后面格式字符都不能用大寫。④在格式控制字符串中可以包含轉(zhuǎn)義字符。第一部分任務學習

【解決方案2】#include<stdio.h>voidmain() {

inta; /*定義矩形的長度變量a*/

intb; /*定義矩形的寬度變量b*/

int

l,s; /*定義矩形的周長、面積變量l和s*/a=12; /*給長度賦值12*/b=8; /*給寬度賦值8*/l=(a+b)*2; /*計算矩形周長*/s=a*b; /*計算矩形面積*/

printf("l=%ds=%d\n",l,s); /*輸出結(jié)果*/}第一部分任務學習

【運行情況2】

求矩形的周長和面積方案2程序運行結(jié)果如圖2-6所示。圖2-6求矩形的周長和面積方案2程序運行結(jié)果第一部分任務學習

【歸納分析】(1)矩形長、寬在程序中是通過賦值的方式給定的,如果它們的值改變了,須重新編譯、連接,才能計算。解決方法:在程序中增加輸入數(shù)據(jù)scanf("%d%d",&a,&b);,使用scanf前,需要在程序頭部加入下面的語句#include<stdio.h>。

1)

scanf函數(shù)(格式輸入函數(shù))功能:按用戶指定的格式從鍵盤上把數(shù)據(jù)輸入到指定的變量之中。

2)

scanf函數(shù)的一般形式:scanf("格式控制字符串",地址表列);。第一部分任務學習

其中,格式控制字符串的作用與printf函數(shù)相同,但不能顯示非格式字符串。地址表列中給出各變量的地址。地址是由地址運算符“&”后跟變量名組成的。例如,&a,&b分別表示(取)變量a和變量b的地址。

3)變量的地址和變量值的關系:在賦值表達式中給變量賦值,如a=12;,則a為變量名,12是變量的值,&a是變量a的地址。

(4)scanf函數(shù)調(diào)用時需要注意以下幾點。

第一部分任務學習

1)格式控制字符串中的格式符,與printf函數(shù)中的相一致,要求格式控制字符串中的格式符,要與所控制的變量類型匹配。

2)可用十進制整數(shù)指定輸入的寬度(即字符數(shù))。例如,scanf(“%5d”,&a);,輸入:12345678,只把12345賦予變量a,其余部分被截去。

3)“*”表示該輸入項讀入后不賦予相應的變量,即跳過該輸入值。如scanf("%d%*d%d",&a,&b);,當輸入為:123時,把1賦予a,2被跳過,3賦予b。第一部分任務學習

4)在輸入多個數(shù)值數(shù)據(jù)時,可用空格、TAB或回車作間隔。

5)如果在格式控制字符串中除了格式說明外還有其他字符,則在輸入數(shù)據(jù)時應輸入與這些字符相同的字符。如scanf("%d,%d",&a,&b);,格式符之間的符號,在輸入數(shù)據(jù)時,要原樣輸入。

6)輸入數(shù)據(jù)時不能規(guī)定精度。如scanf("%7.2f",&a);,是不合法的。不能指望使用這種形式通過輸入1234567獲得a=12345.67。

7)在用“%c”格式輸入字符時,空格字符和轉(zhuǎn)義字符都作為有效字符輸入。第一部分任務學習

【解決方案3】#include<stdio.h>voidmain() /*定義main函數(shù)*/{

inta; /*定義矩形的長度變量a*/

intb; /*定義矩形的寬度變量b*/

int

l,s; /*定義矩形的周長、面積變量l和s*/

scanf("%d%d",&a,&b); /*從鍵盤輸入長、寬*/l=(a+b)*2; /*計算矩形周長*/s=a*b; /*計算矩形面積*/

printf("l=%ds=%d\n",l,s); /*輸出結(jié)果*/}第一部分任務學習

【運行情況3】

方案3程序運行結(jié)果如圖2-7所示?!炯寄苡柧殹?/p>

編寫一個程序,實現(xiàn)這樣的功能:要求從鍵盤輸入任一八進制數(shù),可以實現(xiàn)將該數(shù)轉(zhuǎn)換為十進制數(shù),例如當輸入八進制數(shù)4520時,輸出它所對應的十進制數(shù)2384。

第一部分任務學習

圖2-7求矩形的周長和面積方案3程序運行結(jié)果第一部分任務學習

程序代碼如下:#include<stdio.h>voidmain(){

int

o_number,d_number,a,b,c,d;

printf("pleaseinputaoctalnumber:\n");

scanf("%d",&o_number);a=o_number/1000;b=o_number%1000/100;c=o_number%100/10;d=o_number%10;d_number=a*8*8*8+b*8*8+c*8+d;

printf("O:%d,D:%d",o_number,d_number);}第一部分任務學習

程序運行結(jié)果如圖2-8所示。圖2-8八進制數(shù)轉(zhuǎn)十進制數(shù)程序運行結(jié)果第一部分任務學習

三、格式輸入輸出語句——打印成績報表【問題提出】

在實際應用過程中,我們不僅需要格式的輸入輸出,還需要對各種格式加上參數(shù)對輸出進行排版,使輸出更加美觀整齊?!竟ぷ魅蝿铡?/p>

在屏幕上顯示成績報表(見表2-2)。說明:在設計成績報表時,根據(jù)現(xiàn)有的知識進行設計,在以后的學習中我們再把這個報表進行改進。第一部分任務學習

【思路指導】

輸出部分:利用格式輸出完成第一行字段的輸出;利用格式輸出完成各個數(shù)據(jù)的輸出。表2-2成績報表學號姓名C語言程序設計VB程序設計1001wx67.778.41002hy74.388.61003zb67.690.4第一部分任務學習

【解決方案】#include<stdio.h>voidmain(){

printf("學號\t姓名\tC語言程序設計\tVB程序設計\n");printf("%s%7s%13.2f%15.2f\n","1001","wx",67.7,78.4);printf("%s%7s%13.2f%15.2f\n","1002","hy",74.3,88.6);printf("%s%7s%13.2f%15.2f\n","1003","zb",67.6,90.4);}第一部分任務學習

【歸納分析】

格式說明符中還可以指定寬度及數(shù)據(jù)對齊方向,見表2-3。

圖2-9成績報表程序運行結(jié)果【運行情況】

成績報表程序運行結(jié)果如圖2-9所示。

第一部分任務學習

表2-3指定數(shù)據(jù)寬度及對齊方向舉例輸出結(jié)果說明printf("%5d",222);□□222占5位,右對齊,不足5位左邊補空格printf("%-5d",222);222□□占5位,左對齊,不足5位右邊補空格printf("%2d",222);222超出指定寬度時不受寬度限制printf("%5.1f",22.22);□22.2占5位,小數(shù)點后占1位,右對齊,不足5位,左邊補空格printf("%-5.1f",22.22);22.2□占5位,小數(shù)點后占1位,左對齊,不足5位,右邊補空格printf("%.1f",22.22);22.2小數(shù)點后占1位printf("%.4s","aoyun");aoyu截去超過的部分printf("%4s","aoyun");aoyun寬度不夠,按實際寬度輸出printf("%4.2s","aoyun");□□ao占4位,但只取字符串左邊兩個,右對齊,不足4位左邊補空格printf("%-4.2s","aoyun");ao□□占4位,但只取字符串左邊兩個,左對齊,不足4位右邊補空格第一部分任務學習

【技能訓練】

數(shù)學課上,老師在講授完圓柱、圓球的相關知識后,給同學們留了一道家庭作業(yè)題:設圓半徑r=1.5,圓柱高h=3,讓同學們求一下圓周長、圓面積、圓球表面積、圓球體積、圓柱體積,要求小數(shù)點后面保留兩位小數(shù)。你能利用計算機快速的幫同學們解決一下這個問題嗎?程序代碼如下:第一部分任務學習

#include<stdio.h>#definePI3.1415926voidmain(){floatr,h,l,s,sq,vq,vz; /*變量定義*/

printf("pleaseinputr,h:\n"); /*輸出提示信息*/

scanf(“%f,%f”,&r,&h); /*從鍵盤輸入圓半徑r、圓柱高h的值*/l=2*PI*r; /*計算圓周長*/s=PI*r*r; /*計算圓面積*/sq=4*PI*r*r; /*計算圓球表面積*/

vq=4.0/3.0*PI*r*r*r; /*計算圓球體積*/

vz=PI*r*r*h; /*計算圓柱體積*/printf(“%6.2f\n”,l); /*輸出各計算結(jié)果,小數(shù)點后面保留兩位小數(shù)*/printf("%6.2f\n",s);

第一部分任務學習

printf("%6.2f\n",sq);printf("%6.2f\n",vq);printf("%6.2f\n",vz);}

程序運行結(jié)果如圖2-10所示。圖2-10程序運行結(jié)果第一部分任務學習

四、綜合運用1——交換數(shù)據(jù)【問題提出】

在日常生活中,經(jīng)常需要進行交換操作,如交換兩杯水,交換兩個人的位置等。同樣,在C語言中經(jīng)常需要交換兩個數(shù)據(jù)。例如,為了保證在第一個變量中能夠存放兩個變量中較大的數(shù)據(jù),當?shù)诙€變量中的值比第一個變量中的值大時,需要交換這兩個變量中的值。第一部分任務學習

【工作任務】由鍵盤輸入兩個整數(shù)給變量a和b,然后輸出a和b,在交換a和b中的值后,再輸出a和b,驗證兩個變量中的數(shù)值是否正確地進行了交換?!舅悸分笇А?/p>

對于這個問題,下面通過一個實際例子來理解它的算法。假設要交換硫酸銅、高錳酸鉀溶液,由于兩個試管的溶液不能直接交換,因此,解決這一問題的關鍵是需要引入第三個試管。交換步驟如下:設標有硫酸銅標簽的試管為a,標有高第一部分任務學習

錳酸鉀標簽的試管中,即t→b。

(4)交換結(jié)束?!窘鉀Q方案】#include"stdio.h"voidmain(){inta,b,t;printf("Enteraandb:\n");scanf("%d%d",&a,&b);printf("a=%d,b=%d\n",a,b);t=a;a=b;b=t;printf("a=%d,b=%d\n",a,b);}第一部分任務學習

【運行情況】

交換數(shù)據(jù)程序運行結(jié)果如圖2-11所示。圖2-11交換數(shù)據(jù)程序運行結(jié)果第一部分任務學習

【歸納分析】

在程序中交換兩個變量a和b的值,不可以簡單地用a=b;b=a;兩條語句來實現(xiàn)。假設a和b的值分別為23和78,賦值語句a=b;將使a的值變?yōu)?8,接下來的b=a;會使b的值變?yōu)?8,這樣,a和b的值最終都變?yōu)?8。所以在本例中引入了中間變量t,用來臨時存放a的值,這樣才能完成變量a和b的正確交換。第一部分任務學習

【技能訓練】

從鍵盤上輸入一個大寫英文字母,要求改用相應的小寫字母輸出。

程序代碼如下:#include<stdio.h>voidmain(){

charc1,c2;scanf("%c",&c1);

printf("Theuppercaseis%c.\n",c1);c2=c1+'a'-'A';

printf("Thelowercaseis%c.\n",c2);}

第一部分任務學習

程序運行結(jié)果如圖2-12所示。

圖2-12英文大小寫轉(zhuǎn)換程序運行結(jié)果第一部分任務學習

五、綜合運用2——編寫一個體重測量儀【問題提出】

進行輸入操作的時候最好做到人機對話的形式,給人友好的運行環(huán)境。要做到這一點就要在適當?shù)臅r候加上提示語?!竟ぷ魅蝿铡?/p>

編寫一個體重測量儀:要求從鍵盤輸入身高和體重后,能夠計算出體重指數(shù)。(體重指數(shù)=體重(kg)/(身高)2)第一部分任務學習

【思路指導】(1)定義3個變量:floatindex,weight,height;。

(2)輸入體重:scanf("%f",&weight);。

(3)輸入身高:scanf("%f",&height);。

(4)計算指數(shù):index=weight/(height*height);。

(5)輸出指數(shù):printf("%f",index);。第一部分任務學習

【解決方案1】#include<stdio.h>voidmain(){floatweight,height,index;

scanf("%f",&weight);

scanf("%f",&height);index=weight/(height*height);

printf("%f",index);}第一部分任務學習

【運行情況1】

體重測量儀方案1程序運行結(jié)果如圖2-13所示。

圖2-13體重測量儀方案1程序運行結(jié)果第一部分任務學習

【歸納分析】(1)順序結(jié)構(gòu)是最簡單的一種結(jié)構(gòu),它按照操作執(zhí)行的先后順序來編寫程序。

(2)編程應該遵循的原則:先根據(jù)功能要求設計出算法(用自然語言描述或用流程圖描述),然后再根據(jù)算法編寫程序。

(3)程序應該結(jié)構(gòu)清晰、界面美觀、容易操作。本程序在運行時出現(xiàn)黑屏幕后等待用戶輸入數(shù)據(jù),但由于沒有提示信息,其目的不清楚,所以可以把程序做如下改進。第一部分任務學習

【解決方案2】#include<stdio.h>voidmain(){floatweight,height,index;

printf("\npleaseinputyourweight:");

scanf("%f",&weight);

printf("\npleaseinputyourheight:");

scanf("%f",&height);index=weight/(height*height);

printf("Theindexofyourweightis:%f",index);}第一部分任務學習

【運行情況2】

體重測量儀方案2程序運行結(jié)果如圖2-14所示。

圖2-14體重測量儀方案2程序運行結(jié)果第一部分任務學習

【技能訓練】

編程計算存款利息。設某銀行存款利率為每月0.0027,如果按利滾利算,那么向該銀行存入m萬元,兩個月后利息是多少?計算公式為:本息=本金(1+利率)n,n為月數(shù)。輸入部分:利用格式輸入scanf完成從鍵盤輸入本金m(實型數(shù))、月數(shù)n(整型數(shù))、利率v(實型數(shù))的值。計算處理部分:利用公式——本息=本金(1+利率)n,計算本息s=m(1+v)n和利息t=s-m。注意:程序中可使用C語言提供的冪函數(shù)pow(1+v,n)求第一部分任務學習

(1+v)n的值。輸出部分:利用printf格式輸出利息t的值,可采用%m.nf格式。

第一部分任務學習

程序代碼如下:#include<stdio.h>#include<math.h>voidmain(){floatm,v,t,s;

intn;

printf("pleaseinputm,n,v:\n");scanf("%f,%d,%f",&m,&n,&v);s=m*pow(1+v,n);t=s-m;

printf("t=%6.2f\n",t);}第一部分任務學習

程序運行結(jié)果如圖2-15所示。

圖2-15計算存款利息程序運行結(jié)果第一部分任務學習

六、單個字符輸入輸出函數(shù)的使用【問題提出】

用C語言處理實際問題時,需要輸入和輸出單個字符的場合很多,這時除了可以使用scanf和printf函數(shù)外,還可以使用形式簡潔的getchar和putchar函數(shù)?!竟ぷ魅蝿铡?/p>

編寫程序,根據(jù)輸入的一個字母,計算下一字母并輸出。第一部分任務學習

【思路指導】

用getchar函數(shù)可以給某變量輸入1個字符,對字符加1得到其下一個字符,輸出1個字符用putchar函數(shù)?!窘鉀Q方案】

#include<stdio.h>voidmain(){charch;

ch=getchar();

ch=ch+1;

putchar(ch);

putchar('\n');}第一部分任務學習

【運行情況】

單個字符輸入輸出程序運行結(jié)果如圖2-16所示。

圖2-16單個字符輸入輸出程序運行結(jié)果第一部分任務學習

【歸納分析】(1)putchar函數(shù)(字符輸出函數(shù))。格式:putchar(字符表達式);。功能:向終端(顯示器)輸出一個字符。例如:putchar('y'); /*輸出字符'y'*/putchar(‘\n'); /*輸出一個換行符,使輸出的當前位置移到下一行的開頭*/putchar('\101'); /*輸出字符'A'*/putchar('\''); /*輸出單引號字符*/第一部分任務學習

(2)getchar函數(shù)(字符輸入函數(shù))。格式:getchar();。功能:從終端(鍵盤)輸入一個字符,按回車鍵確認。函數(shù)的返回值就是從輸入設備得到的字符。說明:

1)注意輸入字符后,必須按回車鍵,字符才送到內(nèi)存。

2)getchar()只能接受一個字符,輸入數(shù)字也按字符處理,輸入多于一個字符時,只接收第一個字符。第一部分任務學習

【技能訓練】

從鍵盤上輸入一個大寫英文字母,要求改用相應的小寫字母輸出。

程序代碼如下:#include<stdio.h>voidmain(){charc1,c2;c1=getchar();c2=c1+'a'-'A';putchar(c2);

putchar('\n');}第一部分任務學習

程序運行結(jié)果如圖2-17所示。

圖2-17英文大寫換小寫程序運行結(jié)果第二部分項

項目學習四信息錄入和顯示

項目學習三菜單設計

第二部分項

項目學習三菜單設計【工作任務】本節(jié)只實現(xiàn)顯示功能,即顯示成績管理系統(tǒng)的進入界面,用戶可以通過此界面進行菜單選擇,選擇所要進入的模塊?!舅悸分笇А坎藛卧O計涉及的知識是順序結(jié)構(gòu)。第二部分項

【解決方案】#include<stdio.h>voidmain(){printf("\n\n\t||========================||");printf("\n\n\t||-------------歡迎使用成績管理系統(tǒng)------------------||");printf("\n\n\t||-----------------welcome------------------------||");printf("\n\n\t||---------------謝謝使用本系統(tǒng)---------------------||");printf("\n\n\t||-------------徐州工業(yè)職業(yè)技術(shù)學院------------------||");

第二部分項

printf("\n\n\t||========================||");printf("\n\n\t||-----------------請選擇(1-6)--------------------||");printf("\n\n\t||------------------------------------------------||");printf("\n\n\t||1.輸出信息

||");printf("\n\n\t||2.計算結(jié)果

||");printf("\n\n\t||3.排序信息||");printf("\n\n\t||4.查找信息||");printf("\n\n\t||5.修改信息||");printf("\n\n\t||6.退出系統(tǒng)||");

printf("\n\n\t||-----------------------------------------------||");

printf("\n");}第二部分項

【運行情況】

程序運行結(jié)果如圖2-18所示。

圖2-18成績管理系統(tǒng)進入界面第二部分項

【歸納分析】一個實用的軟件在設計時要考慮良好的人機界面,簡單來說就是用戶感覺軟件界面美觀而不是花俏,操作方便??梢詰闷聊淮翱诩夹g(shù)實現(xiàn)數(shù)據(jù)的顯示,為方便操作,采用交互菜單實現(xiàn)功能或選項的選擇。要盡可能考慮到用戶的操作習慣,在軟件操作過程中,提示信息要盡量豐富、準確。

第二部分項

項目學習四信息錄入和顯示【工作任務】實現(xiàn)學生的基本信息的錄入,但是錄入學生的基本信息只包括學號、姓名、班級和4門課的成績。輸入和處理過的信息要能夠按照一定格式顯示出來?!舅悸分笇А?1)輸入數(shù)據(jù)和輸出數(shù)據(jù)的時候要注意良好的人機界面。(2)要注意輸入和輸出時的數(shù)據(jù)格式。

第二部分項

(3)思考以什么樣的版式來顯示學生信息,如何應用輸出格式的參數(shù),學習者可以不斷的調(diào)整參數(shù)來達到比較好的效果?!窘鉀Q方案】#include<stdio.h>#defineN1000#defineM4inti,j,sum,b;charc;floataverage;structstudent第二部分項

{charnum[6];charname[8];charclas[12];inta;intscore[4];floatavr;}stu[N],temp;voidmain(){intflag=1,i=0,j;while(flag==1){

第二部分項

printf("\n是否需要輸入信息(Y/N)?");getchar();c=getchar();if(c=='Y'||c=='y'){printf("\n請輸入學生信息:\n");printf("學號:");

scanf("%s",&stu[i].num);printf("姓名:");scanf("%s",&stu[i].name);printf("班級:");scanf("%s",&stu[i].clas);for(j=0;j<M;j++){printf("成績%d:",j+1);scanf("%d",&stu[i].score[j]);

第二部分項

}b=++i;}elseif(c=='N'||c=='n')flag=0;

}

printf("學生信息:\n");printf("學號\t姓名\t班級\t成績1\t成績2\t成績3\t成績4\n");

for(i=0;i<b;i++){printf("%5s%5s%10s",stu[i].num,stu[i].name,stu[i].clas);

for(j=0;j<M;j++)printf("%8d",stu[i].score[j]);

printf("\n");

}}第二部分項

【運行情況】程序運行結(jié)果如圖2-19所示。

圖2-19學生信息程序運行結(jié)果第二部分項

【歸納分析】

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論