Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1223273
  • 博文数量: 322
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 3276
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-17 09:21
文章分类

全部博文(322)

文章存档

2010年(155)

2009年(167)

我的朋友

分类: 嵌入式

2009-12-19 09:09:05

2.1 选择题
(103)设有以下语句:
    char a=3, b=6, c;
    c = a^b<<2;
    则c的二进制值是_____。
a. 00011011 
b. 00010100
c. 00011100
d. 00011000

(104)表达式0x13&0x17的值是___。
a. 0x17
b. 0x13
c. 0xf8
d. 0xec

(105)表达式0xl3|0xl7的值是____。
a. 0x13
b. 0x17
c. 0xE8
d. 0xc8

(106) 以下叙述中正确的是_____。
a. 表达式a&=b等价于a=a&b
b. 表达式a|=b等价于a=a|b
c. 表达式a!=b等价于a=a!b
d. 表达式a^=b等价于a=a^b

(107) 要求运算数必须是整型或字符型的运算符有_____。
a.&&    b.&  c.!   d.||

(108) 运作对象必须是整型数的运算符是_____。
a. %    b. .    c. /    d. **

(109) 根据以下定义,错误的表达式是_____。
struct
{
    int a;
    char b;
} Q, *p = &Q;

a. Q.a
b. (*p).b
c. p->a
d. *p.b

(110) 下面关于sizeof操作符使用的说法是____
a. 当操作数是数组类型时,其结果是数组的总字节数;
b. 当操作数是联合类型时,其结果是其最大字节成员的字节数;
c. 当操作数是结构类型时,其结果是所有成员的总字节数;
d. 当操作数是指针类型时,其结果是所指对象的总字节数。

(111) 下面关于sizeof操作符的说明正确的是_____。
a. 其参数既可以是类型,也可以是变量;
b. 其返回值是带符号的整型;
c. 当操作数是指针变量时,其返回值依赖于编译器;
d. 当操作数是函数中的数组形参或函数类型的形参,其结果是指针的大小。

(112) 若x是单精度实型变量,表达式 x = 10/4 的值是_____ 。
a. 2.5         b. 2.0        c. 3         d. 2

(113) 表达式 !x 等价于_____。
a. x == 0        b. x == 1       c. x != 0     d. x != 1

(114) ______是合法的用户自定义标识符。
a. b-b        b. float         c.           d. _isw

(115) 若变量已正确定义并赋值,表达式______不符合C语言语法。
a. a*b/c;     b. 3.14%2       c. 2, b         d. a/b/c

(116) _____是不正确的字符常量。
a. '\n'        b. '1'           c. "a"          d. '\101'

(117) 在 C 程序中,用_____表示逻辑值"真"。
a. 1           b. 非 0 的数      c. 非 1 的数     d. 大于 0 的数

(118) ______把x、y定义成float类型变量,并赋同一初值3.14。
a. float x, y=3.14;              b. float x, y=2*3.14; 
c. float x=3.14, y=x=3.14;     d. float x=y=3.14;

(119) 假设变量已正确定义,表达式______的值不是2。
a. 2&3       b. 1<<1         c. a==2         d. 1^3

(120) 若变量已正确定义,语句if(a>b) k=0; else k=1;和______等价。  
a. k=(a>b)?1:0;              b. k=a>b;
c. k=a<=b;                    d. a<=b ? 0 : 1;

(121) 表达式 strlen("hello") 的值是_______。
a. 4          b. 5          c. 6        d. 7

(122) 设变量定义为int a[4];则表达式______不符合C语言语法。
a. *a         b. a[0]       c. a        d. a++

(123) 设变量定义为int x, *p=&x;则&*p相当于_____。
a. p           b. *p         c. x        d. *&x

(124) 对于以下的变量定义,表达式______不符合C语言语法。
    struct node
    {
        int len;
 char *pk;
    }x = {2, "right"}, *p = &x;
a. p->pk       b. *p.pk        c. *p->pk       d. *x.pk

(125) 下面合法的字符常量有_____。
a. '\084'
b.'X43'
c.'ab'
d."\0"

(126) 以下选项中,非法的字符常量是_____。
a. '\t'  b. '\17'  c. "n"    d. '\xaa'

(127) 根据编码规范,以下不正确的叙述是_____。
a. 在c程序中,每行中只能写-条语句
b. 若a是实型变量,c程序中允许赋值a=l0,因此实型变量中可以允许存放整型数
c. 在c程序中,无论是整数还是实数,都能被准确无误地表示
d. 在c程序中,%是只能用于整数运算的运算符

