`
naruto1990
  • 浏览: 4255 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

如何学习C语言,难不难学?

阅读更多

很多人觉得编程很难学,尤其对于想接触编程来说编程难学都为普遍,因为学习期间需要较多时间和精力,但小编我觉得C语言即有高级语言的特点,也有汇编语言的特点,一直保持在编程语言榜首,不曾被超越,C语言是永不过时的语言。。如此优秀的编程语言学的人很多,学精的很少。零基础该如何学习C语言呢?
 
如何学习C语言
 
 
 

  1. 理解基本概念。 C语言是一门古老的语言, 但却十分强大。它最初是为Unix操作系统设计的, 但后来被移植到了几乎所有的操作系统上,并得到了很多扩展。C语言的现代版本是C++。
    C语言本质上是由函数构成的,在函数体中你可以使用变量,条件语句,循环等语句来存储和处理数据。
     
  2.  
    查看一些基本的代码。 下面是用C语言写的一段非常基本的代码, 阅读这些代码,尝试理解这种语言的不同部分是如何工作的, 并对程序的运作原理有初步的认识。 "
    #include  
     int main() 
    {  
      printf("Hello, World!\\n"); 
        getchar();  
      return 0;}
    "[1]
    这里的#include 指令在程序开始之前就出现了, 它的功能是把包含有你需要的函数的库加载进来。 在这个例子中,引入stdio。h 使得我们能够使用 printf() 和 getchar() 这两个函数。
    这里的 main() 指令会告诉编译器,程序需要运行一个叫做“main”的函数,该函数运行完毕后返回一个整数值。所有的C语言都要运行一个“main”函数。
    {} 符号表示括号内的所有内容都是函数的一部分。在本例中,他们标记了所有的内容都是“main”函数的一部分。
    printf() 函数能够将小括号中的内容显示在用户的屏幕上。双引号保证了这个字符完全按照字面的样子输出, \\n 组合告诉编译器这串字符输出完之后将光标移动到下一行 。
    ; 符号表示一行的结束。绝大部分C代码都以分号结束。
    getchar()函数告诉编译器这段程序要等待一个按键的输入才能够继续。考虑到大部分编译器在运行完程序之后会立刻关掉程序窗口,这个功能还是很有用的,因为这样可以让程序保持运行直到有键被按下才会结束。
    return 0 指令表示程序的结束。请注意”main”函数是一个int类型的函数,也就是说当函数结束时需要返回一个整数。如果返回0则表示程序正确的执行了,其他数字表示程序运行时发生了错误。
     
  3. 4
    尝试编译这段程序。 把上面的代码输入到你的代码编辑器中,然后保存为”*。c”文件。 用你的编译器编译它, 一般来说点击Build或Run按钮即可。
  4. 5
    要养成写注释的习惯。 注释是代码中的一部分,它不会被编译, 但是却可以告诉你代码做了些什么。这对于提醒你自己你的代码是干什么的以及让其他开发者理解你的代码都很有帮助。
    在C语言中添加注释只需要把要注释的部分的前面添加/*, 后面添加 */。
    不要吝啬你的注释,除了特别简单明了的地方都尽量加上注释吧。
    注释功能也可以快速的屏蔽一部分代码但不删除它们。只需要给你想要排除的代码用注释标签包起来它们就不会被编译。如果你想要改回来,去掉注释标签即可。
     

部分 2: 变量的使用

  1. 1
    理解变量的功能。 变量是用来存储数据的,不管是计算得出的还是用户输入的数据。变量在使用前要先定义,并且有不同的类型可以选择。
    有以下几种常见的变量类型 int, char, 和 float。 每种变量类型都代表一种数据存储的格式。
    学习声明变量。 变量在使用前要先被创建出来,或者叫”声明”。 声明一个变量只需要在变量类型的后面写出变量的名字即可。比如,下面就是一些变量声明的例子: "
     
    float x;
    char name;
    int a, b, c, d;
    "注意,你可以在一行中声明多个变量,只要它们的类型是一样的就行,你只需用逗号把变量名隔开即可。
    和大多数的C代码一样,变量的声明也要以分号结尾。
     
    理解在何处声明变量。 变量的声明必须要放在每个代码块之前(代码块是指用大括号{}包起来的一段代码)。如果你在代码块后边声明变量,程序就不能正确执行了。
    用变量来存储用户的输入。 现在你了解到了变量的一些基本原理, 你可以写一段简单的程序来存储用户的输入。这次你需要用到另外一个叫scanf的函数, 它的功能是把用户的输入赋值给指定的变量。 "
     
    #include <STDIO。H>
     int main()

      int x; 
      printf( "请输入一个数: " ); 
      scanf( "%d", &x ); 
      printf( "你输入了: %d", x ); 
      getchar(); 
      return 0;
    }
    "
    这里的"%d"符号告诉scanf函数在用户的输入中找出整数。
    x前面的&符号告诉scanf在哪里找到要修改的变量,并把输入的整数值存进去。
    最后的printf命令读出输入的整数并返回给用户。
     
    处理变量。 你可以用数学表达式来处理之前存储的变量。需要注意一个重要的差别:在数学表达式中单个=是赋值号,作用是把等号右边的值赋给等号左边的变量, 而==则是比较两个变量是否相等。 "
    x = 3 * 4; /* 把x设为3*4,也就是12 */
    x = x + 3; /* 把x的值增加3,然后把新的值赋值给x */
    x == 15; /* 检查x是否等于15 */
    x < 10; /* 检查x是否小于10 */
    "

    如何学习C语言

部分 3: 使用条件语句

  1.  
    理解条件语句的基本概念。大多数程序都是由条件语句驱动的, 这样的语句可以判断一个条件是TRUE(真)还是FALSE(假), 然后据此执行不同的动作。最基本的条件语句是if语句。
    C语言中的TRUE和FALSE和你平常理解的有点不太一样。TRUE和任何非0的数总是相等的。当你执行一个比较时,如果结果是TRUE,会返回一个”1”。如果结果是FALSE,会返回0。弄清楚这一点能帮助你更好的理解IF语句的执行过程。
     
  2.  
    学习基本的比较符号。条件语句是以比较大小的数学表达式为核心的。下面列出了最常用的一些比较符号: "
    >   /* 大于 */
    <   /* 小于 */
    >=  /* 大于或等于 */
    <=  /* 小于或等于 */
    ==  /* 等于 */
    !=  /* 不等于 */
     
     
    "
    "10 > 5 TRUE
    6 < 15 TRUE
    8 >= 8 TRUE
    4 <= 8 TRUE
    3 == 3 TRUE
    4 != 5 TRUE
    "
     
  3. 3
    写一个IF语句。 利用IF语句,你可以根据一个表达式计算的结果决定之后的程序如何运行。之后学习了其他条件语句后你可以把它们组合起来实现更强大的功能,不过现在写一段简单的代码熟悉一下就行了。 "
    #include 
     int main()

      if ( 3 < 5 )
        printf( "3比5小"); 
        getchar();
    }
    "
  4.  
    使用ELSE/ELSE IF语句来扩展你的条件判断。 在IF语句中你可以添加ELSE 和ELSE IF语句来处理更多不同的结果。 ELSE后面的语句在IF中的判断结果为FALSE时执行。 ELSE IF则可以让你在一个代码块中使用多个IF语句来处理更多的情况。阅读下面的代码看一下他们是怎么工作的。 "
    #include 
    int main()
    {
    int age;
    printf( "请输入您的年龄: " );
    scanf( "%d", $age );
     
     if ( age <= 12 ) {
     
    printf( "你是个孩子!\\n" );
     }
     
     else if ( age < 20 ) {
     
     
       printf( "年轻的感觉真好!\\n" );
     }
     
    else if ( age < 40 ) {
     
    printf( "你充满了青春的活力!\\n" );
     
    }
     
     else {
     
       printf( "充满智慧的年纪! \\n" );
     
    }
     
    return 0;
     
    }
    "
  5. [2]
     
     这段代码接收用户输入的一个数据然后传递给IF语句。如果这个数据满足第一个条件,则第一个printf被执行。如果没有满足第一个条件,则后面的各个ELSE IF会逐个进行判断直到有一个满足条件的分支为止。如果没有任何分支满足条件,则ELSE语句被执行。
     
    END

部分 4: 学习循环语句

  1. 1
    理解循环的原理。 循环是编程中很重要的一部分, 它们让你可以重复执行一段代码直到满足特定条件为止。这个机制使你可以很容易的实现重复的动作,同时省去了每次做条件判断的麻烦。
    有3种类型的循环:FOR, WHILE, 和 DO…WHILE。
     
  2. 2
    使用FOR循环。这是最常见和好用的循环类型。它会不断的运行循环内的函数直到循环条件不再成立。FOR循环需要包含3条语句:初始化变量,循环条件,和变量更新的方式。如果你不需要其中的某个语句,把该处空着打一个分号即可,否则的话循环会无限运行。[3] "
     
     
    #include 
     int main()

      int y; 
      for ( y = 0; y < 15; y++;){  
      printf( "%d\\n", y );
      }  
    getchar();
    }
     
     
    "
    在上面的程序中,y被设为0,循环继续运行的条件是y小于15。每次循环中y的值被打印出来,并且被增加1。一旦y=15,循环就结束了。
     
  3. 3
    使用WHILE循环。WHILE循环比FOR循环要简单的多。它们只有一个语句,只要该语句为TRUE循环就不断执行。你不需要初始化或更新变量,不过你可以在循环体中做这些事。 "
     
     
     
    #include 
     int main()

      int y;  
    while ( y <= 15 ){  
      printf( "%d\\n", y ); 
        y++; 
      }  
    getchar();
    }
    "
    这个循环每执行一次,y++命令就把y的值增加1。一旦y达到16,循环就结束了。(记住只有在y小于等于15的条件下循环才会执行。)
     
  4. 4
    使用DO…WHILE 循环。这种循环在你想要确保一个循环至少要被执行一次时非常管用。在FOR和WHILE循环中,循环条件的检测是在循环开始之前进行的,这也就意味着有可能第一次检测就无法通过,那样的话循环体一次都不会被执行。然而DO。。。WHILE循环会先执行一次循环体然后再做检测,这就保证了循环体至少会被执行一次。 "
    #include  
     int main()

      int y; 
      y = 5;
      do {   
     printf("循环被执行!\\n"); 
      } while ( y != 5 ); 
      getchar();
    }
    "
    在上面的循环中,即使循环条件检测的结果为FALSE还是会展示一条信息。变量y的值被设为5而WHILE循环被设置为只有当y 不等于5时才运行,所以循环执行到条件检测时就会终止。但信息还是被展示出来了,因为条件检测是在输出信息之后的。
    DO…WHILE循环中的WHILE语句必须以;结尾。这是唯一一种循环体以分号结尾的情形。
     
     

部分 5: 使用函数

  1. 1
    理解函数的基本原理。 函数是可以被程序的其他部分调用的自成一体的代码块。使用函数可使你更容易重复一段代码,同时也让程序变得简单易读、便于修改。函数中可以包含前面提到的所有技术,甚至可以包含其他函数。
    前面的例子中的main()就是一个函数,同样getchar()也是。
    要想写出高效且易读的代码,函数是至关重要的。用好函数可以使你的程序条理更清晰。
     
  2. 2
    从函数原型开始。在真正开始编写一个函数之前,你最好先搞清楚你要完成什么功能,并从函数原型开始编写。函数的基本语法格式为: “返回值类型 函数名 (参数1, 参数2, …);”。 比如下面是一个把两个数相加的函数: "
    int add ( int x, int y );
    "
    上面的代码创建了一个把输入的x和y相加然后返回他们的和的函数。
     
  3. 3
    把函数添加到程序中。你可以用上面的函数原型实现一个把用户输入的两个数相加的函数。下面的程序展示了"add"函数是如何处理输入的数字的。 "
     
     
    #include <STDIO。H> 
     int add ( int x, int y );
     int main()

      int x; 
      int y; 
      printf( "请输入要求和的两个数: " ); 
      scanf( "%d", &x );  
    scanf( "%d", &y );  
    printf( "您输入的数字之和为 %d\\n" add( x, y ) );
      getchar();

     int add ( int x , int y )
    {  
    return x + y;
    }
    "
    请注意,函数的原型也需要放在程序的顶部,这样能保证当这个函数被调用时编译器已经知道存在这个函数,同时也知道它的返回类型。不过只有你想在函数调用处之后再实现这个函数时才有必要这么做。如果你直接把add()函数的实现放在main()函数之前,那么即使不声明函数原型也是一样的。
    这个函数的实现代码其实是放在程序的底部的。main() 函数获取了用户输入的两个整数并把他们传给add()函数以便后者进行处理,然后add()函数把计算的结果返回给main() 。
    当add()函数被定义之后,你就可以在程序中的任何地方调用它了。
     
    END

部分 6: 不断学习

  1.  
    找一些C语言编程相关的书来看。 这篇指南涵盖了C语言中最基础的部分,但对于完整的C语言只是体系来说这只是皮毛。如果能有一本好的参考书你在学习C语言的道路上能省去许多麻烦
     
  2.  
    加入一些社区。不论是在线上还是线下,都有一些很棒的致力于学习和发展优秀编程语言的社区。如果能找到一些志同道合的C语言程序员,并和他们相互交流, 你一定能进步的很快。
    如果可能的话还可以尝试黑客马拉松活动。在这项活动参赛的团体或个人需要在有限的时间里对给出的问题提出自己的程序和解决方案,因此很能培养人的创造力。你还可以籍此认识许多优秀的程序员。并且世界各地都有规律性举办的黑客马拉松活动。
    参加一些课程。虽然你没必要重新回到学校修得计算机科学的学位,但是适当的参加一些相关课程还是会让你的学习过程有质的飞跃。没有什么能比一位C语言专家的言传身教更能帮助你了。通常你总能在网络上找到一些培训课程,也有一些专业的计算机培训机构可供选择。还有一些大学的优秀课程是免费对外开放的,你可以去旁听。
  3.  
    考虑学习C++。 如果你已经掌握了C语言,了解一下C++将对你大有裨益。因为C++是C语言更现代的版本, 它更加的灵活和方便。C++是以面向对象的思想设计的,掌握C++之后你就可以在几乎所有操作系统中编写强大的程序了。

  4. 最后总结:
    如何学习C语言如何学好它呢,前提是否有这个心或对编程感兴趣的人才能学好做好,不能学习过程中又半途而废,做事也是如此。希望以上内容能帮助大家更好地学习好C语言这门技术活。
分享到:
评论

相关推荐

    毕设上学习C语言,将一些学习成果写出来.rar

    上机实验是学习程序设计语言必不可少的实践环节,特别是c语言灵活、简洁,更需要通过编程的实践来真正掌握它。对于程序设计语言的学习目的,可以概括为学习语法规定、掌握程序设计方法、提高程序开发能力,这些都...

    零基础如何学好C语言

    工作中,接触过很多想到学习c语言而又没有一点计算机基础的人。经常有人问”我没有一点基础,该怎么入门c语言啊”。看过很多初学者久久摸不到门路,每到这个时候,脑海中总会浮现一个问题:学习c语言真的就... 不难。

    你必须知道的495个C语言问题 完整版 很难找的

    你必须知道的495个C语言问题,这本书真是非常好,你在学习C的过程... 在这本书里,大部分常见的问题都成列了,当然C语言中的问题当然不只495个,回头我把我在学习C语言的过程中所遇到的问题也变成一本书去。。哈哈。。

    怎么样才能学好c语言

    比如:在C语言中最典型的是关于结构化程序设计构思,不管是那种教材,一开始就强调这种方法,这时也许你不能充分体会,但是学到函数时,再回头来仔细体会,温故知新,理解它就没有那么难了。学习C语言就是要经过几个...

    c语言编程精粹 学C语言的好助手

    C语言编程精粹 pdf文档,学习C语言的好帮手,从此C语言不在难!

    C语言C++编程学习.rar

    在学习中,只要我们对此合理进行分类,找出它们与我们在数学中所学到运算之间的不同点之后,记住这些运算也就不困难了,有些运算符在理解后更会牢记心中,将来用起来得心应手,而有些可暂时放弃不记,等用到时再记不...

    C语言深度剖析 pdf+源代码

    C语言深度剖析 pdf+源代码 你懂的 我遇到过很多程序员和计算机系...往往学生回答说:感觉还可以,C 语言不难,指 针很明白,数组很简单,内存管理也不难。一般我会再问一个问题:通过这个班的学习, 你想达到什么程度?

    c语言入门很简单

    c语言入门很简单, 从入门到精通 ,学习c语言不在难

    C语言在本科计算机相关专业的课程定位及学习体会-.doc

    C语言作为一门计算机高级语言,对于初学者普遍觉得难学、学不懂,笔者就 如何学好C语言谈了几点体会,供同行之间交流。 【关键词】:^p :C语言;计算机 一、首先要学好数学这门基础课 IT 界有一句比较实在的话"数学...

    (谭浩强)c语言学习书

    这几个程序由简到难,表现了C语言源程序在组成结构上的特点。虽然有关内容还未介绍,但可从这些例子中了解到组成一个C源程序的基本部分和书写格式。 【例1.1】 main() { printf("世界,您好!\n"); }  main是...

    C语言以及C++语言的一些学习例子以及学习经历,值得学习与记录.rar

    写书尤其是写好书是一件非常难的事情,但是奇怪的是在国内阿猫阿狗都要写一本书,名字还取的很好听的样子,其实内容就是东拼西凑的。” 上课耽误学习”, 并环是全无道理,哈哈哈。这里强烈推荐大家读书一定要读经典书籍,...

    c语言教程—指针指针指针

    学习指针是学习C语言中最重要的一环,能否正确理解和使用指针是我们是否掌握C语言的一个标志。同时,指针也是C语言中最为困难的一部分,在学习中除了要正确理解基本概念,还必须要多编程,上机调试。只要作到这些...

    C/C++程序设计学习与实验系统

    另外 “编程日记” 功能可以让你记录你的 C 语言学习历程, “资料管理” 功能让你大量的下载资料不再难找 安装注意事项:为了保证软件的正常运行,请不要安装在中文文件夹中,采用默认安装路径即可。 2009.7版本...

    C语言指针精髓.pdf

    针是学习C语言中最重要的一环, 能否正确理解和使用指针是我们是否掌握C语言的一个 标志。同时, 指针也是C语言中最为困难的一部分,在学习中除了要正确理解基本概念, 还必须要多编程,上机调试。只要作到这些,...

    C与C++程序设计学习与实验系统.rar

    这是小编学C语言用的,这款软件特变适合新手,比起vs2010来,操作简单,是一个简单易用的C/C++程序设计教学演示、学习与实验软件,还具有二级C语言模拟考试与自动评分试题解析功能,同时与软件配套的《C/C++程序设计...

    C语言程序设计 康辉

    经典的C语言教材 ...C语言是一门繁杂的知识,没有很好的入门是很难学好的,很多朋友都是在半懂不懂中半途而废的,因此,推荐各位学习使用吉大康辉老师主讲的C 语言视频教程,相信一定对你有很大的帮助

    C语言指针介绍

    学习指针是学习C语言中最重要的一环, 能否正确理解和使用指针是我们是否掌握C语言的一个标志。同时, 指针也是C语言中最为困难的一部分,在学习中除了要正确理解基本概念,还必须要多编程,上机调试。只要作到...

    C语言入门经典(第4版)--源代码及课后练习答案

    本书集综合性、实用性为一体,是学习C语言的优秀入门教材,在世界范围内广受欢迎,口碑极佳。书中除了讲解C程序设计语言,还广泛介绍了作为一名C程序设计人员应该掌握的必要知识,并提供了大量的实用性很强的编程...

    printf用法大全,C语言printf格式控制符一览表.docx

    输入输出函数(printf 和 scanf)是C语言中非常重要的两个函数,也是学习C语言必学的两个函数。在C语言程序中,几乎没有一个程序不需要这两个函数,尤其是输出函数(printf),所以这两个函数必须要掌握。 如果在...

    C语言经典题型,我自己整的,有答案的哦!

    都是学习C语言时做的题,训练必不可少的题。每一个题也许不难,但都很经典,多做些这样的题,慢慢的你的算法思维就培养起来了!

Global site tag (gtag.js) - Google Analytics