顺序分支结构

| 这个作业属于哪个班级 | C语言--网络2011/2012 |
| ---- | ---- | ---- |
| 这个作业的地址 | C博客作业00--顺序分支结构 |
| 这个作业的目标 | 初步认识C语法,掌握数据表达、printf、scanf语法及分支结构内容。 |

0.PTA作业展示

1.本章学习总结

1.1学习内容总结

  1. 浮点数类型的变量,输入一个数并存放进变量,控制格式符要用"%lf",输出要用"%f";整数型变量输入输出均用"%d"。

scanf("%lf",&a) 
printf("%f",a)


scanf("%d",&b)
printf("%d",b)

  1. rand() 用来生成一个随机数

srand(time(0));//生成不同的种子
num=rand()%100;//生成一个随机数,0~99之间

注:求余运算符取整型数据进行运算,不能用于实数型数据的运算

  1. 定义字符型变量要用到 cahr ,表示字符型常量要用单引号('')括起来
  • 'A'、' '、'?'、'\n'等等均为字符型常量

char op;
op='a';//将字符型常量'a'赋值给字符型变量op

  1. 求次方的运算 pow()

int x=2;
f(x)=pow(x,2);//求x的平方
m(x)=pow(x,4);//求x的四次方

  1. 学习求平方根、求绝对值

int x=64
f(x)=sqrt(x);//求X的平方根
m(x)=fabs(x);//求x的绝对值

  1. 逻辑“与”和逻辑“或”

if(year%4==0&&year%100!=0)

if(year%4==0||year%100!=0)

1.2编程技巧总结

  1. 标志符(flag/sign)的妙用

标志符的运用,可以在程序运行过程中,针对某些特殊数据,进行有针对性的处理


int flag=0;//先初始化标志符flag

if(表达式1)//对特殊条件的判断
{
      语句1;//特殊条件下执行的操作
      flag=1;//改变标志符
}
if(flag==1)//如果存在有满足特殊条件的
{
      语句2;//用来输出特殊的值或者执行其他操作
}

  1. 对一个整数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

  1. 在格式可控制说明中的“%”后面紧跟着加上一个数字,可设置输出数据的宽度

printf("%4d",a);//表示输出a的值占四个位子,不够的用空格补
printf("%6lf",a);//输出结果占六个位子

  1. 用getchar()来消空格或换行

  2. 判断整除


if(x%a==0)//余数为零即表示能够整除
{
      语句;
}

1.3本章学习体会

  • 从开学到现在,在老师的带领下,我已经初步对顺序分支结构进行了学习。从日常的刷题的反馈信息来看,我已经对顺序分支结构的语法有了很好的掌握,但顺序分支在题目中的应用技巧还有很大的提高空间,且分支结构中,在哪里设分支,该怎么设分支,我本人的这种应变的思维还远远不足以应对遇到的各种难题,由此在做题时跌过不少跟头。

  • 在这两周的时间中,我每天都会自己敲代码,或是完成老师布置的作业,或是在PTA刷之前没有弄懂的题目,有了更系统的学习之后,回过头来再去会会那些曾经“虐”过我的题目,感觉自己确实变强了,也是挺自豪的。但我深知自己还要坚持敲代码,以提高自己的代码量,提高自己的编程技巧,并不断地去发现新的方法,新的思路!

2.PTA实验作业

2.1 前天是哪天

2.1.1 数据表达&数据处理

数据表达

  1. 变量year、Month、day用于存放要输入的年、月、日;
  2. 变量preYear、preMonth、preDay用来存放要输出的前一天对应的年、月、日;
  3. 一个int类型的数组表示12个月份;

数据处理

  1. 分别将对应月份的天数赋值给对应月份;
  2. 判断给出的日期在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 数据表达和数据处理

数据表达

  1. 设字符型变量op
  2. 设用于循环的int类型的变量i
  3. 设用来表示字符个数的int类型的变量四个

数据处理

  1. 将上述表示数量的变量初始化
  2. 设置一个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

posted on 2020-11-08 22:03  木野  阅读(225)  评论(0编辑  收藏  举报