第一篇:C實驗教案(清華)
實驗一
熟悉C語言程序開發(fā)環(huán)境
實驗目的:
1、了解計算機程序設計語言。
2、熟悉Turbo C集成環(huán)境。
3、正確啟動和退出Turbo C。實驗內(nèi)容: 1.熟悉Turbo C集成環(huán)境。
2.編寫一個在窗口中顯示字符的程序。#include
實驗二
數(shù)據(jù)描述
(一)實驗目的: 掌握C語言的運算符和表達式的正確使用方法。實驗內(nèi)容:
寫出以下程序的運行結果 #include
實驗二
數(shù)據(jù)描述
(二)實驗目的:
掌握C語言的運算符和表達式的正確使用方法。實驗內(nèi)容:
寫出以下程序的運行結果 #include
實驗三
順序結構程序設計
實驗目的:
掌握C語言的幾種基本數(shù)據(jù)類型和基本輸入/輸出函數(shù)的使用方法。實驗內(nèi)容:
1.編程列出在用戶的系統(tǒng)下各種數(shù)據(jù)類型的長度。#include
2.編程執(zhí)行下列語句后, a,b,c,d,e的值分別等于多少? 為什么? int a, b,c,w=10,x=20,y=30,z=40,d=10,e=60;a=b=c=10;++a||++b&&++c;(d=w>x)&&(e=y>z);
3.下面程序的功能是從鍵盤上輸入x=20, y=25.5, z=A, 然后將輸入的內(nèi)容從屏幕上輸出。調試程序,修改有錯誤的語句行, 并輸出正確的結果。main(){int x;float y;char z;scanf(“x=%d,y=%d,z=%c”,x,y,z);printf(“n x=%d,y=%d,z=%c”,x,y,z);getch();} 4.下面程序的輸出結果是什么? 并對輸出結果給予合理的解釋。main(){char ch;int k;ch=?A?;k=0;printf(“%d,%x,%o,%c”,ch,ch,ch,ch);printf(“k=%dn”,k);} 5.編寫一個程序, 從鍵盤輸入一個字符, 然后打印該字符的ASCII碼。
實驗四
選擇結構程序設計
實驗目的: 掌握結構化程序設計的的思想方法、C語言的基本控制結構和控制轉移語句。實驗內(nèi)容:
一、IF語句
判斷兩個數(shù)的大小
#include
main()
{
int x,y;
printf(“Enter integer x,y:”);
scanf(“%d,%d”,&x,&y);
if(x!=y)
if(x>y)printf(“X>Yn”);
else
printf(“X else printf(“X==Yn”); } 二、switch語句 1.閱讀下面的程序, 試分析該程序的運行結果。#include 實驗五 循環(huán)結構程序設計 實驗目的: 掌握結構化程序設計的的思想方法、C語言的基本控制結構和控制轉移語句。實驗內(nèi)容: 一、while語句 二、do-while語句 三、for語句 四、break和continue語句 求1加到100的和? main(){int i,s=0;i=1;while(i<=100){ s=s+i;i++;} printf(“%dn”,s);} 1、輸入兩個數(shù)M和N,求其最大公約數(shù)和最小公倍數(shù)。(用展轉相除法求之) 2、求Sn=a+aa+aaa+??+aa?a之值,其中a是一個數(shù)字。例如:2+22+222+2222+2222(此時n=5),n由鍵盤輸入。 3、求100-200之間的素數(shù)。 4、求1000內(nèi)的同構數(shù) 5、求完數(shù)。 6、求水仙花數(shù) 7、Fibonacci數(shù)列 8、自然數(shù)的階乘 9、閱讀下面的程序, 試分析該程序并指出該程序具有什么功能? #include 10、試編寫一個程序解決猴子吃桃問題。問題描述如下: 猴子第一天摘了N個桃子, 當即吃了一半, 又多吃了一個;第二天早上, 將剩下的吃了一半,又多吃了一個。以后每天如此, 等到第20天想吃桃子時, 就只剩下一個桃子了, N是多少? 實驗六 數(shù)組 (一)實驗目的: 掌握一維數(shù)組和二維數(shù)組的使用, 以及字符串處理函數(shù)的使用方法。 實驗內(nèi)容: 1.試寫出下面程序的運行結果。#include 4.用二維數(shù)組編寫程序: 讀入3個字符串, 然后反序輸出每個字符串以及每個字符串的長度。 實驗六 數(shù)組 (二)實驗目的: 掌握一維數(shù)組和二維數(shù)組的使用, 以及字符串處理函數(shù)的使用方法。實驗內(nèi)容: 5.試編寫程序解決母牛生母牛, 母牛何其多的問題。問題描述如下: 有一頭母牛, 它每一年生一頭小母牛, 而這頭小母牛在4 年后, 也是每一年生一頭小母牛, 小母牛4 年后還仍然如此。那么, 在20年內(nèi), 每一年的母牛數(shù)是多少。6.完善程序, 使其能打印出如下圖形。main(){static char a[]={?*?, ?*? , ?*? , ?*? , ?*?}; ***** int i,j,k;char space=? ?;for(i=0;i<2;i++) {printf("%c”,a[i]); } } 7.編寫程序,實現(xiàn): 輸入一行字符, 統(tǒng)計其中有多少個單詞, 單詞之間用空格分隔開。 8.試編寫程序實現(xiàn): 在三個字符串中, 找出其中最大者。 實驗七 函數(shù) (一)實驗目的: 掌握C語言函數(shù)的定義和調用方法, 學會編寫通用程序模塊, 掌握程序設計的基本方法,并編寫出具有清晰模塊結構的C程序。實驗內(nèi)容: 1.編寫程序計算C nm。 2.編寫程序解決漢諾塔問題。漢諾塔問題是這樣的: 有3個塔, 分別為A,B,C塔, 現(xiàn)在A塔上有64個盤子, 盤子大小不等, 并且大的始終在下, 小的在上?,F(xiàn)在要將64個盤子全部移到C塔上, 每次只許移動一個盤子, 移動過程中, 始終保持大的在下, 小的在上, 可以借助B塔。 實驗七 編譯預處理 (二)實驗目的: 掌握編譯預處理功能的使用。實驗內(nèi)容: 1.如果要求a,b中的最大值,使用帶參數(shù)宏定義如何編程來實現(xiàn)。 2.輸入一行字母字符, 根據(jù)需要設置條件編譯, 使之能將字母全必為大寫輸出, 或全改為小寫字母輸出, 編寫程序。 3.試利用宏定義編寫程序實現(xiàn)兩個數(shù)交換位置。4.試寫出下面程序段的運行結果。#define PR(ar)printf(“%d”,ar)main(){int j,a[]={1,3,5,7,9,11,13,15},I=5;for(j=3;j;j--){switch(j) {case 1: case 2: PR(a[I++]);break; case 3: PR(a[--I]; }}} 5.設有以下程序, 為使之正確運行, 請在____中填入應包含的命令行。___________ main(){int x=2,y=3;printf(“%dn”,pow(x,y));} 實驗八 指針 實驗目的: 掌握C語言有關指針的概念, 正確使用指針變量、指針數(shù)組、字符串指針和二級指針, 編寫簡捷、高效的程序, 掌握指針的運算。實驗內(nèi)容: 1.通過下面的程序理解指針與數(shù)組的關系。main(){int a[5],*p,i;for(i=0;i<5;i++)a[i]=i+1;p=a;for(i=0;i<5;i++){printf(“[p+%d]=%dt”,i,*(p+i));printf(“a[%d]=%dn”,i,a[i]);}} 2.指出下面程序中的錯誤, 并說明錯誤的原因。main(){int *p,i;char *q,ch;p=&i;q=&ch;*p=40;*p=*q;} 3.下面程序的運行結果是______。#include if(b<10)*p=b+48; else *p=b+55; p++; a=a/5;}while(a>0);*p=?