0基础必看:如何轻松成为C语言高手

诞生于上世纪70年代的C语言是一门古老的语言了, 但作为一门底层语言,时至今日它仍然非常强大。学习C语言能够为学习其他更复杂的语言打下良好的基础,因为你在C语言中学习到的知识对几乎所有的编程语言都适用。下面就来看看如何开始用C语言编程吧。
  工具
  Microsoft Visual Studio Express
  MinGW
  XCode
  gcc

部分 1: 准备工作

在这里插入图片描述
  1下载和安装编译器。 C语言需要通过编译器解释为计算机可以理解的机器码。 编译器通常是免费的, 不同的操作系统上一般使用不同的编译器。

对于Windows系统, 可以尝试 Microsoft Visual Studio Express 或者MinGW。

对于Mac系统, XCode是一款优秀的C语言编译器。

对于Linux, gcc是一个不错的选择。

2理解基本概念。 C语言是一门古老的语言, 但却十分强大。它最初是为Unix操作系统设计的, 但后来被移植到了几乎所有的操作系统上,并得到了很多扩展。C语言的现代版本是C++。
在这里插入图片描述

C语言本质上是由函数构成的,在函数体中你可以使用变量,条件语句,循环等语句来存储和处理数据。

3查看一些基本的代码。 下面是用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则表示程序正确的执行了,其他数字表示程序运行时发生了错误。

4尝试编译这段程序。 把上面的代码输入到你的代码编辑器中,然后保存为”*。c”文件。 用你的编译器编译它, 一般来说点击Build或Run按钮即可。

5要养成写注释的习惯。 注释是代码中的一部分,它不会被编译, 但是却可以告诉你代码做了些什么。这对于提醒你自己你的代码是干什么的以及让其他开发者理解你的代码都很有帮助。

在C语言中添加注释只需要把要注释的部分的前面添加/*, 后面添加 */。
不要吝啬你的注释,除了特别简单明了的地方都尽量加上注释吧。
注释功能也可以快速的屏蔽一部分代码但不删除它们。只需要给你想要排除的代码用注释标签包起来它们就不会被编译。如果你想要改回来,去掉注释标签即可。
  END

部分 2: 变量的使用

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

部分 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写一个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;
  }
  "[2]
  这段代码接收用户输入的一个数据然后传递给IF语句。如果这个数据满足第一个条件,则第一个printf被执行。如果没有满足第一个条件,则后面的各个ELSE IF会逐个进行判断直到有一个满足条件的分支为止。如果没有任何分支满足条件,则ELSE语句被执行。
  END

部分 4: 学习循环语句

1理解循环的原理。 循环是编程中很重要的一部分, 它们让你可以重复执行一段代码直到满足特定条件为止。这个机制使你可以很容易的实现重复的动作,同时省去了每次做条件判断的麻烦。
  有3种类型的循环:FOR, WHILE, 和 DO…WHILE。

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使用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使用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语句必须以;结尾。这是唯一一种循环体以分号结尾的情形。
  END

在这里插入图片描述

部分 5: 使用函数

1理解函数的基本原理。 函数是可以被程序的其他部分调用的自成一体的代码块。使用函数可使你更容易重复一段代码,同时也让程序变得简单易读、便于修改。函数中可以包含前面提到的所有技术,甚至可以包含其他函数。
  前面的例子中的main()就是一个函数,同样getchar()也是。
  要想写出高效且易读的代码,函数是至关重要的。用好函数可以使你的程序条理更清晰。

2从函数原型开始。在真正开始编写一个函数之前,你最好先搞清楚你要完成什么功能,并从函数原型开始编写。函数的基本语法格式为: “返回值类型 函数名 (参数1, 参数2, …);”。 比如下面是一个把两个数相加的函数: "
  int add ( int x, int y );
  "
  上面的代码创建了一个把输入的x和y相加然后返回他们的和的函数。

3把函数添加到程序中。你可以用上面的函数原型实现一个把用户输入的两个数相加的函数。下面的程序展示了"add"函数是如何处理输入的数字的。 "
  #include
  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: 不断学习

轻松学习C语言编程_C语言,C++.Python

找一些C语言编程相关的书来看。 这篇指南涵盖了C语言中最基础的部分,但对于完整的C语言只是体系来说这只是皮毛。如果能有一本好的参考书你在学习C语言的道路上能省去许多麻烦

加入一些社群。不论是在线上还是线下,都有一些很棒的致力于学习和发展优秀编程语言的社区。如果能找到一些志同道合的C语言程序员,并和他们相互交流,你一定能进步的很快。如有小伙伴想学习C语言基础,可以进群731871503进行交流学习,提升编程,共同进步

