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

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

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

一、选择题

1.以下选项中合法的c语言标识符是。

A) long B) _2Test C)3Dmax D)A.dat

2.以下不能定义为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)

Fast+Big Abs fabs beep

③A)xy_ B) longdouble C)*p D)CHAR

变量l signed history Flaut

4.在以下各组标识符中,合法的c语言标识是①;②。

①A)print B) i’am C)Pxg D)Cpp

oodb one-half line# pow

aBc 3pai His.age while

②A)_maln B)If C)txt D)int

enclude _max REAL k_2

sln turbo 3COM _001

5.以下不能定义为c语言标识符的是。

A)_1234_ B)2_int_ C)int_2_ D)_1_2

6.以下不能定义为c语言标识符的是。

A) Main B) _0 C)_int D)sizeof

7.以下叙述中错误的是。

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)look

10.下面属于c语言保留字的是。

A) define B) include C)main D)enum

11. 是c语言的数据类型说明保留字。

A) Float B) signed C)integer D)Char

12.不合法的C语言字符常量是。

A) '\2' B) " " C) ' ' D) "\483"

13.合法的c语言长整型常量是。

A) 5876 B) 0L C)2.0E10 D)(long)58762

14.下列选项中,均是合法的c语言整型常量的是。

A) 160 B) -0xcdf C)-01 D) -0x48a

-0xffff 0la 986,012 2e5

0011 0xe 0668 0x

15.十进制数8的C语言八进制数常量是。

A) 10 B) 010 C)8 D) 08

16.在C语言中,029是一个。

A) 八进制数B) 十六进制数C)十进制数D) 非法数

17.以下选项中可作为c语言整数的是。

A) 10110B B) 0386 C)0xffaa D) x2a2

18.c语言中将-8赋值给无符号字符型,则它的内存数据形式为。

A) 11111000 B) 10001000 C) 00001000 D) 11110111

19. 下列选项中,均是合法的c语言实型常量的是。

A) +1le+1 B) -.60 C) l 23e D)-e3

5e-9.4 12e-4 1.2e-.4 .8e-4

03e2 -8e5 +2e-l 5.e-0

20.以下选项中正确的c语言实型常量是。

A) 0 B) -10 C)1.9×102D)0.19

21.以下选项中正确的c语言实型常量是。

A) 1.2e0.5 B) 3.14159E C).5E-3 D)E15

22.以下选项中可作为c语言数值常量的是。

A) -80. B) -080 C)-8e1.0 D)-80.0e

23.在c语言中,以下不合法的数值常量是。

A) 011 B) 1e1 C)8.0e0.5 D)000

24. 是非法的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 int

C) unsigned int D) long short

29.设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) bcde

32.下列变量定义及赋初值中,合法的是。

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) char

34.在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)12

38.对于语句: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.0

39.设变量n为float类型,m为int型,则以下表达式能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算。

A) n=(n*100+0.5)/l00.0 B) m=n*100+0.5, n=m/100.0

C) n=n*100+0.5/100.0 D) n=(n/100+0.5)*100.0

40.设以下变量均为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++%5

42.在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+2

44.设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+=2

45.若变量a为int类型,且其值为3,则执行表达式a+=a-=a*a后,a的值是。

A) -3 B) 9 C) -12 D) 6

46.表达式3.6-5/241.2+5%2的值是。

A) 4.3 B) 4.8 C) 3.3 D) 3.8

47.若已定义x和y为double类型,则表达式x=l, y=x+3/2的值是。

A) l B) 2 C) 2.0 D) 2.5

48.有以下程序段:

int c1=1, c2=2, c3;

c3=1/c2*c1;

执行后c3的值是。

A) 0 B) 0.5 C) l D) 2

49.设int n=20, i=4; 则赋值运算n%=i+l执行后,n的值是。

A) 0 B) l C) 2 D) 3

50.有以下程序段:

int m=3, n=4, x;

x=-m++;

x=x+8/++n;

执行后x 的值是 。

A) 3 B) 5 C) -1 D) -2

51. sizeof(long)的值 。

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

52.设char c=20;则sizeof (c)的结果是 。

A) 1 B) 12 C) l 20 D)20

53.表达式x*=y+2还可以写为 。

A) x=x*y+2 B) x=2+y*x C) x=x*(y+2 ) D) x=y+2*x

54.若变量已正确定义并贼值,下面符合c 语言语法的表达式是 。

A) a:=b+l B) a=b=c+2 C) int(18.5%3) D) a=a+7=c+b

