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

合集下载

C语言程序设计教案第3讲 数据类型、运算符与表达式

C语言程序设计教案第3讲 数据类型、运算符与表达式
12
<
>
2,实型变量的分类
说明: C并没有具体规定每种类型的长度 并没有具体规定每种类型的长度, 说明:ANSI C并没有具体规定每种类型的长度,精度和数值 范围.下面是常用的C 范围.下面是常用的C编译系统的情况 类 型 字节数 有效数字 最小取值范围 float 4 6~7 -3.4*10-38~ 3.4*1038 double 8 15~16 -1.7*10-308~ 1.7*10308 long double 16 18~19 -1.2*10-4932~1.2*104932
8
取反
<
>
2.
整型变量分类
基本类型: 基本类型:int 根据数值的范围分为: , 根据数值的范围分为:int,short,long , 根据有无符号(singed/unsigned)及范围可分: 及范围可分: 根据有无符号 及范围可分
类 型 举例: 举例: [signed] int unsigned [int] [signed] short [int] unsigned short [int] [signed] long [int] unsinged long [int]
C 数 据 类 型
构造类型 指针类型 空类型 void
定义类型 typedef
<
>
2
2.2 常量与变量
一,标识符
定义:用来标识变量名,符号常量名, 定义:用来标识变量名,符号常量名,函数 数组名,类型名, 名,数组名,类型名,文件名的有效字符序 列称为标识符.(即一个名字) .(即一个名字 列称为标识符.(即一个名字) 使用规则
32767,32767,-32768,8
<

c语言程序设计第三章运算符与表达式

c语言程序设计第三章运算符与表达式

第三章运算符和表达式3.1 运算符和表达式概述使用运算符可以对运算对象(包括常量和变量)进行计算以得到计算结果。

用运算符将运算对象连接成一个符合C语言语法规则的式称为表达式。

另外,C语言中的表达式是可以嵌套的,即简单表达式经过运算符连接后还可以形成更为复杂的表达式。

根据运算符所连接的运算对象(操作数)的个数,可以将C语言中的运算符分为三类:(1) 单目(一元)运算符:只连接一个操作数的运算符。

(2) 双目(二元)运算符:带有两个操作数的运算符。

(3) 三目(三元)运算符:同时对三个操作数进行计算的运算符。

C语言中的表达式可以分为三类:(1) 单个常量或者单个变量是最简单的表达式。

(2) 带有运算符的表达式。

(3) 函数调用。

任何一种运算都是将一定的运算符作用于一定的运算对象上,得到预期的运算结果。

所以运算对象、运算符和运算结果是运算的三大要素。

3.2 算术运算符和算术表达式一、基本算术运算符和简单算术表达式1. 基本算术运算符C语言为用户提供的基本算术运算符包括:+(加)、-(减)、*(乘),/(除)、%(求余),这些运算符都是双目运算符,也即在生成算术表达式的时,基本算术运算符左右两侧都必须出现运算对象。

2. 简单算术表达式当用基本算术运算符去连接常量或者变量时,就形成简单算术表达式。

简单算术表达式的基本形式:data1 op data2。

data1和data2表示某个常量或者变量,op代表上述5个基本算术运算符之一。

假设有变量定义:int a=20,b=-5;则a+b、a-b、a*-2、20/-b、20%6、a%b等都是简单算术表达式。

3. 基本算术运算符使用说明(1) +、-、*,/既可以连接整型数据,也可以连接实型数据。

当参与这4个运算符的运算对象都是整型数据时,得到整型数据运算结果;否则表示浮点运算。

例如,int a=15,b=2;则a*b等于30,而a/b等于7;a*2.0等于30.0,而a/2.0等于7.5。

C语言课件第三章

C语言课件第三章

三、 自增、自减运算符 ++ --
++、- -运算符的作用是使变量的值加1或减1
1)该运算符为单目运算符,其运算对象只能是 变量,不能为常量或者表达式。 例如: i++ 、x- - 都是正确的 5++ 、(x+y)++ 都是错误的
2)该运算符作前缀、后缀都可以 例如 i++、++i、i- - 、- -i 都是正确的
3)对变量而言 i++ 或者++i都相当于i=i+1 i- -或者- -i都相当于i=i-1
例如: main( ) { int i=3 , j=3; +i+++i; j---j;; printf (“%d, %d\n”, i, j ); }
运行结果:4,2
4)但如果作为表达式,前缀和后缀则不同: 后缀:先取值再运算(i++,先取i值,i再自加) 前缀:先运算再取值(++i,i先自加,再取i值)
2)强制类型转换运算符优先级高于算术运算符
float x=3.6; int y; y=(int)x%3+2;
x = ?3.6 y=?2
计算下列表达式的值 设 x=2.5, a=7,y=4.7
x+a%3 * (int)(7x7+.2y ) % 2 / 4
设 a=2,b=3,x=3.5,y=2.5
(float5).(0a+b )/2+(int3)(x)%(int2)(y)
例如: main() { int i=3; printf(“%d\n”+, +i+i+ ); printf(“%d”, i ); }

