【实验感受】第一次实验感觉什么都还没有记住就要写小程序了,有些小着急。现在才发现c语言就是要在实践中掌握的,多敲点代码,多犯错误,就会明白其中的规则。
实验一:输入一个数判断奇数还是偶数,现在想想其实这个也不是很难,掌握算法,正确表达就行
#include <stdio.h> ·Zoo3int main() { int x; printf(\"输入一个整数: \\n\"); scanf(\"%d\",&x); if(x%2==0) printf(\"n是偶数\"); else printf(\"n是奇数\"); return 0; }
实验二;判断一个数是否为工作日,在这个程序中我出现的主要问题就是else if(days==6||7)编译没有错误,但是当输入8的时候,输出的结果却是weekend relax,这明显就是有问题。找了好久的错误没有找出来,后来问同学才发现else if(days==6||days==7)才是正确的。这出问题就出现在逻辑运算与关系运算优先级的问题吧,还是有点歧义的感觉(希望有明白的同学指教)。
/* 程序功能: 要求用户从键盘输入1~7之间的整数 如果输入的是1~5, 提示用户是工作日,要努力工作; 如果输入的是6或7,提示用户是休息日,放松休息;. 否则,提示用户输入不在合法范围 */ #include <stdio.h> int main() { int days; printf(\"输入一个整数: \\n\"); scanf(\"%d\",&days); // 补足×××处的表达式,使得满足程序功能描述 if(days>=1&&days<=5) // days在1到5之间 printf(\"workdays, fighting\\n\"); else if(days==6||days==7) // days是6或7 printf(\"weekend, relax~\\n\"); else printf(\"Ooops, not in 1~7\\n\"); return 0; }
实验三:将小写字母转换成大写字母
这个也出现了问题,原本想加入else,但是编译出现错误说\”else\”without a previous\’if\’,把我给弄晕了,它们不是用的同一个if吗?难道还要重新弄一个if语句?当然,我有重新写了一个if语句,还是不对。。。。只得另辟蹊径,放弃else语句(不过我还是像弄一个else语句,希望有同学可以探讨一下),重新检查错误,结果发现,在print// 功能:
// 从键盘上输入单个字符 // 如果是小写字母,则转换成大写后输出 // 否则,什么也不做,原样输出 #include <stdio.h> int main() { char ch; printf(\"输入一个字符:\\n\"); scanf(\"%c\",&ch); if(ch>=\'a\'&&ch<=\'z\') ch=ch-32; printf(\"%c\\n\",ch); return 0;