Part 1:格式化输出函数printf()和格式化输入scanf()
第一个程序包含整型,精度,双精度等等常量类型的输入输出。
第二个程序出现了两个明显错误,其一是在第一行输入的整型常量前没有加上“&”,其二是第一个双精度常量的输入格式符应该是“lf”。
修改第二个程序后,我没有按照格式输入,导致出现了如下状况
当仔细对比课件后,才得以运行正确。故输入时一定要按照编程人员预先格式输入。
Part 2:单个字符输出函数putchar()和单个字符的输出函数getchar()
第一个putchar函数中比较令人费解的是十六进制转义输出,之后查阅书籍了解到,41转化为十六进制为65,65在ASCⅡ码中代表“A”.
第二个程序输出了两个“a”,同时表明了putchar也可以用printf函数输出。
Part 3:
比较两个数的大小我运用了if else语句,初次编程运行如下
演示结果不尽如人意,没有换行,为了增加可读性,我进行了如下修改
程序看起来有些笨拙,但是个人觉得程序执行性还不错,但是如果用这样的程序进行多个数比较会很复杂。
修改过后变成单一出口,比之前的代码要精简很多,减少了一个else的不必要运用。
Part 5:做这个小程序时,出现了两个错误,即输入时忘记添加地址符,吧“==”错写成“=”导致程序多次错误。
Part 6:
/*四月日历*/ # include<stdio.h> # include<stdlib.h> int main() { int date, weekday; scanf("%d", &date); if(date < 1 || date > 30) { printf("请输入正确日期"); exit(0); } printf("2019年4月日历\n"); printf("----------------------------\n"); printf("Sun Mon Tue Wed Thu Fri Sat\n"); printf("----------------------------\n"); switch(date%7) { case 1:printf("%7d\n", date);break; case 2:printf("%11d\n", date);break; case 3:printf("%15d\n", date);break; case 4:printf("%19d\n", date);break; case 5:printf("%23d\n", date);break; case 6:printf("%27d\n", date);break; default:printf("%3d\n",date); } printf("感谢使用!"); return 0; }