C语言简易教程.docx
- 文档编号:1044550
- 上传时间:2022-10-16
- 格式:DOCX
- 页数:14
- 大小:45.83KB
C语言简易教程.docx
《C语言简易教程.docx》由会员分享,可在线阅读,更多相关《C语言简易教程.docx(14页珍藏版)》请在冰豆网上搜索。
C语言简易教程
C语言简易教程
变量(Variable)
现实生活中我们会找一个小箱子来存放物品,一来显得不那么凌乱,二来方便以后找到。
计算机也是这个道理,我们需要先在内存中找一块区域,规定用它来存放整数,并起一个好记的名字,方便以后查找。
这块区域就是“小箱子”,我们可以把整数放进去了。
C语言中这样在内存中找一块区域:
inta;
int又是一个新单词,它是Integer的简写,意思是整数。
a是我们给这块区域起的名字;当然也可以叫其他名字,例如abc、mn123等。
这个语句的意思是:
在内存中找一块区域,命名为a,用它来存放整数。
注意int和a之间是有空格的,它们是两个词。
也注意最后的分号,inta表达了完整的意思,是一个语句,要用分号来结束。
不过inta;仅仅是在内存中找了一块可以保存整数的区域,那么如何将123、100、999这样的数字放进去呢?
C语言中这样向内存中放整数:
a=123;
=是一个新符号,它在数学中叫“等于号”,例如1+2=3,但在C语言中,这个过程叫做赋值(Assign)。
赋值是指把数据放到内存的过程。
把上面的两个语句连起来:
inta;
a=123;
就把123放到了一块叫做a的内存区域。
你也可以写成一个语句:
inta=123;
a中的整数不是一成不变的,只要我们需要,随时可以更改。
更改的方式就是再次赋值,例如:
inta=123;
a=1000;
a=9999;
第二次赋值,会把第一次的数据覆盖(擦除)掉,也就是说,a中最后的值是9999,123、1000已经不存在了,再也找不回来了。
因为a的值可以改变,所以我们给它起了一个形象的名字,叫做变量(Variable)。
inta;创造了一个变量a,我们把这个过程叫做变量定义。
a=123;把123交给了变量a,我们把这个过程叫做给变量赋值;又因为是第一次赋值,也称变量的初始化,或者赋初值。
你可以先定义变量,再初始化,例如:
intabc;
abc=999;
也可以在定义的同时进行初始化,例如:
intabc=999;
这两种方式是等价的。
变量定义的位置
在VC或VS下,变量定义要放在函数的开头;也就是说,在定义变量之前不能有其他代码。
数据类型(DataType)
数据是放在内存中的,变量是给这块内存起的名字,有了变量就可以找到并使用这份数据。
但问题是,该如何使用呢?
我们知道,诸如数字、文字、符号、图形、音频、视频等数据都是以二进制形式存储在内存中的,它们并没有本质上的区别,那么,00010000该理解为数字16呢,还是图像中某个像素的颜色呢,还是要发出某个声音呢?
如果没有特别指明,我们并不知道。
也就是说,内存中的数据有多种解释方式,使用之前必须要确定;上面的inta;就表明,这份数据是整数,不能理解为像素、声音等。
int有一个专业的称呼,叫做数据类型(DataType)。
顾名思义,数据类型用来说明数据的类型,确定了数据的解释方式,让计算机和程序员不会产生歧义。
在C语言中,有多种数据类型,例如:
说明字符型短整型整型长整型单精度浮点型双精度浮点型无类型
数据类型charshortintlongfloatdoublevoid
这些是最基本的数据类型,是C语言自带的,如果我们需要,还可以通过它们组成更加复杂的数据类型,后面我们会一一讲解。
连续定义多个变量
为了让程序的书写更加简洁,C语言支持多个变量的连续定义,例如:
inta,b,c;
floatm=10.9,n=20.56;
charp,q='@';
连续定义的多个变量以逗号,分隔,并且要拥有相同的数据类型;变量可以初始化,也可以不初始化。
数据的长度(Length)
所谓数据长度(Length),是指数据占用多少个字节。
占用的字节越多,能存储的数据就越多,对于数字来说,值就会更大,反之能存储的数据就有限。
多个数据在内存中是连续存储的,彼此之间没有明显的界限,如果不明确指明数据的长度,计算机就不知道何时存取结束。
例如我们保存了一个整数1000,它占用4个字节的内存,而读取时却认为它占用3个字节或5个字节,这显然是不正确的。
所以,在定义变量时还要指明数据的长度。
而这恰恰是数据类型的另外一个作用。
数据类型除了指明数据的解释方式,还指明了数据的长度。
因为在C语言中,每一种数据类型所占用的字节数都是固定的,知道了数据类型,也就知道了数据的长度。
在32位环境中,各种数据类型的长度一般如下:
说明字符型短整型整型长整型单精度浮点型双精度浮点型
数据类型charshortintlongfloatdouble
长度124448
C语言有多少种数据类型,每种数据类型长度是多少、该如何使用,这是每一位C程序员都必须要掌握的,后续我们会一一讲解。
最后的总结
数据是放在内存中的,在内存中存取数据要明确三件事情:
数据存储在哪里、数据的长度以及数据的处理方式。
变量名不仅仅是为数据起了一个好记的名字,还告诉我们数据存储在哪里,使用数据时,只要提供变量名即可;而数据类型则指明了数据的长度和处理方式。
所以诸如intn;、charc;、floatmoney;这样的形式就确定了数据在内存中的所有要素。
最后需要说明的是:
数据类型只在定义变量时指明,而且必须指明;使用变量时无需再指明,因为此时的数据类型已经确定了。
这一节主要讲解C语言中的几个基本概念。
标识符
定义变量时,我们使用了诸如“a”“abc”“mn123”这样的名字,它们都是程序员自己起的,一般能够表达出变量的作用,这叫做标识符(Identifier)。
标识符就是程序员自己起的名字,除了变量名,后面还会讲到函数名、宏名、结构体名等。
不过,名字也不能随便起,C语言规定,标识符只能由字母(A~Z,a~z)、数字(0~9)和下划线(_)组成,并且第一个字符必须是字母或下划线。
以下标识符是合法的:
a,x,x3,BOOK_1,sum5
以下标识符是非法的:
3s不能以数字开头
s*T出现非法字符*
-3x不能以减号(-)开头
bowy-1出现非法字符减号(-)
在使用标识符时还必须注意以下几点:
C语言虽然不限制标识符的长度,但是它受到不同编译器的限制,同时也受到具体机器的限制。
例如在某个编译器中规定标识符前128位有效,当两个标识符前128位相同时,则被认为是同一个标识符。
在标识符中,大小写是有区别的,例如BOOK和book是两个不同的标识符。
标识符虽然可由程序员随意定义,但标识符是用于标识某个量的符号,因此,命名应尽量有相应的意义,以便于阅读理解,作到“顾名思义”。
关键字
关键字(Keywords)是由C语言规定的具有特定意义的字符串,通常也称为保留字,例如int、char、long、float、unsigned等。
我们定义的标识符不能与关键字相同,否则会出现错误。
你也可以将关键字理解为具有特殊含义的标识符,它们已经被系统使用,我们不能再使用了。
标准C语言中一共规定了32个关键字,大家可以参考C语言关键字及其解释[共32个],后续我们会一一讲解。
注释
注释(Comments)可以出现在代码中的任何位置,用来向用户提示或解释程度的意义。
程序编译时,会忽略注释,不做任何处理,就好像它不存在一样。
C语言支持单行注释和多行注释:
单行注释以//开头,直到本行末尾(不能换行);
多行注释以/*开头,以*/结尾,注释内容可以有一行或多行。
运算符
C语言也可以进行加减乘除运算,但是运算符号与数学中的略有不同,见下表。
加法减法乘法除法求余数
数学+-×÷无
C语言+-*/%
加号、减号与数学中的一样,乘号、除号不同,另外C语言还多了一个求余数的运算符。
一个整数自身加一可以这样写:
a+=1;
它等价于a=a+1;。
但是在C语言中还有一种更简单的写法,就是a++;或者++a;。
这种写法叫做自加或自增;意思很明确,就是自身加一。
相应的,也有a--和--a,叫做自减,表示自身减一。
++和--分别称为自增和自减运算符。
自增自减完成后,会用新值替换旧值,并将新值保存在当前变量中。
自增自减只能针对变量,不能针对数字,例如10++是错误的。
值得注意的是,++在变量前面和后面是有区别的:
++在前面叫做前自增(例如++a)。
前自增先进行自增操作,再进行其他操作。
++在后面叫做后自增(例如a++)。
后自增先进行其他操作,再进行自增操作。
自减(--)也一样,有前自减和后自减之分。
inta=10,a1=++a;
intb=20,b1=b++;
结果:
a=11,a1=11
b=21,b1=20
C语言提供了以下关系运算符:
关系运算符
含 义
数学中的表示
<
小于
<
<=
小于或等于
≤
>
大于
>
>=
大于或等于
≥
==
等于
=
!
=
不等于
≠
关系运算符都是双目运算符,其结合性均为左结合。
关系运算符的优先级低于算术运算符,高于赋值运算符。
在六个关系运算符中,<、<=、>、>=的优先级相同,高于==和!
=,==和!
=的优先级相同。
在C语言中,有的运算符有两个操作数,例如10+20,10和20都是操作数,+是运算符。
我们将这样的运算符称为双目运算符。
同理,将有一个操作数的运算符称为单目运算符,将有三个操作数的运算符称为三目运算符。
常见的双目运算符有+、-、*、/等,单目运算符有++、--等,三目运算符只有一个,就是?
:
,我们将在《C语言条件运算符》中详细介绍。
关系运算符的两边可以是变量、数据或表达式,例如:
1)a+b>c-d
2)x>3/2
3)'a'+1 4)-i-5*j==k+1 关系运算符的运算结果只有0或1。 当条件成立时结果为1,条件不成立结果为0。 例如: 5>0成立,其值为1; 34-12>100不成立,其值为0; (a=3)>(b=5)由于3>5不成立,故其值为0。 我们将运算结果1称为“真”,表示条件成立,将0称为“假”,表示条件不成立。 需要提醒的是,==才表示等于,而=表示赋值,大家要注意区分,切勿混淆。 在C语言中,也有类似的逻辑运算: 运算符说明结合性举例 &&与运算,双目,对应数学中的“且”左结合1&&0、(9>3)&&(b>a) ||或运算,双目,对应数学中的“或”左结合1||0、(9>3)||(b>a) ! 非运算,单目,对应数学中的“非”右结合! a、! (2<5) 逻辑运算的结果 在编程中,我们一般将零值称为“假”,将非零值称为“真”。 逻辑运算的结果也只有“真”和“假”,“真”对应的值为1,“假”对应的值为0。 1)与运算(&&) 参与运算的两个表达式都为真时,结果才为真,否则为假。 例如: 5&&0 5为真,0为假,相与的结果为假,也就是0。 (5>0)&&(4>2) 5>0的结果是1,为真,4>2结果是1,也为真,所以相与的结果为真,也就是1。 2)或运算(||) 参与运算的两个表达式只要有一个为真,结果就为真;两个表达式都为假时结果才为假。 例如: 10||0 10为真,0为假,相或的结果为真,也就是1。 (5>0)||(5>8) 5>0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 简易 教程
![提示](https://static.bdocx.com/images/bang_tan.gif)