1、 单选题(每题1分,共70分)算法
- 如下哪一个表述不正确___D___。
A.ARM是一个公司的名称shell
B.ARM是对一类微处理器的通称 数组
C.ARM是一种技术的名字编辑器
D.ARM是一款芯片的名称函数
- ( D ) 命令是在vi编辑器中执行保存退出。
A :q加密
B ZZ操作系统
C :q!命令行
D :wq设计
- GCC的正确编译流程为 ( A ) 。
A 预处理-编译-汇编-连接 3d
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目录下存放各类配置文件
1六、指令“LDMIA R0!, {R1, R2, R3, R4}”的寻址方式为( C )。
A. 当即寻址 B. 寄存器间接寻址
C. 多寄存器寻址 D. 堆栈寻址
1七、下列不属于RISC计算机特色的是( C )。
A. 流水线每周期前进一步。 B. 更多通用寄存器。
C. 指令长度不固定,执行须要多个周期。
D. 独立的Load和Store指令完成数据在寄存器和外部存储器之间的传输。
1八、USB接口移动硬盘最合适的传输类型为( B )。
A. 控制传输 B. 批量传输 C. 中断传输 D. 等时传输
1九、在嵌入式系统设计中,嵌入式处理器选型是在进行( C )时完成。
A. 需求分析 B. 系统集成 C. 体系结构设计 D. 软硬件设计
20、无符号二进制数左移一位,则数值( A )。
A. 增大一倍 B. 减少一倍 C. 增大10倍 D. 不变
2一、登录系统后首先进入下列哪个目录?( D )
A./home
B.root的主目录
C./root
D.用户本身的主目录
2二、用”rm -i”,系统会提示什么来让你确认 ( B )
A.命令行的每一个选项
B.是否真的删除
C.是否有写的权限
D.文件的位置
2三、除非特别指定,cp假定要拷贝的文件在下面哪一个目录下( B )
A.home目录
B.当前目录
C.root目录
D.用户目录
2四、Linux的创始人是芬兰Helsinki大学的学生,他是谁( B )
A.Andrew Tanenbaum
B.Linus Torvalds
C.Bill Gates
D.Richard Stallman
2五、假如你获得一个运行命令被拒绝的信息,你能够用哪一个命令去修改它的权限使之能够正常运行( B )
A.path=
B.chmod
C.chgrp
D.chown
2六、显示用户的主目录的命令是什么( A )
A.echo $HOME
B.echo $USERDIR
C.echo $ECHO
D.echo $ENV
2七、用来分离目录名和文件名的字符是什么( A )
A.反斜杠 (/)
B.点号 (.)
C.减号 (-)
D.星号 (*)
2八、肯定myfile的文件类型的命令是什么( C )
A.type myfile
B.type -q myfile
C.file myfile
D.whatis myfile
2九、按_____键能停止当前运行的命令( B )
A.Ctrl-D
B.Ctrl-C
C.Ctrl-B
D.Ctrl-F
30、哪一个符号加在命令后面能够在后台执行程序( B )
A.@ B.&
C.# D.*
3一、经过shell执行一个命令,必须先敲入一个__B___
A. 参数
B.命令
C.操做符
D.终端ID号
3二、当登陆Linux时,一个具备惟一进程ID号的shell将被调用,这个ID是什么?( A )
A.PID B.UID
C.NID D.CID
3三、想查找system-config-network所在的目录,经过什么命令能够实现?B
A.whereis system-config-network
B.which system-config-network
C.look system-config-network
D.show system-config-network
3四、经过下面哪一个命令能够打印显示当前工做的目录(B)
A.cd B.pwd
C.ls D.ls -l
3五、本机有两块硬盘,分别放置在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个非负整数
2、多选题(10题每题3分共30分)
一、下面代码行的空格符合规范的是( 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;
三、 设变量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++;
四、如下for循环的执行次序是( A )
for (x=0, y=0; (y=123)&&x<4; x++)
A 执行3次
B. 循环次数不定
C. 执行4次
D. 是无限次循环
五、代码文件由( ABD )组成
A.定义文件开头处的版权和版本声明
B. API函数的调用示例
C.全局变量的声明
D.程序的实现体(包括数据和代码)
六、若用数组名做为函数调用时的实参,则实际上传递给形参的是( C )
A.数组中所有元素的值
B.数组的第一个元素的值
C.数组的首地址
D. 数组元素的个数
七、下面程序的输出结果是( 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
八、下列选项中正确的语句组是( CD )
A.char s[8]; s={"Beijing"}; B.char *s; s={"Beijing"};
C.char s[8]="BeijingT"; D.char *s; s="Beijing";
九、如有定义:int *p[3];,则如下叙述中正确的是( AD )
A.定义了一个可指向一维数组的指针变量p
B.定义了一个指针数组p,该数组含有三个元素,每一个元素都是基类型为int的指针
C.定义了一个名为*p的整型数组,该数组含有三个int类型元素
D.定义了一个可指向一维数组的指针变量p,所指一维数组应具备三个int类型元素
十、下面程序的输出结果是( 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.无答案
3、判断题(10题每题1分共10分)
44、用do-while语句构成的循环,当while后的表达式的值为零时结束循环。( )
4五、结构体和共同体能够相互欠套,均可以作为函数的参数使用。( )
4六、在C语言里容许两个同类型的结构体之间相互赋值,也能够将一组常量赋给结构体。( )
4七、在C语言里只能对外部或静态的数组进行初始化。( )
4八、在C语言里,一个共同体不是同时存放多个成员变量的,而是存放其中的一个值,可是不肯定是那个值。( )
4九、%-20s的做用是告诉系统按照字符串的形式输出,占20列,向右对齐。( )
50、赋值表达式是一种表达式,它能够出如今任何容许表达式出现的地方,而赋值语句则不能。( )
5一、continue语句的做用是跳过循环本中剩余的语句而强行执行下一次循环。continue语句只用在for、while、do-while等循环体中,常与if条件语句一块儿使用,用来加速循环。( )
5二、在C语言里数组的下标都是取整数,若是是小数将不会作处理。( )
5三、如有定义:int (*p)[4],则p是一个指向含有四个整型元素的一维数组 的指针。( )