南京郵政大学のC言語実験報告

南京郵政大学1v2のC言語実験報告

実験1シーケンス構造プログラミング演習

1.実験の目的と要件
(1)Microsoft Visual Studio 2010のコンピューター環境を初めて理解し、プロジェクトとファイルの作成、プログラムのコンパイル、リンク、実行、および単純な構文エラーの検出と変更について学習します。
(2)入力および出力処理関数scanf()、printf()、getchar()、putchar()を正しく呼び出して、データI / Oを実行し、出力形式を観察し、キーボード入力メソッドを習得します。
(3)事前にデバッガーを使用してプログラムを追跡し、変数の値の変化を観察します。

2.実験環境(実験装置)
ハードウェア:マイクロコンピュータ
ソフトウェア:Windowsオペレーティングシステム、Microsoft Visual Studio 2010

3.実験の原理と内容
実験のトピック(1)[実験教科書実験1のトピック1を参照]:ディスクDに学生IDにちなんで名付けられたフォルダーを作成します(例:B07020518)(今後の実験用のすべてのファイルはこのファイルに保存されますフォルダー); VS2010統合開発環境に正しく入り、単一ファイルプロジェクトを作成します。プロジェクト名はexp1_1です。次に、exp1_1.cという名前の新しい方法でソースファイルをプロジェクトに追加します。完了:キーボードから2つ入力します。整数aとbは、それらの合計、差の差、積積、商、平均aveを計算して出力します(aveと商の定義タイプに注意してください)。
特定の要件:
①プログラムを編集、コンパイル、接続、実行し、結果を観察します。
②exp1_1.obj、exp1_1.exe、exp1_1.cが配置されているフォルダを確認します。
③変数の商をそれぞれintとdoubleとして定義し、printf関数でフォーマット文字列を正しく使用します。読み取った2つの整数が4と5の場合、実行結果を観察して理由を分析し、変数の商をより正確にする方法を考えます。
④変数aveをそれぞれintとdoubleとして定義し、printf関数でフォーマット文字列を正しく使用します。読み取った2つの整数が4と5の場合、異なる実行結果を観察し、理由を分析します。
⑤プログラムを段階的に追跡し(F10キーを使用)、プログラムの各段階での各変数の変化を観察します。
実験的な答え:

①ソースコードは以下の通りです。

#include<stdio.h>
int main()
{
    
    
	int a,b,sum,difference,product,quotient,ave;
    printf("请输入两个整数a和b: ");
	scanf("%d,%d",&a,&b);
    sum=a+b;
	difference=a-b;
	product=a*b;
	quotient=a/b;
	ave=(a+b)/2;
	printf("sum=%d,difference=%d,product=%d,quotient=%d,ave=%d\n",sum,difference,product,quotient,ave);
	return 0;
}

#include<stdio.h>
int main()
{
    
    
	int a,b,sum,difference,product;
	double quotient,ave;
    printf("请输入两个整数a和b:");
	scanf("%d,%d",&a,&b);
    sum=a+b;
	difference=a-b;
	product=a*b;
	quotient=a*1.0/b;
	ave=(a+b)*1.0/2;
	printf("sum=%d,difference=%d,product=%d,quotient=%f,ave=%f\n",sum,difference,product,quotient,ave);
	return 0;
}


ファイルが存在するファイルのフルパス名(例:d:\ TTT \ t1.c)
exp1_1.cd
:\ ttt \ exp1_1.c exp1_1.obj D:\ TTT \ Debug \ exp1_1.obj
exp1_1.exe D:\ TTT \ Debug \ exp1_1.exe


商の種類は、商ステートメントの出力商フォーマット文字列を解きます画面に出力される商値
int quotient = a / b;%d 0
double quotient = a * 1.0 / b;%f 0.800000

実行結果、理由、および正しい結果を保証するための測定値の
違い違い:商タイプがintの場合、結果には小数がありません。商タイプがdoubleの場合、結果には小数があり、a /1.0の場合の値はより正確です。
理由:変数タイプの違い、整数除算と実数除算の違い。
正しい結果を保証するための対策:除算を行うときは実数除算を使用してみてください。

