#C博客作业01--分支、顺序结构

0、展示PTA总分

顺序结构

分支结构

1、本章学习总结

1.1学习内容总结

1.C语言的主要“单词”

(1)标识符
·_name1 //标识符主要由字母、下划线、数字组成。
·Sum和sum是不同的标识符
·数据类型:int(整数类型),float(实数类型),char(字符类型),typedef(自定义类型)
·自定义标识符(可用驼峰法进行命名)
(2)常量
·10 //整型常量
·10.11 //实数常量
·‘a’ //字符常量
·“hello world” //字符串常量
(3)运算符
·单目运算:i++、i--、!
·双目运算:+、-、*、/、、=、>=、%...
(注:=和
的意义是不相同的!在写代码时要十分注意!)
·三目运算:?:
(4)分隔符
·如 ;、#
(注:每个语句之间需要用;隔开,并且为英文模式

2.C语言的主要语法单位

(1)表达式
·利用运算符对变量和常量进行结合,计算..如:
Celsius=5·(Fhar−32)/9
(2)变量定义
·最基本形式:类型名 变量名;
如:int i;(定义整型变量)、float x;(定义单精度浮点型变量)、double x;(定义双精度浮点型变量)
(3)语句
1、表达式语句,即表达式;,如:
y=x·x;
2、分支语句
二分支结构:
(1)if-else语句,其一般形式:

(2)省略else的if语句,其一般形式:

多分支结构:
(1)else-if语句,其一般形式:

(2)switch语句,其一般形式为:

(3)嵌套的if-else语句,其一般形式为:

应用案例:

3、循环语句
(1)for语句,其一般形式:

4、输入与输出
(1)printf()函数是格式化输出函数,在系统文件<stdio.h>中声明。一般调用格式为:printf(格式控制字符串,输出参数1,...,输出参数n);格式控制字符串包含格式控制说明和普通字符这两种信息。其中格式控制说明指不同类型的数据采用不同的格式控制字符。如,int型字符使用%d,float型字符使用%f。普通字符在输出数据时,需要原样输出的字符。例如:printf("fahr=%d,celsius=%d\n",fahr,celsius).
(2)scanf()函数是格式化输入函数,在系统文件<stdio.h>中声明。调用格式与printf()相似,不同的是需在变量名前加&,如&x。其double型数据使用格式说明%lf。
(3)字符输入函数getchar(),其一般调用格式为:ch=getchar();。其功能是从键盘输入一个字符,并赋值给变量ch。如果需要输入多个字符,就要调用多次该函数,一般采用循环调用的方式,如:

(4)字符输出函数putchar(),其一般调用格式为putchar(输出函数)。功能为输出参数是字符型变量或字符型常量。例如:

5、常用数学函数
调用数学函数,需加入#include<math.h>。
常用的数学函数有:
(1)平方根函数sqrt(x)
(2)绝对值函数fabs(x)
(3)幂函数pow(x)
(4)指数函数exp(x)
(5)以e为底的对数函数log(x)
应用案例:(计算分段函数)

1.2本章学习体会

1、学习感受
对于C这门专业课程,通过两周的学习中也是大致了解了一番。而最常听到的一句话就是“C语言都是练出来的”,嗯是这样的,当我凭着自己的感官和自己将代码打入VS中,得到的结果是会不一样的。从这点呢也说明了我还没有充分具备阅读代码的能力,并且我的知识储备还不足以支撑我去破解一段代码中的陷阱。而这门专业课还有一个很大的特点,就是容易具有成就感。当你辛辛苦苦打出一段代码,确认无误时复制到PTA上得到答案正确时是十分满足的。就算尝试了好几遍,那个慢慢进行更改,一个一个把错误纠出来直到正确时会让人感觉人生都升华了...并且你会忍不住回去欣赏一下你打完的代码。嘻嘻。
2、教学建议
关于这门课,我希望可以有一节课带着我们阅读代码,阅读代码是否有一些固定的思路和套路。
3、代码量
947

2.PTA实验作业

2.1出租车计程

2.1.1数据处理

·数据表达
·int time; //由题目中提到乘客若要求临时停车并且超过五分钟选超过时间每五分钟两元计,涉及最后金额,需要定义整型变量时间time
·double x,fare1,fare2; //x代表距离,fare1代表出租车行驶费用,而fare2代表客户要求停车时的额外费用
·数据处理
一个输入语句,嵌套式if-else语句,,一个输出语句

2.1.2代码截图

2.1.3本题可扩展功能

后面发现使用该方法需要fare1和fare2两个变量,较为复杂,可以利用time为整型变量,若time小于5,则time%5为0。可改为

2.1.4PTA提交列表及说明


由于题目没有看清楚,在第一部分上面将x<=3改为x<3便解决问题。

2.2成绩转换

2.2.1数据处理

·数据表达
·int score;
·数据处理
一个输入语句,else-if语句,五个输出语句

2.2.2代码截图

2.2.3本题可扩展功能

本题只能在输入一个数据而判断单一数据,如果需要判断很多个学生的成绩等级,一个一个的进行判断十分麻烦。可利用循环语句进行多个数据输入,依次进行判断,如下:

2.2.4PTA提交列表及说明


最开始使用的是嵌套式的if-else语句,其学生成绩没有办法进行较好的分布,并且最后少了一个else。
后来进行改善,就修改成立else-if语句。

2.3判断一个三位数是否为水仙花数

2.3.1数据处理

·数据表达
·int N,unit,hundred,decade;
·数据处理
一个数据输入,对unit,hundred,decade的表达式,嵌套式if-else语句,三个数据输出

2.3.2代码截图

2.3.3本题可扩展功能

可使用循环语句,将三位数的水仙花数统一输出,如下:

2.3.4PTA提交列表及说明


在写完这道题目要提交时,我回头检查了一遍,发现main()写成mian()。果真细节决定成败。

3.阅读代码


看到这段代码,首先看见的是五个看不懂的头文件。于是我上网查找所有能加的文件,大致了解了一下.
学习过的:
include <math.h> 定义数学函数
include <stdio.h> 定义输入/输出函数
include <stdlib.h> 定义杂项函数及内存分配函数
了解过的:
include <time.h> 定义关于时间的函数
还未学习的:
include <assert.h> 设定插入点
include <ctype.h> 字符处理
include <errno.h> 定义错误码
include <float.h> 浮点数处理
include <fstream.h> 文件输入/输出
include <iomanip.h> 参数化输入/输出
include <iostream.h> 数据流输入/输出
include <limits.h> 定义各种数据类型最值常量
include <locale.h> 定义本地化函数
·而这段代码从我所学知识看来,它应用了一个类似于嵌套式if-else语句的嵌套的while语句。其中一共具有四个循环。
·最后的printf("\n");表示输出换行符,“\n”是个转义字符。
·从浏览代码中我真切的意识到如果变量名不明确或者没有特别注释,没有题目的情况下,别人真的很难从中看懂所写代码所要表示的内容

posted @ 2019-10-07 21:05  林浈  阅读(446)  评论(4编辑  收藏  举报