55.以下变量定义和赋初值错误的是 。

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+l

59.若有以下定义;

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

#define d 2

则下面表达式中错误的是 。

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

60.若变量a ,b 己经正确定义井赋值,符合c 语言语法的表达式是 。

A) a 2+b B) a*a+b C) a ×a+b D) a ·a+b

61.已知double a, b; int w; 1ong c;且各变量己赋值,则下列表达式中正确的是 。

A) a=a+b=b++ B) (int)w %(a+b) C) (c+w)%(int)a D) w=a %=b

62.以下为非法c 语言表达式的是 。

A) n=(i=2, ++i) B) ++(i+1) C) j++ D) x=++j

63.若定义了int a, x, y;则下列表达式中不正确的是 。

A) x=3, y=5 B) ++x C) x=y?+=x*30 D) a=y+x=30

64.设x, y, u, v 均为浮点型,与数学公式v u y

x ??不等价的c 语言表达式是 。

A)x*y/u*v B)x*y/u/v C) x*y/(u*v) D) x/(u*v)*y

65.设float c, f;将数学公式)32(95

-=F c 能正确表示成c 语言表达式的是 。

A)c=5*(f-32)/9 B)c=5/9(f-32) C)c=5/9*(f-32) D)c=5/(9*(f-32))

66.以下变量x, y , z 均为double 类型且已正确赋值,以下不能正确表示数学公式z y x *的c

语言表达式是 。

A) x/y*z B)x*(1/(y*z)) C)x/y*1/z D)x/y/z

67.与数学公式3x n /(2x-1)对应的C 语言表达式是 。

A) 3*x^n/(2*x-1) B) 3*x**n/(2*x-1)

C) 3*pow(x,n)/(2*x-1) D) 3*pow(n, x)/(2*x-1)

68.以下不能正确计算数学公式35

.0sin 2值的c 语言表达式是 。

A) 1/3*sin(1/2)*sin(1/2) B) sin(0.5)*sin(0.5)/3

C) pow(sin(0.5), 2)/3 D) 1/3.0*pow(sin(1.0/2),2)

69.以下c 语言表达式与数学公式)(2b a h

计算结果不相符的是 。 A) (a+b)*h/2 B) (1/2)*(a+b)*h C) (a+b)*h*1/2 D) h/2*(a+b)

70.不用第三个变量,将变量a 和b 的值进行互换的操作是 。

A) a+=b; b-=a; a-=b; B) b-=a; a-=b; a-=b;

C) a+=b; b=a-b; a-=b; D) b-=a; a=b-a; a+=b;

二、填空题

1. C 语言的标识符只能由大小写字母、数字和下划线三种字符组成,而且一个字符必须为____________________________________。

2.字符常量使用一对________________界定单个字符,而字符串常量使用一对________________来界定若干个字符的序列。

3.一个char 数据在内存中所占字节数为____________,其数值范围为________________;一个short 数据在内存中所占字节数为____________,其数值范围为________________;一个long 数据在内存中所占字节数为____________,其数值范围为________________;一个float 数据在内存中所占字节数为____________,其数值范围为________________。

4.设int a; float f; double i;则表达式10+'a'+i*f 值的数据类型是____________。

5.在c 语言中,不同运算符之间运算次序存在______________的区别,同一运算符之间运算次序存在_______________________的规则。

6.c 语言表达式的运算对象可以是常量、函数调用和_________________。

7.设x, i, j, k 都是int 型变量,表达式x=(i=4, j=16, k=32)运算后,x 的值为____________。

8. 设x=5, a=l 7, y=2.7,则x+a %5*(int)(x+y)%2/7的值为________________。

9.设x=8.3, y=3.8,则(float)(x+y)/2+(int)x%(int)y 的值为________________。

l0. 己知:char a='a', b='b', c='c', i; 则表达式i=a+b+c 的值为________________。

11.已知:int a=9,n=7;则a+=a 表达式运算后a 的值为__________。a-=2表达式运算后a 的值为__________。a*=7+a*3表达式运算后a 的值为__________。a/=a+a 表达式运算后a 的值为__________。a%=(n%=4)表达式运算后a 的值为__________。a+=a-=a*=a 表达式运算后a 的值为__________。

12.若a 为int 型变量,则表达式(a=4*5,a*2), a+6的值为__________。

13.假设所有变量均为整型,则表达式(a=9, b=4, a++, b++, a+b)的值为__________。

14.有定义:double x=3.5, y=3.2;则表达式(int)x*0.5的值是__________,表达式y+=x++的值是__________。

