C博客作业00--顺序分支结构
| 这个作业属于哪个班级 | C语言--网络2011/2012 |
|---|---|
| 这个作业的地址 | C博客作业00--顺序分支结构 |
| 这个作业的目标 | 初步认识C语法,掌握数据表达、printf、scanf语法及分支结构内容 |
0.展示PTA总分

1.本章学习总结
1.1学习内容总结
1).程序的基本内容
include <stdio.h>//编译预处理命令
int main()//定义主函数main()
{
//语句
return 0;//结束运行,并返回
}
2).数据类型
| 数据类型 | 类型名 | 输入形式 | 输出形式 | 所占空间 |
|---|---|---|---|---|
| 整型 | int | %d | %d | 4字节 |
| 单精度浮点型(实型) | float | %f | %f | 4字节 |
| 双精度浮点型(实型) | double | %lf | %f(%lf) | 8字节 |
| 字符型 | char | %c | %c | 1字节 |
3).标识符(字母,数字和下划线组成)
- 变量:使用驼峰命名法,要求见名知意;
实例

- scanf:输入语句
- printf:输出语句
4).运算符(按照优先级)
前缀后缀:
| 表达式 | 运算 | 表达式的值 |
|---|---|---|
| count++ | 给count加一 | count原来的值 |
| ++count | 给count加一 | count加一以后的值 |
| count-- | 给count减一 | count原来的值 |
| --count | 给count减一 | count减一以后的值 |
5)分支结构——if语句(单分支,双分支,多分支)
a:结构
if(表达式一)
{
语句一;
}
else if(表达式二)
{
语句二;
}
else if(表达式三)
···
···
···
else
{
语句n;
}
b:提示:
- else是与最接近且没有与else匹配的if匹配;
- 大括号要换行,缩进,对其;
- 等号是==;
c:实例:
7-1 求中间数 (12分)题目详情
输入三个整数,找出介于最大和最小之间的那个数
输入格式:
3个整数以空格分开
输出格式:
输出介于最大和最小之间的数
6).分支结构-switch结构
a:结构
switch(表达式)
{
case 常量表达式1:语句段1;break;
case 常量表达式2:语句段2;break;
case 常量表达式3:语句段3;break;
··· ··· ···
case 常量表达式n:语句段n;break;
default: 语句段n+1;break;
}
b:提示:
- 有break与无break
没有break的时候,只要有一个case匹配了,剩下的case语句都要执行
有break的时候,则是直接跳出了switch语句,只执行那一个匹配的语句 - switch语句case后面是常量,不可以是变量
- 不能忘记大括号和分号(;)
c:实例
7-10 计算天数 (15分)题目详情
本题要求编写程序计算某年某月某日是该年中的第几天。
输入格式:
输入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)给出日期。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。闰年的2月有29天。
输出格式:
在一行输出日期是该年中的第几天。
7).随机函数
a:用法
- 首先,需要写出表头函数 #include <stdlib.h>
- 其次,使用rand()随机生成随机数
以上没有随机种子,会使每次生成的随机数相同,
所以,如果需要每次生成随机数不相同,需要编写随机种子; - 之后,需要写出表头 #include <time.h>
- 再编写随机种子 srand(time(0));
b:实例

c:提示 - 如果需要随机数在0-100,a=rand()%100;
- 如果需要随机数在10-100,a=10+rand()%90;
- 如果需要随机数在x-n+x,a=x+rand()%n;
1.2编程技巧总结
1).字符输入:getchar();字符输出:putchar();
2).整数的分解
- 得到一个整数的个位数————n%10;
- 去掉一个整数的个位数————n/0;
- 对一个数除以10再%10,得到原来数的十位数;
依此类推······
3).闰年判断方式
if(year%4==0&&year%d100!=0||year%400==0)
4).各种函数
- 求实数绝对值:fabs(x)
- 求x的平方根:sqrt(x)
- 求x的n次方:pow(x,n)
提示:数学函数要在代码最前面加上表头文件 #include <math.h>
1.3本章学习体会
- 学习感受
写代码需要不断的练习和不断的尝试,才能从中形成自己的风格与体会。
如分支结构使用缩进与对齐就可以使代码更加清晰易懂;
必要时需要增加注释,这样以后再看才能理解代码的用途;
c语言也有很多需要记忆的东西,比如各种典型题型,函数,各种符号代表的意义与作用;
有些很难的题目思路会想不清楚,所以需要多看多学; - 两周代码量
包括老师课件互动题,实验题集,,分支题集,单循环题集,课堂派测试题等等;
2.PTA实验作业
2.1前天是哪天
给定公元1000年到公元3000年之间的某一天,请你给出该天的前天是哪一天。
输入格式:
输入在一个日期,格式如"yyyy-mm-dd",题目保证所有输入日期为合法日期。
输出格式:
对每一组输入,在一行中输出日期,格式如"yyyy-mm-dd"。
2.1.1数据处理
(1).数据表达
- 变量:
因为题目中涉及到“格式如yyyy-mm-dd”的年月日,输入输出都为日期,暂时没有其它数据,所以我使用年(year),月(month),日(day)三个变量。 - 类型
因为年月日都为整数,所以使用整型(int);
2.1.2代码截图

