c语言 02 数据类型、运算符与表达式

合集下载

c语言的数据类型、运算符和表达式

c语言的数据类型、运算符和表达式

数据类型、运算符和表达式一、C 语言的基本数据类型数据是程序处理的对象。

C 中将数据分为不同的数据类型,任何数据都属于某一种特定的数据类型。

数据类型的作用有两个:一是指明为数据分配多大的存储空间和规定了数据的存储结构,进而规定了数据的取值范围;二是规定了数据所能进行的操作。

C 的数据类型分为基本数据类型和构造类型。

基本数据类型是系统定义的,用户可以直接使用。

构造类型由用户自行定义。

C 的数据类型如图所示。

C 标准没有规定各类数据所占用内存位数。

所以不同c 编译系统的各类数据所占用内存位数是不一样的。

上机使用时,应注意使用的c 编译系统的具体规定。

Turbo C 基本类型 所占位数 数的范围 [signed] char 8 -128~127 unsigned char 8 0~255 [signed]int 16 -32768~32767 short [int] 16 -32768~32767long [int] 32 -2147483648~2147483647 unsigned [int] 16 0~65535 unsigned short [int] 16 0~65535 unsigned long [int]320~4294967295C++数据类型基本类型字符型(char) 空类型(void)整型短整型(short int) 无符号整型(unsigned int)长整型(long int)基本整型(int) 实型(浮点型) 双精度型(double)单精度型(float) 指针构造类型枚举(enum) 联合(union)结构体(struct)数组float 32 约6位有效数字double 64 约12位有效数字在Visual C++中:char:1 Byteint:4 Byteshort:2 Bytelong:4 Bytefloat:4 Bytedouble:8 Byte二、常量常量:整型常量、实型常量、字符常量、字符串常量、符号常量1.整型常量C语言程序中可以使用十进制、八进制和十六进制来表示整型常量。

第2章 c语言基本数据类型、运算符和表达式

第2章 c语言基本数据类型、运算符和表达式
负整数的补码是①将此数绝对值的二进制形式(原码);②除最高位符号位外其他数取反 (反码);③加1(补码)。 -5的补码:
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语言引入了“转义字符”。

第2章_数据类型、运算符和表达式《C语言程序设计(第三版)》-电子教案

第2章_数据类型、运算符和表达式《C语言程序设计(第三版)》-电子教案

2.2 标识符、常量与变量

符号常量
【例2-1】输入圆的半径,计算周长和面积。 #define PI 3.14159 void main() { float r,c,s; scanf("%f",&r); c=2*PI*r; s=PI*r*r; printf("r=%f,c=%f,s=%f\n",r,c,s); }

以下是合法的整型常量:

2.2 标识符、常量与变量

实型常量

实型常量只能用十进制形式表示 表示形式:


小数形式。由数字序列和小数点组成,如 3.1415926、-0.15、.15、2.等都是合法的实型 常量。 指数形式。由十进制数加上阶码标志“e”或 “E”及阶码组成,如3.14e-4或3.14E-4表示 3.14×10-4。
2.2 标识符、常量与变量

2.2.3 变量


在程序运行过程中,其存储的值可以被改变的量称 为变量 变量必须通过标识符进行说明,称为变量名。 变量名和内存单元地址存在映射关系,程序可以通 过变量名寻址,从而访问其存储的数据。
2.2 标识符、常量与变量

变量的定义和说明

数据类型 变量名1[,变量名2,…,变量名n];
long型转换成float型时由原来可达10位整数变成只有7位有效数字精度丢失但由于数的范围扩大了数据类型从较低级提升到较高级随着竞争日益激烈酒店嘴中的肥肉被大肆抢夺各大酒店在这场竞争中几乎溃不成军
21世纪高等学校精品规划教材
第2章 数据类型、运算符 和表达式



掌握C语言的基本数据类型 掌握标识符、关键字、常量和变量的使用 掌握运算符、表达式以及数据类型之间的转换 等 掌握简单数据的输入输出

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,可以和常量一样进行运算

数据类型、运算符与表达式

