实验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编译结果之间的差距。

我的新发现是编一个比较复杂的代码,就是需要自行选择选项的时候,是很复杂的,也了解了改动一个代码不容易

我希望下次做得更好

posted @ 2021-03-16 17:48  xjy666  阅读(67)  评论(0编辑  收藏  举报