文档库 最新最全的文档下载
当前位置:文档库 › 第三章 数据类型与运算符 习题

第三章 数据类型与运算符 习题

第三章 数据类型与运算符  习题
第三章 数据类型与运算符  习题

第三章数据类型

一、选择题:

1、以下标识符中,不能作为合法的C用户定义标识符的是()

A)putchar B)double

C)_123 D)INT

2、下列字符序列中, 不可用作C 语言标识符的是()

A. b70

B. #ab

C. symbol

D. a_1

3.以下不能定义为用户标识符的是:(C)

A. MAIN

B. _HJ

C. 208ong

D. LINE12

4. 以下是正确的字符常量是:( B)。

A. "c"

B. '\\'

C. 'W1'

D. "\32a"

5. 以下各项是错误的整型常量的是:(B )

A. -0xcdf

B. 018

C. 0xe

D. 011

6、下列四组选项中,均不是C语言关键字的选项是:( A)

A) define B) getc C) include D) while

IF char scanf go

type printf case pow

7、下面四个选项中,均是正确的八进制数或十六进制数的选项是:(C )

A) -10 B) 0abc C) 0010 D) 0al2

0x8f -017 -0x11 -0xl23

-011 0xc 0xf1 -0x8

8、下面四个选项中,均是正确的数值常量或字符常量的选项是: ( D )

A) 0.0 B) "a" C) '3' D) +001

0f 3.9E-2.5 011 0xabcd

8.9e lel0xFFOO 2e2 '&'

'\' '' 0a 50.

9、下面不正确的字符串常量是:( A)。

A) 'abc' B) "12'12" C) "0" D) ""

10.设int类型的数据长度为2字节,则该类型数据的取值范围是:(D)

A. 0至65536

B. 0至65535

C. -32767至32768

D. -32768至32767

11、在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为(

A )

A)char < int < 1ong int <= float < double

B)char = int < 1ong int <= float < double

C)char < int < 1ong int = float = double

D)char = int = 1ong int <= float < double

12.若有以下程序段(n所赋的是八进制数)

int m=32767,n=0327;

printf("%d,%o\n",m,n);

执行后输出结果是:()

A) 32767,327 B) 32767,0327 C) 32767,777 D) 32767,0777

13.设变量a是整形,f是实型,i是双精度型,则表达式10+′a′+i*f值的数据类型为:()

A. int

B. float

C. double

D. 不确定

14. 在C语言中,char型数据在内存中的存储形式是:()

A. 补码

B. 反码

C. 源码

D. ASCII码

15. 字符串"a"在内存中占据的字节个数为:()

A. 0

B. 1

C. 2

D. 3

16.下列为字符常量的是:()

A.“a”B. ...ab?C....\n?D. (084)

17.在C语言中,下面字符串能用作变量名的是:()

A. a+b

B. auto

C. 2-and

D. a2

18.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句

c2 = 'A' + '6' - '3';后c2中的值为( )

A) D B) 68 C) 不确定的值D) C

19.下列为字符常量的是()A.“a”B. ...ab?C....\n?D. (084)

20.在C语言中,下面字符串能用作变量名的是()A. a+b B. auto C. 2-and D. a2

二、填空题:

1. 在C语言中的实型变量分为两种类型,它们是_ __ 和 ___ ___。

2.将下列字符串表示成C语言的字符串常量

(1)C:\TC\LIB_____________

(2)He said:"I’m a student."________________

(3)85% student passed.____________________________

3.在C语言中,标识符中英文字母的大小写________(是/不是)等价的。换句话说,sum、

Sum、SUM是3个_______(相同/不同)的标识符。

4.已知char w; int x; float y; double z;

则表达式:w * x + z - y所求得的数据类型为。

5.变量名由字母、数字和下划线组成,并且必须是______打头。

6. C语言的数据类型分为基本类型、构造类型、指针类型和空类型。(正确/错误)。

7.已知字母a的ASCII码为十进制数97,且设ch为字符型变量,

则表达式ch = 'a' + '8' - '3'的值为。

三、看程序写结果

1.如果对以下程序进行编译和运行,其结果为________。

main()

{int x,y; x=555;y=x+2;

y=x+2;

printf(“x=%d”,x,y);}

2.执行以下程序,写出程序运行结果________。

main()

{

int c1,c2;

c1=97;

c2=98;

printf("%c %c\n",c1,c2);

printf("%d %d\n",c1,c2);

}

3.执行以下程序,写出程序运行结果________。

main()

{ char c1, c2;

c1='A' ; c2='a' ;

c1=c1+2 ; c2=c2+2 ;

printf("%d %c", c1, c2) ;

}

参考答案

一、选择题:

1、B

2、B

3、C

4、B

5、B

6、A

7、C

8、D

9、A 10、D 11、A 12、A 13、C 14、D 15、C 16、C 17、D 18、A

二、填空题:

1、float double

2、(1)”c:\\TC\\LIB”

(2)”He said :\”I\? am a student”

(3)”85%% student passed”

3、不是,不同

4、double

5、字母、下划线

6、正确

7、‘f’

三、看程序写结果

1、x=555

2、 a b

97 98

3、67 c

第三章运算符和表达式

一、选择题:

1、以下运算符中,优先级最高的运算符是()

A. =

B. !=

C. *(乘号)

D. ()

2、若有以下定义,则能使值为3的表达式是()

int k=7, x=12;

A. x%=(k%=5)

B. x%=(k-k%5)

C. x%=k-k%5

D. (x%=k)-(k%=5)

3、设在tc2.0中有整型变量x,y,z均为3,表达式(x++)+(y++)+(z++)的值是 ( )

A. 6

B. 7

C. 8

D. 9

4、有以下程序运行后的输出结果是:()

main()

{ char a='A',b;

print("%c,",++a);

printf("%c\n",b=a++);

}

A. B,B

B. B,C

C. A,B

D. A,C

5、有以下程序运行后的输出结果是:()

main()

{ char a='a';

printf ("%c,",++a);

printf("%c\n",a++);

}

A)b,b B)b,c C)a,b D)a,c

6、设a=6,b=4,则表达式b*=a+3的值为:()

A)3 B)18 C)27 D)36

