C++习题第02章 基本数据类型、运算符与表达式

合集下载

第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语言引入了“转义字符”。

C语言程序设计 第二章 基本数据类型、运算符及表达式

C语言程序设计 第二章 基本数据类型、运算符及表达式

一、选择题1、C语言中的数据的基本类型包括()A、整型、实型、字符型和逻辑型B、整型、实型、字符型和结构体C、整型、实型、字符型和枚举型D、整型、实型、字符型和指针型2、在C语言中,不合法的int型常量是()A、32767B、0678C、0XABCD、32768L3、在C语言中,运算对象必须是整型数的运算符是()A、%B、\C、%和\ D、**4、若已定义X和Y为double型,则表达式:x=1,y=x+3/2的值是()A、1B、2C、2.0D、2.55、若t为double类型,表达式t=1,t+5,t++的值就是()A、1B、6.0C、2.0 D、 1.06、若有定义:int a=10,b=9,c=8;执行下面两条语句c=(a-=(b-5));c=(a%11)+(b=3);后,变量b的值为()A、9B、4C、3D、27、设int a=12,则执行完语句a+=a-=a*a后,a的值是_____A、22B、264C、144 D、 -2648、以下结果为整数的表达式(设有int i;char c;float f;)( ).A.i十f B.i*c C.c十f D.i十c十f9、以下不正确的语句(设有int p,q)是( )。

A.P*=3; B.p/=q; C.p十=3; D.p&&=q;10、以下使i的运算结果为4的表达式是( )。

A.int i=0,j=0; (i=3,(j十十)十i);B.int i=1,j=0; j=i=((i=3)*2);C.int i=0,j=1; (j==1)?(i=1);(i=3);D.int i=1,j=1; i+=j十=2;11、下列四组选项中,均不是C语言关键字的选项是( ).A)define B)getc C)include D)whilei f char sanf gotype printf case pow12、设char ch;以下正确的赋值语句是(B).A.ch='123'; B.ch=\xff'; C.ch='\08’; D.ch="\”;13、下面四个选项中,均是合法整形常量的选项是( ).A)160 B)-0xcdf C)-01 D)-0x48a-0xffff 01a 986,012 2e5011 0xe 0668 0x14、设n=10,i=4、则赋值运算n%=i+1执行后,n的值是( ).A.0 B.3 C.2 D.115、下面四个选项中,均是不合法浮点数的选项是( ).A)160. B)123 C)-.18 D)-e30.12 2e4.2 123e4 0.234e3 .e5 0.0 1e316、下面四个选项中,均是合法浮点数的选项是( ).A)+1e+1 B)-.60 C)123e D)-e35e-9.4 12e-4 12e-.4 .8e-403e2 -8e5 +2e-1 5.e-017、逗号表达式(a=3*5,a*4),a十15的值为( ),a的值为( )。

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

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

2、算术表达式 结合性是指同级运算时运算符的结合方向。 用算术运算符和括符将操作数连接起来的式子。 如 a#b#c 优先级: (#代表某一运算符) 若先运算a#b,再将其结果与c运算, ( ) * / % +
称为左结合性;从左至右运算规则 结合性
若先运算b#c,再将a与其结果运算, 自左向右,与数学上一致。 则称右结合性。从右至左运算规则 表达式的值: 数值型: int、long、unsigned、double
(3) 对于括号内的自增运算,又要先使用i, 再使i增加1。
运算结果: i的值为3,j的值为-2。
二、关系运算符和关系表达式
1、关系运算符
关系运算:比较运算,比较两个操 作数,看是否满足给定的关系。 <:小于 ,5<3, 3<5
<=:小于等于,5<=3,3<=5,与数学上(≤)不同
>:大于,5>3,3>5 >=:大于等于,5 >=3,3 >=5 ,与数学上(≥)不同 ==:等于,5==3 ,与数学上(=)不同
C H I N A \0
最后一个字符'\0'是系统自动加上的,它占用6字节而非 5字节内存空间。 综上所述,字符常量'A'与字符串常量"A"是两回事: (a)定界符不同。 (b)长度不同。(0,或一整数) (c)存储要求不同。
(4)符号常量。“ 见名知意”
2.5 变量
2.5.1 变量的概念 定义1:用于存储程序输入数据和运算结果的内存单元。 因为变量中存储的数值随着程序的执行可以改变。 定义2:在程序运行过程中,其值可以改变的量。 2.5.2 变量的定义 格式: 数据类型 变量名表; 例: int a; char ch1,ch2; 2.5.3 变量的两个要素 (1)变量名。每个变量都必须有一个名字──变量名, 变量命名遵循标识符命名规则。 (2)变量值。在程序运行过程中,变量值存储在内存 中。在程序中,通过变量名来引用变量的值。

