(一)改错题

错误信息:

错误原因:y=1/x后没加分号

改正方法:在其后加上分号

错误信息:

错误原因:if语句后接了;,使else语句找不到对应的if

改正方法:删掉if后的分号

错误信息:

错误原因:else后加了判断语句

改正方法:删掉(x != 10)

错误信息:

错误原因::" "与x之间x y之间缺少逗号

改正方法:在其间加上逗号

错误信息:

错误原因:if语句中不是给x赋值而是判断

改正方法:应改成x==10

错误信息:

错误原因:scanf("=%f", x);的括号中格式错误

改正方法:删掉=,%f改成%lf,x前面的空格改成&

错误信息:

错误原因:最后输出的X,Y格式不一样

改正方法:printf语句中,全改为%.1f

错误信息:

错误原因:与题目中所给格式不符

改正方法:删掉源程序中的所有\n

正确语句:

(二)学习总结

1.if(a)if(b) x=x+1;else y=y+1; 的确切含义是什么?这个else应该和哪个if配对?如何明确表达这种配对方法?将该段代码按照规范化的格式进行书写。

①确切含义是在同时满足a和b的情况下,执行“x = x + 1”的语句,否则执行“y = y + 1”的语句

②else应该和之前与其最近的且不带else的if配对,所以它应与第二个if配对

③如果想明确表达这种配对方法可以在每一个if 或else if或else后添加“{}”

④改正后的代码:

2.C语言的表达式 (-10< x <10)能够表达x在区间(-10,10)吗?为什么?如果不能,正确的表达式应该怎么写?

①不能

②因为在C语言里面,逻辑运算符的运行顺序是从左至右的顺序,先比较x与-10的大小,如果为真则赋值1,如果为假则赋值0,然后再用赋上的值和10比较,这样违背了x与10比较的目的

③正确表达方式如下:

3.C语言中输入数据时,如果遇到非法字符,则认为输入结束。运行程序(1),输入123a,看看输出结果是什么?你能解释是为什么吗?

①输出结果:

②原因:定义的a,b为整型,但输入的a并不属于整型。则a属于非法字符,直接结束,b随意给一值=1。

scanf()函数的返回值是成功读入数据的个数,如果没有读取任何数据,则返回0。运行程序(2),分别输入123 45和123a,看看输出结果是什么?为什么?

①输出结果:输入“123 45”

输入“123a”

②原因:因为返回值是成功读取变量的个数,当输入“123 45”的时候,因为两个数都是整形,可以读出两个数据,所以n=2;当输入“123a”的时候因为“a”是字符,为非法字符,不能读取数据,所以只将“123”赋值给了a,程序只读出一个数据,所以n=1

修改程序(1),当输入非法数据时,输出“Input error!".样例如下:

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

①要注意else后不能再跟语句

②牢记if和else要对应,一定要考虑配对问题

③要注意字符数据的输入还是实数或整形的,输入和输出的格式要一致

(三)实验总结

(1)题目

7-2 计算分段函数[2]

本题目要求计算下列分段函数f(x)的值

(2)流程图

(3)源代码

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

(5)实验分析

问题1:

原因:程序中有数学运算

解决办法:加上

(1)题目

7-4 算术入门之加减乘除

对于输入的两个整数,按照要求输出其和差积商。

(2)流程图

(3)源代码

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

(5)实验分析

问题2:

原因:对a b定义的为整形变量,所以除法计算时结果出现错误

解决办法:a/b进行小数转化,在前面加(float)

输出三角形面积和周长

(1)题目

7-6 输出三角形面积和周长

根据输入的三角形的三条边a、b、c,计算并输出面积和周长

(2)流程图

(3)源代码

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

(5)实验分析

问题及解决办法:输出结果不对,因为本题涉及很多除法及开方运算,所以会出现很多浮点数,将整形定义为double型解决了问题

(1)题目

7-8 出租车计价

本题要求根据某城市普通出租车收费标准编写程序进行车费计算。具体标准如下:

起步里程为3公里,起步费10元;

超起步里程后10公里内,每公里2元;

超过10公里以上的部分加收50%的回空补贴费,即每公里3元;

营运过程中,因路阻及乘客要求临时停车的,按每5分钟2元计收(不足5分钟则不收费)。

(2)流程图

(3)源代码

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

(5)实验分析

问题及解决办法:时间收费与里程收费的结合遇到问题,和同学讨论后解决问题

(四)PTA提交列表