数据类型、运算符与表达式
上一页 下一页 返回
6.1 一维数组
例6.4程序中第一个for语句逐个输入10个数到数组a中,然后把a[0]送 入max中。在第一个for语句中,a[1]到a[9]逐个与max中的内容比 较,若比max的值大,则把该下标变量送入max中,因此max在己 比较过的下标变量中总是为最大者。比较结束,输出的max值即 为10个整数的最大值。
2.5 字符型数据
2.5.1 字符常量
1.字符常量的定义 用一对单引号括起来的单个字符,称为字符常量。例如,'
A','6','+'等。 2.转义字符
C语言还允许使用一种特殊形式的字符常量,就是以反斜杠 “\”开头的转义字符,该形式将反斜杠后面的字符转变成另外的 意义,因而称为转义字符。
下一页 返回
第2章 数据类型、运算符与表达式
2.1 C语言的数据类型 2.2 标识符、常量和变量 2.3 整型数据 2.4 实型数据 2.5 字符型数据 2.6 算术运算与算术表达式 2.7 赋值运算与赋值表达式 2.8 自增、自减与逗号运算
2.1 C语言的数据类型
C语言提供有丰富的数据类型。其数据类型及其分类关系如 图2-1所示。
int i,max,a【10」; printf(”input 10 numbers:\n");
上一页 下一页 返回
6.1 一维数组
for(1=0;1<10;1++) scanf(”%d”,&a[i]);
max=a[0]; for(i=1;i<10;i++)
if(a[i]>max) max=a[i]; printf("maxnum=%d\n",max);
形பைடு நூலகம்输出。

第2章C语言数据类型

第2章C语言数据类型

}
例 main()
运行结果:
{ printf(“Y\b=\n”); 屏幕显示:=
}
打印机输出:¥
14
C语言教学幻灯片版第二章 数据描述
2.2 常量与变量
字符串常量(用双引号(“”)括起来的字符序列) 例 字符串“hello”在内存 h e l l o \0 注中意字符常量与字符串常量的区别:
(1)字符型常量用单引号括起来,而字符串常量用双引号括起来
变量定义
char ch1,ch2=‘D’;
total=num*PRICE; ch1=ch2-‘A’+‘a’;
输出结果
printf(“total=%f,ch1=%c\n”,total,ch1); } 运行结果: total=37.500000, ch1=d
17
C语言教学幻灯片版第二章 数据描述
2.3 运算符与表达式
有符号短整型: [signed] short [int]
无符号短整型: unsigned short [int]
有符号长整型: [signed] long [int]
无符号长整型: unsigned long [int]
5
C语言教学幻灯片版第二章 数据描述
2.1 基本数据类型
3、整型数据的取值范围
…...
分配指pr定in字tpf节r(i“的ndt内af(t存“ad=单a%元taf=\n%”,fd\nat”a,d);ata);
}}
内存
随机数
16
C语言教学幻灯片版第二章 数据描述
2.2 常量与变量
例2.1
#define PRICE 12.5
宏定义
main()
{ int num=3;

C语言程序设计 第2章 数据类型

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章 数据类型、运算符与表达式

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。

C语言基础知识二

C语言基础知识二

13
练习: 练习:判断变量名是否正确 B12, xyz-1, #a , Day _sum, abc_3, w>m , mn5 $gqw , 12mn, D.abc, _9_a_d
14
3.3 整型数据
整型常量的表示方法
(1)十进制整数。123,-25 ,0 )十进制整数。 ,
15
(2)八进制整数。 )八进制整数。 以数字0( 开头, 以数字 (零)开头,如:0137, 值 1× +3× +7× 为:1×82+3×81+7×80 = 95
{ int a,b,c,d; unsigned u; a=22; b= -8; u=15; c=a+u; d=b+u; printf(“a+u=%d,b+u=%d\n”,c,d); }
说明:两不同类型的数据可进行算术运算。 说明:两不同类型的数据可进行算术运算。
运行: 运行:a+u=37,b+u=7
(不特别说明,默认为signed) 不特别说明,默认为 )
23
三、整型变量的定义
变量使用前必须定义, 变量使用前必须定义,一般放在函 数开头的声明部分。 数开头的声明部分。 int a,b; long c ; unsigned short d,e,f;
24
例1. 整型变量的定义与使用
main( )
18
补码
一个正数的补码和其原码的形式相同。 一个正数的补码和其原码的形式相同。 负数的补码:将该数绝对值的二进制形式, 负数的补码:将该数绝对值的二进制形式, 按位取反再加1。 按位取反再加 。
例:求-10的补码 的补码
0000000000001010 1111111111110101 1111111111110110

第2章数据类型,运算符与表达式参考答案及解析

第2章数据类型,运算符与表达式参考答案及解析

