实验一C语言开发环境使用和数据类型、运算符、表达式
//任务一 //task1-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; }

//task1-2 #include <stdio.h> int main(){ printf(" O O\n"); printf("<H> <H>\n"); printf("I I I I\n"); return 0; }

//task2 #include <stdio.h> int main(){ double a,b,c; scanf("%lf%lf%lf",&a,&b,&c); if((a+b>c)&&(a+c>b)&&(b+c>a)) printf("能构成三角形\n"); else printf("不能构成三角形\n"); return 0; }


//task3 #include <stdio.h> int main() { char ans1, ans2; printf("每次课及时预习/复习了没?(是-输入y或Y,否-输入n或N):"); ans1 = getchar(); getchar(); printf("\n动手敲代码实践了没?(是-输入y或Y,否-输入n或N):"); ans2 = getchar(); if ((ans1 == 'y' || ans1 == 'Y') && (ans2 == 'y' || ans2 == 'Y')) printf("\n罗马不是一天建成的,继续保持哦:)"); else printf("\n罗马不是一天毁灭的,我们来建设吧\n"); return 0; }

直接跳过了第二次输入,直接读取上次输入留下的回车换行符,导致逻辑判断出错。
//task5 #include <stdio.h> int main(){ double c,f; scanf("%lf", &c); f=9.0/5.0*c+32.0; printf("摄氏度c = %.2f时, 华氏温度f = %.2f\n\n", c, f); return 0; }

//task6 #include <stdio.h>; #include<math.h> int main(){ double a,b,c; scanf("%lf%lf%lf",&a,&b,&c); double s; s=(a+b+c)/2; double ans=sqrt(s*(s-a)*(s-b)*(s-c)); printf("a=%.0f, b=%.0f, c=%.0f,area=%.3f\n", a,b,c,ans); }

本次C语言简单程序编写实验,我熟悉了开发环境的编译、运行操作,掌握printf、scanf、getchar等输入输出函数的使用。理解了输入缓冲区残留换行符带来的程序异常问题,学会处理该类bug。练习了分支判断、数值运算、公式计算,体会到double类型格式符、math库函数的使用要点。同时也了解VS小黑窗闪退、scanf安全警告等环境常见问题。编程时要细心注意语法细节,编写完代码需要多组测试用例验证程序逻辑,提升代码可靠性。

浙公网安备 33010602011771号