c實驗指導講義_第1頁
c實驗指導講義_第2頁
c實驗指導講義_第3頁
c實驗指導講義_第4頁
c實驗指導講義_第5頁
已閱讀5頁,還剩9頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

PAGEPAGE13第二章C程序設計實驗內(nèi)容實驗1C程序的運行環(huán)境及運行方法1.實驗目的、要求(1)了解所用計算機系統(tǒng)的基本操作方法,學會獨立使用該系統(tǒng)。(2)了解在該系統(tǒng)上如何編輯、編譯、連接和運行一個c程序。(3)通過運行簡單的C程序,初步了解C程序的特點。2.實驗內(nèi)容(1)進入TurboC編輯環(huán)境。(2)熟悉TurboC集成環(huán)境,掌握各主要下拉菜單的功能及用法。(3)輸入程序并運行,觀察運行結果。a)#include“stdio.h”intmain(){printf(“ThisisaCprogram.\n”);return(0);}b)#include“stdio.h”intmain(){inta,b,sum;a=123;b=456;sum=a+b;printf(“sumis%d\n”,sum);return(0);}(4)補全程序并運行,觀察運行結果。輸入兩個整數(shù),將較小的數(shù)輸出。

#include“stdio.h”intmain(){inta,b,c;scanf(“%d%d”,&a,&b);if(a>b)c=;elsec=;printf(“min=%d\n”,c);return(0);}(5)編寫程序,將該程序保存為my.c及d:\my.c。輸出以下信息********************ThisisaCprogram!********************3.思考及總結功能鍵F2、F9、F10及快捷鍵Ctrl+F9、Alt+F5的功能。如何編輯一個新文件和一個已存在的文件。如何將.c文件換名存盤。4.易犯錯誤及糾正方法。(1)實驗內(nèi)容(3)中的a)和b)是兩段程序,不允許在同一個c程序中,即一個c程序只允許有一個main()函數(shù)。(2)實驗內(nèi)容(4)中,將程序補充完整后運行時,對a和b進行數(shù)據(jù)輸入時,以空格作為分隔。(3)注意程序中的標點符號。實驗2數(shù)據(jù)類型、運算符及表達式1.實驗目的(1)掌握C語言數(shù)據(jù)類型,熟悉如何定義一個整型、字符型和實型的變量,以及對它們賦值的方法。(2)掌握不同的類型數(shù)據(jù)之間賦值的規(guī)律。(3)會使用C的有關算術運算符,以及包含這些運算符的表達式,特別是自加(++)和自減(——)運算符的使用。(4)進一步熟悉C程序的編輯、編譯、連接和運行的過程。2.實驗內(nèi)容(1)輸入程序并運行,觀察運行結果。#include“stdio.h”intmain(){charc1,c2;c1=‘a(chǎn)’;c2=‘b’;printf(“%c%c\n”,c1,c2);return(0);}①運行此程序。②增加一條語句printf(“%d%d\n”,c1,c2);再運行,分析運行結果。③將第二行改為:intc1,c2;再運行,分析運行結果。④再將第3、4行改為:c1=a;c2=b;再運行,分析運行結果。⑤再將第3、4行改為:c1=”a”;c2=”b”;再運行,分析運行結果。⑥再將第3、4行改為:c1=300;c2=400;再運行,分析運行結果。(2)熟悉各種轉(zhuǎn)義字符的功能及用法。#include“stdio.h”intmain(){printf(“abc\tde\b\n”);printf(“gh\ri\tj\\\101\x61\n”);return(0);}(3)輸入程序并運行,觀察運行結果。#include“stdio.h”intmain(){inti,j,m,n;i=8;j=9;m=++i;n=j++;printf(“%d,%d,%d,%d”,i,j,m,n);return(0);}①運行程序。②將第4、5行改為:m=i++;n=++j;再運行。③將程序改為:#include“stdio.h”intmain(){inti,j;i=8;j=10;printf(“%d,%d”,i++,j++);return(0);}④在③的基礎上,將printf語句改為:printf(“%d,%d”,++i,++j);⑤再將printf語句改為:printf(“%d,%d,%d,%d”,i,j,i++,j++);⑥將程序改為:#include“stdio.h”intmain(){inti,j,m=0,n=0;i=8;j=10;m+=i++;n-=--j;printf(“i=%d,j=%d,m=%d,n=%d”,i,j,m,n);return(0);}(4)補全程序并運行,觀察運行結果。將“china”譯成編碼,規(guī)律為:用原來的字母后面第4個字母代替原來的字母。#include“stdio.h”intmain(){chara1=‘c’,a2=‘h’,a3=‘i’,a4=‘n’,a5=‘a(chǎn)’;a1=;a2=;a3=;a4=;a5=;printf(“密碼為:%c%c%c%c%c”,a1,a2,a3,a4,a5);return(0);}若將“stdio”譯為“pqafl”,程序?qū)⒆鋈绾涡薷?。補充:練習函數(shù)的調(diào)用。完成程序:求10.5的根方值,通過庫函數(shù)完成。3.思考及總結如何理解變量在C語言中的“先定義,后使用”這一規(guī)則。整型與字符型數(shù)據(jù)可以互相通用的條件。字符常量與字符串常量的區(qū)別。4.易犯錯誤及糾正方法(1)在做實驗內(nèi)容(3)時,先分析運行結果,再上機運行,對照結果是否一致。(2)在做實驗內(nèi)容(4)時,分析譯碼規(guī)律,結合整型與字符型數(shù)據(jù)通用的條件來補全程序。實驗3最簡單的C程序設計實驗目的、要求(1)掌握C語言中使用最多的一種語句——賦值語句的使用方法。(2)掌握各種類型數(shù)據(jù)的輸入輸出的方法,能正確使用各種格式字符串。實驗內(nèi)容(1)輸入程序并運行,觀察運行結果并分析。#include“stdio.h”intmain(){inta,b;floatd,e;charc1,c2;doublef,g;longm,n;unsignedintp,q;a=61;b=62;c1=‘a(chǎn)’;c2=‘b’;d=3.56;e=-6.78;f=3157.890121;g=0.123456789;m=50000;n=-60000;p=32768;q=40000;printf(“a=%d,b=%d\nc1=%c,c2=%c\nd=%6.2f,e=%6.2f\n”,a,b,c1,c2,d,e);printf(“f=%15.6f,g=%15.12f\nm=%ld,n=%ld\np=%u,q=%u\n”,f,g,m,n,p,q);return(0);}(2)輸入程序并運行,觀察運行結果并分析。#include“stdio.h”intmain(){unsignedinta=65535;intb=-2;printf(“a=%d,%o,%x,%u\n”,a,a,a,a);printf(“b=%d,%o,%x,%u\n”,b,b,b,b);return(0);}(3)補全程序并運行,觀察運行結果。輸入一個華氏溫度,輸出攝氏溫度,公式為:C=(F-32)輸出要有說明,取兩位小數(shù)。#include“stdio.h”intmain(){floatc,f;printf(“\n請輸入華氏溫度:”);scanf(“%f”,&f);c=;printf();return(0);}(4)編寫程序,用getchar函數(shù)讀入兩個字符給c1,c2,分別用putchar函數(shù)和printf函數(shù)輸出這兩個字符。思考與總結正數(shù)與負數(shù)的原、反、補碼形式。getchar函數(shù)同getche函數(shù)的功能區(qū)別。熟悉各種格式轉(zhuǎn)換符的功能及用法。使用scanf函數(shù)應注意的問題。4.易犯錯誤及糾正方法(1)在做實驗內(nèi)容(1)和(2)時,先分析運行結果,再上機運行,對照結果是否一致。(2)在做實驗內(nèi)容(3)時,程序中公式的寫法注意同數(shù)學上的寫法不一致,注意區(qū)分。(3)在做實驗內(nèi)容(4)時,由于用到putchar函數(shù),應將stdio.h頭文件包含進去。實驗4邏輯結構程序設計1.實驗目的、要求(1)C語言表示邏輯量的方法。(2)學會正確使用邏輯運算符和邏輯表達式。(3)熟悉掌握if語句和switch語句。(4)掌握簡單的算法及程序調(diào)試。2.實驗內(nèi)容(1)輸入程序并運行,觀察運行結果并分析。#include“stdio.h”intmain(){inta=1,b=3,c=5,d=4,x;if(a<b)if(c<d)x=1;elseif(a<c)if(b<d)x=2;elsex=3;elsex=6;elsex=7;printf(“x=%d\n”,x);return(0);}(2)編寫程序。有一函數(shù):x(x<1)y=2x-1(1≤x<10)3x-11(x≥10)用scanf函數(shù)輸入x的值,輸出y的值。(3)補全程序并運行。輸入兩個數(shù),將較小者輸出,應用條件運算符。#include“stdio.h”intmain(){inta,b,min;printf(“\npleaseinputtwonumbers\n”);scanf();min=;printf(“min=%d”,min);return(0);}(4)給出一個百分制成績,要求輸出成績等級A、B、C、D、E:90分以上為A,80—89分為B,70—79分為C,60—69分為D,60分以下為E。①分別用if語句和switch語句實現(xiàn)。②輸入分數(shù)為大于100或小于0值時,顯示出錯信息,程序結束。(5)選做:教材中P1055.103.思考與總結關系運算符、邏輯運算符的種類、結合方向和優(yōu)先級。在if語句中,掌握if與else間的配對關系。if語句和switch語句的功能、用法。4.易犯錯誤及糾正方法(1)在做實驗內(nèi)容(1)時,先分析運行結果,再上機運行,對照結果是否一致。(2)在做實驗內(nèi)容(2)時,運用if語句進行x范圍的確定時,表達式應使用關系運算符和邏輯運算符,注意同數(shù)學上的寫法不一致,注意區(qū)分。實驗5循環(huán)控制1.實驗目的、要求熟練掌握用while語句、do-while語句和for語句實現(xiàn)循環(huán)的方法。掌握在程序設計中應用循環(huán)的方法實現(xiàn)一些常用算法,進一步學習調(diào)試程序。2.實驗內(nèi)容(1)編寫程序分別應用while語句、do-while語句和for語句,求出100以內(nèi)所有奇數(shù)的和。(2)編寫程序輸出所有的“水仙花數(shù)”,“水仙花數(shù)”是指一個三位數(shù),其各位數(shù)字的立方和等于該數(shù)本身,例如:153是一個“水仙花數(shù)”,因為153=。(3)編寫程序一球從100m高度自由落下,每次落地后反向跳回原高度的一半,再落下,求它在第10次落地時,共經(jīng)過多少m?第10次反彈多高?3.思考及總結掌握幾種循環(huán)語句的功能及用法。break語句和continue語句的區(qū)別。4.易犯錯誤及糾正方法(1)實驗內(nèi)容(2)中的編程思路為:通過循環(huán)首先確定一個三位數(shù),分別計算它的各位數(shù)字,從而確定是否是“水仙花數(shù)”。(2)實驗內(nèi)容(3)中,認真分析過程,注意各個變量初值及循環(huán)次數(shù)的確定。實驗6數(shù)組1.實驗目的、要求(1)掌握一維數(shù)組和二維數(shù)組的定義、賦值和輸入輸出的方法。(2)掌握字符數(shù)組和字符串函數(shù)的使用。(3)掌握與數(shù)組有關的算法(特別是排序算法)。2.實驗內(nèi)容(1)編寫程序:應用循環(huán)語句,輸出九九乘法表。(2)輸入一個4×4的矩陣,編寫程序,求出其中的最小值及其所在的行號和列號,同時求出對角線元素之和。(3)已有一遞增排好序的數(shù)組,今輸入一個數(shù),要求將它插入數(shù)組中,使之插入后,該數(shù)組仍遞增有序。3.思考及總結起泡法排序和選擇法排序的思想與算法實現(xiàn)。字符串輸入輸出格式符和結束標志。字符串處理函數(shù)的功能。4.易犯錯誤及糾正方法(1)實驗內(nèi)容(2)的編程思路為:首先確定最小值為第0行,第0列,通過循環(huán),從而找到整個矩陣的最小值。(2)實驗內(nèi)容(3)的編程思路為:將數(shù)組中的元素個數(shù)多設一個以容納待插入的數(shù)值,通過循環(huán),從后向前依次將待插入的數(shù)值同原數(shù)組中的數(shù)值做比較,從而找到插入位置,做數(shù)值移動。實驗7函數(shù)1.實驗目的、要求(1)掌握定義函數(shù)的方法。(2)掌握函數(shù)實參與形參的對應關系及“值傳遞”的方式。(3)掌握函數(shù)的嵌套調(diào)用和遞歸調(diào)用的方法。(4)掌握全局變量和局部變量,動態(tài)變量和靜態(tài)變量的概念和使用方法。(5)學習對多文件程序的編譯和運行。2.實驗內(nèi)容(1)輸入程序并運行,觀察運行結果并分析。#defineMAX10inta[MAX],i;#include“stdio.h”intmain(){printf(“\n”);sub1();sub3(a);sub2();sub3(a);return(0);}sub2(){inta[MAX],i,max;max=5;for(i=0;i<max;i++)a[i]=i;}sub1(){for(i=0;i<MAX;i++)a[i]=i+i;}sub3(){inti;for(i=0;i<MAX;i++)printf(“%4d”,a[i]);printf(“\n”);}(2)編寫程序a)在主函數(shù)中輸入一學生的10門課成績,用子函數(shù)實現(xiàn)求10門課的平均值,同時輸出該平均值。b)修改函數(shù),可實現(xiàn)求任意n門課成績的平均值并輸出。(3)編寫程序數(shù)組S是一個3×3的整型數(shù)組,在主函數(shù)中輸入數(shù)組的具體值,應用2個子函數(shù)分別求出其中的最大值max和對角線元素之和,將這兩個值返回主函數(shù),在主函數(shù)中輸出這兩個值。3.思考及總結對函數(shù)遞歸調(diào)用的理解。數(shù)組元素及數(shù)組名作函數(shù)參數(shù)的區(qū)別,理解實例。extern、static聲明外部變量的用法及功能。4.易犯錯誤及糾正方法(1)在做實驗內(nèi)容(1)時,先分析運行結果,注意對全局變量和局部變量的理解,再上機運行,對照結果是否一致。(2)在做實驗內(nèi)容(2)時,注意實際參數(shù)和形式參數(shù)的設置及傳遞方式。(3)在做實驗內(nèi)容(3)時,注意題目要求是通過子函數(shù)實現(xiàn)求值,所求的兩個值注意初始值的確定。實驗8編譯預處理1.實驗目的、要求(1)掌握宏定義的方法。(2)掌握文件包含處理的方法。(3)掌握條件編譯的方法。2.實驗內(nèi)容(1)輸入程序,觀察運行結果并分析。#defineADD(x)x+x#include“stdio.h”intmain(){intm=1,n=2,k=3;intsum=ADD(m+n)*k;printf(“sum=%d”,sum);return(0);}(2)編寫程序a)定義一個帶參數(shù)的宏,使兩個參數(shù)的值互換,在主函數(shù)中輸入兩個數(shù)作為宏的參數(shù),輸出已交換后的兩個值。b)用子函數(shù)實現(xiàn)兩個值的互換,在主函數(shù)中輸出已交換后的兩個值。(3)設計輸出實數(shù)的格式,包括:①一行輸出一個實數(shù);②一行輸出兩個實數(shù);③一行輸出三個實數(shù)。實數(shù)用“%6.2f”格式輸出。用一個文件print_format.h包含上述用#define命令定義的格式,在自己的文件中用#include命令將print_format.h文件包含進來。在程序中用scanf函數(shù)讀入三個實數(shù)給f1,f2,f3。然后用上述定義的三種格式分別輸出:①f1;②f1、f2;③f1、f2、f3。3.思考及總結總結C語言提供的預處理功能:①宏定義;②文件包含;③條件編譯。4.易犯錯誤及糾正方法(1)在做實驗內(nèi)容(1)時,先分析運行結果,再上機運行,對照結果是否一致。(2)在做實驗內(nèi)容(2)時,注意帶參數(shù)的宏定義和函數(shù)調(diào)用兩種方式使用上的區(qū)別。實驗9指針1.實驗目的、要求(1)掌握指針的概念,會定義和使用指針變量。(2)能正確使用字符串的指針和指向字符串的指針變量。(3)正確使用數(shù)組的指針和指向數(shù)組的指針變量。(4)正確使用字符串的指針和指向字符串的指針變量。(5)正確使用指向函數(shù)的指針變量;了解指向指針的指針的概念及其使用方法。2.實驗內(nèi)容 (1)輸入程序并運行,觀察運行結果并分析。sub(intx,inty,int*z){*z=y-x;}#include“stdio.h”intmain(){inta,b,c;sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);printf(“%4d,%4d,%4d\n”,a,b,c);return(0);}(2)補全程序并運行。按字符順序比較兩個字符串s、t的大小,如果s大于t,則返回正值,等于返回0,小于則返回負值。#include“stdio.h”sub(char*s,char*t){for(;*s==*t;)if(*s==‘\0’)return0;return(*s-*t);}#include“stdio.h”intmain(){chara[20],b[10],*p,*q;inti;p=a;q=b;scanf(“%s%s”,a,b);i=sub();printf(“%d”,i);return(0);}(3)編寫程序輸入a、b、c、d四個數(shù),按從大到小的順序輸出這四個數(shù)。應用指針變量做函數(shù)參數(shù)實現(xiàn)。(4)編寫程序?qū)⒁粋€3×3矩陣轉(zhuǎn)置。在主函數(shù)中用scanf輸入矩陣元素,將數(shù)組名作函數(shù)參數(shù),在子函數(shù)中實現(xiàn)矩陣轉(zhuǎn)置,在主函數(shù)中輸出轉(zhuǎn)置后的矩陣。3.思考及總結如何理解“指針變量作函數(shù)參數(shù),實參變量和形參變量之間的數(shù)據(jù)傳遞是單向的‘值傳遞’方式,調(diào)用函數(shù)不可能改變指針變量的值,但可以改變實參指針變量所指變量的值”這條結論。(1)若有定義inta[2][3]={2,4,6,8,10,12};則*(&a[0][0]+2*2+1)的值為;*(a[1]+2)的值為。(2)若有以下定義語句inta[4]={0,1,2,3},*p;p=&a[2];則*--p的值為。(3)若有以下定義語句ints[2][3]={0},(*p)[3];p=s;則p+1表示。(4)認真理解教材中P225表10.1的含義及P255表10.2的各種指針的含義。4.易犯錯誤及糾正方法(1)在做實驗內(nèi)容(1)時,先分析運行結果,再上機運行,對照結果是否一致。(2)在做實驗內(nèi)容(2)時,先分析運行結果,注意靜態(tài)局部變量的特性,再上機運行,對照結果是否一致。(3)實驗內(nèi)容(4)的編程思路為

溫馨提示

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

最新文檔

評論

0/150

提交評論