C语言程序设计第二次作业--顺序结构

C语言程序设计第二次作业——顺序结构

1.输出带框文字:在屏幕上输出以下3行信息。

*************
Welcome
*************

源程序

#include <stido.h> 
int mian()
{   
    printf("*************\n");
    printf("  Welcome\n")
    printf("*************\n);

    return 0;
}

错误信息1:
错误原因:拼写错误。stdio.h
改正方法:stdio.h
错误信息2:
错误原因:没有加分号
改正方法:括号后加;
错误信息3.
错误原因:n后没有加引号
改进方法:n后加“

2.计算某个数x的平方赋给y:分别以“y = xx” 和 “xx = y” 的形式输出x和y的值。注意不要删除源程序中的任何注释。
输入输出示例(假设x的值为3)

9 = 3 * 3
3 * 3 = 9
源程序

#include <stdio>
int main()
{
    int x,y;

    y=x*x;
    printf("%d = %d * %d", x);  /* 输出
    printf("d * %d = %d", y); 

    return 0; 

错误信息1:
错误原因:没有.h
改正方法:加.h
错误信息2:
错误原因:缺少变量地址
改正方法:补充对应的变量地址
错误信息3:
错误原因:%后边没有d
改正原因:加d
(二)学习总结

1.不 同的数据类型,在计算机中所占内存大小是不一样的,C语言提供了sizeof运算符,可以获取数据字节数。其基本语法如下:
sizeof(数据类型名称)

sizeof(变量名)
利用sizeof运算符编程求出int类型数据所占的字节大小

#include <stdio.h> 
int main()
{   
printf("int:  %d字节\n",sizeof(int));

return 0;
}

结果:

#include <stdio.h> 
int main()
{   
printf("long:  %d字节\n",sizeof(long));
return 0;
}

结果:

#include <stdio.h> 
int main()
{   
printf("float:  %d字节\n",sizeof(float));
return 0;
}

结果:

#include <stdio.h> 
int main()
{   
printf("double:  %d字节\n",sizeof(double));
return 0;
}

结果:

2.在C语言中,在头文件limits.h中,有关于各种基本数据类型的最大以及最小值的宏定义。例如,int型的最大值为INT_MAX,最小值为INT_MIN。运行下列程序,看一下结果是什么?

#include <stdio.h> 
#include <limits.h>
int main()
{   
int i,j;
i = INT_MAX;
j = INT_MIN;
printf("int类型最大值max = %d\nint类型最小值min = %d\n",i,j);
return 0;
}

结果:

修改程序,输出i+1,结果是什么?为什么?
整数的值如果超过它的最大值,将发生溢出,即整数溢出。整数i就像一个汽车里程指示表,当达到最大值时,它将溢出到起始点(即最小值)。
修改程序输出j-1,结果是什么?为什么?
理解整数的溢出,注意当整数溢出时,系统不会进行提示,编程时需自己处理这个问题。

#include <stdio.h> 
#include <limits.h>
int main()
{   
int i,j;
i = INT_MAX;
j = INT_MIN;
printf("int类型最大值max = %d\nint类型最小值min = %d\n",i+1,j);
return 0;
}

结果:
原因:原因:此时的值超过了最大值整数的值,将发生溢出
#include <stdio.h>
#include <limits.h>
int main()
{
int i,j;
i = INT_MAX;
j = INT_MIN;
printf("int类型最大值max = %d\nint类型最小值min = %d\n",i,j-1);
return 0;
}

结果:
原因:此时的值低于最大值整数的值,将发生溢出

3.运行下面的程序,输入100 144 64,看看运行结果是什么?为什么?

#include <stdio.h>
int main()
{   
int a,b,c;
scanf("%d%o%x",&a,&b,&c);
printf("%d %d %d\n",a,b,c);
return 0;
}

结果:
原因:输入的%o%x无效

4.对本章其他你认为需要进行总结的内容进行总结。
本章有好多知识点我没有掌握好,以后应加紧学习 加紧预习,对于记性差的我以后应该更加努力,有好多符号还有字母不清楚,应抓紧查清楚并记住。

(三)实验总结

本次实验总结,学号末位数是单数的同学完成顺序结构(2)中的1、3、5、9题,学号末位数是双数的同学完成顺序结构(2)中的2、4、7、8题。

1.(1)厘米换算英尺英寸
如果已知英制长度的英尺foot和英寸inch的值,那么对应的米是(foot+inch/12)×0.3048。现在,如果用户输入的是厘米数,那么对应英制长度的英尺和英寸是多少呢?别忘了1英尺等于12英寸。
(2)流程图

(3)源代码

# include <stdio.h>
int main(void)
{
    int cm,foot,inch;
    scanf("%d",&cm);
    foot = cm/100.0/0.3048;
    inch = (cm/100.0/0.3048-foot)*12;
    printf("%d %d",foot,inch);

    return 0;
}

(4)测试数据及运行结果

(5)实验分析
问题一:有小数并且没有正确答案
原因:计算公式错误以及floor的使用不清楚
解决办法:使用正确公式并且加上fioor

  1. (1)A乘以B
    看我没骗你吧 —— 这是一道你可以在10秒内完成的题:给定两个绝对值不超过100的整数A和B,输出A乘以B的值。
    (2)流程图

    (3)源代码

    include <stdio.h>

    int main(void)
    {
    int A,B,C;
    scanf("%d %d",&A,&B);
    C = A*B;
    printf("%d",C);

         return 0;
    
     }
    

(4)测试数据及运行结果

(5)实验分析
没有问题
3.(1)整数四则运算
本题要求编写程序,计算2个正整数的和、差、积、商并输出。题目保证输入和输出全部在整型范围内。
(2)流程图

(3)源代码

# include <stdio.h>
int main(void)
{
    int A,B,a,b,c,d;
    scanf("%d %d",&A,&B);
    a = A + B;
    b = A - B;
    c = A * B;
    d = A / B;
    printf("%d + %d = %d\n",A,B,a);
    printf("%d - %d = %d\n",A,B,b);
    printf("%d * %d = %d\n",A,B,c);
    printf("%d / %d = %d\n",A,B,d);

    return 0;
}

(4)测试数据及运行结果


(5)实验分析
没问题
4.(1)整数152的各位数字,本题要求编写程序,输出整数152的个位数字、十位数字和百位数字的值。
(2)流程图

(3)源代码

# include <stdio.h>
int main(void)
{
    int A,x,y,z;
    A=152;
    z=A % 10;
    x=A / 100;
    y=A / 10 % 10;
    printf("152 = %d + %d*10 + %d*100",z,y,x);

   return 0;	
 } 
(4)测试数据及运行结果


(5)实验分析
没问题。

(四)PTA提交列表
顺序结构(1)提交列表

顺序结构(2)提交列表

posted on 2017-10-21 22:44  怪人、  阅读(448)  评论(0编辑  收藏  举报

导航