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

合集下载

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语言第3章数据类型、运算符与表达式ppt课件

C语言第3章数据类型、运算符与表达式ppt课件
第三章
数据类型、运算符与表达式
1
主要内容
一、C的数据类型 二、常量与变量 三、基本数据类型 四、运算符与表达式
2
一、C的数据类型
(一) 什么是数据类型? (二) C语言的数据类型有哪些?
3
(一) 什么是数据类型?
对数据的描述
对操作的描述
数据结构+算法=程序
C语言中以 “数据类型”形式存在
4
所谓数据类型是按被定义变量的性质,表示形 式,占据存储空间的多少,构造特点来划分的。
int NUM=20; sum=PRICE*NUM;
11
符号常量优点
1、含义清楚。 2、在需要改变一个常量时,能够做到“一
改全改”
12
(二)变量
概念
变量代表内存中具有特定属性的一 个存储单元,它用来存放数据,也 就是变量的值。
13
(1)变量名。每个变量都有一个名字 ──变量名,代表一个地址。 (2)变量值。在程序运行过程中,变 量值存储在内存中。在程序中,通过 变量名来引用变量的值。
#include <stdio.h>
void main() {
int student,age; int if=adrress=1; float score=90;
stadent=2; Age=20; printf("%d %d %d %f",if,student,age,score); }
本程序中有 几处错误?
(5)标识符的有效长度随系统而异,如果超 长,则超长部分被舍弃。VC++6.0中规 定最大长度为247个字符。
23
请选出下列正确的标识符 M.D.John , 12%gf ,1add ,_ce36 ,age& 5thclass, lotus-1-2-3 , cd*ef , float,

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

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

基本数据类型 ●字符型
字符常量是用单引号括起来的一个字符。例如’ 字符常量是用单引号括起来的一个字符。例如’a’,’b’,’=’,’+’,’?’都是合 都是合 字符常量。 语言中,字符常量有以下特点: 法 字符常量。在C语言中,字符常量有以下特点: 1.字符常量只能用单引号括起来,不能用双引号或其它括号。 字符常量只能用单引号括起来, 字符常量只能用单引号括起来 不能用双引号或其它括号。 2.字符常量只能是单个字符,不能是字符串。 字符常量只能是单个字符, 字符常量只能是单个字符 不能是字符串。 3.字符可以是字符集中任意字符。但数字被定义为字符型之后就不能参 字符可以是字符集中任意字符。 字符可以是字符集中任意字符 与数值运算。 是字符常量, 与数值运算。如’5’和5 是不同的。’5’是字符常量,不能参与运算。 和 是不同的。 是字符常量 不能参与运算。 转义字符是一种特殊的字符常量。转义字符以反斜线“ 开头 开头, 转义字符是一种特殊的字符常量。转义字符以反斜线“\”开头,后跟一 是一种特殊的字符常量 个或几个字符。转义字符具有特定的含义,不同于字符原有的意义, 个或几个字符。转义字符具有特定的含义,不同于字符原有的意义,故称 转义”字符。 广义地讲, “转义”字符。 广义地讲,C语言字符集中的任何一个字符均可用转义字 符来表示。 正是为此而提出的。 符来表示。\ddd和\xhh正是为此而提出的。ddd和hh分别为八进制和十六 和 正是为此而提出的 和 分别为八进制和十六 进制的ASCII代码。如\101表示字母 A" ,\102表示字母 代码。 表示字母" 表示字母"B",\134表示反 进制的 代码 表示字母 表示字母 , 表示反 斜线, 表示换行等。 斜线,\XOA表示换行等。 表示换行等

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

第3章数据类型与表达式

第3章数据类型与表达式