15.有定义: int m=5,n=3;则表达式m/=n+4的值是__________,表达式m=(m=1,n=2,n-m)的值是__________,表达式m+=m-=(m=1)*(n=2)的值是__________。

16.设int a=0,b=0,c; 则执行c=(a-=b-5), (a=b, b=3);后变量c 的值是__________。

17.表达式5%3的值是__________,表达式5%-3的值是__________,表达式-5%3的值是__________,表达式-5%-3的值是__________。(提示:m %n 与m-m/n*n 等价。)

18.设int j=5;则执行j+=j-=j*j ;后j 的值是_________。

19.已知int x=17,y=5; 执行x %=x++/--y ;后x ,y 的值分别为_________。

20设int x ;则将x 强制转换为双精度类型应写成____________________。

21.数学公式

a x a ax 4(21++的c 语言表达式为____________________。 22.数学公式bc ae

3的c 语言表达式为____________________。

23.已知a, b, c 是一个十进制数的百位数、十位数、个位数,则该数的表达式为____________________。

24. 已知x 是一个四位十进制数,则它的百位数的表达式为____________________,它的十位数的表达式为____________________,它的个位数的表达式为____________________。

25.数学公式x 6-2x 5+3x 4+4x 3-5x 2+6x+7的C 语言表达式为____________________。

26. 数学公式)2cos()4sin(π

π

+的c 语言表达式为____________________。

27. 数学公式g f

e b c

b a Y ++-+=11.2)4

sin(π

的c 语言表达式为____________________。

28.已知平面两点坐标分别为(x 1, y 1)和(x 2, y 2),计算这两点之间距离的c 语言表达式为____________________。

29.计算x ,y 之和的立方根的c 语言表达式为____________________。

30.写出一个与表达式b=b+5+a ,a=a-l 等效的C 语言表达式___________________。

三、判断题

1. 在C 程序中,9ab 是合法的用户标识符。【_______】

2. 若a 是实型变量,c 程序中允许赋值a=10,因此实型变量中存放的是整型数。【_______】

3. 一个实型变量的值是绝对精确的。【_______】

4. C 语言中以%x 开头的数是十六进制数。【_______】

5. 在c 语言中,"A"占两个字节存储,而'A'占一个字节存储。【_______】

6. 在c 程序中对用到的所有变量都必须指定数据类型。【_______】

7. C 程序中的变量,必须先定义(声明),才能使用【_______】

8. 一个变量在内存中占据一定的存储单元空间。【_______】

9. 对几个变量在定义时赋初值可以写成:int a=b=c=3; 【_______】

10. C 语言不允件混合类型数据间进行运算。【_______】

11. 设char w; int x; float y; double z; 并已赋确定的值,则表达式w*x+z-y 结果的数据类型为double 。【_______】

12. %运算符要求运算对象必须是整数。【_______】

13. 自增运算符(++)或自减运算符(--)只能用于变量,有能用于常量或表达式。【_______】

14. 在c 程序的表达式中,为了明确表达式的运算次序,常使用括号“()”。【_______】

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 )。

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的绝对值

运算符与表达式练习题附答案

1. 以下运算符中优先级最高的是()。 A.&&B.+ C.!= D.?: 2.能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是()。 A.a>=10 or a<=0 B.a>=10| a<=0 C.a>=10 && a<=0 D.a>=10||a<=0 3. C语言中运算对象必需是整型的运算符是()。(A)+ (B)/ (C)% (D)* 4. 已知int i;float f;正确的表达式是()。 A)(int f)%i B) int(f)%i C) int(f % i) D) (int)f % i 5. 下列程序的输出结果是()。 void main( ) { int a=7,b=5; printf("%d\n",b=b%a); } (A)0 (B)1 (C)5 (D)不确定值6. 若有定义:int a=8,b=5,c;,执行语句c=a/b+0.4;

