「文字型の変数cに文字´a´を代入して、c,c+1,c+2の内容を文字として画面に作成せよ」がわかりません。教えてくれると助かります????
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/05/10 11:49
回答3件
0
ベストアンサー
C言語のコンソールアプリケーションだと仮定します。
「文字型の変数c」は以下のように宣言します。変数とは、変わる可能性のある値の入れ物だとでも考えてください。
c
1char c;
「文字型の変数cに文字´a´を代入する」とは、以下のように書きます。
c
1c = 'a';
これで変数 c には、'a' という値が入りました。
正確に言うと 'a' という文字の ASCII コード 97 (16進数だと61)が入ります。ここが分かっていないと文字に +1 とかするってどういうことやねん、となると思います。
ここで「cの内容を文字として画面に作成せよ」が「の内容を文字として画面に表示せよ」という意味であれば、次のように printf という関数を使用します。
c
1printf("%c\n", c);
ここで %c というのは出力指定子などと呼ばれ、%c の場合は、char 型の変数を受け取って文字として衆力する役割があります。"\n" は改行を表す特殊な文字列です。
なお、printf 関数を利用する場合は、studio.h というヘッダーファイルを読み込む必要があります。
ファイルの冒頭などで以下のように宣言します。
c
1#include <stdio.h>
同様に「c+1,c+2の内容を文字として画面に表示する」場合は、以下のように書きます。
c
1 printf("%c\n", c+1); 2 printf("%c\n", c+2);
これらを一つのプログラムとして書くと以下のようになります。
c
1#include <stdio.h> 2 3int main(void) 4{ 5 char c; 6 7 c = 'a'; 8 printf("%c\n", c); 9 printf("%c\n", c+1); 10 printf("%c\n", c+2); 11 12 return 0; 13}
これをコンパイルして実行すると以下のような出力が表示されます。
a b c
以上、できる限り丁寧に説明したつもりですが、ご理解いただけなければ、私の力不足です。
★★★★★★ 以下は読まなくても良いです。 ★★★★★★
三行程度だとあまり感じないかもしれませんが、
c
1 printf("%c\n", c); 2 printf("%c\n", c+1); 3 printf("%c\n", c+2);
の部分が同じこと書いていて、スマートじゃないと思ったら、繰り返し構文を使いましょう。
c
1#include <stdio.h> 2 3int main(void) 4{ 5 char c; 6 int index; 7 8 c = 'a'; 9 for (index=0; index<3; index++) { 10 printf("%c\n", c+index); 11 } 12 13 return 0; 14} 15
ただ、この例だと逆に行数が増えてしまうのでメリットを感じないかもしれません。
【c,c+1,c+2の内容を文字として一度に出力して良い場合】
c
1printf("%c %c %c\n", c, c+1, c+2);
のような書き方もあります。%c の個数分、引数を書くことができます。この辺を理解するためには、可変長引数について学ぶ必要があるかもしれません。
参考
投稿2020/05/10 09:49
編集2020/05/10 11:14総合スコア1773
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/05/10 10:47
2020/05/10 10:54
2020/05/10 11:20
2020/05/10 11:21
2020/05/10 11:29
退会済みユーザー
2020/05/10 12:16
2020/05/10 12:17
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。