//结果i=2;
•赋值语句可以连续进行。 例:a=b=c=0,根据右结合性,该表达式等价于: a=(b=(c=0))
36
2、复合赋值运算
•算术运算符“+ — * / %”和赋值运算符“=”结 合起来,形成复合赋值运算符。
+= :加赋值运算符; 如a+=3,等价于 a=a+3 -= :减赋值运算符; 如a-= b+ 3,等价于 a=a- (b+3) *=、/=、%= 与此类似
20
2)字符变量:char,占1个字节空间,只能存放 一个字符。 例如:char c1,c2; c2=‟a‟; 定义了字符型变量c1,c2,把’a‟存放到c2中 •存储特点: 在字符变量中实际上存储的是字符的ASCII码, 其存储形式与整数的存储形式相同。 字符数据与整型数据可相互赋值,直接运算。 例如: char c; c=97;相当于c=„a‟;
26
“%”是求余运算。a%b计算a除以b后的余数,也 是a模b的值。它要求两个运算对象必须是整型,其 结果也是整型量。 例:5%2结果为1 2%5结果为2 10%3.0 语法错误
27
2.算术表达式
• 用算术运算符和括号将运算对象(操作 数)连接起来的、符合C语法规则的式子。 如:1+3.5*2-10 (x+y)*3-6+‟a‟ • 表达式的值
long [int]
unsigned [int]
unsigned short[int]
4
4 2 4
unsigned long[int]
说明:数据类型所占字节数编译系统的不同而不同,上表以 Visual C++6.0为例 12
整型变量举例:

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

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

字符型
字符型数据类型用于 存储单个字符。
字符型数据类型可以 用单引号或双引号括 起来表示一个字符常 量。
在大多数编程语言中, 字符型数据类型通常 用一个字节来表示。
布尔型
布尔型数据类型用于存储逻辑值, 即真(true)或假(false)。
布尔型数据类型通常用于条件判 断、逻辑运算等场合。
在大多数编程语言中,布尔型数 据类型通常占用一个字节的空间。
数据类型、运算符和表达式
目录
• 数据类型 • 运算符 • 表达式
01 数据类型
整型
01
02
03
04
整型数据类型用于存储整数, 包括正整数、负整数和零。
常见的整型数据类型有:int (整数)、short(短整数)、
long(长整数)、byte(字 节)。
整型数据类型根据其表示范围 可以分为有符号和无符号两种
算术表达式是由算术运算符和 操作数组成的。常见的算术运 算符包括加法、减法、乘法和 除法。
算术表达式的计算顺序遵循先 乘除后加减的原则,同时需要 注意括号内的运算优先级最高。
算术表达式可以包含多个操作 数和运算符,例如:`(a + b) * c - d / e`。
赋值表达式
赋值表达式用于将一个值赋给一 个变量。赋值运算符为“=”。
THANKS FOR WATCHING
感谢您的观看
赋值表达式的一般形式为“变量 = 表达式”,例如:`x = a + b`。
在赋值表达式中,变量必须是已 经声明过的,否则会导致编译错
误。
条件表达式
条件表达式也称为三元运算符,其格 式为“条件 ? 值1 : 值2”。
条件表达式常用于简化复杂的if-else 语句,例如:`max = (a > b) ? a : b`。

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.1数据类型短整型(short int)整形基本整型(int)长整型(long int)字符型(char)单精度类型(float)基本整型浮点型双精度类型(double)长双精度型(long double)枚举类型(enum)数据类型数组类型构造类型结构类型(struct)共用体类型(union)指针类型(*)空类型(void)1.2 常量与变量1.2.1常量和符号常量1)在程序运行中,其只不能被改变的量称为常量P38常量类型注:P38 用define定义的常量不能再被赋值。

2)变量:变量名为门牌号,变量值为家庭成员。

注:标识符只能由字母、数字、下划线组成。

并且第一个字符不能为数字。

区分大小写。

(先定义,后使用;可读性强悍)P39 ansic 一段了解一下即可。

1.3 整形数据1.3.1整型常量的表达方法1)十进制整数:123,--4556.42)八进制整数:以0开头的,八进制数字0123=十进制0×83+1×82+2×81+3×80=83 3)十六进制整数:以0X开头的,转化方法同八进制。