aveのタイプはaveの文を解決し、aveのフォーマット文字列は画面に出力されるave値です
int ave =(a + b)/ 2;%d 4
double ave =(a + b)* 1.0 / 2;%f 4.500000

実行結果と理由の
違い違い:aveタイプがintの場合、結果には10進数がありません。aveタイプがdoubleの場合、結果には10進数があり、(a + b)/1.0の場合に値がより正確になります。
理由:変数タイプの違い、整数除算と実数除算の違い。

実験トピック(2)[実験教科書実験1のトピック3を参照]:exp1_3.cをプログラムして、2つの整数aとbの交換を実現し、次のように考えさせます。実生活で2杯の水を交換するにはどうすればよいですか。
実験的な答え:
ソースプログラムexp1_3.cコードは次のとおりです。

#include <stdio.h>
int main( )
{
    
    
	int a,b,temp;
	printf("请输入两个整数:");
	scanf("%d,%d",&a,&b);
	temp=a;
	a=b;
	b=temp;
	printf("a=%d,b=%d\n",a,b);
    return 0;
}

実験トピック(3)[実験教科書実験1のトピック4を参照]:プログラムexp1_4.c、工場はシリンダーをコーティングし、コストは1平方センチメートルあたり10元で、キーボードからシリンダーの底面の半径(cm)を入力し、シリンダーの高さ(センチメートル)、シリンダーの表面積(平方センチメートル)と必要なコストを求め、出力結果は小数点以下2桁を維持する必要があります。
実験的な答え:
①ソースプログラムexp1_4.cのコードは次のとおりです。

#include<stdio.h>
#define PI 3.14159
int main()
{
    
    
	double r,h,area,fy;
    printf("请输入圆柱底面的半径和圆柱的高: ");
	scanf("%lf,%lf",&r,&h);
    area=2*PI*r*r+2*PI*r*h;
	fy=10*area;
	printf("area=%.2f,fy=%.2f\n",area,fy);
	return 0;
}         

②プログラムを数回実行し、下表の最初の列の要件に応じて異なるデータを入力します。下の表に記入してください
。入力データの要件。入力したデータ。プログラムの出力結果の
半径と高さはすべて正の整数です1,2 area = 18.85、 fy = 188.50
半径と高さは正の実数1.0、2.0面積= 18.85、fy = 188.50
半径と高さは負の数1、-2面積= -6.28、fy = -62.83
半径と高さは両方とも負-1 、-2 area = 18.85、fy = 188.50
その他のテストケース2,3area = 62.83、fy = 628.32

実験トピック(4)[実験教科書の実験1のトピック6を参照]:プログラムexp1_6.cを作成して、3桁の正の整数を入力し、数値の逆数を計算して出力します。例:入力789、出力987;
実験的解決策:ソースプログラムexp1_6.cのコードは次のとおりです。

#include<stdio.h>
int main()
{
    
    
	int x,a,b,c;
    printf("请输入一个三位整数:");
	scanf("%d",&x);
    a=x/100;
	b=x/10%10;
	c=x%10;
	printf("该数的逆序数=%d%d%d",c,b,a);
	return 0;
}    

4.実験の概要(問題と解決策、経験、意見と提案、実験エラーメッセージと解決策などを含む)
(1)
実験で遭遇した主な問題と解決策scanf関数は、入力変数のアドレスを提供し、PIを定義するときに、PIと3.14159の間に=)を追加し、それを実現して変更します。
(2)実験的経験
C言語学ぶには、基本を念頭に置き、問題を解決し、より良い表現を探求するために、より多くのことを実践し、試みる必要があります。
(3)意見や提案(省略できません)
学校のコンピューター室のコンピューターは、デバッグ中に常にクラッシュします

実験報告
5.卒業要件の指標点の
サポート1.2-Hコンピュータソフトウェアおよびハードウェア関連エンジニアリングの基本的な知識を習得し、それを使用して、コンピュータおよびアプリケーション分野の関連エンジニアリング問題を分析できます。
3.1-M複雑なエンジニアリング問題ソリューションを設計/開発するために必要な専門知識と開発ツールを習得します。

おすすめ

転載: blog.csdn.net/qq_46392282/article/details/109322480