Powered by SmartDoc

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

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

目次

講義資料

当日の OHP 資料

Download

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

Download : sample-001.c ( utf8 版 )

sample-001.c
/*
 * 2016/06/17 sample-001.c
 */

/*
 * 文字の「計算」(1)
 */

#include <stdio.h>

/*
 * main 関数
 */

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

	putchar ( 'a' );		/* 文字「a」を出力する */
	putchar ( '\n' );		/* 文字「\n」(改行)を出力する */

	return 0;
}
sample-001.c の実行結果
$ ./sample-001.exe
a
$ 

Download : sample-002.c ( utf8 版 )

sample-002.c
/*
 * 2016/06/17 sample-002.c
 */

/*
 * 文字の「計算」(2)
 */

#include <stdio.h>

/*
 * main 関数
 */

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

	putchar ( 'a' + 1 );	/* 文字「a」に 1 を加えると... 「b」になる */
	putchar ( '\n' );

	putchar ( '1' + 1 );	/* 文字「1」に 1 を加えると... 「2」になる */
	putchar ( '\n' );

	putchar ( '9' + 1 );	/* 文字「9」に 1 を加えると... 「10」にならない */
	putchar ( '\n' );

	return 0;
}
sample-002.c の実行結果
$ ./sample-002.exe
b
2
:
$ 

Download : sample-003.c ( utf8 版 )

sample-003.c
/*
 * 2016/06/17 sample-003.c
 */

/*
 * 文字の「計算」(3)
 */

#include <stdio.h>

/*
 * main 関数
 */

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

	putchar ( 'e' - 1 );	/* 文字「e」から 1 を引くと... 「d」になる */
	putchar ( '\n' );

	putchar ( '5' - 1 );	/* 文字「5」から 1 を引くと... 「4」になる */
	putchar ( '\n' );

	putchar ( '0' - 1 );	/* 文字「0」から 1 を引くと... 「-1」にならない */
	putchar ( '\n' );

	return 0;
}
sample-003.c の実行結果
$ ./sample-003.exe
d
4
/
$ 

Download : sample-004.c ( utf8 版 )

sample-004.c
/*
 * 2016/06/17 sample-004.c
 */

/*
 * 文字の「計算」(4)
 */

#include <stdio.h>

/*
 * main 関数
 */

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

	printf ( "一文字を入力して、[Enter] を押してください : " );

	putchar ( getchar() + 1 );		/* 入力された文字の次の文字 */
	putchar ( '\n' );		/* 文字「\n」(改行)を出力する */

	getchar();	/* 改行を読み捨てる */

	printf ( "もう一度、一文字を入力して、[Enter] を押してください : " );

	putchar ( getchar() - 1 );		/* 入力された文字の前の文字 */
	putchar ( '\n' );		/* 文字「\n」(改行)を出力する */

	return 0;
}
入力例
B
i
sample-004.c の実行結果
$ ./sample-004.exe < sample-004.in
一文字を入力して、[Enter] を押してください : B
C
もう一度、一文字を入力して、[Enter] を押してください : i
h
$ 

Download : sample-005.c ( utf8 版 )

sample-005.c
/*
 * 2016/06/17 sample-005.c
 */

/*
 * 文字の「計算」(5)
 */

#include <stdio.h>

/*
 * main 関数
 */

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

	printf ( "英大字を入力して、[Enter] を押してください : " );

	putchar ( getchar() - 'A' + 'a' );		/* 大文字を小文字に変換 */
	putchar ( '\n' );		/* 文字「\n」(改行)を出力する */

	getchar();	/* 改行を読み捨てる */

	printf ( "英小文字を入力して、[Enter] を押してください : " );

	putchar ( getchar() - 'a' + 'A' );		/* 小文字を大文字に変換 */
	putchar ( '\n' );		/* 文字「\n」(改行)を出力する */

	return 0;
}
入力例
B
i
sample-005.c の実行結果
$ ./sample-005.exe < sample-005.in
英大字を入力して、[Enter] を押してください : B
b
英小文字を入力して、[Enter] を押してください : i
I
$ 

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

本日の課題

課題 20160617-01 : 「Hello, 自分の名前」と出力するプログラム(二度目)

Download : 20160617-01.c ( utf8 版 )

20160617-01.c
/*
 * 20160617-01-QQQQ.c
 *
 *	「Hello, 自分の名前」と出力するプログラム (二度目)
 *
 *	コンパイル :
 *		cc -c 20160617-01-QQQQ.c
 *		cc -o 20160617-01-QQQQ.exe 20160617-01-QQQQ.o
 *	実行 :
 *		./20160617-01-QQQQ.exe
 *
 */

#include <stdio.h>

/*
 * main
 */

int main ( int argc, char *argv ) {	/* コマンドライン引数を追加 */


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


  return 0;
}
20160617-01.c の実行結果
$ ./20160617-01-QQQQ.exe
Hello 栗野俊一
$ 

Links

関連 Link