实验1 C语言开发环境使用和编程初体验

~实验一

源码:

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

结果:

 

 源码:

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

结果:

 ~实验二

math1.cpp源代码:

#include <stdio.h>
int main(void) 
{
    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); // 在屏幕上输出r1中存放的结果
    printf("r2 = %d\n", r2); // 在屏幕上输出r2中存放的结果
    printf("r3 = %d\n", r3); // 在屏幕上输出r3中存放的结果
    printf("r4 = %d\n", r4); // 在屏幕上输出r4中存放的结果
    
    return 0;
}

结果:

 

 math2.cpp源代码:

#include <stdio.h>
int main(void) 
{
    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); // 在屏幕上输出r1中存放的结果
    printf("r2 = %f\n", r2); // 在屏幕上输出r2中存放的结果
    printf("r3 = %f\n", r3); // 在屏幕上输出r3中存放的结果
    printf("r4 = %f\n", r4); // 在屏幕上输出r4中存放的结果
    
    return 0;
}

结果:

 

 r4的值不同的原因:'/'是除法运算符,在C中,整数除法结果的小数部分会被截断。

~实验三

n=100时的程序源代码:

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

结果:

 

 

 n=101时的程序源代码:

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

结果:

 

问题回答:r1 n与n+1相乘后除2取整;r2 n+1与n相乘后除2取整;r3 n除2取整后与n+1相乘; r4 n+1除2取整后与n相乘。取值不同是因为表达式从左往右计算,有‘/’的存在。

~实验四

源码:

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("%lf,%lf\n", x, y);
    return 0;
}

结果:

 

 

~实验五

源码:

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

结果:

 

 ~实验六

源码:

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

结果:

 

 

实验总结:

知识点:printf()函数、scanf()函数、c中的基础数据类型,运算符。体会了编程时解决问题的思路过程。

 

posted @ 2021-10-30 21:11  gl11639  阅读(41)  评论(0编辑  收藏  举报