7、有如下程序段,其输出结果是: ( )

int a=3;

float b=15.6,f=1.5;

printf(“%d”,a+(int)b/2+(int)f%3);

A)10 B)11 C)12 D)13

8、以下程序的输出结果是:()

main( )

{int a=3 ;

printf ( "%d %d\n " , a , a++) ; }

A. 4 3

B. 4 4

C. 5 3

D. 5 4

9、以下程序的输出结果是()。

main( )

{

int a=10;

printf ( "%d %d\n " , a , a++) ; }

(A)11 10 (B)11 11 (C)12 20 (D)12 11

10、若有定义:int a=8,b=5,c;执行语句c=a / b+0.4 ; 后c的值为()。

(A)1.4 (B)1 (C)2.0 (D)2

11、若x,i,j和k都是int型变量, 则执行下面表达式x = (i = 4, j = 16, k = 32)后x的值为( )

A) 4 B) 16 C) 32 D) 52

12、若有代数式3ae/bc,则不正确的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

13、以下不正确的叙述是:( )

A)在C程序中,逗号运算符的优先级最低

B)在C程序中,APH和aph是两个不同的变量

C)若a和b类型相同,在执行了赋值表达式a=b后b中的值将放人a中,而b中的值不变。

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

14、已知各变量的类型说明如下: ( )

int i = 8, k, a, b;

unsigned long w = 5;

double x = 1.42, y = 5.2;

则以下符合C语言语法的表达式是:

A) a += a -= (b = 4) * (a = 3) B) a = a * 3 = 2

C) x % (-3) D) y = f1oat(i)

15、若有定义:int a = 7; float x = 2.5, y = 4.7;

则表达式x + a % 3 * (int)(x + y) % 2 / 4的值是:( )

A) 2.500000 B) 2.7500OO C) 3.500000 D) 0.000000。

16、若x,i,j和k都是int型变量,则执行下面表达式后x的值为:( )

x = (i = 4, j = 16, k = 32)

A) 4 B) 16 C) 32 D) 52

17、假设所有变量均为整型,则表达式(a = 2, b = 5, b ++, a + b)的值是: ( )

A) 7 B) 8 C) 6 D) 2

18、若有代数式3ae/bc,则不正确的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

19.在C语言中运算对象必须是整型的运算符是:()

A. %

B. /

C. = =

D. <=

20.若有以下定义:int x=10,y=3,z; 则语句:printf(“%d\n”,z=(x%y, x/y));的输出结果为( ) A. 1 B. 0 C. 2 D. 3

21.下列哪一个表达式的值是整数类型( )。

A.15/2

B. 15/2+2.0

C.25/5.0

D.0.5*10

22.若double x=2,y;则执行y=x+3/2;后,y的值是()。

A. 3.500000

B. 3.000000

C. 2.000000

D. 3

23、以下运算符中优先级最低的是()

A) && B) & C) || D) |

24、设以下变量均为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)

25.设有以下定义

int a=0; double b=1.25; char c=’A’;

#define d 2

则下面语句中错误的是: ( )

(A) a++; (B) b++ (C) c++; (D) d++;

26.若有定义:int a=8,b=5,C;,执行语句C=a/b+0.4;后,c的值为:()(A) 1.4 (B) 1 (C) 2.0 (D) 2

27.若有以下程序:

main()

{int k=2,i=2,m;

m=(k+=i*=k); printf("%d,%d\n",m,i);

}

执行后的输出结果是:()

(A) 8,6 (B) 8,3 (C) 6,4 (D) 7,4

28.表达式b*=(b=3)+(a=10)的值为:()(A)3 (B)19 (C)27 (D)39

二、填空题:

1、若有以下定义int m=5,y=2;则计算表达式y+=y-=m*=y后的y值是。

2、若a为int型变量,则下面表达式的值为。

(a = 4 * 5, a * 2), a + 6

3、若a是int型变量,则执行表达式"a=25/3%3"后,a的值为。

4、s=3,s++,s; 这个语句执行完后,s的值为。

5、C语言中的标识符只能由三种字符组成,他们是字母、数字和。

6、已知 i=5;写出语句 a= -- i, 执行后整型变量 a 的值是。

7、设 x 的值为15,n 的值为2,则表达式 x*=n+3 运算后 x 的值是。

8、int x=2;x*=y=z=4; 则x的值为。

9、表达式 i++ 相当于表达式i= 。

10、若s是unsigned int型变量,则下面表达式的值是________。

s%2+(s+1)%2

11、程序段执行后c3的值是_______。

int c1=1,c2=2;

float c3;

c3=1/c2*c1;

12、已知’a’的ASCII码为97,printf(“%5c\n”,’e’)的输出是______;

printf(“%5d\n”,’e’)的输出是___________。

13、表达式:5%2=__________,2/3=__________。

14、在C语言中,单目运算符的结合方向(运算方向)是_____________;唯一的一个三目运算符是_____________。

15、设a,b,t 为整型变量,初值为a=7,b=9,执行完语句t=(a>b)?a:b后,t 的值是。

16、算术表达式 a=b+3 中, a、b 称为_________, 3 称为________,=、+称为_________。

17、若有定义:int b = 7;float a = 2.5,c = 4.7;

则表达式a + (int)(b / 3 * (int)(a + c) / 2) % 4的值为。

18.C语言中为了简化程序,提高程序的编译效率,在赋值运算符前面加上其他运算符号构成复合运算符。例如:x=x+5 用复合运算符可以写成。

19、表达式1/4+2.75的值是。

20、若a是int型变量,且a的初值为6,则计算表达式“a+=a-=a*a”后a的值为

21、若s是int型变量,且s=6,则表达式“s%2+(s+1)%2”的值为。

22、若x是int型变量,则执行表达式“x=(a=4,6*2)”后,x的值为。

23、若x和n均是int型变量,且x的初值为12,n的初值为5,

则执行表达式“x%=(n%=2)”后,x的值为。

24、设 int x=1/4;则x的值为。

25、若 char w,int x,float y,double z;则表达式w*x+z-y的结果为类型。

26、设 x 的值为15,n 的值为2,则表达式 x*=n+3 运算后 x 的值是。

