此篇为C语言最基础的部分知识简单概括,对C语言有一定了解的同学建议绕道哦~另外,文底附有此文知识点详细了解的链接。

下面我们以“a+b”为例,分析这个程序的组成。

 #include<stdio.h>//头文件
int main()//主函数
{
int a,b,sum;//定义变量
scanf("%d%d",&a,&b);
sum=a+b;//变量赋值
printf("%d",sum);
return ;//告知程序结束
}

该程序第一行#include<stdio.h>我们称之为头文件使用预处理指令 #include可以引用用户和系统头文件。通俗点来讲,所谓头文件就一个“包”,用户可以选择用不用这个“包”,如果用这个“包”的话(有各种各样的“包”可以选择,该程序中我们只选择了一个名为stdio.h的“包”,还有其他类型的“包”可供选择,如math.h,string.h等等)我们就可以使用这个“包”中所含有的“东西”(即功能),下文中的输入、输出函数为名为stdio.h的“包”的部分功能,详情可以搜索“C语言头文件”

该程序第二行main我们称之为主函数。C语言的设计原则是把函数作为程序的构成模块。main()函数称之为主函数,一个C程序总是从main()函数开始执行的,该程序第八行return 0在主函数中出现是代表的是无系统返回值,即执行到这时直接跳出程序了。

该程序第四行为定义变量。格式为:数据类型 变量名1,变量名2……;例如此处int a,b,sum;解释为:我们定义了三个变量,分别叫做a,b,sum,这三个变量都是int类型的。C语言变量名只能由字母(a~z,A~Z)、数字 (0~9)、下划线(_)组成,并且标识符的第一个字符必须是字母或下划线,不能以数字开头。数据类型同上文“包”一样有多种类型,例如float、double……

该程序第五行为scanf()函数。scanf()是C语言中包含在头文件stdio.h中的一个输入函数。它是格式输入函数,即按用户指定的格式从键盘上把数据输入到指定地址的变量之中。例如此处scanf("%d%d",&a,&b);解释为:用户需要用键盘输入两个十进制整数(%d)到指定的两个变量a,b中。友情提示:一定是要输入到指定地址(&)的变量中。

该程序第六行为变量赋值。其一般形式为: 变量=表达式;简单来说,就是把等号右边的值赋值给等号左边的变量。例如此处sum=a+b;解释为:从键盘获取变量a、b的值后,将a与b相加的值赋值给变量sum。

该程序第七行为printf()函数。printf()是C语言中包含在头文件stdio.h中的一个输出函数。例如此处:printf("%d",sum); 解释为:把变量sum的值以十进制整数的格式输出。基本类似于scanf()函数,详情可参考下文链接。

头文件参见:

https://blog.csdn.net/abc_12366/article/details/79155540

主函数参见:

https://zhidao.baidu.com/question/647274641219385565.html

变量与数据类型参见:

http://c.biancheng.net/view/1756.html

变量名规则参见:

https://blog.csdn.net/woxinyijiuw/article/details/7622227

scanf()函数及要点参见:

http://c.biancheng.net/cpp/html/34.html

printf()函数及要点参见:

http://c.biancheng.net/cpp/html/33.html

主函数中的return 0;参见:

https://zhidao.baidu.com/question/199162687274133245.html

