c言語の基本事項のまとめ
DESCRIPTION
1.魔法のことば 2.変数 3.変数宣言 4~7.printf関数 8~9.scanf関数 10.演習問題 11~12.if関数 13.関係演算子 14.論理演算子 15~16.while関数 17.for関数 18.配列 19~21.自作関数 22~23.変数の有効範囲TRANSCRIPT
C言語まとめ
14年1月10日金曜日
魔法のことば#include<stdio.h>int main(){ ・・・処理・・・return 0;}
これはどんなプログラムでも必要なので今は必ず書くとだけ覚えておく!!
14年1月10日金曜日
変数主に使う変数はint型 整数 例 5 -4 999 -999 etcfloat型 実数 例 1.234 -1.234 π etcdouble型 実数 これは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型を出力したい場合は %dfloat型を出力したい場合は %fdouble型を出力したい場合も %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.2f\n%10.0f\n”,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日金曜日