C語言上級實驗報告精選三篇
篇一:C語言程式設計 實驗報告---範例
C語言程式設計實驗報告
學號:
姓名:
1、設計一個函式fc,統計陣列中偶數和奇數的個數,陣列元素個數不多於10個。編寫main函式,正確呼叫fc函式,實現對陣列a的統計,輸出統計結果。
#include "stdio.h"
int j=0;
int fun(int a[],int n)
{
int i,c=0;
for(i=0;i<n;i++)
if(a[i]%2==0) c=c+1;
else j=j+1;
return(c);
}
int main()
{
int i,num[5];
for(i=0;i<5;i++)
scanf("%d",&num[i]);
printf("oushu: %d ",fun(num,5));
printf("jishu: %d ",j);
return 0;
}
篇二:C語言_上機實驗報告樣例
實 驗 報 告
課程名稱 程式設計語言C 實驗名稱 控制結構程式設計
姓 名
學 號
專業班級 材料1006
實驗日期
成 績
指導教師
一、 實驗目的
1. 學會正確使用關係運算符和關係表示式、邏輯運算子和邏輯表示式。
2. 掌握if語句和switch語句的結構和使用。
3. 掌握用while語句,do-while語句和for語句實現迴圈的方法。
4. 編寫含有選擇結構的程式
5. 練習迴圈程式的設計和除錯一、實驗目
P二,實驗內容。
1分段函式求最大值,
2. 儲存源程式,檔名為xt7-4.c
3. 執行程式,輸入5
程式輸出如下:
array a:
1 4 6 9 13 16 19 28 40 100
data:5
Now,array a:
1 4 5 6 9 13 16 19 28 40 100
習題7.6
1.開啟TC++3。1整合開發環境,編寫程式程式碼如下:
#include
#define N 11
void main()
{
int i,j,a[N][N];
for(i=1;i<N;i++)
{
a[i][i]=1;
a[i][1]=1;
}
for(i=3;i<N;i++)
for(j=2;j<=i-1;j++)
a[i][j]-a[i-1][j-1]+a[i-1][j];
for(i=1;i<N;i++)
{
for(j=1;j<=i;j++)printf("%6d",a[i][j]);
printf(" ");
}
printf(" ");
}
2.儲存源程式,檔名為xt7-6.c
3.輸出結果:
1
1
1
1
1
1
1
1
1
1 1 2 1 3 3 1 4 6 4 1 5 10 10 5 1 6 15 20 15 6 1 7 21 35 35 21 7 1 8 28 56 70 56 28 8 1 9 36 84 126 126 84 36 9 1
習題7.8
1.開啟TC++3。1整合開發環境,編寫程式程式碼如下:
#include
#define N 4
#define M 5
void main()
{
int i,j,k,a[N][M],max,maxj,flag;
printf("please input matrix: ");
for(i=0;i<N;i++)
for(j=0;j<M;j++)
scanf("%d",&a[i][j]);
for(i=0;i<N;i++)
{
max=a[i][0];
maxj=0;
for(j=0;j<M;j++)
if(a[i][j]>max)
{
max=a[i][j];
maxj=j;
}
flag=1;
for(k=0;k<N;k++)
if(max>a[k][maxj])
{
flag=0;
continue;}
if(flag)
{
printf("a[%d][%d]=%d ",i,maxj,max);
break;
}
}
if(! flag)
printf("It is not exist! ");
}
2.儲存源程式,檔名為:xt7-8.c
3.輸入please input matrix:
1
2
3
4 2 3 4 5 4 6 8 10 6 9 12 15 8 12 16 20
輸出結果:a[0][4]=5
五、實驗分析和總結
1. 本程式的'功能是將數以陣列輸入,結合迴圈進行排序,運算等, 演算法的基本思想是進
行陣列引用。
2. 程式編譯和執行時出現瞭如下錯誤:
陣列中分號亂用
出錯的原因和除錯(糾錯)步驟如下:
對陣列引用不夠熟練,理解不夠透徹。
3. 通過編寫本程式,有如下,體會:陣列引用很方便,能使大量運算簡化。
篇三:C語言實驗報告
C語言程式設計實驗報告
1 實驗目的
第一個實驗:
1熟練掌握順序結構程式設計; ○
○2學會正確使用邏輯運算子及邏輯表示式;
○3熟練掌握if、ifelse、ifelse if語句,掌握if語句中的巢狀關係和匹配原則,利用if語句實現分支選擇結構;
○4熟練掌握switch語句格式及使用方法,利用switch語句實現分支選擇結構 ○5掌握簡單、常用的演算法,並在程式設計過程中體驗各種演算法的程式設計技巧,進一步學習除錯程式,掌握檢查語法錯誤和邏輯錯誤的的方法。
第二個實驗:
○1熟練掌握while語句、do-while語句和for語句格式及使用方法,掌握三種迴圈控制語句的迴圈過程以及迴圈結構的巢狀,利用三種迴圈語句實現迴圈結構; ○2掌握簡單、常用的演算法,並在程式設計過程中體驗各種演算法的程式設計技巧; ○3進一步學習除錯程式,掌握語法錯誤和邏輯錯誤的檢查方法。
2 實驗內容
第一個實驗:
輸入一個整數m,將其數值按照大於0,小於等於0兩個類別分類顯示。 要求:
1該程式利用if-else語句實現; ○
2將變數m定義為整型; ○
3通過scanf函式輸入變數m的值; ○
4輸入整數m前,利用puts()或printf()給出提示資訊; ○
5輸出結果時有必要的說明,例如:輸入358時,顯示 358 ○is greater than 0,輸入-23時,顯示 -23 is less than or equal to 0;
6執行程式,分別輸入123,0,-22,並檢查輸出資訊的的正確性。 ○
第二個實驗:
輸入一串字元(以回車鍵結束),統計其中數字、大寫字母、小寫字母、以及其他字元的個數。
要求:
1通過鍵盤輸入字串;○
2在輸入字串之前給出相應提示;○
3按照數字、大寫字母、小寫字母和其他字元數的順序輸出結果。○
3 演算法描述流程圖
4 源程式
第一個實驗:
#include
main()
{
int m;
scanf("%d",m);
printf("enter a character:");
{
if(m>0)
printf("%d is greater than 0",m);
else
printf("%d is less than or equal to 0",m);
}
}
第二個實驗:
#include
#include
main()
{
char c;
int w=0,x=0,y=0,z=0;
printf("enter characters:");
while((c=get))!=' ')
{
if((c>='0'&&c<='9'))
w++;
else if(c>='A'&&c<='Z')
x++;
else if(c>='a'&&c<='z')
y++;
else
z++;
}
printf("w=%d,x=%d,y=%d,z=%d",w,x,y,z); }
5 測試資料
第一個實驗:
測試資料為:123,0,-22
第二個實驗:
所輸入的字串為:
6 執行結果
7 出現問題及解決方法
1第一個實驗中,○對於“printf("%d is greater than 0",m);”的輸入存在一些問題;通過查課本,找到類似輸出形式的寫法;
2第二個實驗中需要用到函式string,通過百度查閱弄懂這個函式的使用方法,○
還是對這個用法不太瞭解。
8 實驗心得
1對if,if-else,if-else if語句的使用方法及具體含義有了更深次的瞭解,○
對編寫條件控制結構的程式有了一定的認識和思路;
2對於do-whil
e,while瞭解不太深刻,○需要進一步學習和上機實驗的練習進行鞏固和熟練;
3對於除錯程式中出現的error和warning的解決方法有了更深的認識。 ○