SlideShare a Scribd company logo
1 of 24
Download to read offline
C言語まとめ

14年1月10日金曜日
魔法のことば
#include<stdio.h>
int main()
{
・・・処理・・・
return 0;
}
これはどんなプログラムでも必要なので
今は必ず書くとだけ覚えておく!!
14年1月10日金曜日
変数
主に使う変数は
int型
整数  例 5 -4 999 -999 etc
float型
実数
例 1.234 -1.234 π etc
double型 実数
これはfloat型の
           範囲を大きくしたもの
char型
文字  例 a b c 1 0 etc
                などがある
ちなみに文字列は で囲み
一文字の場合は で囲む
14年1月10日金曜日
変数宣言
変数宣言は必ず
int main()
{
の後に行う
整数型の x という変数を宣言したかったら
      int x;
float型の x と y という変数を宣言したかったら
float x,y;
このように一回に何個も宣言できるが
 型が違っても同じ変数名は宣言できない!!
14年1月10日金曜日
printf関数(1)
この関数は
  printf( 出力文字 );
が基本形で で囲まれた範囲の文字列が出力される
 の中に n があった場合は改行となる
その他にも t でタブ位置などがある
n は の中に何個でも書いて良い
変数を出力したい場合は
printf( %d ,x);
のようにすれば変数の中の値が出力される
14年1月10日金曜日
printf関数(2)
変数を出力したい場合に
int x=10
printf( %d ,x);
とあったら出力画面に 10 と表示される
この時に  ,(カンマ)を忘れないように!!
int型を出力したい場合は %d
float型を出力したい場合は %f
double型を出力したい場合も %f
を使う

14年1月10日金曜日
printf関数(3)
例えば %12f とあったら
float型変数を文字幅12文字で
        右詰めに表示するという意味です
%12.2f とあったら
float型変数を文字幅12文字で小数点以下2桁を
        右詰めに表示するという意味です
左詰めにしたい場合は - をつけます
これは %d などでも可能な機能です

14年1月10日金曜日
printf関数(4)
変数を2個以上出力したい場合は
    printf( %d %d.....%d ,a,b......,n);
となり%dと変数の個数は同じでないといけない
変数一個ごとに ,(カンマ)があるのに注意!!
問 float a=12.3456,b=55.456;
printf( %10.2fn%10.0fn ,b,a);
とあったらどのように出力されるか
14年1月10日金曜日
scanf関数(1)
scanf関数は変数の値を入力したいときに使う
scanf( %d ,&x); //xはこの場合int型
が基本形となる
入力が複数ある場合は
scanf( %d %d ,&x,&y);
となる
このときに変数一個ごとに & があるのに注意!!

14年1月10日金曜日
scanf関数(2)
またprintf関数と同様に
  int型の入力は
%d
float型の入力は
 %f
double型の入力は %lf
この時にprintf関数とは違い
           double型の時%lfに注意!!

14年1月10日金曜日
問題(1)
int型 float型 double型 char型 をそれぞれ1個づつ
変数宣言をして
int型 float型 double型 char型の順番に入力をして逆
の順番で出力するプログラムをつくれ
このとき出力は一文字ごとに改行すること

14年1月10日金曜日
if関数(1)
分岐したい場合に使う関数
使い方としては
if(条件文){
処理
   }
else if(条件文){ // if の条件に反したときにくる
処理
   }
else{
// else if の条件に反したときに来る
処理
}
14年1月10日金曜日
if関数(2)
主な使い方は前のページの書式だが
else if
else
はなくても可能
条件文のなかが 偽(0) だったらその処理には入らない
逆に 真(0以外) だったらその中の処理に入る
つまり意味はないが
if(1)
と書いてあったらその中の処理は必ず行われる

14年1月10日金曜日
関係演算子
a==b

aとbが等しかったら1を返し等しくなかったら0を   
返します
a!=b
aとbが等しくなかったら1を返し等しかったら1を
返します
a<b
aがbより小さかったら1を返しaがb以上だったら0を
    返します
a<=b
aがb以下だったら1を返しaがbより大きかったら0を
    返します
a>b
aがbより大きかったら1を返しaがb以下だったら0を
    返します
a>=b
aがb以上だったら1を返しaがbより小さかったら0を
    返します
14年1月10日金曜日
論理演算子
関係演算子を使って
a<x<b
と書きたいところだが、この書き方はダメ!!
そいうときに論理演算子を使う
a<x && x<b
と書くと上と同じ意味になる
a && b aとbが両方とも真(0以外)だったら1を返す
a¦¦b
aかbどちらか片方でも真(0以外)だったら1を返す
!a
aが真(0以外)だったら0を返し偽(0)だったら1を
  
返す
別の単元だが演算で%は余りを返す
x=a%d
だったらa/bの余りをxに代入という意味になる
14年1月10日金曜日
while関数(1)
while(条件文){
処理
}
という書き方
条件文が真(0以外)だったら繰り返す
逆に偽(0)だったら次の処理へ行く
最初から偽だったら}までとばす
例 int x=1;
while(x==0){
scanf( %d ,&x);
}
14年1月10日金曜日
while関数(2)
もし必ず1回は処理をしたい場合は
do{
処理
}while(条件文)
と書くと必ず1回は処理を行う
前ページの例をこの形で書くと
int x;
do{
scanf( %d ,&x);
}while(x==0)
          となる
