第2章 数据类型和表达式
第2章 C#数据类型和表达式
2.2 常量与变量
2. 实型常量
实数又称为浮点数,一般有两种书写形式: 实数又称为浮点数,一般有两种书写形式: ① 一般形式 就是平时写实数的形式。 就是平时写实数的形式。 ② 指数形式 在C#中,指数形式表示为: C#中 指数形式表示为: <整数部分>E<指数部分> 整数部分>E<指数部分 指数部分>
2.2 常量与变量
2.2.2 变量的声明
在程序执行过程中其值可以改变的量叫变量。 在程序执行过程中其值可以改变的量叫变量。 1.变量的定义 <数据类型><变量名>; 数据类型><变量名 变量名>; 或 <数据类型><变量名1>,<变量名2>,…,<变量n>; 数据类型><变量名 , 变量名2>,…, 变量n>; 变量名1> 例如: 例如: int a,x,y; //定义了3个整型变量a,x,y //定义了 个整型变量a,x,y 定义了3 char b; //定义了1个字符型变量b //定义了 个字符型变量b 定义了1 float c,d; //定义了2个实型(单精度)变量c,d //定义了 个实型(单精度)变量c,d 定义了2 double u,v; //定义了2个实型(双精度)变量u,v //定义了 个实型(双精度)变量u,v 定义了2
2.2 常量与变量
2. 变量的初始化
int a=2; //定义a为整型变量,初值为2 //定义 为整型变量,初值为2 定义a char b= ‘A’; //定义b为字符型变量,初值为‘A’ //定义 为字符型变量,初值为‘ 定义b double x=2.1234; //定义x为实型变量,初值为2.1234 //定义 为实型变量,初值为2.1234 定义x 也可对被定义的变量的部分变量进行初始化。 也可对被定义的变量的部分变量进行初始化。如 int u,v=100,w; //定义u,v,w为整型变量,v的初值为100 //定义 定义u,v,w为整型变量 为整型变量, 的初值为100
第2章 c语言基本数据类型、运算符和表达式
1000000000000101
1111111111111010
1111111111111011
整型数据所分配的字节数及数的表示范围(16位系统)
整型数据类型
[signed ]int unsigned [int] [signed] short [int] unsigned short [int] [signed ]long [int] unsigned long [int]
制和十六进制只是整型数值的三种表现形式而已。 整型常量类型的确定:根据值大小默认类型。 整型常量后面加后缀1或L,则认为是long int型。 无符号数也可以用后缀表示,整型常数的无符号数的后缀为“U”或“u”。 注意:在程序中是根据前缀来区分各种进制数的。因此在书写时不要把前缀弄错造
成结果不正确。
缺省形式的 整型数据类型
int unsigned short int unsigned short int long int unsigned long
字节数
取值范围
2
-32768~32767(-215~215-1)
2
0~65535
2
-32768~32767(-215~215-1)
2
0~65535(0~216-1)
3.字符型常量
字符常量是用单引号括起来的一个字符。它有二种形式:可视字符常量、转义字符常量。 (1)可视字符常量:单引号括起来的单个可视字符。
大多数字符常量都可以通过加单引号的方式表示,但有些特殊字符,如单引号本身和有些不 可见的特殊字符,就无法通过这种方法表示,为了解决这一问题,C语言引入了“转义字符”。
C语言教程课件第二章 数据类型、运算符和表达式
例 整型变量的定义与使用
#include <stdio.h> void main() { int a,b,c,d; /*指定a、b、c、d为整型变量*/ unsigned u; /*指定u为无符号整型变量*/ a=12;b=-24;u=10; c=a+u;d=b+u; printf("a+u=%d,b+u=%d\n",c,d); }
例 向字符变量赋以整数。 • 运行结果: #include <stdio.h> a b void main() 97 98 { char c1,c2; c1=97; c2=98; printf("%c %c\n",c1,c2); printf("%d %d\n",c1,c2); }
• 说明:在第4和第5行中,将整数97和98分别赋给c1和c2,它 的作用相当于以下两个赋值语句: c1='a';c2='b'; 因为'a'和'b'的ASCII码为97和98
• 字符型变量用来存放字符常量,注意只能放一个字符。 • 字符变量的定义形式如下:char c1,c2; • 在本函数中可以用下面语句对c1,c2赋值: c1='a';c2='b'; • 一个字符变量在内存中占一个字节; • 将一个字符常量放到一个字符变量中,是将该字符的 相应的ASCII代码放到存储单元中,这样使字符型数据 和整型数据之间可以通用。一个字符数据既可以以字 符形式输出,也可以以整数形式输出。
运行结果: total=300 例2.1 符号常量的使用 #define PRICE 30 #include <stdio.h> void main ( ) 说明:如再用赋值语句给PRICE赋值是错的 { PRICE=40;/*错误,不能给符号常量赋值*/ int num, total; num=10; total=num * PRICE; printf(″total=%d\n ″,total); } 说明: 程序中用#define命令行定义PRICE代表常量30,此后凡在 本文件中出现的PRICE都代表30,可以和常量一样进行运算
第二章数据类型与表达式
返回本讲目录
2)浮点型常量 浮点型常量也称为实数或者浮点数。在C++中,实数
只采用十进制。它有两种形式:十进制小数形式和 指数形式。
(1)十进制小数形式。由数字0~9和小数点(注意: 必须有小数点)组成,小数点前后如果有单独的0 可以省略。如:123.45、-256.7、0.0、.25、12.都 是合法的小数。
变量定义的一般格式为:
数据类型 变量名1,变量名2,…,变量名n;
在定义一个变量的同时,也可以用赋值运 算符给它赋以初值,称为变量初始化。
变量初始化的格式如下:
数据类型 变量名1=初值1 , 变量名2=初值2 , … , 变量名n=初值n;
“=”在C++中不是数学中的“等于号”, 而是赋值号,它表示把“=”右边的数据存 放在左边的变量表示的存储单元中。
本章学习内容
掌握各种基本数据类型的关键字、数据长度 和表示范围;
掌握各种类型的数值表示; 弄清变量以及变量赋值的实质、标识符的构
成规则; 弄清常量与变量之间的区别; 掌握常用的运算符的含义、优先级和使用方
法; 掌握隐式和显式类型转换的概念和使用方式。
本章目录
第二讲 C++的数据类型、常量与变量 第三讲 运算符与表达式 本章小结
(3)十六进制整数。十六进制整常数的前缀为0X或0x,其数字 取值范围为0~9、A~F或a~f。例如:0X1C、0XFFFF等。
(4)整型常数的后缀。如果使用的数值超过了基本整型数据的 取值范围,就必须用长整型数来表示。长整型数是用后缀 “L”或“l”来表示的。例如:158L、077L和0XA5L等。
C语言程序设计 第2章 数据类型
2.2常量和变量 变量名与变量值的关系:
2.2常量和变量
变量的使用:先定义后使用
变量定义的一般形式:
数据类型 变量名1,变量名2,…,变量名n;
2.2常量和变量
➢ 凡未被事先定义的,系统不把它认作变量名,这就 能保证程序中变量名使用的正确
例:varname,在使用的时候误写成vaname
➢ 在定义变量时要指定变量的类型,在编译时就能为 变量分配相应的存储单元
5
2.2常量和变量
甘草 三七 干姜 葛根
枸杞 人参 陈皮 地黄
山药 当归 谷芽 黄连
贴上标签 加以区分
用标识符给变量起名字
2.2常量和变量 变量命名规则
➢ 只能由字母(a~z,A~Z)、数字(0~9)和下划线(_)构 成
➢ 第一个字符不能为数字 ➢ 不能与关键字同名
例:a9,_a, A_num √ 9a, a*num,int ×
控制语句:控制语句用于控制程序的流程。 C语言提供三类控制语句: ➢ 选择语句 ➢ 循环语句 ➢ 转移语句。 控制语句会在第三章和第四章详细介绍。
2.7 表达式与语句
复合语句: 复合语句由一对大括号括起来的一 条或多条语句组成。 例:{
turnOn(0,3); turnOn(0,4); turnOn(0,5); turnOn(1,4); }
2.7 表达式与语句
表达式语句:表达式末尾加上“;”就构成一条 表达式语句。 例:
s = 3.14 * r * r; 就是一条赋值表达式语句。表达式语句最后的 分号是语句中必不可少的一部分。
2.7 表达式与语句
函数调用语句:函数调用语句由函数调用加分 号构成。 例:
turnOn(1,1);
C语言第02章 数据类型、运算符与表达式
回到 首页
运算符和结合性 P325,附录3
2.8 算术运算符和算术表达式
3、自增、自减运算符
自增运算符++和自减运算符--均是单目运算符, 功能是使变量的值增1或减1。其优先级高于所有 双目运算符,结合性为右结合性(自右至左)。
回到 首页
例如:++i或i++ 等价于i=i+1; --i或i-- 等价于i=i-1;
2.7数值型数据之间的混合运算
回到 首页
1、整型、实型、字符型数据之间可以混合运 算
整型(包括int,short,long)和实型(包括float,double)数据可 以混合运算,另外字符型数据和整型数据可以通用,因此,整 型、实型、字符型数据之间可以混合运算。 例如,表达式10+'a'+1.5-8765.1234*'b'是合法的。
2.9赋值运算符和赋值表达式
1、赋值运算符和赋值表达式
赋值运算符:“=”为双目运算符,右结合性。 赋值表达式:由赋值运算符组成的表达式称为赋值表达 式。 赋值表达式一般形式: 变量 赋值符 表达式 如 a=5 类型转换:将高精度的数据类型赋值给低精度的数据类 型,可能出错。
回到 首页
2.9赋值运算符和赋值表达式
2.8 算术运算符和算术表达式
3、自增、自减运算符
回到 首页
y=++x;等价于先计算x=x+1(结果x=6),再执行y=x,结果y=6。 y=x++;等价于先执行y=x,再计算x=x+1,结果y=5,x=6。 y=x++*x++;结果y=25,x=7。x++为后缀形式,先取x的值进行“*” 运算,再进行两次x++。 y=++x*++x;结果y=49,x=7。
第2章数据类型、运算符和表达式
(2)预定义的标识符 预定义的标识符在C语言中都有特殊含义,如 scanf和 printf 是库函数名,系统中用来作为输入输出函数。用户一般不要用 它们作为自定义标识符。 (3)用户自定义标识符 在程序中使用的变量名、符号常量名、函数名、数组名、类 型名、文件名、标号名等有效的字符序列,除库函数的函数名、 关键字由系统定义外,其余都由用户自定义,统称为用户自定 义标识符。 例如: total,area,_ab,sum,average,student_name,等 都是合法的标识符。 标识符虽然可由程序员随意定义,但标识 符是用于标识某个量的符号。因此,命名应尽量有相应的意义, 以便阅读理解,做到“见名知义”。 变量名要用小写字母,符号常量名要用大写字母。即在标识 符中,大小写是有区别的。例如:A和a是两个不同的标识符。
数据类型 类型说明符 数值范围
整型 int -32768~32767 -215~215-1 0~65535 -32768~32767 -215~215-1
字节
2 2 2 2 4
无符号整型 unsigned int 短整型 short
无符号短整 unsigned short 型 long 长整型 无符号长整 unsigned ong 型
2.2.4 字符串常量
字符串常量是由一对双引号括起的字符序列。例如: "CHINA" ,"C program." , "$12.5" 等都是合法的字符串常 量。字符串常量和字符常量是不同的量。它们之间主要有以下 区别: ①字符常量由单引号括起来,字符串常量由双引号括起来。 ②字符常量只能是单个字符,字符串常量则可以含零个或多个 字符。
3、十进制整常数 十进制整常数没有前缀。其数码为0~9。 以下各数是合法的十进制整常数:237,-568 ,65535 4、整型常数的后缀 在16位字长的机器上,基本整型的长度也为16位,因此表 示的数的范围也是有限定的。十进制无符号整常数的范围为 0~65535,有符号数为-32768~+32767。如果使用的数超过了 上述范围,就必须用长整型数来表示。长整型数是用后缀“L” 或“l”来表示的。例如: 十进制长整常数 158L (十进制为158) 358000L (十进制为358000) 八进制长整常数 012L (十进制为10) 077L (十进制为63) 0200000L (十进制为65536) 十六进制长整常数 0X15L (十进制为21) 0XA5L (十进制为165) 0X10000L (十进制为65536
2 C语言 第二章数据类型、表达式
说明
在整型常量尾部加上字母1或 时 在整型常量尾部加上字母 或L时,则 表示长整型常量.比如: 表示长整型常量.比如:18L或18l 或 整型(int)常量的值在 32768~32767之间 常量的值在 整型 之间 长整型(long int)常量的值在 长整型 常量的值在 2147483648 ~ 2147483647之间 之间
三位八进制 001 000 001 二进制 ( (用十进制表示为65) 65)
A' 如 \ 101 –– 表示字符'A' 又: \ x hh
用1到2位16进制数表示的 到 位 进制数表示的 进制数表示的ASCII码对应的字符 码对应的字符
如 \ x 41–– 表示字符'A'
0100 0001 二进制 (用十进制表示为65)
注意: 注意: 实型变量的有效数字的长度视机器而定 例如: 例如: pc机, 单精度一般为7位, 双精度15位 于是: float a; a=123456.789 则实际赋值a←123456.7 单精度表数范围: 单精度表数范围 10–38~1038 双精度表数范围: 双精度表数范围 10–308~10308 实数可以赋给float或double型变量.
对于较大或较小的数,可用指数形式 0.0000126 1260000 1.26E –5 1.26E+6 或1.26E6
' E ', 'e ' 均可, 表示以10为基数.E或e之前必须要 有数字,称为尾数部分或数码部分.规范化的尾数是将 小数点固定在第一位有效数字之后.ddd称为指数,指数 最多可达3位整数.
2.4.2 实型变量
分为单精度型 双精度型 单精度型与双精度型 单精度型 双精度型. 例如: 例如: float x, y, z ; 定义x, y, z为单精度变量. double a, b, c ; 定义a, b, c为双精度变量. 一般地: 单精度占4字节内存单元 字节内存单元; 一般地 单精度占 字节内存单元 双精度占8字节内存单元 双精度占 字节内存单元. 字节内存单元
C语言数据类型ppt课件
2.2 常量与变量
(3)整型数据在内存中的存放形式
int x; x=10; 则变量x的值10在内存中的存放形式:
int x;
x=-10; 则变量x的值10在内存中的存放形式:
22
2.2 常量与变量
(4)整型数据的溢出
例2-2 整型数据的溢出问题
#include <stdio.h>
int main()
\r
<
\a
\‘
回车 响铃 单引号
\ddd 3位8进制数代表的字符
转义字符 \t \b \f \\ \“ \xhh
含义 水平制表 退格 换页 反斜线 双引号 2位16进制数代表的字符
12
2.2 常量与变量
如 ‘\101’ -----------‘A’ ‘\012’ -----------’\n’ ‘\376’ -----------’’ ‘\x61’ -----------’a’ ‘\060’ -----------’0’
unsigned short。 ⅲ. 无符号长整型:类型说明符为
unsigned long。
20
2.2 常量与变量
(2)整型变量的定义与使用
例2-1 整型变量的使用
#include <stdio.h> int main() {
int x,y,z; x=10;y=20; z=x+y; printf(“x+y=%d\n”,z); return 0; } 输出结果:x+y=30
说明:数据类型所占字节数随机器硬件不同而不同, 上表以IBM PC机为例。
4
2.2 常量与变量
• 数据是程序的处理对象 • C语言将数据分为常量与变量
第2章 数据类型、运算符与表达式
注意事项:
八进制的数码范围为0--7; 则:018、091、0A2 都是错误的数据表示方法。
十六进制的数码除了数字0-9外, 还使用英文字母a-f (或A-F)表示10-15。 如:0x1e、0Xabcdef、0x1000 但:0X2defg、0x100L都是错误的。
第二章 2.2 常量和变量
二、定义方法
整型变量分别以下列方式定义 1. 基本整型 int a, b, c;
2. 短整型 3. 长整型 short int 或 short a, b, c; long int 或 long a, b, c;
4. 无符号型 unsigned a, b, c;
unsigned short a, b, c; unsigned long a, b, c;
4. 一个非负整数<32768 则可赋给 unsigned int。
5. 一个常数后加 'l',或'L',表示长整数. 如123l. 主要
用于函数调用时形、实参数传递。
练习:请补充完整下列程序,使之符合给定的运行结果
Main( ) {int a,b, sep,tim; a=7;b=2; tim=a*b; sep=a/b; printf(“ ”); printf(“ ”); }
c1=97;
c2=98;
printf ("%c %c", c1, c2)
} 运行结果 a b
例2: main ( ) { char c1, c2; c1= ' a ';
c2=' b ';
c1=c1– 32; c2=c2– 32;
printf ("%c %c", c1, c2)
C语言--ch2--数据类型和表达式
2.3 运算符和表达式
3.算术表达式 1)用算术运算符和括号的式子,称为算术 表达式.例如: a*b/c-1.5+'a' 1+3-4*5-a*a+b*b 2)算术表达式的值: 任何表达式都有值 3*4-5/2*2%3 11
2.3 运算符
4, 注意: 1)C语言算术表达式的乘号(*)不能省略.例如: 数学式b2-4ac,相应的C表达式应该写成: b*b-4*a*c 2)C语言表达式中只能出现已经定义的标识符. 例如,数学πr2相应的C表达式应该写成: # define PI 3.14 int r; PI*r*r (或者 3.14*r*r) 3)C语言可以使用多层圆括号,此时左右括号必 须配对,运算时从内层括号开始,由内向外依 次计算表达式的值 .例如: (((3+4)*5)-9)*2-5
2.3 运算符和表达式
5,运算符的优先级与结合性 1)优先级见教科书 2)在表达式求值时,先按运算符的"优 先级别"高低次序执行 ,例如: a-b*c 等价于 a-(b*c), 3)结合性:左结合,即如果在一个运算 对象两侧的运算符的优先级别相同时,先 与左面的运算符结合,例如: a-b+c等价于(a-b)+c
2.2 常量和变量
4, 变量的作用:保存数据. 保存数据. 保存数据 例:求圆柱体的底面积,表面积,体积 5,变量在任意一个时刻都只能保存一个值. 例:int i; i=12;/*变量i的值这时为12*/ i=i+3;/*i=12+3, i的值这时为15*/ i=4;/* i的值这时为4*/
2.2 常量和变量
课堂练习:判断以下常量是否合法? 课堂练习:判断以下常量是否合法?
12e3; e3; 12.3e; 0.45E1.2
基本数据类型与表达式
数据的存储格式
字符型数据:
使用一个字节,存放一个ASCII字符,示意图如下:
7
0
01 0 0 0 0 0 1
‘A’字符ASCII 为65
ASCII的范围:0 – 127 一个字符数据可以当作一个整数使用
5
#include <iostream> using namespace std; int main()
显示ASCII字符集的 程序
{
char ch;
for(int i=0;i<128;i++)
{
ch=char(i);
cout<<ch<<"\t"<<i<<"\t";
}
return 0;
}
6
7
整型数据的存储格式
短整型 short 15
87
0
短整数表示范围为:-215~215-1 (-32768~32767)
int i, j, k; // 说明了3个整型变量
long len; // 说明了1个长整型变量
float average, sum;
// 说明了两个浮点类型的变量
double distance, weight; // 说明了两个双精度类型的变量
•变量名命名规则与标识符相同。
13
二.变量的初始化
定义变量时赋初值:
实型数据分为:浮点型(float)和双精度型(double)
31
24 23
16 15
87
0
尾数部分
指数部分
一般浮点数的可以达到7位有效数字。例如1234.567。 双精度浮点数的有效位数可以达到15~16位。
C++第2章 数据类型与表达式
signed long int
unsigned long int float double long double
singned long
unsigned long —— —— ——
有符号长整型(同long int)
无符号长整型 浮点型 双精度型 长双精度型
4
4 4 8 10
-2,147,483,648~2,147,483,647
128u // unsigned 1024UL // unsigned long
1L
// long
8Lu
// unsigned long
14
2.2.1 整型字面值常量
2.前缀类型标识
在C++中整型有三种表示形式:10进制、8进制和16进制,以非 0开头的数是10进制,以0开头表示8进制,以0x或0X开头表示 16进制,例如:
H e A \0 AΒιβλιοθήκη llo \0
图2-2 字符串与字符的存储方式
23
2.2.6 枚举
C++程序设计 第2章 数据类型、运算符和表达式
第2章 数据类型、运算符和表达式
2.1 2.2 2.3 2.4 2.5 2.6 2.7 基本数据类型 常量 变量 基本运算符 类型转换 表达式和语句 本章小结
2
2.1 基本数据类型
为什么要区分数据类型?
C++通过数据类型,告诉计算机数据是如何定义的。
10
2.1.5 C++的数据类型
C++数据类型如图2-1所示。
基本数据类型 整数类型(int) 单精度型(float) 浮点类型 双精度型(double) 字符类型(char) 布尔类型(bool) 空值类型(void) 枚举类型 数组类型 C++数据类型 构造数据类型 结构与联合类型 指针类型 引用类型
C语言知识点:第2章 数据类型、运算符与表达式
主讲教师:杨剑
第 2 章:数据类型、运算符与表达式
1. 本章目标:
理解变量和常量的含义 熟悉基本数据类型 - int、char、float 和 double 使用算术运算符 理解类型转换 使用关系和逻辑运算符
2. 内存如何存放数据
电脑使用内存来记忆计算时所使用的数据 内存如何存储数据? 内存像旅馆.数据各式各样,要先根据数据的需求(即类型)为它申请一块合适的空
23. 复合赋值表达式
24. 赋值表达式和逗号运算符
赋值表达式 a=b=c=5;(从右向左计算) a +=a-=a*a
逗号运算符和逗号表达式 3+5,6+8 a=3*5,a*4
25. 习题
~7~
C 语言程序设计知识点
主讲教师:杨剑
有以下程序
main()
{
char a1=’M’,a2=’m’;
12. 单精度浮点型
float 在 C 语言中用于存储单精度浮点数 float 32 位 10-38 至 10+38 ,7 位有效数字 声明:
float price; 初始化:
float score = 11.3; score = 65.90;
13. 双精度浮点型
double 32 位 16 位有效数字 声明:
const float PI=3.14; S=PI*r*r; //等价于 3.14*r*r const 关键字的作用就是“冻结”一个量,它的值不能被修改,是一个只读(read only) 量。 优点:比数值常量可读性好、修改容易
18. 符号常量 2(宏常量)
还可用宏定义符号常量 语法:#define 符号名 常量值 例: 计算圆的周长时
2 C语言的基本数据类型与表达式
float:单精度浮点型,近似表示实数,在MS DOS 上,每个浮点型变量分配 32 bit 存储空间。浮点型 都是有符号的,可表示数值范围分为三段:-1038 至 -10-38, 0, 10-38 至 1038。数值都先化成指数,再用 二进制存储。6 - 7 位有效数字。 例如:float x, y; 等。 double:双精度型,近似表示更大实数,在MS DOS 上,每个浮点型变量分配 64 bit 存储空间。双精度 型都是有符号的,可表示数值范围分为三段:-10308 至 -10-308, 0, 10-308 至 10308。数值都先化成指数, 再用二进制存储。15 - 16 位有效数字。 例如:double x, y; 等。
设a=10,b=4,c=5 x+=5 x=x+5 90 求:a*=b+c x*=y+8 x=x*(y+8) x%=3 a*=b x=x%3 a=a*b
(2009.3) 14.设有定义:int x=2;,以下表达式中, 值不为6的是 D A)x*=x+1 B)x++,2*x C)x*=(1+x) D)2*x,x+=2
例2.4 整型变量定义及赋初值
void main() { int x,y,z,w; unsigned int k; x=10; y=-20; k=30; z=x+k; w=y+k; printf("x+k=%d,y+k=%d\n",z,w); }
例2.5 字符型变量定义及赋初值
void main() { char c1,c2; c1='a'; c2='b'; c1=c1-32; c2=c2-32; printf("%c %c",c1,c2); }
第2章 数据类型、运算符、表达式
第二章 数据类型、运算符、表达式一、数据类型C 语言中的数据类型比别的语言丰富。
基本类型的数据又可分为常量和变量,它们可与数据类型结合起来分类,即为整型常量、整型变量、实型(浮点型)常量、实型(浮点型)变量、字符常量、字符变量、枚举常量、枚举变量。
1、常量与符号常量常量:在程序执行过程中,其值不发生改变的量称为常量。
常量区分为不同的类型,如68、0、-12为整型常量,3.14,9.8为实型常量,‘a ’,‘b ’,‘c ’则为字符常量。
常量即为常数,一般从其字面即可判别。
符号常量:有时为了使程序更加清晰和便于修改,用一个标识符来代表常量,即给某个常量取个有意义的名字,这种常量称为符号常量。
如:#define PI 3.142、变量变量:程序执行过程中其值可以改变的量。
定义方法定义形式:数据类型 变量名1,变量名2,……变量名n ;整型(int )数据类型 基本类型 整型 单精度型(float )字符型(char )长整型(long )短整型(short )实型 双精度型(double )枚举类型(enum )共用体类型(union )构造类型结构体类型(struct )数组类型空类型(void )指针类型(*)如:char ch1, ch2; /* ch1,ch2为变量*/float x, y; /* x ,y 为实型变量*/int a, b, c; /* a,b,c 为整型变量*/在书写变量说明时,应注意以下几点:(1) 允许在一个类型说明符后,说明多个相同类型的变量。
各变量名之间用逗号间隔。
类型说明符与变量名之间至少用一个空格间隔。
(2) 最后一个变量名之后必须以“;”号结尾。
(3) 变量说明必须放在变量使用之前。
一般放在函数体的开头部分。
另外,也可在说明变量为整型的同时,给出变量的初值。
其格式为:类型说明符 变量名标识符1=初值1,变量名标识符2=初值2,...;3、数据在内存中的表示整型数据:以二进制的形式表示(1) int 类型正数: 如 123 (+123)用 16 位二进制(二个字节)表示原码 反码(原码同) 补码(原码同)最大正整数 215-1=214+213+212+211+210+29+2827+26+25+24+23+22+21+20=32767负数:如 –123原码补码(补码加 1)1取反加1 最大负整数-215=32768 因为 -215 < -(215-1) 所以用 -215 而不用 -(215-1)(2) unsigned (int) 类型称为无符号整数,它不是指不带“+ 或 -”号的整数,而是指内存表示这类数时没有符号位,16最大数215+214+213+2122+21+20=65535最小数 0 (3) long (int) 类型用 32 位二进制(四个字节)表示,其他同 int 型(4) short 类型有的计算机(小型、中型、大型机)int 即是 long ,而short 用16 位二进制(二个字节)表示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
[signed] short [int];
unsigned short [int]; [signed] long [int]; unsigned long [int]
有符号双长整型 [signed] long long [int]; 无符号双长整型 unsigned long long [int]
格式声明
1.printf函数的一般格式 printf(格式控制,输出表列) 例如: printf(”i=%d,c=%c\n”,i,c);
普通字符
1.printf函数的一般格式 printf(格式控制,输出表列) 例如: printf(”i=%d,c=%c\n”,i,c);
可以是常量、变量或表达式
例:给字符变量赋以整数。 #include <stdio.h> void main() {char c1,c2; c1=97; c2=98; printf(“%c %c\n”,c1,c2); printf(“%d %d\n”,c1,c2);
}
例:给定小写字母,要求用大写字母输出。 解题思路:
找到大、小写字母间的内在联系 同一个字母,用小写表示的字符的ASCII代 码比用大写表示的字符的ASCII代码大32
例: 将华氏法表示的温度转换成摄氏温度。 解题思路:转换公式
输入f的值
5 c ( f 32 ) 9
5 c ( f 32 ) 9
输出c的值
f代表华氏温度,c代表摄氏温度
2.4 字符型数据
1.字符与字符代码
字符常量:
字母:A ~Z,a ~z
数字:0~9
专门符号:! ” # & „ ( ) *等
+ :正号运算符(单目运算符)
- :负号运算符(单目运算符)
* :乘法运算符 / :除法运算符(两侧若均为整型数据,结果取整) % :求余运算符(两侧均应为整型数据) + :加法运算符 - :减法运算符
2.7 运算符和表达式
2. 自增(++)、自减(--)运算符: 作用是使变量的值增1或减1
++i,--i:先使i的值加(减)1,再使用i的值 i++,i--:先使用i的值,再使i的值加(减)1 注意: 只能用于变量,而不能用于常量或表达式。
2.2.1 常量和变量
2. 变量:在程序运行期间,变量的值是可以改变的 变量必须先定义,后使用
定义变量时指定该变量的名字和类型
变量名和变量值是两个不同的概念 变量名实际上是以一个名字代表的一个存储地址 从变量中取值,实际上是通过变量名找到相应的 内存地址,从该存储单元中读取数据
2. 常用格式字符
d格式符: 用来输出一个十进制整数 %md(%-md): 指定输出数据的域宽 printf(”%5d\n%5d\n”,12,3); %d输出int型数据
printf("%d\n",i);
}
作业: (3.28)
(1) x+a%3*(int)(x+y)%2/4
设x=2.5,a=7,y=4.7 (2)(float)(a+b)/2+(int)x%(int)y 设a=2,b=3,x=3.5,y=2.5
实验一: (周四3-4节)
编写程序,运行结果. 1. 教材46页 第1题
#include <stdio.h> void main() { char c1,c2; c1=‟a‟; c2=‟b‟;
c1=c1-32;c2=c2-32; printf(“%c ,%c″,c1,c2); }
• 说明:C语言允许字符数据与整数进行算术运算。
2.6 运算符和表达式
1.基本的算术运算符:
复合赋值运算符:
+= , -= , *= , /= , %=
3.5 数据输入输出的概念
(1) 输入输出的概念
输出:从计算机向外部输出设备输出数据。
输入:从输入设备向计算机输入数据。 (2) C语言本身不提供输入输出语句,输入和输出 操作是由C函数库中的函数来实现。
例如: 格式输入函数: scanf
例:鸡兔同笼。鸡和兔的总头数是16,总脚数是40 , 计算多少只鸡和多少只兔?
解题思路:用x代表鸡的数量,y代表兔的数量,总头
数为h,总脚数为f,方程式为:
x+y=h
y=(f-2h)/2
x=h-y
2x+4y=f
2.2.5 浮点型数据
浮点型数据是用来表示具有小数点的实数 float型(单精度浮点型)
不能显示的字符:空字符(„\0‟)、警告(„\a‟) 退格(„\b‟)、回车(„\r‟)等
2.字符变量:用来存放一个字符常量
用类型符char定义字符变量
char c ; c = ‟a‟ ;
输出字符使用%c格式。
printf(”%c\n”,c); 字符变量c实质存放的是字符常量的ASCII码, 在输出时,也可选择以整数形式输出。
大小写字母是 不同的字符
3.变量的命名规则:
只能由字母、数字和下划线3种字符组成,且第 一个字符必须为字母或下划线 sum,average, _total, Class, day, BASIC, li_ling
M.D.John,¥123,#33,3D64,a>b
2.2.3 整型数据
1. 整型数据的分类 最基本的整型类型
第二章
本章要点 C语言的数据类型 运算符及表达式
2.1 C的数据类型
整型 int char 单精度 float
基本类型
字符型 数组类型
实型(浮点型)
双精度 double
数据类型 构造类型
结构体类型
共用体类型 枚举类型
指针类型
2.2.1 常量和变量
1.常量:在程序运行过程中,其值不能被改变的量
整型常量:如1000,0,-345 实型(浮点型)常量 十进制小数形式:如0.34 -56.79 1.2 指数形式:如12.34e3 (代表12.34103) 字符常量:用单撇号括起来的一个字符,如‟a‟ 转义字符:以字符\开头,如‟\n‟ 字符串常量:双撇号括起来的若干个字符,如”boy”
3. 算术表达式
用算术运算符和括号将运算对象连接起来、 符合C语法规则的式子,称为C算术表达式 运算对象包括常量、变量、函数等
C语言规定了运算符的优先级和结合性
4. 不同类型数据间的混合运算 数据要先转换成同一类型,然后运算。
类型转换是由 系统自动进行
5. 强制类型转换运算符
形式为:
3.4 最基本的语句----赋值语句
例: 给出三角形的三边长,求三角形面积。 解题思路:假设给定的三条边符合构成 三角形的条件
通过公式计算面积:
area s ( s a)( s b)( s c) 其中s=(a+b+c)/2
#include <stdio.h> #include <math.h> void main ( ) { float a,b,c,s,area; a=3.67; 对边长a、b、c赋值 b=5.43; c=6.21; 计算area s=(a+b+c)/2; 计算s area=sqrt(s*(s-a)*(s-b)*(s-c)); printf("area=%f\n",area); }
在“=”前加其它运算符,可构成复合赋值运算符。
例如: a+=3 x*=y+8 x%=3
等价于 a=a+3 等价于 x=x*(y+8) 等价于 x=x%3
记忆: ① a += b ② a += b(“a+”移到“=”右侧) |___↑ ③ a = a + b (在“=”左侧补上变量名a)
注意:如果赋值符右边是表达式,则应加括号。 如: ① x %= y+3 ② x %= (y+3) |__↑ ③ x = x %(y+3)(不要错写成x=x%y+3)
printf(”%d\n”,c);
字符‟1‟和整数1是不同的概念:
字符‟1‟只是代表一个形状为‟1‟的符号,在内存 中以ASCII码的二进制形式存储,占1个字节 0 0 1 1 0 0 0 1 整数1是以二进制补码方式存储,占2或4个字节 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
++i与i++的区别:
++i是先执行i=i+1,再使用i的值; i++i的值先变成4, 再赋给j,j的值为4 ②j=i++; 先将i的值3赋给j,j的值为3,然后i变为4
#include <stdio.h>
void main()
{ int i,j,m,n; i=8; j=10; m=++i; n=j++; printf(“%d %d %d %d”,i,j,m,n); }
1.赋值运算符
作用:将一个数据或表达式的值赋给一个变量
2.赋值表达式
一般形式: 变量 赋值运算符 表达式
求赋值运算符右侧的“表达式”的值
赋给赋值运算符左侧的变量
3.赋值过程中的类型转换
两侧类型一致时,直接赋值 两侧类型不一致,但都是算术类型时,自动将 右侧的类型转换为左侧类型后赋值
4.复合的赋值运算符
符号常量:用#define 命令,指定一个符号名代表常量
#define PI 3.1416 //行末没有分号
例: 符号常量的使用 #define PRICE 30 #include <stdio.h> void main ( ) { int num, total; num=10; total=num * PRICE; printf(″total=%d\n ″,total); } 符号常量: 用一个标识符代表一个常量。符号常量 的值在其作用域内不能改变,也不能再被赋值。