参考答案及解析一、选择题1. 答案:C【解析】C语言的标识符命名规则为:①只能由字母、数值和下划线3种字符组成;②第一个字符必须是字母或下划线;③不能与C语言中的关键字或保留字相同。

2. 答案:C【解析】标识符命名规则:标识符必须由字母(a~z或A~Z)或下划线(_)开头;标识符的其他部分可以用字母、下划线或数字(0~9)组成;大小写字母表示不同意义,如cout和Cout 代表不同的标识符;在定义标识符时,虽然语法上允许用下划线开头,但是,我们最好避免定义用下划线开头的标识符,因为编译器常常定义一些下划线开头的标识符。

因此,本题正确答案为C)。

3. 答案:C【解析】C语言合法标识符的命名规则是:标识符只能由字母、数字和下划线组成,并且第一个字符必须为字母或下划线。

因为选项C)中的标识符的第一个字符为"&",所以选项C)为本题的正确答案。

4. 答案:A【解析】在C语言中,合法标识符的命名规则是:标识符可以由字母、数字和下划线3种字符组成,且第一个字符必须为字母或下划线。

C语言的标识符可以分为关键字、预定义标识符和用户标识符。

选项B)和C)中的横线以及点都不合法,选项D)中的case为C语言关键字,故本题答案为A)。

5. 答案:B【解析】C语言规定用户标识符由字母、数字和下划线组成,且第一个字符必须是字母或下划线,可见选项C),D)是错误的;此外,C语言不允许用户将关键字作为标识符,而选项A)中的void正是C语言的关键字。

6. 答案:C【解析】C语言规定的标识符只能由字母、数字和下划线3种字符组成,第一个字符必须为字母或下划线,并且不能使用C语言中的关键字作为标识符。

选项C)中goto和int是关键字,b-a中"-"不是组成标识符的3种字符之一;选项D)中int是关键字,所以,均是不合法用户标识符的选项是C)。

7. 答案:B【解析】合法的标识符是由字母、数字和下划线组成,并且第一个字符必须为字母或下划线,用户定义的标识符不能与关键字相同。

C语言 第2章 类型、运算符与表达式(2.4~2.7)

C语言 第2章 类型、运算符与表达式(2.4~2.7)
第二章
数据类型、运算符和表达式
主要内容
2.1 预备知识 2.2 常量和变量的概念 2.3 各种数据类型的常量及变量 2.4 变量赋初值 2.5 不同类型数据之间的混合运算 2.6 常用运算符和表达式 2.7 输入函数与输出函数
2
2.4.1 变量和内存的概念
变量: 程序运行过程中其值可以改变的量。 系统为程序中的每一个变量开辟存储单元。 变量名: 字母开头,后跟字母、数字和下划线组成。 C语言中的关键字不能作为变量名。
37
2.7.1
格式输出函数printf
printf函数一般格式: printf(格式控制,输出表列) 格式控制是由双引号括起来的字符串,包含三种信息: 1、格式说明:由“%”和格式字符组成,如%d,%f等。 它的作用是将输出的数据按照指定的格式输出。 2、普通字符:需要原样输出的字符。 3、转义字符:用于控制输出。 输出表列是一些要输出的数据。
27
2.5 数据的混合运算
1、自动转换
• 运算转换
• 赋值转换 2、强制类型转换
28
1、自动转换—运算转换

在进行运算时,不同类型的数据要先自动转换成 同一类型,然后进行运算。转换的规则按图所示。
double← float
long unsigned 转换由编译系统自动完成。 转换按数据长度增加的方向进行, 即按“向高看齐”的原则提升“ 较低”类型,以保证不降低精度。

33
2、强制类型转换
注意:对一个变量进行强制转换后,得到一个新的 类型的数据,但原来变量的类型不变。 例:x原为实型变量且值为2.6,在执行 i = (int)x 后得到一个整数 2,并把它赋给整型变量 i, 但 x 仍为实型,值为2.6。

第2章 C语言,数据类型、运算符和表达式

