花5分钟了解C语言基本语法元素快来

0f63d8523766b09d8be5426d1035498f.png

点击上方蓝字关注我,了解更多咨询

5a1e81f06278d43a714c875ad68f7bee.png

C语言是一种编程语言,和其它语言一样,也定义了自己的语法和词汇。学习C语言,首先要学习C语言的词汇,再学习C语言的语法规则,然后由词汇构成语句,由语句构成源程序,图2-1描述了C语言的基本元素。

2b2351bcde4a02aeab35849abdaf3952.png

图 2-1 C语言的基本元素

标识符

标识符是一个由字母(大写A~Z或小写a~z)、数字(0~9)和下划线组合而成的名称,用于给C语言的变量、常量、关键字、函数等命名,标识符必须以字母或下划线开头,且不能包含空白字符。

下面是合法的标识符

address

john_2019

Name

下面是不合法的标识符

2019_john

name&age

User Name

在上面不合法的标识符中:标识符2019_john错误的原因在于用数字作为标识符的开始;标识符name&age错误的原因在于包含了特殊符号“&”;标识符User Name错误的原因在于包含了空格。

变量

变量的主要作用是用来存储数据,变量存储的数据内容称为变量的值。变量的值在程序的运行过程中是可以变化的,变量可以被重新赋值。

要弄清楚变量如何能存储数据这个问题,就要说到计算机存储器的概念。计算机存储器是存放程序和数据的地方,一个存储器由成千上万个存储单元组成,每个存储单元对应有一个位置编号。可以把社区看成一个存储器,社区内的所有住户就是社区的存储单元,每个住户都有门牌号,方便查询。存储单元的位置编号就是该存储单元的地址,程序可以通过地址方便地寻址到该存储单元。

当我们声明一个变量或常量时,计算机系统会为这个变量或常量分配存储单元,分配的存储单元数量与变量存储的内容有关,内容越多分配的存储元数量就越多,当给变量赋值时,实际上是把值存储到与变量相关的存储单元里面。图2-2的变量num1、num2和result分别指向不同的存储单元。

c56488e524a99ebfecaedd1bd505825d.png

图 2-2变量和内存储器示意图

变量的命名除了要遵循标识符的命名规则外,还需要做到见名知意。见名知意的意思就是看到变量名称,就知道这个变量表示的是什么意义。例如:在求长方形面积的程序中,可以命名两个变量,一个变量名称是width,用于存储长方形的宽度,一个变量名称是height,用于存储长方形的高度,这种变量命名方式显然要比num1和num2变量名更有意义。

下面是正确的变量命名示例:

width、height、book、result、num、num1、num2、book_price

下面是错误的变量命名示例:

123rate(以数字开头)、Book Author(包含空格)、Address#(包含特殊字符)。

常量

程序运行过程中,有些值需要保持不变。例如:在基于数学运算的程序中,圆周率是固定不变的值。类似圆周率等在程序运行过程中固定不变的值可以定义为常量,便于使用。

关键字

关键字是C语言已经预定义包含特殊意义的一些标识符,这些预定义的标识符不能作为变量、常量、函数的命名。如:if、else、int、float等都是预定义的关键字。

运算符

运算符是用于程序执行运算的符号,会针对一个以上操作数进行运算。例如:3+5,其操作数是3和5,运算符是“+”。C语言运算符分为算术、关系、位运算等不同运算种类的运算符。

分隔符

在C语言中,分隔符有逗号、空白符、分号和冒号。逗号用来分隔多个变量或函数的参数;冒号用在每条语句的结尾,表示一行语句的结束;空白符包括空格、制表符、换行符,通常用来在语句中占位(让代码阅读方便),没有实际作用;分号多用在循环语句中。

8cc8d4e7079d801f3e200d4875a01111.png

END

*声明:本文于网络整理,版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权事宜。

95ab9e0503e6a1a05cf7f84e394f416b.png

2d811d25722bd506ee6ba96d0cf3ca68.gif

戳“阅读原文”我们一起进步

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

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

相关文章

java8 策略模式_Java 8中的策略模式

java8 策略模式这是两个有关如何使用Java 8功能样式以及Cyclops模式匹配和Hamcrest库来实现策略模式设计的示例。 PrintDependingOnInput方法是一种策略,该策略将根据传递的日志对System.println一些消息。 AddPrefix是另一种策略,它将根据邮件内容向邮…

c语言中ftell函数是什么

点击上方蓝字关注我,了解更多咨询1、C语言函数ftell用于获取文件位置指针当前位置相对于文件首的偏移字节数。2、通过ftell函数获取当前文件的大小,然后通过fread函数读取缓冲区。返回值,如果成功,该函数返回位置标识符的当前值&a…

jdk入门_JDK 9 REPL:入门

jdk入门会议是聚会Java名人的好地方。 Devoxx France是与Java语言架构师,前同事和老朋友Brian Goetz( briangoetz )见面的一个机会。 我们谈论了JDK 9,而他全都热衷于REPL。 他提到,尽管Java SE 9中有很多重要功能 &am…

c语言中局部变量是什么

点击上方蓝字关注我,了解更多咨询1、函数内部定义的变量称为局部变量,其作用域仅限于函数内部,离开函数后无效,使用后报错。2、局部变量只能在函数内部使用,离开函数后无效,再次使用会报错。实例#include &…

java接口自动化Excel占位符_基于maven+java+TestNG+httpclient+poi+jsonpath+ExtentReport的接口自动化测试框架...