27、假设有条件 int x=1,y=2,z=3;则表达式z+=x>y?++x:++y的值是。

28、int a = 2, b = 3; 表达式 a > b ? a ++ : ++ b的值为。

29、执行语句"a = 5 + (c = 6);"后,变量a、c的值依次为、。

30、表达式a = 3, a ++, - -a的值为。

31、设a、b、c为整型数,且a = 3,b = 5,c = 2,则执行完以下语句:

a *= 16 + (

b ++) - (++ c);后a的值是。

32、以下程序运行后的输出结果是

main( )

{ int a=1,b=4,c=2;

a=(a+b)/c;

printf(“%d \n”,--a);

}

运行结果;

33、设int a=3,b=5;float x=7.5,y=3.5;则表达式

(float)a+b/2+(int)x%(int)y; 的值是

34、在C语言的表达式中,x=x+5 用复合运算符可以写成。

35、设a=12,表达式a/=a+a 运算后,a的值是。

36.若定义:char c=‘\010’;则变量c中包含的字符个数是。

39.设说明为 int a=10; 执行语句 a*=1+2+3; 后a的值是____________。40.程序段执行后c3的值是_______。

int c1=1,c2=2;

float c3;

c3=1/c2*c1;

三、看程序写结果:

1、写出以下程序运行的结果________。

main ( )

{

int i,j,m,n;

i=8;

j=10;

m=++i;

n=j++;

printf(“%d,%d,%d,%d”,i,j,m,n);

}

2、阅读下列程序,写出运行结果

#include

main( )

{ int a=1,b=4,c=2;

a=(a+b)/c;

printf(“%d \n”,--a);

}

运行结果;

3、阅读下列程序,写出运行结果

main()

{ int n=1;

printf("%d %d %d\n",n,n++,n--);

}

运行结果;

4、main( )

{ int i=3 ;

printf("%d , %d\n" , i , i++);

}

运行结果;

5、执行以下程序,写出程序运行结果main()

{

int a=-017L;

printf("%d\n",a);

}

C语言第三章表达式与运算符笔记

3.1概述 1.C语言表达式:用C语言运算符将常量、变量、函数调用连接起来的有意义的式子。.C语言的表达式为算术表达式、赋值表达式、逗号表达式、条件表达式、关系表达式和逻辑表达式。 2.表达式的值的类型取决于参与运算的数据的类型。 3.关系运算表达式成立,则结果为1,代表“真”,否则结果为0,代表“假”。4.运算符按参与运算的对象个数可以分类:单目运算符、双目运算符和三目运算符。 3.2算术运算符与算术表达式 1.除法运算:当两个操作数都是整型时,除法视为整除,运算结果舍去小数部分,只保留整数部分。 2.取模运算(求余):运算结果为一个整型,这个数是整除运算的余数,符号与被除数符号相同。例如:8%3的结果是3,8%(-5)的结果是3。 3.取负运算(单目运算),即只有一个操作数参与运算。 4.注意:’\%’与’%%’都相同于显示% 5.算术运算符的优先级:括号、函数调用、取负、*/%、+- 6.结合性:从左至右。 3.3其他运算符的应用 3.3.1赋值运算符和赋值表达式 1.一般形式:变量赋值运算符表达式例如:a=5+10 2.赋值表达式的计算过程:首先计算表达式的值,然后将该值赋给左侧的变量。 3.复合的赋值运算:+=,-=,*=,/=,%=等例如:a+=b等价于a=a+b 4.说明:(1)赋值号左边只能是变量,不允许出现常量、函数调用和表达式。 (2)赋值表达式中的“表达式”,又可以是另一个赋值表达式。 (3)当赋值号两边的数据类型不同时,一般由系统自动进行类型转换。

其原则是,赋值号右边的数据类型转换成与左边的变量相同的数据类型。 3.3.2自增自减运算符 1.功能:自增、自减运算符的作用是使变量的值增1或减1。 2.当自增、自减运算符的前置(在变量之前)变量本身先自增(或自减),然后再参与运算; 3.当自增、自减运算符的后置(在变量之后)变量先参与运算,然后变量本身再自增(或自减)。 注:自增、自减运算符只能用于整型变量,不能用于常量或表达式。 4.-i++相当于-(i++) 从右至左的右结合性 5.i+++j相当于(i++)+j 3.3.3条件运算符和条件表达式 1.一般形式:表达式1?表达式2:表达式3 2.条件表达式的执行过程:首先计算表达式1,如果非0(真)则计算表达式2,表达式2的值作为条件表达式的值;如果表达式1的值为0(假),则计算表达式3,表达式3的值作为条件表达式的值。 3.3.4逗号运算符和逗号表达式 1.一般形式:表达式1,表达式2,……,表达式n 2.逗号表达式的计算过程是:先计算表达式1,再计算表达式2,依次计算直到表达式n,表达式n,表达式n的值是整个逗号表达式的值。 3.3.5 sizeof运算符 1.一般形式:sizeof(类型名或变量名) 类型名可以是基本类型名,也可以是其他的构造类型名 2.功能:sizeof运算给出指定类型在内存中所占的字节数。 数学函数 1.fabs(x) 求x的绝对值

(完整版)C++运算符大全与详解.doc

C++ 运算符大全与详解 1. 运算符与运算值的解释 运算符与运算值是构成一道计算题的主要元素,所谓的运算符,指的是 +,- , *,/.... 等运算符号。运算值就是运算符操作的资料,例如:1+2 中, 1 和 2 都是运算值。 2. 一级运算符与二级运算符 一个运算符计算时,操作两个运算值,称为二级运算符,例如1+2 ,操作 1 和2这两个运算值,执行相加操作。如此类推,操作一个运算值的将称为一级运 算符,而一级运算符是“ -”号,相信学过数学的都知道,这个叫做负号,令其 数字变成负值,例如:-1 ,如同上列所说,只操作一个运算值。 3.运算公式 运算公式是由运算符与运算值结合的公式叫做运算公式,作用是依照指定的运 算值进行运算符的计算。例子如下 : Int a,b,c; //声明三个整数变量b=10; //给b赋值10 C=1; //给c赋值1 A=b+c; //b+c的结果赋值给 a //注意, C++ 大小写是有区分的,由于 wps 的关系,自动大写了,我也不太会用wps 这些工作软件 4.运算符的顺序 运算公式中预算符的计算顺序,称为运算符的顺序,比如在日常生活数学老师 和我们说,先乘除后加减,运算符的优先顺序我会在后文排序出表格。 5.运算符的结合 一个运算公式内,运算符顺序相同时,按照一般的计算规律,有从左到右和从 右到左两种顺序,以加减运算为例子,2+3-4 中先计算 2+3 ,之后用 2+3 的