第2章  C语言,数据类型、运算符和表达式
运算符功能 对运算量(操作数)要求 运算符优先级别 结合方向 运算结果的取值 操作数个数 操作数类型 操作数形式(常量 or 变量) ( )
(C语言运算符总表见教材P26或P325附录C) return 31
C语言程序设计
算术运算符
+ - * / % 功能: 操作数要求: 结合性: 优先级: 注意事项: 算术运算 两个操作数 (当-用作负号时除外) 自左至右(当-用作负号时除外) -(负号) —— * / % —— + - (由高→低) ① 两个整数相除,结果为整数! 例: 3/2=1 ② %要求两个操作数均为整型数据! 且余数与被除数同号!
说明: ① 字符变量中存放的是字符ASCII码值! ② char与int数据间可进行算术运算!
char choice = 'A';
return24
C语言程序设计
字符串常量
字符常量是用双引号括起来的字符序列. 例如: "hello!" , "0" (1) 字符串常量在内存中的存储 (2) 字符串常量.vs.字符常量
整型
浮点型 字符型 说明:
① 数据类型所占字节数随机器硬件不同而不同! ② 可用sizeof(数据类型说明)来计算某一数据类型占内存的字节数! return
C语言程序设计 next part
2. 常量与变量
标识符命名 常量 变量
go go go
6
C语言程序设计
标识符命名
例: 判断下列标识符号合法性
next
ห้องสมุดไป่ตู้
20
C语言程序设计
字符常量
转义字符是用反斜杠\后面跟一个字符或一个八进制或十 六进制数表示的ASCⅡ码值。例如: '\n', '\101' (1) C语言中常用的转义字符 (2) 转义字符使用实例

C语言 数据类型、运算符与表达式

C语言  数据类型、运算符与表达式

C语言A
整型数据的溢出
#include <stdio.h> void main() { int a,b; a=32767; b=a+1; printf(“%d,%d\n”,a,b); } 运行结果:32767,-32768
说明:数值是以补码表 示的。一个整型变量 只能容纳-32768~ 32767范围内的数, 无法表示大于32767 或小于-32768的数。 遇此情况就发生‚溢 出‛。
运行结果:total=300
量赋值。 */
C语言A
a
变量名 变量值 存储单元
二、变量
3
变量代表内存中具有特定属性的一个存储单
元,它用来存放数据,这就是变量的值,在 程序运行期间,这些值是可以改变的。 变量名实际上是一个以一个名字对应代表一 个地址,在对程序编译连接时由编译系统给 每一个变量名分配对应的内存地址。从变量 中取值,实际上是通过变量名找到相应的内 存地址,从该存储单元中读取数据。
C语言A
标识符:用来标识变量名、符号常量名、函
数名、数组名、类型名、文件名的有效字符 序列。
符号常量:在C语言中,可以用一个标识符
来表示一个常量,称之为符号常量。
符号常量在使用之前必须先定义,其一
般形式为:
#define 标识符 常量
C语言A
习惯上符号常量的标识符用大写字母,
变量标识符用小写字母,以示区别。 符号常量与变量不同,它的值在其作用 域内不能改变,也不能再被赋值。 使用符号常量的好处是:

例如:求-10的补码。 15
10的原码: 取反:
0
0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0

C语言复习资料 第二章重点内容

C语言复习资料  第二章重点内容
阶符 阶码
11
2。 对上述已经定义的实型常量指数形式的说明:
(1)在此的digits是一位或多位十进制数字(0—9)组成。 (2)小数点之前是整数部分,之后是小数部分。 (3)小数点在没有小数时可以省略。如:3E+6 (4)指数部分用E或者e开头,幂指数可以为负,当没有符号时,视为正 指数,且其基数都为10。 (5)在不加说明的情况下,实型常量为正值,如果要表示负值,必须在 常量前使用负号。如:-2.5E-5 (6)字母E或e之前必须有数字,且E或e之后指数必须为整数。 如:e3,2.3e9.5,.e3等都是不合法的。
上述各类型整型变量占用的内存字节数随系统而异。在16位操作系 统中,一般用2字节表示一个int型变量,且long型(4字节)≥int型 (2字节)≥short型(2字节)。
2.占用内存字节数与值域
8
显然,不同类型的整型变量,其值域不同。占用内存字 节数为n的(有符号)整型变量,其值域为:-2n*8-1~(2n*8-11);无符号整型变量的值域为:0~(2n*8-1)。(同样适合于 各种不同的类型 ) 例如,PC机中的一个int型变量,其值域为-22*8-1~(22*8-11),即-32768~32767;一个unsigned型变量的值域为:0~ (22*8-1),即0~65535。 2.4.2 整型常量 1.三种表示形式 整型常量即整常数,在C语言中可用三种形式表示: (1)十进制。例如10、36。 (2)八进制(以数字0开头)。例如012。 (3)十六进制(以数字0+小写字母x开头)。例如0x36。
9
2.分类 (1)基本整型。在16位机中,用2字节存储,其数据范 围与int型变量一样。 (2)长整型(在数值后面加“L(l)”)。对超出基 本整型值域的整型常量,可使用长整型常量表示,其取值 范围可达-231-(231-1)。例如,123l、315L等。 3.类型匹配规则 类型匹配规则为:一个整型常量,可以赋给能容纳下其 值的整型变量。 例如,其值在-215--(215-1)的整型常量,可以赋 给int型变量和long int型变量;其值在-231--(231-1)的整 型常量,就只能赋给long int型变量。 注意:常量无unsigned型。但一个非负整型常量,只要 它的值不超过相应变量的值域(即取值范围),也可以赋 给unsigned型变量。

