![第2章C语言的基本知识_第1页](http://file4.renrendoc.com/view/daa2ac11f419cd41f19798795480c053/daa2ac11f419cd41f19798795480c0531.gif)
![第2章C语言的基本知识_第2页](http://file4.renrendoc.com/view/daa2ac11f419cd41f19798795480c053/daa2ac11f419cd41f19798795480c0532.gif)
![第2章C语言的基本知识_第3页](http://file4.renrendoc.com/view/daa2ac11f419cd41f19798795480c053/daa2ac11f419cd41f19798795480c0533.gif)
![第2章C语言的基本知识_第4页](http://file4.renrendoc.com/view/daa2ac11f419cd41f19798795480c053/daa2ac11f419cd41f19798795480c0534.gif)
![第2章C语言的基本知识_第5页](http://file4.renrendoc.com/view/daa2ac11f419cd41f19798795480c053/daa2ac11f419cd41f19798795480c0535.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章C语言的基本知识2.1标识符和关键字2.2数据类型2.3常量与变量2.4运算符和表达式2.5不同数据类型数据间的混合运算学习目标对照了解自然语言和C语言的组成要素掌握C语言中的字符集掌握C语言中标识的概念及用户定义标识的规则2.1标识符和关键字熟记C语言中的关键字自然语言与C语言组成要素对比自然语言字词句段章单词短语C语言字符标识符表达式语句函数程序按照“字-词-句-段-章”的自然语言的学习顺序学习C语言是一种非常有效的学习方法。
2.1标识符和关键字字符集2.1标识符和关键字字符是组成语言的最基本的元素,国际上使用最广泛的计算机字符编码是ASCII码,标准的ASCII码字符集包括128个字符。
字符说明字母字符包括大写字母A~Z以及小写字母a~z共52个字符数字字符包括0~9共10个字符空格符空格符只在字符常量和字符串常量中起作用特殊字符特殊字符是不可显示、不可打印的字符,用于计算机设备的操作控制以及在数据通信时进行传输控制其他字符其它字符包括图形符、标点符和运算符等2.1标识符和关键字标识符所谓标识符就是用来标识在C语言程序中出现的符号常量、变量、数据类型、函数和语句的字符序列,C语言中的标识符是由字符组成,满足一定的构成规则。
C语言规定,标识符由字母、数字、下划线组成,且第一个字符不能使用数字字符。例如,a、_3x、BOOK1、sum5、student_1都是合法的标识符,而-3x、bowy-1、3Student、$Map、Sum@Mul、a>b等是不合法的,不能用作C语言的标识符。
autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunionunsignedvoidvolatilewhile2.1标识符和关键字关键字关键字是系统定义的、具有特定含义、专门用作特定用途的C语言标识符,也称为保留字。标准C语言中共有32个关键字。
2.2数据类型学习目标了解C语言的数据类型掌握C语言中的基本数据类型2.2数据类型C语言的数据类型数据类型基本类型空类型指针类型构造类型整型字符型实型枚举型数组结构体共用体基本数据类型2.2数据类型类型名称中文名称字节数(Byte)位数(bit)数值范围备注char字符型18−128~127−27~(27−1)int整型216−32768~32767−215~(215−1)float单精度实型432−3.4×10−38~3.4×10386~7位有效数字double双精度实型864−1.7×10-308~1.7×1030815~16位有效数字
ANSIC标准规定,简单类型的前面还可以加上修饰符,使简单类型的语义更加丰富,方便C编程人员选用恰当的数据类型。这样的修饰符共有4种:
(1)signed:有符号; (2)unsigned:无符号; (3)long:长型; (4)short:短型。2.3常量与变量学习目标理解常量与变量的概念熟练掌握整型、实型及字符型常量与变量的定义和使用2.3.1常量与变量的概念常量
在程序运行过程中其值保持不变的量称为常量。常量可以分为符号常量和直接常量两种。
直接常量是直接以自身的存在形式体现值和类型的,例如,123,-5是整型常量,1.5,1.2E-2是实型常量,’x’是字符常量,”first”是字符串常量。
符号常量是采用宏定义命令定义的常量。基定义形式如下:
#define符号常量名常量 例如:#definePI3.14159定义PI为一个符号常量,C编译系统在处理程序时会将程序中全部的PI均用3.14159代替。2.3.1常量与变量的概念变量
在程序运行过程中其值可以被改变的量称为变量。变量在内存中根据其数据类型占据一定的存储单元,用来存入可能变化的值。变量的定义C语言中的变量遵循“先定义,后使用”的原则,就是必须先对将要使用的变量进行变量定义,说明变量的数据类型,然后才能使用该变量。变量定义的一般形式为:
类型说明符变量名标识符,变量名标识符,…;例如:inti,j,k;//定义i,j,k为整型变量2.3.1常量与变量的概念变量的初始化
C语言中允许在变量定义的同时对变量赋初始值,也称为变量的初始化。例如:
inta=2;
charc=’x’;floatx=1.2,y=2.4;2.3.1常量与变量的概念变量的基本操作一个变量可以看成是一个存储数据的容器。有两个对变量的基本操作:
一是向变量中存入数据,这个操作被称为“赋值”;二是取得变量当前的值,以便在程序运行时使用,这个操作被称为“取值”。2.3.2整型常量与变量整型数据在内存中是以二进制方式存放的,最高位为符号位,并以补码表示。将一个十进制整数转化为补码表示的方法如下:(1)对于正数,其补码表示与原码相同。(2)对于负数,其补码表示为它的反码加1;负数的反码为其绝对值的所有位(含符号位)取反得到。2.3.2整型常量与变量例如:求-10的补码的方法是:①取-10的绝对值10;②10的绝对值的二进制形式为:0000000000001010(一个整数占16位);③对0000000000001010取反得到:1111111111110101;④再加1得1111111111110110。2.3.2整型常量与变量(1)十进制整型常量其形式是:d其中,d可以是从0~9的一个或多个十进制数位,第一位不能是0。进位规则为:逢十进一。(2)八进制整型常量其形式是:0d其中,d可以是一个或多个八进制数(0~7之间),起始0是必须的引导符。进位规则为:逢八进一。(3)十六进制整型常量其形式是:0xd其中,d可以是一个或多个十六进制数(从0~9的数字,或是从’a’到’f’的字母)。引导符0是必须的,字母X可以用大写或小写,进位规则为:逢十六进一。整型常量在C语言中整型常量可以表示为十进制、八进制和十六进制三种形式。
2.3.2整型常量与变量整型变量整型变量可以分为以下几类:(1)基本整型类型说明符为int,在内存中占2个字节,其取值范围为-32768~32767。(2)短整型类型说明符为shortint或short,在内存中所占字节数和取值范围均与基本整型相同。(3)长整型类型说明符为longint或long,在内存中占4个字节,其取值范围为-2147483648~2147483647。(4)无符号型类型说明符为unsigned,此类型的整数没有负数。2.3.2整型常量与变量实例分析//FileName:chap2_1.c#include<stdio.h>intmain(){ inta,b,c,d;//定义a、b、c、d为基本整型变量
unsignedu;//定义u为无符号基本整型变量
a=10;b=-20;u=5; c=a+u; d=b-u;
printf("c=%d,d=%d\n",c,d);
return0;}程序运行结果如下:c=15,d=-252.3.3实型常量与变量实型数据又称为浮点型数据,是带小数部分的数据。根据能够表示的大小和精度,浮点型数据分为单精度、双精度两类,类型说明符分别为float和double。浮点型数据在内存中以指数形式存储。C语言将一个浮点型数据分成小数和指数两个部分存储。例如,实数3.14159在内存中的存放形式如图所示。2.3.3实型常量与变量(1)十进制小数形式由正负号、数码0~9和一个小点组成,小数点前面和后面可以没有数字。例如.123//表示实数0.123-.123//表示实数-0.123123.//表示实数123.0(2)指数形式由十进制小数或整数与字母e或E组成。一般形式如下:
aEn或aen其中,a可以是十进制小数或整数,n必须为十进制整数,整体表示数a×10n。对于指数形式表示的实型常量,要求字母e或E前面必须有数字,后面必须为整数。实型常量在C语言中,实型常量有两种表示形式:十进制小数形式和指数形式。2.3.3实型常量与变量实型变量实型变量可以分为以下3类:(1)单精度型类型说明符为float,在内存中占4个字节,其取值范围的绝对值为10-38~1038,提供6~7位有效数字。(2)双精度型类型说明符为double,在内存中占8个字节,其取值范围的绝对值为10-308~10308,提供15~16位有效数字。(3)长双精度型类型说明符为longdouble,在内存中占10个字节,其取值范围的绝对值为10-4932~104932,提供18~19位有效数字。2.3.3实型常量与变量实例分析//FileName:chap2_2.c#include<stdio.h>intmain(){ floata,b;//定义a、b为单精度浮点型变量
doubled;//定义d为双精度浮点型变量
a=3.56;b=12345.678; d=12345.6789;
printf("%f,%f,%f\n",a,b,d);
return0;}程序运行结果如下:3.560000,12345.677734,12345.678900
2.3.4字符型常量与变量在C语言中字符型数据包括字符和字符串两种。字符型数据在内存中存储的是字符的ASCII码值的二进制形式,一个字符的存储占用一个字节。2.3.4字符型常量与变量(1)普通字符常。是用单引号括起来的一个字符。该字符可以是数字、字母等ASCII字符集中除“’”和“\”以外的所有可显示字符。(2)转义字符。转义字符是一种特殊的字符常量。转义字符以反斜杠开头,后跟一个或几个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符。字符常量C语言中,字符常量分为普通字符常量和转义字符两种。2.3.4字符型常量与变量2.3.4字符型常量与变量字符变量每个字符变量被分配一个字节的内存空间。由于字符变量在内存中存放的是字符的ASCII码值,所以也可以把它们看成是整型量。字符型数据与整型数据之间的转换比较方便。字符数据可以参与算术运算,也可以与整型量相互赋值,还可以按照整数形式输出。2.3.4字符型常量与变量实例分析//FileName:chap2_4.c#include<stdio.h>intmain(){ shortintn=97;//字符'a'的ASCII码为97
printf("%d,%c,%d,%c\n",n,n,n+1,n+1);
return0;}程序运行结果如下:97,a,98,b
程序说明2.3.4字符型常量与变量字符’a’的ASCII码为97,变量n以整型数据方式输出时为97,以字符方式输出时为’a’,如图所示;n+1的结果为98,字符’b’的ASCII码为98,n+1以整数方式输出时为98,以字符方式输出时为’b’。
2.3.4字符型常量与变量字符串常量
C语言中的字符串常量是由一对双引号括起来的字符序列。字符串常量和字符常量是不相同的量,其区别如下:(1)从表示形式上看,字符常量是由单引号括起来的,字符串常量是由双引号括起来的。(2)从字符的个数上看,字符常量只能是单个字符,字符串常量可以包含0个或多个字符。(3)有字符变量,但没有字符串变量。C语言没有专门的字符串类型变量,而是使用字符型数组或字符型指针来存储字符串。(4)字符常量在内存中占1个字节,字符串常量在内存中的字节数是字符个数加1。因为C语言规定,每一个字符串的末尾加一个字符串结束标志\0(ASCII码为0)。2.4运算符和表达式学习目标熟练掌握C语言提供的各种运算符掌握运算符的优先级和结合性能够应用运算符构建相应的表达式2.4运算符和表达式基本概念运算是对数据进行加工的过程,用来表示各种不同运算的符号称为运算符。参加运算的数据称为运算量或操作数。用运算符将运算量连接起来的符合C语言语法规则的式子称为运算表达式,简称表达式。2.4运算符和表达式C语言的运算符2.4运算符和表达式使用C语言的运算符的注意事项1.运算符的功能2.运算符的优先级3.运算符的结合性4.运算结果及其表示2.4.1算术运算符及算术表达式算术运算符
C语言算术运算符可以分为基本算术运算符、自增、自减运算符和正负号运算符三类。
(1)基本算术运算符基本算术运算符包括5种:+(加)、-(减)、*(乘)、/(除)、%(取余)。(2)自增和自减运算符C语言中的自增运算符为++,自减运算符为--,都是单目运算符,具有右结合性。运算符“++”表示操作数加1,运算符“--”表示操作数减1。(3)正负号运算符正负号运算符是单目运算符,如-a,-b,-5,+8等。
实例分析//FileName:chap2_6.c#include<stdio.h>intmain(){inti,k; i=5;k=++i;//赋值时,i先增1,再将i的值赋给k
printf("k=%d,i=%d\n",k,i);
i=5;k=--i;//赋值时,i先减1,再将i的值赋给k
printf("k=%d,i=%d\n",k,i);
i=5;k=i++;//赋值时,先将i的值赋给k,再将i增1
printf("k=%d,i=%d\n",k,i);
i=5;k=i--;//赋值时,先将i的值赋给k,再将i减1
printf("k=%d,i=%d\n",k,i); return0;}2.4.1算术运算符及算术表达式在使用自增自减运算符时,应注意以下几个问题。①自增和自减运算符的优先级高于基本算术运算符。②自增和自减运算符的操作数只能是变量,不能是常量和表达式。程序运行结果如下:k=6,i=6k=4,i=4k=5,i=6k=5,i=42.4.1算术运算符及算术表达式算术表达式用算术运算符将运算对象连接起来,符合C语法规则,并能说明运算过程的式子,称为算术表达式。
算术达式的构成规则如下:(1)数值型常量、数值型变量、数值型函数调用;(2)+(算术表达式)、-(算术表达式);(3)++整型变量、--整型变量、整型变量++、整型变量--;(4)(算术表达式)双目算术运算符(算术表达式);(5)有限次使用上述规则获得运算式也是算术表达式。
2.4.2关系运算符及关系表达式关系运算符
关系运算实际上就是比较运算,将给定的两个运算对象过行比较,判断比较的结果是否符合给定的条件,若符合条件为“真”,否则为“假”。
2.4.2关系运算符及关系表达式关系表达式
关系表达式是由关系运算符连接表达式构成的,具体构成规则如下:
表达式关系运算符表达式其中的表达式主要是算术表达式,也可以是字符型数据或关系表达式、逻辑表达式、条件表达式、赋值表达式、逗号表达式等。关系表达式的值为逻辑值,逻辑值有true(用整数1表示)和false(用整数0表示)。2.4.3逻辑运算符及逻辑表达式逻辑运算符
ANSIC标准规定,参与逻辑运算的操作数可以不是逻辑值,该操作数为非0时表示真,为0时表示假,但逻辑运算的结果只可以取逻辑值(真或假),返回值为1或0。
2.4.3逻辑运算符及逻辑表达式逻辑运算真值表逻辑表达式
用逻辑运算符和圆括号将操作数连接起来的、符合C语法规则的式子称为逻辑表达式。具体构成规则如下:
单目逻辑运算符表达式或
表达式双目逻辑运算符表达式其中的表达式主要是关系表达式,也可以是字符型或算术表达式、条件表达式、赋值表达式、逗号表达式等。
2.4.3逻辑运算符及逻辑表达式逻辑运算的短路特性在逻辑表达式求解时,并不是所有的逻辑运算符都要被执行,当表达式的运算结果能够确定以后,运算过程将立即终止,后面的部分不予执行。这种现象称为逻辑运算符的短路现象,也叫懒惰求值法。具体情况如下。(1)x&&y&&z
只有x为真(非0)时,才需要判断y的值,只有x和y都为真的情况下才需要判断z的值。(2)x||y||z
只有x为假,才需要判断y的值,只有x和y都为假才需要判断z的值。2.4.3逻辑运算符及逻辑表达式2.4.4赋值运算符及赋值表达式赋值运算符赋值运算符(=)用于赋值运算,是C语言中最基本的运算符,分为基本的赋值运算和复合赋值运算。由”=”连接的式子称为赋值表达式。(1)基本赋值运算符的符号为“=”,作用是将右侧的表达式赋值给左侧的变量,是双目运算符。由赋值运算符将一个变量和一个表达式连接起来的式子称为赋值表达式。(2)复合的赋值运算,在赋值运算符“=”之前可以加上算术运算符或移位运算符构成复合的赋值运算符。C语言规定可以使用10种复合赋值运算符,分别为+=、−=、*=、/=、%=、<<=、>>=、&=、^=、|=。【例2-10】假设变量x=10,y=20,计算各赋值表达式的值。(1)x+=10(2)x*=y+20(3)x+=x−=x/10实例分析2.4.4赋值运算符及赋值表达式计算结果:(1)20(2)400(3)182.4.5条件运算符及条件表达式
条件运算符(?:)是C语言中唯一的一个三目运算符,其目的是进行条件判断。条件运算符的一般格式为:
表达式1?表达式2:表达式3条件运算符的运算规则可以描述为:如果“表达式1”的值为非0(即逻辑真),则运算结果等于“表达式2”的值;否则,运算结果等于“表达3”的值//FileName:chap2_11.c#include<stdio.h>intmain(){intn;
printf("输入一个整数n:");
scanf("%d",&n);
printf("%d是一个%s\n",n,(n%2==0?"偶数":"奇数"));
return0;}实例分析程序运行结果如下:输入一个实数n:5↙5是一个奇数2.4.5条件运算符及条件表达式编写一个程序,输出用户输入的整数是奇数还是偶数。2.4.6逗号运算符及逗号表达式C语言提供一种特殊的运算符—逗号运算符。其功能是用它将两个表达式连接起来,组成一个表达式,称为逗号表达式。逗号表达式的一般形式如下:
表达式1,表达式2逗号表达式的运算过程是分别求两个表达式的值,并以表达式2的值作为整个逗号表达式的值。
2.4.6逗号运算符及逗号表达式//FileName:chap2_12.c#include<stdio.h>intmain(){inta=2,b=4,c=6,x,y;
y=((x=a+b),(b+c));
printf("y=%d,x=%d\n\n",y,x);
return0;}实例分析程序运行结果如下:y=10,x=62.4.7sizeof运算符及sizeof表达式
sizeof是C语言的一种单目操作符。将sizeof运算符与操作数组合在一起构成的式子称为sizeof表达式。sizeof运算符用来获得一个数据或数据类型在内存中所占空间的字节数。Sizeof表达式的一般形式如下:
sizeof(表达式)或
sizeof(数据类型名)
2.4.7sizeof运算符及sizeof表达式//FileName:chap2_13.c#include<stdio.h>intmain(){inta=2;
printf("%d,",sizeof(int));
printf("%d,",sizeof(long));
printf("%d,",sizeof(float));
printf("%d,",sizeof(double));
printf("%d,",sizeof(char));
printf("%d,",sizeof(6));
printf("%d,",sizeof(a));
printf("%d",sizeof(a+6));
return0;}程序运行结果如下:4,4,4,8,1,4,4,4实例分析C语言运算符的优先级与结合性
2.5不同数据类型数据间的混合运算
学习目标理解混合运算中数据的自动类型转换掌握强制类型转换规则2.5不同数据类型数据间的混合
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 绿色低碳分布式光储充一体化综合利用项目可行性研究报告写作模板-申批备案
- 2025-2030全球草酸镥水合物行业调研及趋势分析报告
- 2025年全球及中国游戏插画行业头部企业市场占有率及排名调研报告
- 2025-2030全球单通道凝血分析仪行业调研及趋势分析报告
- 2025-2030全球EPROM 存储器行业调研及趋势分析报告
- 2025年全球及中国3,4,5-三甲氧基甲苯行业头部企业市场占有率及排名调研报告
- 2025年全球及中国代谢物定制合成服务行业头部企业市场占有率及排名调研报告
- 2025-2030全球低扭矩滚子轴承行业调研及趋势分析报告
- 2025年全球及中国汽车差速器锥齿轮行业头部企业市场占有率及排名调研报告
- 2025-2030全球高压电动车轴行业调研及趋势分析报告
- 河南退役军人专升本计算机真题答案
- 室内空气治理技术培训
- 2024-2025学年上外版高二上学期期中英语试卷与参考答案
- DB52T 1167-2017 含笑属栽培技术规程 乐昌含笑
- 2025年全国高考体育单招考试政治模拟试卷试题(含答案详解)
- 驾驶证学法减分(学法免分)试题和答案(50题完整版)1650
- 人教版2024新版七年级上册数学第六章几何图形初步学业质量测试卷(含答案)
- 小学数学五年级上册奥数应用题100道(含答案)
- 工业机器人编程语言:Epson RC+ 基本指令集教程
- 2023.05.06-广东省建筑施工安全生产隐患识别图集(高处作业吊篮工程部分)
- 2023年汉中市人民政府国有资产监督管理委员会公务员考试《行政职业能力测验》历年真题及详解
评论
0/150
提交评论