后,c的值为()。 (A)1.4 (B)1 (C)2.0 (D)2 7. 已知x=4.5,y=2.5,求表达式(x+y)/2+(int)y%(int)x的值()。 A) 3 B) 5 C) 3.5 D) 5.5 8. 已知各变量的类型如下 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=float(i) 9. 已知int a,b;执行语句a=(b=3*2,b*4),a+6;后变量a的值为()。 A) 6 B) 12 C) 24 D)30 10. 若有以下程序 main() { int k=2,i=2,m; m=(k+=i*=k);

第三章 运算符和表达式

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

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.花括号"{"和"}"只能作为函数体的定界符

(完整word版)C语言运算符与表达式的练习题答案

C语言运算符与表达式的练习题 单项选择题 (1)以下选项中,正确的 C 语言整型常量是(D)。 A. 32L B. 510000 C. -1.00 D. 567 (2)以下选项中,(D)是不正确的 C 语言字符型常量。 A. 'a' B. '\x41' C. '\101' D. "a" (3)字符串的结束标志是(C)。 A. 0 B. '0' C. '\0' D. "0" (4)算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为(B)。 A. 算术运算、赋值运算、关系运算 B. 算术运算、关系运算、赋值运算 C. 关系运算、赋值运算、算术运算 D. 关系运算、算术运算、赋值运算 (5)逻辑运算符中,运算优先级按从高到低依次为(D)。 A. && ! || B. || && ! C. && || ! D. ! && || (6)表达式!x||a==b 等效于(D)。 A. !((x||a)==b) B. !(x||y)==b C. !(x||(a==b)) D. (!x)||(a==b) (7)设整型变量 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 *(8)设有语句 int a=3;,则执行了语句 a+=a-=a*=a; 后,变量 a 的值是(B)。 A. 3 B. 0 C. 9 D. -12 (9)在以下一组运算符中,优先级最低的运算符是(D)。 A. * B. != C. + D. = (10)设整型变量 i 值为2,表达式(++i)+(++i)+(++i)的结果是(B,上机13)。 A. 6 B. 12 C. 15 D. 表达式出错 (11)若已定义 x 和 y为double 类型,则表达式的值是(D)。

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

第三章运算符与表达式练习题 一、单项选择题 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++

第三章。运算符和表达式2、分支结构

Top 1.运算符和表达式-2 2.分支结构 1. 运算符和表达式-2 1.1. 赋值运算 1.1.1. 使用“=”进行赋值运算 “=”称为赋值运算符,用于对变量赋值。关于赋值运算符,除了将右边的表达式计算出来赋给左边以外还具备如下特点:赋值表达式本身也有值,其本身之值即为所赋之值。示例代码如下所示: 1.int num =18, index; 2.System.out.println(index = num %5);// 结果为:3,赋值表达式本身也有值 3.System.out.println(index);// 结果为:3 4.int a, b, c; 5. a = b = c =100; 6.// c=100 整个表达式的值为100,将其赋值给b,同样b=(c=100)整个表达式 的值也为100,然后有将这个值赋给了a,所以a 的值也是100。 1.1. 2. 使用扩展赋值表达式 在赋值运算符”= ”前加上其它运算符,即为扩展赋值运算符,其效率高于赋值运算符,推荐使用,扩展赋值运算符如下图- 5所示:

图- 5 1.2. 字符连接运算 1.2.1. 使用“+”进行字符串连接 “+”除了可以进行算术运算以外,还可以实现字符串的连接,同时可以实现字符串与其他数据类型的“相连”。 当+ 号作用于两个数字类型变量时,是在进行算术运算。 当+ 号两边的变量有一个是字符串类型,即””括起来的时候,则其进行的是字符串的连接,连接后的结果为字符串类型。示例代码如下所示: 1.int a =100; 2.String msg ="a="+ a; 3.System.out.println(msg);//a=100,字符串拼接 4.msg =""+100+200; 5.System.out.println(msg);//结果为: 100200,””+100,为字符串100再拼 上200为100200 6.msg =100+200+""; 7.System.out.println(msg);//结果为:300,100+200为算术运算结果为300, 再加上””为300 1.3. 条件(三目)运算 1.3.1. 使用条件(三目)运算符

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

第三章数据类型、运算符与表达式 [试题分类]: 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

C语言数据类型和运算符及表达式复习题

数据类型、运算符和表达式复习题一.选择题 1. 以下不合法的用户标识符是:() a) f2_G3 b) If c) 4d d) _8 2. 以下选项中合法的用户标识符是:() a) long b) _2Test c) 3Dmax d) A.dat 3. 以下可用作用户标识符的是:() a) 12_a b) signed c) t-o d) _if 4. 以下不是关键字的标识符是:() a) continue b) char c) If d) default 5. C语言提供的合法的关键字是:() a) swicth b) cher c) Case d) void 6. 以下选项中不合法的int整型常数是() a) 32768b) -56 c) 03 d) 0xAF 7. 以下合法的长整型常量是() a) 2L b) 49627 c) 34566666 d) 213& 8. 以下正确的实型常量是() a) 1.2E b) .579899 c) 1.2e0.6 d) 8 9. 以下选项中合法的实型常数是() a) 5E2.0 b) E-3 c) .2E0d) 1.3E 10. 以下合法的八进制数是() a) 0135b) 068 c) 013.54 d) o7