参加一些课程。虽然你没必要到学校修得计算机科学的学位,但是适当的参加一些相关课程还是会让你的学习过程有质的飞跃。没有什么能比一位C语言专家的言传身教更能帮助你了。通常你总能在网络上找到一些视频课程,也有一些专业的IT培训机构可供选择。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/504059.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python列表元素之和_python实现计算列表元素之和

目标&#xff1a;定义一个数字列表&#xff0c;并计算列表元素之和。 例如&#xff1a; 输入 : [12, 15, 3, 10] 输出 : 40 方法一&#xff1a;total 0 list1 [11, 5, 17, 18, 23] for ele in range(0, len(list1)): total total list1[ele] print("列表元素之和为: &…

双水泵轮换工作原理图_一用一备式冷凝水泵应急电源的设计与实现

为保障山西通州集团兴益化工有限公司10万吨甲醇工程一用一备式冷凝水泵的安全运行&#xff0c;专门设计动力负载应急电源。作者阐述了动力负载应急电源基本原理及其控制系统设计&#xff0c;经现场调试运行&#xff0c;动力负载应急电源很好满足生产现场要求。山西通州集团兴益…

基础学习——C语言递归解决分鱼问题

如有小伙伴想学习C语言基础&#xff0c;可以进群731871503进行交流学习&#xff0c;提升编程&#xff0c;共同进步 问题描述 A、B、C、D、E这5个人合伙夜间捕鱼&#xff0c;凌晨时都已经疲惫不堪&#xff0c;于是各自在河边的树丛中找地方睡着了。第二天日上三竿时&#xff0…

memkind版本查看_不同价位值得买轻薄本推荐~2020国庆篇

说起轻薄本&#xff0c;你理想中的一台优秀机型是什么样的&#xff1f;轻薄便携、质感上乘、高颜值、逼格、手感佳、续航持久、屏幕素质高、独立小键盘、性能激进……和游戏本的鲜明对比&#xff0c;注定了是两种不同的“菜”。2020年&#xff0c;随着AMD的崛起&#xff0c;部分…

main方法 如何去掉http debug日志_在MyBatis中如何使用collection标签实现嵌套查询?...

# 需求升级在上篇博客《一对多的关系&#xff0c;在MyBatis中如何映射&#xff1f;》中&#xff0c;我们实现了需求&#xff1a;根据用户id查询用户信息的同时获取用户拥有的角色。因为角色可以拥有多个权限&#xff0c;所以本篇博客我们升级需求为&#xff1a;根据用户id查询用…

movielens推荐系统_案例|推荐系统的评估指标

推荐系统能够为用户提供个性化体验&#xff0c;现在基本上各大电商平台、资讯平台都会用推荐系统为自家评价下的用户提供千人千面的服务。平均精度均值&#xff08;Mean Average Precision&#xff0c;MAP&#xff09;便是评估推荐系统性能的度量标准之一。但是&#xff0c;使用…

mysql群集配置_CentOS7 - 建立一个MySQL集群

Standing up a MySQL cluster此配方将指导您完成设置MySQL群集的过程。 通过跨多个系统划分数据并维护副本以避免单点故障&#xff0c;群集数据库可以应对可伸缩性和高可用性的挑战。集群的成员称为节点。 MySQL集群中有三种节点类型&#xff1a;数据节点&#xff0c;API节点和…

叮!您收到一份超值Java基础入门资料!

Java语言有什么特点&#xff1f;如何最大效率的学习&#xff1f;深浅拷贝到底有何区别&#xff1f;阿里巴巴高级开发工程师为大家带来Java系统解读&#xff0c;带你掌握Java技术要领&#xff0c;突破重点难点&#xff0c;入门面向对象编程&#xff0c;以详细示例带领大家Java基…

jop怎么读音英语怎么说_“春晚”英语怎么说?

大家都说近年来的春节年味越来越淡&#xff0c;每年陪老人一起看春晚、上网吐槽春晚&#xff0c;应该算是最有年味的一件事了吧&#xff01;你期待今年的春晚吗&#xff1f;在春晚即将开播之际&#xff0c;先和我一起了解一些有关“春晚”的英语知识吧&#xff01;01、“春晚”…

2019 年软件开发人员必学的编程语言 Top 3