1.3.2 整型变量1)了解补码的知识(整数不变,负数按位取反再加1)注:存贮单元中,最左端的符号位,0正1负。

2)根据数值的范围分为int,long,short。

P41Int的范围—215 ~~(215 —1)= 32768~~—32767Unsigned无符号, 没有0正1负的书法了,范围扩大一倍。

Signed 有符号,有0正1负的说法。

什么也不加默认为signed。

3)整形变量定义:“强制类型定义”P43使用方法。

4)数据的溢出:(循环)1.3.3整型常量的类型(了解一下,重点(4)(5)条)1.4浮点数据1.4.1 浮点型常量的表达方法1) 十进制(平常数学中该怎么写就怎么写)2)指数形式123e3,123E3 表示123×103注意:1,E不区分大小写。

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类型处理。

第3章-基本数据类型、运算符和表达式

第3章-基本数据类型、运算符和表达式
整型常量
问题:
0123 = (
)10
0x123 = (
)10
0Xff = (
)10
形式
表示方式
举例
十进制整数 由数字0~9和正负号表示 123,-456,0
八进制整数
由数字0开头,后跟数字0~7 表示
十六进制整数 由0x开头,后跟
0~9,a~f,A~F表示
0123,011 0x123,0Xff
整型常量的类型

(signed) long

unsigned int
无 unsigned short
unsigned long
实 有 float 型 有 double
字有
符 型

char unsigned char
说明:数据类型 所占字节数随机 器硬件不同而不 同,上表以IBM 所占位P数C机为例 数的表示范围
16
#define PRICE 30
main()
{
int num,total; num=10;
运行结果:total=300
total=num*PRICE;
printf("total=%d",total);
}
变量
其值可以改变的量称为变量 变量也可以为任意数据类型 变量定义的一般格式
数据类型 变量1[,变量2,…,变量n];
组讨成论::判断下列标识符号合法性
su•m只能S由um字母M、.D数.J字oh、n 下划d线ay组成D,ate且第3一day个s 字母必 须是字母或下划线
stu•d大en小t_n写am敏e感#33 lotus_1_2_3 char a>b ab•ov不e 能使$1用23关_键toD字ay

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

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

2021/5/8
11
#include <stdio.h> void main() {double r=3.67,c,s,v;
c=23.059290 s=42.313797 v=155.291633
c= 2 * 3.1415926 *r;
有错
s= 3.1415926 * r*r ; v= 4/3 * 3.1415926 * r*r*r ; 4.0/3.0
第3章 数据类型、运算符、表达式
2021/5/8
算机中是怎样存储的 3.2 整型数据的运算与分析 3.3 实型数据的运算与分析 3.4 字符型数据的运算 3.5 变量赋初值 3.6 各类数值型数据之间的混合运算 3.7 算术运算符和算术表达式 3.8赋值运算符和赋值表达式 3.9逗号运算符和逗号表达式 3.10 编程的一般规范
常量包括:
1.直接常量(字面常量) 整形常量,实型常量,字符常量
2.符号常量:用标识符代表一个常量 定义形式为: #define 标识符 常量
2021/5/8
10
符号常量的作用
例:求以r为半径的圆周长c和圆面积s,再求以r 为半径的圆球体积v。
c2r
s r2 v 4 r3
3
c=2*3.1415926*r; s=3.1415926*r*r; v=4/3*3.1415926*r*r*r;
2021/5/8
5
3.1.1 数据是以二进制形式存储的
十进制数 0 1 2 3 4 5
二进制数 0 1 10 11
100 101
十进制数 6 7 8 9 10
二进制数 110 111 1000 1001 1010
1 0 1 2 1 3 0 0 2 2 1 2 1 0 2 0

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

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

第3章数据类型、运算符和表达式1 数据类型数据既是程序加⼯和处理的对象,也是程序加⼯和处理的结果。

1、基本类型包括整型、实型(⼜称浮点型)、字符型和枚举型四种。

2、构造类型是由基本数据类型按⼀定规则组合⽽成的复杂数据类型,包括数组型、结构体类型和共⽤体类型。