C语言程序设计第三次作业——选择结构(一)的更多相关文章

  1. C语言程序设计第三次作业--选择结构(1)

    Deadline: 2017-10-29 22:00 一.学习要点 掌握关系运算符和关系表达式 掌握如何判断两个实数相等 掌握常用数学函数的使用 掌握逻辑运算符和逻辑表达式 理解逻辑运算的短路特性 掌 ...

  2. C语言程序设计第三次作业——选择结构(1)

    一.改错题 1.题目计算f(x)的值:输入实数x,计算并输出下列分段函数f(x)的值,输出时保留1位小数. 源程序(有错误的程序): #include <stdio.h> int main ...

  3. C语言程序设计第三次作业 —— 选择结构(1)

    (一)改错题 计算f(x)的值:输入实数x,计算并输出下列分段函数f(x)的值,输出时保留1位小数. (错误一) 错误原因及改正:第九行语句结尾缺少半角分号,添加分号即可改正 (错误二) 错误原因及改 ...

  4. C语言程序设计第四次作业——选择结构(2)

    Deadline: 2017-11-5 22:00 一.学习要点 掌握switch语句 掌握字符常量.字符串常量和字符变量 掌握字符型数据的输入输出 二.实验内容 完成PTA中选择结构(2)的所有题目 ...

  5. C语言程序设计第四次作业--选择结构(2)

    (一)改错题 输出三角形的面积和周长,输入三角形的三条边a.b.c,如果能构成一个三角形,输出面积area和周长perimeter(保留2位小数):否则,输出"These sides do ...

  6. C语言程序设计第四次作业-选择结构

    (一)改错题 输出三角形的面积和周长,输入三角形的三条边a.b.c,如果能构成一个三角形,输出面积area和周长perimeter(保留2位小数):否则,输出"These sides do ...

  7. C语言程序设计第四次作业——选择结构(二)

    (一)改错题 错误信息: 错误原因:第13行sqrt数学函数缺少")",导致编译器无法将括号正确配对 改正方法:补齐缺少的")" 错误信息: 错误原因:if语句 ...

  8. C语言程序设计第六次作业——循环结构(2)

    C语言程序设计第六次作业--循环结构(2) 之前的博客园图片没处理好,对大家说一声抱歉.希望大家能够多多指出我的错误,我来认真修改 ^ - ^ !. (1)改错题 序列求和:输入一个正实数eps,计算 ...

  9. C语言程序设计第五次作业——循环结构(1)

    一.改错题 1.题目 输出华氏摄氏温度转换表:输入两个整数lower和upper,输出一张华氏摄氏温度转换表,华氏温度的取值范围是{lower,upper},每次增加2℉.计算公式如下:c = 5×( ...

随机推荐

  1. css的内容

    块级元素和行内元素的区别: 1. 行内元素部不能够设置宽度和高度.行内元素的宽度和高度是标签内容的宽度和高度.块级元素可以设置宽度和高度. 2. 块级元素会独占一行.而行内元素却部能够独占一行,只能和 ...

  2. Python之旅.第三章.函数3.26

    一.函数: 1.为什么要有函数?什么是函数? 1.组织结构不清晰,可读性差 2.代码冗余 3.管理维护的难度极大,扩展性 具备某一个功能的工具就是程序的中函数 事先准备工具的过程---->函数的 ...

  3. WebDriverException : Missing 'type' parameter

    下载最新的geckodriver即可 v0.17.0 Releases · mozilla/geckodriver · GitHubhttps://github.com/mozilla/geckodr ...

  4. BizTalk Server 2010高可用方案

    BizTalk Server 2010高可用方案 本文介绍了 Microsoft BizTalk Server 中通过对主机的各层进行扩展提供高可用性的方案. 分隔各个区域的功能分为不同的主机和中的层 ...

  5. WebApi 的三种寄宿方式 (一)

    最近逛博客园,看到了Owin,学习了一下,做个笔记,说不定将来哪天就用上了 关于 Owin 的介绍,百度解释的很清楚了: https://baike.baidu.com/item/owin/28607 ...

  6. SpringCloud的应用发布(四)vmvare+linux,网关代理

    一.配置方式 1.代理同一个Eureka中注册的服务 2.代理url 二.访问方式:get - list 1.直接访问应用 2.代理访问应用

  7. Object.prototype.toString.call(obj)使用方法以及原理

    这几天看vue-router的源码 发现了Object.prototype.toString.call()这样的用法,当时以为这就是转成字符串的用的,但是越看越觉得不太对劲,赶紧查查资料,一查才知道没 ...

  8. html<!DOCTYPE>声明标签

    html<!DOCTYPE>声明标签 <DOCTYPE>声明是html文档的第一行,位于<html>标签之前 <DOCTYPE>声明不是html标签,他 ...

  9. js面向对象之公有、私有、静态属性和方法详解

    现下,javascript大行其道,对于网站开发人员来说,javascript是必需掌据的一门语言,但随着jquery等框架的流行和使用,许多人对于原生javascript缺乏深入的理解,习惯了函数式 ...

  10. java--- 使用interrupte中断线程的真正用途

    Java线程之中,一个线程的生命周期分为:初始.就绪.运行.阻塞以及结束.当然,其中也可以有四种状态,初始.就绪.运行以及结束. 一般而言,可能有三种原因引起阻塞:等待阻塞.同步阻塞以及其他阻塞(睡眠 ...