プログラム中に使われる記号などの意味を全て説明するのは、プログラムをか
なり作れるようになってからで十分であると思うので、意味より定型の形を覚えるようにして下さい。
例えば、#include <stdio.h>
や、printf
の
詳しい説明は膨大な量になりますが、習いはじめは画面に出力するために必要な手順として覚える方が目的にあってます。この場合の目的とは簡単なプログラムが作れることで、 C 言語の文法学を学んでいるのではありません。
例えば、簡単な英会話を学ぶ上で、「Hello」の厳密な意味を知る必要はないでしょう。
「授業が早い」に関しては、なんとか復習で追い付いて下さい。 こちらも工夫します。
また、全て自分の力でできることは重要ではありますが、この授業での合格点は理解ができるかどうかが重要です。 友人に教えてもらったりしても、最終的に授業の内容が理解できればまず合格だと思ってください。 授業中にすべて自力でできなくても、家での復習で自力でできるようになれば十分です。
画面に abcdefg を印刷するプログラムを書け
整数型変数i
は次のように定義されているとする。
int i=23;
画面にi
の内容を表示するプログラムを書け。
但し、出力は次のようになるのが望ましい。
The value of i is 23.
浮動小数点型変数x
は次のように定義されているとする。
float x=0.314E1;
画面にx
の内容を表示するプログラムを書け。
但し、出力は次のようになるのが望ましい。
変数 x の値は 3.14000.
文字型変数c
は次のように定義されているとする。
char c='a';
画面にc
の内容を表示するプログラムを書け。
但し、出力は次のようになるのが望ましい。
文字変数 c の値は 'a' である。
文字型の配列変数s
は次のように定義されているとする。
char s[]="abcdefg";
画面にs
の内容を表示するプログラムを書け。
但し、出力は次のようになるのが望ましい。
配列変数 s は文字列として abcdefg という値を持つ。
変数i
の値が 0 より大きかったら画面に「正の値」、0 より小
さかったら画面に「負の値」、 0 だったら「零」を表示するプログラムを書
きなさい。
(但し、あらかじめi
には次のように値が代入されているとする。)
int i=3;
あらかじめ浮動小数点の変数a, b
には次のように値が与えられているとする。
float a=3.0; float b=6.0;
このとき、a≠0
であるとき、一次方程式
a x + b = 0
の解を求め表示せよ。
あらかじめ浮動小数点の変数a, b
には次のように値が与えられているとする。
float a=3.0; float b=6.0;
この時、式
a x + b = 0
の解を求め表示せよ。但し、a
が 0 であっても正しく解を表示できるようにせよ。
整数変数n
は次のように値が代入されているとする。
int n=50;
このとき、画面に1
からn
までを表示するプログラムを書け。
整数変数n
は次のように値が代入されているとする。
int n=50;
このとき、画面に1
からn
までの和、つまり
1+2+3+...+n
の値を表示するプログラムを書け。
整数変数の配列に次のように値が代入されているとする。
int a[10]={5,4,2,0,1,9,7,3,8,6};
この時、画面に a[0] から a[9] までの値を表示するプログラムを書け。
整数変数の配列に次のように値が代入されているとする。
int a[10]={5,4,2,0,1,9,7,3,8,6};
この時、画面に a[0] から a[9] までの合計を表示するプログラムを書け。
浮動小数点変数の配列に次のように値が代入されているとする。
float x[10]={5.0,4.0,2.0,0.0,1.0,9.0,7.0,3.0,8.0,6.0};
この時、画面に x[0] から x[9] までの平均を表示するプログラムを書け。
文字列が次のように文字型配列変数に与えられているとする。
int k=6; char a[]="This is a sample string.";
このとき、文字列の k 文字目(つまり 6 文字目)を出力するプログラムを書け。
文字列が次のように文字型配列変数に与えられているとする。
char a[]="This is a sample string.";
このとき、この文字列の長さを出力するプログラムを書け。
文字列が次のように文字型配列変数に与えられているとする。
char a[]="This is a sample string.";
このとき、この文字列を逆向きに出力するプログラムを書け。
文字列が次のように文字型配列変数に与えられているとする。
char c='i'; char a[]="This is a sample string.";
このとき、この文字列中に変数 c の文字(つまり「i」)がいくつ使われているかを出力するプログラムを書け。
文字列が次のように文字型配列変数に与えられているとする。
char c='m'; char a[]="This is a sample string.";
このとき、この文字列中で最初に変数 c の文字(つまり「m」)が使われている 文字が何番目かを出力するプログラムを書け。
変数が次のように定義されているとする。
char a[]="-123"; int i;
このとき、i に a[] が示す数を代入し、i の値を出力するプログラムを書け。
変数が次のように定義されているとする。
char a[]="-123.02"; float x;
このとき、x に a[] が示す数を代入し、x の値を出力するプログラムを書け。
#include <stdio.h> main(){ printf("Hello, World!\n"); }
というプログラムは画面に Hello, World を表示する。
printf という関数は画面に文字を出力する関数である。
これを使うためには最初に
#include <stdio.h>
という行をつける必要がある。
C のプログラムは main(){ で始まり、 } で終る。その中に文を書く。 各文は「;(セミコロン)」で終る。
変数を使うには宣言をする必要がある。 変数には整数型(小数点が必要ない時)、浮動小数点型(小数点が必要な時)、文字型(一文字)がある。それぞれの宣言は次の通りである。
int i;
float x;
char c;
また配列の宣言は次のようにする。
int i[10];
float x[10];
char c[10];
これでそれぞれ
i[0]
からi[9]
、
x[0]
からx[9]
、
c[0]
からc[9]
、
の配列が使用できる。
文字型の配列は文字列を表現できる。文字列の最後には特殊な文字 '\0' を入れなければならない。
「\n」は改行を意味する。
printf で変数の内容を表示するには、最初の文字列で印刷する位置を % で指定し、 % の順番に対応するように変数を書く。
int i=3; printf("変数 i の値は %d\n",i);
float x=314E-2; printf("変数 x の値は %f\n",x);
char m='x'; printf("変数 m の値は %c\n",m);
char y[]="mojiretsu"; printf("変数 y の値は %s\n",y);
if 文の構文を使用すると、条件によりプログラムの流れを変えることができる。
if(条件) { 文 }
「条件」が成立したら「文」を実行する。
if(条件) { 文1 }else{ 文2 }
「条件」が成立したら「文1」を実行し、「条件」が成立しなければ「文2」を実行する。
条件は次のように書く
x==3
m!='t'
y>0.1
i<10
(y>=-0.1)&&(y<=0.1)
(a[i]==' ')||(a[i]=='\0)
while は条件が成立している間、文を繰り返すことができる。
while(条件) { 文 }
「条件」が成立している間、文を繰り返す。
while(a[i]==' ') { i=i+1; }
繰り返しにおいて、前処理、条件、後処理をまとめて指定する構文
for(前処理;条件;後処理) { 文 }
前処理を行った後、条件が成立している間、文と後処理を繰り返す。
sum=0; for(i=0;i<10;i=i+1) { sum=sum+b[i]; }
for は while の特殊な形なので、for が使える場面で while を利用しても間違いではない。但し、上記のように、変数 i の処理をまとめて書けるので、プログラムを読みやすくする工夫として有効である。 また、 for は良く使われる。プログラムを読む時には頻繁に出てくる。