和减去 4 ,5-4 ,有关规律请参照后文。 2.1 运算符 2.2 “=”运算符的解释 在学生时代,老师对我们说,“=”号是等于的作用,但是在程序当中,“ =”号的功能会和老师所说的“等于”不同,所有,我们不能以“等于”这个观点去 理解程序的“ =”号。 请看如下代码 : Int a,b,c; B=1; c=2; A=b+c; 以上代码的意思是如果使用“等于”观念来思考,可能觉得没什么差别,就是 位置改变了。 请看如下代码: Int a; A=a+1; 当看了此段代码,你在用“等于”观念来思考,你会觉得,一切都觉得很奇怪。 这时候你就应该用程序的观念去思考这段代码。 现在,我很大家说明程序的“=”号,在你宣告一个变量时,那个变量就是你系 统内存里面的一小部分,但是我们如何输入一些信息到变量呢? 这时候我们需要“ =”号,例如a=1;就是把数字1放进了变量 a 里面,所以“ =”号起的作用是赋值,例如小明给小红一支笔。因此,“等于”观念的“ =”号和程序里的“=”号是不同的。 2.3 算数运算符 运算符号名称运算规律程序例子实例+加法从左到右 A + B 7 + 2 -减

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,

第三章 运算符和表达式

第三章运算符和表达式 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个运算符的运算对

C语言运算符大全 (2)

C语言运算符大全C语言的内部运算符很丰富,运算符是告诉编译程序执行特定算术或逻辑操作的符号。C语言有三大运算符:算术、关系与逻辑、位操作。另外,C还有一些特殊的运算符,用于完成一些特殊的任务。 表2-5列出了C语言中允许的算术运算符。在C语言中,运算符“+”、“-”、“*”和“/”的用法与大多数计算机语言的相同,几乎可用于所有C语言内定义的数据类型。当“/”被用于整数或字符时,结果取整。例如,在整数除法中,10/3=3。 一元减法的实际效果等于用-1乘单个操作数,即任何数值前放置减号将改变其符号。模运算符“%”在C 语言中也同它在其它语言中的用法相同。切记,模运算取整数除法的余数,所以“%”不能用于float和double类型。 最后一行打印一个0和一个1,因为1/2整除时为0,余数为1,故1%2取余数1。 C语言中有两个很有用的运算符,通常在其它计算机语言中是找不到它们的—自增和自减运算符,++和--。运算符“++”是操作数加1,而“--”是操作数减1,换句话说:x=x+1;同++x;x=x-1;同--x; 自增和自减运算符可用在操作数之前,也可放在其后,例如:x=x+1;可写成++x;或x++;但在表达式中这两种用法是有区别的。自增或自减运算符在操作数之前,C语言在引用操作数之前就先执行加1或减1 操作;运算符在操作数之后,C语言就先引用操作数的值,而后再进行加1或减1操作。请看下例: x=10; ;y=++x;

此时,y=11。如果程序改为: x=10;y=x++; 则y=10。在这两种情况下,x都被置为11,但区别在于设置的时刻,这种对自增和自减发生时刻的控制是非常有用的。在大多数C编译程序中,为自增和自减操作生成的程序代码比等价的赋值语句生成的代码 要快得多,所以尽可能采用加1或减1运算符是一种好的选择。 。下面是算术运算符的优先级: :最高++、- -- -(一元减) *、/、%最低+、-编译程序对同级运算符按从左到右的顺序进行计算。当然,括号可改变计算顺序。C语言 处理括号的方法与几乎所有的计算机语言相同:强迫某个运算或某组运算的优先级升高。 关系运算符中的“关系”二字指的是一个值与另一个值之间的关系,逻辑运算符中的“逻辑”二字指的是连接关系的方式。因为关系和逻辑运算符常在一起使用,所以将它们放在一起讨论。关系和逻辑运算符概念中的关键是True(真)和Flase(假)。C语言中,非0为True,0为Flase。使用关系或逻辑运算符的表达式对Flase和Ture分别返回值0或1(见表2-6)。 表2-6给出于关系和逻辑运算符,下面用1和0给出逻辑真值表。关系和逻辑运算符的优先级比算术运算符低,即像表达式10>1+12的计算可以假定是对表达式10>(1+12)的计算,当然,该表达式的结果为Flase。在一个表达式中允许运算的组合。例如: 10>5&&!(10<9)||3<=4 这一表达式的结果为True。

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.

基本数据类型练习题

基本数据类型练习题 一、回答下列问题: 1.C语言中有哪些数据类型?分别说明它们的类型关键字、取值范围、类型长 度。 2.说明下面的每个数据各属于哪一种(数值常量、字符常量、字符串、标识 符、保留字、运算符、标点、非法数据)? 25 18 -3.67 12.8 “4”…4? x1 “x2”“1949.10” cin int K_name 3ab “float x ,y “ if endl + “\n” ? ;“sy1.cpp”…\32? \? 3.字符常量与字符串常量的区别是什么? 4."A"与'A'是否等价? 5 下列变量定义中,哪些地方不正确? (1) a, b, c:int; (2)float x;y;x; (3)char c1,c2;int c1; (4)int i,y,long k ; (5)n1,n2,n3,long (6)char,zhang, li,int; (7)int i=j=k=1; (8)boolean b1,b2; (9)bool b; 6 取一个适当的名字描述下列数据,并考虑用哪种数据类型好。 (1)一个人去年的年龄。 (2)一个人的体重。 (3)考试的分数。 (4)今天的温度。 (5)地球到月亮的距离。 (6)一天的开支。 二、选择题: 1.下列数据类型不是C语言基本数据类型的是()。 A)字符型 B)整型 C)实型 D)数组 2.在C语言中,自定义的标识符()。 A)能使用关键字并且不区分大小写 B)不能使用关键字并且不区分大小写

