2022年嵌入式C高级编程笔试B. .pdf

上传人:Che****ry 文档编号:35753979 上传时间:2022-08-23 格式:PDF 页数:9 大小:78.42KB
返回 下载 相关 举报
2022年嵌入式C高级编程笔试B. .pdf_第1页
第1页 / 共9页
2022年嵌入式C高级编程笔试B. .pdf_第2页
第2页 / 共9页
点击查看更多>>
资源描述

《2022年嵌入式C高级编程笔试B. .pdf》由会员分享,可在线阅读,更多相关《2022年嵌入式C高级编程笔试B. .pdf(9页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、 试卷 B一、选择题( 35*2 )1. 语句 printf(st ) 的输出结果为( B )A st B st C s D s *2. 程序中定义以下宏 #define S(a,b) a*b 若定义 int area; 且令 area=S(3+1,3+4),则变量 area 的值为( A )A 10 B. 12 C. 21 D. 28 正确标识符 D A ?a B a=2 C a.3 D a-3 3. float a = 3.2;(int)a;printf(a = %d, n, a);打印什么,运行后a 的类型是( D)A. 3.000000, int B. 3, int C. 3.0 fl

2、oat D. 既不是 3,也不是3.000000 , float 4. 有以下代码:void func() int a; a+; printf(a = %dn, a); 那么变量a 储存在( A )A. 栈B. 堆C. 正文段D. 未初始化数据段5. 在 C语言中 , char型数据在内存中的存储形式是( D )A、补码 B、 反码 C、 原码 D、ASCII 码*6. 执行下列语句中,sum变量的值是( B ) int sum=0 for(int i=0;i10;i+,sum+=i); A 45 B 55 C 0 D 编译错误假如 p 指向整型变量x, 则( *p)+等价 B 名师资料总结

3、- - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 9 页 - - - - - - - - - A p+ B x+ C*(p+) D&x+ 7. 为了避免嵌套的条件分支语句if-else的二义性, C语言规定: C程序中的else 总是与( C )组成配对关系。A. 缩排位置相同的if B. 在其之前未配对的if C. 在其之前未配对的最近的if D.同一行上的if 8. 设 A为存放(短)整型的一维数组,如果A的首地址为P,那么 A中第 i 个元素的地址为( B )。A.P+i*2 B.

4、 P+(i-1 )*2 C. P+ ( i-1 ) D. P+i 9. 有函数void func() static int c; c+; printf(%dn, c); 那么连续调用两次,打印的结果是?( B )A. 1, 1 B. 1, 2 C. 123495,123496(因为 c 没初始化,内部的值随机,第二次会比第一次加1)D. 123495, 123495(因为 c 没初始化,内部的值随机,并且,值不会增加)10. 如果有以下代码:char string = love me please; char *p = string; char *q = p + 4; *q+ = 0; pri

5、ntf(%s, p); printf(%s, q);分别打印:( B )A. love me please B. love me please C. love me please me please D. 因为常量字符串不能修改,会发生段错误11.free(p); 哪个是错误的( D )A. p 的值必须是malloc 的返回值B. 一个指针不能被连续free 两次C. free了 p 以后 p是野指针,应该置为NULL D. free了以后 p 的值会自动置为NULL ,所以 *p = 9会段错误名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - -

6、 - - - - 名师精心整理 - - - - - - - 第 2 页,共 9 页 - - - - - - - - - 12. 下列描述中不正确的是( C )。A. 字符型数组中可能存放字符串。B. 可以对字符型数组进行整体输入、输出。C. 可以对整型数组进行整体输入、输出。D. 不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值。13. 不能把 Hello !赋给数组b 的语句是( B )。A. char b10=H, e, l , l , o,! ;B. char b 10; b=“Hello !”;C. char b10; strcpy(b,“Hello !”);D. char

7、 b10=“Hello !”;14. 对于循环队列,下列叙述中正确的 D A)队头指针是固定不变的 B)队头指针一定不大于队尾指针 C)队头指针一定小于队尾指针 D)队头指针可以大于队尾指针,也可以小于队尾指针15. 有以下程序#include main() int m=1,n=2,*p=&m,*q=&n,*r; r=p;p=q;q=r; printf(“%d,%d,%d n”,m,n,*p,*q); 程序运行后的输出结果为 B A)1,2,1,2 B)1,2,2, 1 C)2,1,2,1 D )2,1,1,2 16. 若有定义语句:int a410,*p,*q4;且 0=i4, 则错误的赋值

8、是: A A)p=a B)qi=ai C)p=ai D)p=&a21 17. 下面函数的功能是 A fun(char *a,char*b) while(*b=*a)!=0) a+;b+; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 9 页 - - - - - - - - - A将 a 所指字符串赋给b 所指空间B使指针 b 指向 a 所指字符串C将 a 所指字符串和b 所指字符串进行比较D检查 a 和 b 所指字符串中是否有018. 设有以下函数:void fun(i

9、nt n,char *s),则下面对函数指针的定义和赋值均正确的是 A A void (*pf)( );pf=fun ;B void *pf();pf=fun ;C void *pf();*pf=fun ;D void (*pf)(int ,char ); pf=&fun ;19. #include main ( ) int n=2,k=0; while(k+&n+2); printf(“%d %d n”,k,n); 程序运行后的输出结果是( )D A、0 2 B、1 3 C、 5 7 D、1 2 20. 有如下代码:struct test char *name; int age; ; int

10、 main() char myname = hello, world; struct test a1, a2; a1.name = myname; a1.age = 13; a2 = a1; a1.name0 = m; printf(%sn, a2.name); 输出的结果为: ( A )A. mello, world B. hello, world 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 9 页 - - - - - - - - - C. 编译无法通过D. 会段错