3 数据类型、运算符和表达式

3 数据类型、运算符和表达式

三、整型数据
3.1.整型常量 整型常量即整常数按不同的进制区分, 整型常量即整常数按不同的进制区分 , 整型常数 有三种表示方法: 有三种表示方法:
十进制数: 以非0 220, 560, 十进制数: 以非0开始的数 如:220, -560, 45900 八进制数: 06; 0106, 八进制数: 以0开始的数 如:06; 0106, 十六进制数: 十六进制数: 以0X或0x开始的数 如:0X0D, 0XFF, 0x4e
一般情况下,符号常量名用大写、变量用小写。 一般情况下,符号常量名用大写、变量用小写。
3、符号常量的声明和使用 一般放在程序的前端, <…>在一块: 一般放在程序的前端,与#include < >在一块: #define 符号常量名 值 如:#define Zero 0 好处: 好处: 含义清楚 (#define Second 60) (#define (#define 一改全改 (#define PI 3.14)
3. 整型变量的溢出
main(){ i,j; int i,j; unsigned k,l,m; k,l,m; i=32767 32767; i=32767; j=i+1 j=i+1; l=65535 65535u l=65535u; m=l+2 m=l+2; printf("j=%d\n",j); printf("j=% n",j); printf("l=% n",l); printf("l=%u\n",l); printf("m=% n",m); printf("m=%u\n",m); }
3.2、整型变量 整型变量的分类:加上不同的修饰符 1 . 整型变量的分类 : 加上不同的修饰 符 , 整型变 量有以下几种类型; 量有以下几种类型; C 语言标准没有规定整型变量在计算机内存中所 占的字节数,它与具体的机器和操作系统有关: 占的字节数,它与具体的机器和操作系统有关:

3 数据类型.运算符与表达式

3 数据类型.运算符与表达式
THE C PROGRAMMING LANGUAGE
C语言程序设计
第6页
符号常量
一般来说,下列两种情况用符号常量比较方便。 1)当某一常数在程序中多处出现时,可事先定义一个符 号常量。 2)有时,程序中的常数是有意义的,但写一个具体数字,程 序的阅读者则很难明白该常数的意义,此时可定义一个符 号常量。 例如: # define PI 3.1415926 注意:1)表示常量的标识符一般用大写 2)不能给符号常量赋值 PI=6; 错误 思考题:使用符号常量的好处? 含义清晰;一改全改
C语言程序设计
第14页
3.4 实型数据 3.4.1 实型常量
注意:1)没有unsigned和signed 之分。 2)实型常量没有单、双精度数之分;但可以赋给 一个float型或double型变量。赋值时要注意有效 数字位数。 float a; a=12345.6789 (只能接受前7位) 3)C编译系统将浮点型常量作为双精度来处理
C语言程序设计
第11页
3.3.2 整型变量
有三种整型变量(int、short int、long int): 但也可以将变量的类型定义为无符号(unsigned int) 1)有符号基本整型:signed int signed int 2)无符号基本整型:unsigned int 3)有符号短整型: signed short int signed int 4)无符号短整型: unsigned short int unsigned short 5)有符号长整型: signed long int signed long long 6)无符号长整型: unsigned long int unsigned long
THE C PROGRAMMING LANGUAGE

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

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

设x的值为4,则表达式y=(++x)+(++x)+(++x)后,y的值是(D)。

A.12B.18C.16D.21下列数据中,为字符的是(D)。

A.‘AB’B."A"C.HowD.‘A'以下符号中,合法的用户标识符是(D)。

A. -pB. intC. 3abD. _xt_以下实型常量中,符合C语言语法的是(A)。

A. .5E-3B. 1.2E0.5C. E15D. 3.14.159E若有说明和语句:int a=5,b=6;b*=a+1;则b的值为(D)A. 5B. 6C. 31D. 36设C 语言中,int 类型数据占4个字节,则short 类型数据占(C)。

A.1个字节B.2个字节C.4个字节D.8个字节若x=3.5,a=2,y=2.5,b=3则表达式(float)(a+b)/2+(int)x%(int)y的值是()。

A.1.5B.2.5C.3.5D.2以下选项中不属于C语言的类型的是(D)。