3、指针类型是⼀种更加灵活的数据类型,⽤来表⽰内存地址。

4、空类型是从语法完整性⾓度给出的数据类型,表⽰不需要数据值,因⽽没有类型。

2 常量常量⼜称为常数,是在程序运⾏过程中其值不能改变的数据。

2.1 整型常量整型常量通常称为整数,不带有⼩数部分,包括正整数、负整数和0。

C语⾔中,整型常量有三种书写形式:1、⼋进制整型常量,必须以0开头,即以0作为⼋进制整数的前缀,是由数字0~7组成的数字串。

2、⼗进制整型常量,即通常的整数,没有前缀,是由数字0~9组成的数字串,是C语⾔中⽤的最多的⼀种形式。

3、⼗六进制整型常量,必须以0X或0x开头,即以0X或0x作为⼗六进制整数的前缀,是由字符0~9、a~f或A~F组成的字符串。

2.2 实型常量实型常量⼜称为浮点型常量或实数,实型常量只使⽤⼗进制。

C语⾔的实型常量有两种书写形式:1、⼗进制⼩数形式,由整数部分、⼩数点和⼩数部分组成,其中⼩数点必须有,整数部分和⼩数部分可以省略其中⼀个,正、负通过前⾯的"+"(可以省略)和"-"区分。

2、指数形式(⽤E或e表⽰),由尾数部分、阶码标志(⼩写字母e或⼤写字母E)和指数部分组成,其⼀般形式为aEb或aeb,其中尾数部分a的位数决定了数值的精度,指数部分b的位数决定了可表⽰的数值范围。

a和b均有正负之分,且b必须为整数。

2.3 字符常量字符常量包括普通字符常量和转义字符常量两种。

普通字符常量是⽤⼀对单引号括起来的单个字符,例如'a'、'?'均为普通字符常量。

C语⾔还允许使⽤⼀种特殊形式的字符常量,即以反斜杠"\"开头的转义字符,它只代表某⼀特定的ASCII码字符。

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

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

被乘数
乘数 ×)
+) 积
110011 1011
110011 110011 000000 110011 1000110001
2021/3/1
18
二进制除法
二进制除法的运算过程类似于十进制除法的运算过 程。
例4: 求 100100B÷101B。
解:
000111
101 100100
101
1000
101
110
八进制 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17
十六进制 0 1 2 3 4 5 6 7 8 9 A B C D E F14
二进制数的运算
二进制数的算术运算(加、减、乘、除)
1 位二进制数算术运算 多位二进制数算术运算
二进制数的逻辑运算
AND OR NOT
[ |-5| ]原=00000101 [[ |-5| ]原]反=11111010 [[ |-5| ]原]反+1=11111011
2021/3/1
31
反码
反码
一个正数的反码,等于该数的原码; 一个负数的反码,等于该负数绝对值的原码按位
求反(即0变1,1变0) 零的反码:[+0]反=000…00
101
1
2021/3/1
19
二进制数的逻辑运算 1.“与”运算(AND) “与”运算又称逻辑乘,运算符为·或∧。“与”运算的
规则如下: 0·0=0 0·1=1·0=0 1·1=1 例5: 若二进制数X=10101111B,Y=01011110B,求
X·Y。 10101111
∧ 01011110 00001110
2021/3/1
7

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

