高级软件工程师试题B
Posted qianrushi1
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了高级软件工程师试题B相关的知识,希望对你有一定的参考价值。
一、 单选题(每题1分,共70分)
- 以下哪个表述不正确___D___。
A.ARM是一个公司的名称
B.ARM是对一类微处理器的通称
C.ARM是一种技术的名字
D.ARM是一款芯片的名称
- ( D ) 命令是在vi编辑器中执行保存退出。
A :q
B ZZ
C :q!
D :wq
- GCC的正确编译流程为 ( A ) 。
A 预处理-编译-汇编-链接
B 预处理-编译-链接-汇编
C 预处理-链接-编译-汇编
D 编译-预处理-汇编-链接
- 下列命令中,删除文件的命令是:___D___。
A. ls
B. mkdir
C. tail
D. rm
- 嵌入式处理器指令的执行周期不包括__A____。
A.启动
B.取指令
C.指令译码
D.执行指令
- 将系统启动代码读入内存是___C___的主要职责。
A.内存管理
B.VFS
C.Boot Loader
D.虚拟内存
- 下列不属于嵌入设计处理器本身带有的基本接口是___C___。
A.串口
B.并口
C.PCIE
D.AD/DA
- 下列选项中,描述错误的是__D__。
A.arch为体系结构相关的代码
B.block为块设备的通用函数
C.crypto只能用于加密和散列算法
D.ipc进程件通信代码
- SRAM与DRAM相比,优点是___A___。
A.SRAM比DRAM快
B.DRAM与SRAM耗电多
C.SRAM比DRAM存储密度高
D.以上都是
- 预处理后的文件后缀名为___D___。
- .c
- .C
- .M
- .i
- 下列哪条指令把寄存器R0、R1的值相加后存到R2中:__C____。
A.AND R0, R1, R2
B.SUB R0, R1, R2
C.ADD R2, R1, R0
D.AND R1, R2, R0
- 下面描述不属于Bootloader的第二阶段的是:___A___。
- 硬件设备初始化
- 初始化本阶段要使用到的硬件设备
- 检测系统内存映射
- 为内核设置启动参数
- 下面关于UBOOT有点描述错误的是:___D___。
- 开发源码
- 仅支持Linux操作系统
- 支持多个处理器系列
- 较高的可靠性和稳定性
- 对于“ls –l|more”操作,命令解释程序运行进程ls和more使用了以下哪种通信方式___A___。
- 管道
- 消息队列
- 套接字
- 信号
- 下列关于Linux根文件目录,描述错误的是___C___。
- /bin目录下存放一般用户可以使用的基本命令
- /sbin目录下存放系统命令
- /dev目录下存放设备文件
- /etc目录下存放各种配置文件
16、指令“LDMIA R0!, R1, R2, R3, R4”的寻址方式为( C )。
A. 立即寻址 B. 寄存器间接寻址
C. 多寄存器寻址 D. 堆栈寻址
17、下列不属于RISC计算机特点的是( C )。
A. 流水线每周期前进一步。 B. 更多通用寄存器。
C. 指令长度不固定,执行需要多个周期。
D. 独立的Load和Store指令完成数据在寄存器和外部存储器之间的传输。
18、USB接口移动硬盘最合适的传输类型为( B )。
A. 控制传输 B. 批量传输 C. 中断传输 D. 等时传输
19、在嵌入式系统设计中,嵌入式处理器选型是在进行( C )时完成。
A. 需求分析 B. 系统集成 C. 体系结构设计 D. 软硬件设计
20、无符号二进制数左移一位,则数值( A )。
A. 增大一倍 B. 减小一倍 C. 增大10倍 D. 不变
21、登陆系统后首先进入下列哪一个目录?( D )
A./home
B.root的主目录
C./root
D.用户自己的主目录
22、用”rm -i”,系统会提示什么来让你确认 ( B )
A.命令行的每个选项
B.是否真的删除
C.是否有写的权限
D.文件的位置
23、除非特别指定,cp假定要拷贝的文件在下面哪个目录下( B )
A.home目录
B.当前目录
C.root目录
D.用户目录
24、Linux的创始人是芬兰Helsinki大学的学生,他是谁( B )
A.Andrew Tanenbaum
B.Linus Torvalds
C.Bill Gates
D.Richard Stallman
25、假如你得到一个运行命令被拒绝的信息,你可以用哪个命令去修改它的权限使之可以正常运行( B )
A.path=
B.chmod
C.chgrp
D.chown
26、显示用户的主目录的命令是什么( A )
A.echo $HOME
B.echo $USERDIR
C.echo $ECHO
D.echo $ENV
27、用来分离目录名和文件名的字符是什么( A )
A.反斜杠 (/)
B.点号 (.)
C.减号 (-)
D.星号 (*)
28、确定myfile的文件类型的命令是什么( C )
A.type myfile
B.type -q myfile
C.file myfile
D.whatis myfile
29、按_____键能中止当前运行的命令( B )
A.Ctrl-D
B.Ctrl-C
C.Ctrl-B
D.Ctrl-F
30、哪个符号加在命令后面可以在后台执行程序( B )
A.@ B.&
C.# D.*
31、通过shell执行一个命令,必须先敲入一个__B___
A. 参数
B.命令
C.操作符
D.终端ID号
32、当登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么?( A )
A.PID B.UID
C.NID D.CID
33、想查找system-config-network所在的目录,通过什么命令可以实现?B
A.whereis system-config-network
B.which system-config-network
C.look system-config-network
D.show system-config-network
34、通过下面哪个命令可以打印显示当前工作的目录(B)
A.cd B.pwd
C.ls D.ls -l
35、本机有两块硬盘,分别放置在IDE1和IDE2的主盘上,其中挂在IDE2上的主盘有三个主分区,在Linux下IDE2上的主盘第二个主分区的名称为:C
A.hda2
B.hdb2
C.hdc2
D.hdd2
36、一个C程序的执行是从( A )
A.本程序的main函数开始,到main函数结束
B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C.本程序的main函数开始,到本程序文件的最后一个函数结束
D.本程序文件的第一个函数开始,到本程序main函数结束
37、在一个单链表中,若要删除由指针q所指结点的后继,则(D)
A.p= q->next; p->next= q->next B.p = q->next; p->next =p
C.p= q->next; q->next= p->next D.q->next= q->next->next; q->next=q
38、下列四组选项中,均不是C语言关键字的选项是( A )
A.define B.getc C.include D.while
IF char scanf go
type printf case pow
39、C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( C )
A.必须为字母 B.必须为下划线
C.必须为字母或下划线 D.可以是字母,数字和下划线中任一种字符
40、下面四个选项中,均是不合法的浮点数的选项是 B
A) 160. B) 123 C)一.18 D)一e3
0.12 2e4.2 123e4 .234
e3 .e5 0.0 1e3
41、栈结构通常采用的两种存储结构是( A )
A、线性存储结构和链表存储结构 B、散列方式和索引方式
C、量表存储结构和数组 D、线性存储结构和非线性存储结构
42、一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是( B )
A、110 B、108 C、100 D、120
43、若有代数式3ae/bc,则不正确的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
44、以下不正确的叙述是( D )
A.在C程序中,逗号运算符的优先级最低
B.在C程序中,APH和aph是两个不同的变量
C.若a和b类型相同,在执行了赋值表达式a=b后b中的值将放人a中,而b中的值不变。
D.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值。
45、在C语言中,要求运算数必须是整型的运算符是( D )
A. / B. ++ c. != D.%
46、若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是 ( A)
A.2·500000 B.2.7500OO c. 3.500000 D. 0.000000。
47、循环队列用数组A[0,m-1]存放其元素值,已知其头尾指针分别是front和rear,则当前队列中的元素个数是( A )
A、(rear-front+m)%m B、rear-front+1
C、rear-front-1 D、rear-front
48、向一个栈顶指针为Top的链栈中插入一个s所指结点时,其操作步骤是(D )
A.Top->next=s B.s->next= Top->next; Top->next=s
C.s->next= Top; Top =s D.s->next= Top; Top = Top->next
49、若x ,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是( D )
A. scanf(" %d%lx,%le",&x,&y,&z);
B. scanf("%2d * %d%lf"&x,&y,&z );
C. scanf("%x %* d%o",&x,&y);
D. scanf("%x%o%6.2f",&x,&y,&z);
50、以下说法正确的是( D )
A.输入项可以为一实型常量,如scanf("%f",3.5);
B.只有格式控制,没有输入项,也能进行正确输入,如scanf("a=%d,b=%d");
C.当输入一个实型数据时,格式控制部分应规定小数点后的位数,
如scanf("%4.2f",&f);
D.当输入数据时,必须指明变量的地址,如scanf("%f",&f);
51、根据下面的程序及数据的输入方式和输出形式,程序中输入语句的正确形式应该为( C )
main()
char ch1 ,ch2 ,ch3;
输入语句
printf("%c%c%c",ch1,ch2,ch3);
输入形式: A B C
输出形式: A B
A. scanf("%c%c%c",&ch1,&ch2,&ch3);
B. scanf("%c,%c,%c", &ch1,&ch2, &ch3);
C. scanf("%c %c %c",&ch1,&ch2,&ch3);
D. scanf("%c%c",&ch1,&ch2,&ch3);
52、下关于运算符优先顺序的描述中正确的是( C )
A.关系运算符< 算术运算符< 赋值运算符< 逻辑与运算符
B.逻辑 运算符< 关系运算符< 算术运算符< 赋值运算符
C.赋值运算符< 逻辑与运算符< 关系运算符< 算术运算符
D.算术运算符< 关系运算符< 赋值运算符< 逻辑与运算符
53、判断char型变量c1是否为小写字母 正确表达式为( D )
A.‘ a‘ <=cl<=‘ z‘ B. (cl> = a)&&(cl<=z)
C.(‘ a‘ >=cl)||(‘ z‘ < = cl) D.(c1>=‘a‘)&&(cl<=‘z‘)
54、执行以下语句后a的值为( C )
int a,b,c;
a= b= c= 1;
++a||++b&&++c
A.错误 B. 0 C. 2 D. 1
55、下列运算符中优先级最低的是( A )
A.?: B.&& c.+ D. !=
56、以下程序的运行结果是( C )
main()
int m=5;
if(m++> 5) printf(" %d\n",m);
e1se printf("%d\n",m- - );
A.4 B.5 C.6 D.7
57、以下程序的输出结果是( C )
#include <stdio.h>
main()
int a=100,x =10,y=20,okl=5,ok2=0;
if(x<y)
if(y!=10)
if(!okl) a=1;
else
if(ok2) a=10;
a=-1;
printf( "%d\n",a );
A. 1 B. 0 C.-1 D.值不确定
58、设有程序段( C )
int k=10;
while (k=0) k= k—1;
则下面描述中正确的是
A. while循环执行10次 B.循环是无限循环
C.循环体语句一次也不执行 D.循环体语句执行一次
59、下面程序的运行结果是 ( B )
#include <stdio. h>
main()
int i;
for(i=1;i<=5;i++)
switch(i%5)
case 0:printf("* ");break;
case 1 :printf("#");break;
default :printf("\n");
case 2 :printf("&");
A.#&&&* B. #& C. # D.#&
& &
& &*
60、下面程序段( D )
for (t=1; t<=100;t++)
scanf("%d",&x);
if(x<0) continue;
printf("%3d",t);
A. 当x<0时整个循环结束
B. x>=0时什么也不输出
C. printf函数永远也不执行
D.最多允许输出100个非负整数
二、多选题(10题每题3分共30分)
1、下面代码行的空格符合规范的是( AC )
A.*pApple = ‘a
B. flag =! BIsEmpty
C. p = &cMem
D. i ++
2 、设已有定义:float x;,则以下对指针变量p进行定义且赋初值的语句中不正确的是:( ABC )。
A、float *p=1024; B、int *p=(float)x;
C、float p=&x; D、float *p=&x;
3、 设变量x,y均已正确定义并赋值,以下if语句中,在编译时能产生正确信息的是( ABD )。
A、if(x++);
B、if(x>y&&y!=0);
C、if(x>0)x-- else y++;
D、if(y<0); else x++;
4、以下for循环的执行次序是( A )
for (x=0, y=0; (y=123)&&x<4; x++)
A 执行3次
B. 循环次数不定
C. 执行4次
D. 是无限次循环
5、代码文件由( ABD )组成
A.定义文件开头处的版权和版本声明
B. API函数的调用示例
C.全局变量的声明
D.程序的实现体(包括数据和代码)
6、若用数组名作为函数调用时的实参,则实际上传递给形参的是( C )
A.数组中全部元素的值
B.数组的第一个元素的值
C.数组的首地址
D. 数组元素的个数
7、下面程序的输出结果是( A )
#include <stdio.h>
int x,y ;
f( )
int y, a = 25 , b=10;
x =a + b; y = a - b;
return;
main()
int a =9 , b =5;
x = a+b; y = a-b;
f();
printf("d%,d%\n",x,y);
A. 14,4 B. 35,15 C.35,4 D. 14,15
8、下列选项中正确的语句组是( CD )
A.char s[8]; s="Beijing"; B.char *s; s="Beijing";
C.char s[8]="BeijingT"; D.char *s; s="Beijing";
9、若有定义:int *p[3];,则以下叙述中正确的是( AD )
A.定义了一个可指向一维数组的指针变量p
B.定义了一个指针数组p,该数组含有三个元素,每个元素都是基类型为int的指针
C.定义了一个名为*p的整型数组,该数组含有三个int类型元素
D.定义了一个可指向一维数组的指针变量p,所指一维数组应具有三个int类型元素
10、下面程序的输出结果是( C )
int x =1;
f()
static int i = 2; int x = 10;
x+=++i;
printf("%d\n",x);
main()
int i;
for (i=1;i<4;i++) ++x; f();
printf("%d\n",x);
A. 13,17,22,4 B.13,14,15,15 C.13,14,15,4 D.无答案
三、判断题(10题每题1分共10分)
44、用do-while语句构成的循环,当while后的表达式的值为零时结束循环。( )
45、结构体和共同体可以相互欠套,都可以做为函数的参数使用。( )
46、在C语言里允许两个同类型的结构体之间相互赋值,也可以将一组常量赋给结构体。( )
47、在C语言里只能对外部或静态的数组进行初始化。( )
48、在C语言里,一个共同体不是同时存放多个成员变量的,而是存放其中的一个值,但是不确定是那个值。( )
49、%-20s的作用是告诉系统按照字符串的形式输出,占20列,向右对齐。( )
50、赋值表达式是一种表达式,它可以出现在任何允许表达式出现的地方,而赋值语句则不能。( )
51、continue语句的作用是跳过循环本中剩余的语句而强行执行下一次循环。continue语句只用在for、while、do-while等循环体中,常与if条件语句一起使用,用来加速循环。( )
52、在C语言里数组的下标都是取整数,如果是小数将不会做处理。( )
53、若有定义:int (*p)[4],则p是一个指向含有四个整型元素的一维数组 的指针。( )
以上是关于高级软件工程师试题B的主要内容,如果未能解决你的问题,请参考以下文章