C语言 基本数据类型、运算符及表达式

C语言  基本数据类型、运算符及表达式

+ - * / % ++ -> >= < <= == != ! && || << >> ~ ∣ ∧ & = 复合赋值运算符 ?:
(7) 逗号运算符 (8) 指针运算符 (9) 求字节数运算符 (10)强制类型转换运算符 (11)分量运算符 (12)下标运算符 (13)其它
, *和& sizeof (类型标识符) ·→ [] 函数名( )
形式:(1)定点数形式: 它由数字和小数点组成。整数和小数部分可以省 去一个,但不可两者都省,而且小数点不能省。
如:1.234,.123,123.,0.0等。
(2)指数形式(或称科学表示法): 它是用整数或定点数后加e(或E)和指数来表示; 指数可正可负必须为整数, 字母e之前必须有数字。
如: 1.234e3, 12.34e2 均合法表示 1.234*103; 而 e3,1e2.3,.e3,e 均不合法。
c1=C, c2=A, c3=C i=3, j=5, k=3
j=i--;
k=--i;
printf("c1=%c,c2=%c,c3=%c\n",c1,c2,c3);
printf("i=%d,j=%d,k=%d\n",i,j,k);
}
int i=3;
说明:m=(i++)+(i++)+(i++);
int i=3;
用难于理解和容易出错的表达方式,尤其 是具有二义性的表达式。
2、算术表达式
用算术运算符将运算对象连接起来,符合 C语法规则,并能说明运算过程的式子。
赋值运算符与赋值表达式

《C语言程序设计》第二章 数据类型、运算符和表达式

《C语言程序设计》第二章 数据类型、运算符和表达式

用户标识符 作用:标记常数、变量、自定义数据类型、函数及 程序的名字
取名规则:
以字母或下划线‘_’中任一字符打头; 在第一字符之后,可以是任意的字母、下划线或数 字组成的字符序列,这个字符序列可以是空串。
用户标识符
说明:
不要与保留字同名; C语言中大小写字母有不同的含义,即区分大小写。 name和Name在C中是两个不同的标识符; 习惯上除了符号常数,一般都用小写字母表示; 标识符长度不限,但只识别前8个字符。 例: 正确:a, a1, f_1, area, _age 错误:2a, last name, no#, -xy, char
变量的定义 变量表示在C程序中的基本存储单元。变量是指在程 序运行过程中其值可以改变的量。变量必须“先定义 后使用”。
定义一般形式: 类型
例: int age, index; float x, y;
变量标识符表;
double z;
定义一般形式: 类型 定义变量的作用:
变量标识符表;
使一变量属于某一确定的类型,即规定该 变量的取值范围及它能执行的运算操作 ; 编译时能为其分配相应的存储单元,并确 定其存储形式,同时根据其定义检查该变量所 进行的运算合法性 。
短整型(short int )
整型
整型(int) 长整型(long int)
C 中 的 类 型 划 分
基本类型
实型
单精度型(float) 双精度型(double)
构造类型
数组类型 结构类型(struct) 共用体(union) 文件类型(FILE)
指针类型 空类型(void)
不同类型 的数据在计 算机中的存 储格式也不 同,以32位 机为例说明。

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语言-数据类型习题及答案

第二章数据类型,运算符与表达式一.选择题1.不合法的字符常量是(B)。

