标签:else code info 一个 位置 比较 写代码 ++ 出现
一,思维导图
二,语法认识
1,if-else的用法
if (条件一) {
语句一;
}
else {
语句二;
}
问题:else与if的匹配关系不明确,导致程序异常。
解决方法:牢记else与离其最近的一个if配对,不与其他的if连用,并规范代码书写格式,使其看起来跟加清晰明了。
2,while语句的用法
while (循环条件) {
循环语句;
}
注意事项:while比较好用,基本上所有的循环结构都能用while写。
3,for语句的用法
for(表达式1; 表达式2; 表达式3)
{
循环体语句
}
问题:进行编程时,用for循环时经常运行超时,控制不好循环次数。
解决方法:在使用for循环时,先在草稿纸上书写一遍,确定准确无误时,再誊写到自己的代码上。并多加练习,增加自己对for循环的理解,从根本上解决。
4,do-while的使用方法
do
{
循环体语句
}while(循环条件);
问题:刚开始使用时,无法理解他这个循环,这个循环的思路与其他的循环不同,导致自己总是写错。
解决方案: 理解此语句的循环原理和特殊的循环顺序,多加训练,当自己一看到问题就能判断出是否用do-while语句时,就意味着对do-while有了比较正确的理解。
5,switch语句的使用方法
switch(整形表达式)
{
case 常量表达式1: 语句1;break;
case 常量表达式2: 语句2;break;
…
case 常量表达式n: 语句n;break;
default: 语句n+1;
}
注意事项:并不是所有的case后面都有break,需要合理的利用break的位置,来使自己的代码更加简单。
6.break以及continue 使用方法
switch(整形表达式)
{
case 常量表达式1: 语句1;break;
…
case 常量表达式n: 语句n;break;
default: 语句n+1;
}
for(表达式1; 表达式2; 表达式3)
{
语句1;
continue;
语句2;
}
注意事项: break语句可以出现在选择结构和循环结构里,但continue语句只能用在循环语句中,continue语句使用后,本次循环直接结束,不再执行continue之后的语句,直接进行下一轮循环。
三,PTA分数截图
2.2,2.3作业
4.1作业
第三章作业
四,PTA代码分析
题目:
代码:
#include <stdio.h>
int main()
{
int a,b;
char c;
double x;
scanf("%d %d %c",&a,&b,&c);
if (b==90&&c=='m') {
x = a*6.95*(1-0.05);
}
else if (b==90&&c=='e') {
x = a*6.95*(1-0.03);
}
else if (b==93&&c=='m') {
x = a*7.44*(1-0.05);
}
else if (b==93&&c=='e') {
x = a*7.44*(1-0.03);
}
else if (b==97&&c=='m') {
x = a*7.93*(1-0.05);
}
else if (b==97&&c=='e') {
x = a*7.93*(1-0.03);
}
printf("%.2f",x);
return 0;
}
思路:分析题目,将题中的油的种类与服务项目合成,分为六种情况,再依次求解。
错误归纳:
(1),过多的if-else,容易让人头脑混乱,无法有清晰的思路。
(2),忘记保留两位小数,导致答案错误。
收获:让我更好的理解了if-else的用法,并巩固了知识,夯实了基础。
题目:
代码:
#include <stdio.h>
int main()
{
int l,u,f;
double c;
scanf("%d %d",&l,&u);
if (l>u||l>100||u>100) {
printf("Invalid.\n");
}
else if (l<=u) {
printf("fahr celsius\n");
for(f=l;f<=u;f+=2) {
c = 5.0*(f-32)/9;
printf("%d%6.1lf\n",f,c);
}
}
return 0;
}
思路:首先分析输入数据的值是否在给定范围内,根据判断结果,执行不同的操作,所以使用if-else,在一种情况中,我们需要依次加二的进行计算,所以使用循环结构。
错误归纳:
(1),不进行分情况,直接就就进入循环,只计算了第二种情况。
(2),对于其中给出“ 占据6个字符宽度,靠右对齐 ”,无法用代码的形式表达出来。
收获:我知道了占据n个字符宽度的表达方式,并巩固了for循环的用法。
题目:
代码:
#include <stdio.h>
#include <math.h>
int main()
{
int h,n,i;
double s,H;
scanf("%d %d",&h,&n);
s = h;
H = h*1.0/pow(2,n);
if (n==0) {
s = 0;
H = 0;
}
else if (n==1) {
s = s;
H = h;
}
else {
for(i=1;i<=n-1;i++) {
s=s+2.0*h/pow(2,i);
}
}
printf("%.1f %.1f",s,H);
return 0;
}
思路:通过在草稿纸上对球坠落的过程进行分析,了解球下落的过程,并用编译器验证自己的猜想是否正确,多次实验,完善自己的代码,最终得到结果。
错误归纳:
(1),主观臆断,以自己的第一映像去写代码,导致自己对过程不熟悉,从而全盘皆错。
(2),只考虑到其中的某一方面,导致无法完美的解决问题。
(3),对于小数位的保留,没有注意,导致答案错误。
收获:让我了解到编程也需要在草稿纸上先分析,在求解。
五,总结:
通过一个多月的学习,我了解到了C语言程序设计的一些基本知识,虽然我的技能不是很纯熟,但一有了明显的进步,我希望在未来能够掌握更多的技巧与能力。
标签:else code info 一个 位置 比较 写代码 ++ 出现
原文地址:https://www.cnblogs.com/xzxzxzx/p/11666223.html