C面试题精选.docx

上传人:b****2 文档编号:24182871 上传时间:2023-05-25 格式:DOCX 页数:11 大小:22.59KB
下载 相关 举报
C面试题精选.docx_第1页
第1页 / 共11页
C面试题精选.docx_第2页
第2页 / 共11页
C面试题精选.docx_第3页
第3页 / 共11页
C面试题精选.docx_第4页
第4页 / 共11页
C面试题精选.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

C面试题精选.docx

《C面试题精选.docx》由会员分享,可在线阅读,更多相关《C面试题精选.docx(11页珍藏版)》请在冰豆网上搜索。

C面试题精选.docx

C面试题精选

试卷总分:

100

出卷时间:

2014-07-1111:

24

答题时间:

120分钟

 

一单选题

1.要把高级语言编写的源程序转换为目标程序,需要使用(D)[2分]

A.编辑程序

B.驱动程序

C.诊断程序

D.编译程序

2.以下叙述中正确的是( C)[2分]

A.C语言程序将从源程序中第一个函数开始执行

B.可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行

C.C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束

D.main可作为用户标识符,用以命名任意一个函数作为主函数

3.若变量a是int类型,并执行了语句:

a=‘A'+1.6;,则正确的叙述是( D)[2分]

A.a的值是字符B

B.a的值是浮点型

C.不允许字符型和浮点型相加

D.a的值是字符‘A’的ASCII值加上2

4.若变量已正确定义并赋值,以下符合C语言语法的表达式是( B)[2分]

A.a:

=b+1

B.a=b=c+2

C.int18.5%3

D.a=a+7=c+b

5.下列可用于C语言用户标识符的一组是( )[2分]

A.void,define,WORD

B.a3_b3,_123,car

C.For,-abc,IFCase

D.2a,DO,sizeof

6.若在定义语句:

inta,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是(  )[2分]

A.scanf("%d",a,b,c);

B.scanf("%d%d%d",a,b,c);

C.scanf("%d",p);

D. scanf("%d",&p);

7.以下关于long、int和short类型数据占用内存大小的叙述中正确的是(  )[2分]

A.均占4个字节

B.根据数据的大小来决定所占内存的字节数

C.由用户自己定义

D.由C语言编译系统决定

8.若变量已正确定义,有以下程序段

i=0;

do

{

   printf("%d,",i);

}while(i++);

printf("%d\n",i);

其输出结果是(  )[2分]

A. 0,0

B. 0,1

C. 1,1

D. 程序进入无限循环

9.有以下计算公式

  

若程序前面已在命令中包含math.h文件,不能够正确计算上述公式的程序段是(  )[2分]

A. if(x>=0)y=sqrt(x); elsey=sqrt(-x);

B. y=sqrt(x)if(x<0)y=sqrt(-x);

C. if(x>=0)y=sqrt(x); if(x<0)y=sqrt(-x);

D. y=sqrt(x>=0?

x:

-x);

10.设有条件表达式:

(EXP)?

i++;j--,则以下表达式中(EXP)完全等价的是(  )[2分]

A.(EXP==0)

B.(EXP!

=0)

C.(EXP==1)

D.(EXP!

=1)

11.有以下程序

#include

intmain(void)

{

  inty=9;

  for(;y>0;y--)

  {

    if(y%3==0)

       printf("%d",--y);

  }

}

程序的运行结果是(  )[2分]

A.741

B.963

C.852

D.875421

12.若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是(  )[2分]

A.函数的实参和其对应的形参共占同一存储单元

B.形参只是形式上的存在,不占用具体存储单元

C.同名的实参和形参占同一存储单元

D.函数的形参和实参分别占用不同的存储单元

13.已知字符'A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D'。

执行语句printf("%d,%d",c1,c2-2);后,输出结果是(  )[2分]

A.A,B

B.A,68

C.65,66

D.65,68

14.以下叙述中错误的是(  )[2分]

A.改变函数形参的值,不会改变对应实参的值

B.函数可以返回地址值

C.可以给指针变量赋一个整数作为地址值

D.当在程序的开头包含文件stdio.h时,可以给指针变量赋NULL

15.以下正确的字符串常量是(  )[2分]

A."\\\"  

B.'abc'

C.OlympicGames

D.""

16.设有定义:

charp[]={’1’,’2’,’3’},*q=p;,以下不能计算出一个char型数据所占字节数的表达式是(  )[2分]

A.sizeof(p)

B.sizeof(char)

C.sizeof(*q)

D.sizeof(p[0])

17.有以下函数

int func(char*s)

{

   char*t=s;      

   while(*t++);

   t--;

   return(t-s);

}

以下关于func函数的功能叙述正确的是(  )[2分]

A.求字符串s的长度

B.比较两个串的大小

C.将串s复制到串t

D.求字符串s所占字节数

18.若有定义语句:

inta[3][6];,按在内存中的存放顺序,a数组的第10个元素是(  )[2分]

A.a[0][4]

B.a[1][3] 

C.a[0][3]

D.a[1][4]

19.有以下程序

#include

voidfun(char**p)

{

   ++p;

   printf("%s\n",*p);

}

intmain(void)

