《C語言程序設(shè)計(jì)》課件《C語言程序設(shè)計(jì)》參考答案_第1頁
《C語言程序設(shè)計(jì)》課件《C語言程序設(shè)計(jì)》參考答案_第2頁
《C語言程序設(shè)計(jì)》課件《C語言程序設(shè)計(jì)》參考答案_第3頁
《C語言程序設(shè)計(jì)》課件《C語言程序設(shè)計(jì)》參考答案_第4頁
《C語言程序設(shè)計(jì)》課件《C語言程序設(shè)計(jì)》參考答案_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

《C語言程序設(shè)計(jì)》教材參照答案包含各單元:一.隨堂練習(xí)二.本章自測(cè)《C語言程序設(shè)計(jì)》教材參照答案第1章一.隨堂練習(xí)【隨堂練習(xí)1-1】1.依據(jù)上述示例模擬編程,輸入正方形的邊長(zhǎng),計(jì)算其面積。#include<stdio.h>voidmain( ){inta,s;//數(shù)據(jù)準(zhǔn)備,邊長(zhǎng)a,面積sprintf("請(qǐng)輸入正方形的邊長(zhǎng):");scanf("%d",&a);//數(shù)據(jù)輸入s=a*a;//數(shù)據(jù)計(jì)算printf("該正方形的面積為:%d.\n",s);}【隨堂練習(xí)1-2】1.下邊哪些表記符屬于合法的用戶自定義表記符:Main、void、_num、my$、a*、N4、3m、a-2答:合法的用戶自定義表記符是:Main、_num、N42.聯(lián)合【例1.2】指出程序代碼中所用到的表記符哪些是要點(diǎn)字,哪些是預(yù)約義表記符,哪些是用戶自定義表記符。答:要點(diǎn)字:void、int預(yù)約義表記符:include、main、printf、scanf用戶自定義表記符:a、b、c3.剖析【例1.2】中函數(shù)的結(jié)構(gòu),包含函數(shù)首部(函數(shù)返回值種類、函數(shù)名、形式參數(shù))、函數(shù)體語句(說明語句、可履行語句)。答:函數(shù)首部:voidmain( ),此中函數(shù)返回值種類為void、函數(shù)名為main、形式參數(shù)無;函數(shù)體語句:{}內(nèi)的語句為函數(shù)體,此中:說明語句為inta,b,c;,其余為可履行語句?!倦S堂練習(xí)1-3】1.在VC++6.0環(huán)境中達(dá)成【例1.2】程序開發(fā)過程。(略)2.查閱【例1.2】所對(duì)應(yīng)的工程文件夾,認(rèn)識(shí)有關(guān)文件的含義。工程文件夾中:.CPP:用C/C++語言編寫的源代碼文件。1《C語言程序設(shè)計(jì)》教材參照答案.DSP:VC開發(fā)環(huán)境生成的工程文件,VC4及從前版本使用MAK文件來定義工程。項(xiàng)目文件,文本格式。.DSW:VC開發(fā)環(huán)境生成的WorkSpace文件,用來把多個(gè)工程組織到一個(gè)WorkSpace中。工作區(qū)文件,與.dsp差不多。.NCB:NCB是“NoCompileBrowser”的縮寫,此中寄存了供ClassView、WizardBar和ComponentGallery使用的信息,由VC開發(fā)環(huán)境自動(dòng)生成。無編譯閱讀文件。當(dāng)自動(dòng)達(dá)成功能出問題時(shí)能夠刪除此文件。編譯工程后會(huì)自動(dòng)生成。.OPT:VC開發(fā)環(huán)境自動(dòng)生成的用來寄存WorkSpace中各樣選項(xiàng)的文件。工程對(duì)于開發(fā)環(huán)境的參數(shù)文件。如工具條地點(diǎn)信息等。DEBUG文件夾中:.OBJ:源文件編譯后生成的目標(biāo)文件,是模塊的二進(jìn)制中間文件。.EXE:可履行文件。(注:藍(lán)色字體為要點(diǎn)認(rèn)識(shí)。)二.本章自測(cè)本單元中,核心內(nèi)容有C語言程序框架結(jié)構(gòu)、程序的構(gòu)成和程序開發(fā)過程。經(jīng)過本單元的學(xué)習(xí),我們應(yīng)當(dāng)知道:1.C語言程序最基本的程序框架由兩部分構(gòu)成,分別是:(1)編譯預(yù)辦理(2)函數(shù)組2.C程序最大的特色就是所有的程序都是用函數(shù)來裝置的,函數(shù)是構(gòu)成C語言程序的基本單位,函數(shù)包含主函數(shù)、庫函數(shù)和自定義函數(shù)。函數(shù)的一般結(jié)構(gòu)形式為:函數(shù)返回值種類函數(shù)名(形式參數(shù))//函數(shù)首部{說明語句;//函數(shù)體可履行語句;}3.表記符是用來表記程序中的某個(gè)對(duì)象名字的字符序列。C語言把表記符分為三類,即要點(diǎn)字、預(yù)約義表記符、用戶自定義表記符。對(duì)于用戶自定義表記符的命名C語言規(guī)定:1)所有的用戶表記符一定先定義后使用;2)用戶表記符由字母(A~Z,a~z)、數(shù)字(0~9)、下劃線“_”構(gòu)成,而且首字符不可以是數(shù)字;3)劃分大小寫;4)不可以用要點(diǎn)字作為用戶自定義表記符,往常不使用預(yù)約義表記符作為用戶自定義2《C語言程序設(shè)計(jì)》教材參照答案表記符。4.理論上講,程序開發(fā)過程分為四個(gè)步驟,分別為:(1)編寫源程序(2)編譯源程序,生成目標(biāo)程序(3)連結(jié)目標(biāo)程序及其有關(guān)模塊,生成可履行文件(4)運(yùn)轉(zhuǎn)可履行文件5.簡(jiǎn)單描繪使用VC++6.0開發(fā)應(yīng)用程序的步驟:以下圖:?jiǎn)?dòng)翻開或翻開或編寫、編譯VC++6.0新建工程新建文件達(dá)成連結(jié)、運(yùn)轉(zhuǎn)圖VC++6.0開發(fā)程序的步驟總之,經(jīng)過本單元的學(xué)習(xí),應(yīng)當(dāng)掌握C語言程序框架結(jié)構(gòu)和程序開發(fā)過程,還要對(duì)C語言程序設(shè)計(jì)的知識(shí)脈絡(luò)有必定的認(rèn)識(shí)。3《C語言程序設(shè)計(jì)》教材參照答案第2章一.隨堂練習(xí)【隨堂練習(xí)2-1】1.判斷以下常量表示正確與否?(帶下劃線的不正確)1)整型常量:32768、037、081、0x4f、0xAH2)浮點(diǎn)型常量:.124、3.0、1e3、3)字符型常量:'a'、'101'、65、'\x21'2.字符串常量“Howareyou?\n”的字符串長(zhǎng)度為13個(gè)字節(jié),它占用的儲(chǔ)存空間為14個(gè)字節(jié)。3.“d:\windows\info.txt”在C語言程序設(shè)計(jì)時(shí)應(yīng)描繪為"d:\\windows\\info.txt"。4.在編程辦理物理力學(xué)有關(guān)運(yùn)算時(shí),常將重力加快度G定義為符號(hào)常量,其定義語句可描述為:#defineG9.8?!倦S堂練習(xí)2-2】1.達(dá)成本單元【引例】中的問題(1)。floata,b,c,s,area;2.以下變量定義中合法的是:(以下定義語句均不合法)1)longdo=0xfd;(2)intmax=min=0;(3)doublef,inta;(4)charch="A";【隨堂練習(xí)2-3】1.達(dá)成本單元【引例】中問題(2)。#include<math.h>s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c))2.有定義語句:charch='M';,寫出將變量ch變成小寫字母的表達(dá)式:ch=ch+32;?!倦S堂練習(xí)2-4】1.試剖析本單元【引例】的數(shù)據(jù)結(jié)構(gòu)和實(shí)現(xiàn)算法,并繪制算法流程圖。(1)數(shù)據(jù)結(jié)構(gòu):三角形的三個(gè)邊長(zhǎng)a,b,c,中間變量s和面積area,均為浮點(diǎn)型。4C語言程序設(shè)計(jì)》教材參照答案2)實(shí)現(xiàn)算法:以次序結(jié)構(gòu)為例,依據(jù)題目要求,其算法表示以下:步驟1:輸入三個(gè)邊長(zhǎng)a、b、c值;步驟2:依據(jù)公式計(jì)算出s的值,而后依據(jù)公式計(jì)算出三角形面積area;步驟3:輸出計(jì)算結(jié)果。(3)算法流程圖:開始輸入a、b、c值計(jì)算s值;計(jì)算area值;輸出頭積值area結(jié)束二.本章自測(cè)本單元中,核心內(nèi)容有C語言中基本的數(shù)據(jù)種類、常量和變量、運(yùn)算符和表達(dá)式以及算法的觀點(diǎn)。經(jīng)過本單元的學(xué)習(xí),我們應(yīng)當(dāng)知道:1.C語言中最基本的數(shù)據(jù)種類有:整型、字符型、浮點(diǎn)型。2.C程序中使用的常量依據(jù)表現(xiàn)形式可分為直接常量和符號(hào)常量。(1)直接常量1)整型常量,有十進(jìn)制、八進(jìn)制和十六進(jìn)制三種描繪方式,此中,八進(jìn)制的前置符號(hào)標(biāo)記為0,十六進(jìn)制的前置符號(hào)標(biāo)記為0x或0X。2)浮點(diǎn)型常量,有十進(jìn)制小數(shù)和指數(shù)兩種描繪方式,指數(shù)形式的符號(hào)標(biāo)記是e或E。3)字符型常量,是用單撇引號(hào)括起來的單調(diào)字符,對(duì)一些特別字符和控制字符用的形式表示。4)字符串常量,是用雙撇引號(hào)括起來的一串字符序列。字符串的結(jié)束標(biāo)記為‘\0’。(2)符號(hào)常量符號(hào)常量是使用某個(gè)符號(hào)代表的常量,符號(hào)常量使用編譯預(yù)辦理中的宏定義命令定義。5《C語言程序設(shè)計(jì)》教材參照答案3.C程序中使用變量,一定先定義,后使用。變量定義后,系統(tǒng)會(huì)依據(jù)變量的類型分派相應(yīng)的儲(chǔ)存空間。4.C語言有豐富的運(yùn)算符,此中算術(shù)運(yùn)算符包含+、-、*、/、%,運(yùn)算符中的僅用于整數(shù)間的運(yùn)算;賦值運(yùn)算符包含“=”和相應(yīng)的復(fù)合賦值運(yùn)算符+=、-=、*=、/=,賦值運(yùn)算的含義是將“=”右邊的表達(dá)式的計(jì)算結(jié)果賦值給“=”左邊的變量,這與數(shù)學(xué)中“=”的含義不一樣,需要注意。5.由運(yùn)算符和數(shù)據(jù)構(gòu)成表達(dá)式,若表達(dá)式中各數(shù)據(jù)的種類不一樣,則存在種類自動(dòng)變換問題,必需時(shí)也能夠使用強(qiáng)迫種類變換。6.對(duì)于面向過程的程序設(shè)計(jì)來說,程序=數(shù)據(jù)結(jié)構(gòu)+算法。7.在C語言中,對(duì)于每一個(gè)程序設(shè)計(jì)單元可采納結(jié)構(gòu)化程序設(shè)計(jì)方法,有三種基本的程序結(jié)構(gòu),分別為:次序、選擇和循環(huán)。經(jīng)過本單元的學(xué)習(xí),應(yīng)當(dāng)掌握C語言程序設(shè)計(jì)所需要的基本知識(shí),為后續(xù)內(nèi)容的學(xué)習(xí)打下堅(jiān)固的基礎(chǔ)。6《C語言程序設(shè)計(jì)》教材參照答案第3章一.隨堂練習(xí)【隨堂練習(xí)3-1】1.下邊程序功能為:輸入一個(gè)A~Z之間的字母,輸出與之左右相鄰的兩個(gè)字母,依據(jù)說明信息將程序填寫完好。(注意:題目要求輸入A~Z之間的字母,即不包含A和Z)#include<stdio.h>voidmain( ){charch;//數(shù)據(jù)準(zhǔn)備ch=getchar( );//調(diào)用getchar( )輸入一個(gè)字母,并賦值給chputchar(ch-1);//調(diào)用putchar( )輸出與ch左相鄰的字母putchar(ch+1);//調(diào)用putchar( )輸出與ch右相鄰的字母}【隨堂練習(xí)3-2】1.輸出提示語“請(qǐng)輸入銀行卡密碼:”的語句可描繪為printf("請(qǐng)輸入銀行卡密碼:");。剖析以下程序輸出結(jié)果。#include<stdio.h>voidmain( ){inta=65,b=97;doublem=3.14159;printf("%c-%d\n%c-%d\n",a,a,b,b);printf("a=%06d,b=%-6d.\n",a,b);printf("a=%d,a=%o,a=%x\n",a,a,a);printf("m=%lf.\n",m);printf("m=%4.3lf.\n",m);printf("m=%06.3lf.\n",m);}輸出結(jié)果以下:7《C語言程序設(shè)計(jì)》教材參照答案【隨堂練習(xí)3-3】1.分別依據(jù)int、double和char種類給變量a,b,c輸入數(shù)值的語句可描繪為:scanf("%d%lf%c",&a,&b,&c);2.依據(jù)要求給出數(shù)據(jù)輸入方法。1)有語句scanf("a=%d,b=%d",&a,&b);,要使a值為2,b值為3,則正確的輸入方法是:a=2,b=32)有輸入語句scanf("%d%c",&m,&n);,為使m值為6,n值為字母y,則正確的輸入方法是:6y二.本章自測(cè)本單元中,核心內(nèi)容是次序程序結(jié)構(gòu)程序設(shè)計(jì)中標(biāo)準(zhǔn)輸入輸出庫函數(shù)的使用。經(jīng)過本單元的學(xué)習(xí),我們應(yīng)當(dāng)知道:1.C語言供給了標(biāo)準(zhǔn)輸入輸出庫函數(shù)用于實(shí)現(xiàn)數(shù)據(jù)輸入輸出操作,其對(duì)應(yīng)的頭文件為stdio.h。2.單字符輸入和輸出函數(shù)分別為getchar( )和putchar( )。3.格式化輸入和輸出函數(shù)分別為scanf( )和printf( )。4.格式化輸出函數(shù)有兩種調(diào)用格式:1)printf("字符串常量");2)printf("格式控制字符串",輸出項(xiàng)列表);5.格式化輸入/輸出中,格式控制符由%開頭。常用的格式控制符有:整型int格式符%d、float浮點(diǎn)型格式符%f、double浮點(diǎn)型格式符%lf、字符型格式符%c;對(duì)于浮點(diǎn)型格式能夠用m.n形式的附帶格式說明小數(shù)的寬度和小數(shù)位數(shù)。6.格式化輸入中的輸入項(xiàng)為地點(diǎn)列表,對(duì)變量取地點(diǎn)的運(yùn)算符為&。經(jīng)過本單元的學(xué)習(xí),應(yīng)付次序結(jié)構(gòu)程序設(shè)計(jì)的特色和設(shè)計(jì)思路有所認(rèn)識(shí),同時(shí)要點(diǎn)學(xué)會(huì)單字符輸入函數(shù)getchar( )、單字符輸出函數(shù)putchar( )、格式化輸出函數(shù)printf( )和格式化輸入函數(shù)scanf( )的正確使用。8《C語言程序設(shè)計(jì)》教材參照答案第4章一.隨堂練習(xí)【隨堂練習(xí)4-1】1.當(dāng)a=3,b=2,c=1時(shí),判斷例4-1中條件表達(dá)式的值?1)a>b==c真(2)a=b<c假(3)a<=b+c假2.當(dāng)r的值為3時(shí),判斷以下條件表達(dá)式的值。1)r==3真(2)r=4真(3)0<r<1真3.整型變量n為偶數(shù)的關(guān)系表達(dá)式為n%2==0?!倦S堂練習(xí)4-2】1.判斷字符變量ch的值為大寫字母的邏輯表達(dá)式為:ch>=’A’&&ch<=’Z’。2.判斷某一年份能否為閏年。閏年是切合以下條件的年份:能被4整除但不可以被100整除,或許能被400整除。若用整型變量year表示年份,則閏年的邏輯判斷表達(dá)式為:year%4==0&&year%100!=0||year%400==0?!倦S堂練習(xí)4-3】1.以下程序段的運(yùn)轉(zhuǎn)結(jié)果是x=20,y=20。intx=10,y=20;if(x<y)x=y;y=x;printf(“x=%d,y=%d”,x,y);2.以下程序段的功能是計(jì)算一個(gè)整數(shù)的絕對(duì)值,將程序增補(bǔ)完好。intn;scanf(“%d”,&n);if(n<0)n=-n;printf(“該整數(shù)的絕對(duì)值是%d.”,n);【隨堂練習(xí)4-4】1.以下程序可判斷指定的年份能否為閏年,增補(bǔ)完好。9《C語言程序設(shè)計(jì)》教材參照答案intyear,f;//f是閏年的標(biāo)記位,year表示年份scanf(“%d”,&year);if(year%4==0&&year%100!=0||year%400==0)f=1;elsef=0;if(f==1)printf(“%d年是閏年?!?year);elseprintf(“%d年不是閏年?!?year);2.以下程序用于判斷輸入的字符能否為字母,增補(bǔ)完好,而后將程序改寫成僅一對(duì)if-else的形式。charch;ch=getchar( );if(ch>=’A’&&ch<=’Z’)printf(“%c是字母。”,ch);elseif(ch>=’a’&&ch<=’z’)printf(“%c是字母?!?ch);elseprintf(“%c不是字母?!?ch);改成一對(duì)if-else的形式:charch;ch=getchar( );if(ch>=’A’&&ch<=’Z’||ch>=’a’&&ch<=’z’)printf(“%c是字母。”,ch);elseprintf(“%c不是字母。”,ch);【隨堂練習(xí)4-5】1.將【隨堂練習(xí)4-4】中第1題的3至6行程序使用條件運(yùn)算符描繪:f=(year%4==0&&year%100!=0||year%400==0)?1:0;【隨堂練習(xí)4-6】1.輸入1~7之間的隨意數(shù)字,輸出其對(duì)應(yīng)的禮拜幾的英文,如輸入5,程序輸出Friday。若輸入1~7之外的數(shù)字,則提示輸入錯(cuò)誤。10《C語言程序設(shè)計(jì)》教材參照答案參照程序代碼以下:#include<stdio.h>voidmain( ){intm;printf("請(qǐng)輸入1~7隨意數(shù)字:");scanf("%d",&m);switch(m){case1:printf("Monday");break;case2:printf("Tuesday");break;case3:printf("Wednesday");break;case4:printf("Thursday");break;case5:printf("Friday");break;case6:printf("Saturday");break;case7:printf("Sunday");break;default:printf("輸入錯(cuò)誤!");}}二.本章自測(cè)在選擇結(jié)構(gòu)程序設(shè)計(jì)中,條件判斷表達(dá)式和選擇結(jié)構(gòu)實(shí)現(xiàn)語句是兩個(gè)核心內(nèi)容。經(jīng)過本單元的學(xué)習(xí),我們應(yīng)當(dāng)知道:1.條件判斷表達(dá)式由關(guān)系運(yùn)算符及其表達(dá)式、邏輯運(yùn)算符及其表達(dá)式構(gòu)成,此中:(1)關(guān)系運(yùn)算符有:>、<、>=、<=、!=、==(2)邏輯運(yùn)算符有:&&、||、!2.選擇結(jié)構(gòu)實(shí)現(xiàn)語句有三種方式:1)單分支if選擇結(jié)構(gòu),一般格式為:if(表達(dá)式){語句;}2)雙分支if-else選擇結(jié)構(gòu),一般格式為:if(表達(dá)式){語句1;}else{語句2;}11C語言程序設(shè)計(jì)》教材參照答案3)多分支switch選擇結(jié)構(gòu),一般格式為:switch(表達(dá)式){case常量表達(dá)式1:[語句序列1;][break;]case常量表達(dá)式2:[語句序列2;][break;]case常量表達(dá)式n:[語句序列n;][break;]default:語句序列n+1;}3.在應(yīng)用選擇結(jié)構(gòu)時(shí),應(yīng)注意以下問題:(1)在if嵌套語句中,要弄清e(cuò)lse與if的般配關(guān)系,書寫if語句嵌套時(shí)一般采納縮進(jìn)的階梯式寫法,在實(shí)質(zhì)編程中,為了表示編程者的企圖,也經(jīng)常經(jīng)過“{}”來強(qiáng)迫if和else的配對(duì)關(guān)系。2)switch語句中,“表達(dá)式”和“常量表達(dá)式”的種類只好是整型或字符型數(shù)據(jù),且“常量表達(dá)式”只好由常量構(gòu)成,經(jīng)過“表達(dá)式”與“常量表達(dá)式”之間的平等關(guān)系結(jié)構(gòu)出多分支選擇結(jié)構(gòu)。(3)在某些多分支選擇結(jié)構(gòu)程序設(shè)計(jì)中,既可使用if-else語句實(shí)現(xiàn),也能夠使用switch語句實(shí)現(xiàn)。switch語句與if語句的不一樣之處在于:switch語句僅能判斷一種邏輯關(guān)系,即“表達(dá)式”和指定“常量表達(dá)式”的值能否相等,而不可以進(jìn)行大于,小于某一個(gè)值的判斷,不可以表達(dá)區(qū)間數(shù)據(jù)的觀點(diǎn);if語句能夠計(jì)算和判斷各樣表達(dá)式。因此switch語句不可以完好代替if語句。總之,經(jīng)過本單元的學(xué)習(xí),應(yīng)當(dāng)掌握C語言選擇結(jié)構(gòu)程序設(shè)計(jì)的思路和語句的基本用法。12《C語言程序設(shè)計(jì)》教材參照答案第5章一.隨堂練習(xí)【隨堂練習(xí)5-1】1.利用while語句計(jì)算自然數(shù)序列1,2,3,,n的和,n的值在程序履行時(shí)輸入。#include<stdio.h>voidmain( ){intn,sum=0,i=1;printf("請(qǐng)輸入n的值:");scanf("%d",&n);while(i<=n){sum+=i;i++;}printf("自然數(shù)序列1到%d的和為:%d.\n",n,sum);}2.利用while語句計(jì)算1~n中的奇數(shù)之和及偶數(shù)之和。#include<stdio.h>voidmain( ){intn,even=0,odd=0,i=1;printf("請(qǐng)輸入n的值:");scanf("%d",&n);while(i<=n){if(i%2==0)even+=i;elseodd+=i;i++;}printf("自然數(shù)序列1到%d的奇數(shù)和為%d,偶數(shù)和為:%d.\n",n,odd,even);}【隨堂練習(xí)5-2】1.利用do-while語句計(jì)算1~n中的奇數(shù)之和及偶數(shù)之和。#include<stdio.h>voidmain( )13《C語言程序設(shè)計(jì)》教材參照答案{intn,even=0,odd=0,i=1;printf("請(qǐng)輸入n的值:");scanf("%d",&n);do{if(i%2==0)even+=i;elseodd+=i;i++;}while(i<=n);printf("自然數(shù)序列1到%d的奇數(shù)和為%d,偶數(shù)和為:%d.\n",n,odd,even);}2.利用do-while語句計(jì)算1+1/2+1/3++1/n。#include<stdio.h>voidmain( ){intn,i=1;doubles=0;printf("請(qǐng)輸入n的值:");scanf("%d",&n);do{s+=1.0/i;i++;}while(i<=n);printf("計(jì)算結(jié)果為:%.2lf.\n",s);}【隨堂練習(xí)5-3】1.利用for語句計(jì)算1~n中的奇數(shù)之和及偶數(shù)之和。#include<stdio.h>voidmain( ){intn,even=0,odd=0,i=1;printf("請(qǐng)輸入n的值:");scanf("%d",&n);for(i=1;i<=n;i++)if(i%2==0)even+=i;elseodd+=i;printf("自然數(shù)序列1到%d的奇數(shù)和為%d,偶數(shù)和為:%d.\n",n,odd,even);}14《C語言程序設(shè)計(jì)》教材參照答案2.利用for語句計(jì)算1+1/2+1/3++1/n。#include<stdio.h>voidmain( ){intn,i=1;doubles=0;printf("請(qǐng)輸入n的值:");scanf("%d",&n);for(i=1;i<=n;i++)s+=1.0/i;printf("計(jì)算結(jié)果為:%.2lf.\n",s);}二.本章自測(cè)在本單元中,怎樣理解循環(huán)的實(shí)質(zhì)、怎樣剖析循環(huán)的三個(gè)因素以及怎樣描繪循環(huán)結(jié)構(gòu)語句是核心內(nèi)容。經(jīng)過本單元的學(xué)習(xí),我們應(yīng)當(dāng)知道:1.循環(huán)的實(shí)質(zhì)是將程序員從大批重復(fù)編寫同樣代碼的工作中解放出來,減少程序源代碼的儲(chǔ)存空間,提升程序的質(zhì)量,提升程序編寫的工作效率,但計(jì)算機(jī)履行程序的工作量并無減少。2.循環(huán)結(jié)構(gòu)的三因素包含:(1)循環(huán)變量初值(2)循環(huán)控制條件表達(dá)式(3)循環(huán)體3.循環(huán)結(jié)構(gòu)描繪語句有三種:while、do-while和for。此中while和do-while的差別在于不論循環(huán)條件能否成立,do-while循環(huán)都先履行一次循環(huán)體,因此do-while循環(huán)的循環(huán)體起碼履行一次,而while循環(huán)的循環(huán)體可能一次都不履行。4.循環(huán)結(jié)構(gòu)控制語句break的作用是:結(jié)束循環(huán);循環(huán)結(jié)構(gòu)控制語句continue的作用是:提早結(jié)束本次循環(huán)。5.在一個(gè)循環(huán)結(jié)構(gòu)語句中又包含了一個(gè)循環(huán)結(jié)構(gòu)語句稱之為循環(huán)的嵌套。程序執(zhí)行時(shí),外層循環(huán)每履行一次,內(nèi)層循環(huán)就要完好的履行完,直至內(nèi)層循環(huán)履行結(jié)束,再開始履行下一次外層循環(huán)。15《C語言程序設(shè)計(jì)》教材參照答案學(xué)習(xí)完本單元,應(yīng)當(dāng)掌握C語言循環(huán)結(jié)構(gòu)程序設(shè)計(jì)的思路和基本語句的用法。至此,我們就學(xué)完了卻構(gòu)化程序設(shè)計(jì)中的三種基本結(jié)構(gòu):次序、選擇和循環(huán)。16《C語言程序設(shè)計(jì)》教材參照答案第6章一.隨堂練習(xí)【隨堂練習(xí)6-1】1.達(dá)成【引例】中的題目(1)。floatscore[40];2.有數(shù)組定義doublep[8],數(shù)組中每個(gè)元素占用8字節(jié),整個(gè)數(shù)組占用64字節(jié),p可以代表數(shù)組在內(nèi)存中寄存的首地點(diǎn)?!倦S堂練習(xí)6-2】1.將【例6-3】中的一維數(shù)組中各元素的值逆序輸出。#include<stdio.h>voidmain( ){inta[10]={0,1,2,3,4,5,6,7,8,9};for(inti=9;i>=0;i--)printf("%4d",a[i]);}【隨堂練習(xí)6-3】1.判斷以下二維數(shù)組的定義方式能否正確?(1)floatb[10][10];正確(2)#defineN20正確ints[N][N];(3)intn=20;intarray[n][10];不正確(4)doublea[4,5];不正確【隨堂練習(xí)6-4】1.將一個(gè)二維數(shù)組行和列的元素交換,存到另一個(gè)二維數(shù)組中,即矩陣的轉(zhuǎn)置。#include<stdio.h>voidmain( ){inta[2][3],b[3][2];inti,j;printf("原矩陣為:\n");17《C語言程序設(shè)計(jì)》教材參照答案for(i=0;i<2;i++)for(j=0;j<3;j++){scanf("%d",&a[i][j]);b[j][i]=a[i][j];}printf("轉(zhuǎn)置后的矩陣為:\n");for(j=0;j<3;j++){for(i=0;i<2;i++)printf("%4d",b[j][i]);putchar('\n');}}【隨堂練習(xí)6-5】1.輸入兩個(gè)字符串str1和str2,比較后將較大的字符串存在str1中,將較小的存在str2中。#include<stdio.h>#include<string.h>voidmain( ){charstr1[20],str2[20],str[20];printf("請(qǐng)輸入一個(gè)字符串:");gets(str1);printf("請(qǐng)?jiān)佥斎胍粋€(gè)字符串:");gets(str2);if(strcmp(str1,str2)<0){strcpy(str,str1);strcpy(str1,str2);strcpy(str2,str);}printf("較大的字符串為:%s.\n",str1);printf("較小的字符串為:%s.\n",str2);}二.本章自測(cè)在本單元中,怎樣定義一維、二維數(shù)組、怎樣操作數(shù)組以及怎樣利用字符數(shù)組辦理字符串是核心內(nèi)容。經(jīng)過本單元的學(xué)習(xí),我們應(yīng)當(dāng)知道:1.?dāng)?shù)組是一組同樣種類的有序數(shù)據(jù)的會(huì)合。數(shù)組要先定義后使用,能夠在定義時(shí)初始化,每個(gè)數(shù)組元素相當(dāng)于同種類的變量,使用數(shù)組名和下標(biāo)來獨(dú)一確立數(shù)組中的元素。2.一維數(shù)組定義的一般格式為:種類表記符數(shù)組名[整型常量表達(dá)式];,對(duì)于已定18《C語言程序設(shè)計(jì)》教材參照答案義好的一維數(shù)組C編譯系統(tǒng)會(huì)分派連續(xù)的儲(chǔ)存空間,數(shù)組名代表數(shù)組在內(nèi)存中存放的首地點(diǎn)。一維數(shù)組的引用方法為:數(shù)組名[下標(biāo)],此中下標(biāo)從0開始。3.二維數(shù)組定義的一般格式為:種類表記符數(shù)組名[整型常量表達(dá)式1][整型常量表達(dá)式2];,對(duì)于已定義好的二維數(shù)組C編譯系統(tǒng)會(huì)分派連續(xù)的儲(chǔ)存空間,將二維數(shù)組元素按行挨次儲(chǔ)存。二維數(shù)組元素的接見波及第一維和第二維兩個(gè)下標(biāo),其引用方法為:數(shù)組名[下標(biāo)1][下標(biāo)2]。4.字符數(shù)組是一組字符型數(shù)據(jù)的有序會(huì)合,此中每個(gè)數(shù)組元素的值都是字符。C語言用字符數(shù)組實(shí)現(xiàn)字符串變量,字符串以‘\0’作為結(jié)束標(biāo)記。字符串的輸入能夠經(jīng)過gets( )、scanf( )函數(shù)實(shí)現(xiàn),字符串的輸出能夠經(jīng)過puts( )、printf( )函數(shù)實(shí)現(xiàn)。常有的字符串操作庫函數(shù)有:求字符串長(zhǎng)度函數(shù)strlen( )、字符串復(fù)制函數(shù)strcpy( )、字符串通接函數(shù)strcat( )、字符串比較函數(shù)strcmp( ),這些庫函數(shù)的定義都在頭文件string.h中。常有的字符庫函數(shù)的定義都在頭文件ctype.h中。5.?dāng)?shù)組的操作往常離不開循環(huán)結(jié)構(gòu),在使用循環(huán)結(jié)構(gòu)操作數(shù)組時(shí)應(yīng)注意下標(biāo)的變化規(guī)律。經(jīng)過本單元的學(xué)習(xí),應(yīng)當(dāng)掌握C語言中對(duì)于數(shù)組這一結(jié)構(gòu)數(shù)據(jù)種類的使用方法和操作方法。19《C語言程序設(shè)計(jì)》教材參照答案第7章一.隨堂練習(xí)【隨堂練習(xí)7-1】1.達(dá)成【引例】中的問題(2)。以perimeter為函數(shù)名,寫出“計(jì)算矩形周長(zhǎng)”自定義函數(shù)的程序代碼。intperimeter(inta,intb){return2*a+2*b;}2.自定義函數(shù)even,其功能為判斷一個(gè)整數(shù)能否為偶數(shù)。inteven(intn){if(n%2==0)return1;elsereturn0;}【隨堂練習(xí)7-2】對(duì)【隨堂練習(xí)7-1】自定義函數(shù)even進(jìn)行申明。inteven(intn);或inteven(int);【隨堂練習(xí)7-3】1.在主函數(shù)中輸入一個(gè)整數(shù),經(jīng)過調(diào)用【隨堂練習(xí)7-1】自定義函數(shù)even判斷該數(shù)的奇偶性。#include<stdio.h>inteven(intn){if(n%2==0)return1;elsereturn0;}intmain( ){20《C語言程序設(shè)計(jì)》教材參照答案intn;printf("請(qǐng)輸入一個(gè)整數(shù):");scanf("%d",&n);if(even(n))printf("該整數(shù)為偶數(shù).\n");elseprintf("該整數(shù)為奇數(shù).\n");}2.編程解決單元六實(shí)訓(xùn)指導(dǎo)(一)中的第二題:輸入10個(gè)學(xué)生的成績(jī),求出均勻成績(jī),并將低于均勻成績(jī)的分?jǐn)?shù)顯示出來。此中“求均勻成績(jī)”用自定義函數(shù)average來實(shí)現(xiàn)。#include<stdio.h>floataverage(float[],int);voidmain( ){floatscore[10],ave;inti;printf("請(qǐng)輸入10個(gè)學(xué)生成績(jī):");ave=average(score,10);printf("考試均勻分為:%.2f.\n",ave);printf("低于均勻分的成績(jī)有:");for(i=0;i<10;i++)if(score[i]<ave)printf("%7.2f",score[i]);}floataverage(floats[],intn){inti;floatave=0;for(i=0;i<n;i++){scanf("%f",&s[i]);ave+=s[i];}returnave/10;}【隨堂練習(xí)7-4】1.用帶參數(shù)的宏定義表示圓的面積。#definePI3.14#defines(r)PI*(r)*(r)21《C語言程序設(shè)計(jì)》教材參照答案2.用帶參數(shù)的宏定義表示自然數(shù)之和(公式)。#defines(n)(1+(n))*(n)/2二.本章自測(cè)在本單元中,怎樣使用自定義函數(shù)是核心內(nèi)容。經(jīng)過本單元的學(xué)習(xí),我們應(yīng)當(dāng)知道:1.函數(shù)是構(gòu)成C程序的基本單位,函數(shù)的使用為模塊化程序設(shè)計(jì)確立了基礎(chǔ)。從用戶使用的角度,函數(shù)分為庫函數(shù)、自定義函數(shù)兩種。2.庫函數(shù)的使用包含頭文件包含和庫函數(shù)調(diào)用兩個(gè)環(huán)節(jié);用戶自定義函數(shù)的使用包含函數(shù)申明、函數(shù)定義和函數(shù)調(diào)用三個(gè)環(huán)節(jié)。3.從函數(shù)的外觀形式看,函數(shù)分為有參函數(shù)、無參函數(shù)兩種。當(dāng)主調(diào)函數(shù)調(diào)用無參函數(shù)時(shí),不需要向這些函數(shù)傳達(dá)參數(shù);當(dāng)主調(diào)函數(shù)調(diào)用有參函數(shù)時(shí),需要傳達(dá)參數(shù)。4.用戶自定義函數(shù)的一般形式為:函數(shù)返回值種類函數(shù)名(形式參數(shù)列表)//函數(shù)首部{函數(shù)體;}此中第一行稱為函數(shù)首部,大括號(hào)“{}”括起來的部分稱為函數(shù)體,對(duì)于有返回值的函數(shù),函數(shù)體中要包含return語句。5.函數(shù)首部也稱為函數(shù)原型,用函數(shù)原型申明函數(shù)時(shí),形參名能夠省略不寫,而只寫形參的種類,但形參的種類和數(shù)目一定與函數(shù)首部保持一致。6.函數(shù)要先申明,而后才能使用,函數(shù)申明在程序中的地點(diǎn)有以下幾種狀況:(1)函數(shù)申明寫在主調(diào)函數(shù)的外面,這時(shí)的函數(shù)申明為全局申明。(2)函數(shù)申明寫在主調(diào)函數(shù)的說明語句中,這時(shí)的函數(shù)申明為局部申明。(3)函數(shù)的定義出此刻主調(diào)函數(shù)從前,則函數(shù)申明能夠省略。7.函數(shù)的調(diào)用形式為:函數(shù)名(實(shí)質(zhì)參數(shù)列表)。若調(diào)用無參函數(shù),則實(shí)參為空;若調(diào)用有參函數(shù),則在( )內(nèi)寫出與形參種類、數(shù)目一致的實(shí)參。對(duì)于有參函數(shù),函數(shù)調(diào)用過程中存在著參數(shù)傳達(dá)的問題,參數(shù)傳達(dá)有兩種狀況,其一為值傳達(dá),其二為地點(diǎn)傳達(dá)。8.函數(shù)在函數(shù)體中出現(xiàn)了對(duì)自己調(diào)用的語句,就稱為函數(shù)遞歸調(diào)用。使用遞歸方法解決問題的要點(diǎn)是怎樣找出遞歸關(guān)系,以及找出遞歸調(diào)用的停止條件。9.帶參宏定義的一般形式為:#define宏名(形參列表)字符串。往常用帶參數(shù)的宏定義取代簡(jiǎn)單公式型函數(shù)。22《C語言程序設(shè)計(jì)》教材參照答案10.函數(shù)的儲(chǔ)存種類有static和extern兩種。extern型函數(shù)稱為“外面函數(shù)”,能夠被其余編譯單位中的函數(shù)調(diào)用;static型函數(shù)稱為“內(nèi)部函數(shù)”,只好被本編譯單位的函數(shù)調(diào)用。11.程序中變量的使用范圍稱為變量的作用域,每個(gè)變量都有自己的作用域。依據(jù)作用域的范圍可分為兩種:局部變量和全局變量。12.變量的儲(chǔ)存方式可分為“動(dòng)向儲(chǔ)存”和“靜態(tài)儲(chǔ)存”兩種。動(dòng)向儲(chǔ)存變量包含auto和regiest兩種種類;靜態(tài)儲(chǔ)存變量包含static和extern兩種種類。靜態(tài)儲(chǔ)存變量若沒有初始化,則默認(rèn)初始值為0。static種類變量的值擁有繼承性,即本次調(diào)用的初值是上一次調(diào)用結(jié)束時(shí)變量的值。23《C語言程序設(shè)計(jì)》教材參照答案第8章一.隨堂練習(xí)【隨堂練習(xí)8-1】1.有doubles;,定義一個(gè)指向變量s的指針變量q。double*q=&s;或double*q;q=&s;2.達(dá)成【引例1】。【引例1】有一個(gè)整型變量a,怎樣知道該變量的儲(chǔ)存地點(diǎn)?怎樣經(jīng)過指針變量對(duì)a進(jìn)行操作?(1)變量a的儲(chǔ)存地點(diǎn):&a(2)經(jīng)過指針變量對(duì)a進(jìn)行操作:定義指針變量p指向a,int*p=&a;,而后可經(jīng)過*p接見并操作變量a。3.編程考證【例8-1】和【例8-2】中指針變量的值能否與所指向變量的地點(diǎn)同樣。1)考證【例8-1】:printf(“%d,%d”,&n,p);察看輸出的兩個(gè)值能否同樣。2)考證【例8-2】:printf(“%d,%d”,str,cp);察看輸出的兩個(gè)值能否同樣?!倦S堂練習(xí)8-2】1.試剖析以下程序,看看能否能實(shí)現(xiàn)【例8-5】所要求的功能?#include<stdio.h>voidadd(int*pa,int*pb,int*psum){*psum=*pa+*pb;}voidmain( ){inta,b,s;scanf("%d%d",&a,&b);add(&a,&b,&s);printf("s=%d\n",s);}答:能夠?qū)崿F(xiàn)。【隨堂練習(xí)8-3】達(dá)成【引例2】。24《C語言程序設(shè)計(jì)》教材參照答案【引例2】一維數(shù)組是占用連續(xù)儲(chǔ)存空間的數(shù)據(jù),怎樣經(jīng)過指針變量對(duì)這段內(nèi)存空間進(jìn)行操作?答:定義指針變量并指向數(shù)組首地點(diǎn),而后就能夠利用指針變量接見并操作了?!倦S堂練習(xí)8-4】下邊函數(shù)的功能是:計(jì)算一個(gè)字符串的實(shí)質(zhì)長(zhǎng)度。將程序增補(bǔ)完好。intstrlen(char*s){intlen=0;/*定義計(jì)數(shù)器變量*/while(*s!=’\0’){len++;s++;}return(len);}【隨堂練習(xí)8-5】下邊函數(shù)的功能是:獲得第n個(gè)數(shù)組元素的地點(diǎn)。將程序增補(bǔ)完好。int*getadd(int*p,intn)//指針p指向數(shù)組首地點(diǎn){return(p+n-1);}二.本章自測(cè)在本單元中,對(duì)指針的理解,以及利用指針接見不一樣形式的數(shù)據(jù)是核心內(nèi)容。經(jīng)過本單元的學(xué)習(xí),我們應(yīng)當(dāng)知道:6.內(nèi)存地點(diǎn)就稱為指針。C語言同意用一個(gè)變量來寄存指針,這類變量稱為指針變量,而指針變量的值就是某個(gè)內(nèi)存單元的地點(diǎn)。7.定義指針變量的一般格式為:種類表記符*指針變量名,此中:1)“指針變量名”前面的“*”,表示該變量是指針變量,不可以省略。2)“種類表記符”表示該指針變量所指向的變量的數(shù)據(jù)種類。(3)當(dāng)一個(gè)指針變量已確立指向某種類的變量時(shí),不可以再指向另一種種類的變量。3.指針變量被賦值后即可引用,引用指針變量的一般方法為:*指針變量名。4.指針和數(shù)組有著親密的關(guān)系,任何經(jīng)過控制數(shù)組下標(biāo)實(shí)現(xiàn)的對(duì)數(shù)組的操作,都可用指針來實(shí)現(xiàn)。要經(jīng)過指針操作數(shù)組,第一要成立指針變量與數(shù)組之間的關(guān)系,而后才能25《C語言程序設(shè)計(jì)》教材參照答案經(jīng)過指針變量接見數(shù)組元素。如有語句段:inta[10];int*p;p=a;,則對(duì)于數(shù)組元素的接見方式有a[i]、*(p+i)、p[i],對(duì)數(shù)組元素地點(diǎn)的表示方式有a+i、p+i、&a[i]。5.?dāng)?shù)組名代表數(shù)組的首地點(diǎn),利用函數(shù)辦理一維數(shù)組數(shù)據(jù)時(shí),函數(shù)之間的參數(shù)傳達(dá)為數(shù)組首地點(diǎn)。將數(shù)組的首地點(diǎn)作為實(shí)參傳達(dá)給函數(shù)的形參此后,實(shí)參數(shù)組和形參數(shù)組其實(shí)是同一段內(nèi)存中的數(shù)據(jù)。6.字符串是寄存在某儲(chǔ)存地區(qū)的一串字符序列,可經(jīng)過字符數(shù)組和字符指針兩種方式操作字符串。7.函數(shù)返回值能夠是地點(diǎn)(指針種類),返回值為地點(diǎn)的函數(shù)定義形式為:<種類表記符>*<函數(shù)名>([形參列表]);。經(jīng)過本單元的學(xué)習(xí),應(yīng)明確地點(diǎn)和指針的關(guān)系,掌握使用指針接見內(nèi)存數(shù)據(jù)的基本方法。26《C語言程序設(shè)計(jì)》教材參照答案第9章一.隨堂練習(xí)【隨堂練習(xí)9-1】為【例9-2】(1)中的結(jié)構(gòu)變量a,b輸入各成員值,交換a和b的數(shù)據(jù)后輸出。#include<stdio.h>structjob_exam//結(jié)構(gòu)種類要點(diǎn)字以及結(jié)構(gòu)名稱{unsignednum;//編號(hào)charname[10];//姓名intexama;//筆試成績(jī)i

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論