(一)改错题

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

错误信息1:



错误原因:i和d位置错误
改正方法:i和d位置互换
错误信息2:



错误原因:\n后缺了一个"
改正方法:\n后加一个"
错误信息3:



错误原因:第二个printf(" Welcome\n")后缺了一个;
改正方法:printf(" Welcome\n")后加一个;
错误信息4:



错误原因:int mian()写错
改正方法:int mian()改成int main()
进行编译,无错误,符合期望,运行结果如下:

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

错误信息1:



错误原因:stdio后边缺了.h
改正方法:stdio后边加上.h
错误信息2:



错误原因:1⃣三个%d分别对应y,x,x;2⃣/*的结束注释没有打出来
改正方法:1⃣在x前面加y,x,;2⃣在输出后面加*/
错误信息3:

错误原因:1⃣第一个d前面没有%;2⃣三个%d分没有对应的字母
改正方法:1⃣第一个d前面加%;2⃣三个%d分别对应字母x,x,y
错误信息4:

错误原因:没有给x赋值
改正方法:int x=3
错误信息5:

错误原因:第7行""中的最后没有加\n换行
改正方法:在第7行""中的最后添加\n换行
进行编译,无错误,符合期望,运行结果如下:

(二)学习总结

1.获取不同的数据类型所占的字节数

(1).int类型数据所占的字节大小

源程序

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

运行结果:

(2).long类型数据所占的字节大小

源程序

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

运行结果:

(3).float类型数据所占的字节大小

源程序

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

运行结果:

(4).double类型数据所占的字节大小

源程序

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

运行结果:

2.在C语言中,在头文件limits.h中,有关于各种基本数据类型的最大以及最小值的宏定义

(1).int型的最大值为INT_MAX,最小值为INT_MIN。运行下列程序,看一下结果是什么?

结果:

(2).修改程序,输出i+1,结果是什么?为什么?

结果:

原因:因为int类型最大值为2147483647,i+1后整数的值超过它的最大值,当达到最大值时,它将溢出到起始点(即最小值)。

(3).修改程序输出j-1,结果是什么?为什么?

结果:

原因:因为int类型最小值为-2147483648,j-1后整数的值小于它的最小值,当达到最小值时,它将溢出变成最大值。

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

结果:

原因:%o--表示八进制整数的格式化形式;%d--表示十进制整数的格式化形式;%x--表示十六进制整数的格式化形式。所以输入的100是十进制数,输出的也是十进制数,所以是100;输入的144是八进制数,而输出的是十进制数,所以是100;输入的64是十六进制数,而输出的是十进制数,所以是100。

4.对本章其他你认为需要进行总结的内容进行总结。

总结:

(1).我们需要理解的是变量名与变量值,变量的声明、赋值和初始化,整型常量和整型变量,实型常量和实型变量,算术运算符和赋值运算符,数据类型的转换,宏常量和const常量定义幻数。

(2).我们在编程时需要注意的是:1⃣scanf("%d")后的赋值一定加取地址符&;2⃣我们需要添加注释的习惯,可以更好的帮助我们清晰思路;3⃣我们需要有调试并且多次试用不同情况来检验我们打出的程序是否完善;4⃣区别字母o和数字0的;5⃣当调试程序出错时一定要改一处错误编译一次,因为以后的错误可能是由前一个错误引起的。

(三)实验总结

1.求整数均值

(1)题目

本题要求编写程序,计算4个整数的和与平均值。题目保证输入与输出均在整型范围。

(2)流程图

(3)源代码
#include <stdio.h>
int main()
{
int a,b,c,d,sum;
double average;
scanf("%d%d%d%d",&a,&b,&c ,&d);
sum=a+b+c+d;
average=sum/4.0;
printf("Sum = %d; Average = %.1f",sum,average);
return 0; }
(4)测试数据及运行结果

运行结果1:

运行结果2:

(5)实验分析

问题1:

原因:

average=sum/4.0,第一次做写成了average=sum/4,导致输出的Average是整数且保留了一位小数

解决办法:

将average=sum/4改成average=sum/4.0

2.是不是太胖了

(1)题目

据说一个人的标准体重应该是其身高(单位:厘米)减去100、再乘以0.9所得到的公斤数。已知市斤是公斤的两倍。现给定某人身高,请你计算其标准体重应该是多少?(顺便也悄悄给自己算一下吧……)

(2)流程图

(3)源代码
#include <stdio.h>
int main()
{
int H;
scanf("%d",&H);
float t,y;
t=(H-100.0)*0.9;
y=2*t;
printf("%.1f",y);
return 0;
}
(4)测试数据及运行结果

运行结果1:

运行结果2:

(5)实验分析

问题1:

原因:

scanf("%d",&H);中的取地址符&忘记写了

解决办法:

在H前面添加&

3.计算物体自由下落的距离

(1)题目

一个物体从100米的高空自由落下。编写程序,求它在前3秒内下落的垂直距离。设重力加速度为10米/秒2。

(2)流程图

(3)源代码
#include <stdio.h>
int main()
{
int g,t,x;
g=10;
t=3;
x=g*t*t;
float height;
height=1.00/2*x;
printf("height = %.2f",height);
return 0;
}
(4)测试数据及运行结果

运行结果:

(5)实验分析

问题1:

原因:

height=1.00/2*x中的1.00/2写成了1/2导致1/2=0,最后直接影响height的输出值

解决方法:

将height=1.00/2*x改成height=1.00/2*x

4.逆序的三位数

(1)题目

程序每次读入一个正3位数,然后输出按位逆序的数字。注意:当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7。

