C博客作业02--循环结构
这个作业属于哪个班级 | C语言--网络2011/2012 |
---|---|
这个作业的地址 | C博客作业00--循环结构 |
这个作业的目标 | 学习循环结构内容,包括for循环、while循环、循环嵌套 |
姓名 | 王博 |
0.展示PTA总分(0----2)
1.本章学习总结(2分)
1.1 for循环语法
语法:for(循环初始变量;循环条件;本次循环结束后执行的语句){语句}
例:
for(i=1;i<=10;i++)
{
printf("%d",i);
}
注意:在for(;;)
后不可以添加;否则将会判断为一个空的循环语句,并且for循环适用与循环次数有限的循环语句中,但for循环中只填入循环条件时与whlie循环相同。
1.2 while、do while循环语法
语法:while(循环条件){循环语句}、do{循环语句}while(循环条件)
例:
while(i<=10)
{
printf("%d",i);
i++;
}
do
{
printf("%d",i);
i++;
} while(i<=10);
注意:while循环的判定在循环前,do-while循环的条件判定在每次循环结束后,并且在do-while循环结束后要在循环条件的括号后添加‘;’。
1.3 跳出循环相关语句break\continue
作用:
continue--跳过下一语句。
break--离开当前循环或switch语句。
例:
for(i=1;i<=10;i++)
{
if(i=3) break;//离开循环
printf("%d",i);
}
for(i=1;i<=10;i++)
{
if(i=3) continue;//跳过下一语句
printf("%d",i);
}
1.4 循环嵌套
含义:即在一个循环语句中包含一个甚至多个循环语句。
例:
while(i<10)
{
for(n=1;n<=9;n++)
{
printf("%d ",n);
}
printf("%d\n",i);
}
注意:在使用循环嵌套时一定要注意格式和缩进,并且尽量不要使用太多循环嵌套,避免代码太长太杂乱导致代码可读性差。
2 编程技巧总结(2分)
2.1运算
在上星期的学习中我学习到了很多关于运算先后顺序的规则。
如i++
为一个运算符在参与赋值运算时,如num=i++
赋值时赋予num的值为i++
的值而非i++
运算后i的值,++i``i--``--i
这些运算符同理。
优先级如下:
2.2 清除缓冲区的非法字符
通过大作业的学习和百度搜索发现了除getchar()单个字符和循环清除缓冲区的非法字符还可以使用函数fflush(stdin)
清除,可以节省很多编码时间并且更利于代码的读取。
2.3 字母大小写转换
在对字母大小写进行转换时不需要记住字母的ASCII码值
只需要如下即可:
ch=ch-'a'+'A'//转大写
转小写同理。
2.4 数字的进制转换
在变量转换了进制类型后后面使用时该变量的进制类型不会改变,所以在编码和阅读代码时要注意。
3.PTA实验作业(6分)
3.1 数列求和问题
3.1.1 流程图或伪代码介绍思路
3.1.2 代码截图
3.1.3 PTA提交列表及说明
- 第一个遇到的问题是输出的素数个数不对,后发现是循环中的计数变量的判定有问题即图中的i和k的判定。
- 第二的问题是首个素数无+号开头,用flag变量进行判定后在循环中判定flag的值做到第一个数不带加号。
3.2 图形打印问题
3.2.1 数据处理
题目给定一个整数N
设置整数变量L(line)行
设置一个整数型的变量判断一行的算式个数
3.2.2 代码截图
3.2.3 PTA提交列表及说明
- 问题一:判断时每行式子个数变化,使用循环嵌套。
- 问题二:格式问题,结果数字左对齐并且占4格%-4d,即添加-为左对齐并且占用4格。
3.3 自选一题,介绍printf调试如何检查错误
3.3.1 单步调试截图