零基础学c语言语言
部分 1: 准备工作
下载和安装编译器 C语言需要通过编译器解释为计算机可以理解的机器码 编译器通常是免费的, 不同的操作系统上一般使用不同的编译器 对于Windows系统, 可以尝试 Microsoft Visual Studio Express,其是Windows平台上最流行的多语言IDE(集成开发环境),其集成了Microsoft开发的C语言编译器 对于OS X系统, Xcode是一款优秀的多语言IDE,其集成了C语言的编译器 对于Linux, gcc是一个不错的也是最流行的选择
理解基本概念 C语言是一门古老的语言, 但却十分强大它最初是为Unix操作系统设计的, 但后来被移植到了几乎所有的操作系统上,并得到了很多扩展C语言的现代版本是C++ C语言本质上是由函数构成的,在函数体中你可以使用变量,条件语句,循环等语句来存储和处理数据
查看一些基本的代码 下面是用C语言写的一段非常基本的代码, 阅读这些代码,尝试理解这种语言的不同部分是如何工作的, 并对程序的运作原理有初步的认识 " #include stdio.h int main() { printf("Hello, World!n"); getchar(); return 0;} " 这里的#include 指令在程序开始之前就出现了, 它的功能是把包含有你需要的函数的库加载进来 在这个例子中,引入stdioh 使得我们能够使用 printf() 和 getchar() 这两个函数 这里的 main() 指令会告诉编译器,程序需要运行一个叫做main的函数,该函数运行完毕后返回一个整数值所有的C语言都要运行一个main函数 {} 符号表示括号内的所有内容都是函数的一部分在本例中,他们标记了所有的内容都是main函数的一部分 printf() 函数能够将小括号中的内容显示在用户的屏幕上双引号保证了这个字符完全按照字面的样子输出, n 组合告诉编译器这串字符输出完之后将光标移动到下一行 ; 符号表示一行的结束绝大部分C代码都以分号结束 getchar()函数告诉编译器这段程序要等待一个按键的输入才能够继续考虑到大部分编译器在运行完程序之后会立刻关掉程序窗口,这个功能还是很有用的,因为这样可以让程序保持运行直到有键被按下才会结束 return 0 指令表示程序的结束请注意main函数是一个int类型的函数,也就是说当函数结束时需要返回一个整数如果返回0则表示程序正确的执行了,其他数字表示程序运行时发生了错误
尝试编译这段程序 把上面的代码输入到你的代码编辑器中,然后保存为*c文件 用你的编译器编译它, 一般来说点击Build或Run按钮即可
要养成写注释的习惯 注释是代码中的一部分,它不会被编译, 但是却可以告诉你代码做了些什么这对于提醒你自己你的代码是干什么的以及让其他开发者理解你的代码都很有帮助 在C语言中添加注释只需要把要注释的部分的前面添加/*, 后面添加 */ 不要吝啬你的注释,除了特别简单明了的地方都尽量加上注释吧 注释功能也可以快速的屏蔽一部分代码但不删除它们只需要给你想要排除的代码用注释标签包起来它们就不会被编译如果你想要改回来,去掉注释标签即可
部分 2: 变量的使用
理解变量的功能 变量是用来存储数据的,不管是计算得出的还是用户输入的数据变量在使用前要先定义,并且有不同的类型可以选择 有以下几种常见的变量类型 int, char, 和 float 每种变量类型都代表一种数据存储的格式 学习声明变量 变量在使用前要先被创建出来,或者叫声明 声明一个变量只需要在变量类型的后面写出变量的名字即可比如,下面就是一些变量声明的例子: " float x;char name;int a, b, c, d; " 注意,你可以在一行中声明多个变量,只要它们的类型是一样的就行,你只需用逗号把变量名隔开即可 和大多数的C代码一样,变量的声明也要以分号结尾 理解在何处声明变量 变量的声明必须要放在每个代码块之前(代码块是指用大括号{}包起来的一段代码)如果你在代码块后边声明变量,程序就不能正确执行了 用变量来存储用户的输入 现在你了解到了变量的一些基本原理, 你可以写一段简单的程序来存储用户的输入这次你需要用到另外一个叫scanf的函数, 它的功能是把用户的输入赋值给指定的变量 " #include stdioh 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 */ "
部分 3: 使用条件语句
理解条件语句的基本概念大多数程序都是由条件语句驱动的, 这样的语句可以判断一个条件是TRUE(真)还是FALSE(假), 然后据此执行不同的动作最基本的条件语句是if语句 C语言中的TRUE和FALSE和你平常理解的有点不太一样TRUE和任何非0的数总是相等的当你执行一个比较时,如果结果是TRUE,会返回一个1如果结果是FALSE,会返回0弄清楚这一点能帮助你更好的理解IF语句的执行过程
学习基本的比较符号条件语句是以比较大小的数学表达式为核心的下面列出了最常用的一些比较符号:"
写一个IF语句 利用IF语句,你可以根据一个表达式计算的结果决定之后的程序如何运行之后学习了其他条件语句后你可以把它们组合起来实现更强大的功能,不过现在写一段简单的代码熟悉一下就行了 #include stdio.h int main(){ if ( 3 5 ) printf( "3比5小"); getchar();}
使用ELSE/ELSE IF语句来扩展你的条件判断 在IF语句中你可以添加ELSE 和ELSE IF语句来处理更多不同的结果 ELSE后面的语句在IF中的判断结果为FALSE时执行 ELSE IF则可以让你在一个代码块中使用多个IF语句来处理更多的情况阅读下面的代码看一下他们是怎么工作的 这段代码接收用户输入的一个数据然后传递给IF语句如果这个数据满足第一个条件,则第一个printf被执行如果没有满足第一个条件,则后面的各个ELSE IF会逐个进行判断直到有一个满足条件的分支为止如果没有任何分支满足条件,则ELSE语句被执行
部分 4: 学习循环语句
理解循环的原理 循环是编程中很重要的一部分, 它们让你可以重复执行一段代码直到满足特定条件为止这个机制使你可以很容易的实现重复的动作,同时省去了每次做条件判断的麻烦 有3种类型的循环:FOR, WHILE, 和 DOWHILE
使用FOR循环这是最常见和好用的循环类型它会不断的运行循环内的函数直到循环条件不再成立FOR循环需要包含3条语句:初始化变量,循环条件,和变量更新的方式如果你不需要其中的某个语句,把该处空着打一个分号即可,否则的话循环会无限运行 在上面的程序中,y被设为0,循环继续运行的条件是y小于15每次循环中y的值被打印出来,并且被增加1一旦y=15,循环就结束了
使用WHILE循环WHILE循环比FOR循环要简单的多它们只有一个语句,只要该语句为TRUE循环就不断执行你不需要初始化或更新变量,不过你可以在循环体中做这些事 这个循环每执行一次,y++命令就把y的值增加1一旦y达到16,循环就结束了(记住只有在y小于等于15的条件下循环才会执行)
使用DOWHILE 循环这种循环在你想要确保一个循环至少要被执行一次时非常管用在FOR和WHILE循环中,循环条件的检测是在循环开始之前进行的,这也就意味着有可能第一次检测就无法通过,那样的话循环体一次都不会被执行然而DOWHILE循环会先执行一次循环体然后再做检测,这就保证了循环体至少会被执行一次 在上面的循环中,即使循环条件检测的结果为FALSE还是会展示一条信息变量y的值被设为5而WHILE循环被设置为只有当y 不等于5时才运行,所以循环执行到条件检测时就会终止但信息还是被展示出来了,因为条件检测是在输出信息之后的 DOWHILE循环中的WHILE语句必须以;结尾这是唯一一种循环体以分号结尾的情形
部分 5: 使用函数
理解函数的基本原理 函数是可以被程序的其他部分调用的自成一体的代码块使用函数可使你更容易重复一段代码,同时也让程序变得简单易读便于修改函数中可以包含前面提到的所有技术,甚至可以包含其他函数 前面的例子中的main()就是一个函数,同样getchar()也是 要想写出高效且易读的代码,函数是至关重要的用好函数可以使你的程序条理更清晰
从函数原型开始在真正开始编写一个函数之前,你最好先搞清楚你要完成什么功能,并从函数原型开始编写函数的基本语法格式为:返回值类型 函数名 (参数1, 参数2, ); 比如下面是一个把两个数相加的函数: " int add ( int x, int y ); " 上面的代码创建了一个把输入的x和y相加然后返回他们的和的函数
把函数添加到程序中你可以用上面的函数原型实现一个把用户输入的两个数相加的函数下面的程序展示了"add"函数是如何处理输入的数字的 请注意,函数的原型也需要放在程序的顶部,这样能保证当这个函数被调用时编译器已经知道存在这个函数,同时也知道它的返回类型不过只有你想在函数调用处之后再实现这个函数时才有必要这么做如果你直接把add()函数的实现放在main()函数之前,那么即使不声明函数原型也是一样的 这个函数的实现代码其实是放在程序的底部的main() 函数获取了用户输入的两个整数并把他们传给add()函数以便后者进行处理,然后add()函数把计算的结果返回给main() 当add()函数被定义之后,你就可以在程序中的任何地方调用它了
部分 6: 不断学习
找一些C语言编程相关的书来看 这篇指南涵盖了C语言中最基础的部分,但对于完整的C语言只是体系来说这只是皮毛如果能有一本好的参考书你在学习C语言的道路上能省去许多麻烦
加入一些社区不论是在线上还是线下,都有一些很棒的致力于学习和发展优秀编程语言的社区如果能找到一些志同道合的C语言程序员,并和他们相互交流, 你一定能进步的很快 如果可能的话还可以尝试黑客马拉松活动在这项活动参赛的团体或个人需要在有限的时间里对给出的问题提出自己的程序和解决方案,因此很能培养人的创造力你还可以籍此认识许多优秀的程序员并且世界各地都有规律性举办的黑客马拉松活动
参加一些课程虽然你没必要重新回到学校修得计算机科学的学位,但是适当的参加一些相关课程还是会让你的学习过程有质的飞跃没有什么能比一位C语言专家的言传身教更能帮助你了通常你总能在网络上找到一些培训课程,也有一些专业的计算机培训机构可供选择还有一些大学的优秀课程是免费对外开放的,你可以去旁听
考虑学习C++ 如果你已经掌握了C语言,了解一下C++将对你大有裨益因为C++是C语言更现代的版本, 它更加的灵活和方便C++是以面向对象的思想设计的,掌握C++之后你就可以在几乎所有操作系统中编写强大的程序了 C语言适合零基础学习吗?
首先,C语言是完全可以零基础学习的,而且由于C语言是面向过程的编程语言,在语法结构上也是比较容易理解的,相对于学习面向对象编程语言(JavaC#)来说,C语言的抽象程度并不算高,编程思想也相对比较容易建立
C语言是编程语言界的常青树,经过多年的应用,C语言目前主要的应用领域集中在操作系统容器嵌入式开发等领域,在物联网全面发展的时代背景下,未来C语言的应用前景依然会比较广阔另外,掌握C语言之后再学习其他编程语言也会更容易一些,比如C++Java语言等另外,C语言也是目前研发级程序员的重要工具之一,所以未来要想在程序设计领域走得更远,学习C语言是很有必要的
学习C语言一定要一边学习一边使用,实验对于学习C语言来说是非常重要的,由于C语言的实验环境比较容易搭建,所以这也比较适合零基础的学习者C语言的基础语法包括数据类型运算符流程控制数组函数指针结构IO等内容,另外还需要学习一下C语言与操作系统之间的编程接口总的来说,学习C语言的入门还是比较简单的,但是编程思想的建立却需要一个系统的过程
最后,学习C语言的过程最好把数据结构一并学习一下,因为数据结构采用C语言来描述是比较直接的,而且数据结构对于程序开发来说非常重要,这也是为什么研究生入学考试往往会重点考察数据结构的原因
(随机推荐阅读本站500篇优秀文章点击前往:500篇优秀随机文章)