11、误21. 以下函数 findmax 拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能。#define MIN -2147483647 int findmax int x,int n int i,max; for i=0;in;i+ max =MIN; if(maxxi) max=xi; return max; 造成错误的原因是 D A)定义语句int i,max:中 max 未赋初值B)赋值语句max=MIN;中,不应给max 赋 MIN值C)语句 if(maxxi) max=xi;中判断条件设置错误D)赋值语句max=MIN;放错了位置22. 有以下程序#inclu

12、de main() int m=1,n=2,*p=&m,*q=&n,*r; r=p;p=q;q=r; printf(“%d,%d,%d n”,m,n,*p,*q); 程序运行后的输出结果为 B A)1,2,1,2 B)1,2,2, 1 C)2,1,2,1 D )2,1,1,2 *23. 若 x=4,则 x*=x+2 的值为( B )A 36 B 24 C 18 D 20 下面结构体定义语句,错误B A struct ordint x; int y; int z;struct ord a; B struct ordint x; int y; int z; struct ord a; C stru

13、ct ordint x; int y; int z; a; D struct int x; int y; int z; a; 24. 下列关于 C语言文件的叙述中正确的是:( C )A) 文件由一系列数据依次排列组成,只能构成二进制文件B) 文件由结构序列组成,可以构成二进制文件或文本文件名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 9 页 - - - - - - - - - C) 文件由数据序列组成,可以构成二进制文件或文本文件D) 文件由字符序列组成,其类型只能是文

14、本文件25. 冒泡排序在最坏情况下的比较次数是( C )A)n(n+1) /2 B )nlog2n C )n( n-1)/2 D )n/2 26. 以下叙述中错误的是( C )A)改变函数形参的值,不会改变对应实参的值B)函数可以返回地址值C)可以给指针变量赋一个整数作为地址值D)当在程序的开头包含文件stdio.h时,可以给指针变量赋NULL 27. 若有定义语句:int a23,*p3; ,则以下语句中正确的是( C )A)p=a; B)p0=a; C) p0=&a12; D)p1=&a; 28. 在一个 C语言源程序文件中所定义的全局变量,其作用域为:( D )A) 所在文件的全部范围

15、B) 所在程序的全部范围C) 所在函数的全部范围 D) 由具体定义位置和extern 说明来决定范围*29.以下关于 typedef的叙述中错误的是( A )A 用 typedef 可以增加新的类型B 用 typedef 可以定义各种类型名,但不能用来定义变量C 用 typedef 只是将已有的类型用新的标识符来代表D 使用 typedef 有利于程序的通用和移植D Main() FILE *Fp;int a10=1,2,3,0,0,i; Fp=fopen( “d2.dat ” , ”wb” ); fwrite(a,sizeof(int),5,fp); fwrite(a,sizeof(int)

16、,5,fp); fclose(fp); Fp=fopen( “d2.dat ” , ”rb ” ); fread(a,sizeof(int),10,fp); fclose(fp); for(i=0;i 10;i+) printf(“%d ”,ai) A 123000000 B 1231230000 C 1230123000 D1230012300 30. 若 int k=8;则执行下列程序后,变量k 的正确结果是main()int k=8; switch (k)case 9:k+=1; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - -

17、 - 名师精心整理 - - - - - - - 第 6 页,共 9 页 - - - - - - - - - case 10:k+=1; case 11:k+=1;break; default:k+=1; printf(%dn,k ); A)12 B)11 C)10 D)9 正确答案 : D 31. 若 int i,j;,则 for (i=j=0;i10&j8;i+,j+=3)控制的循环体执行的次数是A)9 B)8 C)3 D)2 正确答案 : C 32. #include stdio.h main() int i=6; while (i- )printf(%d,-i); printf( n )

18、; A)531 B)420 C)654321 D)死循环正确答案 : B 33. 下列关于指针变量赋空值的说法错误的是A)当赋空值的时候,变量指向地址为0 的存储单元B)赋值语句可以表达为变量名=0;C)赋值语句可以表达为变量名=0;D)一个指针变量可以被赋空值正确答案 : A 34. 以下二维数组c 的定义形式是A)int c3B)float c3,4 C)double c 3 4D)float c(3)( 4)正确答案 : C 35. 阅读下列程序,则执行后输出的结果是#include stdio.h 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - -

19、 - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 9 页 - - - - - - - - - int k=1; main()fun (k); printf(%dn,k ); fun (int k) k+; k=k*6; A)1 B)2 C)6 D)12 正确答案 : A 二、编程题( 30 )1. 编程打印如下图形:难点在三角形左边的空格的控制,嵌套一个循环语句完成此任务。#include int main() int i,j; for (i=1;i0;j-) cout ;/三角形每行前部的空格for(j=1;j=2*i-1;j+) cout *; coute

20、ndl; for(i=1;i=3;i+) cout * * *n; return 0; 2. 请编写函数fun, 函数的功能是 : 判断字符串是否为回文?若是 , 函数返回1, 主函数中输出: YES, 否则返回0, 主函数中输出NO 。回文是指顺读和倒读都一样的字符串。#include #include #define N 7 int fun(char *str) int i, j = strlen(str) ; for(i = 0 ; i j / 2 ; i+) if(stri != strj - i - 1) return 0 ; 名师资料总结 - - -精品资料欢迎下载 - - - -

21、 - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 9 页 - - - - - - - - - return 1 ; int main() char sN ; printf(Enter a string: ) ; gets(s) ; printf(nn) ; puts(s) ; if(fun(s) printf( YESn) ; else printf( NOn) ; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 9 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com