(128) 以下运算符中优先级最低的是___,优先级最高的是___。
a.&&      b.&      c.||      d.|

(129) 在c语言中,要求运算数必须是整型或字符型的运算符是_____。
a.&&      b.&      c.!       d.||

(130) 下面程序的输出结果是______。
unsigned t = 129;
t = t^00;
printf("%d, %o\n", t, t);

a. 0, 0
b. 129, 201
c. 126, 176
d. 101, 145

(131) 下面那几个运算符是对位进行操作的_____。
a. &         b.  ^      c. ~    d. <<

(132) 下面关于位域的说法正确的是_____。
a. 一个位域必须存储在同一个字节中,不能跨两个字节;
b. 位域可以用任何格式输出;
c. 位域可以无名,无名的位域只用来作填充或调整位置,是不能使用的;
d. 位域的引用方式同一般的结构成员。

(133) 下面关于位的说法正确的是_____。
a. 使用位域的一般形式为:位变量名·位域名;
b. 可以定义指向位类型的指针;
c. 定义和位变量的说明位定义与结构定义相同;
d. 长度不能大于一个字节的长度,即不能超过8位二进位;

(134) 算术运算符、赋值运算符和关系运算符的运算优先级按从高到低的顺序依次为_____。
a. 算术运算、赋值运算、关系运算        b. 关系运算、赋值运算、算术运算
c. 算术运算、关系运算、赋值运算        d. 关系运算、算术运算、赋值运算

(135) 若a是整型变量,表达式 ~(a ^ ~a ) 等价于______。
a. ~a           b. 1          c. 0            d. 2

(136) sizeof(double)是_____。
a. 一种函数调用
b. 一个双精度型表达式
c. 一个整型表达式
d. 一个不合法的表达式

(137) 表示关系x<=y<=z的c语言表达式为____。
a. (X<=Y)&&(Y<=Z)       b. (X<=Y)AND(Y<=Z)
c. (X<=Y<=Z)             d. (X<=Y)&(Y<=Z)

(138) 若变量已被正确定义,下列可作为C语言赋值语句的是____。
a. x=3,y=5       b. a=b=6        c. i--      d. y=int(x)

(139) 设x,y,z,t均为int型变量,则执行以下语句后,t的值为____。
x=y=z=1;
t=x||y&&z;
a. 不定值        b. 2         c. 1      d. 0

(140) 若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0)
s=a;
  for(b=1;b<=c;b++) s=s+1;
  则与上述程序段功能等价的赋值语句是____。
a. s=a+b;       b. s=a+c;        c. s=s+c;        d. s=b+c;

(141) 以下变量x.、y、z均为double类型且已正确赋值,不能正确表示数学式子的C语言表达式是______。
a. x/y*z  b. x*(1/(y*z))  c. x/y*1/z  d. x/y/z

(142) 有以下程序:
main()
{
    int x=3, y=2, z=1;
     printf("%d\n",x/y&~z);
}
  程序运行后的输出结果是____。
  a. 3        b. 2        c. 1        d. 0

(143) 以下有4组用户标识符,其中合法的一组是____。
a. For     b. 4d            c. f2_G3          d. WORD
-sub       DO               IF                 void
Case       Size             abc               define

(144) 以下选项中合法的字符常量是____。
a. "B"      b. '\010'        c. 68           d. D

(145) 以下选项中,非法的字符常量是_____。
a. '\t'  b. '\17'   c. "n"   d. '\xaa'

(146) 整型变量x和y的值相等、且为非0值,则以下选项中,结果为零的表达式是_____。
a. x || y  b. x | y  c. x & y  d. x ^ y

(147) 下面选项中____是不合法的C用户标识符。
a. user  b. switch  c. _345  d. Abc

(148) 下列运算符中     的优先级最低。
a. &&         b. !           c. +           d. =

(149) 已知各变量的类型说明如下:
int   k, a, b;
unsigned  long  w = 5;
double    x = 1.42;
则以下不符合C语言语法的表达式是_____。
a. x%(-3)      b. w+=-2
c. k=(a=2,b=3,a+b)    d. a+=a-=(b=4)*(a=3)

(150) 已知各变量的类型说明如下:
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)

(151) 以下不正确的叙述是_____。
a. 在C程序中,逗号运算符的优先级最低
b. 在C程序中,APH和aph是两个不同的变量
c. 若a和b类型相同,在执行了赋值表达式a=b后b中的值将放人a中,而b中的值不变。
d. 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值。