A)…\t?B) “A” C)…a?D)?\x32?2、合法的字符常量是(D)。

A)…\084?B) …\84? C)…ab?D)?\x43?2.(B)是C语言提供的合法的数据类型关键字。

A)Float B)signed C)integer D)Char3.在以下各组标识符中,合法的标识符是(4)。

(1)A)B01 B)table_1 C)0_t D)k%(2)A)Fast_ B)void C)pbl D)<book>(3)A)xy_ B)longdouble C)*p D)CHAR(4) A) sj B)Int C)_xy D)w_y234.属于合法的C语言长整型常量的是(B)。

A)5876273 B)0L C)2E10 D)(long)58762735.下面选项中,不是合法整型常量的是(B)。

A)160 B)-0xcdg C)-01 D)-0x48a6.判断int x = 0xaffbc;x的结果是(B)(turbo c 版本)。

A)赋值非法B)溢出C)为affb D)为ffbc7.下面选项中,均是合法浮点数的是(B)。

A)+1e+1 B)-.60 C)123e D)-e3A)5e-9.4 B)12e-4 C)1.2e-.4 D).8e-4A)03e2 B)-8e5 C)+2e-1 D)5.e-08.在C语言中,要求参加运算的数必须是整数的运算符是(C)。

A)/ B)* C)% D) =9.在C语言中,字符型数据在内存中以(D)形式存放。

A)原码B)BCD码C)反码D)ASCII码10.下列语句中,符合语法的赋值语句是(C)。

A)a=7+b+c=a+7;B)a=7+b++=a+7;C)a=(7+b,b++,a+7);D)a=7+b,c=a+7;11.(B)是非法的C语言转义字符。

A)…\b?B)…\0xf? C)…\037? D)…\??12.对于语句:f=(3.0,4.0,5.0),(2.0,1.0,0.0);的判断中(B),是正确的。

C语言程序设计第2章-1数据类型、运算符和表达式

C语言程序设计第2章-1数据类型、运算符和表达式
1、按运算符的功能分成:算术运算符、关系运算符、逻辑运算 符、赋值运算符、位运算符、条件(tiáojiàn)运算符、自增和自减 运算符、逗号运算符、指针运算符、强制类型转换运算符、 分量运算符、下标运算符、求字节数运算符、函数调用运算 符等等。
2、 C 语言的运算符的优先级与结合性
3、表达式:由操作数和运算符组成的序列。
5
精品文档
⒉ 真值: 带符号位的机器数对应的数值称为机器数的真值。 (10100011)2= -35
⒊ 无符号数:当计算机字长的所有二进位都用来表示(biǎoshì)数值时,称 为无符号数。
2.2.2 原码、反码和补码
⒈ 原码
整数 X 的原码指:其数符位 0 表示正,1 表示负,其数值部分
就是 X 的绝对值的二进制表示。
2.1 常用 的进位制 (chánɡ yònɡ)
2.1.1 二进制、八进制和十六进制(shíliùjìn zhì)数
3
精品文档
2.1.2十、二进制、八进制和十六进制数之间的换算
⒈ 二、八、十六进制数 → 十进制数的换算采用按权展开法。
(2AB.F)16 = 2χ162+10χ161+11χ160+15χ16-1 = 683.93 ⒉ 十进制数 → 二进制数的换算整数部分(bù fen)采用除以二取余直到商
19
精品文档
2.5.1 算术运算符与算术表达式
⒈ 基本的算术运算符:
14
精品文档
3.字符常量
字符常量是用单撇号括起来的单个字符或转义字符,
如: ‘a’, ‘9’, ‘&’, ‘\n’, ‘\’’, ‘\101’。
字符常量的值为该字符的ASCII码值,如 ‘a’值为97, ‘\n’

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

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

整数类型是以二进制数据形式存储的,确 切地说是以二进制补码形式。
9
一、整型

