C语言基本知识概括.ppt_第1页
C语言基本知识概括.ppt_第2页
C语言基本知识概括.ppt_第3页
C语言基本知识概括.ppt_第4页
C语言基本知识概括.ppt_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

语言的基本知识概括,(4)括号:,一、字符集和标识符,1、 字符集: 字符集是高级语言的编译系统所能识别的字母、数字和特殊符号。C语言的字符集包括:,(1)英文字母:大小写各26个,共计52个;,(2)阿拉伯数:0、1、2、3、4、5、6、7、8、9 共10个数字;,(3)运算符: +、-、*、/、%.,语言的基本知识概括,(7)空白符:空格符、换行符、制表符。,(5)标点符号:、“、:、;,(6)特殊符号: _ $ #,二、标识符,概念:就是用来标识变量名、符号常量名、函数名、类型名、文件名等的有效字符序列。,(1)标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须为字母或下划线。,定义规则:,如: _1 year month student_name sum0 M.D.Jones $123 #a 3b ?c a=b,(2)在C语言中,大小写字母不等效。因此,a和A,I和i,Sum和sum,分别是两个不同的标识符。,(3)用户自定义的标识符不能与保留字(关键字)同名。,(4)标识符的一般长度(即一个标识符允许的字符个数)一般规定取前8个字符为有效字符,多余的将不被识别。,1)关键字标识符:又称为命令符,在程序中有特定的含义。不能另作它用,其他字符无法直接替代它。(参看32个关键字),分类:在C语言中,标识符分为3类:关键字标识符、预定义标识符、用户标识符 (自己定义)。,2)预定义标识符:在C语言中,一般是指C语言提供的库函数名和预编译处理命令(如printf、define)C语言允许这些标识符另作它用,但将使这些标识符失去了系统规定的原意。为了编程时方便、可靠、避免误解,一般把这些标识符固定使用。,3)用户标识符 :在编程时,用户需要给一些变量、函数、数组、文件等命名,这类由用户自己定义的标识符称为用户标识符 。,关键字,概念:就是具有特定含义的标识符,用户不能用来作自定义标识符。,C语言中的关键字较少,由ANSI标准推荐的关键字有32个。,(1)与数据类型有关的(14): char int float double signed unsigned short long void struct union typedef enum sizeof,(3) 与程序控制结构有关的(12): do while for if else switch case default goto continue break return,(2)与存储类别有关的: auto extern register static,三、常量和变量,1、常量,2、变量,数据有常量和变量之分。,(一)常量和符号常量 常量:在程序运行过程中值不能改变的量。 可分为不同的类型。C语言中有3种常量:算术型运算常量(如整型常量、实型常量等)、字符型常量(如字符常量、字符串常量)以及标识符所定义的常量(符号常量)。,符号常量:用一个标识符来代表一个常量,也就是标识符形式的常量,它的值在其作用域中不能改变,也不能再被赋值。习惯上符号常量名一般用大写字母表示。,使用符号常量的好处: (1)含义清楚,在定义符号常量名时最好考虑“见名知意”。 (2)在需要改动一个常量时能做到“一改全改”。,(二)变量 其值可以改动的量称做变量,一个变量应该有一个名字,在内存中占据一定的存储单元。在该存储单元中存放变量的值。,变量定义必须放在变量使用之前。一般放在函数体的开头部分。要区分变量名和变量值是两个不同的概念。,变量名实质是个符号地址,由系统来分配给它,每次程序中读取变量值,实际上就是通过变量名找到相应的内存地址,并从其存储单元中读取数据。,注意:在C语言中,要求对所有用到的变量“先定义,后使用”。,int a,b,c ; float x,y; char c1,c2; 或 int c1,c2;,自己设定,满足标识符的规定。,如:int, float,char,;不可省,变量定义形式:,类型标识符 变量名1 ,变量名2,变量名3,.;,例如:,类型说明符指定了变量的数据类型,例如int、char,变量名一般用小写字母表示,命名规则要符合用户自定义标识符规则,最好也做到“见名知意“,长度不超过8个字符,并且最好选取有含义的英文单词(或其缩写)作标识符。除了数值计算程序外,一般不要用代数符号做变量名,以增加程序的可读性。,四、C语言的数据类型:,1、基本数据类型:特点:它的值不可以再分解为其它类型。也就是说,基本数据类型是自我说明的。,2、构造数据类型:构造数据类型是根据已定义的一个或多个数据类型用构造的方法来定义的。也就是说,一个构造类型的值可以分解成若干个“成员”或“元素”。每个“成员”都是一个基本数据类型或又是一个构造类型。在C语言中,构造类型有以下几种: 数组类型 结构体类型 共用体(联合)类型,3、指针类型:指针是一种特殊的,同时又是具有重要作用的数据类型。其值用来表示某个变量在内存储器中的地址。,4、空类型:在调用函数值时,通常应向调用者返回一个函数值。这个返回的函数值是具有一定的数据类型的,应在函数定义及函数说明中给以说明,例如在例1.3中给出的show函数定义中,函数头为:void show(x,y); void表明调用后并不需要向调用者返回函数值。,在本章中,我们先介绍基本数据类型中的整型、浮点型和字符型。其余类型在以后各章中陆续介绍。,1、 整型常量 有三种表现形式:,十进制形式:与数学上的整数表示相同。 例如: 12, -100, 0,八进制形式:在数码前加数字0 。 例如: 012=1*81+2*80=10(十进制),十六进制形式:在数码前加0X(数字0和字母X,大小写均可)。 例如: 0x12=1*161+2*160=18(十进制),五、整型数据,十六进制的数码除了数字0-9外, 还使用英文字母a-f (或A-F)表示10-15。 如:0x1e、0Xabcdef、0x1000 但:0X2defg、0x100L都是错误的。,注意事项:,八进制的数码范围为0-7; 则:018、091、0A2 都是错误的数据表示方法。,2、整型变量,(一)整型变量的分类,基本型,以int表示。,短整型,以short int表示,或以short表示。,长整型,以long int表示,或以long表示。,无符号型,其中无符号型又分为无符号整型,无符号短整型和无符号长整型,分别以 unsigned int unsigned short unsigned long表示。,int x; long y;,2000,2001,2002,2005,x,y,内存,内存地址,2003,2004,整型数据的取值范围,2、整型常量的类型 在将一个整型常量赋给一个整型变量时如何进行类型匹配?,其值在-32768 - +32767范围内,认为它是 int型,它可以赋值给 int 型和 long int 型变量。,其值在-2147483648 - +2147483647范围内,则认为它是long int型,可以将它赋值给一个long int 型变量。,.短整型常量:,.长整型常量:,.如果某一计算机系统的C版本确定的short int 与 int型数据在内存中占据的长度相同,,则它的表示范围与int 型相同。我们所用的TURBOC是一样的,因此一个int 型的常量也同时是一个short int型常量,可以赋值给int 型或 short int 型变量。,数据后加一个字母1 或 L,则认为是long int型常量.,.长整型常量的表示:,例如:1231 , 432L, 0L等等。,这往往用于函数调用中,如果函数的形参为long int型,则要求实参也为 long int 型,此时用123作实参不行,而要用123L作实参。,一般格式: printf(格式控制(或者称格式字符串),输出表列) 如printf(“%d, %cn”,i,c),3、用printf显示整型数据,printf()函数的作用:向计算机系统默认的输出设备(一般指终端或显示器)输出一个或多个任意类型的数据。,普通字符:即原样输出的字符。,(1)“格式控制”是用双撇号括起来的字符串,也称“转换控制字符串”,它包括两种信息: 格式说明,由“%”和格式字符组成,如%d,%f等。它的作用是将输出的数据转换成指定的格式输出。格式说明必须用“%”开头,以一个格式控制符结束,在格式字符的前面还可以插入“宽度说明”、坐对齐符号“-”等附加字符。,如果要输出的数据不止1个,相邻2个之间用逗号分开。下面的printf()函数都是合法的: (1)printf(“%d %d“,a,b); (2)printf(“%d“,3+2); (3)printf(“a=%f b=%5dn“, a, a+3);,(2)“输出表列”是需要输出的一些数据,可以是常量、变量或表达式。,格式字符 意 义 d 以十进制形式输出带符号整数(正数不输出符号) o 以八进制形式输出无符号整数(不输出前缀0) x, 以十六进制形式输出无符号整数(不输出前缀Ox) u 以十进制形式输出无符号整数(正整数),对于整型数据常用的输出格式有:,2)如果显示的整数是长整型数,一定要在转换字符前加l,注意:1)除了%d,其余的格式都将数据作为无符号数输出? 注意试一试,看%o%x能否输出负数,3)注意域宽、对齐方式以及普通字符的输出。,一般格式: scanf(“格式信息”,地址表列);,5、用scanf输入整型数据,函数介绍 scanf ()函数称做格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中。,其中,“格式信息”与printf()函数用法相似,通过在格式信息字符串中使用%和转换字符来指定不同数据类型数据的输入方式,地址表列中给出各变量的地址。地址是由地址运算符“&”后跟变量名组成的。,按指定的宽度结束。例如“%3d”,只取3列。,使用scanf函数时应注意的问题: 1)输入数据时,遇到以下情况,系统认为该数据结束:,遇到空格,或者回车键,或者Tab键。,遇到非法输入。例如,在输入数值数据时,遇到字母等非数值符号(数值符号仅由数字字符0-9、小数点和正负号构成)。,假设给num1输入12,给num2输入36,正确的输入操作为:12,36,2)“格式信息”中出现的除格式转换以外的字符,则在输入数据时在对应位置输入与这些字符相同的字符。,例如:scanf(“%d,%d“,1、浮点常量 有二种表现形式:,1)十进制小数形式:与数学上的实数表示相同。如127.3,2)指数形式: 类似于数学中的指数形式。C语言中,它由整数部分、小数部分和指数部分组成。其中,前两部分用小数点连接,后两部分用e(或E)连接。 e(或E)代表10的幂次 例如1.273+2等。,六、浮点数,指数部分可以省略(相当于用小数表示法)。,浮点常量的构成规则是:,整数部分可以不写,小数部分也可以不写,但不能同时不写。,如有指数部分,则字母E(e)前必须有数字,该数字可以为整数也可以为小数;字母E(e)后必须为整数(范围为1到3位的整数),可以为正或负,正号可以省略。 所有的指数都是整数,2、浮点变量,在标准C语言中,浮点数分为单精度(float型)、双精度(double型),有的C版本还支持长双精度型(long double)。,1)单精度型。类型关键字为float,一般占字节(位)、其数值表示范围为10-371038,提供位有效数字,保留6位小数位。如float a,b;,2)双精度型。类型关键字为double,一般占个字节(64位)、其数值范围为10-30710308,提供1516位有效数字。如double c,d;,注意:C编译系统将浮点常量作为双精度(double型)来处理。浮点常量也象整型常量一样,如果浮点常量超过了机器所能表示的范围,否则发生溢出,得不到一个正确的数值。,格式字符 意义 f 以小数形式输出单、双精度实数 e,E 以指数形式输出单、双精度实数,3、用printf显示浮点数据,输出浮点数可以用的转换说明符是%f和%e。,输出双精度(double)类型时,还需要加上字母l。,输出浮点数不仅可以控制域宽,还可以控制小数部分的输出位数(精度)。方法是在在%与f(或e)之间加上两个数字并在这两个数字之间加上一个句点“.”。例如%10.3f表示输出格式是域宽10,有效位3。,注意:1)域宽不是指整数位的域宽,而是整个浮点数的域宽,还包括了小数点,小数位。如果不指定域宽和精度,默认的精度是6。,2)如果指定的域宽大于所显示的数的实际域宽,未用的位置用空格填写。如果指定的域宽小于所显示的数的实际域宽,按数的实际域宽显示。,3)左对齐符号同样适用于浮点数。,4、用scanf输入浮点数据,浮点数的输入也是使用转换字符f和e,直接使用%f和%e可以输入float类型数据,使用%lf和%le则输入double类型数据。,练习1 main() int n1=123; long n2=123456; printf(“n1=%d,n1=%5d,n1=%5d,n1=%2dn“,n1,n1,n1,n1); printf(“n2=%ld,n2=%8ld,n2=%5ldn“,n2,n2,n2); printf(“n1=%ldn“,n1); ,程序运行结果如下: n1=123,n1=123,n1=123,n1=123 n2=123456,n2=123456,n2=123456 n1=16908411,对于整数,还可用八进制、无符号形式(%o(小写字母o))和十六进制、无符号形式(%x)输出。对于unsigned型数据,也可用%u格式符,以十进制、无符号形式输出。 所谓无符号形式是指,不论正数还是负数,系统一律当作无符号整数来输出。例如, printf(“%d,%o,%xn“,-1,-1,-1);,类型转换字符f的使用。 main( ) float f=123.456; double d1,d2; d1=1111111111111.111111111; d2=2222222222222.222222222; printf(“%f,%12f,%12.2f,%-12.2f,%.2fn“,f,f,f,f,f); printf(“d1+d2=%fn“,d1+d2); ,程序运行结果如下: 123.456001,123.456001,123.46,123.46,123.46 d1+d2=3333333333333.333010,1、字符常量 字符常量就是用两个单引号将一个字符括起来。如a、 b,在C语言中,字符常量具有数值特性,字符量的值就是此字符的ASCII码值。例如 A对应的 ASCII码值是65。,七、字符型数据,注意:1)引号中的字符只能是一个字符。如ab是错误的。,2)不能用双引号括起一个字符表示单个字符常量。例如“a”是错误的。,3)字符型常量在内存中占用一个字节,存放的是字符的ASCII值。所有的字符常量作为整型量进行运算,并且可参与各种操作。,4)一些非图形字符,如退格、换行等,也可以表示成字符型常量。表示方法是用转义符“”与一些特殊字符构成转义字符(转义序列)。例如n表示回车换行。,转义字符是一种特殊形式的字符常量,它表示将“”后的字符转换成另外的意义。又如f不代表字母f而是指“换页,将当前位置移到下页开头。 具体可参见表1.2,2、字符变量,用来存放字符常量,并且只能放一个字符。,定义形式:char c1,c2; 赋值:c1=a;c2=b;,注意:一个字符型变量在内存中只占一个字节。,特性:字符数据在内存中存储的是字符的ASCII码 一个无符号整数,其形式与整数的存储形式一样,所以语言允许字符型数据与整型数据之间通用。,3、 用printf显示字符,使用转换说明%c就可以输出单个字符。可参见例2.8,注意:一个字符型数据,既可以字符形式输出,也可以整数形式输出。,4、用scanf输入字符,同样,%c也可以用于控制

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论