当前位置:文档之家› 第一章 数据类型、运算符与表达式

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

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

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

(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);

}

(12)以下程序输出的是

#include

main()

{

int x=10,y=9,a,b,c;

a=(--x==y++)?--x:++y;

b=x++;

c=y;

printf("a=%db=%dc=%d\n",a,b,c); }

(13)以下程序输出的是

#include

main()

{

int i=5,j=7,x,y;

x=++i;

y=j++;

printf("%d,%d,%d,%d\n",i,j,x,y); }

(14)以下程序输出的是

#include

main()

{

float f=13.8;

int n;

n=((int)f)%3;

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

}

(15)以下程序输出的是

#include

main()

{

int a,b,x;

x=(a=3,b=a--);

printf("x=%d,a=%d,b=%d\n",x,a,b); }

(16)以下程序输出的结果是

#include

main()

{

int w=4,x=3,y=2,z=1;

printf("%d\n",w

}

(17)以下程序输出的是

#include

main()

{

int x,y;

y=(x=1,++x,x+2);

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

}

(18)以下程序输出的是

#include

main()

{

int x=1;

printf("%d\n",(x&1==1)?1:0);

}

(19)以下程序输出的是

#include

main()

{

int a=12;

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

}

(20)以下程序输出的是

#include

main()

{

int a,b,x;

x=(a=3,b=a--);

printf("x=%d,a=%d,b=%d\n",x,a,b); }

(21)以下程序输出的是

#include

main()

{

int i=5,j=7,x,y;

x=++i;

y=j++;

printf("%d,%d,%d,%d\n",i,j,x,y); }

(22)以下程序输出的是

#include

main()

{

int x=10,y=9,a,b,c;

a=(--x==y++)?--x:++y;

b=x++;

c=y;

printf("a=%db=%dc=%d\n",a,b,c);

}

(23)以下程序输出的是

#include

main()

{

int x,y,z;

x=5/2;

y=-5/2;

z=6/(-4);

printf("x=%d,y=%d,z=%d\n",x,y,z);

}

(24)以下程序输出的是

#include

main()

{

int a=6,n;

printf("%d\n",a*=2+3);

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

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

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

}

(25)以下程序输出的是

#include

main()

{

int a=7,b=3;

float x=2.5,y=4.7;

printf("%f\n",x+a%3*(int)(x+y)%2/4); printf("%f\n",(float)(a+b)/2+(int)x%(int)y); }

(26)以下程序输出的是

#include

main()

{

int a,b,c;

a=(b=(c=3)*5)*2-3;

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

}

(27)以下程序输出的是

#include

main()

{

int x=10,a=20,b=30,c=40;

x=x>a?x:a;

x=x>b?x:b;

x=x>c?x:c;

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

}

(28)以下程序输出的结果是

#include

main()

{

int a,b,c,d,f;

a=3,b=2,c=1;

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

printf(“%d\n”,b+c

printf(“%d\n”,d=a>b);

printf(“%d\n”,f=a>b>c); printf(“%d\n”,(a>b)==c);

}

(29)以下程序输出的是

#include

main()

{

int a=2;

char c='a';

float f=3.0;

printf("%f\n",a+a*6/f+c%a); printf("%d\n",(a<=f)+5); printf("%f\n",(a&&1)*f); printf("%d\n",(a>2)?3:2); printf("%f\n",(a=2)*f);

printf("%d\n",(1,2,3)-a);

}

(30)以下程序输出的是

#include

main()

{

int a=1;

char c='a';

float f=2.0;

printf("%d\n",a+2!=c-100); printf("%d\n",(a>c)>=(f>4)); printf("%d\n",!a==!f);

printf("%d\n",(!a&&1)!=(!c||1));

printf("%d\n",(!a>2)?3:0<((f!=1)?0:1)); printf("%d\n",(1,2,3)==(3,3,3));

}

(31)以下程序输出的是

#include

main()

{

int a=1;

char c='a';

float f=2.0;

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

printf("%d\n",(a<=c,f>=c));

printf("%d\n",(!(a==0),f!=0&&c=='A')); printf("%d\n",((a>0?0:1),(a<0?1:2))); printf("%d\n",(f+2.5,a-10));

printf("%d\n",(a,c,f,5));

}

(32)以下程序输出的是

#include

main()

{

int x=5,y=2;

printf("%d\n",!(y==x/2));

printf("%d\n",y!=x%3);

printf("%d\n",x>0&&y<0);

printf("%d\n",x!=y||x>=y);

}

(33)以下程序输出的是

#include

main()

{

int a=20,b=5,c;

printf("%d\n",c=((a==b)?a/b:b%a));

}

(34)以下程序输出的是

#include

main()

{

int i=1,j=2,k=3;

printf("%d\n",(i&&j&k));

}

(35)以下程序输出的是

#include

main()

int x=2;

printf("%d\n",(x<<2)/(x>>1)); }

(36)以下程序输出的是

#include

main()

{

int a=2,b=7;

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

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

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

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

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

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

}

(37)以下程序输出的是

#include

main()

{

int x=1,y=2;

x=x^y;

y=y^x;

x=x^y;

printf("x=%d,y=%d\n",x,y); }

(38)以下程序输出的是

#include

main()

{

char x=3,y=6,z;

z=x^y<<2;

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

}

(39)以下程序输出的是

#include

main()

{

int a=4,b=3,c=1;

printf("%d\n",a/b&~c);

}

(40)以下程序输出的是

#include

main()

int m=20,n=025;

if(m^n)

printf("C语言\n");

else

printf("C++语言\n");

}

