【无标题】

x为浮点型,则表达式x=10/4为( )。

A.2.5

B.2.0

C.2

D.3

10 / 4 是整数之间的运算,表达式的结果是2,把 2 赋值给 x 就是 2.0。

如果参与计算的两个数有任意一个是float,则结果就是float:
x = 10.0 / 4;
x = 10 / 4.0;
x = 10 * 1.0/4.0;


2-2

下列选项中用于判断ch是否是字符的表达式是( )。

A.( 'a' <= ch <= 'z' ) || ( 'A' <= ch <= 'Z' )

B.( 'a' <= ch <= 'z' ) && ( 'A' <= ch <= 'Z' )

C.( ch >= 'a' && ch <= 'z' ) && ( ch >= 'A' && ch <= 'Z' )

D.( ch >= 'a' && ch <= 'z' ) || ( ch >= 'A' && ch <= 'Z' )

char用于C或C++中定义字符型变量,取值是字符常量,只占一个字节。系统在表示一个char型变量时,是将变量的ASCII码存入内存。取值范围为 -128 ~ +127。所以可以直接用大写字母对应的ASCII码进行判断。即判断char型变量ch是否为大写字母的c语言表达式是ch>='A' && ch<='Z' 。

||或

&&与


2-3

计算变量x(x大于1)整数部分位数的表达式,可以写作( )。

A.(int)log10(x)

B.log10(x)

C.log10(x)+1

D.(int)log10(x)+1

log10(x)的值的整数部分比x的整数部分的位数少1,这是常用对数的性质

??


2-4

若变量已正确定义,表达式 (j=3, j++) 的值是____。

A.3

B.4

C.5

D.6

逗号表达式的值取最后一个表达式的值,也就是j++的值,

由于++是后缀,所以先取j的值3作为整个逗号表达式的值,所以这个式子的值是3,

在这个逗号表达式计算结束后,j的值才加1,因而j的值是4,但已经不会影响逗号表达式的值了。


2-5

假设字符变量ch中存放有大写英文字母,将其转换为相应的小写英文字母的表达式是 ( )。

A.ch = ch-'a'-'A'

B.ch = ch-32

C.toupper(ch)

D.ch += 'a'-'A'

①32是大小写字母在ascii码表上的位置差,小写比大写高32,ch=ch+32