整数的存储方式 一个十进制整数,先转换为二进制形式 如整数15,以二进制形式表示是1111 用一个字节存放
0 0 0 0 1 1 1 1
0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 用两字节存放 负数按补码形式存放 请问:-15又是如何存储的呢?
27
四、字符串常量
字符串常量与字符常量的区别:
(5)字符串中可以有转义字符。 (6)单引号和双引号只是字符和字符串的定界符,如果字符 常量本身是单引号,则要用转义字符,如‘\‟‟ 。
'a'是一个字符常量 "a"是一个字符串常量
a
a \0
空字符作为字符串常量的结束
28
五、符号常量
用一个标识符来代表一个常量,称为符号常量。 符号常量在使用前必须先定义,用宏定义的形式, 其一般定义格式为:
31
2.2.2 变量
变量是指在程序运行过程中其值可以变化的量。 C语言要求在使用变量之前必须先进行声明。 给变量指定一个标识符,这个标识符称为变量名; 变量名(标识符)的命名规则: 只能由字母、数字或下划线组成; 第一个字符必须是字母或下划线。

32
1、变量的声明
声明一个变量包括: 指定该变量的数据类型,该类型决定了变量值的 类型、表现形式和占用内存空间,以及对该变量能 执行的运算; 指定变量的存储类型和变量的作用域。
22
二、实型常量
0、1.2

1.2、7.、.36、1e3、1.8e-3、-.1e-3
、3、e3、2.1e3.5、.e3、e
在实型常量中不能有空格。 默认状态下,实型常量被识别为双精度 (double)类型。可以使用后缀F或f表示单精 度(float)类型,后缀L或l表示长双精度 (long double)类型。比如123.56是double类 型,123.56f是float类型,1.2356E2L是long double类型。

C语言讲解第二章 基本数据类型、运算符及表达式

C语言讲解第二章 基本数据类型、运算符及表达式

2.2.3 符号常量
例: #define PRICE 30 #include<stdio.h> void main ( ) { int num, total; num=10; total=num*PRICE; printf("total=%d",total); }
显示结果: total=300
当开始编译前,系统先将程序中所有的PRICE 这个单词换成30,再进行编译(翻译成二进制)。
2.2.3 符号常量
例:#include<stdio.h> #define PI 3.14 #define R 10.0-7.0*PI void main() { float s; s=PI*R; printf(“s=%f\n”,s); }
显示结果: s=9.420000
2.2.4 字符型常量
它可分为字符常量和字符串常量两种。 (1) 字符常量 * 字符常量的定义 用一对单引号括起来的单个字符,称为字符 常量。 例如,‘A’、‘1’、‘+’等。 * 转义字符 C语言还允许使用一种特殊形式的字符常 量,就是以反斜杠“\ ”开头,引导的一个字 符或一个数字序列的转义字符
2.2 常量
什么是常量?
程序运行过程中不能被改变的量。 如程序中: 20 整型常量
15.8 浮点型常量
'a' 字符常量
2.2.1 整型常量
1、整型常量的基本类型
整型数据有三种形式
十进制整数 八进制整数 十六进制整数
2.2.1 整型常量
(1)十进制整数的表示与数学上的表示相同

合法的十进制常数如: 256,-321,0
不合法的十进制常数有: 023,25D

《C语言程序设计》第2章 数据类型、运算符与表达式

《C语言程序设计》第2章 数据类型、运算符与表达式
( 1)选择结构控制语句 if()~else~, switch()~
(2)循环结构控制语句 do ~ while(), for() ~ , while() ~ ,
break, continue (3)其它控制语句
goto, return
2. 函数调用语句 函数调用语句由一次函数调用
加一个分号(语句结束标志)构成。
3.标识符命名规则
(1)有效字符:只能由字母、数字 和下划线组成,且以字母或下划线开头。
(2)有效长度:随系统而异,但至 少前8个字符有效。如果超长,则超长 部分被舍弃。
例 如 , 由 于 student_name 和 student_number的前8个字符相同,有的 系统认为这两个变量,是一回事而不加 区别。
在C语言中,要求对所有用到的变量, 必须先定义、后使用;且称在定义变量的 同时进行赋初值的操作为变量初始化。
(1)变量定义的一般格式
[存储类型] 数据类型 变量名[, 变量名2…];
例如,float radius, length, area;
(2)变量初始化的一般格式
[存储类型] 数据类型 变量名[=初值][, 变量 名2[=初值2]……];
例如,PC机中的一个int型变量, 其值域为-22*8-1~(22*8-1-1),即32768~32767;一个unsigned型变量 的值域为:0~(22*8-1),即 0~65535。
Hale Waihona Puke [案例2.2] 整型变量的取值范围 main() {short int a,b;
a=32767; b=a+1; printf(“a=%d,b=%d\n”,a,b); } 程序运行结果: a=32767,b=-32768

