文档库 最新最全的文档下载
当前位置:文档库 › 基本数据类型与数值表达式

基本数据类型与数值表达式

基本数据类型与数值表达式
基本数据类型与数值表达式

基本数据类型与数值表达式

一、知识要点

计算机的基本功能是进行数据处理。在C++语言中,数据处理的基本对象是常量和变量。运算是对各种形式的数据进行处理。数据在内存中存放的情况由数据类型所决定。数据的操作要通过运算符实现,而数据和运算符共同组成了表达式。本章是对C++语言中的数据类型、运算符、表达式等内容的全面介绍,要正确理解其特点,并灵活运用,主要掌握以下的知识要点:

1.掌握常量和变量的概念。

2.掌握整型数据和实型数据、字符型数据和字符串型数据的概念和区别。

3.掌握各种类型的变量说明及其初始化。

4.掌握算术运算、关系运算、逻辑运算、赋值运算、逗号运算、条件运算等概念。

5.掌握运算符的优先级、左结合和右结合规则。

6.掌握表达式求值时的自动转换和强制类型转换。

7.掌握自加、自减运算的规则。

8.掌握常用数学函数的功能。

二、例题分析与解答

1.选择题

例题1:运算符+、=、*、>=中,优先级最高的运算符是()。

A.+ B.= C.* D.>=

答案:C

分析:根据C++语言对运算符优先级的规则,以上运算符优先级从低到高的次序为=、>=、+、*。

例题2:下列说法正确的是()。

A.cout<<”\n”是一个语句,它能在屏幕上显示”\n”

B.\68代表的是字符D。

C.1E+5的写法正确,它表示余割整型常量。

D.0x10相当于020。

答案:D

分析:分号是语句的已部分,且\n是转义字符;\68代表了八进制的6、8,而八进制中没有数字8;1E+5是实型常量;十六进制的10相当于十进制的16,相当于八进制的20。

例题3:下列不合法的变量名为()。

A.int B.int1 C.name_1 D.name0

答案:A

分析:根据变量名命名要求,变量名只能由大小写字母、数字、下划线组成,且系统关键字不能作为变量名。

例题4:下面正确的为()。

A.4.1/2 B.3.2%3

C.3/2==1 结果为1 D.7/2 结果为3.5

答案:A

分析:%运算符要求式整型;关系运算值为0;两个整数相除,商为为相除后的整数部分。

例题5:已知a=4,b=6,c=8,d=9,则“(a++,b>a++&&c>d)?++d:a

A.9 B.6 C.8 D.0

答案:D

分析:此题是考察“++”运算符、逗号运算符、条件运算符及它们运算优先级的综合题,根据这些运算符的运算规则,得出表达式的运算结果。

例题6:已知i=5,j=0,下列各式中运算结果为j=6的表达式是()。

A.j=i+(++j) B.j=j+i++ C.j=++i+j D.j=j+++i

答案:C

分析:自增++、自减运算符在变量的前面或后面,其运算结果是不同的。若++或—在变量前,则先将变量的值加1(或减1)后,再将变量的值参与运算;反之则先将变量的值参加运算,再将变量的值加1(或减1)。自增++、自减运算符优先级高于算术运算符。

例题7:已知x=43,ch=‘A’,y=0;则表达式(x>=y&&ch<’B’&&!y)的值是()。

A.0 B.语法错 C.1 D.“假”

分析:根据C++语言中运算符优先级的高低,“!”运算符最高,关系运算符高于逻辑运算符。则上面的表达式转换为:1&&1&&1,结果为1。

答案:C。

2.填空题

例题8:如果s是int型变量,且s=6,则下面s%2+(s+1)%2表达式的值为____。

答案:1

分析:%运算符是求余运算,得到的结果是相除后的余数。表达式转换为6%2+

(6+1)%2=0+7%2=1。

例题9:如果定义int a=2,b=3;float x=5.5,y=3.5;则表达式(float)(a+b)/2+(int)x%(int)y的值为_____。

答案:4.5

分析:不同类型的数据混合运算时,可以使用强制类型转换符,强制将一种数据类型转换为另一种数据类型后再进行运算。对表达式,先求表达式的值,再转换值的类型,本题的运算结果为4.5。

例题10:设所有变量均为整型,则表达式(e=2,f=5,e++,f++,e+f)的值为____。

答案:9

分析:逗号运算符是是将两个或多个表达式组合成一个表达式的运算符。求解时从左至右依次计算每个表达式的值,整个表达式的值就是最右边的表达式的值。本题的答案为9。

例题11:已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式

ch=’a’+’8’-‘4’的值为____。

答案:e

分析:C++语言中,对字符数据进行算术运算,实际上就是对字符的ASCII码进行运算。以字符形式输出时,再将ASCII码转换为相应的字符输出。本题表达式为ch=97+8-4=101,101相应的ASCII为字符e。

3.编程题

例题12:编写一个程序,从键盘输入半径和高,输出圆柱体的底面积和体积。

解:程序如下:

#include

void main()

{

double r, h, area, volume;

cout<<”请输入半径:”;

cin>>r;

cout<<”请输入高:”;

cin>>h;

area=3.14*r*r;

volume=area*h;

cout<<”底面积是: ”<

cout<<”体积是: ”<

}

三、习题分析与解答

1. C++语言中有哪些数据类型?分别说明它们的类型关键字、取值范围、类型长度。

答:C++语言中的数据类型有:整型(短整型,整型,长整型);字符型;逻辑型;枚举型;实型(单精度,双精度,长双精度);引用型(指针,引用);复合型(结构,联合);空类型。

2. 字符常量与字符串常量的区别是什么?

答:字符常量与字符串常量的主要区别在于:(1)定界符不同。字符常量使用单引号,而字符串常量使用双引号。(2)长度不同。字符常量的长度固定为1,而字符串常量的长度,可以是0,也可以是某个整数。(3)存储要求不同。字符常量存储的是字符的ASCII码值,而字符串常量除了要存储有效的字符外,还要存储一个结束标志’\0’。

3.说明下面的每个数据各属于哪一种(数值常量、字符常量、字符串、标识符、保留字、运算符、标点、非法数据)?

25 18 -3.67 12.8 “4”‘4’

x1 “x2”“1949.10” cin K_name

3ab “float x ,y “ ; if +

“\n” ? ;“sy1.cpp”‘\32’ \’

答:数值常量有:25,18,-3.67, 12.8

字符常量有:‘4’,\’,‘\32’

字符串有:“4”,“x2”,“1949.10”,“sy1.cpp”, “\n”

保留字:cin ,int,endl,if

运算符:+

标点:?

非法数据:“float x ,y “ ; , 3ab

变量:x1,K_name

4.选择题