C)能使用关键字并且区分大小写 D)不能使用关键字并且区分大小写 3.下列字符列中,可作为C语言程序自定义标识符是()。 A)case B)file C)malloc D)if 4.下列正确的八进制整型常量表示是() A)0a0 B) 015 C) 080 D) 0x10 5.下列错误的十六进制整型常量表示是() A)0x11 B) 0xaf C) 0xg D) 0x1f 四、编程题: 1.编写程序测试你机器的int,float,double,long,char 各类型变量存储的字节。 2.从键盘输入两个整数,计算它们的和与差,并输出结果。 3.从键盘输入一个大写英文字母,输出相应的小写字母。 4.华氏温度转换为摄氏温度。从键盘输入华氏温度f,计算并输出摄氏温度c。c=5/9*(f-32)。

C语言运算符大全

C语言运算符大全 C语言的内部运算符很丰富,运算符是告诉编译程序执行特定算术或逻辑操作的符号。C语言有三大运算符:算术、关系与逻辑、位操作。另外,C还有一些特殊的运算符,用于完成一些特殊的任务。 2.6.1算术运算符 表2-5列出了C语言中允许的算术运算符。在C语言中,运算符“+”、“-”、“*”和“/”的用法与大多数计算机语言的相同,几乎可用于所有C语言内定义的数据类型。当“/”被用于整数或字符时,结果取整。例如,在整数除法中,10/3=3。 一元减法的实际效果等于用-1乘单个操作数,即任何数值前放置减号将改变其符号。模运算符“%”在C语言中也同它在其它语言中的用法相同。切记,模运算取整数除法的余数,所以“%”不能用于float和double类型。 最后一行打印一个0和一个1,因为1/2整除时为0,余数为1,故1%2取余数1。 2.6.2自增和自减 C语言中有两个很有用的运算符,通常在其它计算机语言中是找不到它们的—自增和自减运算符,++和--。运算符“++”是操作数加1,而“--”是操作数减1,换句话说:x=x+1;同++x;x=x-1;同--x; 自增和自减运算符可用在操作数之前,也可放在其后,例如:x=x+1;可写成++x;或x++;但在表达式中这两种用法是有区别的。自增或自减运算符在操作数之前,C语言在引用操作数之前就先执行加1或减1操作;运算符在操作数之后,C语言就先引用操作数的值,而后再进行加1或减1操作。请看下例: x=10; ;y=++x; 此时,y=11。如果程序改为: x=10;y=x++; 则y=10。在这两种情况下,x都被置为11,但区别在于设置的时刻,这种对自增和自减发生时刻的控制是非常有用的。在大多数C编译程序中,为自增和自减操作生成的程序代码比等价的赋值语句生成的代码 要快得多,所以尽可能采用加1或减1运算符是一种好的选择。 。下面是算术运算符的优先级: :最高++、- -- -(一元减) *、/、%最低+、-编译程序对同级运算符按从左到右的顺序进行计算。当然,括号可改变计算顺序。C语言 处理括号的方法与几乎所有的计算机语言相同:强迫某个运算或某组运算的优先级升高。 2.6.3关系和逻辑运算符 关系运算符中的“关系”二字指的是一个值与另一个值之间的关系,逻辑运算符中的“逻辑”二字指的是连接关系的方式。因为关系和逻辑运算符常在一起使用,所以将它们放在一起讨论。关系和逻辑运算符概念中的关键是True(真)和Flase(假)。C语言中,非0为True,0为Flase。使用关系或逻辑运算符的表达式对Flase和Ture分别返回值0或1(见表2-6)。

1、c语言-数据类型与运算符(含答案)详解

一、选择题 1. 可用作C语言用户标识符的一组标识符是( B )。 A. void define +WORD B. a3_b3 _123 YN C. for -abc Case D. 2a DO sizeof 2. 存储以下数据,占用存储字节最多的是(D )。 A. 0 B. ‘0’ C. “0” D. 0.0 3. 程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用( D )符号作为分隔符。 A. 空格或逗号 B. 逗号或回车 C. 逗号或分号 D. 空格或回车 4. 设”int a=12;”,则执行完语句”a+=a*a;”后,a的值是( C )。 A. 12 B. 144 C. 156 D. 288 5. 假设在程序中a、b、c 均被定义成整型,所赋的值都大于1,则下列能正确表示代数 式1/abc的表达式是( A)。 A. 1.0/a*b*c B. 1/(a*b*c) C. 1/a/b/(float)c D. 1.0/a/b/c 6. 设”int a=15,b=26;”,则”printf(“%d,%d”,a,b);”的输出结果是(C )。 A. 15 B. 26,15 C. 15,26 D. 26 7. 设x是一个int型的,y的值为10,则表达式x && y的值为(C )。 A. 1 B. 0 C. 与x值相同 D. 与x值相反 8. x>0 && x<=10的相反表达式为( A )。 A. x<=0 || x>10 B. x<=0 && x>10 C. x<=0 || x<=10 D. x>0 && x>10 9. x>0 || y==5的相反表达式为( B )。 A. x<=0 || y!=5 B. x<=0 && y!=5 C. x>0 || y!=5 D. x>0 && y==5 10. 下面的哪个保留字不能作为函数的返回类型?( C ) 。 A. void B. int C. new D. long 11. 假定a为一个整型数组名,则元素a[4]的字节地址为(B) 。 A. a+4 B. a+8 C. a+16 D. a+32 12. 字符串”a+b=12\n”的长度为(B )。 A. 6 B. 7 C. 8 D. 9 13. 假定下列x和y均为int型变量,则不正确的赋值为( B )。 A. x+=y++ B. x++=y++ C. x=++y D. ++x=++y 14. 设有以下定义 int a=0; double b=1.25; char c=’A’; #define d 2 ( D ) A.a++; B. b++ C. c++; D.d++; 15. 设x和y均为bool量,则x&&y为真的条件是( A) 。 A. 它们均为真 B. 其中一个为真 C. 它们均为假 D. 其中一个 16.以下叙述中正确的是(A) A. C程序中注释部分可以出现在程序中任意合适的地方 B.花括号"{"和"}"只能作为函数体的定界符

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)Char 3.在以下各组标识符中,合法的标识符是(4)。 (1)A)B01 B)table_1 C)0_t D)k% (2)A)Fast_ B)void C)pbl D) (3)A)xy_ B)longdouble C)*p D)CHAR (4) A) sj B)Int C)_xy D)w_y23 4.属于合法的C语言长整型常量的是(B)。 A)5876273 B)0L C)2E10 D)(long)5876273 5.下面选项中,不是合法整型常量的是(B)。 A)160 B)-0xcdg C)-01 D)-0x48a 6.判断int x = 0xaffbc;x的结果是(B)(turbo c 版本)。 A)赋值非法B)溢出C)为affb D)为ffbc 7.下面选项中,均是合法浮点数的是(B)。 A)+1e+1 B)-.60 C)123e D)-e3 A)5e-9.4 B)12e-4 C)1.2e-.4 D).8e-4 A)03e2 B)-8e5 C)+2e-1 D)5.e-0 8.在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),是正确的。A)语法错误B)f为5.0 C)f为0.0 D)f为2.0 13.与代数式(x*y)/(u*v) 不等价的C语言表达式是(A)。 A)x*y/u*v B)x*y/u/v C)x*y/(u*v) D)x/(u*v)*y 14.在C语言中,数字029是一个(D)。 A)八进制数B)十六进制数C)十进制数D)非法数 15.C语言中(Turbo C环境)整数-8在内存中的存储形式为(A)。A)1111111111111000 B)1000 C)1000 D)1111111111110111 16.对于char cx=’ \039’;语句,正确的是(A)。 A)不合法B)cx的ASCII值是33 C)cx的值为四个字符D)cx的值为三个字符