②('A-'a')是ASC码表上大写与小写字母间的差值

ch-('A'-'a'):大写转小写。


2-6

假定x和y为 double型,则表达式x=2,y=x+3/2的值是( )。

A.3.500000

B.3

C.3.000000

D.2.000000

因为在表达式中3/2=1,又因为y=x+3/2=x+1=3.000000。因为运算符的优先级原因和运算的类型转换等因素的影响(/比+优先),才导致结果为3.000000

运算:3为整型,2为整型,所以3/2为整型。当执行y=x+3/2时,x为double,把x+1转为double型的运算,所以得出最后结果为3.000000。


2-7

能正确表示a和b同时为正或同时为负的逻辑表达式是______。

A.(a>=0||b>=0)&&(a<0|| b<0)

B.(a>=0&&b>=0)&&(a<0&&b<0)

C.(a+b>0)&&(a+b<=0)

D.a*b>0

0是非正非负数


2-8

以下字符串可以作为标识符的是()。

A._

B.123

C.C++

D.int

标识符由字母(A-Z,a-z)、数字(0-9)、下划线“_”组成,并且首字符不能是数字,但可以是字母或者下划线。例如,正确的标识符:abc,a1,prog_to。
不能把C语言关键字作为用户标识符,例如if,for,while等。
标识符对大小写敏感,即严格区分大小写。一般对变量名用小写,符号常量命名用大写。
标识符命名应做到“见名知意”,例如,长度(length),求和、总计(sum),圆周率(pi)……


2-9

下列运算符中,优先级最低的是____。

A.*

B.!=

C.+

D.=


2-10

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

A.4

B.16

C.32

D.52

本题考查逗号表达式的运用。
x=(i=4,j=16,k=32)中的i=4,j=16,k=32构成一个逗号表达式,整个表达式的值取最后一项的值,即32,所以x的值为32。

扩展逗号表达式的知识:

c语言提供一种特殊的运算符,逗号运算符,优先级别最低,它将两式联接起来,如:(3+5,6+8)称为逗号表达式,其求解过程先表达式1,后表达式2,整个表达式值是表达式2的值,如:(3+5,6+8)的值是14。(a=3*5,a*4)的值是60。


2-11

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

A.7

B.8

C.6

D.2

c里面用逗号表示每个来运算,上式是运算完了再引用b的值,当然是2+6了。

在C语言中,多个表达式可以用逗号分开,其中用逗号分开的表达式的值分别结算,但整个表达式的值是最后一个表达式的值。

整型值可以用十进制,十六进制或八进制符号指定,前面可以加上可选的符号(- 或者 +)。如果用八进制符号,数字前必须加上 0(零),用十六进制符号数字前必须加上 0x。


2-12

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

AP_0 、 do

B.float 、1a0 、 _A

C.b-a 、 goto 、 int

D._123 、 temp 、 INT


2-13

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

A.必须为字母

B.必须为下划线

C.必须为字母或下划线

D.可以是字母、数字和下划线中任一种字符


2-14

下面四个选项中,均是合法整形常量的选项是( )

A.160 、 -0xffff 、 011

B.-0xcdf 、 01a 、 0xe

C.-01 、 986,012 、 0668

D.-0x48a 、 2e5 、 0x

2e5是科学计数法。表示2*10^5值。
0x后面没有数字,所以非法。


2-15

下面四个选项中,均是合法浮点数的选项是( )

A.+1e+1 、 5e-9.4 、 03e2

B.-.60 、 12e-4 、 -8e5

C.123e 、 1.2e-.4 、 +2e-1

D.-e3 、 . 8e-4 、 5.e-0

浮点数表示中,e前面必须有数字,整数或小数均可;

e后面必须接整数,正数或负数均可;

小数点前面只有零时,可以简写(如0.5可写成.5)
 


2-16

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

A."c"

B.'\'’

C.'W'

D.""


2-17

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

A.-10 、0x8g 、 -011

B.0abc 、-017 、 0xc

C.0010 、 -0x11 、 0xf1

D.0a12 、 -0x123 、 -0xa


2-18

According to the declaration: char c1=92,c2=92; the value of expression _____ is 0.

根据声明:字符 c1=92,c2=92;表达式 _____ 的值为 0。

A.c1^c2

B.c1&c2

C.~c2

D.c1|c2

如果a、b两个值不相同,则异或结果为1。如果a、b两个值相同,异或结果为0。

异或也叫半加运算,其运算法则相当于不带进位的二进制加法:二进制下用1表示真,0表示假,则异或的运算法则为:0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0(同为0,异为1),这些法则与加法是相同的,只是不带进位,所以异或常被认作不进位加法。


2-19

int a=2,b=4,c=5; The result of expression: c/a+b%c

整数 a=2,b=4,c=5;表达式的结果:c/a+b%c

A.6

B.6.5

C.3.5

D.2

4%5=4


2-20

下列符号中可以用作 C++标识符的是

A._radius

B.foo~bar

C.else

D.3room


2-21

下列()是正确的语句。

A.;

B.a=17

C.x+y

D.cout<<"\n"

??


2-22

按照标识符的要求,( )不能组成标识符。

A.连接符

B.下划线

C.大小写字母

D.数字字符


2-23

表达式__不能用于判断“x和y不同时为零”。

A.x!=0 || y!=0

B.x || y

C.!(x==0 || y==0)

D.!(x==0 && y==0)

??


2-24

已知字母A的ASCII码为十进制数65,且ch为字符型变量,则执行语句ch='A'+'6'-'3';后,ch中的值为__。

A.D

B.68

C.C

D.不确定


2-25

假设有变量定义如下 int a, k; 则以下哪条语句不能确保将变量k变为0:

A.k = a + ~a + 1;

B.k ^= k;

C.k = k >> (sizeof(int) * 8 - 1);

D.k = k & ~k;

  • A 一个数和它的按位取反相加结果肯定是全1,也就是-1,-1+1=0
  • B 一个数异或它自己得0
  • C 右移不能确定是带符号的还是无符号的
  • D 一个数和它的按位取反做按位与结果肯定是全0


2-2

下列关于单目运算符++、--的叙述正确的是____。

A.它们的运算对象可以是任何变量和常量

B.它们的运算对象可以是char型变量和int型变量,但不能是float型变量

C.它们的运算对象可以是int型变量,但不能是double型变量和float型变量

D.它们的运算对象可以是char型变量、int型变量和float型变量

++(或--)的运算结果是使运算对象增1(或减1);运算对象可以是整型变量、实型变量,也可以是字符型变量,但不能是常量或表达式。++(或--)的结合方向是“自右向左”。


2-27

设整型变量a=2,则执行下列语句后,浮点型变量b的值不为0.5的是( )。

A.b=1.0/a;

B.b=(float) (1/a);

C.b=1/(float)a;

D.b=1/(a*1.0);

B:b=0.0
由于小括号优先级很高,先执行1/a,得0,再转换成float型
如果是(float)1/a,就可以得到0.5,这里会先把1转成浮点型,然后浮点型和整型运算,会自动把整型转换成浮点型。
强制类型转换会转换最近的一个值


2-28

若变量已经被正确定义,为表示“变量x和y都能被3整除”,应使用的C语言表达式是( )。

A.(x%3 != 0) || (y%3 != 0)

B.(x%3 != 0) && (y%3 != 0)

C.(x%3 == 0) || (y%3 == 0)

D.(x%3 == 0) && (y%3 == 0)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值