A.signed short intB.unsigned long intC.unsigned intD.long short关于C语言数据类型的叙述,正确的是(C)。

A. 整型不是基本类型B. 数组不是构造类型C. 变量必须先定义后使用D. 不允许使用空类型若a=12,则表达式a-=a的值为(A)。

A. 0B.12C.1D. 24若x=3.5,a=2,y=2.5,b=3则表达式(int)(a+b)/2+(int)x%(int)y的值是(D)。

A. 1.5B. 2.5C. 3D. 3.5若a是数值类型,则逻辑表达式(a==1)&&(a!=1)的值是(C)。

A.1B. 2C. 0D. 不知道a的值,不能确定若char x=97,则变量x对应(A)字符。

A. ‘a’B. ‘A’C. ‘9’D. ‘7’设C语言中,int类型数据占2个字节,则float类型数据占(C)字节。

C语言第3章(谭浩强)

C语言第3章(谭浩强)
17





void main( ) { int a,b,c,d; unsigned u; a=12;b=-24;u=10; c=a+u;d=b+u; printf(“a+u=%d,b+u=%d\n”,c,d); } 运行结果:a+u=22,b+u=-14 结论:不同类型的整型数据可以进行算 术运算。
位数 16
取值范围 -215-(215-1) -32768—+32767 -32768—+32767
Short [int] Long [int]
短整型 长整型
16 32
16 16 32
Unsinged int 无符号整型 Unsinged short [int] Unsinged long [int] 无符号短整 型 无符号长整 型
8


④大写字母与小写字母意义不同, 被认为是两个不同的字符。一般变 量名用小写字母表示。 注意:常量名常用大写、变量名常 用小写!
year Day a_12 _abcdef #123 .com $100 1999Y a=b 1_2_3 +abcedfghi ∏ -5 等
9

3、变量要先定义后使用


可以改为double型) void main( ) {float x;double y; x=123456.789;y=123456.789; printf(“%f, %f”,x,y);} 结果为: 123456.789062, 123456.789000
29
§3.5
字符型数据
一、字符常量 1、在C语言中字符型常量是用单引号括 起来的一个字符。 如:’a‟、’A‟、’3‟、’?‟、’ ’、 ’$‟等。 2、以‚\”开头的转义字符,如\n不代表 字母n,而是代表换行。

数据类型及运算

数据类型及运算
注意事项: 注意事项: (1) (1) 变量必须先定义后使用,标准C规定定义语句必须 变量必须先定义后使用,标准C规定定义语句必须 放在所有可执行语句之前; 放在所有可执行语句之前; (2) (2) 每个变量必须且只能被指定为一种类型; 每个变量必须且只能被指定为一种类型; (3) (3) 一般习惯上用小写字母表示变量名, 一般习惯上用小写字母表示变量名, 用大写字母 用大写字母 表示符号常量名,以示区别。(仅是习惯不是规定) 表示符号常量名,以示区别。(仅是习惯不是规定) 6 多个变量间 逗号分隔
内存中存储形式
负数的补码 =反码+1 =原码取反+1
内存中存储形式 10
A B
整型数据在内存中的存储形式
----以有符号 2 字节整型为例 32767(215-1)的 16位编码 原码:01111111 11111111 反码:01111111 11111111 补码:01111111 11111111 内存中存储形式 -32767(1-215)的 16位编码 原码:11111111 11111111 反码:10000000 00000000 补码:10000000 00000001 内存中存储形式
A B
空类型void 3
3.2~3.3(1) 常量与简单变量–以数值型为例
• 常量: 在程序运行中,其值不变的量,如: 23.7, - 67 等。 • 变量: 在程序运行过程中,其值可以改变的量, 在内存中占据一定的存储单元。
变量a 150 50
A B
4
一、两类常量
常数常量和符号常量 常数常量 如-10, 3.14 符号常量: 用标识符表示的常量。符号常量用 预处理(宏定义)命令定义在函数之外。 定义形式: A B

C语言第03章--数据类型和表达式