(1)下列数据类型不是C++语言基本数据类型的是()。

A.字符型

B.整型

C.实型

D.数组

答案:D

(2)在C++语言中,080是()。

A.八进制数

B.十进制数

C.十六进制数

D.非法数

答案:B

(3)下列字符列中,可作为C++语言程序自定义标识符是()。

A.switch

B.file

C.break

D.do

答案:B

(4) 运算符 +、<=、=、% 中,优先级最低的运算符是()。

A. +

B.<=

C.=

D.%

答案:C

(5) 下列字符列中,可以作为“字符串常量”的是()。

A. ABC

B.″xyz″

C.′uvw′

D. ′a′

答案:B

(6) 设变量m,n,a,b,c,d均为0,执行(m = a==b)||(n=c==d)后,m,n的值是()。

A.0,0

B. 0,1

C. 1,0

D. 1,1

答案:C

(7) 字符串”vm\x43\\\np\102q”的长度是()。

A. 8

B. 10

C. 17

D. 16

答案:A

(8)在C++语言中,自定义的标识符()。

A.能使用关键字并且不区分大小写

B.不能使用关键字并且不区分大小写

C.能使用关键字并且区分大小写

D.不能使用关键字并且区分大小写

答案:D

(9)设有代码“int a = 5;”,则执行了语句“a + = a - = a*a;”后,变量a的值是()。

A.3

B. 0

C. -40

D. –12

答案:C

(10)设a为5,执行下列代码后,b的值不为2的是()。

A. b = a/2

B. b = 6-(--a)

C. b = a%2

D. b = a < 3 ? 3: 2

答案:C

(11)下面的()均是C语言的整型常量。

A.0xffff 和 611

B.01b 和 0xa1

C.986.012 和 0667

D.2e4 和 0x

答案:A

(12)数学公式写成C表达式,下面的()是正确的。

A.sqrt (abs(pow(x, y) + exp(y)))

B.sqrt (abs(pow(y, x) + exp(y)))

C.sqrt (fabs(pow(x, y) + exp(y)))

D.sqrt (fabs(pow(y, x) + exp(y)))

答案:D

5.x为int类型,y为double类型,指出下列各表达式值的类型。

(1)1/3 int (2) 48L long

(3) 5 % 3 int (4) x*3/y double

(5) ‘x’+20 int (6) (int )y int

(7) y != 10 bool (8) x<1 || x>10 bool

(9) x>10 ? x : sqrt (x) int或float (10) x && y bool

(11) true bool (12) (char) (x+10) char

(13) 1.0 /3 float (14) sizeof (float) int

(15) x,y,x+y, double

说明:(9)题,如果x>10成立,表达式值的类型为int,如果x>10不成立,表达式值的类型为float。(15)题,为逗号表达式,x+y的值即为整个表达式的值,因而值的类型为double。bool型在C++用int代替,true值为1,false值为0。

6. 写出下列算术表达式的值:

(1) x+a%3*(int)(x+y)%2/4 x=2.5,a=7,y=4.7

答:上述表达式=2.5+1*(int)7.2%2/4 = 2.5+1*7%2/4 = 2.5

(2) (float)(a+b)/2+(int)x%(int)y a=2,b=3,x=3.5,y=2.5

答:上述表达式=(float)5/2+3%2 = 2.5+1 = 3.5

7.设程序中有说明语句

int a=20; double x=4.7; char r= ’a’;

试求出下列每个表达式的值(假定各表达式互不影响)。~

答案答案

(1)a++ 20 (2) ++r 98

(3) 1+a/3%4 3 (4) 10*sizeof( int ) 40

(5) char (a+20) ( (6)a= =r || a= =floor(x) 0

(7) a/9.0 2. (8)x=pow(3,5) 273.

(9) x=(a++,r++) 97. (10) ceil(x-0.5) 5.

(11) a=abs(a)%8-10 -6 (12)x=fabs(-27.2)+6 33.

(13)floor(x+0.5) 5. (14) ceil((x-=0.5)-0.5) 4.

(15)floor(x*1000+0.5)/1000 4. (16)floor(x+0.5) 5.

(17)floor(x*1000)/1000 4. (18)a+rand()%40 某一个随机整数

(19) a % =n % = 2),n=5 5

此题运行时要给n赋初值, n必须是整型奇数,n为整型偶数出错。

(20) a + = a - = a * = a 0

说明:函数ceil(x),返回大于等于x的最小整数;floor(x),返回小于等于x的最大整数;rand(),返回0~32767之间的整数。

8.设程序中有说明语句

int x=20; float y=4.7; char ch = ’k’;

试求出下列每个表达式的值(假定各表达式互不影响)

答案答案

(1) x==0 0 (2) x!=y 1

(3) x++ >21 0 (4) ‘a’ == ‘A’ 0

(5) ch != 0 1 (6) x>0 && y>0 1

(7) x>0 && 1 1 (8) y>0 && 0 0

(9) !(x||y)==!x&&!y 0 (10) x++ !=20 || y 1

(11) !! ch==ch 0 (12) !(x&&y)==!x||!y 1

说明:C++语言提供了三种逻辑运算符:!,&&,||,其中!逻辑非的优先级最高,&&逻辑与次之,||逻辑或最低。!逻辑非是右结合性,&&逻辑与和||逻辑或是左结合性。

四、习题

1. 选择题

(1)C++语言中的标识符只能右字母、数字和下划线三种字符组成,且第一个字符()。

A.必须为字母 B.必须为下划线

C.必须为字母或下划线 D.可以是字母、数字和下划线中任一中字符

(2)下面正确的字符常量是()。

A.“C” B.‘\\’’ C.‘W’ D.‘’

(3)如果说明语句:char c=‘\72’;则变量c()。

A.包含1个字符 B.包含2 个字符

C.包含3个字符 D.说明不合法,c 的值不确定

(4)表达式18/4*sqrt(4.0)/8值的数据类型为()。

A.int B.float C.double D.不确定

(5)关于逻辑运算符的说法正确的是()。

A.它们都是双目运算符,优先级相同

B.语句“int a=0,c=1,b;b=a&&c++;”执行后,c 的值为2

C.语句“int a=0,c=1,b;b=a||c++;”执行后,c 的值为2

D.语句“int a=1,c=1,b;b=a&&c++;”执行后,c 的值为2

(6)设 int m=7,n=12;则表达式为3的是()。

A.n%=(m%=5) B.n%=(m-m%5)

C.n%=m-m%5 D.(n%=m)-(m%=5)

(7)数学公式y x+lny,正确的C++语言的表达式是()。

A.sqrt(fabs(pow(y,x)+log(y))) B.sqrt(fabs(pow(x,y)+log(y)))

C.sqrt(abs(pow(y,x)+log(y))) D.sqrt(abs(pow(x,y)+log(y)))

