C博客作业01--分支、顺序结构
0.展示PTA总分
选择结构
顺序结构
1.本章学习总结
1.1 学习内容总结
- (1)多分支选择结构中switch语句与else if的区别
switch语句只能处理等值条件判断的情况,case后只能是常量。而if选择结构的限制,特别适合某个变量处于某个连续区间时的情况
switch语句判断的值必须是整型,if判断整形型数和浮点数都可以
注意事项
switch语句中每个case之后要带上一个break,否则体系将不会结束
在if语句中要注意不要误把输出语句放在体系内 - (2)函数(用#include<math.h>调用)
平方根函数sqrt(x)
绝对值函数fabs(x)
幂函数pow(x,n)
指数函数exp(x)
以e为底的对数函数log(x) - (3)循环语句
循环三要素:初始化,条件表达式,增量
while循环
do-while 先执行,后判断
while 先判断,后执行
在条件为真的情况下都一样
for循环
同样有三要要素,且用;隔开
while( ) //当条件不满足括号内表达式时停止循环
{
//循环语句
}
for( ; ; ) //第一个空开始循环时执行一次,总共执行一次,第二个空为判断条件是否成立,第三个空当循环语句执行完后进行。
{
//循环语句
}
- (4)字符型变量
char a,b; //定义字符型变量a,b
a=getchar(); //输入一个字符
/*或*/
scanf("%c",&b); //同是输入一个字符
putchar(a); //输出字符a
/*或*/
printf("%c",b)
ch=getchar() 只能读入一个字符,如果要输入多个字符,需要多次调用该函数,一般采用循环调用的方式
char ch; for(i = 0; i <= 10; i++) ch = getcher();
putchar(输出参数)可以输出一个字符,输出参数为字符型常量或者字符型变量
- (5)断点调试
- if的嵌套语句中的一些注意事项else是否定最靠近的if注意区分尤其是在阅读程序的时候
1.2 本章学习体会
c语言作为一种计算机的语言,我们学习它,有助于我们更好的了解计算机,与计算机进行交流。其语言功能丰富、表达能力强、使用灵活方便、既具有高级语言的优点,又具有低级语言的许多特点,适合编写系统软件。我已经对c语言这门课程学习了一段时间,对其有了一定的了解,但是也仅仅是停留在了解的范围,对里面的好多东西还是很陌生的,在运用起来的时候还是感到有些生疏,比如switch语句与while语句,每次运用时还是会丢三落四,对一些基本的程序语言还是掌握的不够熟练。要了解C语言就要从语法基础来学习起,首先要是要了解它的结构,比如变量,首先要了解变量的定义方式(格式),其意义是什么(定义变量有什么用);其次就是要我要怎么去运用它(我要用什么型式去应用它)。并不断加强练习,确实,想学好C语言最简单也是最有效的方法就是不停的练习,加深自己对程序的理解。
2.PTA实验作业
2.1 判断一个三位数是否为水仙花数
- 数据表达:定义类型为int的变量nunber,ge,shi,bai,分别来储存个位百位十位上的数字,number表示需要用户输入的一个数字。
*数据处理:首先判断number是否为三位数number < 100||number>999,并利用取余来得出个十百位数字
ge = number % 10;
shi = (number / 10) % 10;
bai = number / 100;
*2.1.2 代码截图
*2.1.3 本题可扩展功能
不只是判断三位数是否为水仙花数
*2.1.4 PTA提交列表及说明
三次部分正确是因为第一个if条件结束之后,没有直接到达程序底部即没有goto end使得每种情况均将第二个if运行了一次,使得结果错误
2.2 计算天数
- 2.2.1 数据处理
用int类型定义year month date 运用题目条件判断是否为闰年:该年年份能被4整除但不能被100整除、或者能被400整除 - 2.2.2 代码截图
- 2.2.3 本题可扩展功能
此方法较为繁琐运用if语句对month的两种情况进行讨论
若进行改进可以更加简便
- 2.2.4 PTA提交列表及说明
2.3 出租车计价
- 2.3.1 数据处理
用int类型定义变量s t m分别为路程时间车费,对路程进行讨论在进行车费的一系列判断 - 2.3.2 代码截图
- 2.3.3 本题可扩展功能
想了一个办法简化了程序
- 2.3.4 PTA提交列表及说明
两次错误都是在没有完全理解题目的意思时就开始动手,导致了if语句的错乱
3.阅读代码
计算具有特定数量的倒数的排列的数量。
给定排列a1,a2,a3,.,n中的n个整数1,2,3,.,n,逆是一对(ai,aj),其中iaj。排列中的倒数给出了排列如何“未排序”的指示。如果我们希望分析排序算法的平均运行时间,计算具有恰好k个倒数的n值的排列数量。
(看不大懂)