| 这个作业属于哪个班级 | C语言--网络2011/2012 |
| ---- | ---- | ---- |
| 这个作业的地址 | C博客作业00--顺序分支结构 |
| 这个作业的目标 | 初步认识C语法,掌握数据表达、printf、scanf语法及分支结构内容。 |
0.PTA作业展示
1.本章学习总结
1.1学习内容总结
- 浮点数类型的变量,输入一个数并存放进变量,控制格式符要用"%lf",输出要用"%f";整数型变量输入输出均用"%d"。
scanf("%lf",&a)
printf("%f",a)
scanf("%d",&b)
printf("%d",b)
- rand() 用来生成一个随机数
srand(time(0));//生成不同的种子
num=rand()%100;//生成一个随机数,0~99之间
注:求余运算符取整型数据进行运算,不能用于实数型数据的运算
- 定义字符型变量要用到 cahr ,表示字符型常量要用单引号('')括起来
- 'A'、' '、'?'、'\n'等等均为字符型常量
char op;
op='a';//将字符型常量'a'赋值给字符型变量op
- 求次方的运算 pow()
int x=2;
f(x)=pow(x,2);//求x的平方
m(x)=pow(x,4);//求x的四次方
- 学习求平方根、求绝对值
int x=64
f(x)=sqrt(x);//求X的平方根
m(x)=fabs(x);//求x的绝对值
- 逻辑“与”和逻辑“或”
if(year%4==0&&year%100!=0)
if(year%4==0||year%100!=0)
1.2编程技巧总结
- 标志符(flag/sign)的妙用
标志符的运用,可以在程序运行过程中,针对某些特殊数据,进行有针对性的处理
int flag=0;//先初始化标志符flag
if(表达式1)//对特殊条件的判断
{
语句1;//特殊条件下执行的操作
flag=1;//改变标志符
}
if(flag==1)//如果存在有满足特殊条件的
{
语句2;//用来输出特殊的值或者执行其他操作
}
- 对一个整数n,n%10得到它的个位数;n/10去掉它的个位数。
int a,b,c;
a=123;
b=a/10;//a去掉个位数后剩下的赋值给b,此时b为12
c=a%10;//得到a的个位数,并赋值给c,此时c为3
- 在格式可控制说明中的“%”后面紧跟着加上一个数字,可设置输出数据的宽度
printf("%4d",a);//表示输出a的值占四个位子,不够的用空格补
printf("%6lf",a);//输出结果占六个位子
-
用getchar()来消空格或换行
-
判断整除
if(x%a==0)//余数为零即表示能够整除
{
语句;
}
1.3本章学习体会
-
从开学到现在,在老师的带领下,我已经初步对顺序分支结构进行了学习。从日常的刷题的反馈信息来看,我已经对顺序分支结构的语法有了很好的掌握,但顺序分支在题目中的应用技巧还有很大的提高空间,且分支结构中,在哪里设分支,该怎么设分支,我本人的这种应变的思维还远远不足以应对遇到的各种难题,由此在做题时跌过不少跟头。
-
在这两周的时间中,我每天都会自己敲代码,或是完成老师布置的作业,或是在PTA刷之前没有弄懂的题目,有了更系统的学习之后,回过头来再去会会那些曾经“虐”过我的题目,感觉自己确实变强了,也是挺自豪的。但我深知自己还要坚持敲代码,以提高自己的代码量,提高自己的编程技巧,并不断地去发现新的方法,新的思路!
2.PTA实验作业
2.1 前天是哪天
2.1.1 数据表达&数据处理
数据表达
- 变量year、Month、day用于存放要输入的年、月、日;
- 变量preYear、preMonth、preDay用来存放要输出的前一天对应的年、月、日;
- 一个int类型的数组表示12个月份;
数据处理
- 分别将对应月份的天数赋值给对应月份;
- 判断给出的日期在2号之前还是在2号之后,2号之后,直接天数减2,同年同月。
2号之前需再判断月份是不是一月,如果是一月那么月份就变成前一年12月,年份对应减一;2号的话前天是上月最后一天,1号的话则是上月倒数第二天
2.1.2 代码截图
2.1.3 PTA提交列表及说明
Q1:输入格式错误,
A1:将“%d/%d/%d" 中的“/”换成"-"
Q2:在一号和二号时,求前天的号数出错,原因在于,数组给出的十二个数是1到12
A2:将十二个数每个均减小1
Q3:在一号和二号时,求对应月份天数时用了Month
A3:将Month换成preMonth
2.2 if-else/for 统计字符
2.2.1 数据表达和数据处理
数据表达
- 设字符型变量op
- 设用于循环的int类型的变量i
- 设用来表示字符个数的int类型的变量四个
数据处理
- 将上述表示数量的变量初始化
- 设置一个for循环,循环次数为10次;
每次循环读入一个字符并赋值给op,判断op是字母、数字、空格、还是其他,每判断一个,相应的变量加1
2.2.2 代码截图
2.2.3 PTA提交列表及说明
Q1:逻辑“与”中表达式没有加括号
A1:在逻辑与中的表达式加括号
Q1:题目中给出的变量抄错
A1:将变量改了回来。。。
Q1:发现在第一步加括号时手抖删了一个等号
A1:加等号。。
2.3 单步调试检查错误
2.3.1 单步调试截图
2.3.2 代码截图
2.3.3 PTA提交列表及说明
Q1:在数据表达时定义的单变量和数组重复,用了同一个month;在for循环中使用的i没有定义
A1:将两个month用大写加以区分,并定义i