プログラミング基礎a 第6回 C言語によるプログラミング入門 配列と文字列(その2)

Slides:



Advertisements
Similar presentations
オブジェクト指向言語・ オブジェクト指向言語演習 中間試験回答例. Jan. 12, 2005 情報処理技術基礎演習 II 2 オブジェクト指向言語 中間試験解説 1  (1) 円柱の体積(円柱の体積 = 底面の円の面積 x 高さ) を求めるプログラムを作成しなさい。ただし、出力結果は、入 力した底面の円の半径.
Advertisements

復習 配列変数の要素 5は配列の要素数 これらの変数をそれぞれ配列の要素と呼ぶ この数字を配列の添え字,またはインデックスと呼ぶ
復習 配列変数の要素 5は配列の要素数 これらの変数をそれぞれ配列の要素と呼ぶ この数字を配列の添え字,またはインデックスと呼ぶ
情報処理演習 (9)グラフィックス システム科学領域 日浦 慎作.
プログラミング実習(C言語) ハードウェアとソフトウェアとの関係の理解のためのプログラミング体験
15.1 文字列処理の基本 15.2 文字列処理用ライブラリ関数
ISD実習E 2009年6月29日 LISPシステム入門 (第5回) 関数ポインタ eval システム関数.
情報基礎演習B 後半第5回 担当 岩村 TA 谷本君.
数理情報工学演習第一C プログラミング演習 (第3回 ) 2014/04/21
データ構造とアルゴリズム 第10回 mallocとfree
基礎プログラミングおよび演習 第9回
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
C言語 第2講 生物機能制御学講座 濱田 農学部7号館209室.
文字配列の課題1 解説 /* a */ #include <stdio.h> main( ) { int i;
地理情報システム論 第3回 コンピュータシステムおける データ表現(1)
OSとコマンド OS:コンピュータを使うための基本プログラム コマンド:OS上で使用できる命令 OS本体であるカーネルの内部コマンド
12: コマンドライン引数 C プログラミング入門 総機1 (月1) Linux にログインし、以下の講義ページ を開いておくこと
12: コマンドライン引数 C プログラミング入門 基幹7 (水5) Linux にログインし、以下の講義ページ を開いておくこと
第8回 プログラミングⅡ 第8回
理由:文字数より要素数の多い配列を用いた時に,文字列の最後を示すため
理由:文字数より要素数の多い配列を用いた時に,文字列の最後を示すため
構造体.
配列の扱い、探索 有効範囲と記憶域期間 第12回 [7月10日、H.15(‘03)] 今日のメニュー 1 前回の課題の復習
精密工学科プログラミング基礎 第9回資料 (12/11 実施)
精密工学科プログラミング基礎Ⅱ 第3回資料 今回の授業で習得してほしいこと: 2次元配列の使い方 (前回の1次元配列の復習もします.)
プログラミング応用 printfと変数.
精密工学科プログラミング基礎 第10回資料 (12/18実施)
プログラミング 4 記憶の割り付け.
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
プログラミング基礎a 第10回 Javaによる図形処理入門(2) GUIの使い方
プログラミング入門2 第11回 情報工学科 篠埜 功.
前回の練習問題.
第13章 文字の取り扱い方 13.1 文字と文字型変数 13.2 文字列 13.3 文字型配列への文字列の代入
第13章 文字の取り扱い方 13.1 文字と文字型関数 13.2 文字列 13.3 文字型配列への文字列の代入
第7回 プログラミングⅡ 第7回
復習 前回の関数のまとめ(1) 関数はmain()関数または他の関数から呼び出されて実行される.
地域情報学 C言語プログラミング 第5回 ポインタ、関数、ファイル入出力 2017年11月17日
第11回 プログラミングⅡ 第11回
プログラミング基礎a 第10回 Javaによる図形処理入門(2) GUIの使い方
プログラミング基礎a 第7回 C言語によるプログラミング入門 ファイル入出力
プログラミング基礎B 文字列の扱い.
2005年度 データ構造とアルゴリズム 第6回 「ハッシュ法を用いた探索」
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
精密工学科プログラミング基礎Ⅱ 第4回資料 今回の授業で習得してほしいこと: 文字列の扱い ファイル入出力の方法 コマンドライン引数の使い方
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
配列変数とポインタ 静的確保と動的確保 ポインタ配列 2次元配列 時間計測 第1回レポートの課題
精密工学科プログラミング基礎Ⅱ 第5回資料 今回の授業で習得してほしいこと: 構造体 (教科書 91 ページ)
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
15.1 文字列処理の基本 15.2 文字列処理用ライブラリ関数
プログラミング序論演習.
プログラミング 3 2 次元配列.
地理情報システム論(総)/ 国民経済計算論(商)
第13章 文字の取り扱い方 13.1 文字と文字型変数 13.2 文字列 13.3 文字型配列への文字列の代入
プログラミング基礎a 第4回 C言語によるプログラミング入門 条件判断と反復
12: コマンドライン引数 C プログラミング入門 基幹7 (水5) Linux にログインし、以下の講義ページを開いておく こと
情報処理Ⅱ 2006年11月24日(金).
情報処理Ⅱ 第7回 2004年11月16日(火).
Nakano School of Business 経営情報ビジネス科 【 Java概論(Test4)】
プログラミング基礎a 第3回 C言語によるプログラミング入門 データ入力
プログラミング基礎a 第7回 C言語によるプログラミング入門 ファイル入出力
プログラミング 4 文字列.
情報処理Ⅱ 2005年11月25日(金).
プログラミング演習II 2004年11月 16日(第5回) 理学部数学科・木村巌.
15.1 文字列処理の基本 15.2 文字列処理用ライブラリ関数
プログラミング基礎a 第5回 C言語によるプログラミング入門 配列と文字列
情報処理Ⅱ 小テスト 2005年2月1日(火).
プログラミング基礎a 第3回 C言語によるプログラミング入門 データ入力
12: コマンドライン引数 C プログラミング入門 基幹2 (月4) Linux にログインし、以下の講義ページ を開いておくこと
計算機プログラミングI 第5回 2002年11月7日(木) 配列: 沢山のデータをまとめたデータ どんなものか どうやって使うのか
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
Presentation transcript:

