嵌入式工程师初试试题学校_______________院系________________姓名________________电话_________________本试题包括C程序设计(70分)、单片机基础(20分)、逻辑题(10分)C程序设计部分:一、选择题(本大题共10小题,每小题3分,共30分)1.下面定义变量方法错误的一项是(C)A)intab_2B)int_2a3C)int2_abD)intab2_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.设有说明:charw;intx;doubley;则表达式w*x-y值的数据类型为(D)A)floatB)charC)intD)double4.以下正确的说法是(D)在C语言中A)实参和与其对应的形参各占用独立的存储单元B)实参和与其对应的形参共占用一个存储单元C)只有当实参和与其对应的形参同名时才共占用存储单元D)形参是虚拟的,不占用存储单元5.下面程序运行结果是(C)#includeinta[3][3]={{1},{2},{3}};intb[3][3]={1,2,3,4,5};intmain(){printf("%d\n",a[1][0]+b[1][0]);return0;}A)2B)4C)6D)值不一定6.下面程序运行结果是(D)#include"stdio.h"intmain(){intx=1,y=0,a=0,b=0;switch(x){case1:switch(y){case0:a++;case1:b++;}case2:a++;b++;}printf("a=%d,b=%d\n",a,b);}A)a=1,b=0B)a=1,b=1C)a=2,b=1D)a=2,b=27.有以下程序段inta[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b;b=p[5];b中的值是(D)A)5B)6C)8D)98.下面程序运行结果是(C)#includestructstu{intnum;charname[10];intage;};voidfun(structstu*p){printf("%s\n",(*p).name);}intmain(){structstustudents[3]={{100,"zhao",20},{101,"qian",19},{102,"sun",18}};fun(students+2);}A)zhaoB)qianC)sunD)1019.完成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的定义形式为____unsignedshortinta=155_______。2.已知for(j=1,s=0;j<=9;j+=2)s=s+j;执行循环后,s的值是___25________。3.该程序实现输出x,y,z三个数中的最大者。main(){intx=4,y=6,z=7;int__u______;if(___x>y____)u=x;elseu=y;if(__u=’A’)&&(ch<=’Z’))ch=ch+32;elseif((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直接在标准头文件中检索文件目录;#include“filename.h”首先在当前源文件目录中查找,若未找到则按系统规定的标准头头文件检索文件目录。4.简述union(共用体)和struct(结构体)的不同?答:union所占内存大小按内存最大的一个变量计算,而struct所占内存大小为所有变量内存相加。四、程序分析题(本大题共2小题,共10分)1.请简述以下两个for循环的优缺点(5分)//第一个for(i=0;i