(8)有如下程序段:

int a=14,b=15,x;

char c=’A’;

x=(a&&b)&&(c<’B’);

执行该程序后,x的值为()。

A.ture B.flase C.0 D.1

(9)下面四个选项中,均是不合法的标识符的是()。

A.B B.for C.cin D.if

B_1 1a0 a_b temp

cout _a10 int b-a

(10)设变量a是整型,b是实型,c是双精度型,则表达式10+‘a’+c*b值的数据类型为()。

A.int B.float C.double D.不确定

(11)以下叙述中不正确的是()。

A.在C++程序中,name和NAME是两个不同的变量

B.在C++ 程序中,逗号运算符的优先级最低

C.若变量m,n为int型,则m=n后,n中的值不变

D.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能诸如实型数值。

(12)sizeof(float)是()。

A.一个双精度型表达式 B.一个整型表达式

C.一种函数调用 D.一个不合法的表达式

(13)下面不正确的字符串常量是()。

A.‘rst’ B.“14‘14” C.“0” D.“”

(14)对代数式5ae/bc,下面不正确的C++语言表达式是()。

A.a/b/c*e*5 B.5*a*e/b/c C.5*a*e/b*c D.a*e/c/b*5

(15)下列运算符中优先级最高的是()。

A.?: B.&& C.+ D.!=

(16)设a是整型变量,则表达式(a=4*5,a*2),a+6的值是()。

A.20 B.26 C.40 D.46

(17)设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c

A.1 B.2 C.3 D.4

(18)用C++的语言表达式表示 |x3+log10x|的正确是()。

A.fabs(x*3+log(x)) B.abs(pow(x,3)+log(x))

C.f abs(pow(x,3.0)+log(x)) D.abs(pow(x,3.0)+log(x))

(19)设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)

(20)设有语句:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是()。

A.2. B.2. C.3. D.0.

(21)设有语句int x=3,y=4,z=5;则下面表达式中值为0的是()。

A.’x’&&’y’ B.x<=y