プログラミング基礎a 第6回 C言語によるプログラミング入門 配列と文字列(その2) 2011.11.09 プログラミング基礎a 第6回 C言語によるプログラミング入門 配列と文字列(その2) 坂口 利裕

文字情報の扱い C言語における文字型 使い方 char (<character)の配列 プログラミング基礎a 2011.11.09 文字情報の扱い C言語における文字型 char (<character)の配列 (最大)10文字分の文字情報→10個の要素を持つchar型配列変数 ただし,実際には余分に1文字分必要。  使い方 読み取り:scanf(“%s”,name); /*配列名のみ*/ 表示:printf(“%s”,name) ; 四則演算:不可能 許される演算:比較・複写(代入)・連結 2011.11.09 プログラミング基礎a 坂口 利裕

文字データの扱い 内部的にはchar型の配列 char moji[4] ; の場合 プログラミング基礎a 2011.11.09 文字データの扱い 内部的にはchar型の配列 char moji[4] ; の場合 代入は「文字単位」で行う moji[0] = ’ s’ ; /* 両端はシングルクオート */ moji[1] = ’a’ ; moji[2] = ’k’ ; moji[3] = 0 ; /* 終端は0 : ‘0’ではない!*/ 文字列関数を使うと多少は楽 strcpy( moji, “sak”) ; 2011.11.09 プログラミング基礎a 坂口 利裕

文字関数・文字列関数 文字に使用できる主なもの 文字列に使用できる主なもの おまじない #include <ctype.h> を先頭に追記 文字種の判定 isupper(c)/islower(c) /isalpha(c)など 文字種の変換 toupper(c)/tolower(c)など 文字列に使用できる主なもの おまじない #include <string.h> を先頭に追記 文字列の長さ strlen(s) /* 有効な文字数 */ 文字列の複写 strcpy(target, source) ; /* 方向に注意 */ 2011.11.09 プログラミング基礎a

文字情報から数値情報への変換 関数を用いて数値化 おまじない #include <stdlib.h> を冒頭に追加 プログラミング基礎a 2011.11.09 文字情報から数値情報への変換 関数を用いて数値化 おまじない #include <stdlib.h> を冒頭に追加 float a ; int n ; の場合 a = atof(“123”) ; /* 実数に変換 */ n = atoi(“123”) ; /* 整数に変換 */ 2011.11.09 プログラミング基礎a 坂口 利裕

プログラム引数 プログラムを起動する際にオペレーティングシステムから渡される文字列の「配列」 main(int argc, char *argv[ ] ) { } 要素数が不定なので意図的に空っぽにしておく 渡された文字列の数 渡された文字列の配列 prog11 123 456 【データを追加してプログラムを起動する】 (OSが)分離して 文字データとして 設定して呼び出す argc → 3 argv[0] → “prog11.exe” (プログラム名) argv[1] → “123” argv[2] → “456”  2011.11.09 プログラミング基礎a

prog12.c の作成手順 先頭に #include <stdlib.h> を追加 基本形となる prog09d.c を複写 EmEditorで開いて「名前を付けて保存」 先頭に #include <stdlib.h> を追加 プログラム引数を定義 データ数をプログラム引数から求める データをプログラム引数から求める main( ) main( int argc, char *argv[ ] ) printf(“n ? ”) ; scanf(“%d”,&n) ; n = argc-1 ; for( i=0 ; i<n ; i=i+1 ) { printf(“x[%d]: “,d) ; scanf(“%g”,&x[i]) ; } for( i=0 ; i<n ; i=i+1 ) { x[i] = atof( argv[i+1] ) ; } 2011.11.09 プログラミング基礎a