C语言入门该怎么学

一、引言

       遥控飞机从天上拍照片,可以看到在地面上看不到的东西,即整体视角。学习也一样,从章节目录来把握整体的知识架构,作为入门学习法,很容易把握重点。所以,本篇博客就以C语言为例,浅谈入门编程的基本内容,旨在让准备学习或者已经在学C语言等其他编程语言的同学理清思路。

二、什么是程序

       计算机程序是人们为解决某种问题,用计算机可以识别的代码,编排出一系列的加工步骤。例如,人们为了方便日常计算,所以制造了计算器,其构造核心就是有一块已经编程好的数字电路芯片。

       程序设计语言是人与计算机交流的语言(就像我们主动跟外国人交流需要用英语),为了让计算机按照自己的意愿处理数据,必须用程序设计语言表达所言处理的数据和处理数据的流程。所以程序是什么,程序就是人们用机器能看懂的符号给机器布置任务。

三、Hello World 开启编程的大门

       程序设计的主要过程:1)问题分析与算法设计;2)编辑程序;3)编译;4)运行与调试

       程序猿的第一段代码:/* 显示“Hello World” */

#include<stdio.h>             //包含头文件,编译预处理命令
int main(void)                //定义主函数main()
{
    printf("Hello World\n");  //调用输出函数printf();

    return 0;                 //函数返回值0
}

       以上过程就是1和2,将此代码放进编译器,通过对其进行编译,以生成二进制代码(计算机能看懂的符号,只有0和1)表示的目标程序,然后通过编程环境提供的库函数进行连接,生成可执行的程序,文件后缀为exe。运行该文件,屏幕上就会显示“Hello World”字样。

四、认识C语言

       就如同我们的启蒙教育学习汉语,认识字形并理解字义,这是为了后面组词造句打好基础;C语言本身也是一门语言,不仅如此,所有的编程语言都是同样的道理。

       1、熟记常用关键字;例如,int、return、for、if、switch等等。

       2、注意C语言的语法;例如,使用括号、使用分号、区分大小写等等。

五、程序设计结构

       程序设计的核心结构也是基本结构就两种,一种分支结构,另一种循环结构。

       分支结构:

       ①if语句,见代码演示

if(x!=0){
    y=1/x;   //x!=0为真时,执行该语句
}
else{
    y=0;    //x!=0为假时(即x==0),执行该句
}

       ②switch语句,见代码演示

switch(choice){     //根据choice的匹配case选项
    case 1:
        price=3.0;
        break;
    case 2:         //若choice值为2,则执行该选项,使得price变量值等于2.0
        price=2.0;
        break;      //break为关键字,意为结束switch语句
    case 3:
        price=1.0;
        break;
    default:        //其他选择项,若choice的值在case里没有则执行该语句
        price=0.0;    
}

       循环结构:

       ①for语句,见代码演示

printf("打印数字为:");
for(int i=0;i<10;i++){        //定义变量i并初始化为0,控制for判断i<10以及循环i++

    printf(" %d",i+1);           //循环十次,打印出数字1~10

}

       ②while语句,见代码演示

int i=0;
printf("打印数字为:");
while(i<10){
    printf(" %d",i+1);
    i++;
}                   //打印结果与上面的for语句一模一样

六、函数

       函数是C语言程序的基本组成单元,我们编程写的每一个程序都要用到函数。例如第一段“Hello World”代码里,main()函数和printf()函数,其中printf()函数是已经编写好的函数,所以我们只需包含头文件,然后就可以调用。当然我们也可以自定义函数,充分发挥函数功能,可以使程序容易编写、阅读、调试和修改。

       【例题】输入圆的半径r,求圆的面积S=∏r²。要求定义和调用函数MathFun(r)计算S。

#include<stdio.h>

double MathFun(double r);                      //函数声明
int main()
{
    double r,S;
    scanf("%lf",&r); 
    S=MathFun(r);                              //主函数调用函数MathFun()
    printf("\n半径为%lf的圆,面积等于%lf",r,S);

    return 0;
}

double MathFun(double r){                      //定义函数MathFun()的具体内容
    double res;
    res=r*r*3.14;

    return res;                               //返回函数的运行结果res
}

       结构化程序设计思想强调程序设计风格和程序结构的规范化,分为三个步骤:

       1、自顶向下分析问题的方法

              把大的复杂的问题分成小问题后再解决。面对一个复杂的问题,首先进行整体的分析,按组织或功能将问题分解成子问题,如果子问题依然复杂,可以进一步分解,直到处理的对变得简单、清晰为止。当所有的子问题得以解决,那么合起来就是解决了整体。

       2、模块化设计

              通过问题分析后,对各个子问题进行模块化设计。设计时要遵循:1)一个模块只完成一个指定功能;2)模块之间只通过参数进行调用;3)一个模块只有一个入口和出口;4)模块内慎用全局变量。

       3、结构化编码主要原则

              经过模块化设计后,每个模块都可以独立编码;对变量、函数、常量等命名时,要见名知义;程序中增加必要的注释,增加程序的可读性;程序要清晰易懂,语句构造要简单直接。

七、后序

       博客读到这儿,想必大家对C语言或者编程应该有一点了解了吧,如果大家已经深刻理解和掌握以上这些内容了,那么你们对编程这事已经完全没问题了。这就像小时候学了汉语,用来日常里的表达没有问题了,但是这离成为演讲家还差十万八千里。

       所以回到编程上,入门编程不管是学C也好,学Java也好,都是很容易的,但是想要成为编程里的“演讲家”,那就不再是学习语言本身了,更注重专研各种语言的特点,例如C语言的指针特性,Java的面向对象编程,Python的简洁而庞大。专研的同时必然少不了实践,纸上谈兵永远都是扯淡,只有实践才是提升能力的必经之路。

       本人也是程序猿小白,不不不!程序猿都不算,我只是擅于总结学习经验,如有高见,请各位大神不吝指出!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值