45fan.com - 路饭网

搜索: 您的位置主页 > 网络频道 > 阅读资讯:嵌入式系统开发人员C语言测试题大全

嵌入式系统开发人员C语言测试题大全

2016-09-03 08:50:20 来源:www.45fan.com 【

嵌入式系统开发人员C语言测试题大全

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. <fr> 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*zb. x*(1/(y*z))c. x/y*1/zd. 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 | yc. x & y d. x ^ y

(147)下面选项中____是不合法的C用户标识符。

a. userb. switchc. _345d. 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+9b. 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. <fr> 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为整形变量,不能正确表达数学关系:10<a<15 的C语言表达式是____

a. 10<a<15 b. a==11||a==12||a==13||a==14

c. 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. 20c. 40d. 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)

 

本文地址:http://www.45fan.com/a/question/71557.html
Tags: 系统 开发 嵌入式
编辑:路饭网
关于我们 | 联系我们 | 友情链接 | 网站地图 | Sitemap | App | 返回顶部