实验一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;
} 

屏幕截图 2026-10-16 141309

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

屏幕截图 2026-10-16 142355

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

屏幕截图 2026-10-16 143208

image

 

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

image

 直接跳过了第二次输入,直接读取上次输入留下的回车换行符,导致逻辑判断出错。

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

 

image

 

//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);
} 

image

 

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

 

 

posted @ 2026-10-16 15:13  多多0612  阅读(4)  评论(1)    收藏  举报