C语言程序设计(第2章数据类型、运算符和表达式)

C语言程序设计(第2章数据类型、运算符和表达式)

2.1 C语⾔的数据类型2.2 常量与变量2.2.1 标识符命名2.2.2 常量2.2.3 变量2.3 整型数据2.3.1 整型常量2.3.2 整型变量2.4 实型数据2.4.1 实型常量2.4.2 实型变量2.5 字符型数据2.5.1 字符常量2.5.2 字符串常量2.5.3 转义字符2.5.4 符号常量2.5.5 字符变量2.6 运算符2.6.1 算术运算符2.6.2 ⾃增和⾃减2.6.3 关系和逻辑运算符2.1 C语⾔的数据类型C语⾔有五种基本数据类型:字符、整型、单精度实型、双精度实型和空类型。

尽管这⼏种类型数据的长度和范围随处理器的类型和C语⾔编译程序的实现⽽异,但以b i t为例,整数与C P U字长相等,⼀个字符通常为⼀个字节,浮点值的确切格式则根据实现⽽定。

对于多数微机,表2 - 1给出了五种数据的长度和范围。

表2-1 基本类型的字长和范围类型长度(bit)范围char(字符型)80~255int(整型)16-32768~32767float(单精度型)32约精确到6位数double(双精度型)64约精确到12位数void (空值)0⽆值表中的长度和范围的取值是假定CPU的字长为16 bit。

C语⾔还提供了⼏种聚合类型(aggregate types),包括数组、指针、结构、共⽤体(联合)、位域和枚举。

这些复杂类型在以后的章节中讨论。

除void类型外,基本类型的前⾯可以有各种修饰符。

修饰符⽤来改变基本类型的意义,以便更准确地适应各种情况的需求。

修饰符如下:• signed(有符号)。

• unsigned(⽆符号)。

• long(长型符)。

• short(短型符)。

修饰符signed、short、long和unsigned适⽤于字符和整数两种基本类型,⽽long还可⽤于double(注意,由于long float与double意思相同,所以ANSI标准删除了多余的long float)。

第2章数据类型运算符和表达式习题

第2章数据类型运算符和表达式习题

第2章数据类型运算符和表达式习题1. 单项选择题(1) 以下选项中,正确的C 语言整型常量是 D 。

A. 32LB. 510000C. -1.00D. 567(2) 以下选项中, D 是不正确的C 语言字符型常量。

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

A. 原码B. 反码C. ASCII 码D. BCD码(4) 字符串的结束标志是 C 。

A. 0B. '0'C. '\0'D. "0"(5) 算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为B。

A. 算术运算、赋值运算、关系运算B. 算术运算、关系运算、赋值运算C. 关系运算、赋值运算、算术运算D. 关系运算、算术运算、赋值运算(6) 逻辑运算符中,运算优先级按从高到低依次为D。

A. &&,!,||B. ||,&&,!C. &&,||,!D. !,&&,||(7) 表达式!x||a==b 等效于 D 。

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

A. 0,0B. 0,1C. 1,0D. 1,1(9) int b=0,x=1;执行语句if(x++) b=x+1; 后,x,b 的值依次为 A 。

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

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

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

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