{

   char*a[]={"Morning","Afternoon","Evening","Night"};

   fun(a);

}

程序的运行结果是( )[2分]

A.Afternoon

B.fternoon

C.Morning

D. orning

20.若有定义语句:

inta[2][3],*p[3];,则以下语句中正确的是(  )[2分]

A.p=a;

B.p[0]=a;

C.p[0]=&a[1][2]; 

D. p[1]=&a;

21.有以下程序

#include

int fun(chars[])

{

   intn=0;

   while(*s<=’9’&&*s>=’0’)

   {

      n=10*n+*s-’0’;

      s++;

   }

   return(n);

}

intmain(void)

{

   chars[10]={’6’,’1’,’*’,’4’,’*’,’9’,’*’,’0’,’*’};

   printf("%d\n",fun(s));

}

程序运行的结果是(  )[2分]

A.9

B.61490

C.61

D.5

22.以下能正确定义一维数组的选项是(  )[2分]

A.inta[5]={0,1,2,3,4,5};

B.chara[]={0,1,2,3,4,5};

C.chara={’A’,’B’,’C’};

D.inta[5]="0123";

23.以下叙述中正确的是(  ) [2分]

A.预处理命令行必须位于源文件的开头

B.在源文件的一行上可以有多条预处理命令

C.宏名必须用大写字母表示

D.宏替换不占用程序的运行时间

24.若有以下说明和定义(  ) 

uniondt 

{

  inta;

  charb;

  doublec;

}data; 

以下叙述中错误的是[[2分]

A.data的每个成员起始地址都相同

B.变量data所占的内存字节数与成员c所占字节数相等

C.程序段:

data.a=5;printf("%f\n",data.c);输出结果为5.000000

D. data可以作为函数的实参

25.以下语句或语句组中,能正确进行字符串赋值的是( ) [2分]

A.char*sp;*sp="right!

";

B.chars[10];s="right!

"; 

C.chars[10];*s="right!

";

D.char*sp="right!

"; 

二填空题

1.以下程序的功能是:

输出a、b、c三个变量中的最小值.请填空。

#include

int main(void)

{

   inta,b,c,t1,t2;

   scanf("%d%d%d",&a,&b,&c);

   t1=a

                                              

   t2=c

                                            

   printf("%d\n",t2);

}[每空2分]

2.以下程序的输出结果是                      .                       

#include 

int main(void)

{

  int n=12345,d;  

  while(n!

=0)

  {

     d=n%10;

     printf("%d",d);

     n/=10;

   }

}[每空4分]

3.已有定义如下:

structnode

{

intdata;

structnode*next;

}*p;

以下语句调用malloc函数,使指针p指向一个具有structnode类型的动态存储空间。

p=(structnode*)malloc(                      );[每空4分]

4.表达式(int)((double)5/2+2.5)的值是:

                       [每空4分]

5.写出以下两段程序的执行结果。

如果程序无法编译,请指出出错部分并写明原因;如果程序陷入死循环,请回答“死循环”。

如果执行结果出现内存错误,请指出出错部分并写明原因。

int main(void)

{

  chars[]="man";

  inti;

  for(i=0;s[i];i++)

    printf("\n%c%c%c%c",s[i],*(s+i),*(i+s),i[s]);

  return0;

}

 

 

int main(void)

{

  char*cptr,c;

  void*vptr,v;

  c=10; v=0;

 

  cptr=&c;

  vptr=&v;

   return0;

}

 

 [每空2分]

6.对下面的代码进行解释:

 typedef void (*lpFunction)(void);

 lpFunction lpReset = (lpFunction)0xF000FFF0;

 lpReset();

 [4分]

7.

指出下面代码的不妥之处(不需要修改):

voidGetMemory(T_S8*p,T_S16nNum)

{

  p=(T_S8*)malloc(sizeof(T_S8)*nNum);

}

voidTest(void)

{

  T_S8*str=NULL;

  GetMemory(str,100);

  strcpy(str,"hello");

}

                                                                               [每空4分]

8.Test函数的运行结果如何?

原因?

char*GetMemory(void)

{

  charp[]="helloworld";

  returnp;

}

voidTest(void)

{

  char*str=NULL;

  str=GetMemory();

  printf("%s\n",str);

}

                                                    [每空4分]

9.Test函数的运行结果如何?

原因?

VoidGetMemory2(char**p,intnum)

{

  *p=(char*)malloc(num);

}

voidTest(void)

{

  char*str=NULL;

  GetMemory(&str,100);

  strcpy(str,"hello");

  printf("%s\n",str);

}

                      [每空4分]

10. Test函数的运行结果如何?

原因?

voidTest(void)

{

  char*str=(char*)malloc(100);

  strcpy(str,“hello”);

  free(str);

  if(str!

=NULL)

  {

     strcpy(str,“world”);

     printf("%s\n",str);

  }

}

                                         [每空4分]

三编程题

1.请编写一个函数func,用来删除字符串中的所有空格。

例如,传入字符串“asd af aa z67”,则返回为字符串“asdafaaz67”。

[10分]

============本试卷共计36题,此处为结束标志。

考试酷examcoo============

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1