(2)流程图

(3)源代码
#include <stdio.h>
int main()
{
int a,b,c,x,y;
scanf("%d",&x);
a=x/100;
b=x/10%10;
c=x%(a*100+b*10);
y=c*100+b*10+a;
printf("%d",y);
return 0;
}
(4)测试数据及运行结果

运行结果1:

运行结果2:

(5)实验分析

问题1:

刚开始并没有思路,不知从何下手,以至于想单个输入3个值,最后发现根本不对

原因:

没有想到中间应该是数学运算,而不是简单的数值调换

解决方法:

采用数学运算,采用求余、取整等方法从而使达到题目要求。思路正确后在编写过程中没有遇到问题

(四)PTA提交列表

顺序结构(1)提交列表

顺序结构(2)提交列表



C语言程序设计第二次作业——顺序结构的更多相关文章

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

    C语言程序设计第二次作业--顺序结构 1.输出带框文字:在屏幕上输出以下3行信息. ************* Welcome ************* 源程序 #include <stido ...

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

    1.输出带框文字:在屏幕上输出以下3行信息. ************* Welcome ************* 源程序 #include <stido.h> int mian() { ...

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

    (一)改错题 1.输出带框文字:在屏幕上输出以下3行信息. ************* Welcome ************* 源程序 include int mian() { printf(&q ...

  4. C语言第二次作业-----顺序结构

    一:改错题 (1)输出指定信息: 将给定源代码输入编译器: 执行编译命令,发现编译器报错,错误信息如下: 经检查,发现源程序将"stdio.h"误拼为"stido.h&q ...

  5. C语言第二次作业——顺序结构

    一.改错题 1.输出带框文字:在屏幕上输出以下3行信息. (1)源程序 对程序进行编译,发现错误信息1 错误原因:stdio拼写错误 改正方法:将stdio正确拼写 对程序进行编译,发现错误信息2 错 ...

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

    (一)改错题 1.输出带框文字:在屏幕上输出以下3行信息. ************* Welcome ************* 源程序 include int mian() { printf(&q ...

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

    (一)改错题 1.输出带框文字:在屏幕上输出以下3行信息. ************* Welcome ************* 源程序 include int mian() { printf(&q ...

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

    一.学习内容 掌握关系运算符.逻辑运算符.条件运算符 掌握常用数学函数的用法 if语句(单分支,双分支和多分支) 用switch语句实现多分支 理解多个if语句,if...else if... 和if ...

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

    1,编译过程过程中的错误缺引号和分号并且拼写错误. 正确结果: 2,编译过程 改正错误: 正确结果: 3,利用SIZEOF运算符求出的数据类型所占字节大小: 4,在头文件LIMITS.H中相关的编译 ...

随机推荐

  1. 逆向集录_00_不同程序OEP特征总结

    在分析/逆向 程序时,如果事先知道这类程序的一些特征,那将会是事半功倍的: 分析/逆向 程序,和写程序不同,比喻的话:写程序像在作案,分析/逆向 程序就像是在破案,对破案来讲,重在假想和推理: 特征1 ...

  2. c# 字符串的内存分配和驻留池( 转 )

    刚开始学习C#的时候,就听说CLR对于String类有一种特别的内存管理机制:有时候,明明声明了两个String类的对象,但是他们偏偏却指向同一个实例.如下: string s1 = "he ...

  3. vue组件详解(二)——使用props传递数据

    在 Vue 中,父子组件的关系可以总结为 props向下传递,事件向上传递.父组件通过 props 给子组件下发数据,子组件通过事件给父组件发送消息.看看它们是怎么工作的.  一.基本用法 组件不仅仅 ...

  4. Mybatis和Hibernate本质区别和应用场景

    Hibernate:是一个标准ORM(对象关系映射)框架.入门门槛较高,不需要程序员写sql语句,sql语句自动生成,对sql语句优化.修改比较困难 应用场景:适用于需求变化不多的中小型项目,比如后台 ...

  5. ASP.NET Web API编程——模型验证与绑定

    1.模型验证 使用特性约束模型属性 可以使用System.ComponentModel.DataAnnotations提供的特性来限制模型. 例如,Required特性表示字段值不能为空,Range特 ...

  6. Spring AOP AspectJ

    本文讲述使用AspectJ框架实现Spring AOP. 再重复一下Spring AOP中的三个概念, Advice:向程序内部注入的代码. Pointcut:注入Advice的位置,切入点,一般为某 ...

  7. SpringCloud的服务注册中心(一)

    一.概念和定义 1.服务治理:服务注册与服务发现 服务注册中心,提供服务治理功能,用来实现各个微服务实例的自动注册与发现. 服务注册与发现对于微服务系统来说非常重要.有了服务发现与注册,维护人员就不需 ...

  8. 详解Ajax请求(三)——jQuery对Ajax的实现及serialize()函数对于表单域控件参数提交的使用技巧

    原生的Ajax对于异步请求的实现并不好用,特别是不同的浏览器对于Ajax的实现并不完全相同,这就意味着你使用原生的Ajax做异步请求要兼顾浏览器的兼容性问题,对于java程序员来讲这是比较头疼的事情, ...

  9. yagmail让发邮件更简单

    这是我迄今为止碰到的最良心的库,真tm简单啊 import yagmail # 连接邮箱服务器 yag = yagmail.SMTP(user="wuyongqiang2012@163.co ...

  10. logback生成多个不同的日志文件

    用logback生成日志文件做日志分析,日志写到多个文件中 http://stackoverflow.com/questions/2488558/logback-to-log-different-me ...