实验一的总结与体会

1.part 1

这部分主要为基础部分,主要是验证性内容,第一个就是把教材上的把hello,world改成自己的学号,如图,这只是改动了printf()中的内容,所以没有问题。

#include<stdio.h>
int main(){
    printf("201883300002");
    return 0;
} 

第二个就是输入教材上给的代码,只要细心一点输入,不要用错中英文输入法就OK:

#include<stdio.h>
int product(int,int);
int main(void)
{
    int x,y,s;
    scanf("%d %d",&x,&y);
    s=product(x,y);
    printf("The mul is:%d",s);
    return 0;
}
int product(int a,int b)
{
    int mul;
    mul=a*b;
    return mul;
}

至于第三个,是另一本书上的实验内容,是计算整数相除的一个程序,这个问题的关键是表达式求值的类型和运算符“*”与“/”的优先级,只要弄懂这两个问题,是不难求得值的:

#include<stdio.h>
int main(){
    int a=5,b=7,c=100,d,e,f;
    d=a/b*c;
    e=a*c/b;
    f=c/b*a;
    printf("d=%d,e=%d,f=%d\n",d,e,f);
    return 0;
}

第四个则主要考察了自加自减运算规则,这也要求我们分清"i++","++i"的值的区别:

#include<stdio.h>
int main(){
    int a=5,b=8;
    printf("a++=%d\n",a++);
    printf("a=%d\n",a);
    printf("++b=%d\n",++b);
    printf("b=%d\n",b);
    return 0;
}

第五个则是关系运算和逻辑运算,要求我们熟记各个逻辑运算符表达的意思以及它们的优先级,这样我们才能准确分析出结果:((“!”)的优先级是最高的)

#include<stdio.h>
int main(){
    int a=5,b=8,c=8;
    printf("%d,%d,%d,%d\n",a==b&&a==c,a!=b&&a!=c,a>=b&&a>=c,a<=b&&a<=c);
    printf("%d,%d\n",a<=b||a>=c,a==b||b==c);
    printf("%d,%d,%d,%d\n",!(a==b),!(a>=b),!(a>=c),!(a<=b));
    return 0;
}

part 2:

 

这部分就要比part 1难很多了(个人认为),要求我们自己写出表达式来补全程序,可能是第一次实验的原因吧,这些程序在前几次输入时,都出现了错误,但是在经过不断的改进后,总算成功了。

首先是第一个判断奇偶性的程序:

#include<stdio.h>
int main(){
    int x;
    printf("输入一个整数:\n");
    scanf("%d",&x);
    if(x%2==1)
    printf("是奇数");
    else
    printf("是偶数"); 
    return 0;
} 

这个程序主要的错误便是关系运算符“==”错误的用成了“=”,导致报错,然后需要注意的就是if语句后面不能加“;”,因为此语句并没有结束。

然后就是第二个信息判别的程序:

#include<stdio.h>
int main(){
    int days;
    printf("输入一个整数:\n");
    scanf("%d",&days);
    if(days>=1&&days<=5)
    printf("workdays, fighting\n");
    else if(days==6||days==7)
    printf("weekend, relax~\n");
    else
    printf("Ooops, not in 1~7\n");
    return 0;
}

这个程序主要的易错点就是逻辑运算符的使用,第一次我把“&&”打成了“||”,导致无论输入的数字是几,都显示"workdays, fighting“,然后看了半天才发现错误的地方,由于有了第一题的提示所以这次”==“并没有用错。

最后一个就是改变大小写了:

#include<stdio.h>
int main(){
    char ch;
    printf("输入一个字符:\n");
    scanf("%c",&ch);
    if(ch>='a'&&ch<='z'){
        ch=ch+('A'-'a');
        printf("%c\n",ch);
    }
    else
    printf("%c\n",ch);
    return 0;
}

在这个程序上我犯得错误是最多的,首先在if语句后面我没有加”{}“,导致程序一直报错:”’else' without a previous 'if'",然后等我找到这个错误之后,又把‘A’和‘a’的ASCΙΙ码大小给记错了,导致当输入‘a’时,输出“?”。

体会:

经过这一次实验之后,我觉得编程有时就像是下象棋,有时候一步错,步步错,而更加糟糕的是,编程有时候都不知道哪里错了,盯着屏幕老半天也难发现错误,所以我觉得编程其实也是对我们细心的一种考验吧。总而言之,在这次实验中我收获了很多,也进步了很多。

posted @ 2019-03-20 15:19  fxyfxy  阅读(384)  评论(0编辑  收藏  举报