收藏 分销(赏)

2023年嵌入式软件工程师笔试题含答案.doc

上传人:二*** 文档编号:4511747 上传时间:2024-09-26 格式:DOC 页数:9 大小:20.04KB 下载积分:5 金币
下载 相关 举报
2023年嵌入式软件工程师笔试题含答案.doc_第1页
第1页 / 共9页
本文档共9页,全文阅读请下载到手机保存,查看更方便
资源描述
选择题 1:设float a=2, b=4, c=3;,以下C语言表达式与代数式 (a+b)+c计算结果不一致的是 A.(a+b)*c/2 B.(1/2)*(a+b)*c C.(a+b)*c*1/2 D.c/2*(a+b) 参考答案:B,由于a,b,c三个变量都是浮点数,所以在B答案中其结果是0,由于在计算1/2是就是0,假如改成1/2.0就对的了。 2:为了向二进制文献尾部增长数据,打开文献的方式应采用 A.″ab″ B.″rb+″ C.″wb″ D.″wb+″ 参考答案:D 3:下述程序执行后的输出结果是 #include main() { int x='f'; printf("%c\n",'a'+(x-'a'+1)); } A.g B.h C.i D.j 参考答案:A 4:C语言中,下列运算符优先级最高的是 A.! B.% C.>> D.= = 参考答案:A 5:数组定义为“ int a [ 4 ] ; ”,表达式 ( ) 是错误的。 A.*a B.a [ 0 ] C.a D.a++ 参考答案:D 6:执行语句“ k=7>>1; ”后,变量 k 的当前值是 A.15 B.31 C.3 D.1 参考答案:C 7:定义函数时,缺省函数的类型声明,则函数类型取缺省类型 A.void B.char C.float D.int 参考答案:D 8:若main()函数带参数,参数个数最多是 A.0 B.1 C.2 D.3 参考答案:C 只知道有定义形式main(int argc,char* argv[])) 9:若有宏定义:#define MOD(x,y) x%y 则执行以下语句后的输出结果是 int a=13,b=94; printf(″%d\n″,MOD(b,a+4)); A.5 B.7 C.9 D.11 参考答案:B 10:下列各个错误中,哪一个不属于编译错误 A.改变 x 原值 3 为 5 ,写作“ x==5 ;” B.花括号不配对 C.复合语句中的最后一条语句后未加分号 D.变量有引用、无定义 参考答案:A 11:下列程序段运营后, x 的值是( ) a=1;b=2;x=0; if(!( -- a))x -- ; if(!b)x=7;else ++x; A.0 B.3 C.6 D.7 参考答案:A 12:设 #define N 3 #define Y(n) ((N+1)*n) 则表达式2*(N+Y(5+1))的值是 A.42 B.48 C.54 D.犯错 参考答案:B Y(5+1) 传递过去的应当是6,而不是简朴的把5+1给替换掉 13:若定义了char ch[]={″abc\0def″},*p=ch;则执行printf(″%c″,*p+4);语句的输出结果是 A.def B.d C.e D.0 参考答案:C 14:下列转义字符中错误的是 A.′\000′ B.′\14′ C.′\x111′ D.′\2′ 参考答案:C error C2023: '273' : too big for character 15:算术运算符,赋值运算符和关系运算符的运算优先级按从高到低依次为 A.算术运算、赋值运算、关系运算 B.算术运算、关系运算、赋值运算 C.关系运算、赋值运算、算术运算 D.关系运算、算术运算、赋值运算 参考答案:B 16:设#define N 3 #define Y(n) ((N+1)*n) 则表达式2*(N+Y(5+1))的值是 A.42 B.48 C.54 D.犯错 参考答案:B 17:表达式 strcmp( “ 3.14 ”,“ 3.278 ” ) 的值是一个 A.非零整数 B.浮点数 C.0 D.字符 参考答案: A 18:设struct { short a; char b; float c; }cs; 则sizeof(cs)的值是 A.4 B.5 C.6 D.7 参考答案: D 字节对齐的话应当是8 19:若变量已对的定义,表达式( j=3 , j++ )的值是 A.3 B.4 C.5 D.0 参考答案:A 20:C 语言中运算对象必须是整型的运算符是 A.% B./ C.! D.** 参考答案:A 简答题 21:打印一个N*N的方阵,N为每边字符的个数( 3〈N〈20 ),规定最外层为“X”,第二层为“Y”,从第三层起每层依次打印数字0,1,2,3,... 例子:当N =5,打印出下面的图形: X X X X X X Y Y Y X X Y 0 Y X X Y Y Y X X X X X X 22:谈谈COM的线程模型。然后讨论进程内/外组件的差别。 23:多态类中的虚函数表是Compile-Time,还是Run-Time时建立的? 参考答案: 虚拟函数表是在编译期就建立了,各个虚拟函数这时被组织成了一个虚拟函数的入口地址的数组. 而对象的隐藏成员--虚拟函数表指针是在运营期--也就是构造函数被调用时进行初始化的,这是实现多态的关键. 24:#include   void main()   { int c;   while ((c=getchar())!= ′\ n ′ )   switch(c - ′ 2 ′ )   { case 0:   case 1:putchar(c+4);break;   case 2:putchar(c+4);break;   case 3:putchar(c+3);break;   default:putchar(c+2);break;   }   printf( ″\ n ″ );   }   运营时输入: 2473 ,输出结果: 参考答案:6897 VC++6.0测试过 25:用两个栈实现一个队列的功能? 参考答案: 设2个栈为A,B, 一开始均为空.入队: 将新元素push入栈A;出队: (1)判断栈B是否为空; (2)假如不为空,则将栈A中所有元素依次pop出并push到栈B; (3)将栈B的栈顶元素pop出;这样实现的队列入队和出队的平摊复杂度都还是O(1), 26:写一语句实现x是否为2的若干次幂的判断。 参考答案:!(X)&(X-1) 27:解二次方程:a*x*x+b*x+c int Quadratic( double a,double b,double c,double& x1,double& x2); 返回值:解的个数 28:如何判别一个数是unsigned。 参考答案; #define issignal(x) ((x>=0 && ~x>=0) ? 1:0) //为1是无符号 为0有符号 29:执行下述程序的输出结果是 ABCDEFCDEFEF 。 #include char b[]="ABCDEF"; main() { char *bp; for (bp=b;*bp;bp+=2) printf("%s",bp); printf("\n"); } 30:已知一个数组table,用一个宏定义,求出数据的元素个数。 参考答案:#define NTBL #define NTBL (sizeof(table)/sizeof(table[0]))
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 考试专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服