实验1 C语言开发环境使用和数据类型、运算符、表达式
一、实验结论
1.
#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 o\n"); printf("<H> <H>\n"); printf("I I I I\n"); return 0; }

2.
#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; }

#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; }

原因:两次定义的变量数据类型不同,第一次是整形,只保留整数余数不显示;第二次是浮点型,结果是小数点后六位。
3.
#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取偶数,r4先用偶数+1即一个奇数/2,由于定义r4的数据类型是整型,所以只取其整数部分,漏了余数,所以结果与其他可以整除的不一样;
n取奇数,r3先用奇数+1即一个偶数/2,由于定义r3的数据类型是整型,所以只取其整数部分,漏了余数,所以结果与其他可以整除的不一样。
4.
#include<stdio.h> int main() { double x,y; char c1,c2,c3; int a1,a2,a3; scanf("%d%d%d",&a1,&a2,&a3); printf("%d,%d,%d\n",a1,a2,a3); scanf("%c%c%c",&c1,&c2,&c3); printf("%c%c%c\n",c1,c2,c3); scanf("%lf,%lf",&x,&y); printf("%.1f,%.1f\n",x,y); return 0; }

5.
#include<stdio.h> int main() { int a1,a2; char c1,c2; scanf("%d%c%d%c",&a1,&c1,&a2,&c2); printf("a1=%d,a2=%d\n",a1,a2); printf("c1=%c,c2=%c\n",c1,c2); return 0; }

6.
#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; }

没有getchar不能输入补充信息,功能也是输入信息。
二、实验总结
1.数据类型对于结果的影响,定义 scanf printf的应用
2.打字速度、正确率有待提升,有些符号的位置记不清,格式也有很多记不清。
现在代码都是现成的,如果让我自己写我能写得出来吗?应该有自己的思考,而不是只去机械地敲击键盘

浙公网安备 33010602011771号