- 1 1. ã¯ããã«
- 2 2. ç©ºçœæåãšã¯ïŒåºç€ããçè§£ããã
- 3 3. printfã§ç©ºçœãåºåããåºæ¬
- 3.1 printfãšã¯ïŒç©ºçœåºåã«ãããåºæ¬ã®é¢æ°
- 3.2 ã¹ããŒã¹ãçŽæ¥æååäžã«èšè¿°ãã
- 3.3 ã¿ãæåïŒïŒã䜿ã£ã空çœã®åºå
- 3.4 ãã©ãŒãããæå®åã䜿ã£ã空çœã®å¶åŸ¡
- 3.5 å®äŸïŒæ¡æãã«æŽ»çšãã空çœåºå
- 3.6 ãŸãšãïŒprintfã¯ç©ºçœåºåã®åºæ¬ããŒã«
- 4 4. 空çœãè€æ°åºåãããã¯ããã¯éãå®çšäŸããã
- 4.1 ãªããè€æ°ã®ç©ºçœããåºåããå¿ èŠãããã®ãïŒ
- 4.2 foræã§ç©ºçœãç¹°ãè¿ãåºåãã
- 4.3 printfãšãã©ãŒãããæå®åã§ç©ºçœãåçã«å¶åŸ¡
- 4.4 空çœåºåå°çšã®é¢æ°ãäœã
- 4.5 å®çšäŸïŒããŒã¿ã®æŽå衚瀺
- 4.6 ãŸãšãïŒçšéã«å¿ããŠç©ºçœåºåææ³ã䜿ãåããã
- 5 5. æŽåœ¢åºåã§ç©ºçœã掻ããæ¹æ³
- 6 6. 空çœãå«ãæååã®æ±ããå
¥åãšåºåã®æ³šæç¹ã
- 6.1 空çœãå«ãæååãšã¯ïŒ
- 6.2 scanfã§ã®å ¥åã¯ç©ºçœã«åŒ±ã
- 6.3 fgetsã䜿ãã°ç©ºçœãå«ãæååãååŸå¯èœ
- 6.4 gets颿°ã®äœ¿çšã¯é¿ããã¹ã
- 6.5 åºåæã¯ç¹å¥ãªå¯ŸåŠã¯äžèŠ
- 6.6 å¿çšïŒå ¥åãšæŽåœ¢ãçµã¿åããã
- 6.7 ãŸãšãïŒç©ºçœãå«ãæååã¯ãfgetsãã§å®å šã«æ±ã
- 7 7. ãããããã¹ãšãã©ãã«å¯ŸåŠæ³
- 7.1 空çœãæ±ãéã«åå¿è ãé¥ããããèœãšã穎ãšã¯ïŒ
- 7.2 ãã¹1ïŒscanfã§ç©ºçœãå«ãæååãæ£ããèªã¿åããªã
- 7.3 ãã¹2ïŒåºåçµæãæŽåãããªã
- 7.4 ãã¹3ïŒã¿ãïŒïŒã䜿ã£ãŠæŽåããããšããŠåŽ©ãã
- 7.5 ãã¹4ïŒprintf("%*s", n, "") ã®äœ¿ãæ¹ã誀ã
- 7.6 ãã¹5ïŒãŒãåãïŒ%05dïŒãšç©ºçœåãïŒ%5dïŒãæ··åãã
- 7.7 ãã©ãã«æã®ãã§ãã¯ãªã¹ã
- 7.8 ãŸãšãïŒç©ºçœãã©ãã«ã¯ãçè§£ãã§é²ãã
- 8 8. å®è·µïŒç©ºçœåºåãæŽ»çšãããã課é¡ïŒã³ããŒOKïŒ
- 9 9. ãŸãšã
- 10 10. FAQïŒãããã質åïŒ
- 10.1 Q1. printfã§è€æ°ã®ç©ºçœãåºåããã«ã¯ã©ãããã°ããã§ããïŒ
- 10.2 Q2. scanf("%s", str); ã§ç©ºçœãå«ãæååãå ¥åã§ããŸãããã©ããããããã§ããïŒ
- 10.3 Q3. %5d ãš %05d ã®éãã¯äœã§ããïŒ
- 10.4 Q4. ã¿ãïŒïŒãšã¹ããŒã¹ïŒ' 'ïŒã¯ã©ã¡ãã䜿ãã¹ãã§ããïŒ
- 10.5 Q5. printf("%*s", n, "") ãæ£ãã空çœãåºåããŠãããŸããããªãã§ããïŒ
- 10.6 Q6. 空çœãåºåããã ãã®é¢æ°ãäœã£ãŠãããã§ããïŒ
- 10.7 Q7. æŽå衚瀺ãããŸããããŸãããäœãããã§ãã¯ãã¹ãã§ããïŒ
1. ã¯ããã«
Cèšèªã«ããã空çœåºåã®æçŸ©
Cèšèªã§ããã°ã©ã ãäœæããéãã空çœïŒã¹ããŒã¹ïŒãã®åºåã¯åãªãè£ é£Ÿã§ã¯ãããŸãããåºåçµæã®æŽåœ¢ãèªã¿ãããã®ç¢ºä¿ãããŒã¿è¡šç€ºã®èŠèªæ§åäžãªã©ãå®åçã«ãå€ãã®å Žé¢ã§å¿ èŠãšãªããŸããç¹ã«ã衚圢åŒã®åºåãæ¡æããè¡ãéã«ã¯ã空çœã®æ±ããçè§£ããŠããããšãéèŠã§ãã
ããšãã°ãè€æ°ã®æ°å€ãæååã䞊ã¹ãŠåºåããå Žåã空çœãããŸã掻çšããããšã§çŸããåºåãå®çŸã§ããŸããéã«ã空çœã®æ±ãã誀ããšãåºåããããããæå³ããèŠãç®ã«ãªããªãã£ããããããšããããŸãã
æå€ãšã€ãŸããã空çœãã®åºå
CèšèªãåŠã³å§ããååŠè ã«ãšã£ãŠãã空çœã®åºåãã¯æå€ãšèœãšã穎ã«ãªãéšåã§ããããŸãããã ã¹ããŒã¹ãåºåããã ããªã ” ” ãæžãã°æžã話ã§ãããã¿ããæŽåãåçãªç©ºçœæ°ã®æå®ãªã©ãå°ãå¿çšã«èžã¿èŸŒããšç¥èãå¿ èŠã«ãªããŸãããŸããprintf颿°ã®ãã©ãŒãããæå®åããã«ãŒãåŠçãšçµã¿åããã空çœã®åºåãªã©ãããã°ãã°æ··ä¹±ã®åå ãšãªããŸãã
æ¬èšäºã§åŠã¹ãããš
ãã®èšäºã§ã¯ããCèšèª ç©ºçœ åºåãã«é¢ããŠã以äžã®å 容ããããããã解説ããŸãã
- ç©ºçœæåã®çš®é¡ãšäœ¿ãåã
printf
ã䜿ã£ãåºæ¬çãªç©ºçœåºå- 空çœã掻çšããæŽåœ¢ãã¯ããã¯
- ãããããã¹ãšãã®å¯ŸåŠæ³
- å®è·µçãªã³ãŒãäŸãšFAQ
ããããCèšèªã®åºåæŽåœ¢ã«åãçµãããšããŠããæ¹ããããã°ã©ã ã®è¡šç€ºãèŠãããããããšèããŠããæ¹ã¯ããã²æåŸãŸã§ã芧ãã ããã
2. ç©ºçœæåãšã¯ïŒåºç€ããçè§£ããã
ç©ºçœæåã®å®çŸ©ãšåœ¹å²
Cèšèªã«ããããç©ºçœæåããšã¯ãç»é¢äžã«äœã衚瀺ãããªãããããã¯ã¹ããŒã¹ãšããŠè¡šç€ºãããç¹æ®ãªæåã®ããšãæããŸããç©ºçœæåã¯èŠãç®ã«ã¯ç®ç«ã¡ãŸããããæååã®åºåãã衚瀺æŽåœ¢ã«å€§ããªåœ±é¿ãäžããååšã§ããåãªãè£ é£Ÿã§ã¯ãªããåºåã¬ã€ã¢ãŠããæ§ç¯ããäžã§ã®å¶åŸ¡èŠçŽ ãšãããŸãã
Cèšèªã§ã¯ã以äžã®ãããªç©ºçœæåããã䜿ãããŸãã
ãã䜿ãããç©ºçœæåã®çš®é¡
1. ã¹ããŒã¹ïŒ' '
ïŒ
æãåºæ¬çãªç©ºçœæåã§ãããŒããŒãã®ãã¹ããŒã¹ããŒãã§å ¥åã§ãã1æååã®ç©ºçœã§ãã衚瀺ééã1æååã ã空ããããšãã«äœ¿ããŸãã
printf("Hello World"); // ãHelloããšãWorldãã®éã«ã¹ããŒã¹ã1ã€
2. ã¿ãïŒïŒ
ã¿ãã¯ãäžå®ã®å¹ ã§ã«ãŒãœã«ãé²ããããã®å¶åŸ¡æåã§ããéåžžã¯8æååã®ç©ºçœãšããŠæ±ãããŸãããã¿ãŒããã«ããšãã£ã¿ã®èšå®ã«ãã£ãŠå€ããããšããããŸãã
printf("Name Score"); // ãNameããšãScoreãã®éã«ã¿ã空çœ
3. æ¹è¡ïŒ`
`ïŒ
æ¹è¡ã¯æåéããåºåã®äœçœ®ã次ã®è¡ãžç§»ãããã®å¶åŸ¡æåã§ããç©ºçœæåãšãããããè¡éãã®ç®çã§äœ¿ãããŸãããèŠãç®ã®æ§æã«ã¯å€§ããé¢ãããããåºçŸ©ã®ç©ºçœæåãšæããããããšããããŸãã
printf("Line 1
Line 2"); // åºåã2è¡ã«åããã
ç©ºçœæåãããã°ã©ã ã«äžãã圱é¿
ãããã®ç©ºçœæåã¯ãã³ãŒãã®å®è¡çµæã«çŽæ¥åœ±é¿ããŸããããšãã°ãæ°å€ãæååã®è¡šç€ºäœçœ®ãå
¥åã®åºåããããã«ã¯æ§æè§£æã®æåã«ãé¢ä¿ããŸããç¹ã«åå¿è
ãæ··ä¹±ããããã®ã¯ãscanf
ãgets
ãªã©ã®å
¥ååŠçã«ããã空çœã®æ±ãã§ãïŒããã«ã€ããŠã¯åŸè¿°ããŸãïŒã
ãŸããè€æ°ã®ç©ºçœãæå³çã«æ¿å ¥ãããå Žåã«ã¯ãåã«ã¹ããŒã¹ãé£ç¶ããŠæžãã ãã§ã¯ãªããã«ãŒãããã©ãŒãããæå®åãæŽ»çšããå¿ èŠãããã±ãŒã¹ããããŸãã
ãŸãšãïŒç©ºçœæåã¯ãèŠããªããã©éèŠã
ç©ºçœæåã¯èŠããªãååšã§ãããããã«ãåå¿è ã«ãšã£ãŠã¯è»œèŠãããã¡ã§ããããããããã°ã©ã ã®èŠãç®ãšæ©èœæ§ã®äž¡æ¹ãæ¯ããåºç€ãšããŠãæ£ç¢ºãªçè§£ãšé©åãªäœ¿ãæ¹ãæ±ããããŸãã
æ¬¡ç« ã§ã¯ãCèšèªã«ãããŠç©ºçœãåºåããæãåºæ¬çãªæ¹æ³ã§ãã printf
颿°ã䜿ã£ã空çœåºåã«ã€ããŠè§£èª¬ããŸãã
3. printfã§ç©ºçœãåºåããåºæ¬
printfãšã¯ïŒç©ºçœåºåã«ãããåºæ¬ã®é¢æ°
Cèšèªã§æåãæ°å€ãç»é¢ã«åºåããããã«äœ¿ããã代衚çãªé¢æ°ã printf
ã§ãããã®é¢æ°ã¯ãæååäžã«æžãããå
容ããã®ãŸãŸåºåããã ãã§ãªãããã©ãŒãããæå®åã䜿ã£ãŠæ°å€ãæååã®è¡šç€ºæ¹æ³ã现ããå¶åŸ¡ããããšãã§ããŸãã
空çœãåºåãããå Žåããprintf
ã䜿ãã°ç°¡åã«ã¹ããŒã¹ãã¿ããå«ãåºåãå¯èœã§ãã以äžã«ä»£è¡šçãªæ¹æ³ã玹ä»ããŠãããŸãã
ã¹ããŒã¹ãçŽæ¥æååäžã«èšè¿°ãã
æãã·ã³ãã«ãªæ¹æ³ã¯ãããã«ã¯ã©ãŒããŒã·ã§ã³ã§å²ãã æååã®äžã« ã¹ããŒã¹ããã®ãŸãŸæžã ããšã§ãã
printf("Hello World
");
ãã®ã³ãŒãã¯ãHelloããšãWorldãã®éã«1æååã®ã¹ããŒã¹ãåºåããŸããé£ç¶ããŠã¹ããŒã¹ãåºãããå Žåã¯ã以äžã®ããã«è€æ°ã®ã¹ããŒã¹ãæ¿å ¥ããŸãã
printf("Hello World
"); // ã¹ããŒã¹3å
ã¿ãæåïŒïŒã䜿ã£ã空çœã®åºå
空çœã倧ãã空ãããå Žåãã¿ãæåã䜿ãã®ãäžã€ã®æ¹æ³ã§ãã ã䜿ããšãç°å¢ã«å¿ããäžå®ã®ç©ºçœå¹ ïŒéåžžã¯8æåïŒãäžæ¬ã§æ¿å ¥ã§ããŸãã
printf("Name Score
");
printf("Alice 90
");
printf("Bob 85
");
åºåã¯ä»¥äžã®ããã«ãªããŸãïŒèŠãããã®ããæŽåœ¢ïŒïŒ
Name Score
Alice 90
Bob 85
ãã ããã¿ãã®å¹ ã¯ãšãã£ã¿ãã³ã³ãœãŒã«ã®èšå®ã«äŸåãããããæ£ç¢ºãªã¬ã€ã¢ãŠããå¿ èŠãªå Žé¢ã§ã¯ã¹ããŒã¹ã®æ¹ãæšå¥šãããŸãã
ãã©ãŒãããæå®åã䜿ã£ã空çœã®å¶åŸ¡
printf
ã®åŒ·åãªæ©èœãšããŠããã©ãŒãããæå®åã®å¹
ã䜿ã£ãŠç©ºçœãå«ãæŽåœ¢åºåãå¯èœã§ãã
æ°å€ãæååã®åºåå¹ ãæå®
printf("%5d
", 42); // å¹
5ã§å³å¯ãïŒç©ºçœ3ã€ïŒ42ïŒ
printf("%-5d
", 42); // å¹
5ã§å·Šå¯ãïŒ42ïŒç©ºçœ3ã€ïŒ
æååã®å Žåãåæ§
printf("%10s
", "C"); // å³å¯ãã§ç©ºçœ9ã€ïŒ"C"
printf("%-10s
", "C"); // "C"ïŒç©ºçœ9ã€
ãã®ããã«ãã©ãŒãããå¹ ãæå®ããããšã§ãè¡šç€ºã®æŽåããããããªããŸãã
å®äŸïŒæ¡æãã«æŽ»çšãã空çœåºå
以äžã¯ãè€æ°ã®æ°å€ãæŽåãããŠåºåããäŸã§ãã
printf("No Score
");
printf("%-3d %5d
", 1, 100);
printf("%-3d %5d
", 2, 85);
printf("%-3d %5d
", 3, 92);
åºåçµæïŒ
No Score
1 100
2 85
3 92
空çœã䜿ã£ãŠåãæŽããããšã§ãèªã¿ãããèŠæ ãã®è¯ãåºåã«ãªããŸãã
ãŸãšãïŒprintfã¯ç©ºçœåºåã®åºæ¬ããŒã«
printf
ã䜿ãã°ã空çœãç°¡åã«åºåã§ããã ãã§ãªããæŽåœ¢ãæ¡æããšãã£ãèŠæ ãã®èª¿æŽãèªåšã§ããã¹ããŒã¹ãã¿ãã®çŽæ¥èšè¿°ããå§ãããã©ãŒãããæå®åã«ããå¹
ã®å¶åŸ¡ãŸã§ãç¶æ³ã«å¿ããŠé©åã«äœ¿ãåããããšãéèŠã§ãã
4. 空çœãè€æ°åºåãããã¯ããã¯éãå®çšäŸããã
ãªããè€æ°ã®ç©ºçœããåºåããå¿ èŠãããã®ãïŒ
Cèšèªã§ã¯ãåºåçµæã®æŽåœ¢ãèŠèªæ§ã®åäžãç®çãšããŠã1æåã§ã¯ãªãè€æ°ã®ç©ºçœãåºåãããã±ãŒã¹ããããããŸããããšãã°ãèŠåºããšããŒã¿ãããããŠè¡šç€ºããããã€ã³ãã³ããããããŠèŠãç®ãæŽãããããå Žåã§ãã
åã« " "
ã®ããã«ã¹ããŒã¹ãè€æ°æžãã ãã§ãå®çŸã§ããŸãããå¯å€é·ã®ç©ºçœãåºãããå Žåã«ã¯ããã ãã§ã¯äžååã§ãããã®ç« ã§ã¯ãç¶æ³ã«å¿ãã空çœã®åºåãã¯ããã¯ã玹ä»ããŸãã
foræã§ç©ºçœãç¹°ãè¿ãåºåãã
å¯å€ã®é·ãã§ç©ºçœãåºåãããå Žåããã£ãšãæè»ã«å¯Ÿå¿ã§ããã®ãã«ãŒãïŒforæïŒã䜿ã£ãæ¹æ³ã§ãã
äŸïŒ5ã€ã®ã¹ããŒã¹ãåºåãã
for (int i = 0; i < 5; i++) {
printf(" ");
}
ãã®ããã«æžãããšã§ãã¹ããŒã¹ã®æ°ã倿°ãæ¡ä»¶ã«ãã£ãŠèª¿æŽã§ãããããå®çšæ§ãé«ãã§ãã
å¿çšïŒã€ã³ãã³ããã€ããŠæååãåºå
int indent = 4;
for (int i = 0; i < indent; i++) {
printf(" ");
}
printf("Hello, World!
");
åºåïŒ
Hello, World!
printfãšãã©ãŒãããæå®åã§ç©ºçœãåçã«å¶åŸ¡
printf
ã«ã¯ããã©ãŒãããå¹
ã倿°ã§æå®ã§ããæ©èœããããŸããããã䜿ãã°ãã«ãŒãã䜿ããã«è€æ°ã®ç©ºçœãåºåå¯èœã§ãã
äŸïŒåçã«10æååã®ç©ºçœãåºåãã
printf("%*s", 10, ""); // 10æååã®ã¹ããŒã¹ãåºåããã
ãã®ã³ãŒãã¯ã空æåå ""
ãæå®ãããå¹
ïŒããã§ã¯10ïŒã§å³å¯ãããããšããããã10åã®ç©ºçœãåºåãããä»çµã¿ã§ãã
å¿çšïŒæ°å€ã®åã«ã¹ããŒã¹ãæ¿å ¥ããŠæŽåœ¢
int n = 42;
printf("%5d
", n); // åºå: ã 42ã ïŒç©ºçœ3ã€ïŒ
æ°å€ã®æŽå衚瀺ã«ã䜿ããã®ã§ã衚圢åŒã®åºåã«ã䟿å©ã§ãã
空çœåºåå°çšã®é¢æ°ãäœã
è€æ°ç®æã§ç©ºçœåºåãå¿ èŠãªå Žåã¯ãå°çšã®é¢æ°ãçšæãããšäŸ¿å©ã§ãã
äŸïŒä»»æã®ã¹ããŒã¹æ°ãåºåãã颿°
void print_spaces(int count) {
for (int i = 0; i < count; i++) {
printf(" ");
}
}
äœ¿ãæ¹ïŒ
print_spaces(8);
printf("Indented Text
");
åºåïŒ
Indented Text
ã³ãŒãã®å¯èªæ§ãåäžãããããå®åã§ã掻çšã§ããŸãã
å®çšäŸïŒããŒã¿ã®æŽå衚瀺
以äžã¯ãè€æ°è¡ã®ããŒã¿ã衚圢åŒã«æŽåããããã®ç©ºçœæŽ»çšäŸã§ãã
printf("No Name Score
");
printf("%-3d %-10s %5d
", 1, "Alice", 100);
printf("%-3d %-10s %5d
", 2, "Bob", 85);
åºåïŒ
No Name Score
1 Alice 100
2 Bob 85
ãŸãšãïŒçšéã«å¿ããŠç©ºçœåºåææ³ã䜿ãåããã
空çœãè€æ°åºåããã«ã¯ã次ã®3ã€ã®ææ³ãç¶æ³ã«å¿ããŠäœ¿ãåããããšã倧åã§ãã
- åºå®ã¹ããŒã¹ãªã
" "
ãçŽæ¥èšè¿° - å¯å€ã¹ããŒã¹ãªã
for
æãprint_spaces
颿°ãäœ¿çš - ãã©ãŒãããæå®åã§ç°¡æœã«åºåå¹ ãæå®ããæ¹æ³ãæå¹
ãããã®ãã¯ããã¯ãç¿åŸããŠããããšã§ãæŽã£ãåºåã¬ã€ã¢ãŠããèªç¶ã«æžããããã«ãªããŸãã
5. æŽåœ¢åºåã§ç©ºçœã掻ããæ¹æ³
åºåæŽåœ¢ãšã¯äœãïŒ
ãæŽåœ¢åºåããšã¯ãããŒã¿ã決ãããããã©ãŒãããã§è¡šç€ºããããšãæããŸããCèšèªã§ã¯ãæ°å€ãæååãèŠããããããããŠåºåããããã«ç©ºçœãããŸã掻çšããå¿ èŠããããŸããåºåãæŽããããšã§ãèªã¿æã«ãšã£ãŠèŠèªæ§ã®é«ãçµæãæç€ºã§ããããã«ãªããç¹ã«ã³ã³ãœãŒã«ã¢ããªã±ãŒã·ã§ã³ããããã°åºåã«ãããŠéèŠã§ãã
æ¡æããšå³å¯ãã»å·Šå¯ãã®äœ¿ãåã
Cèšèªã® printf
颿°ã§ã¯ããã©ãŒãããæå®åã®å¹
ãèšå®ããããšã§ãæ¡æããå¯ãæ¹åãå¶åŸ¡ããããšãã§ããŸãã
æ°å€ã®å³å¯ã
int score = 95;
printf("%5d
", score); // å¹
5ã§å³å¯ãïŒç©ºçœ3ã€ïŒ95ïŒ
åºåäŸïŒ
95
æååã®å·Šå¯ã
char name[] = "Alice";
printf("%-10s
", name); // å¹
10ã§å·Šå¯ãïŒAliceïŒç©ºçœ5ã€ïŒ
åºåäŸïŒ
Alice
çµã¿åãããŠè¡šåœ¢åŒã«
printf("%-10s %5d
", "Bob", 80);
printf("%-10s %5d
", "Charlie", 92);
åºåäŸïŒ
Bob 80
Charlie 92
%*d
ã %*s
ã䜿ã£ãåçãªæŽåœ¢
ãã©ãŒãããå¹
ã倿°ã§æå®ãããå Žåã¯ã*
ã䜿ããŸããããã¯ãå®è¡æã«å¹
ãæ±ºå®ã§ãã䟿å©ãªæ©èœã§ãã
äŸïŒå¹ ã倿°ã§æå®
int width = 8;
int value = 42;
printf("%*d
", width, value); // 8æ¡å¹
ã§å³å¯ã
åºåäŸïŒ
42
å·Šå¯ãã«ãããå Žå㯠-
ãä»ãã
printf("%-*s
", width, "C"); // å·Šå¯ãã§ç©ºçœè£å®
ã¿ããšã¹ããŒã¹ã®äœ¿ãåã
空çœã«ã¯ã¹ããŒã¹ãšã¿ãã®2çš®é¡ããããŸãããæŽåœ¢åºåã«ãããŠã¯ã¹ããŒã¹ã®æ¹ãå®å®ããçµæãåŸãããããšãå€ãã§ãã
ã¿ãã®äŸïŒç°å¢ã«ãã£ãŠåŽ©ããããšãããïŒ
printf("Name Score
");
äžèšã®ããã«ç°¡åã«æŽåã§ãããã«èŠããŸãããã¿ãå¹ ã¯ç°å¢ã«äŸåããããã衚瀺ãããããªã¹ã¯ããããŸãã
ã¹ããŒã¹ã䜿ã£ãæ¹ã確å®
printf("%-10s %5s
", "Name", "Score");
ãã¡ãã®æ¹ãå¶åŸ¡ãããããæå³ããéãã®èŠãç®ãåçŸããããã§ãã
ããããåºåæŽåœ¢ã®ãã¿ãŒã³
以äžã¯ãå®åã§ãé »åºããåºåæŽåœ¢ã®ãŠãŒã¹ã±ãŒã¹ã§ãã
ããŒã¿ã®äžèŠ§è¡šç€º
printf("No Name Score
");
printf("%-3d %-10s %5d
", 1, "Alice", 100);
printf("%-3d %-10s %5d
", 2, "Bob", 85);
æ°å€ã®æ¡åãã
printf("%05d
", 42); // ãŒãåãã§5æ¡åºå â 00042
ãŒãåããšç©ºçœåãã䜿ãåããããšã§ãæ©æ¢°çã»èŠèŠçãªæŽåœ¢ãã§ããŸãã

ãŸãšãïŒæŽåœ¢åºåã¯èªã¿ããããžã®ç¬¬äžæ©
Cèšèªã«ãããæŽåœ¢åºåã¯ãåã«ããããã«èŠãããã ãã§ãªããæ å ±ã®æ§é ãèŠèŠçã«äŒããããã®éèŠãªãã¯ããã¯ã§ãã空çœã䜿ã£ãæŽåœ¢ã«ãã£ãŠãèªã¿ãããã»ç®¡çã®ãããããæ Œæ®µã«åäžããŸãã
ãããŸã§ã§ç޹ä»ããæè¡ã¯ãã³ã³ãœãŒã«åºåã ãã§ãªãããã°åºåãCSVãã¡ã€ã«ã®äœæã«ãå¿çšå¯èœã§ãããã©ãŒãããæå®åã®æŽ»çšããã¹ã¿ãŒããŠã空çœãèªåšã«ã³ã³ãããŒã«ã§ããããã«ãªããŸãããã
6. 空çœãå«ãæååã®æ±ããå ¥åãšåºåã®æ³šæç¹ã
空çœãå«ãæååãšã¯ïŒ
Cèšèªã§ã¯ã空çœãå«ãæååïŒäŸïŒãHello WorldãããMy name is JohnãïŒãå ¥åã»åºåããéã«ãç¹æ®ãªæ³šæãå¿ èŠã§ããç¹ã«å ¥åã®å Žé¢ã§ã¯ã空çœã§æååãåºåãããŠããŸããæå³ããããŒã¿ãæ£ããååŸã§ããªãããšããããŸãã
ãã®ç« ã§ã¯ã空çœãå«ãæååãæ£ããæ±ãããã®ãã¯ããã¯ãšæ³šæç¹ã解説ããŸãã
scanfã§ã®å ¥åã¯ç©ºçœã«åŒ±ã
scanf("%s", str);
ã§æååãèªã¿åããšã空çœïŒã¹ããŒã¹ãã¿ããæ¹è¡ãªã©ïŒã«ééããæç¹ã§å
¥åãçµäºããŸãã
äŸïŒå ¥åãéäžã§åãã
char str[100];
scanf("%s", str); // å
¥å: Hello World
ãã®å Žåã倿° str
ã«ã¯ "Hello"
ãŸã§ããå
¥ããŸãããWorld
ã¯ç¡èŠãããŠããŸããŸãã
fgetsã䜿ãã°ç©ºçœãå«ãæååãååŸå¯èœ
空çœãå«ãæååãæ£ããåãåãããå Žåã¯ãfgets()
颿°ã®äœ¿çšãæšå¥šãããŸãã
äŸïŒfgetsã§1è¡ãŸãããšååŸ
char line[100];
fgets(line, sizeof(line), stdin);
fgets()
ã¯ãæ¹è¡ãŸãã¯æå®ãããµã€ãºã«éãããŸã§æååãèªã¿èŸŒã¿ãŸãã空çœãå«ãã æãã1è¡äžžããšå®å
šã«ååŸã§ããŸãã
â»ãã ããæåŸã«æ¹è¡æåãå«ãŸããããšããããããå¿ èŠã«å¿ããŠé€å»åŠçãè¡ãã®ãäžè¬çã§ãã
line[strcspn(line, "
")] = ' '; // æ¹è¡ãåé€
gets颿°ã®äœ¿çšã¯é¿ããã¹ã
ãã€ãŠç©ºçœãå«ãæååã®å
¥åã« gets()
ã䜿ãããŠããŸããããããã¯ãããã¡ãªãŒããŒãããŒã®å±éºæ§ãããããéæšå¥šã§ããçŸåšã®CèŠæ ŒïŒC11以éïŒã§ã¯å»æ¢ãããŠããŸãã代ããã« fgets()
ã䜿ããŸãããã
åºåæã¯ç¹å¥ãªå¯ŸåŠã¯äžèŠ
空çœãå«ãæååãåºåããéã¯ãç¹å¥ãªåŠçã¯å¿
èŠãããŸãããprintf()
ã puts()
ã䜿ãã°ããã®ãŸãŸè¡šç€ºãããŸãã
äŸïŒç©ºçœãå«ãæååã®åºå
char message[] = "Hello World with space";
printf("%s
", message); // åºå: Hello World with space
å¿çšïŒå ¥åãšæŽåœ¢ãçµã¿åããã
空çœãå«ãå ¥åãåãåãããããæŽåœ¢ããŠè¡šç€ºããäŸã玹ä»ããŸãã
char name[100];
printf("ååãå
¥åããŠãã ããïŒ");
fgets(name, sizeof(name), stdin);
name[strcspn(name, "
")] = ' '; // æ¹è¡åé€
printf("ããã«ã¡ã¯ã%-20sããïŒ
", name); // å·Šå¯ãã§æŽåœ¢
ãã®ããã«ããã°ã空çœãå«ãŸããååãæ£ããåãåã£ãŠæŽåœ¢è¡šç€ºããããšãã§ããŸãã
ãŸãšãïŒç©ºçœãå«ãæååã¯ãfgetsãã§å®å šã«æ±ã
Cèšèªã§ã¯ã空çœãå«ãæååãæ±ãã«ã¯scanf
ã§ã¯äžååã§ãããfgets
ã䜿ãããšã§å®å
šãã€æ£ç¢ºãªå
¥åãå¯èœã«ãªããŸããåºåã«ã€ããŠã¯printf
ã§åé¡ãªãåŠçã§ããŸãããå
¥åãšã»ããã§æ±ãå Žé¢ãå€ããããç©ºçœæåã«å¯Ÿããçè§£ãšæ
éãªèšèšãéèŠã§ãã
7. ãããããã¹ãšãã©ãã«å¯ŸåŠæ³
空çœãæ±ãéã«åå¿è ãé¥ããããèœãšã穎ãšã¯ïŒ
Cèšèªã«ãããã空çœã®åºåãã¯ãäžèŠã·ã³ãã«ã«èŠããŠãååŠè ãéåžžã«ããã€ãŸãããã€ã³ãã®äžã€ã§ããæå³ããªãåºåçµæã«ãªã£ãããæŽå衚瀺ã厩ããããå ¥åããŒã¿ãéäžã§åããããšã空çœã«é¢ãããã©ãã«ã¯ææã«ããšãŸããããŸããã
ãã®ç« ã§ã¯ã空çœåºåãæŽåœ¢ã«é¢ããŠãããããã¹ãšãã®å¯ŸåŠæ³ãå ·äœçã«è§£èª¬ããŸãã
ãã¹1ïŒscanf
ã§ç©ºçœãå«ãæååãæ£ããèªã¿åããªã
åå ïŒ
scanf("%s", str);
ã䜿ããšã空çœãæ¹è¡ã§å
¥åãåããŠããŸããããéäžãŸã§ããæååãèªã¿èŸŒãŸããªãã
解決æ³ïŒ
fgets()
ã䜿ã£ãŠ1è¡ãŸãããšèªã¿èŸŒã¿ãå¿
èŠãªãæ¹è¡ãåé€ããã
fgets(str, sizeof(str), stdin);
str[strcspn(str, "
")] = ' '; // æ¹è¡åé€
ãã¹2ïŒåºåçµæãæŽåãããªã
åå ïŒ
ãã©ãŒãããæå®åã®å¹
ãäžé©åã ã£ãããæ¡æ°ã«ã°ãã€ããããã®ã«%d
ã%s
ããã®ãŸãŸäœ¿ã£ãŠããã
解決æ³ïŒ
%5d
ã%-10s
ã®ããã«åºåå¹ ãæç€ºããã- æ°å€ã¯å³å¯ããæååã¯å·Šå¯ãã«ããããšã§ãæŽåãããããªãã
printf("%-10s %5d
", "Alice", 100);
printf("%-10s %5d
", "Bob", 85);
ãã¹3ïŒã¿ãïŒïŒã䜿ã£ãŠæŽåããããšããŠåŽ©ãã
åå ïŒ
ã¿ãæåã¯ãäžå®ã®å¹ ãã§ã¯ãªãã8æååäœã®äœçœ®ã«æããããã®ãã®ãæåæ°ã«ãã£ãŠäœçœ®ããºã¬ãå¯èœæ§ãããã
解決æ³ïŒ
ã¹ããŒã¹ãšãã©ãŒãããæå®åã䜿ã£ãŠæç€ºçã«ç©ºçœãå¶åŸ¡ããã
// â äžå®å®ãªåºå
printf("Name Score
");
// â
å®å®ããåºå
printf("%-10s %5s
", "Name", "Score");
ãã¹4ïŒprintf("%*s", n, "")
ã®äœ¿ãæ¹ã誀ã
åå ïŒ
%*s
ã«ãããŠãæååã« " "
ïŒã¹ããŒã¹ïŒãæå®ããŠããŸããšãæå³ãã空çœã«ãªããªãããšãããã
解決æ³ïŒ
空æåå ""
ãæž¡ãããšã§ãnæååã®ç©ºçœãåºåã§ããã
int n = 5;
printf("%*s", n, ""); // 5ã€ã®ç©ºçœãåºåããã
ãã¹5ïŒãŒãåãïŒ%05d
ïŒãšç©ºçœåãïŒ%5d
ïŒãæ··åãã
åå ïŒ
æ°å€ã®è¡šç€ºãæããã€ããã§%05d
ã䜿ã£ãããæå³ãšç°ãªãããŒããã§åããããŠããŸã£ãã
解決æ³ïŒ
- ãŒãåãïŒ
%05d
â00042
- 空çœåãïŒ
%5d
â42
çšéã«å¿ããŠäœ¿ãåããŸãããã
ãã©ãã«æã®ãã§ãã¯ãªã¹ã
- å
¥ååŠçã«
scanf
ã䜿ã£ãŠããªããïŒ - åºåã§ãã©ãŒãããå¹ ãæç€ºããŠãããïŒ
- ã¿ãã§ã¯ãªãã¹ããŒã¹ã䜿ã£ãŠãããïŒ
- æååãæ°å€ãæåŸ
éãã®é·ããã©ããïŒ
strlen()
ã§ç¢ºèªïŒ
é©åã«èª¿æŽããããšã§ãçŸããåºåãå®çŸã§ããŸãã
ãŸãšãïŒç©ºçœãã©ãã«ã¯ãçè§£ãã§é²ãã
空çœã«é¢ãããã©ãã«ã¯ãä»çµã¿ãçè§£ããã°ã»ãšãã©é²ããåé¡ã§ããç¹ã«printf
ã®æŽåœ¢æå®åãfgets
ã«ããå
¥ååŠçãç¿åŸããããšã§ã空çœã®åºåã»æŽåœ¢ã¯ã¹ã ãŒãºã«ãªããŸãã
åé¡ãèµ·ãããšãã¯ãããªããã®ç©ºçœã衚瀺ãããªãã®ãããã©ãã§å ¥åãåããŠããã®ãããšããèŠç¹ã§å·éã«ã³ãŒããèŠçŽããŸãããã
8. å®è·µïŒç©ºçœåºåãæŽ»çšãããã課é¡ïŒã³ããŒOKïŒ
å®è·µã§åŠã¶ç©ºçœåºå
ãããŸã§è§£èª¬ããŠããã空çœã®åºåã»æŽåœ¢ã»å ¥åã®æ±ãæ¹ãå®éã«äœ¿ã£ãŠã¿ãããšã§ãçè§£ã¯äžå±€æ·±ãŸããŸãããã®ã»ã¯ã·ã§ã³ã§ã¯ãåŠç¿ã®å®çãšå¿çšåã¢ãããç®çãšããå®è·µèª²é¡ã3ã€çšæããŸããããã¹ãŠãã®ãŸãŸã³ããããŠè©Šããã³ãŒãä»ãã§ãã®ã§ããã²ãæå ã®éçºç°å¢ã§åãããŠã¿ãŠãã ããã
課é¡1ïŒè¡šåœ¢åŒã§ããŒã¿ãæŽåããŠåºåãã
ç®çïŒ
è€æ°ã®ååãšç¹æ°ãã衚ã®ããã«èŠãããæŽå衚瀺ããã
ãµã³ãã«ã³ãŒãïŒ
#include <stdio.h>
int main() {
printf("%-10s %-10s %5s
", "ID", "Name", "Score");
printf("%-10s %-10s %5d
", "S001", "Alice", 95);
printf("%-10s %-10s %5d
", "S002", "Bob", 88);
printf("%-10s %-10s %5d
", "S003", "Charlie", 100);
return 0;
}
å®è¡çµæïŒ
ID Name Score
S001 Alice 95
S002 Bob 88
S003 Charlie 100
解説ïŒ
%10s
ã§æååã®å¹ ãæå®ããå·Šå¯ãïŒ%-10s
ïŒã§æŽåœ¢ã%5d
ã§æ°å€ãå³å¯ãæŽåããŠããŸãã
課é¡2ïŒæ®µèœã®åäžãïŒã€ã³ãã³ãïŒã空çœã§åçŸ
ç®çïŒ
è€æ°è¡ã®ããã¹ãããããããäžå®ã®ã¹ããŒã¹ã§ã€ã³ãã³ããä»ããŠè¡šç€ºããã
ãµã³ãã«ã³ãŒãïŒ
#include <stdio.h>
void print_indent(int n) {
for (int i = 0; i < n; i++) {
printf(" ");
}
}
int main() {
int indent = 4;
print_indent(indent); printf("ããã¯æåã®æ®µèœã§ãã
");
print_indent(indent); printf("ã€ã³ãã³ãã䜿ã£ãŠæŽåœ¢ããŠããŸãã
");
print_indent(indent); printf("空çœã®åºåã¯èŠèªæ§ãé«ããŸãã
");
return 0;
}
å®è¡çµæïŒ
ããã¯æåã®æ®µèœã§ãã
ã€ã³ãã³ãã䜿ã£ãŠæŽåœ¢ããŠããŸãã
空çœã®åºåã¯èŠèªæ§ãé«ããŸãã
解説ïŒ
- ãŠãŒã¶ãŒå®çŸ©é¢æ°ã§ç©ºçœãåºåã
- ä¿å®æ§ãšåå©çšæ§ãé«ããã¯ããã¯ã§ãã
課é¡3ïŒç©ºçœã䜿ã£ã食ãä»ãã®ã¿ã€ãã«åºå
ç®çïŒ
ã¿ã€ãã«æåãäžå€®å¯ãããŠã空çœã§å²ãã食ã衚瀺ããäœãã
ãµã³ãã«ã³ãŒãïŒ
#include <stdio.h>
#include <string.h>
void print_centered(char *text, int width) {
int pad = (width - strlen(text)) / 2;
for (int i = 0; i < pad; i++) printf(" ");
printf("%s
", text);
}
int main() {
int line_width = 40;
printf("========================================
");
print_centered("== ããã°ã©ã éå§ ==", line_width);
printf("========================================
");
return 0;
}
å®è¡çµæïŒçå¹ ãã©ã³ãæšå¥šïŒïŒ
========================================
== ããã°ã©ã éå§ ==
========================================
解説ïŒ
strlen()
ã䜿ã£ãŠäžå€®å¯ãã®ããã®ç©ºçœæ°ãåçã«ç®åºã- ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ããã°åºåã«ãå¿çšã§ããŸãã
ãŸãšãïŒç©ºçœã®äœ¿ãæ¹ã¯ãé ããåãã«ãªã
ãããã®èª²é¡ãéããŠã空çœã®åºåã¯åãªãèŠãç®èª¿æŽã§ã¯ãªããããã°ã©ã ã®å¯èªæ§ã»è¡šçŸåãé«ããèŠçŽ ã§ããããšã宿ã§ããã®ã§ã¯ãªãã§ããããã
ãã²ãå®åãåŠç¿ã§ãã®ãã¯ããã¯ã掻ãããŠã¿ãŠãã ããã
9. ãŸãšã
空çœã¯ãèŠããªããã匷åãªããŒã«ã
æ¬èšäºã§ã¯ãCèšèªã«ããã空çœã®åºåæ¹æ³ã«çŠç¹ãåœãŠãåºæ¬ããå®è·µãŸã§æ®µéçã«è§£èª¬ããŠããŸããã空çœãšãããç®ã«ã¯èŠãã«ããååšã«ãããããã°ã©ã ã®å¯èªæ§ã䜿ãããããå·Šå³ããåãããããšãçè§£ããã ããããšæããŸãã
æ¬èšäºã§åŠãã ããšã®æ¯ãè¿ã
- ç©ºçœæåã®çš®é¡ãšãã®åœ¹å²ïŒã¹ããŒã¹ãã¿ããæ¹è¡ïŒ
printf
颿°ã䜿ã£ãåºæ¬çãªç©ºçœã®åºåæ¹æ³- 空çœã掻çšããæŽåœ¢ãã¯ããã¯
- 空çœãå«ãæååã®å ¥åã»åºåã«é¢ããæ³šæç¹
- ãããããšã©ãŒãšãã®åå ã»å¯Ÿç
- å®è·µèª²é¡ãéããçè§£ã®å®ç
空çœåºåã®ã¹ãã«ã¯å¿çšå¯èœ
ãã®ã¹ãã«ã¯ãåãªãã³ã³ãœãŒã«åºåã«ãšã©ãŸããã以äžã®ãããªåéã§ã圹ç«ã¡ãŸãïŒ
- ãã°åºåã®æŽåœ¢ïŒéçšã§éèŠïŒ
- 衚圢åŒããŒã¿ã®è¡šç€º
- CSVãããã¹ããã¡ã€ã«ã®æŽåœ¢åºå
- UI/UXãæèããã¿ãŒããã«ããŒã¹ã®ã¢ããªéçº
ååŠè ã§ãã£ãŠãã空çœã®æ±ãããã¹ã¿ãŒããããšã§ããèŠãç®ãŸã§æ°ãé ããã³ãŒãããæžããããã°ã©ãã«äžæ©è¿ã¥ãããšãã§ããŸãã
æåŸã«ïŒãŸãã¯ãæèããŠç©ºçœã䜿ããããšãã
空çœã¯ãæèããªããã°ãã ã®äœçœã«ãããŸãããããããæå³çã«æŽ»çšããããšã§ãèªã¿æã«åªãããæŽçãããåºåãæäŸã§ããããã«ãªããŸãã
ãã²ãä»åŸã®ããã°ã©ãã³ã°ã«ãããŠã空çœããæèããŠäœ¿ããæŽã£ãã³ãŒããšåºåãç®æããŠã¿ãŠãã ããã
10. FAQïŒãããã質åïŒ
Q1. printf
ã§è€æ°ã®ç©ºçœãåºåããã«ã¯ã©ãããã°ããã§ããïŒ
A. ããã€ãã®æ¹æ³ããããŸããæãç°¡åãªã®ã¯ãããã«ã¯ã©ãŒããŒã·ã§ã³å ã«ã¹ããŒã¹ãè€æ°æžãæ¹æ³ã§ãïŒ
printf(" "); // 5ã€ã®ã¹ããŒã¹ãåºå
åçã«ç©ºçœã®æ°ã決ãããå Žåã¯ã以äžã®ãããªæ¹æ³ã䟿å©ã§ãïŒ
printf("%*s", 5, ""); // 5ã€ã®ã¹ããŒã¹ãåºå
ãããã¯ãã«ãŒãã§åºåããæ¹æ³ããããŸãïŒ
for (int i = 0; i < 5; i++) printf(" ");
Q2. scanf("%s", str);
ã§ç©ºçœãå«ãæååãå
¥åã§ããŸãããã©ããããããã§ããïŒ
A. scanf("%s", str);
ã¯ç©ºçœïŒã¹ããŒã¹ãã¿ããæ¹è¡ïŒã§å
¥åãåºåã£ãŠããŸãããã空çœãå«ãæååãæ£ããååŸã§ããŸããããã®å Žå㯠fgets()
ã䜿ããŸãããã
char str[100];
fgets(str, sizeof(str), stdin);
str[strcspn(str, "
")] = ' '; // æ¹è¡åé€
ããã§ç©ºçœãå«ã1è¡ã®æååãå®å šã«ååŸã§ããŸãã
Q3. %5d
ãš %05d
ã®éãã¯äœã§ããïŒ
A. ã©ã¡ããåºåå¹ ã5æåã«åºå®ãããšããç¹ã§ã¯å ±éããŠããŸãããåããæåãç°ãªããŸãã
%5d
â 空çœã§åããŠå³å¯ã%05d
â ãŒãã§åããŠå³å¯ã
äŸïŒ
printf("%5d
", 42); // ã 42ã
printf("%05d
", 42); // ã00042ã
èŠãç®ãçšéã«å¿ããŠäœ¿ãåããŸãããã
Q4. ã¿ãïŒïŒãšã¹ããŒã¹ïŒ' '
ïŒã¯ã©ã¡ãã䜿ãã¹ãã§ããïŒ
A. åºæ¬çã«ã¯ã¹ããŒã¹ã®æ¹ãæšå¥šãããŸãããªããªããã¿ãã¯ç°å¢ã«ãã£ãŠè¡šç€ºå¹ ãç°ãªããããæŽå衚瀺ã厩ããããšãããããã§ãã
- ç°¡æçã«ç©ºãããã ããªã ã§ãå¯
- å³å¯ãªæŽåœ¢ãåæããããå Žåã¯ãã¹ããŒã¹ãšãã©ãŒãããæå®åã䜿ããŸãããã
Q5. printf("%*s", n, "")
ãæ£ãã空çœãåºåããŠãããŸããããªãã§ããïŒ
A. ãã®æ§æã¯ããnæååã®å¹
ã«ç©ºæååãåºåããããšããåäœã«ãªããŸããééã£ãŠ " "
ïŒã¹ããŒã¹ïŒãæååãšããŠæå®ããŠããŸããšã空çœã1æååã ãåºåãããŠããŸããŸãã
æ£ããäœ¿ãæ¹ïŒ
int n = 5;
printf("%*s", n, ""); // 5ã€ã®ç©ºçœãåºåããã
Q6. 空çœãåºåããã ãã®é¢æ°ãäœã£ãŠãããã§ããïŒ
A. ãã¡ããå¯èœã§ãããå®åã§ãæšå¥šãããŸããç¹°ãè¿ã空çœãåºåããå Žé¢ã§ã¯ãå°çšé¢æ°ãçšæããããšã§å¯èªæ§ãšåå©çšæ§ãåäžããŸãã
void print_spaces(int count) {
for (int i = 0; i < count; i++) {
printf(" ");
}
}
åŒã³åºãäŸïŒ
print_spaces(8);
printf("Indented text
");
Q7. æŽå衚瀺ãããŸããããŸãããäœãããã§ãã¯ãã¹ãã§ããïŒ
A. 以äžã®ãã€ã³ãã確èªããŸãããïŒ
- ãã©ãŒãããæå®åã®å¹
ãé©åãïŒäŸïŒ
%-10s
,%5d
ïŒ - ããŒã¿ã®æ¡æ°ãé·ãã«ã°ãã€ããããã
- ã¿ãã§ã¯ãªãã¹ããŒã¹ã䜿ã£ãŠããã
- æååãæ°å€ãæåŸ
éãã®é·ããã©ããïŒ
strlen()
ã§ç¢ºèªïŒ
é©åã«èª¿æŽããããšã§ãçŸããåºåãå®çŸã§ããŸãã
以äžãããããã質åããžã®åçã§ãã
æ¬èšäºã®å
å®¹ãæŽ»çšããã°ã空çœã®åºåãšæŽåœ¢ã«é¢ããã»ãšãã©ã®èª²é¡ãå
æã§ããã¯ãã§ãã
ãã²ãå®éã®ã³ãŒãã®äžã§ç©æ¥µçã«äœ¿ã£ãŠã¿ãŠãã ããã