C.x||y+z&&y-z D.!((x

(22)表达式18/4*sqrt(4.0)/8值的数据类型为()。

A.int B.float C.double D.不确定

(23)判断char型变量n是否为小写字母的正确表达式为()。

A.’a’<= n <=’z’ B.(n>=a)&&(n<=z)

C.(’a’>=n)| |(’z’<=n) D.(n>=’a’)&&(n<=’z’)

2. 填空题

(1)“A”与‘A’的区别是:前者表示的是__________,占用______个内存空间,后者表示的是_________,占用_______个内存空间。

(2)表达式8/4*(int)2.5/(int)(1.25*(3.7+2.3))值的数据类型为_________。

(3)已知c的ASCII码为十进制数99,设k为字符型变量,则表达式k=‘c’+‘9’-‘8’的值为________。

(4)设有说明语句 int a=6;,则运算表达式a+=a-=a*a后,a的值为_______。

(5)C++表达式表达:y=ax2+bx+c_________________, 5x3+9xy/5-xy______________。

(6)设a、b、c都是int型变量,则运算表达式a=(b=4)+(c=2)后,a值为_____,b值为______,c值为______。

(7) C++语言中的标识符只能由三种字符组成,它们是________,_______和_______。

(8)有语句:char k=‘\010’;则变量k中包含的字符个数是_____。

(9)在C++语言中,表示逻辑“真”值用_____________。

(10)表达式pow(2.8,sqrt(double(x)))值的数据类型为_________。

(11)设m是一个三位数,从左到右用a、b、c表示各位是数字,则从左到右各个数字是cba的三位数的表达式是_________________________。

(12)设有语句int a=3,b=4,c=5;则表达式:!(a+b)+c-1&&b+c/2的值为______,表达式a | | b+c&& b = = c的值为______。

(13)请写出判断整型变量x为偶数且不小于100的表达式:______________________。

3. 编程题

(1)用C++语言写出下列要求的表达式:

①判断char型变量ch是否为大写字母。

②设y为int变量,判断y是否为奇数。

③设x、y、z都为int型变量,描述“x或y中有一个小于z”。

设x、y、z都为int型变量,描述“x、y和 z中有两个为负数”。

(2)编写一个程序,从键盘输入两个整型的数,在屏幕上分别输出这两个数的和、差和积。

(3)编写一个程序,从键盘输入两个数,分别求出这两个数的平方和和立方和,在屏幕上予以输出。

(4)编写程序,从键盘输入某一字母的ASCII码,如:97(字母a),98(字母b),65(字母A)等,在屏幕上输出给字母。

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

第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) 3 2.简答题 (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

浙江大学C语言总复习题基础数据类型和运算

第2章基本数据类型和运算 学习和解题要点 1.数据类型 C 语言中的数据类型比别的语言丰富。要学好这部分内容,首先要掌握C 语言的数据在内存中的表示。 整型数据:以二进制的形式表示 (1) int 类型 正数:如 123 (+123)用 16 位二进制(二个字节)表示 原码 最大正整数 215-1=214+213 +23+22+21+20=32767 负数:如–123 原码 反码(符号位不动,其它取反) 补码(补码加 已知补码求原负数符号位不动,其它取反加 1 加 最大负整数 -215=32768 因为 -215 < -(215-1) 所以用 -215而不用 -(215-1) (2) unsigned (int) 类型 称为无符号整数,它不是指不带“+ 或 -”号的整数,而是指内存表示这类数时没有符号位,16 位二进制都用来表示数,因此 最大数 215+214 +213+2 3+22+21+20=65535 最小数 0 (3) long (int) 类型 用 32 位二进制(四个字节)表示,其他同 int 型 (4) short 类型 有的计算机(小型、中型、大型机)int 即是 long ,而short用16 位二进制(二个字节)表示。因此C语言中,short一定是短整型,long一定是长整型,而int因不同的系统而不同。PC 586 机int即short,所以一般不用short 。 (5) 在C语言中,整型常量有三种形式的写法: 十进制整数(0 - 9)表示。通常整数的写法。 八进制整数(0 - 7)表示。在整数的前面加数字0。 十六进制整数(0 - f)表示。在整数的前面加0x。 长整型常量表示方法:在整数的后面加L或 l。

c++实验2 数据类型与表达式

实验2 数据类型与表达式 实验目的 ●掌握C++语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值 的方法; ●懂得转义字符的使用; ●了解基本数据类型的字节宽度; ●进一步熟悉C++程序的编辑、编译、连接和运行的过程; ●掌握数据的输入输出的方法; ●掌握运算符的优先级和结合性,能够正确书写表达式; ●掌握不同的类型数据之间运算的类型转换规则,理解自动类型转换和会使用强制类型转 换。 实验内容: 1、基本数据类型的长度 验证你的C++编译环境中每个基本数据类型的长度(即在内存空间所占的字节个 数)。用sizeof运算符获取类型或数据的所占字节数。 # include using namespace std; int main() { cout << "字符'a' 所占字节数: " << sizeof('a') << endl; cout << "字符\"a\"所占字节数: " << sizeof("a") << endl; cout << "字符串\"China\" 所占字节数: " << sizeof("China") << endl; cout << "整型常量默认为int,int型所占字节数: " << sizeof(136) << endl; cout << "短整型short类型所占字节数: " << sizeof(short) << endl; cout << "实型常量.23456默认为double类型,double字节数:" << sizeof(1.23456) << endl; cout << "float型数据所占字节数:" << sizeof(float) << endl; cout << "double型数据所占字节数:" << sizeof(double) << endl; cout << "bool型数据所占的字节数:" << sizeof(bool) << endl; return 0; } 1)人工分析程序,写出应得结果,上机后将二者对照。 2)仿照上述程序输出基本数据类型char, short, int, long double, float, double,bool的数据类型长度。 3)为什么字符串长度比总字符个数还要多1? 2、先阅读下列程序,写出执行结果(有些程序可能存在错误,请调试、改正) (1) #include using namespace std; int main()

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

3 数据类型、运算符与表达式 一、单项选择题 1、以下选项中,不正确的 C 语言浮点型常量是( C )。 A. 160. B. 0.12 C. 2e4.2 D. 0.0 分析:e 后面的指数必须为整数。 2、以下选项中,( D )是不正确的 C 语言字符型常量。 A. 'a' B. '\x41' C. '\101' D. "a" 分析:在C 语言中,’a ’表示字符常量,”a ”表示字符串。 3、 在 C 语言中,字符型数据在计算机内存中,以字符的(C )形式存储。 A.原码 B.反码 C. ASCII 码 D. BCD 码 分析:将一个字符常量放入一个字符变量中,实际上并不是将字符本身放到内存单元中,而是将字符的对应的ASCII 码放到储存单元中。 4、若x 、i 、j 和k 都是int 型变量,则计算下面表达式后,x 的值是( C )。 x=(i=4,j=16,k=32) A. 4 B. 16 C.32 D.52 分析:(i=4,j=16,k=32)的值为最后一个表达式的值,即为32,所以x=32. 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 分析:C 选项表达的是3ace/b 。 7、表达式!x||a==b 等效于( D )。 A. !((x||a)==b) B. !(x||y)==b C. !(x||(a==b)) D. (!x)||(a==b) 分析:由符优先级先后顺序在!x||a==b 中应先算“||”再算“!”,最后算“==”。选项B 不影响运算顺序。 8、设整型变量 m,n,a,b,c,d 均为1,执行 (m=a>b)&&(n=c>d)后, m,n 的值是( A )。 A. 0,0 B. 0,1 C. 1,0 D. 1,1 分析:先算括号里面的,a 不大于b ,则m=0,c 不大于d ,则n=0. 9、 设有语句 int a=3;,则执行了语句 a+=a-=a*=a;后,变量 a 的值是( B )。 A. 3 B. 0 C. 9 D. -12 分析:从后往前算,a*=a 即a=a*a ,a=9;然后a-=a=9,a=a-9,=0;a+=0,a=a+a=0. 10、在以下一组运算符中,优先级最低的运算符是( D )。

java基本数据类型习题(选择24)

1、下列哪一个是合法的标识符: A、12class; B、+viod; C、-5; D、_black; 2、下列哪一个不是JAVA语言中保留字: A、if; B、sizeof; C、private; D、null; 3、下列描述中正确的一项是: A、标识符首字符的后面可以跟数字; B、标识符不区分大小写; C、复合数据类型变量包括布尔型、字符型、浮点型; D、数组属于基本数据类型; 4、下列哪一项不属于变量的组成部分: A、变量名; B、变量属性; C、变量初值; D、变量大小; 5、下列关于变量组成部分描述正确的一项是: A、变量名不是标识符;

B、变量名是标识符; C、浮点型属于复合类型; D、变量属性分为:基本类型和符合类型; 6、下列选项中,哪一项不属于JAVA语言的简单数据类型: A、整数型; B、数组; C、字符型; D、浮点型; 7、下列关于变量作用域的描述中,不正确的一项是: A、变量属性是用来描述变量作用域的; B、局部变量作用域只能是它所在的方法的代码段; C、类变量能在类的方法中声明; D、类变量的作用域是整个类; 8、下列关于基本数据类型的说法中,不正确的一项是: A、boolean是JAVA非凡的置值,或者为真或者为假; B、float是带符号的32位浮点数; C、double是带符号的64位浮点数; D、char应该上是8位的Unicode字符; 9、下列关于溢出的说法中,正确的一项是: A、一个整型的数据达到整型能表示的最大数值后,再加1,则机器产生上溢,结果为整型的最大值; B、一个整型的数据达到整型能表示的最小数值后,再减1,

基本数据类型和表达式

第一章 基本数据类型和表达式 C++数据类型 为什么要分数据类型 不同的数据类型存储格式不同。 不同的数据类型所实施的操作不同 C++数据类型 1、整形数据 各种整形数据的基本情况 数据类型 占用字节(跟编译器有关) 数据范围 short 2 bytes -32768~32767 unsigned short 2 bytes 0~65535 int 2bytes(16位机) 4 bytes(32位机) -32768~32767 -(231)~231-1 unsigned int 2bytes(16位机) 4bytes(32位机) 0~65535 0~232-1 long 4bytes -( 231)~231 -1 unsigned long 4 bytes 0~2 32 -1 整形常量 在整形常量后可加修饰符 l 或 L 表示长整型 基本类型 实型(浮点型) 双精度型( double)

十进制整数:以非零的数字开始 123//signed int 65000//unsigned int 123u//unsigned int 123L//singed long int 八进制整数:以零开始 0123=83//unsigned int 011L=9//unsigned long int 十六进制整数:以0X或0x开始 0x123=291//signed int 0X123u=291//unsigned int 整型变量 类型修饰符变量名[=表达式][,变量名[=表达式]] int x,y; int i=1,j=0; 2字符型数据 字符型数据的基本情况 字符类型: 在内部实现是个单字节长度的整型,因此常用字符型定义值较小的整数。 单引号括起来的一个字符 如’a’,’D’,’?’,’S’ 字符数据在内存中的存储形式 以ASCII码存储,占1字节,用7位 用于表示字符时存放的是字符的ASCII码值。 数据类型占用字节数据范围 char 1Byte -128~127 unsigned char 1Byte 0~255 转义字符 转义序列对应ASCII码值对应功能或字符转义序列对应ASCII码值对应功能或字符 \b 8 退格\’39 单引号 \f 12 换页\’’34 双引号 \n 10 换行\? 63 问好 \r 13 回车\ccc ccc为八进制值该值对应的字符 \t 9 水平制表\\xhh hh为十六进制值该值对应的字符

基本数据类型与基本运算

第二章基本数据类型与基本运算 本章主要介绍程序设计中高级语言提供的数据类型和其上允许的基本运算。在介绍这些内容时,我们通过穿插一些实例介绍如何应用数据类型与基本运算来解决一些简单的问题。 2.1 数据类型的概念 2.1.1 为什么程序设计语言中要引入“数据类型”这一概念? 2.1.2 数据类型的概念 数据类型是程序设计语言中的一个非常重要的概念。那么,什么是数据类型呢? 数据类型是由该类型的数据的值域(即值集)和在这些数据上所有施加的运算的集合(即运算集或操作集)组成。值域指出了每一种数据类型的变量合法的数据取值范围,而运算集合则规定了每一种数据类型的变量和数据其上所允许进行的运算。值域和运算集是数据类型的两个基本属性。在下面介绍Pascal语言的数据类型的有关章节中,对每一种数据类型均将说明这两种属性。 2.1.3 数据类型的代数理论基础 一个数据类型是一个二元组(D,R)。其中,D是一个数据类型的值域,R是建立在D上的运算(操作)的集合。这个二元组构成了一个代数系统。其中,D叫做该系统的基集。从本质上说,一个代数系统就是一个带运算的集合,而一个数据类型就是一个代数系统。 从这个概念出发,程序设计语言理论在数据结构的基础上发展了一些数据和类型的代数理论。这些理论属于程序设计语言语义学的范畴,将来,有兴趣的学生在具备了比较深入的基础之后,可以作进一步的了解。 2.1.4 Pascal语言中数据类型的分类 Pascal语言的优点之一是有丰富的数据类型,按照其定义者的不同可分为下面几类,如表2-1所示。 整数类型 实数类型 系统预定义的数据类型布尔类型(逻辑类型) 基本(标准)数据类型 字符类型 Pascal 枚举类型 数据类型子界类型 数组类型 用户自定义的数据类型记录类型构造型数据类型 集合类型 文件类型 指针类型 图2-1 Pascal的数据类型 2.2 基本数据类型 本节介绍四种基本数据类型(Elementary Date Type),它们是整数类型、实数类型、布尔类型(逻辑类型)和字符类型。基本数据类型又称为标准数据类型(Standard Date Type),我国国家标准中将它改称为需求数据类型。基本数据类型是语言系统预先定义或规定的数据类型。 2.2.1 整数类型 整数类型(Integer Date Type)简称整型,在Pascal语言中用类型标识符integer表示整数类型。整型的数据可以是正整数、负整数和零,其中,正整数和零可以省略“+”号。 1.整数类型的值域 任何计算机系统由于受机器字长的限制,它所能表示的整数只是数学中整数集合的一个有穷的子集合。其中,最大整数为maxint,它的值与具体机器的字长有关。一般地,若机器的字长为W时(假设用一位表示数符),由于整数在机器内采用二进制补码表示,因此,

C语言基本数据类型及运算题库

第二章基本数据类型及运算 一、选择题 1. 若以下选项中的变量已正确定义,则正确的赋值语句是。 A) x1=26.8%3; B) 1+2=x2; C) x3=0x12; D) x4=1+2=3; 答案:C 2. 设变量x为float型且已经赋值,则以下语句中能够将x中的数值保留到小数点后面两位,并将第三位四舍五入的是。 A) x=x*100+0.5/100.0 B) x=(x*100+0.5)/100.0 C) x=(int)(x*100+0.5)/100.0 D) x=(x/100+0.5)*100.0 答案:C 3. 下列C语言中运算对象必须是整型的运算符是。 A) %= B) / C) = D) *= 答案:A 4. 若有以下程序段:int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是。 A) 0 B) 0.5 C) 1 D) 2 答案:A 5. 设x和y均为int型变量,则以下语句:x+=y; y=x-y; x-=y; 的功能是。 A) 把x和y按从大到小排列 B) 把x和y按从小到大排列 C) 无确定结果 D) 交换x和y中的值 答案:D 6. 下列变量定义中合法的是。 A)short_a=1-.le-1; B)double b=1+5e2.5; C)long do=0xfdaL; D)float 2_and=1-e-3; 答案:A 7. 以下4个选项中,不能被看作是一条语句的是。 A) {;} B) a=0,b=0,c=0; C) if (a>0); D) if (b==0)m=1;n=2; 答案:D 8. 设x=1,y=-1,下列表达式中解为8的是。 A)x&y B)~x│x C)x^x D)x<<=3 答案:D 9. 在C语言中不合法的整数是。 A)20 B)0x4001 C)08 D)0x12ed 答案: C 10. 以下选项中不正确的实型常量是 A)2.607E-1 B)0.8103e0.2 C)-77.77 D)456e –2 答案:B) 11.若变量已正确定义并赋值,符合C语言语法的表达式是 A)a=a+7 B)a=7+b+c,a++ C)int(12.3%4) D)a=a+7=c+b 答案:B) 12.以下十六进制数中不合法的是 A)oxff B)0Xabc C)0x11 D)0x19