这篇文章将探讨编程语言世界的现在和未来&#xff0c;这些语言让新一代软件开发者成为这个数字世界的关键参与者&#xff0c;他们让这个世界变得更健壮、连接更加紧密和更有意义。开发者要想在 2019 年脱颖而出&#xff0c;这三门语言一定要关注。 作为软件开发者&#xff0c;…

小数据量计算最大lyapunov代码_Software | 计算Lyapunov指数的GUI工具箱及函数包汇总...

二十年前读书时用过的Lyapunov Exponents Toolbox&#xff0c;推荐给做非线性动力学入门的同学们。那个时候不会编写程序&#xff0c;做分支图、算连续或者离散系统的Lyapunov指数&#xff0c;极其困难&#xff0c;还好有这个工具箱&#xff0c;慢慢看源程序学会写一点改进的程…

git 小乌龟 更新分支_git常用操作

Git 是一个开源的分布式版本控制系统&#xff0c;用于敏捷高效地处理任何或小或大的项目。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。Git 与常用的版本控制工具 CVS, Subversion 等不同&#xff0c;它采用了分布式版本库的方式&a…

web 服务器 内存 影响_C/C++服务器开发常用的7大开源库,让你在同行中脱颖而出...

C/C服务器开发7大常用开源库&#xff0c;在这里简单介绍一下。1、OpenSSLOpenSSL是一个开放源代码的安全套接字层密码软件库&#xff0c;囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议&#xff0c;应用程序可以使用这个包来进行安全通信&#xff0c;避免窃听&…

pandas 更改单元格的值_懂Excel轻松入门Python数据分析包pandas(二十四):连续区域...

此系列文章收录在公众号中&#xff1a;数据大宇宙 > 数据处理 >E-pd转发本文并私信我"python"&#xff0c;即可获得Python资料以及更多系列文章(持续更新的)经常听别人说 Python 在数据领域有多厉害&#xff0c;结果学了很长时间&#xff0c;连数据处理都麻烦得…

产生式是蕴含式_独栋别墅~下沉式庭院设计

遇见美. 发现美创造美. 成就美有趣、有情奢享生活.创艺空间设计项目概述&#xff1a;这是一套婚房&#xff0c;从设计到装修完毕&#xff0c;历经三年。这是一生幸福开启的地方。一层为会客厅、室内花园、餐厅、茶室、老人房。原始房屋整体空间不够方正&#xff0c;空间利用率低…

在前端中如何在表格中最后一行加入输入框_UI设计进阶干货 — 如何制定UI规范...

APP为何要制定设计规范作为UI设计师&#xff0c;整理设计规范也是设计能力的一种体现。但很多小公司的设计师都觉得, 整个公司只有自己一个设计师, 所有的设计稿都是自己一个人做的, 风格肯定都是统一的, 所以没必要花那么长时间去做一个没有用的东西。但其实规范的本身并不是只…

如何用三元组表表示下列稀疏矩阵_盘一盘 Python 系列特别篇21之:SciPy 稀疏矩阵...

引言和稠密矩阵相比&#xff0c;稀疏矩阵的最大好处就是节省大量的内存空间来储存零。稀疏矩阵本质上还是矩阵&#xff0c;只不过多数位置是空的&#xff0c;那么存储所有的 0 非常浪费。稀疏矩阵的存储机制有很多种 (列出常用的五种)&#xff1a;COO (Coordinate List Format)…

六西格玛dfss_向六西格玛质量水平进攻!

为提高设计质量&#xff0c;提升研发团队整体作战能力&#xff0c;2019年初&#xff0c;技术中心确定了大力推进先进质量管理方法DFSS(六西格玛设计)的工作目标。一年来&#xff0c;在DFSS小组的策划组织和通用黑带大师的倾力支持下 &#xff0c;技术中心各区域工程师积极地学习…

c字符串中包含双引号_必须知道的C语言知识细节:单引号和双引号正确用法

C语言中ACSII码字符单引号和双引号"在程序中经常出现&#xff0c;很简单&#xff0c;但却是十分重要的语法标点符号&#xff0c;初学者容易混淆使用。单引号在字符常量时使用&#xff0c;表示单个字符。例如&#xff1a;char c;c a;c 1;c A;当在单引号中出现两个及以上…

计算机组成原理哈工大期末_浅谈计算机组成原理(三)

1、第二章&#xff1a;存储系统通过下面的思维导图来依次分享「存储系统」里面重要知识点。2、第一节&#xff1a;存储器的结构1. 主存储器&#xff1a;简称主存&#xff0c;又称内存储器(内存)&#xff0c;用来存放计算机运行期间所需的大量程序和数据&#xff0c;CPU可以直接…