0.展示PTA总分(0----2)
1.本章学习总结(2分)
1.1 学习内容总结
1.常量,变量和数据类型
- 常量为不可变量,变量为可变量。在一个程序中,准确判断何为变量与常量,及该设定几个变量十分重要。
- 常量和变量都有类型。C语言中最常用的数据类型包括
- int——整型.其格式控制字符串——%d
- char——字符型.其格式控制字符串——%c
- float——单精度浮点型.其格式控制字符串——%lf
- double——双精度浮点型(与float,double型数据占用空间更大。精度更高)其格式控制字符串——%lf
- 在输出格式控制中,可以加宽度限制词。如,整型数据的输出格式控制说明%md,浮点型数据的输出格式控制说明为%.mlf。
2.基本程序框架
3.输入,输出,定义数据类型的基本语句
4.关系运算符与逻辑运算符
5.常用数学函数
- 平方根函数 sqrt (x)
- 绝对值函数 fabs (x)
- 幂函数 pow (x,n)
- 指数函数 exp (x)
- 对数函数 log (x)
6.分支结构
- 二分支结构的一般形式:
执行流程:先求解表达式,如果表达式的值为真,就执行语句1;否则就执行语句2.至少会执行一个语句。 - 多分支结构1:
if (表达式)
{
语句1;
}
....
else if (表达式n - 1)
{
语句n - 1;
}
else
{
语句n;
}
它的执行流程为:首先求解表达式1,如果表达式1的值为“真”,则执行语句1,并结束整个if语句的执行,否则,求解表达式2……最后的else处理给出条件都不满足的情况,即表达式1,表达式2……表达式(n-1)的值都为“假”时,执行语句n。它的执行流程为:首先求解表达式1,如果表达式1的值为“真”,则执行语句1,并结束整个if语句的执行,否则,求解表达式2……最后的else处理给出条件都不满足的情况,即表达式1,表达式2……表达式(n-1)的值都为“假”时,执行语句n。
- 多分支结构2:
switch (表达式)
{
case 常量表达式1;语句段1;break;
....
case 常量表达式n;语句段n;break;
default:语句段n + 1; break;
}
该语句的执行流程为:首先求解表达式,如果表达式的值与某个常量表达式的值相等,则执行该常量表达式后的相应语句段,如果表达式的值与任何一个常量表达式都不相等,则执行default后的语句段,最后执行break;语句,跳出switch语句。
- switch语句和if if else多分支语句共同点及不同点
共同点:都能实现多分支结构
不同点:
1.if-else需要判断过个分支。而switch只进入满足条件分支,无需比较其他分支。switch语句效率更高。
2.switch语句只能处理等值条件判断的情况,case后只能是常量。而if选择结构的限制,特别适合某个变量处于某个连续区间时的情况。
3.switch语句判断的值必须是整型,if判断整型数和浮点数都可以。
试
- if的嵌套语句
if (表达式1)
{
语句1;
}
else
if (表达式2)
{
语句2;
}
else
{
语句3:
}
7.循环结构
- for语句的一般形式
for (表达式1;表达式2;表达式3)
循环体语句
表达式1:对循环变量赋初值
表达式2:给出循环的条件
表达式3:改变循环变量的值
循环体语句:被反复执行的语句
8.扩展——随机数
#include<stdlib.h>
#include<time.h>
srand(time(0));//生成不同随机种子//
computerNumber=rand()%100//生成随机数//
1.2本章学习体会
- 在这2周的学习过程中,我觉得教室学习氛围挺好的,老师虽然年轻,但是我很喜欢她的教学方法。尤其是课堂互动,因为在有限的时间里,我觉得运用新学的知识解决新的问题是一个很有趣的挑战吧。对于我来说,我自身无论是在学习上或生活上遇到需要快速解决问题的时候总会大脑空白。所以我更喜欢这种教学方式来提升自己的解决问题的速度。从另一方面来谈的话,我经过学习2周的c语言,对于它,有更深的了解。起初在课堂上听讲,我觉得自己已经明白了老师讲的一个个知识点。但当我上机写作业的时候,总会发现一直错。我总结过后,发现自己有几个点需要注意。
1.必须先熟练打出基础语句,确认掌握所有的细节。
2.在每一次写程序时,总结pta上提示的错误有几种类型,如格式错误。了解错因,以防下次错误能快速找出错误。
3.c语言,单个知识点较简单,但当它们嵌套起来,程序难度会翻倍。
4.在起初写程序要放慢速度,因为我常常写得很快,但是却错在一些细节方面,导致一个细节可以卡我很久,最后我就不想写作业了。
5.在课堂上,要认真听老师所讲的知识点盲区。 - 代码总量502行
2.PTA实验作业
2.1 PTA题目1
计算银行存款的本息
本题目要求计算银行存款的本息,计算公式为sum=money×(1+rate)^year,其中sum为存款到期时的本息合计(税前),money是存款金额,year是存期,rate是年利率。
2.1.1数据处理
1. 数据表达 定义金额money、存期year、本息sum和年利率rate。 2.数据处理 - 输入金额money、存期year、年利率rate。 - 通过题目给的公式sum=money×(1+rate)^year进行sum的运算。 输出实数sum。
2.1.2代码截图
2.1.3扩展功能
- 可以分别计算利息和本金
2.1.4 PTA提交列表及说明
格式错误,头文件少了#
2.2 PTA题目2
2.2.1数据处理
数据表达:定义输入的正整数a,个位数b,十位数c,百位数d
数据处理:输入一个整数,通过除与求余求出输入正整数的个位数,十位数,百位数,最后a == b * b * b + c * c * c + d * d * d判断是否为水仙数。
2.2.2代码截图
2.2.3本题可扩展功能
- 输入2个正整数,求其范围内的水仙数
2.2.4 PTA提交列表及说明
写错了if语句中的控制条件和逻辑运算符
2.3 PTA题目3
2.3.1数据处理
数据处理:yyyy存储输入的年份
mm存储输入的月份
dd存储输入的天数
count+dd输出天数
数据表达:先判断是哪一个月份,再判断是不是闰年。
2.3.2代码截图
2.3.3本题可扩展功能
- 输入2个日期,求第一个日期经过多少天后到第二个日期
2.3.4 PTA提交列表及说明
判断闰年后忘记加一了