实验1 C语言开发环境使用和数据类型、运算符、表达式
// 打印一个字符小人 #include <stdio.h> int main() { printf(" o \n"); printf("<H>\n"); printf("I I\n"); printf(" o \n"); printf("<H>\n"); printf("I I\n"); return 0; }
// 打印一个字符小人 #include <stdio.h> int main() { printf(" o \t o \n"); printf("<H>\t<H>\n"); printf("I I\tI I\n"); return 0; }
/* 用c语言实现的一个简单算术运算程序 */ #include <stdio.h> int main() { int x, y; int r1, r2, r3, r4; x = 1; y = 2; r1 = x + y; r2 = x - y; r3 = x * y; r4 = x / y; printf("r1 = %d\n", r1); printf("r2 = %d\n", r2); printf("r3 = %d\n", r3); printf("r4 = %d\n", r4); return 0; }
/* 用c语言实现的一个简单算术运算程序 */ #include <stdio.h> int main() { float x, y; float r1, r2, r3, r4; x = 1; y = 2; r1 = x + y; r2 = x - y; r3 = x * y; r4 = x / y; printf("r1 = %f\n", r1); printf("r2 = %f\n", r2); printf("r3 = %f\n", r3); printf("r4 = %f\n", r4); return 0; }
两次运行结果r4的值不同是因为int类型是以%d 而float类型是以%f
#include <stdio.h> int main(){ int n, r1, r2, r3, r4; n = 100; r1 = n*(n+1)/2; r2 = (n+1)*n/2; r3 = n/2*(n+1); r4 = (n+1)/2*n; printf("n = %d\n", n); printf("r1 = %d\n", r1); printf("r2 = %d\n", r2); printf("r3 = %d\n", r3); printf("r4 = %d\n", r4); return 0; }
#include <stdio.h> int main(){ int n, r1, r2, r3, r4; n = 101; r1 = n*(n+1)/2; r2 = (n+1)*n/2; r3 = n/2*(n+1); r4 = (n+1)/2*n; printf("n = %d\n", n); printf("r1 = %d\n", r1); printf("r2 = %d\n", r2); printf("r3 = %d\n", r3); printf("r4 = %d\n", r4); return 0; }
第一行是说求和公式,第二行是求和公式,第三行是先进行除法再进行乘法,第四行也一样,先进行n+1的除法在乘法
因为r3和r4的算法,先进行的运算是n+1/2或者是n/2,和奇数偶数有关
// 测试你是哪一类学习者 #include <stdio.h> int main() { int answer; char words[5000]; printf("网课学习让一些人欢喜一些人忧.\n"); printf("1. 作为一个宅,社恐,觉得这样很好. 有网络,自主学习,很ok.\n"); printf("2. 不喜,不喜,很不喜. 眼睛快瞎了. 脑壳有点卡...\n"); printf("3. 中间派. 不知道. 说不清.\n"); printf("4. 其他...\n"); printf("你的选择: "); scanf("%d",&answer); if(answer == 4) { printf("请补充说明你的想法:\n"); getchar(); gets(words); } printf("\n"); printf("当遇到问题时,你会选择:\n"); printf("1. 遇到问题,就解决问题。不懂的,搜索式学习,逐个攻破.\n"); printf("2. 遇到问题,不高兴。然后,...,没有了.\n"); printf("3. 其他...\n"); printf("你的选择: "); scanf("%d", &answer); if(answer == 1) printf(":)\n"); else if(answer == 2) printf("这样不能解决问题啊...我们选择1好不好:)\n"); else if(answer == 3) { printf("请补充说明你的想法: \n"); getchar(); gets(words); } return 0; }
// 测试你是哪一类性格 #include <stdio.h> int main() { int answer; char words[5000]; printf("要不要扶老奶奶过马路.\n"); printf("1. 作为一个性格善良的好孩子,那必须扶老奶奶过马路.\n"); printf("2. 不喜欢,因为害怕被一些心怀不轨的碰瓷人而被坑.\n"); printf("3. 中间派. 要是路上有目击者,我是乐意扶的.\n"); printf("4. 其他...\n"); printf("你的选择: "); scanf("%d",&answer); if(answer == 4) { printf("请补充说明你的想法:\n"); getchar(); gets(words); } printf("\n"); printf("当朋友有难时,你会选择:\n"); printf("1. 毫不犹豫帮助朋友解决问题.\n"); printf("2. 不高兴。然后,...,没有了.\n"); printf("3. 其他...\n"); printf("你的选择: "); scanf("%d", &answer); if(answer == 1) printf(":)\n"); else if(answer == 2) printf("这样不能解决问题啊...我们选择1好不好:)\n"); else if(answer == 3) { printf("请补充说明你的想法: \n"); getchar(); gets(words); } return 0; }
实验总结
我这次作业学会了很多,体会到了程序员的艰辛,了解了如何从一个小人变成一行或一列小人所需要的改进,了解了int和float之间的区别,以及%d和%f编译结果之间的差距。
我的新发现是编一个比较复杂的代码,就是需要自行选择选项的时候,是很复杂的,也了解了改动一个代码不容易
我希望下次做得更好