文字配列の課題1 解説 /* a */ #include <stdio.h> main( ) { int i;

Slides:



Advertisements
Similar presentations
1 例題 ex3b ( 配列 ) 科学科プログラミング. 2 例題 : ex3b  以下の 3 つについて例題を進める ステップ 1 :配列 ステップ 2 :最小と最大 ステップ 3 :文字型の配列.
Advertisements

オブジェクト指向言語・ オブジェクト指向言語演習 中間試験回答例. Jan. 12, 2005 情報処理技術基礎演習 II 2 オブジェクト指向言語 中間試験解説 1  (1) 円柱の体積(円柱の体積 = 底面の円の面積 x 高さ) を求めるプログラムを作成しなさい。ただし、出力結果は、入 力した底面の円の半径.
復習 配列変数の要素 5は配列の要素数 これらの変数をそれぞれ配列の要素と呼ぶ この数字を配列の添え字,またはインデックスと呼ぶ
復習 配列変数の要素 5は配列の要素数 これらの変数をそれぞれ配列の要素と呼ぶ この数字を配列の添え字,またはインデックスと呼ぶ
情報・知能工学系 山本一公 プログラミング演習Ⅱ 第3回 配列(1) 情報・知能工学系 山本一公
15.1 文字列処理の基本 15.2 文字列処理用ライブラリ関数
プログラミング入門2 第10回 動的な領域確保 情報工学科 篠埜 功.
第2章 数値の入力と変数 scanfと変数をやります.
ファーストイヤー・セミナーⅡ 第8回 データの入力.
プログラミング入門2 第10回 構造体 情報工学科 篠埜 功.
プログラミング入門2 第10回 構造体 情報工学科 篠埜 功.
システムプログラミング 第5回 情報工学科 篠埜 功 ヒアドキュメント レポート課題 main関数の引数 usageメッセージ
基礎プログラミングおよび演習 第9回
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
C言語 配列 2016年 吉田研究室.
C言語講座 第4回 ポインタ.
第8回 プログラミングⅡ 第8回
理由:文字数より要素数の多い配列を用いた時に,文字列の最後を示すため
理由:文字数より要素数の多い配列を用いた時に,文字列の最後を示すため
構造体.
情報理論2 第6回 小林 学 湘南工科大学 2011年11月15日 〒 神奈川県藤沢市辻堂西海岸1-1-25
問題 1 キーボードから入力した数の合計を計算するプログラムを 作成せよ。最初に、何個の数を入力するかその数を入力 するようにする。
精密工学科プログラミング基礎 第9回資料 (12/11 実施)
第10回 プログラミングⅡ 第10回
情報工学科 3年生対象 専門科目 システムプログラミング 第5回、第6回 ヒアドキュメント レポート課題 情報工学科 篠埜 功.
C言語講座 第3回 ポインタ、配列.
ちょっとした練習問題① 配列iroを['R', 'W', 'R', 'R', 'W' , 'W' , 'W']を宣言して、「W」のときの配列の番号をprintfで表示するようなプログラムを記述しなさい。
プログラミング入門2 第7回 情報工学科 篠埜 功.
プログラミング論 II 2008年10月30日 文字列
第11回 宿題 出題日:12月21日 締切日:1月7日(木).
プログラミング序論 2. n人のインディアン.
プログラミング入門2 第8回 ポインタ 情報工学科 篠埜 功.
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
プログラミング入門2 第11回 情報工学科 篠埜 功.
今までの練習問題の復習.
前回の練習問題.
第13章 文字の取り扱い方 13.1 文字と文字型変数 13.2 文字列 13.3 文字型配列への文字列の代入
第13章 文字の取り扱い方 13.1 文字と文字型関数 13.2 文字列 13.3 文字型配列への文字列の代入
プログラミング入門2 第11回 情報工学科 篠埜 功.
第7回 プログラミングⅡ 第7回
復習 前回の関数のまとめ(1) 関数はmain()関数または他の関数から呼び出されて実行される.
地域情報学 C言語プログラミング 第5回 ポインタ、関数、ファイル入出力 2017年11月17日
高度プログラミング演習 (05).
プログラミング基礎B 文字列の扱い.
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
精密工学科プログラミング基礎Ⅱ 第4回資料 今回の授業で習得してほしいこと: 文字列の扱い ファイル入出力の方法 コマンドライン引数の使い方
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
オブジェクト指向言語論 第六回 知能情報学部 新田直也.
プログラミング言語論 第六回 理工学部 情報システム工学科 新田直也.
C言語 はじめに 2016年 吉田研究室.
プログラミング序論演習.
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
プログラミング基礎a 第6回 C言語によるプログラミング入門 配列と文字列(その2)
15.1 文字列処理の基本 15.2 文字列処理用ライブラリ関数
プログラミング入門2 第9回 ポインタ 情報工学科 篠埜 功.
高度プログラミング演習 (09).
復習 Cにおけるループからの脱出と制御 break ループを強制終了する.if文と組み合わせて利用するのが一般的. continue
第13章 文字の取り扱い方 13.1 文字と文字型変数 13.2 文字列 13.3 文字型配列への文字列の代入
地域情報学 C言語プログラミング 第4回 while文、do~while文、switch文、 2次元配列、ポインタ 2017年11月10日
プログラミング入門2 第5回 配列 for文 変数宣言 初期化
情報処理Ⅱ 第7回 2004年11月16日(火).
プログラミング 4 文字列.
情報処理Ⅱ 2005年11月25日(金).
15.1 文字列処理の基本 15.2 文字列処理用ライブラリ関数
プログラミング入門2 第5回 配列 変数宣言、初期化について
printf・scanf・変数・四則演算
第2章 数値の入力と変数 scanfと変数をやります.
プログラミング演習I 補講用課題
岩村雅一 知能情報工学演習I 第7回(後半第1回) 岩村雅一
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
Presentation transcript:

文字配列の課題1 解説 /* a601056 */ #include <stdio.h> main( ) { int i; 文字配列の課題1 解説 文字配列に “I am a student.” を入れておく。キーボードから数字を一つ入力すると、前から数えてその数字に当たる文字を一つ表示するプログラムを作成せよ。 例 入力が 3 のとき a を表示 解答例 /* a601056 */ #include <stdio.h> main( ) { int i; char m[16]=“I am a student.”; scanf(“%d”,&i); printf(“%c\n”,m[i-1]); }

普通の配列と文字配列の比較 #include <stdio.h> 基本的には同じ main() 相違点 { 初期化の方法 int i; char m[16]=“I am a student.”; scanf(“%d”,&i); printf(“%c\n”,m[i-1]); } 基本的には同じ 相違点 初期化の方法 最小限必要な要素数 文字配列: 文字数+1 普通の配列:データの数 #include <stdio.h> main() { int n,tuki[12]={31,28,31,30,31,30,31,31,30,31,30,31}; scanf(“%d”,&n); printf(“%d\n”,tuki[n-1]); }

文字配列の課題2 解説 /* a601170 */ #include <stdio.h> main( ) { 文字配列の課題2 解説 文字配列に “I am a student.” を入れておく。キーボードから文字を一つ入力すると、その文字が前から何番目かを表示するプログラムを作成せよ。 例 入力が s のとき 8 を表示 解答例 /* a601170 */ #include <stdio.h> main( ) { char t, m[16]=“I am a student.”; int i; printf(“moji?:”); scanf(“%c”,&t); for(i=0;i<=15;i=i+1) if(t==m[i]) printf(“%d\n”,i+1); }

配列と文字列 文字型変数の宣言 char 変数名; 変数1個に文字は1個 例: char moji; moji=‘a’; または char moji=‘a’; 変数1個に文字は1個 文字型配列の宣言 char 配列名[ 文字数 + 1 以上 ]; 例; char m[15 ]=“This is a pen.”; 配列要素の値。(上の変わりに下のように代入しても良い) m[0]=‘T’, m[1]=‘h’, m[2]=‘i’, m[3]=‘s’, m[4]=‘ ’, m[5]=‘i’, m[6]=‘s’, m[7]=‘ ’, m[8]=‘a’, m[9]=‘ ’, m[10]=‘p’, m[11]=‘e’,m[12]=‘n’, m[13]=‘.’, m[14]=‘\0’ 配列要素1個に文字は1個 自動的に入れられる

文字配列の要素数 配列の要素数の決め方には二通りある。 char 配列名[ 文字数 + 1 以上 ]=“文字列”; 例 char m[15 ]=“This is a pen.”;  char 配列名[ ] =“文字列”; 例 char m[ ]=“This is a pen.”; 自動的に文字数+1の大きさの配列となる。 ここは空っぽにしておく

キーボードからの文字列の入力 方法1 char mojiretu[100]; scanf(“%s”, mojiretu); 方法2 注意! &mojiretu ではない!! char mojiretu[100]; scanf(“%s”, mojiretu); 方法2 char mojiretu[100]; gets(mojiretu); scanf で は 空白は 入力終了と みなされる scanfとgetsの違い abcdef........ (空白なし) I am a student. scanf ○ × gets 文字列 入力関数

mojiretu[0]から、 \0 の入っている要素の一つ前 文字列の出力 方法1 mojiretu[0]から、 \0 の入っている要素の一つ前 まで出力 char mojiretu[100]; printf(“%s”, mojiretu); 方法2 char mojiretu[100]; int i=0; while(mojiretu[i]!=‘\0’) { printf(“%c”, mojiretu[i]); i++: } 文字の入っている配列の要素数があらかじめ分かっているならfor文でもよい

課 題 課題1 キーボードから英文を1行入力して配列に納め、それを出力 するプログラムを作成せよ。入出力の方法はどれでもよい。 report12.04.03 課題2 課題1で、入力された文字数(空白も含める)求めるプログラム を作れ。(‘\0’が出てくるまで文字数をカウントすればよい) report12.04.04 課題3 キーボードから2行英文を入力し、各行を別々の配列に納める。 2個の配列の内容をつないで一つの英文として3個目の配列に 納めて内容を表示せよ。 report12.04.05