C语言第03章--数据类型和表达式
通常不被初始化的变量,其值为危险的随机数 通常不被初始化的变量,其值为危险的随机数
char int
ch = 'a'; i = 1;
17
变量的属性
例:
int sum=10; 类型
内存存放说明: 内存存放说明: 存放说明 变量名 1001 sum 10 变量值
存储单元的地址
二、 变量
命名规则 在C中变量名 函数名 文件名 数组名 等均称标识符 变量名, 函数名, 文件名, 数组名, 变量名 标识符 (identifier), 可由字母 数字 下划线 字母,数字 下划线组成,且第一个必 字母 数字和下划线 须为字母或下划线 字母或 字母 下划线,前8或32个有效。 注意: 字母大小写敏感; 注意 字母大小写敏感 不可用关键字; 不可用关键字 不可出现空格; 不可出现空格 见名知意; 见名知意 如: a1与A1为不同的变量名 如: int, for, if 等 如: stu 1, a 1等 如: sum, sort 等
e前必须有数 前必须有数 字,e后必须 后必须 有整数
合法:0.123、.123、123.0、123.、0.0 合法: 、 、 、 、 错误: 错误 - 2.0e2.5 e8
(3)字符常量 字符常量 —— 用单引号括起来的一个字符或转义字符 括起来的一个字符或转义字符 一个字符或转义字符. 例: ‘A’, ‘o’ , ‘1’, ‘#’, ‘a’ 等
float
必转
char, short long unsigned int 低
double 高
自动类型转换
34
例:
若:i 为 int , f为float ,d 为 double e 为long
字节数

第三章 数据类型运算符与表达式

第三章 数据类型运算符与表达式

三、变量
3、变量值的存储 变量被定义以后,系统在运行时会为该变量分配一个相 应大小的存储空间,称为存储单元。 给变量赋值后,该变量对应的存储单元中会存放该值, 这个值称为变量的值。 那么变量的值在变量的存储单元中是如何表示的呢? (1)整数是以补码的形式存放的。 (正数的补码是其本身,负数的补码为原码按位取反加1) 如:int a=2, b; b= -2; a 00000000 00000010 b 11111111 11111110
(一)算术运算符和算术表达式
表达式的值: 表达式运算得到的最终结果为表达式的值。 也就是整个式子代表的值 如a=5,b=2; a+b 7
(二)赋值运算符和赋值表达式
赋值运算符:= 格式:变量=表达式 如:int a,b; 下面都是正确的赋值表达式 a=5; b=3; a=2+3; a=a+2; b=a*a; 赋值运算为“从右向左”结合的。 如x=y=z=3 它等价于:x=(y=(z=3))
第三章 数据类型运算符与表达式
信息管理系
3.0、C语言中标识符的概念
• 在程序中,由程序设计者使用的名字成为标 识符。标识符用以标志区分不同的东西。它 可以用作函数的名字、变量、常量的名字, 以及文件的名字等等。
一、C语言中的标识符分类
• 用户标识符 • 关键字(语句标识及类型标识)(P375附录II) 例如:real,main,char,int,float,double, long,if,for,switch,default,break等。 • 预定义标识符(函数名字等) 例如:define,include,printf,scanf,sin等。
2的原码表示:00000000 00000010 -2的补码表示:11111111 11111101+1=11111111 11111110

计算机2级C语言题库第三章 数据类型、运算符与表达式

计算机2级C语言题库第三章 数据类型、运算符与表达式

第三章数据类型、运算符与表达式一单项选择题1.下面四个选项中,均不是c语言关键字的选项是()。

A) define IF Type B) getc char printfC) include scanf case D) while go pow3.下列四个选项中,均是C语言关键字的选项是()。

A) auto enum include B) switch typedef continueC) signed union scanf D) if struct type4.下面四个选项中,均是不合法的用户标识符的选项是()。

A) A P_0 do B) float la0 _AC) b-a goto int D) _123 temp int5.以下有4组用户标识符,其中合法的一组是()。

A) For -sub Case B) 4d DO SizeC) f2_G3 IF abc D) WORD void define7.下面四个选项中,均是合法整型常量的选项是()。

A) 160 -0xffff 011 B) -0xcdf 01a 0xeC) –01986 012 0668 D) -0x48a 2e5 0xe8.下面四个选项中,均是正确的八进制数或十六进制数的选项是()。

A) -10 0x8f -011 B) 0abc -017 0xcC) 010 -0x11 0xf1 D) 0a12 -0x123 -0xa9.设C语言中,一个int型数据在内存中占2个字节,则unsigned int型数据的取值范围为()。

A) 0~255 B) 0~32767 C) 0~65535 D) 0~2147483647 10.在C语言中,不正确的int类型的常数是()。

A)32768 B)0 C)037 D)0xAF13.下面四个选项中,均是合法的浮点数的选项是()。

A) +1e+1 5e-9.4 03e2 B) -.60 12e-4 -8e5C) 123e 1.2e-.4 +2e-1 D) -e3 .8e-4 5.e-015.以下选项中合法的字符常量是()。

第三章 数据类型、运算符及表达式§31 字符及标识符

第三章 数据类型、运算符及表达式§31 字符及标识符