14年1月10日金曜日
for関数
for(初期値;終了条件;増減値)
{
処理
}
という書き方をする
初期値  上から順番に来たときに行う処理
終了条件 真(0以外)なら繰り返し、偽(0)ならforから抜ける
増減値  下からきたときに行う処理
例 int i,wa=0;
for(i=0;i<=5;i++){
//i++はi=i+1という意味
wa=wa+i;
}
14年1月10日金曜日
配列
配列は同じ型のデータを集めて名前をつけたもの
例えば int a[10];
int型のa[0] a[9]が確保される
a[0]=10;
aの0番目に10を代入
a[9]=1;
aの9番目に1を代入
a[10]=0;
不正だがエラーがでないので注意!!
さらに配列は多次元にすることもできます
例えば int a[2][3]
x軸に3つy軸に2つの変数を確保すると 
 
            思うとイメージしやすいです
a[0]の0の部分を添え字といい、ここは変数でも可能
例えば int a[10],i=0;
a[i]=100;
aの0番目に100を代入

14年1月10日金曜日
自作関数(1)
まずプログラムは必ず
int main()
から始まります
int main()
これもmain という名前の関数になります
自作関数は
戻り値の型 関数名(引数){
処理
}
となります

14年1月10日金曜日
自作関数(2)
戻り値とはmain関数に戻す型を示します
例えば int wa(){
return 5+3;
}
というwa関数を作ったとしたら、戻り値はint型となります
main関数に返したい値は
     return 値または変数名
で返すことができますが1個の値しか返すことができません
main関数では
int i;
i=wa();
となります

14年1月10日金曜日
自作関数(3)
引数とは自作関数ではmain関数で使っている関数が使えません
そこでmain関数から持ってきたい数値をもらうのに使うのが引数で
す
例えば int wa(int a,int b){
a=a+b;
return a;
}
int main(){
int x,a=3,b=5;
x=wa(a,b);  //ここでaとbの値は変わらない
}
のように書きます
5と3は変数でも可能です
14年1月10日金曜日
変数の有効範囲(1)
自作関数の中でmain関数の中で宣言した変数は使えないと言いまし
たがその理由が変数の有効範囲です
例えば
{  //カッコの範囲をブロックと言う
int a,b,c;
float x,y,z;
{
a=b+c;
}
x=y+z;

//可能
//可能

}
{
b=a;
y=z;
}
14年1月10日金曜日

//ブロックが違うので不可能
//ブロックが違うので不可能
変数の有効範囲(2)
ブロックが違えば同じ変数名でも宣言は可能です
例えば
{
int a,b,c;
float x,y,z;
処理
}
{
int x,y,z;
float a,b,c;
処理
}
これはすべて可能
14年1月10日金曜日

More Related Content

What's hot

【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第2回 ‟変数と型„
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第2回 ‟変数と型„【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第2回 ‟変数と型„
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第2回 ‟変数と型„和弘 井之上
 
MobileProgramming Variable/Constant/Type
MobileProgramming Variable/Constant/TypeMobileProgramming Variable/Constant/Type
MobileProgramming Variable/Constant/TypeYuichiro Takahashi
 