C语言的基本数据类型及其表示

3.2C语言的基本数据类型及其表示 C语言的基本数据类型包括整型数据、实型数据和字符型数据,这些不同数据类型如何表示?如何使用?它们的数据范围是什么?下面我们分别进行介绍。 3.2.1常量与变量 1.常量 常量是指程序在运行时其值不能改变的量,它是C语言中使用的基本数据对 象之一。C语言提供的常量有: 以上是常量所具有的类型属性,这些类型决定了各种常量所占存储空间的大小和数的表示范围。在C程序中,常量是直接以自身的存在形式体现其值和类型,例如:123是一个整型常量,占两个存储字节,数的表示范围是-32768~32767;123.0是实型常量,占四个存储字节,数的表示范围是-3.410-38~3.41038。 需要注意的是,常量并不占内存,在程序运行时它作为操作对象直接出现在运算器的各种寄存器中。 2.符号常量 在C程序中,常量除了以自身的存在形式直接表示之外,还可以用标识符来表示常量。因为经常碰到这样的问题:常量本身是一个较长的字符序列,且在程序中重复出现,例如:取常数的值为3.1415927,如果在程序中多处出现,直接使用3.1415927的表示形式,势必会使编程工作显得繁琐,而且,当需要把的值修改为3.1415926536时,就必须逐个查找并修改,这样,会降低程序的可修改性和灵活性。因此,C语言中提供了一种符号常量,即用指定的标识符来表示某个常量,在程序中需要使用该常量时就可直接引用标识符。 C语言中用宏定义命令对符号常量进行定义,其定义形式如下: #define标识符常量 其中#define是宏定义命令的专用定义符,标识符是对常量的命名,常量可以是前面介绍的几种类型常量中的任何一种。该使指定的标识符来代表指定的常量,这个被指定的标识符就称为符号常量。例如,在C程序中,要用PAI代表实型常量3.1415927,用W代表字符串常量"Windows98",可用下面两个宏定义命令: #define PAI3.1415927 #define W"Windows98" 宏定义的功能是:在编译预处理时,将程序中宏定义(关于编译预处理和宏定义的概念详见9.10节)命令之后出现的所有符号常量用宏定义命令中对应的常量一一替代。例如,对于以上两个宏定义命令,编译程序时,编译系统首先将程序中除这两个宏定义命令之外的所有PAI替换为3.1415927,所有W替换为Windows98。因此,符号常量通常也被称为宏替换名。 习惯上人们把符号常量名用大写字母表示,而把变量名用小写字母表示。例3-1是符号常量的一个简单的应用。其中,PI为定义的符号常量,程序编译时,用3.1416替换所有的PI。 例3-1:已知圆半径r,求圆周长c和圆面积s的值。

C++运算符大全及详解

C++运算符大全与详解 1.运算符与运算值的解释 运算符与运算值是构成一道计算题的主要元素,所谓的运算符,指的是+,-,*,/....等运算符号。运算值就是运算符操作的资料,例如:1+2 中,1和2都是运算值。 2.一级运算符与二级运算符 一个运算符计算时,操作两个运算值,称为二级运算符,例如 1+2 ,操作1和2这两个运算值,执行相加操作。如此类推,操作一个运算值的将称为一级运算符,而一级运算符是“-”号,相信学过数学的都知道,这个叫做负号,令其数字变成负值,例如:-1 ,如同上列所说,只操作一个运算值。 3.运算公式 运算公式是由运算符与运算值结合的公式叫做运算公式,作用是依照指定的运算值进行运算符的计算。例子如下: Int a,b,c; //声明三个整数变量 b=10; //给b赋值10 C=1; //给c赋值1 A=b+c; //b+c的结果赋值给a //注意,C++大小写是有区分的,由于wps的关系,自动大写了,我也不太会用wps这些工作软件 4.运算符的顺序 运算公式中预算符的计算顺序,称为运算符的顺序,比如在日常生活数学老师和我们说,先乘除后加减,运算符的优先顺序我会在后文排序出表格。 5.运算符的结合 一个运算公式,运算符顺序相同时,按照一般的计算规律,有从左到右和从右到左两种顺序,以加减运算为例子,2+3-4 中先计算 2+3 ,之后用 2+3 的和减

