首页 > 代码库 > C语言学习_一个简单程序的解释与C学习方法概括

C语言学习_一个简单程序的解释与C学习方法概括

简单计算器程序示例:

技术分享
 1 # include <stdio.h>    //1、头文件
 2 
 3 //2、加法函数
 4 int add(int a,int b)//3、函数定义方式
 5 {                   //4、函数体
 6     return a+b;     //5、函数返回
 7 } 
 8 //减法
 9 int move(int a,int b)
10 {
11     return a-b;
12 }
13 
14 //乘法
15 int mul(int a,int b)
16 {
17     return a*b;
18 }
19 
20 //除法
21 float divide(int a,float b)
22 {
23     if(b!=0)    //6、if判断语句
24     {
25         return a/b;
26     }
27     return 0;
28 }
29 
30 //7、主函数
31 int main()
32 { 
33     int a,b;                     //8、变量的定义与初始化
34     printf("请输入两个数字:\n"); //9、printf函数
35     scanf("%d %d",&a,&b);        //10、scanf函数
36     printf("和=%d,差=%d,积=%d,商=%f\n",add(a,b),move(a,b),mul(a,b),divide(a,b)); //11、printf函数的输出格式
37     getchar();                   //12、getchar函数
38     return 0;                    //13、main函数的返回值
39 }
输入两个数,进行计算,打印结果

上述程序实现的功能如下:输入两个数,计算和、差、积、商,并打印出来

技术分享

上面的程序我注释了每行代码中的一些内容,分点解释,并说明一下学习方法:

0、注释方法

  所谓注释,是给程序开发人员看的,提示代码的一些作用信息,以方便开发。编译器是不会去管注释内容的,不论你在注释里写什么,都不会影响程序的功能,不过为了利于开发和程序的复用,你写注释最好有一定的针对性。c语言提供的注释方法主要有两种,一是:/*段落注释*/,二是://单行注释,顾名思义,第一种可以多行注释,第二种只能注释双杠符号后面的内容。

 

1、头文件

  头文件一般用#include<>符号包含,在一个项目中,一般对应的xxx.h文件,放在header files目录下,初学者可能会奇怪为什么每次都用到#include<stdio.h>,项目中却没有stdio.h,其实是有的,这个已经被包含在c++开发环境中,stdio.h是指的standard IO也就是标准输入输出库,后面看到的printf、scanf函数和getchar等函数都是这个库里面实现好的,所以我们就能明白为什么不用定义printf等函数,就可以直接拿来用,因为这是系统已经定义好的呀。随着学习的深入,会了解到更多的包含头文件,也可以自己去写一个自定义头文件包含进来。

      技术分享

2、加法函数

  数学里的函数我们都知道,如f(x)=2x,狭义的函数概念是数值计算。在C语言里面的函数是一个广义概念,不过本质其实并么有变,有输入,有输出,输入一个东西,输出一个东西,或者不显式输出,只是在函数内部对一些事务做处理,比如改变一个变量的值,但函数并不显式返回这个变化的数,这样也是可以的。函数输入的参数叫做形参,只是一个形式套路,等你调用这个函数的时候,也要按这个套路来调用,比如上面的例子,你调用的时候,输入的参数的个数和类型都要和函数定义里面的一样,当然也有例外的情况是变量的类型自动转换(这也是要可以转换的,否则会发生精度丢失),这点知识在后面的章节会接触到。另外每一个函数都有返回语句,即使什么都不返回(void修饰的函数),也要return;。

3、语句块

  被一副大括号修饰的称作一个语句块,每一个函数的函数体都是一个大语句块,C语言的语句块书写格式就是以上例子中各个函数体的形式。编程习惯为方便程序阅读,一般都要求对齐相应的成对的大括号。这与其说是程序员的强迫症,不如说是一个程序员的编程习惯,编程习惯的好坏,能体现你的逼格,更能增进你的学习,特别是在初学的时候。所以如果你的编程基本功都有么有掌握好,我也不相信你能实现什么功能和高大上的算法了,做好小事才能干大事。

4、判断语句

  常用的分支结构有顺序结构,分支结构,循环结构,判断语句是分支结构里面的内容,其次还有switch语句等。if(){}else{}的格式写法最好是每个部分都用一个语句块来表示,哪怕是简单到只有一句return;(比如上面的例子),这也是编程习惯的一部分,你以后会发现,它会给你省下很多找bug的时间。if括号里面的表达式是true,比如(1+1==2),那么就执行接下来的语句块,否则执行else里面的语句块。后面还会有一些扩展嵌套,如if+else if +else if+... + else,中间有很多个else if判断。解释起来的意思就是,如果a==5,a==5不对的话那a==4呢,a==4不对的话那a==3呢....否则...。下面是一个if else嵌套的代码片段。

int a = 0;

if(a == 5)
{
    printf("5");       
}
else if(a == 4)
{
    printf("4");   
}
else if(a == 3)
{
    printf("3");
}
else
{
    printf("以上都不对");
}

5、主函数

  主函数是一个程序的入口,程序从主函数开始运行。需要说明的是,C语言中变量的定义永远要在其他语句的前头,否者会报错。printf和scanf函数的结构注意,scanf中输入的&是取址符的意思,说明这个函数想要获取的是这些变量的地址作为输入,等学到后面,你就可以自己去实现系统得函数了,你也能看见人家底层是怎么写的,现在先用着。getchar函数是在这里做暂停的作用,它会取你在命令行输入一个字符,所以你不得不再做一次输入才结束程序。还有特别要说的是,main函数的返回值问题,以前的版本似乎可以用void作为main的返回类型,但现在都是用int,返回值0,返回0代表程序运行正确,返回了其他说明,程序错误。

学习方法:

  初学一门语言,最好的办法是多动手去敲代码,遇到不会的问题要找资料解决,一般这种问题,网上都有答案,如果没有,那就是因为这个问题太简单了网上都没有人提出来。另外,刚学写代码的时候,语法都没弄通的时候,记得给每句话打上行注释,练得多了,后面就慢慢不需要注释也能活用了。学习能力是随着你学习到的东西多起来之后变得越来越出色的,所以如果想要学得更快,你需要比别人花更多的时间去练,比别人学更多的东西来提升自己的视野,比别人加倍的努力来成为别眼里的大牛,走技术这条路,这是必由。

 

C语言学习_一个简单程序的解释与C学习方法概括