基本数据类型与数值表达式

基本数据类型与数值表达式 一、知识要点 计算机的基本功能是进行数据处理。在C++语言中,数据处理的基本对象是常量和变量。运算是对各种形式的数据进行处理。数据在内存中存放的情况由数据类型所决定。数据的操作要通过运算符实现,而数据和运算符共同组成了表达式。本章是对C++语言中的数据类型、运算符、表达式等内容的全面介绍,要正确理解其特点,并灵活运用,主要掌握以下的知识要点: 1.掌握常量和变量的概念。 2.掌握整型数据和实型数据、字符型数据和字符串型数据的概念和区别。 3.掌握各种类型的变量说明及其初始化。 4.掌握算术运算、关系运算、逻辑运算、赋值运算、逗号运算、条件运算等概念。 5.掌握运算符的优先级、左结合和右结合规则。 6.掌握表达式求值时的自动转换和强制类型转换。 7.掌握自加、自减运算的规则。 8.掌握常用数学函数的功能。 二、例题分析与解答 1.选择题 例题1:运算符+、=、*、>=中,优先级最高的运算符是()。 A.+ B.= C.* D.>= 答案:C 分析:根据C++语言对运算符优先级的规则,以上运算符优先级从低到高的次序为=、>=、+、*。 例题2:下列说法正确的是()。 A.cout<<”\n”是一个语句,它能在屏幕上显示”\n” B.\68代表的是字符D。

