C语言程序设计第二次作业

(一)改错题

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


Welcome


源程序

include <stido.h>

int mian()
{
printf("\n");
printf(" Welcome\n")
printf("
\n);

return 0;

}
对源程序进行编译,采用每次修改第一个错误并重新编译的方法,记录每个错误信息、分析错误原因并给出正确的语句。
格式如下:
错误信息1:
错误原因:将标准输入输出库函数文件“stdio.h”输写错误
改正方法:应该将“stido.h”写成“stdio.h”
错误信息2:
错误原因:少了个'双引号'
改正方法:在'\n'之后加个双引号(")
错误信息3:
错误原因:主函数拼写错误
改正方法 将"mian"换成"main"
错误信息4:
错误原因:第二行输出的时候少了个双引号
改正方法 在输出welcome这一行括号后面加上 (")
2.计算某个数x的平方赋给y:分别以“y = xx” 和 “xx = y” 的形式输出x和y的值。注意不要删除源程序中的任何注释。
输入输出示例(假设x的值为3)

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

include

int main()
{
int x,y;

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

return 0; 

}
错误信息1:

错误原因:标准输入输出库函数文件“stdio.h”输入不完整
改正方法:将“stdio”变成“stdio.h”
错误信息2:
错误原因:两个printf语句少写了变量
改正方法:
错误信息3:
错误原因:注释没有添加完整
改正方法:删除或者在“输出”后面加上*/
错误信息4:
错误原因:没有给x赋值和分行
改正方法:
(二)学习总结
1.利用sizeof运算符编程求出short类型数据所占的字节大小

include <stdio.h>

int main()
{
printf("short: %d字节\n",sizeof(short));
return 0;
}
运行结果:

2.)利用sizeof运算符编程求出int类型数据所占的字节大小

运行结果:

3.)利用sizeof运算符编程求出long类型数据所占的字节大小

运行结果:

4.)利用sizeof运算符编程求出float类型数据所占的字节大小

运行结果:

5.)利用sizeof运算符编程求出double类型数据所占的字节大小

运行结果:

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,结果是什么?为什么?

原因:理解整数的溢出,注意当整数溢出时,系统不会进行提示,编程时需自己处理这个问题。
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是十六进制数形式,而代码在输出时却全部是10进制整形,于是编译器自动的把我们的8,16进制数转换为了10进制并输入了出来,于是我们在输出中就看到了一个数重复了三遍。
4.对本章其他你认为需要进行总结的内容进行总结
1)整型常量的三种形式:十进制整型常量由一连串的09数字组成。八进制整型常量以数字0开头,其中的数字为07。十六进制整型常量以数字0x或0X为开头,其中的数字可以是09、af或A~F中的数字或英文字母。
2)关系运算符的优先级:>,<,>=,<=这四种优先级大于后两者==,!=
3)正确区分printf与scanf的区别和格式:
printf 函数可输出数据,格式为 printf(“占位符”,变量名称);
scanf 函数可输入数据,scanf(“占位符”,&变量名称);
在 scanf 函数的实际操作中。空格键为字符,但需要输入字符时需要在占位符前加一个空格。
4)最重要的是需要我们自己细心认真一点,每个字符都有自己特点的含义,不能随便乱改或丢弃。
(三)实验总结
7-2 厘米换算英尺英寸
(1)题目
如果已知英制长度的英尺foot和英寸inch的值,那么对应的米是(foot+inch/12)×0.3048。现在,如果用户输入的是厘米数,那么对应英制长度的英尺和英寸是多少呢?别忘了1英尺等于12英寸。
(2)流程图

(3)源代码

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

(5)实验分析
记录实验中遇到的问题及解决方法,格式如下:
问题1:在raptor中运算结果是小数点
原因:没有标明取整函数floor
解决办法:在inch和foot等于后面加上floor
7-4 A乘以B
(1)题目
看我没骗你吧 —— 这是一道你可以在10秒内完成的题:给定两个绝对值不超过100的整数A和B,输出A乘以B的值。
(2)流程图

(3)源代码

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

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

(3)源代码

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

(5)实验分析
问题1:
原因:raptor中不分大小写
解决办法:将a变成a1,b变成b2
7-8 整数152的各位数字
(1)题目
本题要求编写程序,输出整数152的个位数字、十位数字和百位数字的值。
(2)流程图

(3)源代码

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

(5)实验分析
无问题
(四)PTA提交列表
2017顺序结构(1)


2017顺序结构(2)

posted on 2017-10-22 11:09  蕊薏  阅读(699)  评论(0编辑  收藏  举报

导航