《2022年嵌入式C语言高级编程试卷B.docx》由会员分享,可在线阅读,更多相关《2022年嵌入式C语言高级编程试卷B.docx(7页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、精品学习资源上嵌嵌入式 C高级编程笔试一 挑选题(每题 1 分,共 20 道)1.C 语 言 程 序 编 译 时 , 程 序 中 的 注 释 部 分 () A ) 参 加 编 译 , 并 会 出 现 在 目 标 程 序 中B ) 参 加 编 译 , 但 不 会 出 现 在 目 标 程 序 中C ) 不 参 加 编 译 , 但 会 出 现 在 目 标 程 序 中D ) 不 参 加 编 译 , 也 不 会 出 现 在 目 标 程 序 中2.语句“intk=0586A)说明k为;”,将()初值586的整型变量初值0586的整型变量B)说明k为C)导致编译错误D)说明整型常量 k 的值为 05863.
2、全局变量的存储类型可以定义为()A) auto或 static B) extern或 register C) auto或 extern D) extern或 static4.设 int型 变 量 x有 初 始 值 3 , 就 表 达 式 x+*5/10的值是()A) 0C)2B) 1D)35.下列表达式的值为0的是()A) 35C)3/5B) 3/5.0D)356. 设 inta=3 ; 就 表 达 式a1的 运算 结 果 和a的 值分别 是 ()A) 0 和 2C)1和2B) 0 和 3D) 1 和 37. 设有以下程序段: int a=1, b=10, c=1, x; x=a&b|-c;p
3、rintf%d, %dn,x,c ;执行后输出的结果是()A) 0,0C)1,0B) 0,1D)1,18. 设有以下程序段: fora=0, b=0; b.=100&a5 ; a+ scanf%d, &b ;那么,scanf最多可执行次数是()A) 4C) 5B) 6D) 19. 假 定 a和 b为 整 型 变 量 , 就 执 行 下 述 语 句 组 后 , b的 值 为 ()a=1;b=10;do欢迎下载精品学习资源b-=a;a+;whileb-0;A) 9C)-1B) -2D)810. 执行语句“fors=0,i=1;iLlink=q;q-Rlink=p;p-Llink-Rlink=q;q
4、-Llink=q; B)p-Llink=q;p-Llink-Rlink=q;q-Rlink=p;q-Llink=p-Llink;C)q-Rlink=p;q-Llink=p-Llink;p-Llink-Rlink=q;p-Llink=q ;D) q-Llink=p-Llink ; q-Rlink=q ; p-Llink=q ; p-Llink=q ;19. 一 个 栈 的 入 栈 序 列 是 abcde , 就 栈 的 不 可 能 输 出 序 列 是 ()A) edcbaC)decbaB) dceabD) abcde20. 以数组 Q0.m 1 存放循环队列中的元素,变量rear 和 qulen
5、分别指示循环队列中队尾元素的实际位 置 和 当 前 队 列 中 元 素 的 个 数 , 队 列 第 一 个 元 素 的 实 际 位 置 是 () A)rearqulen B)rearqulenm C)mqulen D) 1( rear mqulen ) % m二填空题(每空 2 分,共 10 空)1 下面代码的输出结果是 int a = 100;int b = 300;a = b + b = a*0;printfa = %d, b = %drn, a, b;2 下面代码的输出结果是 intmaininti,x,y;i=x=y=0;do+i;ifi%2.=0y=y+i+ ; while i=7x
6、=x+i;i+;printfx=%d, y=%dn, x, y;return 0;3 设 inti,x33=1,2,3,4,5,6,7,8,9; 就 下 面 语 句 的 输 出 结 果 是 欢迎下载精品学习资源fori=0;i=MAX_STACK_SIZE-1returnstack_full;stack=item;三简答题(每题 4 分,共 5 道)1 写一个“标准”宏 SWAP,这个宏输入两个参数,并交换他们的值;2 char*constp;charconst*pconstchar*p上述三个有什么区分?3 static全局变量与一般的全局变量有什么区分?static局部变量和一般局部变量有
7、什么区分?static函数与一般函数有什么区分?4 heap 和 stack 的区分?5 请写出 C语言中打开文件、读写文件、文件定位、关闭文件的函数;嵌入式高级编程机试编程题(每题 8 分,共 5 道)一、编写两个函数将整型变量x 的二进制位的第n 位置 1 或清零,其他位不变;二、编写一个把字符串转换成长整型数的函数,原型为long atolconst char *nptr;三、编写一个递归函数,判定数组aN 是否为一个递增数组;四、编写一个函数,功能是把一个字符串循环右移n 个;比如原先是 abcdefg ,假如 n=2,移位后应当是 fgabcde;五、排列数字;将1、2 19 、20 这 20 个数字排成一排,使得相邻的两个数字之和为一个素数,且首尾两个数字之和也为一个素数;编写程序,打印出全部的排法;欢迎下载