C.1E+5的写法正确,它表示余割整型常量。 D.0x10相当于020。 答案:D 分析:分号是语句的已部分,且\n是转义字符;\68代表了八进制的6、8,而八进制中没有数字8;1E+5是实型常量;十六进制的10相当于十进制的16,相当于八进制的20。 例题3:下列不合法的变量名为()。 A.int B.int1 C.name_1 D.name0 答案:A 分析:根据变量名命名要求,变量名只能由大小写字母、数字、下划线组成,且系统关键字不能作为变量名。 例题4:下面正确的为()。 A.4.1/2 B.3.2%3 C.3/2==1 结果为1 D.7/2 结果为3.5 答案:A 分析:%运算符要求式整型;关系运算值为0;两个整数相除,商为为相除后的整数部分。 例题5:已知a=4,b=6,c=8,d=9,则“(a++,b>a++&&c>d)?++d:a

常用数据类型的使用

刚接触编程地朋友往往对许多数据类型地转换感到迷惑不解,本文将介绍一些常用数据类型地使用. 我们先定义一些常见类型变量借以说明 ; ; ; ; []"程佩君"; []; *; ; ; ; 一、其它数据类型转换为字符串 短整型() ()将转换为字符串放入中,最后一个数字表示十进制 (); 按二进制方式转换 长整型() (); 浮点数() 用可以完成转换,这是中地例子: , ; *; ; ( , , , ); 运行结果: : '' : : 资料个人收集整理,勿做商业用途 表示小数点地位置表示符号为正数,为负数 变量 "北京奥运"; ()(); 变量 ("程序员"); * (); 资料个人收集整理,勿做商业用途 (); (); (); 变量 (""); * (); 资料个人收集整理,勿做商业用途 (); (); 变量 类型是对地封装,因为已经重载了操作符,所以很容易使用 ("");

* 不要修改中地内容 (); 通用方法(针对非数据类型) 用完成转换 []; ''; ; ; ; ( , ""); ( , ""); ( , ""); ( , ""); 二、字符串转换为其它数据类型 (,""); 短整型() (); 长整型() (); 浮点() (); 变量 ; 变量 ("程序员"); 完成对地使用 (); 变量 类型变量可以直接赋值 (""); (); 变量 类型地变量可以直接赋值 (""); (); 三、其它数据类型转换到 使用地成员函数来转换,例如: 整数() (""); 浮点数() (""); 字符串指针( *)等已经被构造函数支持地数据类型可以直接赋值 ; 对于所不支持地数据类型,可以通过上面所说地关于其它数据类型转化到*地方法先转到*,

数据类型及表达式练习题

数据类型及表达式习题 1.选择题 1.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为x=(i=4,j=16,k=32) A) 4 B) 16 C) 32D) 52 2.下列四组选项中,均不是C语言关键字的选项是( ) A) define IF type B) getc c har printf C) include case scanf D) while go pow 3.下列四组选项中,均是不合法的用户标识符的选项是( ) A) W P_0 do B) b-a goto int C) float la0 _A

D) -123 abc TEMP 4.下列四组选项中,均是合法转义字符的选项是( ) A) ‘\”’‘\\’‘\n’ B) ‘\’‘\017’‘\”’ C) ‘\018’‘\f’‘xab’ D) ‘\\0’‘\101’‘xlf’ 5.下面正确的字符常量是( ) A) “c”B) ‘\’’C) ‘’D)‘K’ 6.以下叙述不正确的是( ) A) 在C程序中,逗号运算符的优先级最低 B) 在C程序中,MAX和max是两个不同的变量 C) 若a和b类型相同,在计算了赋值表达式a=b后,b中的值将放入a中,而b中的值不变

D) 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值 7.以下叙述正确的是( ) A) 在C程序中,每行只能写一条语句 B) 若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数 C)在C程序中,%是只能用于整数运算的运算符 D) 在C程序中,无论是整数还是实数,都能被准确无误地表示8.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2=‘A’+‘6’-‘3’后,c2中的值为( ) A) D B) 68 C) 不确定的值D) C 9.sizeof(float)是( ) A) 一个双精度型表达式B) 一个整型表达式 C)一种函数表达式D) 一个不合法的表达式

a 基本数据类型

Java 中的基本数据类型 Java 中的数据类型可以分为两种: 基本数据类型 整型 byte short int long 浮点型 float double 字符型 char 布尔型 boolean 引用数据类型 可以说,除了基本类型以外的所有类型都是引用数据类型 主要包括类,接口,数组等 如下图所示 基本数据类型在内存中的分配 数据类型 基本数据类型 引用数据类型 数值型 字符型(char ) 布尔型(boolean ) 整数类型(byte, short, int, long ) 浮点类型(float, double ) 类(class ) 接口(interface ) 数组( [ ] )

注意!:表格里的^代表的是次方 基本数据类型的转换 有两种方式:自动转换和强制转换,通常发生在表达式中或方法的参数传递时。 1 自动转换 具体地讲,当一个较“小”数据与一个较“大”的数据一起运算时,系统将自动将“小”数据转换成“大”数据,再进行运算。而在方法调用时,实际参数较“小”,而被调用的方法的形式参数数据又较“大”时(若有匹配的,当然会直接调用匹配的方法),系统也将自动将“小”数据转换成“大”数据,再进行方法的调用,自然,对于多个同名的重载方法,会转换成最“接近”的“大”数据并进行调用。这些类型由“小”到“大”分别为(byte,short,char)--int--long--float—double。这里我们所说的“大”与“小”,并不是指占用字节的多少,而是指表示值的范围的大小。 例如 byte b=10; int i=b;(将byte数据向int赋值时,完成了自动转换) char c=’A’; int i=c;(这时会将’A’对应的ASCII码值赋值给i) 2 强制转换 将“大”数据转换为“小”数据时,你可以使用强制类型转换。 例如: int n=(int)1.23456; 输出结果为1 可以想象,这种转换肯定可能会导致溢出或精度的下降。 注意

数据类型、运算表达式

第二章数据类型、运算符与表达式 【章节计划】 【目的要求】 1.了解程序设计概述及C语言的数据类型分类 2.理解变量和常量的相关概念及分类。 3.掌握在C语言中字符型数据的定义及使用,算术运算符 及表达式的使用。 4.掌握在C语言中的特有的运算和运算符的使用,赋值运 算符运算符及表达式的使用。 【教学重点】1、变量和常量的相关概念及分类。 2、C语言中字符型数据的定义及使用,算术运算符及表 达式的使用。 3. C语言中的特有的运算和运算符的使用。 【教学难点】1、C语言中的特有的运算和运算符的使用。 2、赋值运算符运算符及表达式的使用。 【教学内容】 2.1 程序设计概述 2.2 C语言的数据类型 2.3 常量和变量 2.4 整型数据 2.5 实型数据