1038 第2章 基本数据类型,运算符和表达式
2.2 C语言的基本数据类型
2.2.1 常量与变量 一.常量
在程序运行过程中,其值不能被改变的量称为常量。 常量的类型众多具体可分为以下几类:
常量数据类型: 短整型常量取值范围在-32768 ~ +32767之间的整数。 长整型常量取值范围在2147483648~+2147483647的整 数.实型常量取值范围在10-38~10+38,有效数字是7位
第2章 基本数据类型,运算符和表达式
第二章 基本数据类型、运算符和表达式
2.1 标识符 2.2 C语言的基本数据类型 2.3 各类数值型数据间的混合运算 2.4 C语言的运算符和表达式 2.5 小结
第2章 基本数据类型,运算符和表达式
2.1 标识符
2.1.1 标识符
在C程序中,能够标识函数、语句标号、变量的一串字符叫标 识符,C程序中使用标识符的具体规定如下: •标识符必须由英文字母,数字或下划线组成,且首字符只能 是英文字母或下划线
第2章 基本数据类型,运算符和表达式
无符号变量只能存放不带符号的整数
类型标识符所占位数数的范围:
[signed]int
16 -32768~32767
[signed]short[int]
16 -32768~32768
[signed]long[int]
32 -2147483648~2147483647
第2章 基本数据类型,运算符和表达式
由系统自动进行数据类型的转换。规则如下所示: 1. 所有的char型和short型都被转换为int型(unsigned型除外),
所有的float型都被转换成double型。即使两个操作数都是 相同类型,只要是char型或short型或float型也要按上述方 式转换。 2.对于所有的操作数对,若其中的一个为double型,则另 一个也被转换为double型;若其中的一个操作数为long型, 则另一个也被转换成long型;若其中一个操作数为 unsigned型,则另一个也被转换成unsigned型。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第02章基本数据类型、运算符与表达式1. 选择题(1)在32位机中,int型字宽为()字节。

A) 2 B) 4 C) 6 D) 8(2)下列十六进制的整型常数表示中,错误的是()。

A) 0xad B) 0X11 C)0xA D) 4ex(3)设n=10,i=4,则执行赋值运算n%=i-1后,n的值是()。

A) 0 B) 1 C) 2 D) 3(4)若有a=2,b=4,c=5,则条件表达式a>b?a:b>c?a:c的值为()。

A) 0 B) 2 C) 4 D) 5(5)若有a=1,b=2,则表达式++a==b的值为()。

A) 0 B) 1 C) 2 D) 32.简答题(1)指出下列数据中哪些可作为C++的合法常数?(a) 588918 (b) 0129 (c) 0x88a (d) e-5 (e) ″A″(f) .55 (g) ’\\’ (h) 0XCD (i) 8E7 (j) π(2)指出下列符号中那些可作为C++的合法变量名?(a) ab_c (b) β (c) 3xyz (d) if (e) cin(f) a+b (g) NAME (h) x! (i) _temp (j) main(3)根据要求求解下列各表达式的值或问题。

(a) (int)3.5+2.5(b) (float)(5/2)>2.4(c) 21/2+(0xa&15)(d) 设int i=10,则表达式i&&(i=0)&&(++i)的值是多少?该表达式运算结束后变量i的值为多少?(e) 设int a=1,b=2,c=3;,求表达式a<b!=c的值。

(f) 设int i=1;,则i++||i++||i++的值是多少?表达式运算结束后变量i的值是多少?(g) 设int a,b;,求表达式(a=1,a++,b=1,a&&b++)?a+1:a+4的值。

(h) 设int x=5;,求表达式x+=x-=x*x的值。

(i) 设int x=0,y=2;,则语句if(x=0)y++;执行完毕后变量y的值是多少?(j) 设int a=2,b=3;,执行表达式c=b*=a-1后变量c的值是多少?(k) 写出判断字符型变量s1的值为’0’~’9’的正确的C++表达式。

(l) 若给定条件表达式(N)?(c++):(c--),写出与N功能等价的表达式。

3.读程序写结果(1)设有以下程序段,请根据要求回答相应问题。

Int a,b,c,x;a=2;b=3;c=7;d=19;x=d/b%a;x=d%c+b/a*5+5;(2)设有以下程序段,请根据要求回答相应问题。