C语言最最最基础部分(a+b为例)的更多相关文章

  1. awk程序设计语言之-awk基础

    awk程序设计语言之-awk基础 http://man.linuxde.net/ 常用工具命令之awk命令 awk是一种编程语言,用于在Linux/Unix下对文本和数据处理.数据可以来自标准输入(s ...

  2. Groovy语言学习--语法基础(5)

    至此groovy语言学习-语法基础就结束了,新的工作已经安排下来,要干活了. 对groovy了解到一定程度之后就可以在java项目中对其进行引入了.为此新建了一个微型的项目,个人觉得千言万语不如代码实 ...

  3. Groovy语言学习--语法基础(1)

    2018年11月末,从上家公司离职后进入现在的公司.进入项目以来,发现项目中有很多groovy脚本,以前没接触过groovy,抽时间系统地学一下,也方便后期项目的开发和维护. groovy和java的 ...

  4. Unity 3D开发-C#脚本语言的一些基础用法

    Unity 中C#语言的一些基础用法 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) 1 Lerp -- 线 ...

  5. C#语言和数据库基础

    第一章 第一个C#程序 Vs2012密钥 RBCXF-CVBGR-382MK-DFHJ4-C69G8 01..net和C#的区别 大概在2000年,微软推出了一种革命性的产品--.NET(战略) 目标 ...

  6. C语言函数指针基础

    本文写的非常详细,因为我想为初学者建立一个意识模型,来帮助他们理解函数指针的语法和基础.如果你不讨厌事无巨细,请尽情阅读吧. 函数指针虽然在语法上让人有些迷惑,但不失为一种有趣而强大的工具.本文将从C ...

  7. C语言内存地址基础

    来源:http://blog.jobbole.com/44845/ 从计算机内存的角度思考C语言中的一切东东,是挺有帮助的.我们可以把计算机内存想象成一个字节数组,内存中每一个地址表示 1 字节.比方 ...

  8. linu、C语言、计算机基础教程

    Linux操作系统入门教程:http://see.xidian.edu.cn/cpp/linux/ 鸟哥的linux私房菜:http://vbird.dic.ksu.edu.tw/ 计算机操作系统教程 ...

  9. c语言的一些基础知识

    c语言作为经典语言,这里不再多说了.咱从基础一起探讨吧! 一. 定义一个整型,如果作为局部变量,没有初始化的情况下,它是一个随机的值的,一般情况下输出会是0,但这个0是作为垃圾值的;而如果作为全局变量 ...

随机推荐

  1. python 路径处理

    1.分解路径名 比如要把xxx/yyy/zzz.py 分解成文件名和目录 两种方法: 一.os.path.split(file) 二.os.path.basename()  ;   os.path.d ...

  2. oracle in和exist的区别 not in 和not exist的区别

    in 是把外表和内表作hash join,而exists是对外表作loop,每次loop再对内表进行查询.一般大家都认为exists比in语句的效率要高,这种说法其实是不准确的,这个是要区分环境的. ...

  3. Spark官方文档翻译(一)~Overview

    Spark官方文档翻译,有问题请及时指正,谢谢. Overview页 http://spark.apache.org/docs/latest/index.html Spark概述 Apache Spa ...

  4. 4412 uboot启动分析

    感谢sea1105, https://blog.csdn.net/sea1105/article/details/52142772 在学习过程中,由于tiny4412资料太过于少,因此参考210的视屏 ...

  5. unity3d 代码动态添加,修改BoxCollider2D

    BoxCollider2D box = gameObject.AddComponent<BoxCollider2D>(); box.size = new Vector2(1.0f, 1.0 ...

  6. 批量屏蔽符合条件的IP地址《目前仅测Centos 6 版本》

    使用办法:可以将下面的sh保存到一个单独的文件中,比如ipad.sh,然后再编辑获取IP地址列表中的那段.最终的结果是需要直接获取到IP地址,一行一个,可以有多个文件,一行一个,进行重定向到指定的IP ...

  7. python基础之Day6

    一.元组 定义:t=(1,2,3,4) 总结:存多个值,值为任意类型 只有读的需求,没有改的需求 有序,不可变(元组里每个值对应的索引内存地址不能变) 在元素个数相同的情况下,元组比列表更节省空间 二 ...

  8. leveldb 源码编译 vs版本

    为什么要windows版本? 因为方便调试跟进 VS的体验真的很不错. 搜索了一段时间才发现GITHUB有windows版本的leveldb 但是使用VS编译也有不少坑 可以下载网络上的其他朋友的版本 ...

  9. exception is java.lang.IllegalArgumentException: No auto configuration classes found in META-INF/spring.factories. If you are using a custom packaging, make su re that file is correct.

    spring cloud 项目使用maven 打包报错“No auto configuration classes found in META-INF/spring.factories” 在pom.x ...

  10. Python中删除easy_install安装的包

    网上查了一大圈,终于在官网上找到了.记一下,备忘...