2.6 字符型数据 2.7 算术运算与算术表达式 2.8 赋值运算与赋值表达式 2.9 C语言特有的运算和运算符 【学时分配】§2-1 ~§2-5 2学时 §2-6 ~§2-9 2学时 实验4学时 习题2学时 共计:10学时

第2章数据类型、运算符与表达式(第二讲) 【课题】:数据类型、运算符与表达式(一) 【目的与要求】:1.了解程序设计概述及C语言的数据类型分类, 2.理解变量和常量的相关概念及分类。 【教学重点】常量和变量数据类型的定义及使用 【教学难点】C语言整型、实型数据类型的定义方法 【教学方法】:引导讲解式 【教具】:电子课件、turboc2.0 【学时分配】:两学时 讲授90分钟 小结10分钟 【课型】:理论教学 【参考资料】谭浩强主编《C程序设计》,清华大学出版社,1999 徐建民主编《C语言程序设计》,电子工业出版社,2002 【后记】 【审批】

C语言基本数据类型及运算题库1

基本数据类型及运算 一、选择题 1.若以下选项中的变量已正确定义,则正确的赋值语句是。 A)x1=26.8%3;B)1+2=x2;C)x3=0x12;D)x4=1+2=3; 答案:C 2.设变量x为float型且已经赋值,则以下语句中能够将x中的数值保留到小数点后面两位,并将第三位四舍五入的是。 A)x=x*100+0.5/100.0B)x=(x*100+0.5)/100.0 C)x=(int)(x*100+0.5)/100.0D)x=(x/100+0.5)*100.0 答案:C 3.下列C语言中运算对象必须是整型的运算符是。 A)%=B)/C)=D)*= 答案:A 4.若有以下程序段:int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是。 A)0B)0.5C)1D)2 答案:A 5.设x和y均为int型变量,则以下语句:x+=y;y=x-y;x-=y;的功能是。 A)把x和y按从大到小排列B)把x和y按从小到大排列 C)无确定结果D)交换x和y中的值 答案:D 6.下列变量定义中合法的是。 A)short_a=1-.le-1;B)double b=1+5e2.5; C)long do=0xfdaL;D)float2_and=1-e-3; 答案:A 7.以下4个选项中,不能被看作是一条语句的是。 A){;}B)a=0,b=0,c=0; C)if(a>0);D)if(b==0)m=1;n=2; 答案:D 8.设x=1,y=-1,下列表达式中解为8的是。 A)x&y B)~x│x C)x^x D)x<<=3 答案:D 9.在C语言中不合法的整数是。 A)20B)0x4001C)08D)0x12ed 答案:C 10.以下选项中不正确的实型常量是 A)2.607E-1B)0.8103e0.2C)-77.77D)456e–2 答案:B) 11.若变量已正确定义并赋值,符合C语言语法的表达式是 A)a=a+7B)a=7+b+c,a++ C)int(12.3%4)D)a=a+7=c+b 答案:B) 12.以下十六进制数中不合法的是 A)oxff B)0Xabc C)0x11D)0x19

实验数据类型与表达式

实验 2 数据类型与表达式 实验目地 掌握C++语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值地方法; 懂得转义字符地使用;了解基本数据类型地字节宽度;进一步熟悉C++程序地编辑、编译、连接和运行地过程;掌握数据地输入输出地方法; 掌握运算符地优先级和结合性,能够正确书写表达式;掌握不同地类型数据之间运算地类型转换规则,理解自动类型转换和会使用强制类型转换. 实验内容: 1、基本数据类型地长度 验证你地C++编译环境中每个基本数据类型地长度<即在内存空间所占地字节个 数) . 用sizeof 运算符获取类型或数据地所占字节数. b5E2RGbCAP # include usingnamespace std 。 int main(> { cout << " 字符'a' 所占字节数: " << sizeof ('a' > << endl 。 cout << "字符\"a\" 所占字节数:"<< sizeof("a"> << endl。 cout << " 字符串\"China\" 所占字节数: " << sizeof ("China" > << endl 。p1EanqFDPw cout << " 整型常量默认为int,int 型所占字节数: " << sizeof (136> << endl 。DXDiTa9E3d cout << "短整型short 类型所占字节数:"<< sizeof (short > << endl。RTCrpUDGiT cout << " 实型常量.23456 默认为double 类型,double 字节数:" << sizeof (1.23456> << endl 5PCzVD7HxA cout << "float 型数据所占字节数:" << sizeof (float > << endl 。 cout << "double 型数据所占字节数:" << sizeof (double > << endl 。jLBHrnAILg cout << "bool 型数据所占地字节数:" << sizeof (bool > << endl 。return 0 。 } 1)人工分析程序,写出应得结果,上机后将二者对照. 2)仿照上述程序输出基本数据类型char, short, int, long double, float, double, bool 地数据类型长度. xHAQX74J0X 3)为什么字符串长度比总字符个数还要多1? 2、先阅读下列程序,写出执行结果( 有些程序可能存在错误,请调试、改正> #include using namespace std

基本数据类型习题-答案

一、选择题 1、下列变量定义错误的是。 (D) A) int a; B) double b=; C) boolean b=true; D)float f=; 2、下列数据类型的精度由高到低的顺序是:(B) a)float,double,int,long b)double,float,int,byte c)byte,long,double,float d)double,int,float,long 3、执行完下列代码后, (A) int a=3; char b='5'; char c=(char)(a+b); c的值是? A)’8’ b)53 c)8 d)56 4、Unicode是一种_____________(C) A) 数据类型 B)java包 C)字符编码 D)java类 5、6+5%3+2的值是___________(D) A)2 B)1 C) 9 D)10 6、下面的逻辑表达式中合法的是__________(C) A)(7+8)&&(9-5) B)(9*5)||(9*7) C)9>6&&8<10 D)(9%4)&&(8*3) 7、java语言中,占用32位存储空间的是__________。(D) A)long,double B)long,float C)int,double D)int,float 8、假设int a=1,b=2,c=3,以下语句正确的是___________。(D) c=c/float(a2 C87L8.4f B) -20 C) 1,000 D) 4 5 6 13、以下选项中,合法的赋值语句是( )。(D) A) a = = 1; B) ++ i; C) a=a + 1= 5; D) y = int ( i ); 14、若所用变量都已正确定义,以下选项中,非法的表达式是( )。(C) A) a != 4||b==1 B) 'a' % 3 C) 'a' = 1/2 D) 'A' + 32 15、若有定义int a = 2;则执行完语句a += a -= a * a; 后,a的值是( )。(A) A) 0 B) 4 C) 8 D) –4 16、下列程序段执行后t1的结果是( )。(B) int x1 = 9, x2 = 6, t1; t1 = x1 > x2 ? x1 : x2; A) 6 B) 9 C) 11 D) 3 17、对于一个三位的正整数 n,取出它的十位数字k(k为整型)的表达式是( )。(A) A) k = n / 10 % 10 B) k = ( n - n / 100 * 100 )%10 C) k = n % 10 D) k = n / 10