Int a,b,c;a=b=c=0;a=(++b)+(++c);a=b=c=0;a=(b--)+(--c);(3)写出与下列数字表达式相对应的C++表达式。

(a)a2+2ab+b2(b)4/3πR3(c)5/9(F-32)(d)a≤b≤c(4)#include<iostream.h>void func(int x,int y=10,int z=20);void main(){func(11,12,13);func(11);func(11,12);}void func(int x,int y,int z){cout<<x+y+z<<endl;}(5)#include<iostream.h>viod main(){ int x,y=5;If(x=y!=0)cout<<″x=″<<x<<endl;elsecout<<″x=″<<x++<<endl;cout<<endl;}4.编程题(1)编写程序,提示用户输入三角形的三条边长,判断该三角形是否为直角三角形,若是则输出结果以及三角形面积。

(2)编写程序,求解各种数据类型的存储长度并显示出来,在其中找出存储长度最大和最小的两种数据类型并输出。

(3)编写程序输入一个华氏温度,将其转换为摄氏温度并输出。

已知华氏稳定转换为摄氏度的计算公式如下:C=(F-32)*5/9其中,F为华氏温度,C为摄氏温度。

(4)编写程序输入一个十进制表示的正整数,将其转化为二进制表示并输出结果。

习题参考答案第1章C++语言概述1.填空题(1)函数说明,函数体(2)声明区,主程序区,函数定义区(3)多态性(4)namespace,using(5)std(6)cin,>>(7)//(8)对数据的操作2.判断题(1)对(2)错(3)错(4)错(5)错3.改错题(1)没有函数体,应改为void main() {};(2)语句没有分号,应改为using namespace myspace;(3)cout和操作符<<共同完成输出的功能,应改为cout<<" Input your name:";(4)应改为#include <iostream.h>4.简答题(略)5.编程题(略)第2章基本数据类型、运算符与表达式1.选择题(1)B (2)D (3)B (4)D (5)B2.简答题(1)(a)、(c)(e)、(f)、(g)、(h)、(i)(2)(a)、(g)、(i)、(j)(3)(a)5.5(b)0(c)20(d)0,0(e)1(f)1,2(g)3(h)-40(i)2(j)3(k)s1>='0'&&s1<='9'(l)N!=03.读程序写结果(1)0,15(2)(1、1、1),(-1、-1、-1)(3)(a)a*a+2*a*b+b*b(b)4.0/3.0*3.1415926*R*R*R(c)5.0/9.0*(F-32)(d)b>=a&&b<=c(4)364143(5)x=14.编程题(略)第3章C++的控制语句1.选择题(1)B (2)A (3)A (4)C (5)A2.判断题(1)错(2)对(3)对(4)错(5)错3.读程序写结果(1)12 23 3 34 4 4 45 5 5 5 5(2)11 2 11 2 3 2 11 2 3 4 3 2 11 2 3 4 5 4 3 2 1(3)j的值为0;i的值为2;4.编程题(略)第4章函数1.填空题(1)void(2)静态全局变量,static(3)函数重载(4)inline(5)递归函数(6)宏定义命令,文件包含命令,条件编译命令2.判断题(1)错(2)错(3)错(4)错(5)错(6)对(7)错(8)错(9)对(10)对3.读程序写结果(1)x=7,y=4x=9,y=5(2)34.56101(3)162228(4)12 15 18 21 24(5)2,1,4,1,3,2,1,4.简答题(略)5.编程题(略)第5章构造数据类型1.选择题(1)C (2)D (3)A (4)B (5)C2.判断题(1)错(2)对(3)对(4)错(5)错3.读程序写结果(1)153(2)422 5 6 8 10(3)65535,21(4)419(5)6904(6)43214.编程题(略)第6章类和对象1.填空题(1)类,对象,类(2)数据成员,成员函数(3)不能(4)private,protected,public,private(5)成员函数(6)friend(7)类名,作用域运算符(8)对象名.成员名,指针变量名->成员名,(*指针变量名).成员名(9)构造,析构,构造,析构(10)常量数据,引用数据(11)全局,数据类型,所属的类(12)常成员,只读(13)成员,友元(14)类数据成员,类成员函数(15)this(16)浅拷贝2.选择题(1)C (2)C (3)B (4)C (5)B(6)C (7)D (8)B (9)C (10)D(11)A (12)C (13)D (14)D (15)B3.改错题(1)man1.salary=1000.00; 不能在类外访问类的私有成员(2)float r=0;和float c=0; 类本身是抽象的,不能在类的定义体中给其数据成员赋值}后缺少分号“;”(3)成员函数void setdata(float x1,float y1,float r);没有实现(4)构造函数名point()应与类名同名,为Point没有头文件包含#include <iostream.h>4.读程序写结果题(1)x=0,y=0x=100,y=200(2)x=100,y=200x=1000,y=2000t=3.14(3)Sta::fun2()=10s.fun2()=11r.a=20(4)Constructor1 called!x=0Constructor2 called!x=100Destructor called!Destructor called!(5)575.简答题(略)6.编程题(略)第7章继承和派生1.填空题(1)继承(2)基类,派生类(3)private,protected,public,private(4)不可访问,保护,公有(5)私有(6)单(一),多(重)(7)赋值兼容规则(8)静态,动态(9)抽象类2.选择题(1)B (2)A (3)B (4)C (5)B(6)A (7)D (8)B (9)B (10)B(11)D (12)B3.改错题(1)本题的错误主要是数据成员的访问权限问题:基类的私有成员在派生类中不可访问,如fb()函数中的a3=30;语句;类的私有和保护成员在类外不能访问,如main函数中的x.a2 =20;.a3=30; ,y.a2=200; ,y.a3=300; ,y.b2=2000;和y.b3=3000;语句。

