单片机嵌入式应聘测试题(含答案)[精品文档]

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

嵌入式工程师初试试题

学校_______________ 院系________________

姓名________________ 电话_________________

本试题包括C程序设计(70分)、单片机基础(20分)、逻辑题(10分)

C程序设计部分:

一、选择题(本大题共10小题,每小题3分,共30分)

1.下面定义变量方法错误的一项是( C)

A)int ab_2 B) int _2a3 C)int 2_ab D)int ab2_

2.判断char型变量ch是否为大写字母的正确表达式是(B )

A)‘A’<=ch<=’Z’ B) (ch>=’A’) && (ch<=’Z’)

C) (ch>=’A’)& (ch<=’Z’) D) (‘A’<=ch) AND (‘Z’>=ch)

3.设有说明:char w;int x;double y;则表达式w*x-y值的数据类型为(D )

A) float B) char C) int D) double

4.以下正确的说法是(D )

在C语言中

A) 实参和与其对应的形参各占用独立的存储单元

B) 实参和与其对应的形参共占用一个存储单元

C)只有当实参和与其对应的形参同名时才共占用存储单元

D) 形参是虚拟的,不占用存储单元

5.下面程序运行结果是( C)

#include

int a[3][3]={{1},{2},{3}};

int b[3][3]={1,2,3,4,5};

int main()

{

printf("%d\n",a[1][0] + b[1][0]);

return 0;

}

A) 2 B) 4 C) 6 D) 值不一定

6.下面程序运行结果是( D)

#include "stdio.h"

int main()

{

int x=1, y=0, a=0, b=0;

switch(x){

case 1:

switch(y){

case 0: a++;

case 1: b++;

}

case 2: a++; b++;

}

printf("a=%d, b=%d\n", a, b) ;

}

A)a=1,b=0 B) a=1,b=1 C)a=2,b=1 D) a=2,b=2

7.有以下程序段

int a[10]={1,2,3,4,5,6,7,8,9,10}, *p=&a[3] , b;

b=p[5];

b中的值是(D)

A)5 B)6C)8D)9

8.下面程序运行结果是( C )

#include

struct stu{

int num;

char name[10];

int age;

};

void fun(struct stu *p){

printf("%s\n",(*p).name);

}

int main(){

struct stu students[3]={

{100,"zhao",20},

{101,"qian",19},

{102,"sun",18} };

fun(students+2);

}

A) zhao B)qian C) sun D) 101

9.完成C源文件编辑后、到生成执行文件,C语言处理系统必须执行的步骤依次为( D)

A) 编辑、编译、汇编、连接

B) 汇编、编译、链接、运行

C) 预编译、编译、汇编、链接

D) 编辑、编译、连接、运行

10.函数调用语句:fseek(fp,-20L,SEEK_END);的含义是( A )

A) 将文件位置指针移到距离文件头20个字节处

B) 将文件位置指针从当前位置向后移动20个字节

C) 将文件位置指针从文件末尾处后退20个字节

D) 将文件位置指针移到离当前位置20个字节处

二、填空题(本大题共4小题,每小题3分,共12分)

1.初始化值是155的无符号短整型变量a的定义形式为____unsigned short int a=155_______。

2.已知for(j=1,s=0;j<=9;j+=2) s=s+j;执行循环后,s的值是___25________。

3.该程序实现输出x,y,z三个数中的最大者。

main()

{

int x=4,y=6,z=7;

int __u______;

if (___x>y____)

u=x;

else

u=y;

if (__u

u=z;

printf(“u=%d”,u);

}

4.输入一个字符,如果它是一个大写字母,则把它变成小写字母;如果它是一个小写字母,则把它变成大写字母;其他字符不变;

main()

{

char ch;

scanf(“%c”,&ch);

if((ch>=’A’) && (ch<=’Z’))

ch = ch+32;

else if((ch>=’a’) && (ch<=’z’))

ch=ch-32;

printf(“%c”,ch);

}

三、简答题(本大题共4小题,每小题5分,共20分)

1.简述const、volatile、static三个关键字的作用

答:const 用来定义一个常量,使其在程序编译和运行过程中不会随意改变;

Static 用以定义一个静态变量,该变量会保留上一次所赋的值。

2.什么是指针?指针变量和指针所指向的变量的区别和联系是什么?

答:指针即变量的存储地址;指针变量存储的数据是变量的地址,而指针所指向的变量存储的数据是变量的值,通过指针变量可间接寻址到其所指向变量的值。

3.#include 和#include “filename.h” 有什么区别?

答:#include 直接在标准头文件中检索文件目录;

相关文档
最新文档