Powered by SmartDoc

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

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

目次

講義資料

当日の OHP 資料

当日のOHP資料です。

Download

次の二つのファイルを、c:\usr\c\includeに保存する。

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

サンプルファイル

Download : sample-001.c ( SJIS 版 )

sample-001.c
/*
 * 2013/06/14 sample-001.c
 */

/*
 * 最初のプログラムは "Hello, World"
 */

#include <stdio.h>

/*
 *	main 関数
 */

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

printf ( "Hello, World\n" );	/* "Hello, World" という文字列と改行 ( "\n" ) を表示する */

  return 0;
}
sample-001.c の実行結果
C:\usr\c>sample-001
Hello, World
C:\usr\c> 

Download : sample-002.c ( SJIS 版 )

sample-002.c
/*
 * 2013/06/14 sample-002.c
 */

/*
 * include の役割
 */

/*
 *		include をコメントの中にいれたので、無効になる
 * #include <stdio.h>
 */

/*
 *	main 関数
 */

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

printf ( "Hello, World\n" );	/* "Hello, World" という文字列と改行 ( "\n" ) を表示する */

  return 0;
}
sample-002.c の実行結果
C:\usr\c>cc -o sample-002.exe sample-002.c
sample-002.c: 関数 'main' 内:
sample-002.c:22:2 警告: 組み込み関数 'printf' の互換性がない暗黙な宣言です [デファオルトで有効]
C:\usr\c>sample-002
Hello, World
C:\usr\c> 

Download : sample-003.c ( SJIS 版 )

sample-003.c
/*
 * 2013/06/14 sample-003.c
 */

/*
 * include の役割
 */

/*
 *		include をコメントの中にいれたので、無効になる
 * #include <stdio.h>
 */

/*
 *	main 関数
 */

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

	/*
     * printf もなくしたら
	 */

  return 0;
}
sample-003.c の実行結果
C:\usr\c>sample-003
C:\usr\c> 

Download : sample-004.c ( SJIS 版 )

sample-004.c
/*
 * 2013/06/14 sample-004.c
 */

/*
 * コマンドライン引数の扱い
 */

#include <stdio.h>

/*
 *	main 関数
 */

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

	printf ( argv[0] );		/* argv[0] にはコマンド名が入っている */
	printf ( "\n" );

	return 0;
}
sample-004.c の実行結果
C:\usr\c>sample-004
sample-004.exe
C:\usr\c> 

Download : sample-005.c ( SJIS 版 )

sample-005.c
/*
 * 2013/06/14 sample-005.c
 */

/*
 * コマンドライン引数の扱い
 */

#include <stdio.h>

/*
 *	main 関数
 */

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

	printf ( argv[1] );		/* argv[1] には最初の引数が入っている */
	printf ( "\n" );

	return 0;
}
sample-005.c の実行結果
C:\usr\c>sample-005 abc 123 xyz
abc
C:\usr\c> 

本日の課題

課題 20130614-01 : コマンドライン引数の最初の要素の最初の文字によって異る国の挨拶をする

Download : 20130614-01.c ( SJIS 版 )

20130614-01.c
/*
 * CDATE FILENAME
 *
 *	コマンド引数に言語(一文字)を指定し、その言語によって異る国の挨拶をする
 */

#include <stdio.h>

/*
 * hello ( char contry )
 *	char contry : 国を表す一文字
 *		j : 日本
 *		e : 英語
 *		c : 中国
 *		f : フランス語
 *		g : ドイツ語
 */

void hello ( char cmd ) {

	if ( cmd == 'j' ) {				/* 'j' の時は、日本語にする */
		printf ( "こんにちは\n" );
	} else if ( cmd == 'e' )	{	/* 'e' の時は、英語にする */
		printf ( "Hello\n" );
	} else if ( cmd == 'c' )	{	/* 'c' の時は、中国語にする */
		printf ( "ニイハオ\n" );
	} else if ( cmd == 'f' )	{	/* 'f' の時は、フランス語にする */
		printf ( "Bonjour\n" );
	} else if ( cmd == 'g' )	{	/* 'g' の時は、ドイツ語にする */
		printf ( "Guten tag\n" );
	} else {						/* どれでもなければ.. */
		printf ( "???\n" );
	}

}

/*
 *	main
 */

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

	/* 最初の引数の最初の文字を hello 関数に渡す */


	/*
	**	 この部分を完成させなさい
	*/


	return 0;
}
20130614-01.c の実行結果
C:\usr\c\> 20130614-01-QQQQ japanese
こんにちは
C:\usr\c\> 

Links