
计算机等级考试二级C语言讲义第一讲数据类型.doc
6页第一讲主要内容:一、 C语言简介二、 标识符三、 程序书写规则四、 常量与变量五、 数据类型一、简介1、 计算机语言:对于计算机来说,它只能接受和处理0和1代码构成的二进制指令或数据,由于这种形式的指令是面向机器的,因此也称为“机器语言”这是低级语言C语言是一种典型的高级语言,任何一个高级语言都要转化成低级语言才能执行编译程序来完成)高级语言: 远离硬件(人容易识别的)低级语言: 贴近硬件(人难以识别的)程序设计语言2、 简单程序举例例1.#include
3)一个函数由两部分组成:函数首部和函数体,函数名所在行为函数首部{ }中语句组成了函数体,{ }必须成对使用4)“/*……*/”为注释语句块,只起到说明作用,不被执行,“/*……*/”可以注释一行注意换行的错误) (5)“\n”表示换行不加“\n”,则会连续在同一行输出,直到输满才转到下一行4.书写格式要求(书写习惯)1)main是主函数名,C语言规定必须用main作为主函数名主函数后的一对括号中间可以是空的,但这一对括号不能省略2)每个语句末尾必须用“;”结束,通常一行写一条语句,(但一个语句可以占用一行或多行,一行也可以写多个语句3){}内的语句一般都要左缩进4) C语言中的函数名、变量名等区分大小写5)程序中需要特别说明的地方可以添加注释二.标识符1. 基本概念所谓标识符是指给常量、变量、函数、数组、文件等所有实体所起的名称2. 命名规则(1)所有标识符只能由英文字母、数字、下划线组成,并且只能以字母或下划线开头 (2)不允许使用关键字作为用户自定义的标识符 (3)大小写字母代表不同的标识符尽量不要出现大小混用的情况4)C语言对标识符的长度无规定,建议一般不超过8个字符5)标识符命名应直观易读,尽量做到“见名识意”。
3. 应考示例3aB “abc” -add a.b b int next a3E ok? _fac常量与变量1. 概念理解常量是指在程序运行过程中类型和值都保持不变的量变量是指在程序执行过程中其值可以变化的量变量遵循“先定义后使用的原则”2. 定义原则和习惯变量定义格式:类型 变量名1[,变量名2,……];说明:变量具有三个要素:名称、类型和变量值;方括号内是可选项,可以同时声明多个类型相同的变量,它们之间需要用逗号分隔例如:int a,b,c,d; //定义a,b,c,d四个变量int a;int b;int a=1,b=2,c,d;数据类型1. 相关概念所谓数据类型是按被定义变量的性质,表示形式,占据存储空间的多少,构造特点来划分的在C语言中,数据类型可分为:基本数据类型,构造数据类型,指针类型,空类型四大类2. 整型数据整型数据包括整型常量、整型变量1.整型常量整型常量就是整常数在C语言中,使用的整常数有十进制、八进制和十六进制三种1) 十进制整常数十进制整常数与数学上的整数表示方法相同由0~9之间的数码组合而成例如:合法的十进制整常数:237 -568 65535 1627不合法的十进制整常数:023 (不能有前导0) 23D (含有非十进制数码D)(2) 八进制整常数。
必须以0(数字0)开头,即以0作为八进制数的前缀基本数码取值为0~7八进制数通常是无符号数例如:合法的八进制数:015(十进制为13) 0101(十进制为65) 0177777(十进制为65535)不合法的八进制数:256(无前缀0) 03A2(包含了非八进制数码A) -0127(出现了负号)(3)十六进制整常数十六进制整常数的前缀为0X(数字0和字母X)或0x其数码取值为0~9,A~F或a~f例如:合法的十六进制整常数:0X2A(十进制为42) 0XA0 (十进制为160) 0XFFFF (十进制为65535)不合法的十六进制整常数:5A (无前缀0X) 0X3H (含有非十六进制数码H)2.整型变量定义格式:整型类型说明符 变量名标识符;例:int a;(1)基本型:类型说明符为int,在内存中占2个字节,其取值为基本整常数2)短整型:类型说明符为short int或short所占字节和取值范围均与基本型相同3)长整型:类型说明符为long int或long ,在内存中占4个字节,其取值为长整数4)无符号型:类型说明符为unsigned无符号型又可与上述三种类型匹配而构成:1)无符号基本型 类型说明符为unsigned int或unsigned。
2)无符号短整型 类型说明符为unsigned short3)无符号长整型 类型说明符为unsigned long3. 实型数据(1.实型常量实型也称为浮点型,实型常量也称为实数或者浮点数在C语言中,实数只采用十进制它有两种表示形式: 十进制数形式和指数形式1) 十进制数形式由数码0~ 9和小数点组成小数点前面表示整数部分,小数点后表示小数部分,格式:<整数>.<小数> 例如:0.0,.25,5.789,0.13,5.0,300.,-267.8230等均为合法的实数注意:小数点不可省略,整数部分和小数部分不可同时省略2)指数形式指数形式又称科学记数法,用e或E把数值部分和指数部分连接起来构成数值部分表示方法同十进制小数表示方法一样,指数部分是一个可正可负的的整型数其格式如下:<数值>e<指数>例如:2.1E5 (等于2.1*105),-3.7E-2 (等于-3.7*10-2),0.5E+7 (等于0.5*107)以下是不合法的实数:345 (无小数点),E7 (阶码标志E之前无数字),-5 (无阶码标志)53.-E3 (负号位置不对),2.7E (无阶码) 2.实型变量实型变量分为单精度(float型)、双精度(double型)和长双精度(long double型)三类。
在Turbo C中单精度型占4个字节(32位)内存空间,其数值范围为3.4E-38~3.4E+38,只能提供七位有效数字双精度型占8 个字节(64位)内存空间,其数值范围为1.7E-308~1.7E+308,可提供16位有效数字表2-1 实型变量类型说明符比特数(字节数)有效数字数的范围float32(4)6~7-1038~1038double64(8)15~16-10308~10308long double128(16)18~19-104932~104932 定义格式:实型类型说明符 变量名标识符;例如:float x,y; //声明x,y为单精度实型量double a,b,c; //声明a,b,c为双精度实型量)注意:1.有效数字是指小数点后的保留位数 2.避免大数吃小数的情况4. 字符型数据字符型数据包括字符常量和字符变量1.字符常量(1)普通字符常量,是用单引号括起来的一个字符例如'a','b','=','+','?'都是合法字符常量在C语言中,字符常量有以下特点:1)字符常量只能用单引号括起来,不能用双引号或其它括号2)字符常量只能是单个字符,不能是字符串3)字符可以是字符集中任意字符。
但数字被定义为字符型之后就不能参与数值运算例如'5'和5 是不同的'5'是字符常量,不能再参与数值运算2)转义字符转义字符是一种特殊的字符常量转义字符以反斜线"\"开头,后跟一个或几个字符转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符例如,在前面各例题printf函数的格式串中用到的“\n”就是一个转义字符,其意义是“回车换行”转义字符主要用来表示那些用一般字符不便于表示的控制代码字符变量2.字符变量的类型说明符是char它的取值是字符常量,即单个字符定义格式:char 变量名标识符;例如:char a1=’a’,b1=’b’;//定义字符变量a,b每个字符变量被分配一个字节的内存空间,因此只能存放一个字符字符值是以ASCII码的形式存放在变量的内存单元之中的如x的十进制ASCII码是120,y的十进制ASCII码是121a对字符变量a,b赋予‘x'和‘y'值: a=‘x';b=‘y';实际上是在a,b两个单元内存放120和121的二进制代码如下图所示:01111000 01111001b 图2-1 字符的存储形式注意:所以也可以把它们看成是整型量。
C语言允许对整型变量赋以字符值,也允许对字符变量赋以整型值在输出时,允许把字符变量按整型量输出,也允许把整型量按字符量输出整型量为二字节量,字符量为单字节量,当整型量按字符型量处理时, 只有低八位字节参与处理例2.1 字符型变量用法举例include
4)字符常量占一个字节的内存空间字符串常量占的内存字节数是字符串中字符个数加1增加的一个字节中存放字符‘\0’(ASCII码为0),是字符串结束的标志例如:字符串 "C program"在内存中存放形式为:Cprogram\0所以字符常量‘a'和字符串常量“a”虽然都只有一个字符,但在内存中的情况是不同的在C语言中没有相应的字符串。












