変数を出力するためには
printf("%d\n",変数名);
とします。
1. int型の変数i,j,kを作りそれぞれ4,58,546を代入し出力せよ。
#include <stdio.h> void main(void) { int i,j,k; i = 4; j = 58; k = 546; printf("%d\n",i); printf("%d\n",j); printf("%d\n",k); }
2. 先ほどのi,j,kの合計をlに代入し出力せよ。
#include <stdio.h> void main(void) { int i,j,k,l; i = 4; j = 58; k = 546; l = i + j + k; printf("%d\n",l); }
3. 以下の式の実行順序を説明せよ。
int i=5; i+= (8+5*2)+(6<=i||3==i&&4>i)*2%1;
iがint型変数が5を記憶した状態で宣言される。 はじめに、(8+5*2)が計算され、(8+10)となり、18が出てくる。 次に、(6<=i||3==i&&4>i)が計算され、比較・等価の演算子が計算される。 かっこの中は、(0||0&&0)となり、0が出てくる。 ここまでをまとめると、i+= 18+0*2%1; という式になる。 次に、*が計算され、i+= 18+0%1; となる。 次は、%が計算され、i+= 18+0; となり、i+= 18; となる。 i+= 18+0; の代入演算子+=は、i = 18+5; という意味である。 よって、23がiに代入される。
4. 以下の出力が0になる理由を説明せよ。
int i=4,j=50; i=4/50; printf("%d\n",i);
iもjもint型変数で宣言されているので、小数点以下を記憶することができなくなっている。 小数点以下は切り捨てになるので、0がiに代入され、0が出力される。
出力が0.080000となるのは、次のようなソースコードである。
#include <stdio.h> void main(void) { float i=4.0; int j=50; i=4.0/50; printf("%f\n",i); }
以下の問題に回答すること。 但し出力には以下のようにする。
整数
printf("%d\n",変数名);
浮動小数
printf("%f\n",変数名);
すべての型の変数を作る。
#include <stdio.h> void main(void) {
char a; short int b; int c; long int d; float e; double f; //long double型は、エラーが発生するので、これ以降、省略する
}
すべての型の変数を作りその変数に代入する。その結果を出力する。
#include <stdio.h> void main(void) {
char a; short int b; int c; long int d; float e; double f; a = 'A'; b = 123; c = 123; d = 123; e = 1.23; f = 1.23; printf("%c\n",a); printf("%d\n",b); printf("%d\n",c); printf("%d\n",d); printf("%f\n",e); printf("%f\n",f);
}
すべての型の変数を作りその変数を初期化する。その結果を出力する。
#include <stdio.h> void main(void) {
char a = 'A'; short int b = 123; int c = 123; long int d = 123; float e = 1.23; double f = 1.23; printf("%c\n",a); printf("%d\n",b); printf("%d\n",c); printf("%d\n",d); printf("%f\n",e); printf("%f\n",f);
}
二つの適当な数の入ったint型の変数を2つ作りすべての演算子を試す。その結果を出力する。
#include<stdio.h> void main(void) {
int i = 10,j = 3; printf("%d %d %d %d %d\n", i+j, i-j, i*j, i/j, i%j); printf("%d %d %d %d %d\n", i<<j, i>>j, i&j, i|j, i^j);
}
二つの適当な数の入ったint型の変数を2つ作りすべての演算子を試す。その結果を出力する。
#include<stdio.h> void main(void) {
int i = 10,j = 3; i+=j; printf("+=%d\n",i); i-=j; printf("-=%d\n",i); i*=j; printf("*=%d\n",i); i/=j; printf("/=%d\n",i); i%=j; printf("%%=%d\n",i); i<<=j; printf("<<=%d\n",i); i>>=j; printf(">>=%d\n",i); i&=j; printf("&=%d\n",i); i|=j; printf("|=%d\n",i); i^=j; printf("^=%d\n",i);
}
二つの適当な数の入ったint型の変数を2つ作りすべての演算子を試す。その結果を出力する。
#include<stdio.h> void main(void) {
int i = 10,j = 3; printf("%d %d\n", i<j, i>j); printf("%d %d\n", i<=j, i>=j); printf("%d %d\n", i==j, i!=j);
}
int型とdouble型の変数を作り一方をもう一方に代入してみる。両方の結果を出力する。
#include<stdio.h> void main(void) {
int i = 1; double j = 3.14; i = j; printf("%d %f\n", i, j); j = i; printf("%d %f\n", i, j);
}
インクリメント、デクリメント、sizeof演算子を試す。
#include<stdio.h> void main(void) {
int i = 9; printf("%d\n",i++); printf("%d\n\n",i--); i = 9; i++; printf("%d\n",i); i--; printf("%d\n\n",i); printf("%d\n",sizeof(i));
}