去 4 ,5-4 ,有关规律请参照后文。 2.1 运算符 2.2 “=”运算符的解释 在学生时代,老师对我们说,“=”号是等于的作用,但是在程序当中,“=”号的功能会和老师所说的“等于”不同,所有,我们不能以“等于”这个观点去理解程序的“=”号。 请看如下代码: Int a,b,c; B=1; c=2; A=b+c; 以上代码的意思是如果使用“等于”观念来思考,可能觉得没什么差别,就是位置改变了。 请看如下代码: Int a; A=a+1; 当看了此段代码,你在用“等于”观念来思考,你会觉得,一切都觉得很奇怪。这时候你就应该用程序的观念去思考这段代码。 现在,我很大家说明程序的“=”号,在你宣告一个变量时,那个变量就是你系统存里面的一小部分,但是我们如何输入一些信息到变量呢 ? 这时候我们需要“=”号,例如 a=1; 就是把数字 1 放进了变量a里面,所以“=”号起的作用是赋值,例如小明给小红一支笔。因此,“等于”观念的“=”号和程序里的“=”号是不同的。 2.3 算数运算符 运算符号名称运算规律程序例子实例 + 加法从左到右 A + B 7 + 2 - 减法从

c++运算符大全

C语言运算符号的种类 1 算术运算符 用于各类数值运算。包括加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)、自增(++)、自减(--)共七种。 2.关系运算符 用于比较运算。包括大于(>)、小于(<)、等于(==)、大于等于(>=) 、小于等于(<=)和不等于(!=)六种。 3.逻辑运算符 用于逻辑运算。包括与(&&)、或(||)、非(!)三种。 4.位操作运算符 参与运算的量,按二进制位进行运算。包括位与(&)、位或(|)、位非(~)、位异或(^)、左移(<<)、右移(>>)六种。 5.赋值运算符 用于赋值运算,分为简单赋值(=)、复合算术赋值(+=,-=,*=,/=,%=)和复合位运算赋值(&=,|=,^=,>>=,<<=)三类共十一种。 6.条件运算符 这是一个三目运算符,用于条件求值(?:)。 7.逗号运算符 用于把若干表达式组合成一个表达式(,)。 8.指针运算符 用于取内容(*)和取地址(&)二种运算。 9.求字节数运算符 用于计算数据类型所占的字节数(sizeof)。

10.特殊运算符 有括号(),下标[],成员(→,.)等几种。 C语言运算符号的优先级 结合方向左结合(自左至右) ( ) 圆括号 [ ] 下标运算符 -> 指向结构体成员运算符 . 结构体成员运算符(请注意它是一个实心圆点) 结合方向右结合(自右至左)单目运算符 ! 逻辑非运算符 ~ 按位取反运算符 ++ 自增运算符 -- 自减运算符 - 负号运算符 (类型) 类型转换运算符 * 指针运算符 & 地址与运算符 sizeof 长度运算符

结合方向左结合双目运算符* 乘法运算符 / 除法运算符 % 取余运算符 结合方向左结合双目运算符+ 加法运算符 - 减法运算符 结合方向左结合双目运算符<< 左移运算符 >> 右移运算符 结合方向左结合双目运算符<、<=、>、>= 关系运算符 结合方向左结合双目运算符== 等于运算符(判断) != 不等于运算符(判断)

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

第三章运算符与表达式练习题 一、单项选择题 1.下列数据中属于“字符串常量”的是()。 A.”a” B. {ABC} C. ?abc\0? D. ?a? 2.下列数据中属于“字符串常量”的是()。 A.ABC B. “ABC” C. ?abc? D. ?a? 3. 在PC机中,?\n?在内存占用的字节数是()。 A. 1 B. 2 C. 3 D. 4 4. 在PC机中,”a\xff” 在内存占用的字节数是()。 A. 5 B. 6 C. 3 D. 4 5.字符串”\”ABCD\””在内存占用的字节数是()。 A. 4 B. 6 C. 7 D. 8 6. 在C语言中,合法的长整型常数是()。 A. 0L B. 49627 C. 0.054838743 D. 2.1869e10 7.在C语言中,合法的短整型常数是()。 A. OL B. 0821 C. 40000 D. 0x2a 8.下列数据中不属于“字符常量”的是()。 A. …\a? B. …\160? C. …070? D. 070 9.char型常量在内存中存放的是()。 A. ASCII代码值 B. BCD代码值 C. 内码值 D. 十进制代码值 10. int a=4,b=3,c=-2,d=2; 逻辑表达式a>0&&b&&c<0&&d>0的值是()。 A. 1 B. 0 C. -1 D. 出错 11.在以下一组运算符中,优先级最高的运算符是()。 A. <= B. = C. % D. && 12.设整型变量i的值为3,则计算表达式i---i后表达式的值为()。 A. 0 B. 1 C. 2 D. 表达式出错 13.设整型变量i,j=3; 则计算表达式i=j+++j后i,j的值为()。 A. 4,4 B. 6,6 C. 4,6 D. 6,4 14.设整型变量a,b,c均为2,表达式a+++b++c++的结果是()。 A. 6 B. 9 C. 8 D. 表达式出错 15.设整型变量i,j值均为3,执行了“j=i++,j++,++i”后,i,j的值是()。 A. 3,3 B. 5,4 C. 4,5 D. 6,6 16.sizeof(double)的结果值是( )。 A.8 B. 4 C. 2 D. 出错 17. 表达式“1?(0?3:2):(10?1:0)”的值是()。 A. 3 B. 2 C. 1 D. 0 18.int a=0; if(a=1) a+=10; 结果的值是()。 A. 0 B. 11 C. 10 D. 出错 19.下列表达式中符合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 20.下列表达式中,不正确的表达式是()。 A. a=1,b=1 B. y=int(x) C. a=b=5 D. i++

数据结构课后习题及解析第一章

