c语言的基本数据类型及其表示
- 格式:doc
- 大小:74.00 KB
- 文档页数:15
标题:深度解析C语言数据类型缩写及含义在计算机编程的世界中,数据类型是非常重要的概念。
在C语言中,数据类型的缩写及含义更是程序员们必须熟练掌握的知识点之一。
本文将深度解析C语言中常见的数据类型缩写及其含义,帮助读者更深入地理解这一重要主题。
1. 数据类型的概念在C语言中,数据类型用来声明变量的类型,指定变量可以存储的数据类型及所占用的内存大小。
C语言中的数据类型包括基本数据类型和派生数据类型。
基本数据类型包括整型、浮点型、字符型和空类型,而派生数据类型包括数组、指针、结构体和共用体等。
2. 基本数据类型2.1 int:整型在C语言中,int代表整型数据类型,通常用于声明整数变量。
int类型在不同的系统中所占用的内存大小可能会有所不同,但通常情况下,int类型占用4个字节的内存空间。
2.2 float:单精度浮点型float代表单精度浮点型数据类型,用于声明具有小数部分的变量。
float类型通常占用4个字节的内存空间,用于存储小数,精度约为6位有效数字。
2.3 double:双精度浮点型double代表双精度浮点型数据类型,用于声明双精度小数变量。
double类型通常占用8个字节的内存空间,精度约为15位有效数字。
2.4 char:字符类型char代表字符数据类型,用于存储单个字符的变量。
char类型通常占用1个字节的内存空间。
2.5 void:空类型void代表空类型,用于表示没有类型。
通常用于函数的返回值或指针的类型。
以上是C语言中常见的基本数据类型的缩写及含义。
掌握这些基本数据类型对于程序员来说非常重要,它们是构建任何C语言程序的基础。
3. 派生数据类型3.1 数组:一组相同数据类型的集合数组是C语言中一组相同数据类型的集合,可以存储固定大小的元素。
3.2 指针:存储变量位置区域的变量指针是C语言中非常重要的概念,它用来存储变量的内存位置区域。
指针可以指向任何数据类型的变量,它可以极大地提高程序的灵活性和效率。
C语言基本数据类型C语言是一种面向过程的、通用的计算机编程语言,广泛用于系统软件、嵌入式系统和应用程序开发。
在C语言中,数据具有不同的类型,这些类型定义了数据的存储方式、范围和运算规则。
本文将介绍C语言的基本数据类型及其特征。
一、整型(Integer)整型数据用来表示整数值,具体包括以下几种类型:1. int:用于表示常规整数类型,默认情况下为32位,可以表示的范围为-2147483648到2147483647,可以通过unsigned关键字使其范围变为0到4294967295。
2. short:用于表示短整数类型,通常为16位,在内存占用方面比int类型更小,范围为-32768到32767。
3. long:用于表示长整数类型,通常为32位,在内存占用方面比int类型更大,范围为-2147483648到2147483647。
4. long long:用于表示超长整数类型,通常为64位,在内存占用方面比long类型更大,范围为-9223372036854775808到9223372036854775807。
二、浮点型(Floating Point)浮点型数据用来表示实数值,具体包括以下两种类型:1. float:用于表示单精度浮点数,通常为32位,可以表示的范围为1.2E-38到3.4E38。
2. double:用于表示双精度浮点数,通常为64位,在精度和取值范围上比float类型更高,可以表示的范围为2.2E-308到1.8E308。
三、字符型(Character)字符型数据用来表示包含字符或者特殊字符的值,具体包括以下两种类型:1. char:用于表示单个字符,通常为8位,可以表示的范围为-128到127。
字符在内存中以ASCII码的形式存储。
2. unsigned char:用于表示无符号字符,取值范围为0到255。
四、布尔型(Boolean)布尔型数据用来表示逻辑值,只有两种取值:true和false。
C语⾔的基本数据类型C语⾔允许使⽤的数据类型有三类。
(1) 基本类型。
不可再分的最基本的数据类型,包括整型、浮点(单精度)型、双精度型、字符型、⽆值类型、逻辑型及复数型。
基本类型通常代表单个数据。
(2) 构造类型。
由已知的基本类型通过⼀定的构造⽅法构造出来的类型,包括数组、结构体、联合体、枚举类型等。
构造类型通常代表⼀批数据。
(3) 指针类型。
指针可以指向内存地址,访问效率⾼,⽤于构造各种形态的动态或递归数据结构,如链表、树等。
1.1 基本数据类型1.基本数据类型及其关键字C99标准提供的7种基本数据类型及其对应的关键字如表所⽰。
数据类型关键字数据类型关键字字符型char⽆值类型void整型int逻辑型_bool浮点(单精度)型float复数型_complex_imaginary双精度型double字符型:描述单个字符;整型:描述整数,整数在计算机上是准确表⽰的;浮点型、双精度型:描述实数,实数在计算机上⼀般是近似表⽰的,浮点型的近似程度⽐较低,⽽双精度型的近似程度⽐较⾼。
⽆值类型:没有具体的值,通常⽤来描述⽆形式参数或⽆返回值的C函数,以及⽆定向指针。
逻辑型:描述逻辑真(其值为1)与逻辑假(其值为0)。
复数型:描述复数(_complex)和纯虚数(_imaginary)。
使⽤逻辑型时必须包含头⽂件stdbool.h,使⽤复数型时必须包含头⽂件complex.h。
2.基本数据类型的存储⽅式和取值范围、基本数据类型的扩展类型长度/字节取值范围存储⽅式char1-128~127有符号⼆进制补码形式[signed]char1-128~127unsigned char10~255short [int]2-32768~32767unsigned short [int]20~65535int4-2147483648~2147483647定点有符号⼆进制补码形式[signed] int4-2147483648~2147483647unsigned [int]40~4294967295long [int]4-2147483648~2147483647[signed] long [int]4-2147483648~2147483647unsigned long [int]40~4294967295float4-3.4*10^38~3.4*10^38浮点形式存储double8-1.798*10^308~1.798*10^308浮点形式存储long double8-1.798*10^308~1.798*10^308short int<=int<=long int<=long long intfloat<=double<=long double。
c语言数据类型范围C语言是一种十分常用的编程语言,它对于数据类型有着严格的定义和限制。
了解C语言中不同数据类型的范围对于编写高效、可靠的代码至关重要。
本文将详细介绍C语言中各种数据类型的范围及其在计算机中的表示方式。
1. 整数类型在C语言中,整数是最基本的数据类型之一。
根据不同的需求,C 语言提供了不同大小的整数类型,包括有符号整数和无符号整数。
下面是C语言中常见整数类型的范围:- char类型:1字节,有符号范围为-128到127,无符号范围为0到255。
- unsigned char类型:1字节,范围为0到255。
- short类型:2字节,有符号范围为-32,768到32,767,无符号范围为0到65,535。
- unsigned short类型:2字节,范围为0到65,535。
- int类型:通常为4字节,有符号范围为-2,147,483,648到2,147,483,647,无符号范围为0到4,294,967,295。
- unsigned int类型:通常为4字节,范围为0到4,294,967,295。
- long类型:通常为4字节,有符号范围为-2,147,483,648到2,147,483,647,无符号范围为0到4,294,967,295。
- unsigned long类型:通常为4字节,范围为0到4,294,967,295。
- long long类型:8字节,有符号范围为-9,223,372,036,854,775,808到9,223,372,036,854,775,807,无符号范围为0到18,446,744,073,709,551,615。
- unsigned long long类型:8字节,范围为0到18,446,744,073,709,551,615。
2. 浮点类型除了整数,C语言还提供了浮点类型来表示带小数部分的数值。
浮点类型在科学计算、图形处理等领域应用广泛。
C语言中常见的浮点类型包括float和double。
c语言运算符及其表达式(总14页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--C语言的数据类型运算符表达式1.基本数据类型基本数据类型最主要的特点是,其值不可以再分解为其它类型。
也就是说,基本数据类型是自我说明的。
2.构造数据类型构造数据类型是根据已定义的一个或多个数据类型用构造的方法来定义的。
也就是说,一个构造类型的值可以分解成若干个“成员”或“元素”。
每个“成员”都是一个基本数据类型或又是一个构造类型。
在C语言中,构造类型有以下几种:·数组类型·结构类型·联合类型3.指针类型指针是一种特殊的,同时又是具有重要作用的数据类型。
其值用来表示某个量在内存储器中的地址。
虽然指针变量的取值类似于整型量,但这是两个类型完全不同的量,因此不能混为一谈。
4.空类型在调用函数值时,通常应向调用者返回一个函数值。
这个返回的函数值是具有一定的数据类型的,应在函数定义及函数说明中给以说明,例如在例题中给出的max函数定义中,函数头为: int max(int a,int b);其中“int ”类型说明符即表示该函数的返回值为整型量。
又如在例题中,使用了库函数 sin,由于系统规定其函数返回值为双精度浮点型,因此在赋值语句s=sin (x);中,s 也必须是双精度浮点型,以便与sin函数的返回值一致。
所以在说明部分,把s说明为双精度浮点型。
但是,也有一类函数,调用后并不需要向调用者返回函数值,这种函数可以定义为“空类型”。
其类型说明符为void。
在第五章函数中还要详细介绍。
在本章中,我们先介绍基本数据类型中的整型、浮点型和字符型。
其余类型在以后各章中陆续介绍。
对于基本数据类型量,按其取值是否可改变又分为常量和变量两种。
在程序执行过程中,其值不发生改变的量称为常量,取值可变的量称为变量。
它们可与数据类型结合起来分类。
例如,可分为整型常量、整型变量、浮点常量、浮点变量、字符常量、字符变量、枚举常量、枚举变量。
C51数据类型C51是一种常用的单片机系列,广泛应用于嵌入式系统开辟中。
在C语言中,C51提供了多种数据类型,用于在程序中定义变量和存储数据。
本文将详细介绍C51中常用的数据类型及其特点。
1. 基本数据类型1.1 字符型(char)字符型数据用于表示单个字符,占用一个字节的存储空间。
其取值范围通常为-128到127,可以表示ASCII码中的所有字符。
1.2 整型(int)整型数据用于表示整数,占用两个字节的存储空间。
其取值范围通常为-32768到32767,可以表示-2^15到2^15-1之间的整数。
1.3 短整型(short)短整型数据用于表示较小范围的整数,占用一个字节的存储空间。
其取值范围通常为-128到127,可以表示-2^7到2^7-1之间的整数。
1.4 长整型(long)长整型数据用于表示较大范围的整数,占用四个字节的存储空间。
其取值范围通常为-2147483648到2147483647,可以表示-2^31到2^31-1之间的整数。
2. 浮点型数据2.1 单精度浮点型(float)单精度浮点型数据用于表示带小数部份的数值,占用四个字节的存储空间。
其精度通常为6-7位有效数字,可以表示较大范围的数值。
2.2 双精度浮点型(double)双精度浮点型数据用于表示更高精度的带小数部份的数值,占用八个字节的存储空间。
其精度通常为15-16位有效数字,可以表示更大范围的数值。
3. 无符号数据类型3.1 无符号字符型(unsigned char)无符号字符型数据用于表示正整数,占用一个字节的存储空间。
其取值范围通常为0到255,可以表示0到2^8-1之间的整数。
3.2 无符号整型(unsigned int)无符号整型数据用于表示正整数,占用两个字节的存储空间。
其取值范围通常为0到65535,可以表示0到2^16-1之间的整数。
3.3 无符号短整型(unsigned short)无符号短整型数据用于表示较小范围的正整数,占用一个字节的存储空间。
大一c语言程序设计必备知识点一、变量与数据类型C语言中的变量定义数据类型及其表示范围基本数据类型:整型、浮点型、字符型二、运算符与表达式算术运算符:加、减、乘、除赋值运算符关系运算符:等于、不等于、大于、小于逻辑运算符与短路求值条件表达式三、控制结构顺序结构:程序按照顺序执行选择结构:if语句、switch语句循环结构:while循环、do-while循环、for循环跳转语句:break、continue、goto四、函数与模块化编程函数的定义和调用参数传递:值传递和引用传递函数的返回值递归函数函数库的使用五、数组与字符串数组的定义和初始化一维数组与多维数组数组的访问和修改字符串的定义和常用操作字符串和字符数组的区别六、指针与内存管理指针的定义和初始化指针与数组的关系指针与函数的关系动态内存分配:malloc、calloc、free 内存泄漏与空指针七、结构体与联合体结构体的定义和初始化结构体成员的访问和修改结构体与指针的关系联合体的定义和使用八、文件操作文件的打开和关闭读取和写入文件文件指针的定位文件的读写模式九、预处理指令与宏定义宏定义的基本语法条件编译指令:#ifdef、#ifndef、#endif包含头文件的作用十、错误处理与调试技巧错误类型:语法错误、运行时错误、逻辑错误调试工具的使用常见的调试技巧和策略结语:以上是大一C语言程序设计中的必备知识点,掌握这些知识对于学习和理解C语言非常重要。
在实际编程中,熟练运用这些知识点能够让程序更加稳定、高效地运行。
希望本文能够帮助到你,祝你在C语言程序设计的学习中取得好成绩!。
c语言中各种数据类型C语言中的各种数据类型在C语言中,数据类型是非常重要的概念。
它定义了变量的类型及其在内存中所占据的空间大小。
C语言中有多种数据类型,包括基本数据类型和派生数据类型。
本文将依次介绍这些数据类型,并给出一些使用示例。
1. 基本数据类型1.1 整型(int)整型是C语言中最常用的数据类型之一。
它用于表示整数,包括正整数、负整数和零。
整型的大小取决于机器的架构,但通常情况下,int类型占用4个字节的内存空间。
下面是一个整型变量的声明和赋值的示例:```int num = 10;```1.2 浮点型(float和double)浮点型用于表示实数,包括小数和指数形式的数。
C语言中提供了两种浮点型:float和double。
float类型占用4个字节的内存空间,而double类型则占用8个字节的内存空间。
下面是一个浮点型变量的声明和赋值的示例:```float pi = 3.14;double e = 2.71828;```1.3 字符型(char)字符型用于表示单个字符,它占用1个字节的内存空间。
在C语言中,字符型变量使用单引号来表示。
下面是一个字符型变量的声明和赋值的示例:```char ch = 'A';```2. 派生数据类型2.1 数组(array)数组是一种派生数据类型,它可以存储多个相同类型的元素。
数组的大小在声明时指定,并且在程序运行期间不能改变。
下面是一个整型数组的声明和赋值的示例:```int nums[5] = {1, 2, 3, 4, 5};```2.2 结构体(struct)结构体是一种可以包含多个不同类型变量的数据类型。
它可以将不同类型的变量组合在一起,形成一个逻辑上的整体。
下面是一个结构体的声明和使用的示例:```struct Student {char name[20];int age;float score;};struct Student stu;strcpy(, "Alice");stu.age = 18;stu.score = 95.5;```2.3 枚举(enum)枚举是一种用户自定义的数据类型,它可以定义一组具有名称的常量。
c语⾔-数据类型、运算符与表达式⼀、数据类型1、概念(1)标识符1.定义:⽤来标记常量、变量、函数及⽂件名字的字符序列。
2.构成规则:只能由数字、字母、下划线三部分组成,且不能以数字开头,并且严格区别⼤⼩写,不能定义为系统中存在的关键字。
(2)关键字c语⾔中具有特定含义、专门⽤作语⾔特定成分的⼀类标识符注:在C语⾔中,所有的关键字都有固定的意义,不能⽤作其它,且所有的关键字都必须⼩写(3)c的数据类型数据是操作的对象,数据类型是指数据的内在表现形式(代码、存储、运算)(4)常量和变量1. 常量【1】常量:在程序运⾏过程中,其值不能被改变的量 常量区分为不同类型(表⽰形式),如:12、1.0、‘a’【2】符号常量:⽤⼀个标识符代表的⼀个常量定义⽅法:#define 标识符常量#define PRICE 30#include <stdio.h>void main(){int num,total;num = 10;total = num * PRICE;printf("total = %d",total);}2. 变量【1】变量:其值是可以改变的量,它⽤标识符(变量名)来表⽰,在内存中占据⼀定的存储单元变量的定义⽅法:类型符标识符注意事项:<1>见名知意 <2>先定义后使⽤ <3>习惯上,符号常量名⽤⼤写,变量名⽤⼩写,以⽰区别【2】变量赋初值变量先定义,后使⽤,⼀般放在函数开头变量初始化:可以在定义时赋初值2、整型数据(1)整型常量1. 各种进制的整数表⽰⽅法⼗进制整数:由数字0~9和正负号表⽰. 如 123,-456,0⼋进制整数:由数字0开头,后跟数字0~7表⽰. 如 0123,011⼗六进制整数:由0x开头,后跟0~9,a~f,A~F表⽰. 如 0x123,0xff2. 整型常量的类型【1】整型常量的值在-32768~+32767范围内,编译器认为是int类型【2】整型常量的值超过上述范围,⽽在-2147483648 ~ +2147483647范围内,编译器认为是long类型【3】当系统定义short int与int占内存长度相同,则两种类型常量均可以赋给 int和short int型变量【4】在整型常量后⾯加⼤写L或⼩写l,则告诉编译器,把该整型常量作为long类型处理。
第一节程序设计的基本知识第二节数据与数据类型第三节C语言的基本数据类型及其表示第四节算术运算与赋值运算第五节逗号运算第六节混合运算及数据类型转换§2.1 程序设计的基本知识二、什么是数据结构l 计算机的别名:l 数据元素:l数据结构:.一、什么是程序设计程序设计=+++程序设计=编程数据结构包括数据的逻辑结构和物理结构,它关系到软件或程序的复l 算法:解决问题的方法和有限的步骤l计算机语言的别名: 2πR L , πR 2 S 三次乘法 一次乘方πR A ,2A L ,AR S 三次乘法 2πR L ,πRR S 四次乘法例求圆周长和圆面积数学模型:L=2πR、 S=πR2三种算法:可读性好执行效率高综合的优点算法的表示--流程图开始s=0,a=0输入ns=s+a a=a+1a<nY N输出 s 结束用规定的一系列图形、流程线和文字说明算法中的基本操作和控制流程四、面向过程程序设计方法l 三种基本结构:顺序、选择、循环l模块组织:按功能划分模块化,每个 模块易于理解且不可再分l 设计过程:自顶而下、逐步细化l 目的:改善环境,加快程序开发过程。
l常用工具:描述算法的图形工具、表 示结构的开发工具等。
五、程序设计工具结构化程序设计三. 学习运算符应掌握的要点: * 运算符的种类与功能* 运算符与运算分量的关系个数类型A +B (a>b)? a: b目不同类型的变量,所允许的操作不同单目运算符双目运算符三目运算符*优先级: 运算符的执行顺序 *结合性: 优先级相同时的结合方向*运算结果的类型X=5+8‘a’>100X=a+b*ca+b-c 5>7>2a=b=5单目运算符的优先级高于双目运算符单目运算符从右向左结合双目运算符从左向右结合2.4.2 算术运算符和算术表达式1. 共有5个:+,-,*,/,%2 “-”作为 负号时为单目单目: -双目:*, /, %双目:+,-4. 优先级:5. 结合性: 从左向右3. %运算只适用于整型数取模(求余数)a=10%4a 的值为22.4.3 自增、自减运算符1. 变量自身加(减)1k =k+1k ++ 先使用变量k 的值,再加 1++ k 先加1,再使用变量 k 的值 k = k-1k - - 先使用变量k 的值,再减 1- - k 先减1,再使用变量k 的值k=3; printf( “%d”, k ++); 输出 3 后, k 的值为 4i=3; printf( “%d”, ++ i); 输出42. 只能用于变量,不能用于表达式和常量3.优先级:高于双目算术运算符4. 结合性:从右向左(i+k) ++ , - -3i=3; k=i++ + i++ + i++;i=3; k= ++i + ( ++i) + (++i);main( ){ int a , b , s ;a = 5 ;b = 5 ;s= a+b ; printf(“%d,%d,%d\n”,a,b,s); s= a++ +b; printf(“%d,%d,%d\n”,a,b,s); s= ++a+b; printf(“%d,%d,%d\n”,a,b,s); s= - -a +b; printf(“%d,%d,%d\n”,a,b,s); s= a- - +b; printf(“%d,%d,%d\n”,a,b,s); s= a + b; printf(“%d,%d,%d\n”,a,b,s);s = a + b ;s = a++ +b ; s = ++a +b ;s = - -a +b ;s = a- - +b ;s = a + b ;a=5, b=55+5=105+5=107+5=126+5=116+5=115+5=10 a b s 5 5 106 5 107 5 126 5 115 5 115 5 102.4.4 赋值运算符赋值表达式1. 将一个常量或一个表达式的值赋给一个变量称为赋值x = 5 y = x + 102. 可以将一个实型赋给一个整型,或将一个整型赋给一个实型int x, x=5.3; x的值为 5float y, y=5; y的值为 5.0000003. 赋值运算的优先级比算术运算低4. 赋值运算的结合性从右向左X = y = 52.4.6复合赋值运算符和复合赋值表达式赋值运算符两侧出现相同的变量x=x+n x=x-n x=x*n x=x/n x=x%n x + = nx - = nx * = nx / = nx% = n 算术运算与赋值运算相结合X 与n 均为整数x=x+nn 为常数x+=nmain( ){ int a, b, c, d, e;a=2; b=5 ;c= 6;d=10;a + =b; b- =c;c * =d;d / =a;a%=c;printf(“%d,%d,%d,%d\n”,a ,b ,c , d); }7,-1,60,1一、逗号运算符(表达式 1,表达式 2,表达式 3,……表达式 n)用于连接几个表达式 二、求解过程顺序求解几个表达式三、优先级逗号运算符的优先级最低四、结合性从左向右五、逗号表达式逗号表达式的值为最后一个表达式的值(表达式n 的值)X = ( ( a=4*5 , a*2 ) , a+6 )a 为?x 为?§2.5 逗号运算2.5.1 逗号运算符§2.6 混合运算及数据类型转换不同数据类型需先转换成同一类型,然后进行运算自动进行-------隐式转换强制进行-------显式转换一、隐式转换(算术转换)级别低的向级别高的转换double floatlongunsignedint char, short int i; float f; double d; long e;表达式:10+’a’+i*f-d/e的结果为:double§2.1 程序设计的基本知识(续)lllll§2.2 数据与数据类型数据的描述数据的操作算法数据结构程序的任务是对数据进行处理,数据是程序程序的任务是对数据进行处理,处理的对象,而运算符是施加给这些数据的操作。
3.2 C语言的基本数据类型及其表示C语言的基本数据类型包括整型数据、实型数据和字符型数据,这些不同数据类型如何表示?如何使用?它们的数据范围是什么?下面我们分别进行介绍。
3.2.1 常量与变量1. 常量常量是指程序在运行时其值不能改变的量,它是C语言中使用的基本数据对象之一。
C语言提供的常量有:以上是常量所具有的类型属性,这些类型决定了各种常量所占存储空间的大小和数的表示范围。
在C程序中,常量是直接以自身的存在形式体现其值和类型,例如:123是一个整型常量,占两个存储字节,数的表示范围是-32768~32767;123.0是实型常量,占四个存储字节,数的表示范围是-3.4 10-38~3.4 1038。
需要注意的是,常量并不占内存,在程序运行时它作为操作对象直接出现在运算器的各种寄存器中。
2.符号常量在C程序中,常量除了以自身的存在形式直接表示之外,还可以用标识符来表示常量。
因为经常碰到这样的问题:常量本身是一个较长的字符序列,且在程序中重复出现,例如:取常数的值为3.1415927,如果在程序中多处出现,直接使用3.1415927的表示形式,势必会使编程工作显得繁琐,而且,当需要把的值修改为3.1415926536时,就必须逐个查找并修改,这样,会降低程序的可修改性和灵活性。
因此,C语言中提供了一种符号常量,即用指定的标识符来表示某个常量,在程序中需要使用该常量时就可直接引用标识符。
C语言中用宏定义命令对符号常量进行定义,其定义形式如下:#define 标识符常量其中#define是宏定义命令的专用定义符,标识符是对常量的命名,常量可以是前面介绍的几种类型常量中的任何一种。
该使指定的标识符来代表指定的常量,这个被指定的标识符就称为符号常量。
例如,在C程序中,要用PAI代表实型常量3.1415927,用W代表字符串常量"Windows 98",可用下面两个宏定义命令:#define PAI 3.1415927#define W "Windows 98"宏定义的功能是:在编译预处理时,将程序中宏定义(关于编译预处理和宏定义的概念详见9.10节)命令之后出现的所有符号常量用宏定义命令中对应的常量一一替代。
例如,对于以上两个宏定义命令,编译程序时,编译系统首先将程序中除这两个宏定义命令之外的所有PAI替换为3.1415927,所有W替换为Windows 98。
因此,符号常量通常也被称为宏替换名。
习惯上人们把符号常量名用大写字母表示,而把变量名用小写字母表示。
例3-1是符号常量的一个简单的应用。
其中,PI为定义的符号常量,程序编译时,用3.1416替换所有的PI。
例3-1:已知圆半径r,求圆周长c和圆面积s的值。
#define PI 3.1416main(){ float r,c,s;scanf("%d",&r);c=2*PI*r; /* 编译时用3.1416替换PI */s=PI*r*r; /* 编译时用3.1416替换PI */printf("c=%6.2f,s=%6.2f\n",c,s);}3.变量变量是程序设计语言中一个重要概念,它是指在程序运行时其值可以改变的量。
这里所说的变量与数学中的变量是完全不同的概念。
在C语言以及其他各种常规程序设计语言中,变量是表述数据存储的基本概念。
我们知道,在计算机硬件的层次上,程序运行时数据的存储是靠内存储器、存储单元、存储地址等一系列相关机制实现,这些机制在程序语言中的反映就是变量的概念。
程序里的一个变量可以看成是一个存储数据的容器,它的功能就是可以存储数据。
对变量的基本操作有两个:①向变量中存入数据值,这个操作被称作给变量"赋值"。
②取得变量当前值,以便在程序运行过程中使用,这个操作称为"取值"。
变量具有保持值的性质,也就是说:如果在某个时刻给某变量赋了一个值,此后使用这个变量时,每次得到的将总是这个值。
因为要对变量进行"赋值"和"取值"操作,所以程序里的每个变量都要有一个变量名,程序是通过变量名来使用变量的。
在C语言中,变量名是作为变量的标识,其命名规则符合标识符的所有规定。
以下是合法的变量名:f1 total name_1 _sum ave1 r123stu_12_1 stu_name x1 x1_ pi yearC语言提供的基本变量类型有:C语言要求:程序里使用的每个变量都必须首先定义,也就是说,首先需要声明一个变量的存在,然后才能够使用它。
要定义一个变量需要提供两方面的信息:变量的名字和它的类型,其目的是由变量的类型决定变量的存贮结构,以便使C语言的编译程序为所定义的变量分配存储空间。
4.变量的定义变量是以标识符的形式来表示其类型。
在C语言中,是用类型说明语句对变量进行定义,其定义形式如下:类型说明符变量名表;其中,类型说明符是C语言中的一个有效的数据类型,如整型类型说明符int,•字符型类型说明符char等。
变量表的形式是:变量名1,变量名2,……,变量名n,即:用逗号分隔的变量名的集合。
最后用一个分号结束定义。
定义变量的这种语言结构称为"变量说明",例如下面是某程序中的变量说明:int a, b, c; /* 说明a,b,c为整型变量*/char cc; /* 说明cc为字符变量*/double x, y; /* 说明x,y为双精度实型变量*/可见,一个定义中可以说明多个变量。
而且,由于C语言是自由格式语言,把多个变量说明写在同一行也是允许的。
但是为了程序清晰,人们一般不采用这种写法,尤其是初学者。
在C程序中,除了不能用关键字做变量名外,可以用任何标识符做变量名。
但是,一般提倡用能说明变量用途的有意义的名字为变量命名,因为这样的名字对读程序的人有一定提示作用,有助于提高程序的可读性,尤其是当程序比较大,程序中的变量比较多时,这一点就显得尤其重要。
这就是结构化程序设计所强调的编程风格问题。
在数学里人们常常采取对变量简单命名的方式,那是因为数学公式里使用的变量通常都很少。
程序的情况则不同,一个大程序里可能有成百成千的变量,命名问题就显得重要。
整型数据及其表示1.整数类型C语言提供了多种整数类型,用以适应不同情况的需要。
常用的整数类型有:整型、长整型、无符号整型和无符号长整型等四种基本类型。
不同类型的差别就在于采用不同位数的二进制编码方式,所以就要占用不同的存储空间,就会有不同的数值表示范围。
表3-1列出了常用的基本整数类型和有关数据。
在数学中,整数是一个无限的集合,即整数的表示范围为-∞~+∞。
C语言标准本身也并不限制各种类型数据所占的存储字节数。
但在计算机中,所有数值的取值范围受限于机器所能表示的范围,不同的计算机系统对数数据的存储有具体的规定。
表3-1列出了IBM PC机及其兼容机上对C语言整型数的规定,表中的存储字节数和最小数值范围表示相应类型的整数不能低于此值但可高于此值。
表3-1 整数基本类型表整数类型存储字节最小数值范围整型2字节-32768~32767长整型4字节-2147483648~2147483647无符号整型2字节0~65535无符号长整型4字节0~4294967295计算机内部总是采用二进制补码形式表示一个数值型数据,所以对于带符号的数,其负数的表示范围比正数大,请读者注意这一点。
表3-2中的整型和长整型均表示带符号的整型数据,一个带符号整数和无符号整数在计算机中的存储形式是不同的,其示意图如图3-1所示。
例如,长整型不可少于四个字节,但可以是八个字节。
图中的整型数和无符号整型数都是用两个字节(16位二进制数)表示,整型数的最高位为符号位,"1"表示负数,"0"表示正数,用其余15位表示数值。
而无符号整型数全部16位表示数值。
2.整型常量在计算机语言中,常量一般是以自身的存在形式直接表示数据属性,C语言亦如此。
例如:-35是十进制整型常数,应占两个字节的存储空间,而-35.0是十进制实型常数,占四个字节的存储空间。
在C语言中,所有的数值型常量都带有符号,所以整型常量只区别整型和长整型两种形式,而没有无符号值型常量。
整型和长整型常量均可用十进制、八进制和十六进制三种形式表示。
(1) 十进制整型常量十进制整型常量的形式是有效的十进制数字串。
如:123,-123,8,0,-5,30000等。
40000则不是一个十进制整型常量,因为它超过了整型常量的表示范围。
对于这种超过数值表示范围的数据,语言系统会自动将其转换为其它适合的类型。
(2) 八进制整型常量八进制整型常量的形式是以数字"0"开头的八进制数字串。
数字串中只能含有0~7这八个数字。
如:056 表示八进制数56,等于十进制数46。
-017 表示八进制数-17,等于十进制数-15。
(3) 十六进制整型常量十六进制整型常量的形式是以数字0x或0X开头的十六进制字符串。
字符串中只能含有0~9这十个数字和a、b、c、d、e、f(或大写的A、B、C、D、E、F)这六个字母。
这一规定与计算机领域中通行的表示十六进制字符方式相同。
如:0x123 表示十六进制数123,等于十进制数291。
0x3A 表示十六进制数3A,等于十进制数58。
-0x2e 表示十六进制数-2f,等于十进制数-46。
以上是整型常数的表示,对于长整型常数同样可以用十进制、八进制和十六进制三种形式表示。
其表示形式是在常数之后加上字母"l"或"L"。
例如:123L,-1234567L,0l,32769L,-017l,-0x123BL,0Xf3acL,-0x2eL都是长整型常数。
长整型常数在计算机中占4个字节,数的表示范围可达到-2147483648~2147483647。
所以尽管40000不是一个合法的十进制整型常量,但40000L是一个合法的十进制长整型常量。
长整型常数一般是用于函数调用中。
3.整型变量在C语言中,整型变量有上述整型数据所具有的四种类型:整型、长整型、无符号整型和无符号长整型。
整型变量以关键字int作为基本类型说明符,另外配合4个类型修饰符,•用来改变和扩充基本类型的含义,以适应更灵活的应用。
可作用于基本型int上的4个类型修饰符有:long长short短signed 有符号unsigned 无符号这些修饰符与int可以组合成如表3-2所示的不同整数类型,这是ANSI C 标准允许的整数类型。
由表中可见,有些修饰符是多余的,例如修饰符signed 和short就是不必要的,因为signed int、short int、signed short int与int类型都是等价的。