C博客作业01--分支顺序结构
1.展示PTA总分
2.本章学习总结
①C语言数据类型
② if-else语句
if (条件)
{
语句A;
}
else
{
语句B;
}
- 在if (条件)后不加“;”
- 要用“{ }”将语句括起,使程序整洁且不易出错。
- else是对最近的if的否定。
③输入输出函数
- 函数scanf( )和printf( )可处理整型数据、浮点型数据、和字符型数据的输入与输出。
- 表达式包括两个操作数和一个运算符时,在输入数值时不能在数与运算符之间出现空格,因为空格也算一个字符。
- 字符输入函数getchar( )
- 一般调用格式为ch=getchar( )即输入一个字符,赋予变量ch。
- 只能读入一个字符,若需输入多个字符,需要多次调用,一般采用循环结构。,例如:
char ch;
for (i=0;i<0;i++)
char=getchar( );
- 字符输出函数putchar( )可输出一个字符,输出结果中字符两侧没有单引号。
④逻辑运算符
- 逻辑表达式的值是1或0即真或假。
- 逻辑运算符&&和||的优先级低于关系运算级,即(ch>='a')&&(ch<='z')等价于ch>='a'&&h<='z'。
⑤switch语句
switch (表达式)
{
case 常量表达式A:语句段A;break;
case 常量表达式B:语句段B;break;
........
default:语句N;break;
}
- 所有的常量表达式都不相等。
- 表达式和常量表达式的值一般是整型或字符型。
- 语句段可包括多条语句,也可为空。
- 若无default,则什么都不执行。
- case后只能等值判断,不能加条件。
- 若无break,则程序会顺下去走一遍。
⑥宽度限定词
- 整型数据:%md,m即输出宽度(包括符号位)
- 实型数据:%m.nf,指定了输出浮点型数据时保留n位小数,且宽度为m。
- 若数据小于m,左端补空格;若数据大于m,按实际位数输出。
⑦for语句
for (表达式A;表达式B;表达式C)
{
循环体语句;
}
- for后无“;”。
- 表达式A:赋初值。
- 表达式B:条件。
- 表达式C:变值。
- 仅由一个“;”组成的语句称为空语句,什么也不做。
⑧常见数学函数
- 平方根函数sqrt(x),如sqrt(4.0)的值为2.0。
- 绝对值函数fabs(x),如fabs(-3.56)的值为3.56。
- 幂函数pow(x,n),如pow(1.1,2)的值为1.21。
-指数函数exp(x),如exp(2.3)的值为9.974182。 - 以e为底的对数函数log(x),如log(123.45)的值为4.815836。
- 调用数学函数要在加#include <math.h>
3.学习体会
我是被一路虐过来的,把书上的内容灵活地应用到实际操作中是真的魔鬼,PTA中的题目我能一遍就编对的不超过七道,但还好,比起刚开始我至少对C语言这玩意儿不会感到陌生了。总归还是得练,天天练,脑子才能慢慢适应C语言的思维方式。
4.PTA作业
①判断一个数是否为水仙花数
- 数据处理:
- N表示输入的三位数。
- bit表示该数的个位数。
- tan表示该数的十位数。
- hundred表示该数的百位数。
- 依题意,都是int整数型。
- 代码截图:
- 本题可拓展内容:
可进一步改进成输出所有符合水仙数规则的三位数。
做法:加一个for循环节。 - PTA提交列表及说明
- 第一次编译错误是忘了加scanf ("%d",&N);的“&”。
- 第二次答案错误是我对“该数不是三位数时”的判断条件错误。
**②考研录取情况 **
- 代码截图:
- 数据处理:
- mathematics表示数学成绩。
- english表示英语成绩。
- politics表示政治成绩。
- specializedCourse表示专业课成绩。
- totalScore表示总成绩。
- 依题意,均定义为int型。
- 本题可拓展内容:
可在输出A、B、C等级的同时输出该考生的各科成绩及总分,若有某科不达线,可重点标出。 - PTA提交列表及说明
- 本题的部分错误源于我在判断B情况时只用了if而不是else if,导致判断C情况时只实现了对B情况的否定而没有否定A情况,因此会出现A、C同时出现的错误输出。
③特殊a串数列求和
- 代码截图:
- 数据处理:
- 依题意,将a、n定义为int型。
- 定义i为int型,达到循环目的。
- 定义t为int型,实现a到aa再到a⋯a(n个a)的变化,并依次赋值予t。
- 定义s为int型,将每一次t的值相加,完成题目要求。
- 本题可拓展内容:
- 本题先设一个t将所有加数的值都暂时存储起来,再由s将其相加的思路,个人觉得很妙。
- 本题先设一个t将所有加数的值都暂时存储起来,再由s将其相加的思路,个人觉得很妙。
- PTA提交列表及说明:
- 本题错误在于我错误地理解了题意,将a⋯a(n个a)误认为n个a相乘,导致答案错误。问过度娘后才知道真相······
![](https://img2018.cnblogs.com/blog/1777822/201910/1777822-20191007103055934-229390510.jpg)
5.代码阅读
代码功能:计算出M个同样的苹果放在N个同样的盘子里(允许有空盘子)有多少种不同的分法。
优点:该程序的前提条件判断巧妙而灵活,符合实际生活,值得我们学习!