第一章习题 一、问答题 1.什么是数据结构? 2.叙述四类基本数据结构的名称与含义。 3.叙述算法的定义与特性。 4.叙述算法的时间复杂度。 5.叙述数据类型的概念。 6.叙述线性结构与非线性结构的差别。 7.叙述面向对象程序设计语言的特点。 8.在面向对象程序设计中,类的作用是什么? 9.叙述参数传递的主要方式及特点。 10.叙述抽象数据类型的概念。 二、判断题(在各题后填写“√”或“×”) 1.线性结构只能用顺序结构来存放,非线性结构只能用非顺序结构来存放。() 2.算法就是程序。() 3.在高级语言(如C或 PASCAL)中,指针类型是原子类型。() 三、计算下列程序段中X=X+1的语句频度 for(i=1;i<=n;i++) for(j=1;j<=i;j++) for(k=1;k<=j;k++) x=x+1; 四、试编写算法,求一元多项式P n (x)=a +a 1 x+a 2 x2+a 3 x3+…a n x n的值P n (x ),并确定算法中的每 一语句的执行次数和整个算法的时间复杂度,要求时间复杂度尽可能小,规定算法中不能使用 求幂函数。注意:本题中的输入a i (i=0,1,…,n),x和n,输出为P n (x )。通常算法的输入和输 出可采用下列两种方式之一: (1)通过参数表中的参数显式传递。

(2)通过全局变量隐式传递。 试讨论这两种方法的优缺点,并在本题算法中以你认为较好的一种方式实现输入和输出。 实习题 设计实现抽象数据类型“有理数”。基本操作包括有理数的加法、减法、乘法、除法,以及求有理数的分子、分母。 第一章答案 1.3计算下列程序中x=x+1的语句频度 for(i=1;i<=n;i++) for(j=1;j<=i;j++) for(k=1;k<=j;k++) x=x+1; 【解答】x=x+1的语句频度为: T(n)=1+(1+2)+(1+2+3)+……+(1+2+……+n)=n(n+1)(n+2)/6 1.4试编写算法,求p n(x)=a0+a1x+a2x2+…….+a n x n的值p n(x0),并确定算法中每一语句的执 行次数和整个算法的时间复杂度,要求时间复杂度尽可能小,规定算法中不能使用求幂函数。注意:本题中的输入为a i(i=0,1,…n)、x和n,输出为P n(x0)。算法的输入和输出采用下列方法(1)通过参数表中的参数显式传递(2)通过全局变量隐式传递。讨论两种方法的优缺点,并在算法中以你认为较好的一种实现输入输出。 【解答】 (1)通过参数表中的参数显式传递 优点:当没有调用函数时,不占用内存,调用结束后形参被释放,实参维持,函数通用性强,移置性强。 缺点:形参须与实参对应,且返回值数量有限。 (2)通过全局变量隐式传递 优点:减少实参与形参的个数,从而减少内存空间以及传递数据时的时间消耗

java的基本数据类型有八种

java的基本数据类型有八种 各位读友大家好!你有你的木棉,我有我的文章,为了你的木棉,应读我的文章!若为比翼双飞鸟,定是人间有情人!若读此篇优秀文,必成天上比翼鸟! java的基本数据类型有八种四类八种基本数据类型1. 整型byte(1字节)short (2个字节)int(4个字节)long (8个字节)2.浮点型float(4个字节)double(8个字节)3.逻辑性boolean(八分之一个字节)4.字符型char(2个字节,一个字符能存储下一个中文汉字)基本数据类型与包装类对应关系和默认值short Short (short)0int Integer 0long Long 0Lchar Char '\u0000'(什么都没有)float Floa t0.0fdouble Double 0.0dboolean Boolean false 若某个类的某个成员是基本数据类型,即使没有初始化,java也会确保它获得一个默认值,如上所示。(这种初始化方法只是用于成员变量,不适用于局部变量)。jdk1.5支持自动拆装箱。可以将基本数据类型转换成它的包装类装箱Integer a = new Integer ();a = 100;拆箱int b = new Intger(100);一个字节等于8位,一个字节等于256个数,-128到127一个英文字母或一个阿拉伯数字就是一个字符,占用一个字节一个汉字两个字符,占用两个字节基本数据类型自动转换byte->short , char->int->longfloat->doubleint ->floatlong->double小可转大,大转小会失去精度。字符串与基本类型或其他类型间的转换⑴其它

第三章 数据类型、运算符与表达式 练习与答案

第三章数据类型、运算符与表达式 [试题分类]: 1.{ 下列程序执行后的输出结果是________________。 #define MA(x) x*(x-1) mian() \{int a=1,b=2; pirntf(“%d\n”,MA(1+a+b));\} } 试题编号:E54749 答案:8 题型:填空题 2.C语言中基本数据类型包括整型、实型、字符型。() 试题编号:E57279 答案:正确 题型:判断题 3.{ 要得到下列结果: a, b A, B 97,98,65,66 请按要求完善程序。 main( ) \{char c1,c2; c1=’a’;c2=’b’; printf(“%c,%c ”,c1,c2); printf(“%c,%c\n”, ___); printf(“%d,%d,%d,%d\n”,_c1,c2,c1-32,c2-32); \} } 试题编号:E55118 答案:c1-32,c2-32 题型:填空题 4.能表示“整型变量x的绝对值小于5”的表达式是___。(注意本题答案中规定不得使用系统函数)。 试题编号:E55113 答案:(x<5)&&(x>-5) 题型:填空题

5.设有定义"int a,b=10;",则执行语句"a=b<<2+1;"后a的值___。试题编号:E55111 答案:80 题型:填空题 6.设有定义"int x=4;",则表达式"x+=x*=x+1"的值是___。 试题编号:E55110 答案:40 题型:填空题 7.有下列运算符:>>、&&、|、!=,优先级别最高的是___。 试题编号:E55109 答案:>> 题型:填空题 8.用十进制来表示无符号短整型数据的数值范围是___。 试题编号:E55108 答案:0~65535 题型:填空题 9.{ 设有以下变量说明语句 char w='A'; int x=10; float y=20; double z=30; 则执行赋值语句 x=w*x+z-y; 之后x所得值的数据类是___。 } 试题编号:E55106 答案:int型 & 整型 题型:填空题 10.{ 设有变量说明语句 double d=5.4; int a,b; 则执行下述语句组的输出结果是___。 b=((a=2.1)+1.5)/3.6; d*=b; printf("%f\n",d); } 试题编号:E55104

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