復習 配列変数の要素 5は配列の要素数 これらの変数をそれぞれ配列の要素と呼ぶ この数字を配列の添え字,またはインデックスと呼ぶ

Slides:



Advertisements
Similar presentations
プログラミング論 第八回数字の計算,整数の入出力. 本日の内容 前回の課題(続き) 前回の課題(続き) 数字の計算をする 数字の計算をする – 加減乗除を行う – インクリメント演算子とデクリメン ト演算子.
Advertisements

変数とその種類 変数とは何か? → データ ( 数値 ) を入れておく 箱 1000 変数名とは何か? → 箱に付ける名前 xy 変数名 変数の種類 ( 変数の型 ) → 入れるデータによって箱の種類が異なる int char float double その他たくさん integer (
1 例題 ex3b ( 配列 ) 科学科プログラミング. 2 例題 : ex3b  以下の 3 つについて例題を進める ステップ 1 :配列 ステップ 2 :最小と最大 ステップ 3 :文字型の配列.
復習 配列変数の要素 5は配列の要素数 これらの変数をそれぞれ配列の要素と呼ぶ この数字を配列の添え字,またはインデックスと呼ぶ
配列の宣言 配列要素の初期値 配列の上限 メモリ領域 多次元配列 配列の応用
復習 2次元配列 4列 j = 0 j = 1 j = 2 j = 3 i = 0 i = 1 i = 2 3行
復習 2次元配列 4列 j = 0 j = 1 j = 2 j = 3 i = 0 i = 1 i = 2 3行
演算、整数型と浮動小数点型 第3回目 [4月27日、H.16(‘04)] 本日のメニュー 1)前回の課題・宿題 2)ファイルサーバの利用
関数(1) 第11回 [6月29日、H.16(‘04)] 今日のメニュー 1 前回の課題 2 前回の宿題 3 いろいろな関数の演習 4 課題
半田利弘 鹿児島大学 大学院理工学研究科 物理・宇宙専攻
課題 1 キーボードから整数値を 1つ読み込み、その値の二乗と三乗を出力するプログラムを作れ。 動作例: % ./a.out
ファーストイヤー・セミナーⅡ 第8回 データの入力.
演算、整数型と浮動小数点型 第3回[平成16年4月27日(火)]:PN04ー03.ppt 今日の内容 1 復習 2 加減・乗除演算子
基礎プログラミングおよび演習 第9回
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
x y 復習 変数とその種類 変数名 数学の場合 未知数 「変数xに‥を代入し‥」 x = 5 x = 1.3
C言語 第2講 生物機能制御学講座 濱田 農学部7号館209室.
問題提起その 1 一文字ずつ文字(数字)を読み込み、それぞれの文字が何回入力されたかを数えて出力するプログラム。
文字配列の課題1 解説 /* a */ #include <stdio.h> main( ) { int i;
C言語 配列 2016年 吉田研究室.
理由:文字数より要素数の多い配列を用いた時に,文字列の最後を示すため
理由:文字数より要素数の多い配列を用いた時に,文字列の最後を示すため
データ構造とアルゴリズム論 第2章 配列(構造)を使った処理
精密工学科プログラミング基礎 第9回資料 (12/11 実施)
ちょっとした練習問題① 配列iroを['R', 'W', 'R', 'R', 'W' , 'W' , 'W']を宣言して、「W」のときの配列の番号をprintfで表示するようなプログラムを記述しなさい。
プログラミング応用 printfと変数.
プログラミング論 II 2008年10月30日 文字列
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
岩村雅一 知能情報工学演習I 第8回(C言語第2回) 岩村雅一
前回の練習問題.
第13章 文字の取り扱い方 13.1 文字と文字型変数 13.2 文字列 13.3 文字型配列への文字列の代入
第13章 文字の取り扱い方 13.1 文字と文字型関数 13.2 文字列 13.3 文字型配列への文字列の代入
第7回 プログラミングⅡ 第7回
復習 前回の関数のまとめ(1) 関数はmain()関数または他の関数から呼び出されて実行される.
復習 2次元配列 4列 j = 0 j = 1 j = 2 j = 3 i = 0 i = 1 i = 2 3行
プログラミング基礎B 文字列の扱い.
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
精密工学科プログラミング基礎Ⅱ 第4回資料 今回の授業で習得してほしいこと: 文字列の扱い ファイル入出力の方法 コマンドライン引数の使い方
情報理論2 第3回 小林 学 湘南工科大学 2011年10月25日 〒 神奈川県藤沢市辻堂西海岸1-1-25
2013年度 プログラミングⅡ ~ 計算してみよう ~.
2015年度 プログラミングⅡ ~ 計算してみよう ~.
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
情報処理Ⅱ 第2回:2003年10月14日(火).
C言語 はじめに 2016年 吉田研究室.
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
C言語ファミリー C# 高級言語(抽象的) Java オブジェクト指向 C++ C 機械語(原始的)
復習 2次元配列 4列 j = 0 j = 1 j = 2 j = 3 i = 0 i = 1 i = 2 3行
地域情報学 C言語プログラミング 第2回 変数・配列、型変換、入力 2017年10月20日
x y 復習 変数とその種類 変数とは何か? →データ(数値)を入れておく箱 変数名 変数名とは何か?
復習 breakとcontinueの違い int i; for (i = 1; i <= 100; i++) { ・・・処理1・・・・
復習 Cにおけるループからの脱出と制御 break ループを強制終了する.if文と組み合わせて利用するのが一般的. continue
第13章 文字の取り扱い方 13.1 文字と文字型変数 13.2 文字列 13.3 文字型配列への文字列の代入
ネットワーク・プログラミング Cプログラミングの基礎.
復習 breakとcontinueの違い int i; for (i = 1; i <= 100; i++) { ・・・処理1・・・・
精密工学科プログラミング基礎 第7回資料 (11/27実施)
地域情報学 C言語プログラミング 第3回 入力、if文、for文 2016年11月25日
情報実習I (第1回) 木曜4・5限 担当:北川 晃.
プログラミング 4 文字列.
精密工学科プログラミング基礎Ⅱ 第2回資料 今回の授業で習得してほしいこと: 配列の使い方 (今回は1次元,次回は2次元をやります.)
情報処理Ⅱ 第2回 2004年10月12日(火).
第3回簡単なデータの入出力.
地域情報学 C言語プログラミング 第3回 入力、if文、for文 2017年11月1日
情報処理Ⅱ 2005年11月25日(金).
プログラミング基礎a 第5回 C言語によるプログラミング入門 配列と文字列
プログラミング入門2 第5回 配列 変数宣言、初期化について
第2章 数値の入力と変数 scanfと変数をやります.
知能情報工学演習I 第9回(後半第3回) 課題の回答
復習 いろいろな変数型(2) char 1バイト → 英数字1文字を入れるのにぴったり アスキーコード → 付録 int
プログラミング演習I 補講用課題
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
Presentation transcript:

復習 配列変数の要素 5は配列の要素数 これらの変数をそれぞれ配列の要素と呼ぶ この数字を配列の添え字,またはインデックスと呼ぶ int x[5]; x[0] x[1] x[2] x[3] x[4] これらの変数をそれぞれ配列の要素と呼ぶ この数字を配列の添え字,またはインデックスと呼ぶ !重要! 添え字の最大値 = 要素数ー1 int x = 7; float aa[x]; int x = 7; float aa[7]; !重要! 配列宣言時の要素数は定数でなければならない

復習 配列変数の初期化(2) 要素数の指定が無い! 自動的に設定される これと同じ意味 int c[] = {3, 4, 5, 100, 200, 300}; 要素数の指定が無い! 自動的に設定される int c[6] = {3, 4, 5, 100, 200, 300}; これと同じ意味 int b[5]; b[5] = {10, 20, 25, 35, 40}; int c[7]; c[] = {3, 4, 5, 8, 100, 200, 300}; 初期化は配列変数の宣言と同時でなければならない. 宣言文と代入文の二つの文に別れてはいけない

復習 配列変数の使用例(2) データの合計値を求める例 int i; float aa[10]; // 配列の宣言 // データの入力 for (i = 0; i < 10; i++) { printf("値を入力してください"); scanf("%f", &aa[i]); } // データの合計を計算 float sum = 0; printf("%d番目のデータは%f\n", i, aa[i]); sum = sum + aa[i]; printf("合計値は%fである\n", sum);

復習 第2回講習資料 いろいろな変数型(2) char 1バイト → 英数字1文字を入れるのにぴったり 1バイト → 英数字1文字を入れるのにぴったり アスキーコード → 文字と文字列で学習 int 4バイト もっとも標準的な整数型 2進法で10進実数を表わすので誤差がある (有効数字8桁程度) float 4バイト 単精度実数型(単精度浮動小数点型) double 8バイト 倍精度実数型(倍精度浮動小数点型) floatより高精度(有効数字15桁程度)

漢字変換無しでキーボードから直接入力できる半角文字 アスキーコード表

ASCIIコードは32~126までの番号(コード表参照) → 1バイトで表せる → char型変数を利用 文字 a A b B z Z 0 1  9  = + ? / ! など 英数字記号 → ASCIIコードで番号付け ASCIIコードは32~126までの番号(コード表参照) → 1バイトで表せる → char型変数を利用 キーボードから直接入力できる半角文字 注:この授業では日本語文字のプログラムは扱わない char型変数moji1に65を代入 char moji1, moji2, xx, yy; moji1 = 65; moji2 = 'A'; xx = '0'; yy = 0; 大文字AのASCIIコード 65を代入 文字'0'のASCIIコード 48を代入 数値0を代入

変換文字%cは文字コードを文字に変換する 文字の出力 char moji1, moji2, xx; moji1 = 65; moji2 = 'A'; xx = '0'; printf("moji1は%d,moji2は%d,xxは%dである.\n", moji1, moji2, xx); printf("moji1は%c,moji2は%c,xxは%cである.\n", moji1, moji2, xx); moji1は65,moji2は65,xxは48である. moji1はA,moji2はA,xxは0である. 変換文字%cは文字コードを文字に変換する char aa; printf("文字を一つ入れてください:"); scanf("%c", &aa); printf("ASCIIコードは%d,文字は%cである.\n", aa, aa); 文字の入力 文字を一つ入れてください:1 ASCIIコードは49,文字は1である.

理由:文字数より要素数の多い配列を用いた時に,文字列の最後を示すため C言語における文字列の取り扱い(1) 文字 a A b B z Z 0 1  9  = + ? / ! など 文字列 文字列は文字の集合 理由:文字数より要素数の多い配列を用いた時に,文字列の最後を示すため Hello  Kandai  programming  など 原則:C言語では文字列をchar型配列で扱う 必ず最後 にはコード0が入る 文字列Helloを文字配列s[6]に入れる場合 s[0] s[1] s[2] s[3] s[4] s[5] 文字数プラス1の要素数が必要 ↑ 'H' 72 ↑ 'e' 101 ↑ 'l' 108 ↑ 'l' 108 ↑ 'o' 111 ↑

配列宣言と同時に文字列を設定する方法(最後の0も自動的に入る) 文字列(文字配列)の初期化 文字列の設定 最後に0を入れる 必要な文字数より多めに宣言する char s[10]; s[0] = 'H'; s[1] = 'e'; s[2] = 'l'; s[3] = 'l'; s[4] = 'o'; s[5] = 0; 配列初期化の応用 char s[10] = {'H', 'e', 'l', 'l', 'o', 0}; It's New! 配列宣言と同時に文字列を設定する方法(最後の0も自動的に入る) char s[10] = "Hello"; char s[] = "Hello"; char s[10]; s[10] = "Hello"; s[0] = "Hello"; s[ ] = "Hello"; 配列宣言と同時でなくてはダメ!

文字列の入出力 文字列の出力 変換文字は%s 注意! [ ]を付けない 必要な文字数より多めに宣言 注意! &も[ ]も付けない aa[0], aa[1], ・・・ ⇒インデックスで指定された一つ一つの文字を表す aa ⇒ インデックスをつけないときはかたまりとしての文字列を表す 文字列の出力 char aa[] = "KANDAI"; printf("私は%s生です.\n", aa); 変換文字は%s 注意! [ ]を付けない 私はKANDAI生です. 必要な文字数より多めに宣言 注意! &も[ ]も付けない char aa[100]; printf("99文字以下で文字列を入力してください:"); scanf("%s", aa); printf("文字列は%sである.\n", aa); 文字列の入力 99文字以下で文字列を入力してください:Kandai 文字列はKandaiである. 最後の0も自動的に入る 変換 文字 は%s [ ]を付けない