11. 以下合法的十六进制数是() a) 0x b) 0x4de c) 0x1h d) ox77 12. 以下选项中非法的数值常量是() a) 019b) 0L c) 0xff d) 1e1 13. 若变量已正确定义,以下合法的赋值表达式是() a) a=1/b=2 b) ++(a+b) c) a=a/(b=5)d) y=int(a)+b 14. 若变量已正确定义,以下非法的表达式是() a) a/=b+c b) a%(4.0) c) a=1/2*(x=y=20,x*3) d) a=b=c 15. 设x为int类型,其值为11,则表达式(x++*1/3)的值是: a) 3 b) 4 c) 11 d) 12 16.设a,b均为double型,且a=5.5;b=2.5;则表达式 (int)a+b/b的值是() a) 6.500000 b) 6 c) 5.500000 d) 6.000000 17.若a为int型,且其值为3,则执行完表达式: a+=a-=a*a后,a的值是() a) -3 b) 9 c) -12 d) 6 18.设k和x均为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)

表达式与语句

表达式与语句 前面已经提到过表达式,相信大家对表达式也有了一个初步的认识,它是由常量、变量、运算符组合(到以后讲函数时,函数也可以是组成表达式的元素),计算以后返回一个结果值。表达式的结束标志是分号(;),C语言中所有的语句和声明都是用分号结束,在分号出现之前,语句是不完整的。例如: 1+2; Counter/3+5; Height*Width; 表达式本身什么事情都不做,只是返回结果值。在程序不对返回的结果值做任何操作的情况下,返回的结果值不起任何作用,表达式的作用有两点,一个是放在赋值语句的右边,另一个是作为函数的参数(以后再介绍)。 表达式返回的结果值是有类型的。表达式隐含的数据类型取决于组成表达式的变量和常量的类型。因此,表达式的返回值有可能是某种大小的整型,或者是某精度的浮点型,或者是某种指针类型。 这里面就有类型转化的问题了,在前面说整型运算的时候也提到过。类型转化的原则是从低级向高级自动转化(除非人为的加以控制)。计算的转换顺序基本是这样的:

字符型-->整型-->长整型-->浮点型-->单精度型-->双精度型 就是当字符型和整型在一起运算时,结果为整型,如果整型和浮点型在一起运算,所得的结果就是浮点型,如果有双精度型参与运算,那么答案就是双精度型了。 强制转换是这样的,在类型说明符的两边加上括号,就把后面的变量转换成所要的类型了。如: (int) a; (float) b; 第一个式子是把a转换成整型,如果原先有小数部分,则舍去。 第二个式子是把b转换成浮点型,如果原先是整数,则在后面补0。 每一个表达式的返回值都具有逻辑特性。如果返回值为非0,则该表达式返回值为真,否则为假。这种逻辑特性可以用在程序流程控制语句中。 有时表达式也不参加运算,如: if(a||b) ………… 5>3?a++:b++; 当a为真时,b就不参加运算了,因为不管b如何,条件总是真。 二、语句 (一)、赋值语句

C语言运算符与表达式的练习题

C语言运算符与表达式的练习题 (作业写到纸质作业本上,在规定时间内交给助教批阅,不要 再网上提交) 一、单项选择题 (1) 以下选项中,正确的C 语言整型常量是。 A. 32L B. 510000 C. -1.00 D. 567 (2) 以下选项中,是不正确的C 语言字符型常量。 A. 'a' B. '\x41' C. '\101' D. "a" (3) 在C 语言中,字符型数据在计算机内存中,以字符 的形式存储。 A. 原码 B. 反码 C. ASCII 码 D. BCD码 (4) 字符串的结束标志是。 A. 0 B. '0' C. '\0' D. "0" (5) 算术运算符、赋值运算符和关系运算符的运算优先级按 从高到低依次为。 A. 算术运算、赋值运算、关系运算 B. 算术运算、关系运 算、赋值运算