2关系运算符
比较两个操作数的大小的运算符,称为关系运算符。 关系运算的表达式,称为关系表达式。 例如, 3+5 > 7-4 关系表达式也有它的值。 如: 8 > 3, 该关系成立,因此关系表达式的值为真, 反之, 其值为假。 在C语言中,用数值1表示真,用数0表示假。 如,7 == 2,关系表达式为假,其值为0。 关系运算符的种类和表达式如下:

*C 语言提供的长整数的表示方法可以用来扩大整数的取值 范围. – 例如, 41l, 037l, 0x1fL 字母后面的l 或 L ,表示该数是长常数., 上面三个数,分别是十进制、八进制、十六进制长整数。 一个在整数中放不下的普通整数也被作为长整数,
因此, 把其后紧跟有 l 或 L 的整数叫显式长整数. • 在16位字长的机器上,长整数的位数是 32 位 ( 增长一倍 )。 故长十进制整数取值范围为 -2147483648 到 2147483647。 (2)整型变量: • 基本整型 int 如: int x; • 长整型 long 如: long int y; 或 long y ; • 无符号 unsugend 如: unsigend int z; 或 unsigend z。
• 关键字
具有固定意义的标识符,用户不能用作为自己的标识符, 它们共有32个,除符号常量外都用小写字母表示,就其用途 分五类。 (1) 数据类型 int char float double short ... (2) 存储类型 extern static register auto typedef (3) 控制语句 if else for while do .... (4) 运算符 sizeof (5) 符号常量 EOF BOF .... *它们的含义后面将会络续提到。 * 用户定义的标识符,不能和关键字同名。

第3章_运算符和表达式

第3章_运算符和表达式

运行结果如下: k=3 f1=3.0 f2=3.75
【例题】编写程序,接收命令行输入的浮点数,
将此浮点数的整数部分输出。
import java.util.*; public class FloatDemo { public static void main(String args[]){ double d; Scanner reader=new Scanner(System.in); d=reader.nextDouble(); System.out.println(d+"的整数部分为"+(long)d); reader.close(); } }
赋值运算符还可以与算术运算符、逻辑运算符和位运算 符组合成复合赋值运算符,使用方法见表。
运算符 += 用例 x += y 等价于 x=x+y 运算符 &= 用例 x &= y 等价于 x=x&y
-= *= /=
%= >>>=
x- = y x*= y x /= y
x %= y x >>>= y
x=x-y x=x*y x=x/y
运算符和表达式
常用的运算符有哪些?
算术运算符:+、-、*、/、% 关系运算符:>、<、>=、<=、==、!= 逻辑运算符:&&、||、! 条件运算符:?:
运算符和表达式
1 运算符 对数据进行加工和处理称为运算,表示各种 运算的符号称为运算符,参与运算的数据称为 操作数。 根据操作数的个数,可以将运算符分为单 目、双目和多目运算符。单目运算符只对1个操 作数运算,双目运算符对2个操作数运算。 根据操作数和运算结果,运算符分为:算 术运算符、关系运算符、逻辑运算符、位运算 符。

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

C语言教程第3章  数据类型、运算符与表达式
#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); } 运行结果为 a+u=22,b+u=-14
注意以下几点:
(4) 一个整常量后面加一个字母u,认为 是unsigned int型,如12345u,在内存 中按unsigned int规定的方式存放(存储 单元中最高位不作为符号位,而用来存 储数据,见图2.4(b)。如果写成-12345u, 则先将-12345转换成其补码53191,然 后按无符号数存储。
int a; unsigned int b;
一个整数(以13为例)在存储单元中 的存储情况
3. 整型变量的定义
int a,b; (指定变量a、b为整型) unsigned short c,d; (指定变量c、d为无符号短整型) long e,f; (指定变量e、f为长整型)
例3.2整型变量的定义与使用。
字符型变量用来存放字符常量,请注 意只能放一个字符,不要以为在一个字符 变量中可以放一个字符串(包括若干字符)。 字符变量的定义形式如下: char c1,c2;
c1='a';c2='b';
3.5.3 字符数据在内存中的存储 形式及其使用方法
字符的相应的ASCII代码放到存储单元中
例3.6向字符变量赋予整数。
单精度 ( float 型 占4B) 双精度 ( double 型 占8B )

数据类型、运算符与表达式 习题三及参考答案

数据类型、运算符与表达式 习题三及参考答案

第三章习题参考答案一、单项选择题1、C语言中字符型(char)在内存中的形式存储是()。

A)源码 B)补码 C)反码D)ASCII码2、运算符有优先级,在C语言中关于运算符优先级的正确叙述是()。