03数据类型、运算符与表达式
运行结果:
x=3.600000,i=3
自增、自减运算符
+ + 自增1 – – 自减1 ❖ ++i(--i)在使用i之前,先使i的值加(减)1 ❖ i++(i--)在使用i之后,使i的值加(减)1
举例
❖ 如: int i = 3; ❖ 若: j= ++i; ❖ 若: j=i++;
则: j=4,i=4(i=i+1;j=i) 则: j=3,i=4(j=i;i=i+1)
\ddd • 表示ASCII码字符 三位八进制
如 \ 101 –– 表示字母A \ x hh 十六进制ASCII 字符 \ x 41–– 表示字母A
举例5
❖ #include <stdio.h> ❖ void main() ❖ { printf(“ ab c\t de\rf\tg\n”); ❖ printf(“h\ti\b\bj k”); ❖}
– 指数形式:对于较大或较小的数,可用指数形 式
– 如:123e3或123E3都表示123×103 ,‘ E ’, ‘e ’ 均可.
• E前必须有数字,后面的指数为整数 • e9,3.5e2.1,e,.e3:非法 • 规范化的指数表示方法
(2)浮点型变量
❖ 浮点型数据在内存中的存放形式:指数
❖ ?整型数据在内存中的存放形式?
❖ 如:10+'a'+1.5–8765.1234 'b‘

——允许的。
❖ 但有一个规则:先转换成同一类型,再计算。
转换规则
转换规则: double float

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

3 数据类型、运算符与表达式
一、单项选择题
1、以下选项中,不正确的 C 语言浮点型常量是(C )。

A. 160.
B. 0.12
C. 2e4.2
D. 0.0
2、以下选项中,( D )是不正确的 C 语言字符型常量。

A. 'a'
B. '\x41'
C. '\101'
D. "a"
3、 在 C 语言中,字符型数据在计算机内存中,以字符的( C )形式存储。

A.原码
B.反码
C. ASCII 码
D. BCD 码
4、若x 、i 、j 和k 都是int 型变量,则计算下面表达式后,x 的值是( C )。

x=(i=4,j=16,k=32)
A. 4
B. 16
C.32
D.52
5、算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为( B )。

A. 算术运算、赋值运算、关系运算
B. 算术运算、关系运算、赋值运算
C. 关系运算、赋值运算、算术运算
D. 关系运算、算术运算、赋值运算
6、若有代数式bc ae
3 ,则不正确的C 语言表达式是(C )。

A.a/b/c*e*3
B. 3*a*e/b/c
C.3*a*e/b*c
D. a*e/c/b*3
7、表达式!x||a==b 等效于( D )。

A. !((x||a)==b)
B. !(x||y)==b
C. !(x||(a==b))
D. (!x)||(a==b)
8、设整型变量 m,n,a,b,c,d 均为1,执行 (m=a>b)&&(n=c>d)后, m,n 的值是( B )。

A. 0,0
B. 0,1
C. 1,0
D. 1,1
9、 设有语句 int a=3;,则执行了语句 a+=a-=a*=a;后,变量 a 的值是( B )。

A. 3
B. 0
C. 9
D. -12
10、在以下一组运算符中,优先级最低的运算符是( D )。

A. *
B. !=
C. +
D. =
11、设整型变量 i 值为2,表达式(++i)+(++i)+(++i)的结果是( B )。

A. 6
B. 12
C. 15
D. 表达式出错
12、若已定义 x 和 y 为double 类型,则表达式 x=1,y=x+3/2 的值是( C )。

A. 1
B. 2
C. 2.0
D. 2.5
13、sizeof (double)的结果值是( A )。

A. 8
B. 4
C. 2
D. 出错
14、设a=1,b=2,c=3,d=4,则表达式:a<b? a : c<d? a : d 的结果为( D )。

A. 4
B. 3
C. 2
D. 1
15、设a 为整型变量,不能正确表达数学关系:10<a<15的 C 语言表达式是( A )。

A. 10<a<15
B. a= =11|| a= =12 || a= =13 || a= =14
C. a>10 && a<15
D. !(a<=10) && !(a>=15)
16、设 f是实型变量,下列表达式中不是逗号表达式的是( D )。

A. f= 3.2, 1.0
B. f>0, f<10
C. f=2.0, f>0
D. f=(3.2, 1.0)
17、表达式18/4*sqrt(4.0)/8值的数据类型是( C )。

A. int
B. float
C. double
D. 不确定
18、已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句C2=’A’+’6’-‘3’;后c2中的值是( A )。

A. D
B. 68
C. 不确定的值
D. C
19、以下用户标识符中,合法的是( B )。