C. 关系运算、赋值运算、算术运算 D. 关系运算、算术运算、赋值运算 (6) 逻辑运算符中,运算优先级按从高到低依次为。 A. &&,!,|| B. ||,&&,! C. &&,||,! D. !,&&,|| (7) 表达式!x||a==b 等效于。 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 的值是。 A. 0,0 B. 0,1 C. 1,0 D. 1,1 (9) int b=0,x=1;执行语句if(x++) b=x+1; 后,x,b 的值依次为。 A. 2,3 B. 2,0 C. 3,0 D. 3,2 (10) 设有语句int a=3;,则执行了语句a+=a-=a*=a; 后,变量 a 的值是。 A. 3 B. 0 C. 9 D. -12 (11) 在以下一组运算符中,优先级最低的运算符是。 A. * B. != C. + D. =

运算符和表达式

运算符和表达式 上课到这一课相隔了好长一段时间,这些日子里收到不少网友的来信支持和鼓励,要求尽快完成余下的部分。出门在外的人不得不先为吃饭而努力,似乎这也成为我的借口,以后每晚抽空打一些吧这样大家也就可以不用隔太久就能看到一些新东西。或许我的笔记并不是很正确,但我尽量的保证每课的实验都会亲自做一次,包括硬件的部分,已求不会误人子弟。 随着访问量不断的增加,网站已启用了https://www.360docs.net/doc/3318773419.html,的国际域名,在这里我感谢各位一直支持磁动力工作室的朋友,更要感激身在远方一直默默支持我的女友。 明浩2003-7-14 晚 呵,费话少说了。上两课说了常量和变量,先来补充一个用以重新定义数据类型的的语句吧。这个语句就是typedef,这是个很好用的语句,但我自己却不常用它,通常我定义变量的数据类型时都是使用标准的关键字,这样别人可以很方便的研读你的程序。如果你是个DELPHI编程爱好者或是程序员,你对变量的定义也许习惯了DELPHI的关键字,如int类型常会用关键字Integer来定义,在用C51时你还想用回这个的话,你可以这样写: typedef int integer; integer a,b; 这两句在编译时,其实是先把integer定义为int,在以后的语句中遇到integer就用int置换,integer就等于int,所以a,b也就被定义为int。typedef不能直接用来定义变量,它只是对已有的数据类型作一个名字上的置换,并不是产生一个新的数据类型。下面两句就是一个错误的例子: typedef int integer; integer = 100; 使用typedef可以有方便程序的移植和简化较长的数据类型定义。用typedef还可以定义结构类型,这一点在后面详细解说结构类型时再一并说明。typedef的语法是typedef 已有的数据类型新的数据类型名 运算符就是完成某种特定运算的符号。运算符按其表达式中与运算符的关系可分为单目运算符,双目运算符和三目运算符。单目就是指需要有一个运算对象,双目就要求有两个运算对象,三目则要三个运算对象。表达式则是由运算及运算对象所组成的具有特定含义的式子。C是一种表达式语言,表达式后面加";"号就构成了一个表达式语句。 赋值运算符 对于"="这个符号大家不会陌生的,在C中它的功能是给变量赋值,称之为赋值运算符。它的作用不用多说大家也明白,就是但数据赋给变量。如,x=10;由此可见利用赋值运

03.JAVA考核题-数据类型和运算符(一)第一部分(答案)

JAVA考核-数据类型和运算符 第一部分 英语测试(每题1分,共10分) 1 .(单选) oriented ( A ) A 面向 B 向上 C向下 D 方向 2 .(单选) Object ( B) A 目标 B 对象 C 象征 D 锚 3 .(单选) integer ( D) A 小数 B 浮点数 C 实数 D 整数 4 .(单选) syntax ( C) A 标识符 B 句号 C 语法 D 选择 5 .(单选) infinity ( A) A 无穷 B 确定 C 渺小 D孤独 6. (单选) insert ( B) A 导出 B 嵌入 C 往上 D 动作 7 .(单选) instance ( C) A 插入 B 迅速 C 实例 D 速溶 8 .(单选) comment ( A) A 注释 B 语句 C 内容 D 文档 9.(单选)String ( D) A一束 B一捆 C一打 D一串 10.(单选)conversion ( A) A转换 B分配 C指定 D优化 第二部分 知识点测试(90分) 一、选择题(每题1.5分,共67.5分) 1 . 用8位无符号二进制数能表示的最大十进制数为(C) A. 127 B. 128 C. 255 D. 256 2 .以下能作为char类型的字面值的有(BDE) A. "e" B. 'f' C. '\u12' D. '\u0012' E. '\n' 3 .byte变量的取值范围是(B) A. 0~65535 B. -128~127 C. -256-255 D. 0~32767