2.1.3PTA提交列表及说明

错误原因:
错误1:有几个==写成了=;所以之后的if语句不具有判断意义,所以会输出好几个答案,所以答案错误
错误2:闰年的判断方式写错了,导致有关闰年的答案错误,所以部分正确
错误3:还有某个闰年的判断方式写错了,导致1900-3-1答案错误,所以 部分正确
将这几个方面改正后答案便通过了测试;
2.2字符型问题
7-2 计算油费 (15分)题目详情
现在90号汽油6.95元/升、93号汽油7.44元/升、97号汽油7.93元/升。为吸引顾客,某自动加油站推出了“自助服务”和“协助服务”两个服务等级,分别可得到5%和3%的折扣。
本题要求编写程序,根据输入顾客的加油量a,汽油品种b(90、93或97)和服务类型c(m - 自助,e - 协助),计算并输出应付款。
输入格式:
输入在一行中给出两个整数和一个字符,分别表示顾客的加油量a,汽油品种b(90、93或97)和服务类型c(m - 自助,e - 协助)。
输出格式:
在一行中输出应付款额,保留小数点后2位。
2.2.1数据处理
1).数据表达
变量
因为题目中出现3种品种汽油,所以有三种价格,还有两种服务类型;
所以对油的油量oil,油的品种type,服务类型service,油费money,打折后的最终价钱all。
类型
根据题意,油量oil,油的品种type为整型,使用int;
油费money和打折后的最终价钱all为浮点型,使用double;
服务类型service为字符型,使用char;
2.2.2代码截图

2.2.3PTA提交列表及说明

错误原因:
错误一:数据乘错了,打%3与%5折扣应该是乘以0.97与0.95;所以会出现答案错误
错误二:应该是service=='e',打成type=='e',所以有关e的都错了,所以为部分正确
错误三:与错误二相同
所以在把数据与单词都改正后就答案正确了;
2.3单步调试
2.3.1单步调试截图
1).添加断点和监视变量,输入scanf所需要的值

2).跟踪观察

2.3.2代码截图

2.3.3PTA提交列表及说明