基本数据类型的使用

数据类型、运算符和表达式 一、实验内容 1、写出一个程序测试用户系统中各种数据类型的长度。 #include int main(void) {printf(“字符类型数据的字长为%d\n”,sizeof(char)); printf(“短整型类型数据的字长为%d\n”,sizeof(short)); printf(“整型类型数据的字长为%d\n”,sizeof(int)); printf(“长整型类型数据的字长为%d\n”,sizeof(long)); printf(“浮点数类型数据的字长为%d\n”,sizeof(float)); printf(“双精度类型数据的字长为%d\n”,sizeof(double)); return 0; } 2、指出下面程序错误所在 #include main(); float r,s; r=5.0; s=3.14159*r*r; printf(“%f”,s); 3、常见转义字符对输出的控制作用。 main() { int a,b,c; a=5,b=6,c=7; printf("12345678123456781234567812345678\n"); /* 打印一个标尺以便检查输出结果*/ printf("%d\n\t%d %d\n %d %d\t\b%d\n",a,b,c,a,b,c); /* 打印1个字符串*/ printf("c:\\a.txt"); /* 打印一个文件名*/ printf("\n"); } 4、整型数据的溢出错误。 整型(int型)数据的表达范围是-32768~32767,如果最大允许值32767+1,最小允许值-32768-1,会出现什么情况? main() { int a,b; a=32767; b=a+1; printf("a=%d,a+1=%d\n",a,b); a=-32768;

作业1-数据类型与表达式

一、判断题(每小题2分,共40分) 1.++和--运算符可以作用于常量。 2.整型数据和字符型数据的类型不同,它们之间不能进行运算。 3.变量的类型经过强制类型转换运算后其类型就改变了。 4.C++提供自增(++)和自减(--)运算符,可以将变量加1或减1。如果运算符放在变量前 面,则变量先加1(减1),然后在表达式中使用。如果运算符放在变量后面,则变量先加1(减1)然后在表达式中使用。 5.true值可以表示任何非0值,false值也可以表示0值。 6.表达式由常量、变量、运算符、函数、圆括号等按一定规则组成的式子。但单独的常量 或变量不是表达式。 7.实型数赋值给整型时,仅取整数部分赋值,当整数部分的值超出整型变量的范围时,产 生溢出,结果出错。 8.C++中逗号也是一种运算符,在所有运算符中优先级最低。 9.字符串常量:简称字符串,它们是用双引号括起来的字符序列,例如,“Hello,world! \n”。 10.字符可以是字符集中任意字符。但数字被定义为字符型之后就不能参与数值运算 11.用const修饰的标识符称为符号常量因为符号常量同样需要系统为其分配内存,所以又 称为const变量符号常量在使用之前一定要先进行声明 12.C++语言允许对整型变量赋以字符值,也允许对字符变量赋以整型值。在输出时,允许 把字符变量按整型量输出,也允许把整型量按字符量输出。 13.C++语言标识符是以字母或下划线下开头的,由字母,数字和下划线组成的字符串。 14.一个赋值表达式中使用多个赋值运算符可实现多个变量赋值的功能,如表达式(x=y =z=2)与操作序列(z=2;y=z;x=y;)是等价的。 15.变量是在程序的执行过程中其值可以改变的量。变量有数据类型和初值。变量在使用之 前必须首先声明其类型和名称。 16.字符值是以ASCII码的形式存放在变量的内存单元之中的。如x的十进制ASCII码是 120,y的十进制ASCII码是121。 17.字符常量只能用单引号括起来,不能用双引号或其它括号。

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

基本数据类型、运算符和表达式 (总分:56.00,做题时间:90分钟) 一、选择题 (总题数:21,分数:42.00) 1.阅读下面程序 public static void main (String[] args) System.out.printIn (34+56-6); System.out.printIn (26*2-3); System.out.printIn (3*4/2); System.out.printIn (5/2); 程序运行结果是______。 (分数:2.00) A.84 49 6 2 √ B.90 25 6 2.5 C.84 23 12 2 D.68 49 14 2.5 解析:[解析] 第一条输出语句中,+、-是同优先级的运算符,按照左结合的原则,表达式34+56-6的值应该是84。第二条输出语句中,*的优先级高于-,先算26*2=52,再进行减法运算:52-3=49。第三条输出语句中,+与/是同优先级的运算符,按照左结合可以得到3*4/2的值为6。第四条输出语句中,两个整型数据做除法运算,其结果也应该为整型数据,所以结果是2,而不是2.5。 2.下列属于合法的Java标识符是______。 (分数:2.00) A."ABC" B.&5678 C.+rriwo D.saler √

解析:[解析] Java中所有的变量、常量、对象和类都用标识符命名,其命名规则为:(1)只能以字母、下画线、美元符($)作为首字符,不能用数字或其他符号(如*)作为标识符的首字符。(2)标识符是区分大小写的。只有D项是正确的。 3.阅读下面程序 public class OperatorsAndExpressions void equalsMethodl() String s1=new String("how are you"); String s2=new String("how are you"); System.out.printIn (s1==s2); public static void main (String args[]) OperatorsAndExpressions OperAndExp=new OperatorsAndExpressions(); //用于复合类型数据的"= ="运算符 OperAndExp.equalsMethodl(); 程序运行结果是______。 (分数:2.00) A.== B.true C.false √ D.equal 解析:[解析] 本程序的运行结果应该是表达式s1=s2的结果。字符串对象s1和s2是复合数据类型,因而表达式s1=s2比较的是s1和s2是否是同一个对象。本题中s1和s2虽然有相同的值“how are you”,但它们是两个不同的对象,所以本题的结果是false。若要比较两个对象的值,可以调用equals()方法。4.下列代码中,将引起编译错误的行是______。 1) public class Exercise 2) public static void main (String args[]) 3)float f=0.0; 4) f+=1.0; 5) 6) (分数:2.00) A.第2行 B.第3行√ C.第4行 D.第6行 解析:[解析] float f=0.0;语句中,想要定义一个float型变量f,并且赋初值为0.0,但是数字后面没有跟任何字母,计算机默认为double类型,而从double类型不能自动转换为float,所以该语句将引起编译错误。 5.阅读下面程序 public class Test2 public static void main (String args[]) int a=10, b=4, C=20, d=6; System.out .printIn(a++*b+c*--d);

相关文档
相关文档 最新文档