4. 以下选项中正确的有(ACD) A. int i = 32; B. float f = 45.32; C. double d=3.2; D. double d=9.21D; 5 .假定x和y为double型,则表达式x=2,y=x+3/2的值是(D) A. 3.5 B. 3 C. 2.0 D. 3.0 6 .下列对于>>和>>>操作符描述正确的是(A) A. 当左面的操作数是正数时,>>和>>>结果相同。 B. (-1 >> 1)的结果是0。 C. (-1 >>> 1) 的结果是-1。 D. 只有在右面的操作数大于等于1时, >>> 才会返回负数。 7 .有如下一段代码: 1)public class ReturnIt{ 2) returnType methodA(byte x, double y){ 3) return x/y*2; 4) } 5) } 在第2行中,方法methodA的有效返回类型returnType应该是?(D) A. int B. byte C. short D. double 8.下列代码的执行结果是(D) 1)public class Beirun{ 2) public static void main(String args[]){ 3) float t=9.0f; 4) int q=5; 5) System.out.println((t++)*(--q)); 6) } 7)} A. 40 B. 40.0 C. 36 D. 36.0 9.下列代码的执行结果是(D) 1)public class Beirun{ 2) public static void main(String args[]){ 3) System.out.println(5/2); 4) } 5)} A. 2.5 B. 2.0 C. 2.50 D. 2 10.下列代码的执行结果是(B) 1)public class Beirun{ 2) public static void main(String args[]){ 3) System.out.println(100%3);

java基础数据类型与运算符

//这是我们的第一个java application,该程序保存在文件Property.Java中 import Java.util.*; /*下面我们用到了Date和Properties这两个类,是 属于Java.util这个包的;*/ /*而System和Runtime这两个类,是属于 https://www.360docs.net/doc/3318773419.html,ng这个包的。*/ public class Property { //程序员给这个类取名为Property public static void main(String args[]){ //main是类的主方法 System.out.println(new Date( )); //在命令行下面打印出日期 Properties p=System.getProperties( ); //获得系统的Properties对象p p.list(System.out); //在命令行下打印出p中的各个系统变量的值 System.out.println("--- Memory Usage:"); /*打印一行字符串---Memory Usage*/ Runtime rt=Runtime.getRuntime( ); //获得系统的Runtime对象rt System.out.println("Total Memory= " + rt.totalMemory( ) //打印总内存大小 +" Free Memory = " +rt.freeMemory( )); //打印空闲内存大小 } } JA V A教程第二讲 Java语言基础知识 2.1简单数据类型 2.1.1 标识符和保留字 1.标识符(变量) 程序员对程序中的各个元素加以命名时使用的命名记号称为标识符(identifier)。J ava语言中,标识符是以字母,下划线(_),美元符($)开始的一个字符序列,后面可以跟字母,下划线,美元符,数字。例如,identifier,userName,User_Name,_sys_val, $c hange为合法的标识符,而2mail room#,class 为非法的标识符。 2.保留字(关键字) 具有专门的意义和用途,不能当作一般的标识符使用,这些标识符称为保留字(reserv ed word),也称为关键字,下面列出了Java语言中的所有保留字: abstract,break,byte,boolean,catch,case,class,char,continue,default,do uble,do,else,extends,false,final,float,for,finally,if,import,impleme nts,int,interface,instanceof,long,length,native,new,null,package,priv ate,protected,public,return,switch,synchronized,short,static,super,try,true,this,throw,throws,threadsafe,transient,void,while 。

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

设x的值为4,则表达式y=(++x)+(++x)+(++x)后,y的值是(D)。 A.12 B.18 C.16 D.21 下列数据中,为字符的是(D)。 A.‘AB’ B."A" C.How D.‘A' 以下符号中,合法的用户标识符是(D)。 A. -p B. int C. 3ab D. _xt_ 以下实型常量中,符合C语言语法的是(A)。 A. .5E-3 B. 1.2E0.5 C. E15 D. 3.14.159E 若有说明和语句:int a=5,b=6;b*=a+1;则b的值为(D) A. 5 B. 6 C. 31 D. 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.5 B.2.5 C.3.5 D.2 以下选项中不属于C语言的类型的是(D)。 A.signed short int

