C语言程序设计学习心得

一,思维导图

二,语法认识

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

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

时间: 2024-08-11 13:40:58

C语言程序设计学习心得的相关文章

c++面向对象程序设计学习心得

首先介绍几个写类间关系和设计模式的技术博文 http://www.360doc.com/content/14/0613/21/18117192_386381321.shtml http://blog.csdn.net/wuzhekai1985/article/details/6675799 http://www.cppblog.com/ming81/archive/2010/11/23/134404.html 状态模式:允许一个对象在其内部状态改变时改变它的行为.对象看起来似乎修改了它的类.它有

C语言及OC语言初期学习心得

2015-7-22,周三 经过一个星期C语言的学习,对基础知识语法已经有了一定的了解和认识.同时通过这三天对OC语言的学习,更加了解编程语言都是相融相通的.虽然 OC语言的语法和之前接触的C,JAVA有很大的区别,但是在讲师的解析和引导下,还是比较容易接受的. 学习知识的过程不仅仅是对知识的认识,简单的认识是远远不够的.为了今后更好的开发,要对学过的知识加以理解.辨析,通过代码去实现,加深认知. 以下是我在这段时间在学习的心得和总结. 一.数组的四种遍历方法: 根本两种方法 ·1)指针 ·2)数

中国大学MOOC-翁恺-C语言程序设计习题集

Technorati 标签: 中国大学MOOC-翁恺-C语言程序设计习题集,C 今年网易出了"中国大学MOOC",于是选了浙大翁恺老师的"C语言程序设计"学习,近期打算把自己在该课程中的PAT习题解答做一个记录,等自己编程能力提高后再来看现在写的代码哪里还有写的不好,可以改进的地方,达到反思的目的.   中国大学MOOC-翁恺-C语言程序设计习题集,布布扣,bubuko.com

201671010117 2016-2017-2 《Java程序设计》Java第三周学习心得

Java第三周学习心得 通过这一周的学习,了解到了Java的核心部分,理解了用户自定义类的定义 ,了解了对象的声明 ,了解了使用构造函数初始化对象 ,使用类属性与方法的使用,了解了package和import语句的用途,知道了假设你面对现实世界的一个对象,你不会把它的属性和处理方法分开,程序设计也是一样.面向对象程序设计(OOP):一种新的思维方法,更接近人类处理现实世界问题的自然表示方法.面向对象的语言有:C++,Smalltalk,Java等.面向对象程序设计的几个主要概念:抽象数据类型.类

201671010105 2016-2017-2《Java程序设计》第一、第二章学习心得

我们大一的时候学习的是C语言程序设计,C语言是面向程序的,而老师也说过我们后面会学习一种面向对象的程序设计语言--Java程序设计,而在二年级开学第一周,我们第一次真正意义上接触到了它. 令人意外的是和往常老师讲学生听不同,这一周我们对Java程序设计第一.第二章的学习完全是自主的,通过一周对Java第一.第二章的学习,心得体会如下: 第一章 Java程序设计概述 1.通过对第一章的学习,对Java有了比较深入的了解,Java和C一样,是一种语言,但它又不止是一种语言,它是一个完整的程序设计平台

C语言程序设计入门学习五步曲(转发)

笔者在从事教学的过程中,听到同学抱怨最多的一句话是:老师,上课我也能听懂,书上的例题也能看明白,可是到自己动手做编程时,却不知道如何下手.发生这种现象的原因有三个: 一.所谓的看懂听明白,只是很肤浅的语法知识,而我们编写的程序或软件是要根据要解决问题的实际需要控制程序的流程,如果你没有深刻地理解C语言的语句的执行过程(或流程),你怎么会编写程序解决这些实际问题呢? 二.用C语言编程解决实际问题,所需要的不仅仅是C语言的编程知识,还需要相关的专业知识.例如,如果你不知道长方形的面积公式,即使C语言

20165334 学习基础与c语言学习心得

学习基础和c语言学习心得 一.技能学习 ??我觉得在男生中,我做饭应该算不错的.我是小学四年级开始学做饭,从刚开始的学煮饭,到后来的蒸馒头,到最后的炒家常菜真的很有成就感.首先,我觉得做任何事情兴趣很重要,因为小时候喜欢美食,所以特别喜欢做东西给别人吃:其次我觉得别人的鼓励也非常重要,它会是你坚持下去的动力.因为受到爸爸对我做饭的鼓励,做晚饭从一开始的西红柿鸡蛋面到后来的三菜一汤,虽然做饭花的时间越来越多,但自己的成就感也越来越强.看着别人吃自己做的东西,自己感到很开心.所以这和娄老师下面这段话

学习心得------C语言复杂数据类型

---恢复内容开始--- 在学习c语言的过程中,最复杂的知识便是标题中的复杂数据类型了,因为包括了数组,字符串,指针等多种数据类型,在这一环节中,我们不免要接触到内存,分析出该数据类型的在内存中的存储方法,就可以比较明确的认识到该类型的运行原理,下面就分析一下我在学习该视频中的学习心得吧. 一.数组 1.数组,从字面上看,就是一组数据的意思,是的,数组的作用就是用来存储一组数据的.数组的特点是只能存放同一类型的数据,比如int 比如double. 2.数组的格式,元素类型 数组名[元素个数]  

黑马程序员——c语言学习心得—— 指针

黑马程序员——c语言学习心得—— 指针 -------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 1,打开文件fopen(文件名,打开方式);例如:FILE *fp = fopen("a1","r");  返回的是文件的指针(文件在内存缓冲区的首地址)fopen函数反回值 是指向 a1文件的指针,通常赋值给一个指针变量关于文件名a1 也可以是一个“路径+文件名”   c:\abc.txt----------------