第10章 char 文字列; 文字列を入力させるよ!.

Slides:



Advertisements
Similar presentations
第 2 章 数値の入力と変数 scanf と変数をやります 第 2 章 数値の入力と変数 1. 以下のプログラムを実行してみよう  C 言語では文の最後に「 ; 」(セミコロン)が付きます 第 2 章 数値の入力と変数 2 #include int main() { int x; x = 3; printf("x.
Advertisements

コンピュータープログラミング(C言語)(2) 1.文字列出力と四則演算 (復習) 2.関数と分割コンパイル
15.1 文字列処理の基本 15.2 文字列処理用ライブラリ関数
情報理論2 第4回 小林 学 湘南工科大学 2011年11月1日 〒 神奈川県藤沢市辻堂西海岸1-1-25
情報処理演習C2 ファイル操作について (2).
プログラミング入門2 第10回 動的な領域確保 情報工学科 篠埜 功.
第2章 数値の入力と変数 scanfと変数をやります.
プログラミング入門2 第7回 情報工学科 篠埜 功.
基礎プログラミングおよび演習 第9回
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
String - 文字列 2009年10月9日 7ADD2116 佐藤洋輔.
C言語講座 第4回 ポインタ.
第5回C言語講座 ~ポインタと配列.
精密工学科プログラミング基礎 第9回資料 (12/11 実施)
精密工学科プログラミング基礎Ⅱ 第3回資料 今回の授業で習得してほしいこと: 2次元配列の使い方 (前回の1次元配列の復習もします.)
C言語講座 第3回 ポインタ、配列.
ちょっとした練習問題① 配列iroを['R', 'W', 'R', 'R', 'W' , 'W' , 'W']を宣言して、「W」のときの配列の番号をprintfで表示するようなプログラムを記述しなさい。
プログラミング論 II 2008年10月30日 文字列
プログラミング 4 記憶の割り付け.
第10章 これはかなり大変な事項!! ~ポインタ~
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
プログラミング入門2 第11回 情報工学科 篠埜 功.
今までの練習問題の復習.
前回の練習問題.
知能情報工学演習I 第9回(後半第3回) 課題の回答
プログラミング入門2 第11回 情報工学科 篠埜 功.
岩村雅一 知能情報工学演習I 第10回(後半第4回) 岩村雅一
高度プログラミング演習 (08).
地域情報学 C言語プログラミング 第5回 ポインタ、関数、ファイル入出力 2017年11月17日
P n ポインタの基礎 5 q m 5 7 int* p; int 型の変数を指すポインタ int* q; int 型の変数を指すポインタ int n=5, m=7; int 型の変数 int array[3]; int* pArray[3]; p = &n; ポインタにアドレスを代入しているのでOK.
地域情報学 C言語プログラミング 第1回 導入、変数、型変換、printf関数 2016年11月11日
高度プログラミング演習 (05).
プログラミング基礎B 文字列の扱い.
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
精密工学科プログラミング基礎Ⅱ 第4回資料 今回の授業で習得してほしいこと: 文字列の扱い ファイル入出力の方法 コマンドライン引数の使い方
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
C言語 はじめに 2016年 吉田研究室.
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
15.1 文字列処理の基本 15.2 文字列処理用ライブラリ関数
第1章 いよいよプログラミング!! ~文章の表示 printf~
東京工科大学 コンピュータサイエンス学部 担当 亀田弘之
文字列へのポインタの配列 static char *lines[MAXLINES]; lines[0] NULL
高度プログラミング演習 (09).
高度プログラミング演習 (11).
C言語講座 制御(選択) 2006年 計算技術研究会.
第5章 まだまだ続く反復処理!! ~繰り返しその2 for~
変数を一度にたくさん宣言するよ! それだけじゃないよ!
東京工科大学 コンピュータサイエンス学部 担当 亀田弘之
第2章 printf(“変数と入力”); scanf(“%d”,&num);
ループだよ!難しいよ! 第5章 while(ループ);.
標準入出力、変数、演算子、エスケープシーケンス
第4章 double 小数型の変数;.
プログラミング 4 文字列.
ループだよ! 第7章 for(ループ応用);.
第7章 そろそろ int 以外も使ってみよう! ~データ型 double , bool~
第12章 乱数という業の深い存在 ~ランダムな値・他~
第3回簡単なデータの入出力.
15.1 文字列処理の基本 15.2 文字列処理用ライブラリ関数
湘南工科大学 2013年10月22日 情報理論2 湘南工科大学情報工学科 准教授 小林 学.
第2章 数値の入力と変数 scanfと変数をやります.
知能情報工学演習I 第9回(後半第3回) 課題の回答
第12章 ランダム関数.
C言語講座第5回 2017 構造体.
C言語講座 四則演算  if ,  switch 制御文.
岩村雅一 知能情報工学演習I 第13回(後半第7回) 岩村雅一
分岐(If-Else, Else if, Switch) ループ(While, For, Do-while)
岩村雅一 知能情報工学演習I 第7回(後半第1回) 岩村雅一
第1章 printf(“文字の出力\n”);
第13章 構造体 講習最後だよ!.
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
Presentation transcript:

第10章 char 文字列; 文字列を入力させるよ!

前回までのC++講座 intで作った関数はreturnで戻り値を返す voidでも関数が作れる 戻り値の値でintで関数を作るかdoubleで関数を作るか考える 第10章 文字列

練習問題 実行結果と同じになるようにプログラムを書いてください プログラムは逆順に出力する関数Reprintfを使用しています main関数 int main(){ int a[5]; for(int i=0;i<5;i++){ printf("Input a[%d] > ",i); scanf("%d",&a[i]); } Reprintf(a); return 0; 第10章 文字列

解答 void Reprintf(int a[]){ printf(“逆順に表示\n"); for(int i=0;i<5;i++) printf("a[%d] > %d\n",i,a[4-i]); } 第10章 文字列

文字列 #include<stdio.h> int main(){ char s; printf("input string > "); scanf("%c",&s); printf("%c\n",s); return 0; } char型の変数に半角英数1文字のみ入れられる 第10章 文字列

A:65 a:97 アスキーコード #include<stdio.h> int main(){ char s='A'; printf("%c\n",s); return 0; } A:65 a:97 第10章 文字列

文字列 #include<stdio.h> int main(){ int i; char s[128]; \0:ヌル文字 文字列の最後にはこれが入ってる どこまでが文字列かを知らせる記号 #include<stdio.h> int main(){ int i; char s[128]; printf("input strings > "); scanf("%s",s); for(i=0;s[i]!='\0';i++); printf(“文字の長さは%dです\n",i); return 0; } 第10章 文字列

練習問題 実行結果が同じになるように、プログラムを書いてください プログラムは小文字を大文字に、大文字を小文字に入れ替える関数replaceを使用しています int main(){ int i; char s[128]; printf("input strings > "); scanf("%s",s); for(i=0;s[i]!='\0';i++) s[i]=replace(s[i]); printf(“変換後:%s\n",s); return 0; } 第10章 文字列

解答 #include<stdio.h> char replace(char s){ if('A'<=s && s<='Z')return s+=32; else if('a'<=s && s<='z')return s-=32; else return s; } int main(){ int i; char s[128]; printf("input strings > "); scanf("%s",s); for(i=0;s[i]!='\0';i++) s[i]=replace(s[i]); printf("変I換・後a:F%s\n",s); return 0; 第10章 文字列

練習問題 実行結果が同じになるように、プログラムを書いてください プログラムは2つの文字列を入力し、その文字列をつなげる関数connectを使用しています int main(){ int i,j; char s[128],t[128]; printf("input string 1 > "); scanf("%s",s); printf("Input string 2 > "); scanf("%s",t); connect(s,t); printf(“つなげた文字列:%s\n",s); return 0; } 第10章 文字列

解答 void connect(char s[],char t[]){ int i,j; for(i=0;s[i]!='\0';i++); for(j=0;t[j]!='\0';j++){ s[i]=t[j]; i++; } s[i]='\0'; 第10章 文字列

次回予告 ポインタ わからなすぎてもうなんかアレ 第10章 文字列