More Related Content
牛タン会議 2019 @ 仙台 「C# ドキドキ ライブ!!」 小島の分 10_C言語入門 - 条件分岐について(論理演算子と条件演算子) 9_C言語入門 - 条件分岐について(switch case) Viewers also liked (20)
8_C言語入門 - 条件分岐について(if-else if-else) 2_C言語入門 - VisualStudioについて [C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui Similar to 12_C言語入門 - 読みやすいソースコードを書く (20)
MISRA-C2012とISO/IEC 9899:2011 at OSCNagoya2013 X hago2 shortcoding 20110827 Introduction to programming Who enjoy a coding standard? Who enjoy a coding standard? ver. 0.30 Cプログラマのためのカッコつけないプログラミングの勧め Recently uploaded (17)
8_「世の中の流行はどのようにして生まれるのか」学校法人聖ドミニコ学園竹野はるいpptx.pdf 12_「家族とは何か」星の杜中学校小倉ももこ『家族ってなに』inspirehigh.pdf 12_星の杜中学校小倉ももこ『家族ってなに』inspirehigh発表物.pdf 10_「孤独は敵なのか?」 桜花学園高等学校堀川愛可さんinspirehigh.pdf 13_「他者と自分、対立を防ぐには?」市原中央高等学校 大野リリinspirehigh.pdf My Inspire High Award 2024(岡田秀幸).pptx.pdf 3_「本当の『悪者』って何?」鷗友学園女子中学校_福島 雪乃さんinspirehigh.pdf 外国人が日本のテーブルマナーに驚く理由は?_公文国際学園高等部 角田 恵梨佳さん 11_「なぜ議会への関心が低いのか?」長野県長野西高等学校 片桐 菜々美さん.pdf 6_「老いることは不幸なこと?」植草学園大学附属高等学校森 珠貴さんinspirehigh.pdf PPT KANJI IRODORI SHOKYUU 1 BAB 9 (FURIGANA) 9_前田音葉さん:「Yakushima Islandってなんか変じゃない?」.pdf 14_「スーパーマーケットで回収されたキャベツ外葉は廃棄されているの?」公文国際学園高等部古澤琴子.pdf 7_「なぜ人は他人と違うところがあってもそれをなかなか誇れないのか?」明治大学付属中野八王子中学校宮本ゆりかさん.pdf 共同売店から考える沖縄の新しい流通のしくみ2025琉球大学流通原論講義資料.pdf 「なぜ、好きなことにいつかは飽きるの?」大塚莉子 - My Inspire High Award 2024.pdf 5_「AIと仲良くなるには?」日本大学東北高等学校南梨夢乃さんinspirehigh.pdf 12_C言語入門 - 読みやすいソースコードを書く
- 9. インデントをつかう 8
#include <stdio.h>
int main(void){
int a;
printf("西暦を入力してください。¥n");
printf("西暦 :");
scanf(“%d”,&a);
// 入力値を判定して「うるう年」、「平年」を表示する
if(0==a%400){
puts ("うるう年です。");
}else if(a%100==0){
printf("平年です。¥n");
}else if(0==a%4){
puts(“うるう年です。");
}else{
printf("平年です。¥n");
}
return 0;
}
#include <stdio.h>
int main(void){
int a;
printf(“西暦を入力してください。¥n”);
printf("西暦 :");
scanf(“%d”,&a);
// 入力値を判定して「うるう年」、「平年」を表示する
if(0==a%400){
puts(“うるう年です。");
}else if(a%100==0){
printf("平年です。¥n");
}else if(0==a%4){
puts(“うるう年です。”);
}else{
printf("平年です。¥n");
}
return 0;
}
インデントがないコード インデントをつかったコード
中括弧 {} がでてきたら
インデントをつける
- 10. スペースをつかう 9
#include <stdio.h>
int main(void){
int a;
printf(“西暦を入力してください。¥n”);
printf("西暦 :");
scanf(“%d”,&a);
// 入力値を判定して「うるう年」、「平年」を表示する
if(0==a%400){
puts("うるう年です。");
}else if(a%100==0){
printf("平年です。¥n");
}else if(0==a%4){
puts(“うるう年です。”);
}else{
printf("平年です。¥n");
}
return 0;
}
#include <stdio.h>
int main(void){
int a;
printf(“西暦を入力してください。¥n”);
printf("西暦 :");
scanf(“%d”, &a);
// 入力値を判定して「うるう年」、「平年」を表示する
if (0 == a % 400) {
puts("うるう年です。");
} else if (a % 100 == 0) {
printf("平年です。¥n");
} else if (0 == a % 4) {
puts(“うるう年です。”);
} else {
printf("平年です。¥n");
}
return 0;
}
スペースがないコード スペースをつかったコード
キーワードや式などの間に
スペースをいれる
※関数名と()の間にはスペース
を入れない
- 11. 改行をつかう 10
#include <stdio.h>
int main(void){
int a;
printf(“西暦を入力してください。¥n”);
printf("西暦 :");
scanf(“%d”, &a);
// 入力値を判定して「うるう年」、「平年」を表示する
if (0 == a % 400) {
puts("うるう年です。");
} else if (a % 100 == 0) {
printf("平年です。¥n");
} else if (0 == a % 4) {
puts(“うるう年です。”);
} else {
printf("平年です。¥n");
}
return 0;
}
#include <stdio.h>
int main(void){
int a;
printf(“西暦を入力してください。¥n”);
printf("西暦 :");
scanf(“%d”, &a);
// 入力値を判定して「うるう年」、「平年」を表示する
if (0 == a % 400) {
puts(“うるう年です。”);
} else if (a % 100 == 0) {
printf("平年です。¥n");
} else if (0 == a % 4) {
puts(“うるう年です。”);
} else {
printf("平年です。¥n");
}
return 0;
}
改行がないコード 改行をつかったコード
処理のグループごとに改行で区切る
※ このコードを例にとると
1. 変数の宣言
2. 数値の入力
3. 判定処理
- 12. 記述を統一する 11
#include <stdio.h>
int main(void){
int a;
printf(“西暦を入力してください。¥n”);
printf("西暦 :");
scanf(“%d”, &a);
// 入力値を判定して「うるう年」、「平年」を表示する
if (0 == a % 400) {
puts(“うるう年です。”);
} else if (a % 100 == 0) {
printf("平年です。¥n");
} else if (0 == a % 4) {
puts(“うるう年です。”);
} else {
printf("平年です。¥n");
}
return 0;
}
#include <stdio.h>
int main(void){
int a;
printf(“西暦を入力してください。¥n”);
printf("西暦 :");
scanf(“%d”, &a);
// 入力値を判定して「うるう年」、「平年」を表示する
if (a % 400 == 0) {
printf("うるう年です。¥n");
} else if (a % 100 == 0) {
printf("平年です。¥n");
} else if (a % 4 == 0) {
printf(“うるう年です。¥n”);
} else {
printf("平年です。¥n");
}
return 0;
}
統一されていないコード 統一されているコード
if文の条件は、
式を伴なう比較は、左辺に式を書く
不等号なら「左辺 < 右辺」
などなど
- 13. 適切な変数名をつける 12
#include <stdio.h>
int main(void){
int a;
printf(“西暦を入力してください。¥n”);
printf("西暦 :");
scanf(“%d”, &a);
// 入力値を判定して「うるう年」、「平年」を表示する
if (a % 400 == 0) {
printf("うるう年です。¥n");
} else if (a % 100 == 0) {
printf("平年です。¥n");
} else if (a % 4 == 0) {
printf(“うるう年です。¥n”);
} else {
printf("平年です。¥n");
}
return 0;
}
#include <stdio.h>
int main(void){
int year;
printf(“西暦を入力してください。¥n”);
printf("西暦 :");
scanf(“%d”, &year);
// 入力値を判定して「うるう年」、「平年」を表示する
if (year % 400 == 0) {
printf("うるう年です。¥n");
} else if (year % 100 == 0) {
printf("平年です。¥n");
} else if (year % 4 == 0) {
printf(“うるう年です。¥n”);
} else {
printf("平年です。¥n");
}
return 0;
}
意味のない変数名のコード 意味のある変数名のコード
yearなら変数に「年(西暦)」が
入っていることがわかる
- 14. コメントを使わず伝える 13
#include <stdio.h>
int main(void){
int year;
printf(“西暦を入力してください。¥n”);
printf("西暦 :");
scanf(“%d”, &year);
// 入力値を判定して「うるう年」、「平年」を表示する
if (year % 400 == 0) {
printf("うるう年です。¥n");
} else if (year % 100 == 0) {
printf("平年です。¥n");
} else if (year % 4 == 0) {
printf(“うるう年です。¥n”);
} else {
printf("平年です。¥n");
}
return 0;
}
#include <stdio.h>
int isLeapYear(int year) {
if (year % 400 == 0) {
return 1;
} else if (year % 100 == 0) {
return 0;
} else if (year % 4 == 0) {
return 1;
} else {
return 0;
}
}
int main(void){
int year;
printf(“西暦を入力してください。¥n”);
printf("西暦 :");
scanf(“%d”, &year);
if (isLeapYear(year)) {
printf("うるう年です。¥n");
} else {
printf("平年です。¥n");
}
return 0;
}
コメントがあるコード コメントを使わず伝えるコード
main処理に注目すると、
1. if(isLeapYear)だけでうるう年の
判定だとわかる
2. うるう年の判定条件を考えなくてよい
- 15. 冗長的な処理を削除する 14
#include <stdio.h>
int isLeapYear(int year) {
if (year % 400 == 0) {
return 1;
} else if (year % 100 == 0) {
return 0;
} else if (year % 4 == 0) {
return 1;
} else {
return 0;
}
}
int main(void){
int year;
printf(“西暦を入力してください。¥n”);
printf("西暦 :");
scanf(“%d”, &year);
if (isLeapYear(year)) {
printf("うるう年です。¥n");
} else {
printf("平年です。¥n");
}
return 0;
}
#include <stdio.h>
int isLeapYear(int year) {
if (year % 400 == 0
|| (year % 4 == 0 && year % 100 != 0)) {
return 1;
} else {
return 0;
}
}
int main(void){
int year;
printf("西暦を入力してください。¥n");
printf("西暦 :");
scanf("%d", &year);
if (isLeapYear(year)) {
printf("うるう年です。¥n");
} else {
printf("平年です。¥n");
}
return 0;
}
冗長的なコード 冗長を排除したコード
isLeapYear のreturnが
シンプルになる
※ 冗長させたほうが分かりやすい
場合は、そのままにしておく
- 16. 修正前後のコードの比較 15
#include <stdio.h>
int main(void){
int a;
printf("西暦を入力してください。¥n");
printf("西暦 :");
scanf(“%d”,&a);
// 入力値を判定して「うるう年」、「平年」を表示する
if(0==a%400){
puts ("うるう年です。");
}else if(a%100==0){
printf("平年です。¥n");
}else if(0==a%4){
puts(“うるう年です。");
}else{
printf("平年です。¥n");
}
return 0;
}
#include <stdio.h>
int isLeapYear(int year) {
if (year % 400 == 0
|| (year % 4 == 0 && year % 100 != 0)) {
return 1;
} else {
return 0;
}
}
int main(void){
int year;
printf("西暦を入力してください。¥n");
printf("西暦 :");
scanf("%d", &year);
if (isLeapYear(year)) {
printf("うるう年です。¥n");
} else {
printf("平年です。¥n");
}
return 0;
}
修正前のコード 修正後のコード