Powered by SmartDoc

ソフトウェア概論A/B (2013/11/08)
Ver. 1.0

2013年11月8日
栗野 俊一
kurino@math.cst.nihon-u.ac.jp
http://edu-gw2.math.cst.nihon-u.ac.jp/~kurino/2013/soft/soft.html
ソフトウェア概論 A/B2013年11月8日 の資料

目次

講義資料

当日の OHP 資料

当日のOHP資料です。

講義で利用するサンプルプログラム

サンプルファイル

Download : sample-001.c ( SJIS 版 )

sample-001.c
/*
 * 2013/11/08 sample-001.c
 */

/*
 *  二つの関数からなるプログラム
 *
 * 利用方法
 *		コンパイル
 *			cc -Ic:\usr\c\include -o sample-001.exe sample-001.c
 *		実行
 *			sample-001
 */

#include <stdio.h>

/*
 * 関数 any_function
 *	double any_function ( char *string, int number )
 *		指定された文字列と整数値を表示し、返り値として、
 *		指定された数の 3 分の 1 の値を浮動小数点数として返す。
 *		# 関数としては、全く意味のない関数
 *		char *string : 表示する文字列
 *		int number : 表示する整数
 *		返り値 : number の 3 分の 1
 */

double any_function ( char *string, int number ) {

	/* 引数の表示 */
	printf ( "文字列 : %s, 整数値 : %d\n", string, number );

	return number/3.0;	/* 返り値 */

}

/*
 *	main (関数を呼ぶだけ)
 */

int main( int argc, char *argv[] )
{
	double ret;

	ret = any_function ( "abc", 123 );

	printf ( "返り値 : %f\n", ret );

	return 0;
}
sample-001.c の実行結果
C:\usr\c>sample-001
文字列 : abc, 整数値 : 123
返り値 : 41.000000
C:\usr\c> 

Download : sample-002-01.c ( SJIS 版 )

sample-002-01.c
/*
 * 2013/11/08 sample-002-01.c
 */

/*
 * ファイルの分割(2/2)
 *
 * 利用方法
 *		コンパイル
 *			cc -Ic:\usr\c\include -c sample-002-01.c
 *		実行
 *			sample-002-01
 */

#include <stdio.h>

/*
 * 関数 any_function
 *	double any_function ( char *string, int number )
 *		指定された文字列と整数値を表示し、返り値として、
 *		指定された数の 3 分の 1 の値を浮動小数点数として返す。
 *		# 関数としては、全く意味のない関数
 *		char *string : 表示する文字列
 *		int number : 表示する整数
 *		返り値 : number の 3 分の 1
 */

double any_function ( char *string, int number ) {

	/* 引数の表示 */
	printf ( "文字列 : %s, 整数値 : %d\n", string, number );

	return number/3.0;	/* 返り値 */

}

Download : sample-002.c ( SJIS 版 )

sample-002.c
/*
 * 2013/11/08 sample-002.c
 */

/*
 * ファイルの分割(1/2)
 *
 * 利用方法
 *		コンパイル
 *			cc -Ic:\usr\c\include -c sample-002.c
 *		実行
 *			sample-002
 */

#include <stdio.h>

/*
 *	main (関数を呼ぶだけ)
 */

int main( int argc, char *argv[] )
{
	double ret;

	ret = any_function ( "abc", 123 );

	printf ( "返り値 : %f\n", ret );

	return 0;
}
sample-002.c の実行結果
C:\usr\c>sample-002
文字列 : abc, 整数値 : 123
返り値 : 33.000000
C:\usr\c> 

Download : sample-003-01.c ( SJIS 版 )

sample-003-01.c
/*
 * 2013/11/08 sample-003-01.c
 */

/*
 * ファイルの分割(2/2)
 *
 * 利用方法
 *		コンパイル
 *			cc -Ic:\usr\c\include -c sample-003-01.c
 *		実行
 *			sample-003-01
 */

#include <stdio.h>

/*
 * 関数 any_function
 *	double any_function ( char *string, int number )
 *		指定された文字列と整数値を表示し、返り値として、
 *		指定された数の 3 分の 1 の値を浮動小数点数として返す。
 *		# 関数としては、全く意味のない関数
 *		char *string : 表示する文字列
 *		int number : 表示する整数
 *		返り値 : number の 3 分の 1
 */

double any_function ( char *string, int number ) {

	/* 引数の表示 */
	printf ( "文字列 : %s, 整数値 : %d\n", string, number );

	return number/3.0;	/* 返り値 */

}

Download : sample-003.c ( SJIS 版 )

sample-003.c
/*
 * 2013/11/08 sample-003.c
 */

/*
 * ファイルの分割(1/2)
 *
 * 利用方法
 *		コンパイル
 *			cc -Ic:\usr\c\include -c sample-003.c
 *		実行
 *			sample-003
 */

#include <stdio.h>

/*
 * 呼び出す関数のプロトタイプ宣言
 */

extern	double any_function ( char *string, int number );

/*
 *	main (関数を呼ぶだけ)
 */

int main( int argc, char *argv[] )
{
	double ret;

	ret = any_function ( "abc", 123 );

	printf ( "返り値 : %f\n", ret );

	return 0;
}
sample-003.c の実行結果
C:\usr\c>sample-003
文字列 : abc, 整数値 : 123
返り値 : 41.000000
C:\usr\c> 

Download : sample-004-01.c ( SJIS 版 )

sample-004-01.c
/*
 * 2013/11/08 sample-004-01.c
 */

/*
 * ファイルの分割(2/2)
 *
 * 利用方法
 *		コンパイル
 *			cc -Ic:\usr\c\include -c sample-004-01.c
 */

#include <stdio.h>
#include "sample-004-01.h"

/*
 * 関数 any_function
 *	double any_function ( char *string, int number )
 *		指定された文字列と整数値を表示し、返り値として、
 *		指定された数の 3 分の 1 の値を浮動小数点数として返す。
 *		# 関数としては、全く意味のない関数
 *		char *string : 表示する文字列
 *		int number : 表示する整数
 *		返り値 : number の 3 分の 1
 */

double any_function ( char *string, int number ) {

	/* 引数の表示 */
	printf ( "文字列 : %s, 整数値 : %d\n", string, number );

	return number/3.0;	/* 返り値 */

}

Download : sample-004.c ( SJIS 版 )

sample-004.c
/*
 * 2013/11/08 sample-004.c
 */

/*
 * ファイルの分割(1/2)
 *
 * 利用方法
 *		コンパイル
 *			cc -Ic:\usr\c\include -c sample-004.c
 *		実行
 *			sample-004
 */

#include <stdio.h>
#include "sample-004-01.h"

/*
 *	main (関数を呼ぶだけ)
 */

int main( int argc, char *argv[] )
{
	double ret;

	ret = any_function ( "abc", 123 );

	printf ( "返り値 : %f\n", ret );

	return 0;
}
sample-004.c の実行結果
C:\usr\c>sample-004
文字列 : abc, 整数値 : 123
返り値 : 41.000000
C:\usr\c> 

Download : sample-004-01.h ( SJIS 版 )

sample-004-01.h
/*
 * 2013/11/08 sample-004-01.h
 */

#ifndef	__FILENAME_H__
#define	__FILENAME_H__

/*
 * 関数のプロトタイプ宣言
 */

extern	double any_function ( char *string, int number );

#endif

講議中に作成したプログラム

本日の課題

Makefile作成し、それを20131108-QQQQ.mkとして提出する。