**错误原因:*8
错误1:有几个==写成了=;所以之后的if语句不具有判断意义,所以会输出好几个答案,所以答案错误
错误2:闰年的判断方式写错了,导致有关闰年的答案错误,所以部分正确
错误3:还有某个闰年的判断方式写错了,导致1900-3-1答案错误,所以 部分正确
将这几个方面改正后答案便通过了测试;
所以,根据单步调试,找出自己的错误,也能理清复杂题目的思路,使我们发现自己的错误。
C博客作业00--顺序分支结构的更多相关文章
- c博客作业01——顺序 分支结构
本章学习总结 1.1 学习内容总结 ·学习switch分支的使用,switch后加括号(),括号内填一个变量或字符 如 switch (a) { case 2: case 3: default: } ...
- c博客作业01--顺序分支结构
0.展示PTA总分 1.本章学习总结 1.1 学习内容总结 1.运算符需注意的要点 '/'的左右两边如果均为整型数,其结果也为整型:'%'的左右两边只能为整型数: 优先级:逻辑运算符<关系运算符 ...
- C博客作业00—我的第一篇博客
C博客作业00-我的第一篇博客 1. 你对网络专业或者计算机专业了解是怎样? 泛泛了解 - 原先只知道网络工程隶属于计算机工程学院,与院中其他专业一样,同样都需要学习大量的计算机基础知识,然后再分支学 ...
- C博客01--顺序、分支结构
1.本章学习总结 1.1 思维导图 1.2 本章学习体会及代码量学习体会 1.2.1 学习体会 经过一周的初步学习,对C语言我有了一定的认识,也体验到了代码的乐趣,这应该为我以后的学习开了一个好头.在 ...
- C博客作业00——我的第一篇博客
1.你对网络专业或计算机专业了解是怎样? 初看字眼,便觉得是理工性很强的专业,所以需要较强的开拓思维,创新精神,探索未知事物的勇气,才能掌握并且熟练应用相关知识.计算机类专业都需要学习计算机语言,而计 ...
- C语言博客作业00
对网络专业的了解 我一直觉得计算机是个很神奇的东西,就像大脑中有思想一样,在一个有形的芯片中能储存着无形的数据.它们的存储方式是什么?读取方式又是什么?为什么2个数字能产生如此巨大的信息?为什么点击鼠 ...
- C博客作业01——分支,顺序结构
C博客作业01--分支,顺序结构 0.展示PTA总分 1本章学习内容 1.1学习内容总结 1)格式化输出函数printf(),scanf(). 它是什么? 对于初学者而言,一开始了解接触它们,只是被硬 ...
- C语言博客作业06——结构体&文件
C语言博客作业06--结构体&文件 1.本章学习总结 1.1思维导图 1.2.本章学习体会 在本周的学习中,我们学习了关于结构体和文件的内容.结构体的本身并不难,但以结构体为基础的链表还是让我 ...
- C语言l博客作业06
C语言l博客作业06 问题 回答 这个作业属于哪个课程 C语言程序设计ll 这个作业的要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2019-2/homew ...
随机推荐
- iOS开发之蜂窝布局—Swift
前言 最近项目中用到了类似蜂窝的六边形布局,在这里分享出来抛砖引玉,供大家参考学习.本文提供了2种思路实现效果,第一种方式使用UICollectionView实现,第二种方式使用UIScrollVie ...
- SpringBoot中实现支付宝支付
本文只介绍当面付(扫码支付)和APP支付 一. 接入准备 #这里分两种情况,正式环境和沙箱环境,本文使用沙箱环境 1.进入支付宝开放平台,创建应用 登录 支付宝开放平台,创建应用并提交审核,审核通过后 ...
- Docker源码安装附内网镜像安装演示
Docker源码安装附内网镜像安装演示 系统版本要求 当前系统版本:CentOS Linux release 7.9.2009 (Core) 内核版本:3.10.0-1160.el7.x86_64 注 ...
- SpringBoot跨域
第一种方法 在Controller类或方法上加上@CrossOrigin元注解 package com.wzq.test.action; import com.wzq.utils.BatchDownF ...
- 怎样在自己的 Web 中加入强大的日志系统系统?slf4j 的日志插件必须要知道!
对于程序猿来讲,一个应用程序的日志管理是极为重要的.因为,它可以帮助我们随时查看应用程序的运行状态.执行效果等信息,从而监控软件系统.或是根据日志信息解决一些重要的问题. 但是在 Java 应用程序中 ...
- 【iKBC poker2】使用说明书(简体中文版)自用
主要功能介绍: 可携带式 60%键盘 搭配 QWERTY 配置(61 Key) Cherry MX 系列轴 (黑.青.茶.红) 双层板 PCB 键帽材质: ABS(喷漆镀膜-LED 专用).PBT L ...
- WPF---数据模板(一)
一.场景模拟 假设我们现在有如下需求: 我们需要在ListBox中的每个Item中显示某个成员的姓名.年龄以及喜欢的颜色,点击Item的时候,会在右边显示详细信息,同时也想让ListBox的样式变得好 ...
- C#设计模式---迭代器模式(Iterator Pattern)
一.目的 提供一种方法访问一个容器对象中各个元素,而又不需暴露该对象的内部细节. 二.定义 迭代器模式提供了一种方法访问一个聚合对象(理解为集合对象)中各个元素,而又无需暴露该对象的内部表示,这样既可 ...
- 【ArcEngine】AE连接SDE_For_SQLServer参数设置
SDE for sqlserver直连的ArcEngine访问 Ae中的数据的连接实质还是采用服务连接的方式.连接代码如下: 1 public IWorkspace Getworkspace() 2 ...
- 使用dom4j工具:xml总结
1.IO流:BufferedReader字符流readLine();截取 不可行!!!2.XML解析:dom4j查:标签:element("name")elements(" ...