[Basic 10] 形式言語 / 字句解析
[Basic 10] 形式言語 / 字句解析[Basic 10] 形式言語 / 字句解析
[Basic 10] 形式言語 / 字句解析Yuto Takei
 
C++ tips2 インクリメント編
C++ tips2 インクリメント編C++ tips2 インクリメント編
C++ tips2 インクリメント編道化師 堂華
 
C++ tips 3 カンマ演算子編
C++ tips 3 カンマ演算子編C++ tips 3 カンマ演算子編
C++ tips 3 カンマ演算子編道化師 堂華
 
テキスト前処理用Pythonモジュールneologdnの紹介
テキスト前処理用Pythonモジュールneologdnの紹介テキスト前処理用Pythonモジュールneologdnの紹介
テキスト前処理用Pythonモジュールneologdnの紹介Yukino Ikegami
 

What's hot (7)

【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第2回 ‟変数と型„
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第2回 ‟変数と型„【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第2回 ‟変数と型„
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第2回 ‟変数と型„
 
C++ tips1 #include編
C++ tips1 #include編C++ tips1 #include編
C++ tips1 #include編
 
MobileProgramming Variable/Constant/Type
MobileProgramming Variable/Constant/TypeMobileProgramming Variable/Constant/Type
MobileProgramming Variable/Constant/Type
 
[Basic 10] 形式言語 / 字句解析
[Basic 10] 形式言語 / 字句解析[Basic 10] 形式言語 / 字句解析
[Basic 10] 形式言語 / 字句解析
 
C++ tips2 インクリメント編
C++ tips2 インクリメント編C++ tips2 インクリメント編
C++ tips2 インクリメント編
 
C++ tips 3 カンマ演算子編
C++ tips 3 カンマ演算子編C++ tips 3 カンマ演算子編
C++ tips 3 カンマ演算子編
 
テキスト前処理用Pythonモジュールneologdnの紹介
テキスト前処理用Pythonモジュールneologdnの紹介テキスト前処理用Pythonモジュールneologdnの紹介
テキスト前処理用Pythonモジュールneologdnの紹介
 

Viewers also liked

コードゴルフのススメ(C言語)
コードゴルフのススメ(C言語)コードゴルフのススメ(C言語)
コードゴルフのススメ(C言語)Fumihito Yokoyama
 
Minecraft Pi Editionをハックしてみよう
Minecraft Pi EditionをハックしてみようMinecraft Pi Editionをハックしてみよう
Minecraft Pi EditionをハックしてみようAkira Ouchi
 
ジーノ先生の文系的オブジェクト指向(1) - ジーノ誕生
ジーノ先生の文系的オブジェクト指向(1) - ジーノ誕生ジーノ先生の文系的オブジェクト指向(1) - ジーノ誕生
ジーノ先生の文系的オブジェクト指向(1) - ジーノ誕生Satoru Kodaira
 
プログラミングについて深く知る
プログラミングについて深く知るプログラミングについて深く知る
プログラミングについて深く知るHiroshi Oyamada
 
Aws その他の概要と勘所
Aws その他の概要と勘所Aws その他の概要と勘所
Aws その他の概要と勘所Fumihito Yokoyama
 
C言語講習会資料(前半)
C言語講習会資料(前半)C言語講習会資料(前半)
C言語講習会資料(前半)Yuki Sako
 
プログラムコーディングの準備体操
プログラムコーディングの準備体操プログラムコーディングの準備体操
プログラムコーディングの準備体操Miwako Ichijo
 
C言語講習会資料(後半)
C言語講習会資料(後半)C言語講習会資料(後半)
C言語講習会資料(後半)Yuki Sako
 
コードゴルフのススメ(C言語)
コードゴルフのススメ(C言語)コードゴルフのススメ(C言語)
コードゴルフのススメ(C言語)Fumihito Yokoyama
 
Ejectコマンド工作入門/Ejectコマンドユーザー会最新動向2014秋
Ejectコマンド工作入門/Ejectコマンドユーザー会最新動向2014秋Ejectコマンド工作入門/Ejectコマンドユーザー会最新動向2014秋
Ejectコマンド工作入門/Ejectコマンドユーザー会最新動向2014秋Akira Ouchi
 