(41)以下程序输出的是

#include

main()

{

char a=-8;

unsigned char b=248;

printf("%d,%d\n",a>>2,b>>2);

}

(42)以下程序输出的是

#include

main()

{

unsigned a=16;

printf("%d,%d,%d\n",a>>2,a=a>>2,a); }

(43)以下程序输出的是

#include

main()

{

unsigned char a='A',b=32,c;

a=a^b;

c=((b^a)>>2);

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

}

(44)以下程序输出的是

#include

main()

{

char Z='A';

int B;

B=((241&15)&&(Z|'a'));

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

}

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

第三章 运算符和表达式

第三章运算符和表达式 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语言试题数据类型、运算符与表达式

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语言-数据类型与运算符(含答案)详解

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

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

第三章运算符与表达式练习题 一、单项选择题 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.{ 下列程序执行后的输出结果是________________。 #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)

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.doczj.com/doc/6016602188.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目 如图例

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

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

基本数据类型、运算符和表达式 (总分: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);

第三章 运算符与表达式

第三章运算符与表达式 3、1 C运算符简介 运算符:狭义的运算符是表示各种运算的符号。 表达式:使用运算符将常量、变量、函数连接起来,构成表达式。 C语言运算符丰富,范围很宽,把除了控制语句和输入/输出以外的几乎所有的基本操作都作为运算符处理,所以C语言运算符可以看作是操作符。C语言丰富的运算符构成C语言丰富的表达式(是运算符就可以构成表达式)。运算符丰富、表达式丰富、灵活。 在C语言中除了提供一般高级语言的算术、关系、逻辑运算符外,还提供赋值符运算符,位操作运算符、自增自减运算符等等。甚至数组下标,函数调用都作为运算符。 C的运算符有以下几类: ++,-- 本章主要介绍算术运算符(包括自增自减运算符)、赋值运算符、逗号运算符,其它运算符在以后相关章节中结合有关内容陆续进行介绍。 3、2 算术运算符和算术表达式

1、算术运算符 +(加法运算符。如3+5) -(减法运算符或负值运算符。如5-2,-3) *(乘法运算符。如3*5) /(除法运算符。如5/3,5.0/3) %(模运算符或求余运算符,%要求两侧均为整型数据。如7%4的值为3)。 除了负值运算符-单目运算符外,其它都是双目运算符。 说明: (1)两个整数相除的结果为整数,如5/3的结果为1,舍去小数部分。但是如果除数或被除数中有一个为负值,则舍入的方向是不固定的,多数机器采用“向0取整”的方法(实际上就是舍去小数部分,注意:不是四舍五入)。 (2)如果参加+,-,*,/运算的两个数有一个为实数,则结果为double型,因为所有实数都按double型进行计算。 (3)求余运算符%,要求两个操作数均为整型,结果为两数相除所得的余数。求余也称为求模。一般情况,余数的符号与被除数符号相同。 例如:-8%5=-3;8%-5=3 2、算术表达式 算术表达式:用算术运算符和括号将运算对象(也称操作数)连接起来的、符合C语法规则的式子,称为算术表达式。运算对象可以是常量、变量、函数等。 例如,下面是一个合法的C算术表达式。a*b/c-1.5+’a’。

C语言(数据类型与运算符)习题与答案

一、单选题 1、表达式:(int)((double)9/2)-(9)%2 的值是 A.1 B.0 C.4 D.3 正确答案:D 解析: D、整数除以整数,结果为整数 2、若有定义语句:int x=10; ,则表达式 x-=x+x 的值为 A.0 B.-10 C.10 D.20 正确答案:B 3、以下选项中,不能作为合法常量的是 A.1.234e+4 B.1.234e04 C.1.234e0.4 D.1.234e0 正确答案:C 解析: C、指数次数必须为整型 4、下列选项中,不能用作标识符的是 A.int_2_ B.i_nt123 C. _1234_ D.2_int_ 正确答案:D

5、设有定义:float a=2,b=4,h=3; 以下C语言表达式与代数式(a+b)/2 × h 计算结果不相符的是 A.(1/2)*(a+b)*h B.h/2*(a+b) C.(a+b)*h/2 D.(a+b)*h*1/2 正确答案:A 二、填空题 1、若有定义语句:int a=5;,则表达式:a++ 的值是________。 正确答案:5 解析:相当于 y=a++,求y的值,++在后,先使用a的值赋给y,之后再给a增1 2、若有语句 double x=17; int y; ,当执行 y=(int)(x/5)%2;之后y 的值为 ________。正确答案:1 解析: %运算要求两数为整数,结果为整数 3、设有语句char a='\072';则变量a最终获得________个字符?(仅填写具体阿拉伯数字) 正确答案:1 解析:这是一个转义字符 4、一个float型变量占________个字节?(仅填写具体阿拉伯数字) 正确答案:4 5、int a=5,b=6,c=7,f; f=c>b>a ;f的最终结果是________。 正确答案:0 解析:关系运算只能两两判断

2.数据类型和运算符作业-

数据类型和运算符作业 一、填空题 1.Java语言规定标识符由字母、下划线、美元符号和数字组成,并且第一个字符不能 是数字。 2.Java中整型变量有byte、short、int和long四种,不同类型的整数变量在内存中分 配的字节数不同,数值范围也不同。对于int型变量,内存分配4个字节。 3.在Java中浮点型变量有float和double两种,对于float型变量,内存分配4个字 节,尾数可精确到7位有效数字,对于double型变量,内存分配8个字节。 4.char c=’a’;System.out.println(c+1);运行结果为:98。 5.______&&___是短路与运算符,如果左侧表达式的计算结果是false,右侧表达式将 不再进行计算。 6.下面的语句是声明一个变量并赋值:boolean b1=5!=8; b1的值是____true______。× 7.使用位运算符来实现运算效率最高,所以最有效率的方法算出2乘以8等于多少的 语句是2<<3。 8.基本数据类型的类型转换中,要将double类型的常量3.14159赋给为整数类型变量 n的语句是____int_n=(int)(3.14159)________________。 9.八进制整数012表示十进制的___10____,十六进制数0x3C表示十进制的_____60__。 10.一个十进制整数转换成八进制数后是1234,则它转为十六进制数后是29C。 二、选择题 1. 在Java中,以下错误的变量名是( d )。(选择一项) A constant B. flag C. a_b D. final 2. 以下选项中属于合法的Java标识符的是(cd )。(选择两项) A. public B. 3num C. name D. _age 3. 在Java中,byte数据类型的取值范围是( a )。(选择一项) A -128 ~ 127 B. -228 ~128 C. -255 ~ 256 D. -255 ~ 255 4. 下面的代码段中,执行之后i和j的值是( c )。(选择一项)× int i=1;int j; j=i++; A 1,1

相关主题
文本预览
相关文档 最新文档