(152) 以下符合C语言语法的赋值表达式是______。
a. d=9+e+f=d+9   b. d=9+e,f=d+9
c. d=9+e,e++,d+9         d. d=9+e++=d+7

(153) 已知字母A的ASCII码为十进制数65,且c1为字符型,则执行语句c1='A'+'6'-'3';后,c1中的值为______。
a. D       b. 68     c. 不确定的值       d. C

(154) sizeof(float)是_______。
a. 一个双精度型表达式   b. 一个整型表达式
c. 一种函数调用   d. 一个不合法的表达式

(155) 设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为______。
a. int      b. float    c. double    d. 不确定

(156) 表达式18/4*sqrt(4.0)/8值的数据类型为_____。
a. int      b. float     c. double    d. 不确定

(157) 逻辑运算符两侧运算对象的数据类型_____。
a. 只能是0或1
b. 只能是0或非0正数
c. 只能是整型或字符型数据
d. 可以是任何类型的数据

(158) 下关于运算符优先顺序的描述中正确的是_____。
a. 关系运算符< 算术运算符< 赋值运算符< 逻辑与运算符
b. 逻辑 运算符< 关系运算符< 算术运算符< 赋值运算符
c. 赋值运算符< 逻辑与运算符< 关系运算符< 算术运算符
d. 算术运算符< 关系运算符< 赋值运算符< 逻辑与运算符

(159) 能正确表示"当x 的取值在[1,10]和[200,210]范围内为真,否则为假"的表达式是_____。
a. (x>=1)  &&(x<=10)  &&(x> = 200)  &&(x<=210)
b. (x>=1)  || (x<=10)  ||(x>=200)  ||(x<=210)
c. (x>=1)  &&(x<=10)||(x>= 200)  &&(x<=210)
d. (x > =1)||(x< =10)  &&  (x> = 200)||(x<=210)

(160) 已知x=43,ch='A',y=0则表达式x>=y && ch<'B' && !Y 的值是_____。
a. 0    b. 语法错    c. 1    d. "假"

(161) 希望当A的值为奇数时,表达式的值为"真",A的值为偶数 表达式的值为"假"。则以下不能满足要求的表达式是_____。
a. A%2==1    b. !(A%2 == 0)   c. !(A%2)    d. A%2

(162) 下列运算符中优先级最低的是_____。
a. ?:    b. &&      c. +     d. !=