A)逻辑运算符高于算术运算符,算术运算符高于关系运算符B)算术运算符高于关系运算符,关系运算符高于赋值运算符C)算术运算符高于逻辑运算符,关系运算符高于关系运算符D)关系运算符高于逻辑运算符,逻辑运算符高于算术运算符3、C语言并不是非常严格的缩放语言,在以下关于C语言的不严格的叙述中,错误的说法是()。

A)任何不同数据类型都不可以通用B)有些不同类型的变量可以在一个表达式中运算C)在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型D)同一个运算符号在不同的场合可以有不同的含义4、以下选项中属于C语言的数据类型是()。

A)复数型 B)逻辑型C)双精度型 D)集合型5、在C语言中,int、char和short三种类型数据所占的内存()。

A)均为2个字节 B)由用户自己定义C)由所用机器的字长决定 D)是任意的6、下列常数中不能作为C语言的数据类型是()。

A)0xa5 B)2.5e-2 C)3e2 D)05827、设int类型的数据长度为2字节,则unsigned int类型数据的取值范围是()。

A)0至255 B)0至65535 C)-256至255 D)-32768至327678、在C语言中,数字029是一个()。

A)八进制数 B)十六进制数 C)十进制D)非法数9、下列可以正确表示字符型常数的是()。

A)”a”B)'\t’ C)”\n” D)29710、以下错误的转义字符是()。

A)'\\’ B)'\'’ C)'\81’ D)'\0’11、C语言中整数-8在内存中的存储形式是()。

A)1111 1111 1111 1000 B)1000 0000 0000 0000C)0000 0000 0000 1000 D)1111 1111 1111 011112、已知 int i; float f; 正确的语句是()。

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

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

例如
➢字符常量‘a’占一个字节 ➢字符串常量"a" 占2个字节
‘a’ → “a” →
0110 0001 ……
0110 0001 0000 0000
(97)10
(97)10 (0)10
7.变量赋初值
变量赋初值
C语言允许定义变量时赋予初值。
➢int i = 6;
也可对某个变量赋初值:
➢int a, b, c = 6;
如: 0x16, 0x28
4.整型数据
整型变量
分类:
➢基本型 用“ int ”定义; ➢短整型 用“ short int ”或 “ short ”定义; ➢长整型 用“ long ”或 “ long int ”定义; ➢无符号型 用“ unsigned ”定义,不存放符号;
整型变量定义方式
➢基本整型:int a, b, c; ➢短整型 : short int 或 short a, b, c; ➢长整型: long int 或 long a, b, c; ➢无符号型:unsigned a, b; unsigned short a, b
10+‘a’+1.5–8765.1234 ‘b’
8.各种数值型数据间的混合运算
转换方法(自动转换)
double float

long
unsigned
低 int char, short
图中“ ” 表示必定转换。如'a' +' b',先转换为int,结果为 int。
既使是同一种类型也按" "转换。
对于“++”和“--”的使用要避免二义性
10.赋值运算符和赋值表达式

第三章 数据类型及其运算

第三章 数据类型及其运算

第三章 数据类型及其运算知识点提示1.C 的数据类型(基本类型、构造类型、指针类型、空类型)及其定义方法。

2.C 的运算符种类、运算优选级和结合性。

3.不同类型数据间的转换与运算。

4.C 表达式类型(赋值表达式、算术表达式、关系表达式、逻辑表达式、条件表达式、逗号表达式)和求值规则。

知识点一.C 的数据类型1.数据类型的概念数据类型在高级语言中的实质是为解决数据在程序中的表示(常量)、内存单元的分配(变量)及其加工的描述(算符和表达式)这三个基本问题。

在高级语言中,任何数据都是有类型的,即不同类型的数据有不同的存储属性及操作属性,将数据按其操作属性和存储属性进行分类,就是数据类型的概念。

2.C 的数据类型在C 语言中,数据类型分为基本类型、导出类型(构造类型)、空类型、指针类型。

基本类型有:整型、实型、字符型、枚举类型。

数据有常量与变量之分,它们分别属于这些类型。

3.常量在程序运行过程中,其值不发生变化的量,也就是在程序中直接给出的数据,在词法记号中属于文字。

常量分为字面常量(直接常量)和符号常量。

在C 语言中,符号常量是用无参数的宏定义实现的,即用标识符代表某一字面常量,其定义形式为:#define 标识符(宏名) 字面常量4.变量在程序运行过程中,其值可以改变的量。

变量实质在C 中是为解决不同类型数据在计算机中存储时内存单元的分配问题。