(2)本题的错误主要是成员函数的访问权限问题:由于派生类Derived是基类Base 的保护派生类,所以基类中的私有成员变成派生类的不可访问成员,而基类的保护和公有成员则变成派生类的保护成员。

对于类的不可访问和保护成员在类外是不能访问的,故main 函数中的语句obj.funl();,obj.fun2(); 和obj.fun3(); 是错误的。

4.读程序写结果题(1)d=110b=190d=110d=110(2)d=110b=190d=110b=90(3)基类B1的构造函数被调用基类B3的构造函数被调用基类B2的构造函数被调用派生类D的构造函数被调用派生类D的析构函数被调用基类B2的析构函数被调用基类B3的析构函数被调用基类B1的析构函数被调用(4)ABCDD(5)ABDD(6)AABDD(7)ABCDD(8)5255.简答题(略)6.编程题(略)第8章运算符重载1.填空题(1)函数重载(2)重载为类的成员函数,重载为类的友元函数(3)Operator(4)1,2(5)友元2.选择题(1)B (2)D (3)A (4)D (5)B(6)C (7)C (8)C3.简答题(略)4.编程题(略)第9章模板1.填空题(1)类模板,函数模板(2)类,对象(3)数据类型(4)fun(5)2.选择题(1)C (2)B (3)C (4)B (5)D3.简答题(略)4.编程题(略)第10章文件1.填空题(1)FILE,stdio.h(2)stdio.h,fopen,fclose(3)顺序,随机(4)cin,>>,cout,<<(5)ios(6)fstream,open,close(7)文件指针的当前位置,文件开头,文件尾2.选择题(1)B (2)B (3)A (4)D (5)B(6)D (7)C (8)B (9)A (10)B3.简答题(略)4.编程题(略)第11章string类与标准模板库STL 1.填空题(1)字符数组,string类(2)string(3)容器,迭代器,算法(4)顺序,关联(5)指针(6)函数模板2.简答题(略)3.编程题(略)第12章异常处理1.填空题(1)throw,try,catch(2)多(3)数据类型(4)catch(…)(5)相反2.判断题(1)错(2)对(3)错(4)错(5)错3.简答题(略)4.编程题(略)。

相关文档
最新文档