(163) 若有条件表达式(exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是______。
a. (exp==0)   b. (exp=0)
c. (exp==1)   d. (exp!=1) 

(164) 下列运算符中自左向右结合的是____。
a. =   b. ->  c. ?:   d. ++

(165) 对于int i, j; char c; 当输入序列为1dc2 3 4时,执行语句
scanf("%dd%c%*d%*d%d", &i, &c, &j); 后i, j, c的值分别为____。
a. 1 2 'd'   b. 1 2 'c'   c. 1 4 'd'    d. 1 4 'c'

(166) 下列判断闰年的表达式中错误的是____。
a. leap = n % 400 == 0 || n % 4 == 0 && n % 100 != 0;
b. leap = n % 4 == 0 && ( n % 100 != 0 || n % 400 == 0 );
c. leap = ! ( n % 400 != 0 && n % 4 != 0 || n % 100 == 0 );
d. leap = n % 400 == 0 && n % 4 == 0 || n % 100 != 0 ;

(167) 表达式(*ptr->str)++中的++作用在____。
a. ptr上         b. ptr的成员str上
c. ptr的成员str所指向的第一个字符上   d. 以上都不是

(168) 设有变量定义: int a=3, b=4, c=5;
则表达式:c>a>b&&c||!b< c?2:1的值是____。
a. 0    b. 1    c. 2   d. 语法有错

(169) 设有变量定义:int x=1,y=4, z=5;
则表达式:('z' - 'a') % y + (x += y) + (++y != z)的值是____。
a. 4    b. 5    c. 6    d. 7

(170) 表达式______的值是0。
a. 3%5      b. 3/5.0     c. 3/5       d. 3<5

(171) 表达式 !(x>0||y>0) 等价于_____。
a. !x>0||!y>0      
b. !(x>0)||!(y>0)    
c. !x>0&&!y>0  
d. !(x>0)&&!(y>0)

(172) 若变量已正确定义并赋值,表达式______不符合C语言语法。
a. 4&&3     b. +a      c. a=b=5        d. int(3.14)

(173) 下列运算符中,优先级从高到低依次为_____。
a. &&,!,||      b. ||,&&,!     c. &&,||,!       d. !,&&,||

(174) ______是合法的用户自定义标识符。
a. b-b            b. float          c.           d. _isw

(175) 若变量已正确定义,表达式______的值不是2。
a. 2&3          b. 1<<1         c. a==2         d. 1^3

(176) 表达式 strlen("hello") 的值是_______。
a.  4            b. 5          c. 6        d. 7

(177) 有以下程序_____。
main()
{
    char a, b, c, *d;
    a = '\';
    b = '\xbc';
    c = '\0xab';
    d = "\0127";
    printf("%c%c%c%c\n", a, b, c, *d);
}
以下叙述中正确的是_____。
a. 程序中只有a='\'; 语句不正确
b. b='\xbc'; 语句不正确
c. d="\0127"; 语句不正确
d. a='\';和 c='\0xab'; 语句都不正确

(178) 以下不能定义为用户标识符的是_____。
a. scanf         b. Void       c. _3com_       d. int

(179) 以下选项中可作为C语言合法整数的是______。
a. 10110B        b. 0386       c. 0Xffa        d. x2a2

(180) 设变量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;

(181) 若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是____。
a. -3   b. 9   c. -12   d. 6

(182) 设a为整形变量,不能正确表达数学关系:10a. 10c. a>10&&a<15                  d. !(a<10)&&!(a>=15)

(183) 若有以下定义和语句:
    char c1='b', c2='e';
    printf("%d,%c\n", c2-c1, c2-'a'+"A")
则输出结果是_______。
a. 2,M                         b. 3,E
c. 2,e                         d. 输出结果不确定

(184) 设x为int型变量,则执行以下语句后,x的值为_____。
x=10; x+=x-=x-x;
a. 10   b. 20  c. 40  d. 30

(185) 设x,y,z,t均为int型变量,则执行以下语句后,t的值为_____。
x=y=z=1;
t=++x||++y&&++z;
a. 不定值   b. 2   c. 1   d. 0

(186) 标识符只能由字母、数字和下划线三种字符组成,且第一个字符_____。
a. 必须为字母            b. 必须为下划线
c. 必须为字母或下划线   d. 可以是字母,数字和下划线中任一种字符

(187) 若x是整型变量,表达式 x=10.0/4.0 的值是_____ 。
a. 2.5        b. 2.0       c. 3      d. 2

(188)对于以下的变量定义,表达式______是正确的。
struct node
{
    char s[10];
    int k;
}p[4];
a. p->k = 2       b. p[0].s = "abc"       c. p[0]->k = 2      d. p->s = 'a'

(189)若变量已正确定义并赋值,表达式______不符合C语言语法。
a. a*b/c;      b. 3.14%2       c. 2, b         d. a/b/c

(190)若变量已正确定义并赋值,表达式 -k++ 等价于______。
a. -(k++)     b. (-k)++   c. -(k+1)    d. -(++k)

 

参考答案:

103.(a)
104.(b)
105.(b)
106.(a.b.d)
107.(b)
108.(a)
109.(d)
110.(a.b)
111.(a.d)
112.(b)
113.(a)
114.(d)
115.(b)
116.(c)
117.(b)
118.(c)
119.(c)
120.(c)
121.(c)
122.(b)
123.(a)
124.(b.c.d)
125.(a.b)
126.(c)
127.(c)
128.(c.b)
129.(b)
130.(b)
131.(a.b.c.d)
132.(a.c.d)
133.(c)
134.(c)
135.(c)
136.(c)
137.(a)
138.(a.b.c.d)
139.(c)
140.(b)
141.(d)
142.(d)
143.(c)
144.(b.c)
145.(c)
146.(b)
148.(d)
149.(a)
150.(a)
151.(d)
152.(d.c)
153.(b)
154.(b)
155.(c)
156.(d)
157.(c)
158.(c)
159.(c)
160.(c)
161.(d)
162.(a)
163.(c)
164.(a.b)
165.(b)
166.(d)
167.(b)
168.(c)
169.(c)
170.(c)
171.(b)
172.(b)
173.(d)
174.(d)
175.(c)
176.(b)
177.(d)
178.(d)
179.(c)
180.(c)
181.(c)
182.(a)
183.(d)
184.(b)
185.(c)
186.(c)
187.(d)
188.(a)
189.(b)
190.(a)

阅读(736) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~