12_C言語入門 - 読みやすいソースコードを書く
12_C言語入門 - 読みやすいソースコードを書く12_C言語入門 - 読みやすいソースコードを書く
12_C言語入門 - 読みやすいソースコードを書くbc_rikko
 
2_C言語入門 - VisualStudioについて
2_C言語入門 - VisualStudioについて2_C言語入門 - VisualStudioについて
2_C言語入門 - VisualStudioについてbc_rikko
 
さくらのVPSに来た攻撃観察記
さくらのVPSに来た攻撃観察記さくらのVPSに来た攻撃観察記
さくらのVPSに来た攻撃観察記ozuma5119
 
1-2_C言語入門 - プログラマに必要な能力
1-2_C言語入門 - プログラマに必要な能力1-2_C言語入門 - プログラマに必要な能力
1-2_C言語入門 - プログラマに必要な能力bc_rikko
 
Pythonスタートアップ勉強会201109 python入門
Pythonスタートアップ勉強会201109 python入門Pythonスタートアップ勉強会201109 python入門
Pythonスタートアップ勉強会201109 python入門Takayuki Shimizukawa
 

Viewers also liked (16)

コードゴルフのススメ(C言語)
コードゴルフのススメ(C言語)コードゴルフのススメ(C言語)
コードゴルフのススメ(C言語)
 
Minecraft Pi Editionをハックしてみよう
Minecraft Pi EditionをハックしてみようMinecraft Pi Editionをハックしてみよう
Minecraft Pi Editionをハックしてみよう
 
ジーノ先生の文系的オブジェクト指向(1) - ジーノ誕生
ジーノ先生の文系的オブジェクト指向(1) - ジーノ誕生ジーノ先生の文系的オブジェクト指向(1) - ジーノ誕生
ジーノ先生の文系的オブジェクト指向(1) - ジーノ誕生
 
プログラミングについて深く知る
プログラミングについて深く知るプログラミングについて深く知る
プログラミングについて深く知る
 
Aws その他の概要と勘所
Aws その他の概要と勘所Aws その他の概要と勘所
Aws その他の概要と勘所
 
C言語講習会資料(前半)
C言語講習会資料(前半)C言語講習会資料(前半)
C言語講習会資料(前半)
 
プログラムコーディングの準備体操
プログラムコーディングの準備体操プログラムコーディングの準備体操
プログラムコーディングの準備体操
 
C言語講習会資料(後半)
C言語講習会資料(後半)C言語講習会資料(後半)
C言語講習会資料(後半)
 
コードゴルフのススメ(C言語)
コードゴルフのススメ(C言語)コードゴルフのススメ(C言語)
コードゴルフのススメ(C言語)
 
Ejectコマンド工作入門/Ejectコマンドユーザー会最新動向2014秋
Ejectコマンド工作入門/Ejectコマンドユーザー会最新動向2014秋Ejectコマンド工作入門/Ejectコマンドユーザー会最新動向2014秋
Ejectコマンド工作入門/Ejectコマンドユーザー会最新動向2014秋
 
12_C言語入門 - 読みやすいソースコードを書く
12_C言語入門 - 読みやすいソースコードを書く12_C言語入門 - 読みやすいソースコードを書く
12_C言語入門 - 読みやすいソースコードを書く
 
2_C言語入門 - VisualStudioについて
2_C言語入門 - VisualStudioについて2_C言語入門 - VisualStudioについて
2_C言語入門 - VisualStudioについて
 
さくらのVPSに来た攻撃観察記
さくらのVPSに来た攻撃観察記さくらのVPSに来た攻撃観察記
さくらのVPSに来た攻撃観察記
 
1-2_C言語入門 - プログラマに必要な能力
1-2_C言語入門 - プログラマに必要な能力1-2_C言語入門 - プログラマに必要な能力
1-2_C言語入門 - プログラマに必要な能力
 
C言語超入門
C言語超入門C言語超入門
C言語超入門
 
Pythonスタートアップ勉強会201109 python入門
Pythonスタートアップ勉強会201109 python入門Pythonスタートアップ勉強会201109 python入門
Pythonスタートアップ勉強会201109 python入門
 

C言語の基本事項のまとめ