嵌入式C考试试卷C答案.doc_第1页
嵌入式C考试试卷C答案.doc_第2页
嵌入式C考试试卷C答案.doc_第3页
嵌入式C考试试卷C答案.doc_第4页
嵌入式C考试试卷C答案.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

海同嵌入式C高级编程考试C卷答案1-5 C D C C C 6-10 C B B C A11-15 C D C D D 16-20 D C A A C 21-25 B A A B B 26-30 C C C B B 31-35 D C B B D 36-40 A C B A D41-45 C B A A A 46-50 B B C A A选择题(2*50)(程序运行在32位系统下)1、已知有共用体变量data1定义如下: union data int i;charch;float f; data1; 则变量data1所占的内存存储空间可表示为 ( C )A size of(int) B size of(char)C size of(float) D size of(int)+size of(char)+size of(float)2、若执行完成下列语句: int a=3,b=6,c;c=ab2;则变量c的二进制值为 (D )A 00011100 B 00010100 C 0001000 D 000110113、为了避免嵌套的条件分支语句if-else的二义性,C语言规定:C程序中的else总是与( C )组成配对关系。A. 缩排位置相同的if B. 在其之前未配对的ifC. 在其之前未配对的最近的if D.同一行上的if4、设有说明double(*p1)N;其中标识符p1是( C )。A. N个指向double型变量的指针。B. 指向N个double型变量的函数指针。C. 一个指向由N个double型元素组成的一维数组的指针。D.具有N个指针元素的一维指针数组,每个元素都只能指向double型量。5、以下程序的输出结果是( C )。#define f(x) x*xmain()int a=6,b=2,c;c=f(a)/f(b);printf(“%dn”,c);A. 9 B. 6 C. 36 D. 186、有以下程序#include void funint p int d=2;p=d+p; printf(“%d”,p);int main()int a=1;fun(a); printf(“%dn”,a);程序运行后的输出结果是( C)A、22B、32C、31D、337、有以下程序#include intmain()int m=1,n=2,*p=&m,*q=&n,*r;r=p;p=q;q=r;printf(“%d,%d,%d,%dn”,m,n,*p,*q);程序运行后的输出结果为(B)A、1,2,1,2 B、1,2,2,1 C、2,1,2,1 D、2,1,1,28、有以下程序:#include #include Int main()charstr20=“One*World”,”One*Dream”,*p=str1;printf(“%d”,strlen(p);printf(“%sn”,p);程序运行后的输出结果是:(B )A、9,One*World B、9,One*Dream C、10,One*Dream D、10,One*World9、有以下程序:#include int main()int a = 1,2,3,5,4,i;for(i = 0; i 4; i+)switch(i % 2) case 0:switch(ai%2) case 0:ai+;break;case 1:ai-;break;case 1:ai=0; for(i = 0; i 4; i+)printf(%d,ai);程序运行的输出结果是:(C)A、3 3 4 4 B、2 0 5 0 C、0 0 2 0D、0 3 0 410、设有以下函数:void fun(intn,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;11、冒泡排序在最坏情况下的比较次数是( C )A、n(n+1)/2 B、nlog2n C、n(n-1)/2 D、n/212、有以下程序:#includevoid fun(char *t,char *s)while(*t!=0)t+;while(*t+=*s+)!=0);intmain()char ss10=”acc”,aa10=”bbxxyy”;fun(ss,aa);printf(“%s,%sn”,ss,aa);程序运行结果是( D )A、accxyy , bbxxyyB、acc, bbxxyyC、accxxyy,bbxxyyD、accbbxxyy,bbxxyy13、若有以下程序段:int r=8;printf(”%dn”, r1);输出的结果是:( C )A、16 B、 8 C、4 D、214、设有以下定义union data int d1; float d2; demo;则下面叙述中错误的是( D )A、变量demo与成员d2所占的内存字节数相同B、变量demo中各成员的地址相同C、变量demo和各成员的地址相同D、若给demo.d1赋99后, demo.d2中的值是99.015、有以下程序#include intmain()FILE *fp; inta10=1,2,3,0,0,i;fp=fopen(d2.dat,wb);fwrite(a,sizeof(int),5,fp);fwrite(a,sizeof(int),5,fp);fclose(fp);fp=fopen(d2.dat,rb);fread(a,sizeof(int),10,fp);fclose(fp);for(i=0;iy?+x:y+)的值是( A )A、4 B、0 C、1 D、323、有以下程序:则输出结果是(A)intmain()int i;for(i=0;i3;i+)switch(i) case 1:printf(%d,i);case 2:printf(%d,i);default:printf(%d,i); A、011122 B、012 C、012020 D、12024、设有以下程序段(B )int x=0,s=0;while(!x!=0) s+=+x;printf(%d,s);A、 运行程序段后输出0 B、 运行程序段后输出1 C、 程序段中的控制表达式不合法D、 程序段执行无限次25、执行语句“for(s=0,k=1; s20|k10; k=k+2) s+=k;”后,s、k的值为(B)A、25、9 B、25、11 C、36、11 D、36、926、下列描述正确的是(C)A、if语句中条件表达式只能是关系表达式或逻辑表达式B、break语句只能用于循环语句中C、if语句中条件表达式的括号不能省略D、if语句中else应与离它最近的if语句匹配。27、#include int main() int x=3,y=1; do y=x-; while(!y) printf(x);continue; printf(#); while (1=x=2); 输出是(C)A)将输出# B)将输出#* C)是死循环 D)含有不合法的控制表达式28、以下程序的正确运行结果是(C) #include voidnum() externintx,y; int a=15,b=10; x=a-b; y=a+b; intx,y;intmain() int a=7,b=5; x=a+b; y=a-b;num();printf(“%d,%dn”,x,y); A、12,3 B、不确定C、 5,25 D、1,1229、以下正确的描述是(B )A、在C语言中函数的定义可以嵌套,但函数的调用不可以嵌套B、函数的定义不可以嵌套,但函数的调用可以嵌套C、函数的定义和函数的调用均不可以嵌套D、函数的定义和函数的调用均可以嵌套30、有以下程序#includevoid fun (inta,intb,int c) a=456; b=567; c=678;int main() int x=10, y=20,z=30;fun (x,y,z);printf(%d,%d,%dn,x,y,z); 输出结果是(B)A、30,20,10 B、10,20,30 C、456,567,678 D、678,567,45631、下列程序执行后输出的结果是( D) #include f(int a) int b=0;static c=3; a=c+,b+;return(a); intmain() int a=2,i,k;for(i=0;i2;i+) k=f(a+);printf(%dn,k); A、3 B、0 C、5 D、432、设有以下宏定义: #define N 3 #define Y(n) ( (N+1)*n)则执行语句:z=2 * (N+Y(5+1);后,z的值为(C) A、出错B、 42 C、 48 D、5433、下面程序段的运行结果是(B) char str=”abc”, *p=str;printf(“%dn”,*(p+3); A)67 B)0 C)字符c的地址D)字符C34、下面程序的运行结果是(B) #include #includeintmain( ) char *s1=”AbDeG”; char *s2=”AbdEg”; s1+=2;s2+=2;printf(“%dn”,strcmp(s1,s2); A)正数 B)负数 C)零 D)不确定的值35、c语言的编译系统对宏命令的处理是(D )A、在程序运行时进行的B、在程序连接时进行的C、和C程序中的其它语句同时进行编译的D、在对源程序中其它成份正式编译之前进行的36、下面关于结构类型的说法错误的是(A)A、结构是一种复合数据类型,其构成元素既只能是基本数据类型(如int、long、float等)的变量;B、缺省条件下,编译器为结构的每个成员按其自然对界(alignment)条件分配空间;C、结构成员按照它们被声明的顺序在内存中顺序存储;D、结构第一个成员的地址和整个结构的地址相同。37、关于void 指针,下列说法正确的是(C)A、 void 指针就是未指向任何数据的指针B、 void 指针就是已定义而未初始化的指针C、指向任何类型数据的指针可直接赋值给一个void 指针D、 void 指针值可直接赋给一个非void 指针38、当#include后面的文件名用双引号括起来时,寻找被包含文件的方式是(B )A、直接按系统设定的标准方式搜索目录B、先在源程序所在目录搜索,再按系统设定的标准方式搜索目录C、仅仅搜索源程序所在目录D、搜索当前逻辑盘上的所有目录39、若用数组名作为函数调用的实参,传递给形参的是(A )。A、数组的首地址B、数组中第一个元素的值C、数组全部元素的值 D、数组元素的个数40、关于转义字符的使用:printf(abasketballbb);执行结果为( D )A、asketB、asketbC、aasketbakllD、askea41、阅读下面的程序:#include #include void fun( char *w, int m )char s = 0;char *p1 = NULL;char *p2 = NULL;p1 = w; p2 = w + m - 1;while( p1 p2 ) s = *p1+; *p1 = *p2-; *p2 = s; int main()char a = ABCDEFG;fun(a,strlen(a) );puts( a );上面程序的输出结果是(C )A、GEFDCBAB、AGADAGAC、AGAAGAGD、GAGGAGA42、如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是( B )A、e3,e1,e4,e2B、e2,e4,e3,e1 C、e3,e4,e1,e2 D、任意顺序43字符常量101是(A)A、字符A B、字符a C、字符e D、非法的常量44、阅读程序,选择程序的输出结果(A)#include int main()staticint a23 = 1,2,3,4,5,6;int m ,*ptr;ptr = &a00;m = (*ptr)*(*(ptr + 2)*(*(ptr + 4);printf(“%dn”,m);A 15 B 48C 24D 无定值45、调用strlen(“abcd0ef0g“)的返回值为(A)A 4B 5 C 8D 946、若有以下程序段:int a = 4,0,2,3,1,i,j,t;for(j = 1; i=0 & t aj)aj+1 = aj;j-;aj+1 = t;则该程序段的功能是(B)A 对数组a进行插入排序(升序)B对数组a进行插入排序(降序)C对数组a进行选择排序(升序)D对数组a进行选择排序(降序)47、有以下结构体:Structbsint a:4int:0int b:7;Sizeof(str

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论