实验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.打字速度、正确率有待提升,有些符号的位置记不清,格式也有很多记不清。

现在代码都是现成的,如果让我自己写我能写得出来吗?应该有自己的思考,而不是只去机械地敲击键盘 

posted @ 2021-10-28 17:13  gfygfy  阅读(76)  评论(0)    收藏  举报