占6个字符宽度C语言,C语言程序设计学习心得

一,思维导图

20191013143019784652.png

二,语法认识

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作业

20191013143020145994.png

4.1作业

20191013143020434091.png

第三章作业

20191013143021621636.png

四,PTA代码分析

题目:

20191013143021810120.png

代码:

#include

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的用法,并巩固了知识,夯实了基础。

题目:

20191013143022203690.png

代码:

#include

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循环的用法。

题目:

20191013143023032823.png

代码:

#include

#include

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语言程序设计的一些基本知识,虽然我的技能不是很纯熟,但一有了明显的进步,我希望在未来能够掌握更多的技巧与能力。

原文:https://www.cnblogs.com/xzxzxzx/p/11666223.html

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值