如何学习C语言编程
零件1:准备
1.下载并安装编译器。c语言需要被编译器解释成计算机能理解的机器码。编译器通常是免费的,不同的编译器一般用在不同的操作系统上。对于Windows系统,可以试试微软Visual Studio Express,这是Windows平台上最流行的多语言IDE(集成开发环境),它集成了微软开发的C语言编译器。
Xcode是一款优秀的面向OS X系统的多语言IDE,集成了C语言的编译器。
对于Linux来说,gcc是一个很好也是最受欢迎的选择。
2.了解基本概念。c语言是一种古老的语言,但它非常强大。它最初是为Unix操作系统设计的,后来被移植到了几乎所有的操作系统上,并得到了很多扩展。C语言的现代版本是C++。c语言本质上是由函数组成的,在函数中可以使用变量、条件语句、循环等语句来存储和处理数据。
3.查看一些基本代码。下面是用C语言写的非常基础的代码。阅读这些代码,试着了解这种语言的不同部分是如何工作的,对程序的运行原理有一个初步的了解。
# include & ltstdio.h & gtint main() { printf("Hello,World!
");getchar();返回0;}这里的#include指令出现在程序启动之前,它的作用是加载包含你需要的函数的库。在这个例子中,引入了stdio。h使我们能够使用printf()和getchar()函数。
这里的main()指令会告诉编译器,程序需要运行一个名为“main”的函数,运行后会返回一个整数值。所有的C语言都必须运行一个“主”函数。
{}符号表示括号中的所有内容都是函数的一部分。在这个例子中,他们将所有东西都标记为“main”函数的一部分。
printf()函数可以在用户屏幕上显示括号中的内容。双引号确保该字符完全按照它应该的样子输出。
该组合告诉编译器在字符串输出后将光标移动到下一行。
;符号表示一行的结束。大多数C代码都以分号结尾。
getchar()函数告诉编译器,在输入一个键之前,这个程序不能继续运行。考虑到大多数编译器在运行程序后会立即关闭程序窗口,这个函数还是很有用的,因为它可以让程序一直运行,直到按下一个键。
return 0指令表示程序结束。请注意“main”函数是一个int类型的函数,这意味着函数结束时需要返回一个整数。如果返回0,表示程序执行正确,其他数字表示程序运行时出现错误。
4.试着编译这个程序。将上述代码输入到您的代码编辑器中,并另存为“*”。c”文件。用你的编译器编译。一般来说,只需点击构建或运行按钮。
5.养成记笔记的习惯。注释是代码的一部分。不会被编译,但是可以告诉你代码做了什么。这对于提醒你自己你的代码是做什么的,让其他开发人员理解你的代码非常有帮助。用C语言添加注释,只需要在要注释的部分前面加/*,后面加*/。
不要吝啬自己的笔记,除了特别简单明了的,尽量加笔记。
评论功能还可以快速屏蔽一些代码,而不会删除。只要用注释标签包装你想排除的代码,它们就不会被编译。如果你想改回来,只需删除评论标签。
第2部分:变量的使用
1,理解变量的作用。变量用于存储数据,无论是计算的还是用户输入的。变量应该在使用前定义,有不同的类型可供选择。有以下几种常见的变量类型:int、char和float。每个变量类型代表一种数据存储格式。
2.学会声明变量。变量应该在使用之前创建,或者称为“声明”。要声明一个变量,只需要在变量类型后面写变量的名字。例如,下面是一些变量声明的示例:
浮动x;字符名称;int a,b,c,d;请注意,您可以在一行中声明多个变量,只要它们属于同一类型。您只需要用逗号分隔变量名。
像大多数C代码一样,变量的声明以分号结束。
3.了解在哪里声明变量。变量的声明必须放在每个代码块之前(代码块是指用大括号括起来的一段代码)。如果在代码块之后声明变量,程序将无法正确执行。
4.使用变量存储用户输入。现在你知道了一些变量的基本原理,你可以写一个简单的程序来存储用户的输入。这一次您需要使用另一个名为scanf的函数,它的功能是将用户的输入分配给指定的变量。
# include & ltstdio .h & gtint main(){ int x;Printf("请输入一个数字:");scanf( "%d ",& ampx);Printf("你输入了:%d ",x);getchar();返回0;}这里的“%d”符号告诉scanf函数在用户输入中查找一个整数。
&在x前面;该符号告诉scanf在哪里找到要修改的变量,并存储输入的整数值。
最后一个printf命令读取输入的整数并将其返回给用户。
5.处理变量。您可以使用数学表达式来处理先前存储的变量。我们需要注意一个重要的区别:在数学表达式中,单=是一个赋值数,用来把等号右边的值赋给等号左边的变量,而= =是用来比较两个变量是否相等。
x = 3 * 4;/*设x为3*4,即12 */x = x+3;/*将X的值增加3,然后将新值赋给X */X = = 15;/*检查x是否等于15 */x
第3部分:使用条件语句
1.理解条件语句的基本概念。大多数程序都是由条件语句驱动的,条件语句可以判断一个条件是真还是假,然后相应地执行不同的动作。最基本的条件语句是if语句。C语言中的TRUE和FALSE和你平时理解的有点不一样。TRUE和任何非0的数字总是相等的。当您执行比较时,如果结果为真,它将返回“1”。如果结果为假,将返回0。了解这些可以帮助你更好的理解IF语句的执行过程。
2.学习基本的比较符号。条件语句基于相对较大的数学表达式。下面列出了一些最常用的比较符号:
& gt/*大于*/
10 >5 TRUE6 & lt15 true 8 & gt;= 8 TRUE4 & lt= 8 TRUE3 == 3 TRUE4!= 5真
3.写一个IF语句。使用IF语句,可以决定在计算完一个表达式后如何运行程序。在学习了其他条件语句后,可以将它们组合起来实现更强大的功能,但现在只要写一个简单的代码就可以熟悉了。
# include & ltstdio.h & gtint main(){ if(3 & lt;5) printf( "3小于5 ");getchar();}
4.使用ELSE/ELSE IF语句来扩展您的条件判断。在IF语句中,可以添加ELSE和ELSE IF语句来处理更多不同的结果。当IF中的判断结果为FALSE时,执行ELSE之后的语句。ELSE IF允许您在一个代码块中使用多个IF语句来处理更多情况。阅读下面的代码,看看它们是如何工作的。
# include & ltstdio.h & gtint main(){ int age;Printf("请输入您的年龄:");scanf( "%d ",$ age);如果(年龄& lt= 12) {printf("你是个孩子!
" );} else if(年龄& lt20) {printf("年轻的感觉真好!
" );} else if(年龄& lt40) {printf("你充满了青春活力!
" );} else {printf("充满智慧的时代!
" );}返回0;}这段代码接收用户输入的数据,并将其传递给IF语句。如果该数据满足第一个条件,则执行第一个printf。如果第一个条件不满足,后续的ELSE IF会逐一判断,直到出现满足条件的分支。如果没有满足条件的分支,则执行ELSE语句。。
第四部分:学习循环句
1,懂循环原理。循环是编程的重要组成部分。它们允许您重复执行一段代码,直到满足某些条件。这个机制让你很容易重复动作,同时也省去了每次做条件判断的麻烦。有三种类型的循环:FOR、WHILE和DO?而.
2.使用FOR循环。这是最常见和最容易使用的循环类型。它将继续运行循环中的函数,直到循环条件不再成立。FOR循环需要包含三个语句:初始化变量、循环条件、如何更新变量。如果不需要其中一个语句,只需在空格处加一个分号,否则循环将无限期运行。
# include & ltstdio.h & gtint main(){ int y;for(y = 0;y & lt15;y++;){ printf( "%d
“,y);} getchar();}在上面的程序中,y设置为0,循环继续运行的条件是y小于15。每个周期中的y值被打印出来并增加1。一旦y=15,循环结束。
3.使用WHILE循环。WHILE循环比FOR循环简单得多。它们只有一个语句,只要语句为真,循环就会继续执行。你不需要初始化或者更新变量,但是你可以在循环体中做这些事情。
# include & ltstdio.h & gtint main(){ int y;while(y & lt;= 15 ){ printf( "%d
“,y);y++;} getchar();每次执行这个循环,y++命令都会将y的值增加1。一旦y达到16,循环就结束了。(请记住,只有当y小于或等于15时,才会执行循环。)
4.用DO?WHILE循环。当您希望确保一个循环至少执行一次时,这个循环非常有用。在FOR和WHILE循环中,循环条件是在循环开始之前检测的,这意味着它可能不会通过第一次检测,然后循环体将不会执行一次。但是,做吧。。。WHILE loop会在检测之前执行一次循环体,这样可以确保循环体至少执行一次。
# include & ltstdio.h & gtint main(){ int y;y = 5;Do {printf("循环已执行!
");} while ( y!= 5 );getchar();}在上面的循环中,即使循环条件检测的结果为假,也会显示一条消息。变量y的值设置为5,WHILE循环设置为仅在y不等于5时运行,因此循环将在检测到条件时终止。但是仍然显示信息,因为条件检测是在输出信息之后。
做什么?WHILE循环中的WHILE语句必须以开头;结局。这是循环体以分号结束的唯一情况。
第5部分:使用函数
1,了解函数的基本原理。函数是自包含的代码块,可以被程序的其他部分调用。使用函数可以让你更容易的重复一段代码,同时让程序更容易阅读和修改。函数可以包含上面提到的所有技术,甚至其他函数。上例中的Main()是一个函数,getchar()也是。
要写出高效可读的代码,函数非常重要。用好函数可以让你的程序更加清晰。
2.从函数原型开始。在你真正开始写一个函数之前,你最好弄清楚你要完成什么函数,从函数的原型开始写。函数的基本语法格式是:“返回值类型函数名(参数1,参数2,?);"。例如,下面是一个将两个数相加的函数:
int add ( int x,int y);上面的代码创建了一个将输入x和y相加的函数,并返回它们的和。
3.将函数添加到程序中。你可以用上面的函数原型实现一个用户输入的两个数相加的功能。下面的程序显示了“add”函数如何处理输入的数字。
# include & ltstdio .h & gtint add ( int x,int y);int main(){ int x;int y;Printf("请输入两个需要求和的数字:");scanf( "%d ",& ampx);scanf( "%d ",& ampy);Printf("您输入的数字之和是% d。
" add( x,y));getchar();}int add ( int x,int y){ return x+y;请注意,函数的原型也需要放在程序的顶部,这样才能保证编译器在调用函数时知道函数的存在及其返回类型。但是,只有当您希望在函数调用后实现该函数时,才有必要这样做。如果将add()函数的实现直接放在main()函数之前,即使不声明函数原型也是一样的。
这个功能的实现代码实际上是放在程序的底层。main()函数获取用户输入的两个整数,传递给add()函数让后者处理,然后add()函数将计算结果返回给main()。
当add()函数被定义时,你可以在程序的任何地方调用它。
第六部分:不断学习
1,找一些C语言编程相关的书籍。本指南涵盖了C语言最基础的部分,但对于C语言的完整体系来说,只是一点皮毛。如果能有一本好的参考书,在学习C语言的路上可以省去很多麻烦。
2.加入一些社团。无论是在线还是离线,都有一些很棒的社区致力于学习和开发优秀的编程语言。如果能找到一些志同道合的C语言程序员,和他们交流,一定会进步很快。如果可能的话,你也可以试试黑客马拉松。参加这项活动的团体或个人需要在有限的时间内对给定的问题提出自己的程序和解决方法,因此它可以培养人的创造力。还可以认识很多优秀的程序员。而黑客马拉松活动也在世界各地定期举行。
3.参加一些课程。虽然不需要回学校拿计算机学位,但是适当的上一些相关的课程,会让你的学习过程有质的飞跃。没有什么比一个C语言专家的言行更能帮到你了。平时在网上总能找到一些培训课程,也有一些专业的电脑培训机构可以选择。还有一些大学的优秀课程是免费对公众开放的,可以去参加。
4.考虑学习C++。如果你已经掌握了C语言,那么了解C++对你会有很大的好处。因为C++是C语言更现代的版本,更加灵活方便。C++是用面向对象的思想设计的。掌握C++后,你几乎可以在所有操作系统中编写功能强大的程序。
提示给程序多写注释。注释不仅可以帮助其他可能看到你代码的人更好地理解代码,还可以帮助你理解你写的代码是什么意思,为什么要这样写。写代码的时候,你可能很清楚自己要做什么,但是两三个月后呢?你可能已经忘记了。
如果你在编译过程中被语法错误所困扰,记得使用谷歌或其他搜索引擎搜索你遇到的问题。有可能是有人遇到了同样的问题,贴出了解决方案。
你的源代码需要在。C扩展名后缀,这样编译器就可以知道这是一个C语言源文件。