C语言教程第2章数据类型、运算符与表达式

C语言教程第2章数据类型、运算符与表达式
const float pi = 3.1425926;
常量只能在定义时赋值,然后不能再改变 其值 常数、 const常量、宏常量和枚举常量, 都可以用来表示一个永远不会改变的数
前者不建议直接使用,而用后三者代替
C语言大学实用教程
2.5 变 量
变量是在程序执行过程中可以改变、可以赋 值的量。
在程序中每一个变量都有一个名子即变量名, 程序对该变量访问(存入、读取)都是通过变 量名进行的。
运行结果: 1234567936.000000
1234567890.000000
}
C语言大学实用教程
2.6 常用运算符及表达式
算术运算符
+,-,*,/,%
加、减、乘、除、求余运算 四则混合运算中,先算乘除,后算加减, 按从左向右的顺序计算,左结合
#include <math.h>
常用的标准数学函数
C语言大学实用教程
#include <stdio.h> /*函数功能:计算两个整数相加之和 入口参数:整型数据a和b 返回值: 整型数a和b之和 */ int Add(int a, int b) { return (a + b); }
2.1 一个简单的C程序例子
/*主函数*/ ) { int x, y, sum = 0;
022、-037 010和10大小不一样 因为八进制并不常用,所以此种表示法比较少见
以“0x”或者“0X”开始的整型常数是十六进 制
A~F和a~f用来表示十进制的10~15
十六进制的形式比较常用,尤其在进行位一级的 控制的时候 0x12、-0x1F, -0x1f
C语言大学实用教程
2.4 常量
字符常量

C语言实验报告-实验二 数据类型、运算符和表达式

C语言实验报告-实验二  数据类型、运算符和表达式
k=273.16+c (绝对温度)
请编程序:当给出f时,求其相应摄氏温度和绝对温度。
测试数据:①f=34 f=100
答:①的程序为
#include <stdio.h>
main()
{
float f,c;
double k;
f=34;
c=5/9*(f-32);
k=273.16+c;
printf("c=%f,k=%lf\n",c,k);
x=r.cosθ
y=r.sinθ
测试数据:①r=10 θ=45° r=20 θ=90°
答:①的程序为
#include<stdio.h>
#include <math.h>
main()
{
float r,b,x,y;
r=10;
b=45;
x=r*cos(b/180*3.14);
y=r*sin(b/180*3.14);
答:该程序为
#include<stdio.h>
#define PI 3.14
main()
{
float r;
double s,c;
r=1.5;
s=PI*r*r;
c=2*PI*r;
printf("s=%.2lf,c=%.2lf",s,c);
}
(2)将华氏温度转换为摄氏温度和绝对温度的公式分别为:
(摄氏温度)
main( )
{int i=8,j=10,m=0,n=0;
m+=i++;n-=--j;
printf(“i=%d,j=%d,m=%d,n=%d\n”,i,j,m,n);

c语言-数据类型、运算符与表达式

c语言-数据类型、运算符与表达式

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语音基本数据类型、运算符和表达式

c语音基本数据类型、运算符和表达式


指数形式:(e或E之前必须有数字;指数必须为整

数)如12.3e3 ,123E2, 1.23e4 , e-5 , 1.2E-3.5


实型常量的类型

默认double型
运 算
在实型常量后加字母f或F,认为它是float 型





15
C
2.4 实型数据


第 实型变量(在VC 6.0中)
2 章

55..55%%22 ()

24
C

自增、自减运算符++ --

作用:使变量值加1或减1
第 2 章
种类: 前置 ++i, --i (先执行i+1或i-1,再使用i值)
后置 i++,i-- (先使用i值,再执行i+1或i-1)




例 j=3; k=++j;
//k=4,j=4

j=3; k=j++;
…...
int a=1, b=-3,c; 例:
int a=2,b,c=4;
型 运 算 符 及 表 达
例例12isnftlctao=daaset%tnm{uatbd=,ab;e1im{,innfa9cnl=t(;;ao/;t)/1iIainafl;altnle/=(o/,t)gUb1daa=;anatlt2,dbade;u;=afsit2nea;e;odf

2字节

…...
分p配ri指npt定fr(i字“nd节tfa(的t“a内d=a%存ta单f=\n元%”,fd\na”ta,d);ata);

C语言知识点:第2章 数据类型、运算符与表达式

C语言知识点:第2章 数据类型、运算符与表达式
C 语言程序设计知识点
主讲教师:杨剑
第 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 符号名 常量值 例: 计算圆的周长时

C语言程序设计实训教程第2章 数据类型、常量、变量、运算符与表达式

C语言程序设计实训教程第2章   数据类型、常量、变量、运算符与表达式

22
23
【例 2.8】 两个 char型数相加,结果为 char 型。( )[判断题,重庆市 2005年第 1次等级考 试] 答案:错 分析:结果是 int型。char型数据在运算前,先 无条件转换成 int型,再参与运算。
24
4)强制类型转换 【例 2.9】 若有 int k =5;float x=1.2;则表达 式( int)( x+ k)的值是( )。[单选题,重庆 市 2001年第 1次等级考试] A.5 B.6.2 C.7 D.6 答案:D
8
返回给定类型或表达式(运算结果)的字节数 (以 unsigned int的形式)。 强制转换运算符 把表达式的结果转变为所需的 类型。 (类型)表达式 运算过程中类型的转换 如图 2.1所示,横向表示无条件的转换,比如 在计算前,char型要先转换成 int再参与计算。 竖向表示操作符两边的操作数属于不同类型时, 精度低的向精度高的方向转换,然后再参与运算, 运算结果为转换后的类型。
9
赋值时类型转换 在赋值时,赋值号右边表达式 的值的类型自动转换为其左边变量的类型。 位运算符 位运算的操作数为整型或字符型。位 运算就是把整数的内部二进制形式按位进行运算。
图 2.1 C 语言类型转换示意图
10
①按位取反∽ 运算规则:
11
②位与(&) 运算规则:
12
③位或( |) 运算规则:
6ห้องสมุดไป่ตู้
运算符 分算术运算符、赋值运算符、关系运算 符、逻辑运算符、逗号运算符、自增和自减运算符、 条件运算符、位运算符等。 表达式 由运算符连接运算对象构成的式子。可 根据运算符的不同分类为算术表达式、赋值表达式、 关系表达式、逻辑表达式、逗号表达式、条件表达 式等。
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(1) 八进制整常数 八进制整常数 八进制整常数必须以0开头,即以 作为八进制数的前缀 作为八进制数的前缀。 八进制整常数必须以 开头,即以0作为八进制数的前缀。 开头 表示八进制数123, 等于十进制数83; 如0123表示八进制数 ,即(123)8 ,等于十进制数 ; 表示八进制数 -011表示八进制数 ,即(-11)8 ,等于十进制数 。 表示八进制数-11, 等于十进制数-9。 表示八进制数 • 以下各数是合法的八进制数: 以下各数是合法的八进制数: 015(十进制为 ,0101(十进制为 ,0177777(十进制为 十进制为13), 十进制为65), 十进制为 十进制为 十进制为 65535)。 。 • 以下各数不是合法的八进制数: 以下各数不是合法的八进制数: 256(无前缀 ,0382(包含了非八进制数码 。 无前缀0), 包含了非八进制数码8)。 无前缀 包含了非八进制数码
2. 整型变量
(1)整型变量的分类 整型变量的分类 整型变量可分为基本型、短整型、长整型、和无符号型四种。 整型变量可分为基本型、短整型、长整型、和无符号型四种。 个字节( ①基本型:类型说明符为int,在内存中占 个字节(在IBM PC上, 基本型:类型说明符为 ,在内存中占2个字节 上 下同),其取值为基本整常数 ),其取值为基本整常数。 下同),其取值为基本整常数。 短整型:类型说明符为short int或short。所占字节和取值范围 ② 短整型:类型说明符为 或 。 均与基本型相同。 均与基本型相同。 长整型:类型说明符为long int或long ,在内存中占 个字节, 在内存中占4个字节 个字节, ③ 长整型:类型说明符为 或 其取值为长整常数 长整常数。 其取值为长整常数。 无符号型:类型说明符为unsigned,存储单元中全部二进位 ④ 无符号型:类型说明符为 , (bit)用作存放数本身,而不包括符号。无符号型又可与上述 )用作存放数本身,而不包括符号。 三种类型匹配而构成: 三种类型匹配而构成: ——无符号基本型,类型说明符为unsigned int或unsigned。 无符号基本型,类型说明符为 或 。 无符号基本型 ——无符号短整型,类型说明符为 无符号短整型, 无符号短整型 类型说明符为unsigned short。 。 ——无符号长整型,类型说明符为 无符号长整型, 无符号长整型 类型说明符为unsigned long。 。
•长整数 长整数158L和基本整常数 和基本整常数158 在数值上并无区别。 在数值上并无区别。 长整数 和基本整常数 个字节存储空间 但 158L,分配 个字节存储空间; ,分配4个字节存储空间; 158, 只分配 个字节的存储空间。 的存储空间。 , 只分配2 个字节的存储空间 因此在运算和输出格式上要予以注意,避免出错。 因此在运算和输出格式上要予以注意,避免出错。 •无符号数也可用后缀表示,整型常数的无符号数的后缀 无符号数也可用后缀表示, 无符号数也可用后缀表示 U”或 u”。例如:358u、0x38Au、 为“U”或“u”。例如:358u、0x38Au、235Lu 均为无符 号数。 号数。 •前缀,后缀可同时使用以表示各种类型的数。如 前缀,后缀可同时使用以表示各种类型的数。 前缀 可同时使用以表示各种类型的数 0XA5Lu表示十六进制无符号长整数 ,其十进制为 表示十六进制无符号长整数A5,其十进制为165。 表示十六进制无符号长整数 。
(2) 十六进制整常数 十六进制整常数 十六进制整常数的前缀为0X或 。 十六进制整常数的前缀为 或0x。 表示十六进制数123, 等于十进制数291; 如0x123表示十六进制数 ,即(123)16 ,等于十进制数 表示十六进制数 ; -0x11表示十六进制数 ,即(-11)16 ,等于十进制数 。 表示十六进制数-11, 等于十进制数-17。 表示十六进制数 •以下各数是合法的十六进制整常数: 以下各数是合法的十六进制整常数: 以下各数是合法的十六进制整常数 0X2A(十进制为 ,0XA0 (十进制为 十进制为42), 十进制为160),0XFFFF (十进制 十进制为 十进制为 , 十进制 为65535)。 。 •以下各数不是合法的十六进制整常数: 以下各数不是合法的十六进制整常数: 以下各数不是合法的十六进制整常数 5A (无前缀 无前缀0X),0X3H (含有非十六进制数码 。 含有非十六进制数码)。 无前缀 , 含有非十六进制数码
#define PI
3.1416
使用符号常量的好处: 使用符号常量的好处: (1)含义清楚、见名知意。 )含义清楚、见名知意。 (2)修改方便、一改全改。 )修改方便、一改全改。 例2-1:符号常量应用 :
#define PI 3.14
main() { float area; area=10*10*PI; printf("area=%f\n",area); } 结果: 结果:area=314.000000
2.3 常量与变量
2.2.1 常量ቤተ መጻሕፍቲ ባይዱ
在程序的运行过程中,其值不能改变的量称为常量。 在程序的运行过程中,其值不能改变的量称为常量。 不能改变的量称为常量
注意: 注意:
1、常量有不同的类型,如12、0、-3为整型常量,4.6、 、常量有不同的类型, 为整型常量, 、 、 、 为整型常量 -1.23为实型常量, ’ a’、’ d’字符常量。 常量可以 为实型常量, 字符常量。 为实型常量 、 字符常量 从字面形式即可判断。 从字面形式即可判断。 2、符号常量 、
变量名:标识符 变量名 标识符 由英文字母、数字和下划线组成, 由英文字母、数字和下划线组成,大小写敏感 不可以是数字开头 不可以是数字开头 直观,见名知意, 直观,见名知意,便于记忆和阅读 最好使用英文单词或其组合 切忌汉语拼音 下划线和大小写通常用来增强可读性 variablename variable_name VariableName, variableName
2、C语言中变量:“先定义,后使用”。 、 语言中变量 语言中变量: 先定义,后使用” 即就是说, 要求对所有用到的变量做强制定义。 要求对所有用到的变量做强制定义 即就是说,C要求对所有用到的变量做强制定义。
1)只有申明过的变量才可以在程序中使用,这使得变量名的拼写错 )只有申明过的变量才可以在程序中使用,这使得变量名的拼写错 容易发现。 误容易发现。 例如, 例如,如果在定义部分写了 int count; 而在程序中错写成conut,如:conut=5; 而在程序中错写成 , 在编译时检查出conut未经定义,不作为变量名,因此输出“变量 未经定义, 在编译时检查出 未经定义 不作为变量名,因此输出“ conut未经说明”的信息,便于用户发现错误,避免变量名使用时 未经说明” 未经说明 的信息,便于用户发现错误, 出错。 出错。 2)申明的变量属于确定的类型,编译系统可方便地检查变量所进行 )申明的变量属于确定的类型, 运算的合法性。 运算的合法性。 3)在编译时根据变量类型可以为变量确定存储空间,“先定义后使 确定存储空间, )在编译时根据变量类型可以为变量确定存储空间 使程序效率高。 用”使程序效率高。
如果使用的数超过了上述范围, 数来表示。 如果使用的数超过了上述范围,就必须用长整型数来表示。 长整型数是用后缀“ 或 来表示的( 来表示的 注意,字母“ 的 长整型数是用后缀“L”或“l”来表示的(注意,字母“L”的 小写形式“ 与数字 与数字“ 看上去很相似 看上去很相似)。 小写形式“l”与数字“1”看上去很相似)。 例如: 例如: 十进制长整常数 158L (十进制为 十进制为158)、358000L (十进制为 十进制为358000)。 十进制为 、 十进制为 。 八进制长整常数 012L (十进制为 、0200000L (十进制为 十进制为10)、 十进制为65536)。 十进制为 十进制为 。 十进制为21)、 十六进制长整常数 0X15L (十进制为 、0XA5L (十进制 十进制为 十进制 十进制为65536)。 为165)、0X10000L (十进制为 、 十进制为 。
2.2 C的数据类型 C的数据类型
程序处理的对象是数据。 程序处理的对象是数据。 数据 数据以某种特定的形式存在(如整数、实数、 数据以某种特定的形式存在(如整数、实数、字 符) C语言中数据是有类型的, 数据的类型简称数据 语言中数据是有类型的, 语言中数据是有类型的 类型。 类型。 例如,整型数据、实型数据、整型数组类型、 例如,整型数据、实型数据、整型数组类型、字 符数组类型(字符串)分别代表我们常说的整数、 符数组类型(字符串)分别代表我们常说的整数、 实数、数列、字符串。 实数、数列、字符串。
(4) 整型常数的后缀 整型常数的 位字长的机器上, 的长度也为16位 在16位字长的机器上,基本整型的长度也为 位,因此表示 位字长的机器上 的数的范围也是有限定的。 的数的范围也是有限定的。 十进制无符号整常数的范围为 ~ 十进制无符号整常数的范围为0~65535, 无符号整常数的范围为 , 有符号数为-32768~+32767。 有符号数为 ~ 。 八进制无符号数的表示范围为 ~ 八进制无符号数的表示范围为0~0177777。 无符号数的表示范围为 。 十六进制无符号数的表示范围为 十六进制无符号数的表示范围为0X0~0XFFFF或0x0~ 制无符号数的表示范围为 ~ 或 ~ 0xFFFF。 。
2.4 整型数据、实型数据和字符型数据 整型数据、
2.4.1 整型数据 C语言中的整型数据包括整型常量和整型变量 语言中的整型数据包括整型常量和整型变量 1. 整型常量 整型常量就是整常数。 整型常量就是整常数。 语言中,使用的整常数有八进制、 在C语言中,使用的整常数有八进制、十六进制 和十进制三种,使用不同的前缀来相互区分。 前缀来相互区分 和十进制三种,使用不同的前缀来相互区分。除 了前缀外, 语言中还使用后缀来区分 语言中还使用后缀来区分不同长度 了前缀外,C语言中还使用后缀来区分不同长度 的整数。 的整数。
数据类型(Data Type) Type) 数据类型(
相关文档
最新文档