接口自动化框架项目说明本框架是一套基于mavenjavaTestNGhttpclientpoijsonpathExtentReport而设计的数据驱动接口自动化测试框架,TestNG 作为执行器,poi用于读取存放于excel的接口用例,jsonPath用于校验返回值,以及提取返回值。本…

本地构建和自动化构建_构建自动化面板

本地构建和自动化构建上周二,我作为持续讨论(#c9d9)的一部分,参加了一个关于Build Automation主题的在线讨论会,这是一系列有关敏捷,持续交付和DevOps的社区讨论会。 自动化构建流程面临许多挑战…

C语言为什么要定义short,int,long这么多整数类型?

点击上方蓝字关注我,了解更多咨询整数类型有int、short int、long int三种类型,用于需要不同存储空间的整数使用。整数类型有正整数和负整数之分,在C语言中,规定整型的最高位为符号位,最高位为“0”表示正数&#xff0…

java中逗号怎么加_Java中如何将字符串从右至左每三位加一逗号

/*** * 将字符串从右至左每三位加一逗号* ** param str 需要加逗号的字符串* return 以从右至左每隔3位加一逗号显示*/public static String displayWithComma(String str){str new StringBuffer(str).reverse().toString(); // 先将字符串颠倒顺序String str2 "";…

小度拆卸_拆卸invokedynamic

小度拆卸许多Java开发人员认为JDK的第七版有些令人失望。 从表面上看,仅少数语言和库扩展使它成为了发行版,即Project Coin和NIO2 。 但在幕后,该平台的第七个版本对JVM类型系统进行了最大的扩展,这是其最初发行后引入的。 添加in…

c语言中函数参数类型的探究

点击上方蓝字关注我,了解更多咨询函数中的参数个数可以是0,也可以是一个或多个参数。下面我们带着这三种不同的情况,分别在c语言中进行讨论。1、函数没有参数,表示没有参数列表。int func1(); //声明一个函数,该函数…

java rotate怎么用_jQuery旋转插件jqueryrotate用法详解

本文实例讲述了jQuery旋转插件jqueryrotate用法。分享给大家供大家参考,具体如下:CSS3 提供了多种变形效果,比如矩阵变形、位移、缩放、旋转和倾斜等等,让页面更加生动活泼有趣,不再一动不动。然后 IE10 以下版本的浏览…

c语言野指针产生的原因

点击上方蓝字关注我,了解更多咨询1、指针变量未初始化,任何指针变量刚被创建时不会自动成为 NULL 指针,它的缺省值是随机的。所以,指针变量在创建的同时应当被初始化,要么将指针设置为 NULL ,要么让它指向合…

java rhino_在Java 8中使用Rhino

java rhinoJava将Nashorn作为JSR 223的新JavaScript实现(javax.scripting)。 尽管这无疑是个好消息(通过直接生成Java代码,Nashorn比Rhino快得多),但它也带来了一些挑战: Nashorn与Rhino并非10…

docx 图片预处理 Java_如何在java中将docx文件头图像复制到另一个docx文件中

尝试(未经测试的):void attachHeader(HeaderPart sourcePart, WordprocessingMLPackage targetPkg) throws Docx4JException {HeaderPart newHeaderPart new HeaderPart();newHeaderPart.setContents(XmlUtils.deepCopy(sourcePart.getContents()));if (sourcePart.getRelatio…

c语言中assert函数的使用注意

点击上方蓝字关注我,了解更多咨询1、使用assert检查函数开始时传入参数的合法性。2、每个assert只检验一个条件,因为在同时检验多个条件时,如果断言失败,就无法直观地判断哪个条件失败。实例int resetBufferSize(int nNewSize) {/…

es 调整gc_实际中进行GC调整

es 调整gc调优垃圾回收与任何其他性能调优活动没有什么不同。 您需要确保您了解当前的情况和所需的结果,而不是因为对应用程序的随机部分进行调整而产生了诱惑。 通常,只需执行以下过程即可: 陈述您的绩效目标 运行测试 测量 与目标比较…

game connect4 java_为我的connect 4数学游戏创建一个积分系统

我试着在每次用户得到正确答案时加一分,如果在我的“连接4”数学游戏中答错了,我就拿走一分。在游戏中,用户把一个计数器放在想要的地方,问题就会弹出,等待答案,以便继续。这段代码中的所有内容都能正常工作…

内核中断处理流程_处理中断

内核中断处理流程我只是在观看Heinz Kabutz的VJUG采访 ,这启发了我写一篇有关中断的文章。 顺便说一句,我建议您订阅VJUG YouTube频道 -确实非常有用。 Heinz始终是物有所值的,很难不学习很多东西就很难观看他的演讲。 他提出了如何处理Inte…

c语言中assert函数是什么

点击上方蓝字关注我,了解更多咨询1、assert将通过检查表达式expresion的值来决定是否需要终止执行程序。2、如果表达式expresion的值是假的(即0),它将首先向标准错误流stderr打印错误信息。通过调用abort函数终止程序运行。否则,assert没有效…

java怎么清空一个文件内容_如何从文本文件中删除特定内容? - java

我正在Java的SO的帮助下从事此项目的工作,正在读取一个文件夹,然后将其内容写入文件。然后,我需要浏览该内容,仅保留末尾带有Thumbnail.jpg的图像。编辑:public static final File outFile new File(System.getProper…