B.unsigned long int C.unsigned int D.long short 关于C语言数据类型的叙述,正确的是(C)。 A. 整型不是基本类型 B. 数组不是构造类型 C. 变量必须先定义后使用 D. 不允许使用空类型 若a=12,则表达式a-=a的值为(A)。 A. 0 B.12 C.1 D. 24 若x=3.5,a=2,y=2.5,b=3则表达式(int)(a+b)/2+(int)x%(int)y的值是(D)。 A. 1.5 B. 2.5 C. 3 D. 3.5 若a是数值类型,则逻辑表达式(a==1)&&(a!=1)的值是(C)。 A.1 B. 2 C. 0 D. 不知道a的值,不能确定 若char x=97,则变量x对应(A)字符。 A. ‘a’ B. ‘A’ C. ‘9’ D. ‘7’ 设C语言中,int类型数据占2个字节,则float类型数据占(C)字节。 A. 1个 B. 2个 C. 4个 D. 8个 下列数据类型不是C语言基本数据类型的是(C)。 A. 字符型 B. 整型 C. 数组

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

第一章数据类型、运算符与表达式 (1)以下程序输出的结果是 include main() { int i=6,y=4,z=2; printf("%d\n",i/y%z); } (2)以下程序输出的结果是 #include main() { int x=10,y=10; printf("%d,%d\n",x--,--y); } (3)以下程序输出的结果是 #include main() { printf("%f\n",2.5+1*7%2/4); } (4)以下程序输出的结果是 #include main() { int x=023; printf("%d\n",--x); } (5)以下程序输出的结果是 #include main() { int a=-10,b=-3; printf("%d\n",a%b); printf("%d\n",a/b*b); printf("%d\n",-a%b); printf("%d\n",a-=b+++1); } (6)以下程序输出的结果是 #include main() { int a,b,c;

a=(b=(c=3)*5)*2-3; printf("a=%d,b=%d,c=%d\n",a,b,c); } (7)以下程序输出的结果是 #include main() { int m=12; int n=34; printf(“%d\n%d\n”,m++,++n); } (8)以下程序输出的是 #include main() { int a=1,b=4,c=2; float x=10.5,y=4.0,z; z=(a+b)/c+sqrt((double)y)*1.2/c+x; printf("%f\n",z); } (9)以下程序输出的是 #include main() { int x,y; y=(x=1,++x,x+2); printf("%d\n",y); } (10)以下程序输出的是 #include main() { int x=10,y,z; y=z=x; x=y==z; printf("%d\n",x); } (11)以下程序输出的是 #include main() { int a=12; printf("%d\n",a+=a-=a*a); }

第三章-关系代数与关系运算复习课程

第三章关系代数与关系运算 关系数据语言有三类: 1.关系代数语言 2.关系演算语言(元组关系演算语言、域关系演算语言) 3.具有关系代数和关系演算双重特点的语言如SQL 一.关系代数 关系代数:一种抽象的查询语言,是关系数据操纵语言的一种传统表达方式。用对关系的运算来表达查询。 运算:将一定的运算符作用于一定的运算对象上,得到预期的运算结果 运算三要素:运算符、运算对象、运算结果 关系代数的运算对象和结果都是:关系 关系代数运算符(四类):集合运算符、专门的关系运算符、算术比较符和逻辑运算符 集合运算符:并(U)、差(—)、交(∩) 传统的集合运算符——从关系的“水平“方向即行的角度来进行 专门的关系运算符:广义笛卡尔积(ⅹ)、选择(σ)、投影(π)、连接、除 专门关系运算符不仅涉及行而且涉及列 比较运算符:>、<、=、≥、≤、≠ 逻辑运算符:¬∧∨ 用来辅助专门的关系运算符 二.传统的集合运算符

传统集合运算符是二目运算符 设关系R和S具有相同的目n(即n个属性),且相应的属性取自同一个域 1.并(Union) 记作:RUS={t|t∈R∨t∈S}结果仍是n目关系,由属于R或S的元组组成。 例: (a)(b) (c)(d) (e) 2.差 关系R与S的差记作:R-S={t|t∈R∧t∈S} 结果仍是n目,由属于R而不属于S的所有元组组成。如图E 3.交 关系R与S的交记作:R∩S = { t | t∈R∧t∈S }结果仍是n目,由即属于R又属于S 的所有元组组成。如图D 可以用差来表示R∩S=R-(R-S) 4.广义笛卡尔积 两个分别为n目和m目的关系R和S的广义笛卡尔积是一个(m+n)列的元组的集合。元组的前n列是关系R的一个元组,后m列是关系S的一个元组。若R有k1个元组,S 有k2个元组,那么关系R与S的广义笛卡尔积有k1 x k2个元组,记作 R×S = { t r t s | t r∈R∧t s∈S } 结果是m+n目 如图例

相关文档
最新文档