A. int
B. nit
C. 123
D. a+b
20、C 语言中,要求运算对象只能为整数的运算符是( A )。

A. %
B. /
C. >
D. *
21、若有说明语句:char c='\72';则变量c在内存占用的字节数是( A )。

A. 1
B. 2
C. 3
D. 4
22、字符串"ABC"在内存占用的字节数是( B )。

A. 3
B. 4
C. 6
D. 8
23、要为字符型变量 a赋初值,下列语句中哪一个是正确的( B )。

A. char a="3";
B. char a=’3’;
C. char a=%;
D. char a=*;
24、下列不正确的转义字符是( C )。

A. \\
B. \'
C. 074
D. \0
二、填空题
1、C 语言中的逻辑值“真”是用 1 表示的,逻辑值“假”是用 0 表示的。

2、若x和n都是int型变量,且x的初值为12,n的初值为5,则计算表达式x%=(n%=2)后x的值为 0 。

3、设 c='w',a=1,b=2,d=-5, 则表达式 'x'+1>c, 'y'!=c+2, -a-5*b<=d+1, b==a=2的值分别为 1 、 0 、 1 、 1 。

4、设 float x=2.5,y=4.7; int a=7;,表达式 x+a%3*(int)(x+y)%2/4的值为 2.5 。

5、判断变量 a、b 的值均不为 0 的逻辑表达式为 1 。

6、求解赋值表达式 a=(b=10)%(c=6),表达式值 4 、a、b、c 的值依次为 1 0 6 。

7、求解逗号表达式 x=a=3,6*a 后,表达式值18 、x、a 的值依次为 3 3 。

8、数学式a/(b*c)的 C 语言表达式 a/(b*c) 。

三、判断题
()1、C语言中,非0值作为true,0作为false;若表达式取得true值时,结果为1,取得false值时,为0。

()2、为了确保表达式n/2的值为float型,可写成float(n/2)。

()3、若有(float)x,则x变成float型变量。

()4、若a=3,b=4,c=5,则d=!(a%b)的值是0。

()5、a是实型变量,进行赋值a=10,因此实型变量中允许存放整型值
()6、在赋值表达式中,赋值号左边既可以是变量也可以是任意表达式
()7、执行表达式a=b后,在内存中a和b存储单元中的原值都将被改变,a的值已由原来的改变为b的值,b的值由原来改变为0
()8、有a=3,b=5。

执行a=b,b=a后,使a的值为5,b的值为3。

()9、 getchar( )和scanf()均为输入函数,它们之间可通用,没有任何区别。

()10、执行语句scanf("%6.3f" ,&a)后,输入123456可使a的值为123.456 。

()11、 putchar()函数的作用是输出一串字符。

()12、使用scanf()函数,在输入数据时,若遇非法输入则认为该数据输入结束。

()13、在C中所用的变量必须先定义后使用。

()14、在 C 程序中,运算符%仅能用于整型数的运算。

()15、APH与aph 分别表示不同的变量。

()16、设x和y都是int型变量,则以下语句:x+=y;y=x-y;x-=y;的功能是交换x和y 的值。

()17、设a=5,b=6,c=7,d=8,m=2,n=2,执行(m=a>b)&&(n=c>d)后n的值为0。

()18、C语言中无逻辑变量,也无逻辑表达式。

四、编程题:
1、设长方形的高为 1.5,宽为 2.3,编程求该长方形的周长和面积。

#include <stdio.h>
int main()
{
float a=1.5,b=2.3,l,s;
l=2*(a+b);
s=a*b;
printf("l=%f,s= %f\n",l,s);
}
2、编写一个程序,将大写字母 A转换为小写字母 a。

#include <stdio.h>
int main()
{
char ch;
printf("Please input A~Z: ");
scanf("%c", &ch);
if(ch >= 'A' && ch <= 'Z')
printf("%c\n", ch+32);
else
printf("Please input A~Z\n");
return 0;
}。

相关文档
最新文档