一个变量对应相应的内存单元,且变量有对应的变量名,变量名实际上是内存单元的符号地址。

将变量对应内存单元所存放的当前值,称为变量的值,对变量的访问是按地址进行的,即通过变量名找到相应内存单元的地址,对其存储单元进行读、写操作。

记住:变量的类型、变量名、变量的值是其三大基本属性。

5.整型数据·整型常量的表示方法十进制整数:如123,-456等。

八进制整数:以0为前导的八进制整数。

如0123、-03467,而0879非法。

十六进制数:以0x 为前导的十六进制整数。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第三章数据类型、运算符与表达式一、选择题1.以下选项中合法的c语言标识符是。

A) long B) _2Test C)3Dmax D)A.dat2.以下不能定义为C语言标识符的是。

A) scanf B) V oid C)int D)_3com_3.在以下各组标识符中,合法的c语言标识符是①;②;③。

①A)B0l B) table_l C) 0_t D) k%int t*.1 W10 point②A)Fast_ B) void C)pb1 D) <book>Fast+Big Abs fabs beep③A)xy_ B) longdouble C)*p D)CHAR变量l signed history Flaut4.在以下各组标识符中,合法的c语言标识是①;②。

①A)print B) i’am C)Pxg D)Cppoodb one-half line# powaBc 3pai His.age while②A)_maln B)If C)txt D)intenclude _max REAL k_2sln turbo 3COM _0015.以下不能定义为c语言标识符的是。

A)_1234_ B)2_int_ C)int_2_ D)_1_26.以下不能定义为c语言标识符的是。

A) Main B) _0 C)_int D)sizeof7.以下叙述中错误的是。

A) c语言的标识符允许使用保留字B) c语言的标识符应尽量做到“见其名知其意”c) c语言的标识符必须以字母或下划线开头D) c语言的标识符中,大、小写字母代表不同标识8.以下叙述中正确的是。

A) 可以把define和if定义为C语言标识符B) 可以把define定义为C语言标识符,但不能把if定义为c语言标识符C) 可以把if定义为c语言标识符,但不能把define定义为c语言标识符D) define和if都不能定义为c语言标识符9.下面不属于c语言保留字的是。

A) char B) while C)typedef D)look10.下面属于c语言保留字的是。

A) define B) include C)main D)enum11. 是c语言的数据类型说明保留字。

A) Float B) signed C)integer D)Char12.不合法的C语言字符常量是。

A) '\2' B) " " C) ' ' D) "\483"13.合法的c语言长整型常量是。

A) 5876 B) 0L C)2.0E10 D)(long)5876214.下列选项中,均是合法的c语言整型常量的是。

A) 160 B) -0xcdf C)-01 D) -0x48a-0xffff 0la 986,012 2e50011 0xe 0668 0x15.十进制数8的C语言八进制数常量是。

A) 10 B) 010 C)8 D) 0816.在C语言中,029是一个。

A) 八进制数B) 十六进制数C)十进制数D) 非法数17.以下选项中可作为c语言整数的是。

A) 10110B B) 0386 C)0xffaa D) x2a218.c语言中将-8赋值给无符号字符型,则它的内存数据形式为。

A) 11111000 B) 10001000 C) 00001000 D) 1111011119. 下列选项中,均是合法的c语言实型常量的是。

A) +1le+1 B) -.60 C) l 23e D)-e35e-9.4 12e-4 1.2e-.4 .8e-403e2 -8e5 +2e-l 5.e-020.以下选项中正确的c语言实型常量是。

A) 0 B) -10 C)1.9×102D)0.1921.以下选项中正确的c语言实型常量是。

A) 1.2e0.5 B) 3.14159E C).5E-3 D)E1522.以下选项中可作为c语言数值常量的是。

A) -80. B) -080 C)-8e1.0 D)-80.0e23.在c语言中,以下不合法的数值常量是。

A) 011 B) 1e1 C)8.0e0.5 D)00024. 是非法的c语言转义字符。

A) '\b' B) '\0xf' C) '\037' D) '\''25.下面转义字符中错误的是。

A) '\000' D) '\14' C) '\x111' D) '\2'26.下面转义字符中错误的是。

A) '\\' D) '\"' C) '\86' D) '\0'27.以下选项中不是c语言常量。

A) e-2 B) 012 C) "a" D) '\n'28.以下选项中不是合法c语言数据类型。

A) signed short int B) unsigned long intC) unsigned int D) long short29.设char a='\70';则变量a 。

A) 包含1个字符B) 包含2个字符c) 包含3个字符D)说明不合法30.对于char cx='\039';正确的判断是。

A) 不合法B) cx的值是'\03' c) cx的值为四个字符D) cx的值为三个字符31. 已知short x=0xabcde;则x的结果是。

A) 赋值非法B) 不确定C) abcd D) bcde32.下列变量定义及赋初值中,合法的是。

A) short _a=1-.1e-1; B) double b=1+5e2.5;C) long do=0xfdaL; D) float 2_and=l-e-3;33.假设某表达式中包含int,long,unsigned,char类型的数据,则表达式最后的运算结果是____________类型。

A) int B) long C) uns igned D) char34.在c语言中,要求参加运算的数必须是整数的运算符是。

A) /B) * C) %D) =35.下列运算符中,优先级最高的是。

A) ( ) B) %C)++ D) ,36.若int k=7, x=12;则值为3的表达式是。

A) x%=(k%=5) B) x%=(k-k%5) C) x%=k-k%5 D) (x%=k)-(k%=5)37.设有int x=11;则表达式(x++*1/3)的值是。

A) 3 B)4C) 11 D)1238.对于语句:f=(3.0,4.0,5.0),(2.0,1.0,0.0);的判断中,是正确的。

A) 语法错误B) f为5.0 C) f为0.0 D) f为2.039.设变量n为float类型,m为int型,则以下表达式能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算。

A) n=(n*100+0.5)/l00.0 B) m=n*100+0.5, n=m/100.0C) n=n*100+0.5/100.0 D) n=(n/100+0.5)*100.040.设以下变量均为int类型,则值不等于7的表达式是。

A) (x=y=6, x+y, x+1) B) (x=y=6, x+y, y+1)C) (x=6, x+1, y=6, x+y) D) (y=6, y+1, x=y, x+1)41.假定有变量定义:int k=6, x=12;则能使x、k值为5、6的表达式是。

A) x%=++k%l0 B) x%=k+k%5 C) x-=++k%5 D) x-=k++%542.在Turbo C 2.0中,若定义long a;则能给变量a赋值40000的正确语句是。

A) a=20000+20000; B) a=4000*10; C) a=30000+10000; D) a=4000L*10;43.设float m=4.0,n=4.0;使变量m值为10.0的表达式是。

A ) m-=n*2.5 B) m/=n+9 C) m*=n-6 D)m+=n+244.设int i=0,j=0;以下使变量i值为4的表达式是。

A) i=3, (j++)+i, i=j+1 B) j=i=(i=2)*2 C) i*=j%=(j=6)+(i=4) D)j+=i+=j+=245.若变量a为int类型,且其值为3,则执行表达式a+=a-=a*a后,a的值是。

A) -3 B) 9 C) -12 D) 646.表达式3.6-5/241.2+5%2的值是。

A) 4.3 B) 4.8 C) 3.3 D) 3.847.若已定义x和y为double类型,则表达式x=l, y=x+3/2的值是。

A) l B) 2 C) 2.0 D) 2.548.有以下程序段:int c1=1, c2=2, c3;c3=1/c2*c1;执行后c3的值是。

A) 0 B) 0.5 C) l D) 249.设int n=20, i=4; 则赋值运算n%=i+l执行后,n的值是。

A) 0 B) l C) 2 D) 350.有以下程序段:int m=3, n=4, x;x=-m++;x=x+8/++n;执行后x 的值是 。

A) 3 B) 5 C) -1 D) -251. sizeof(long)的值 。

A) 1 B) 2 C) 3 D)452.设char c=20;则sizeof (c)的结果是 。

A) 1 B) 12 C) l 20 D)2053.表达式x*=y+2还可以写为 。

A) x=x*y+2 B) x=2+y*x C) x=x*(y+2 ) D) x=y+2*x54.若变量已正确定义并贼值,下面符合c 语言语法的表达式是 。

A) a:=b+l B) a=b=c+2 C) int(18.5%3) D) a=a+7=c+b55.以下变量定义和赋初值错误的是 。

A) int n1=n2=l 0; B) char c=32;C) float f=3*100+2.2; D) double x=12.3E2;56.已定义ch 为字符型变量,以下赋值表达式中错误的是 。

A) ch='\' B) ch=62+3 C) ch=NULL D) ch='\xaa'57.已定义c 为字符型变量,以下赋值表达式中正确的是 。

A) c='97' B) c="97" C) c=97 D) c='\97'58.以下选项中,与k=n++完全等价的表达式是 。

A) k=n, n=n+1 B) n=n+1, k=n C) k=++n D) k+=n+l59.若有以下定义;int a=0; double b=1.25; char c='A';#define d 2则下面表达式中错误的是 。

相关文档
最新文档