C语言期末考试复习试题.docx

上传人:b****5 文档编号:3989008 上传时间:2022-11-26 格式:DOCX 页数:29 大小:31.49KB
下载 相关 举报
C语言期末考试复习试题.docx_第1页
第1页 / 共29页
C语言期末考试复习试题.docx_第2页
第2页 / 共29页
C语言期末考试复习试题.docx_第3页
第3页 / 共29页
C语言期末考试复习试题.docx_第4页
第4页 / 共29页
C语言期末考试复习试题.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

C语言期末考试复习试题.docx

《C语言期末考试复习试题.docx》由会员分享,可在线阅读,更多相关《C语言期末考试复习试题.docx(29页珍藏版)》请在冰豆网上搜索。

C语言期末考试复习试题.docx

C语言期末考试复习试题

单选题

[1]、C语言中运算对象必须是整型的运算符是()。

【答  案】C

【分  数】1分

【选  项】

 A、/

 B、++

 C、%

 D、!

=

[2]、假设所有变量均为整型,则执行运算x=(a=2,b=5,b++,a+b)后,x的值是()。

【答  案】B

【分  数】1分

【选  项】

 A、7

 B、8

 C、6

 D、2

[3]、在下列字符序列中,属于C语言合法标识符的是()。

【答  案】B

【分  数】1分

【选  项】

 A、P12.a

 B、stud_100

 C、$water.1

 D、88sum

[4]、在下列语句选项中,只有一个在功能上与其他三个语句不等价(其中s1和s2表示某个C语句),这个不等价的语句是()。

【答  案】D

【分  数】1分

【选  项】

 A、if(a) s1;else s2;

 B、if(!

a)s2;else s1;

 C、if(a!

=0) s1;else s2;

 D、if(a==0) s1;else s2;

[5]、若二维数组定义为a[m][n],则在a[i][j]之前的元素个数为()。

【答  案】B

【分  数】1分

【选  项】

 A、j*m+i

 B、i*m+j

 C、i*m+j-1

 D、j*m+i-1

[6]、以下程序的运行结果是()。

voidfun(int*n)

{  

   staticintm=2;

   *n*=m-1;m+=2;

}

voidmain()

   staticintm=1;

   inti;

   for(i=1;i<4;i++)

       fun(&m);

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

}

【答  案】D

【分  数】1分

【选  项】

 A、8

 B、10

 C、11

 D、15

[7]、设有定义:

#defineSTR"12345";,则以下叙述正确的是()。

【答  案】C

【分  数】1分

【选  项】

 A、宏名STR代替的是数值常量12345

 B、宏定义以分号结束,编译时会产生错误信息

 C、宏名STR代替的是字符串"12345"

 D、宏名STR代替的是字符串常量"12345"

[8]、下列叙述不正确的是()。

【答  案】B

【分  数】1分

【选  项】

 A、用typedef可以定义各种类型名,但不能用来定义变量

 B、typedef和#define都是在预编译时处理的

 C、用typedef只是将已存在的类型用一个新的标识符来代表

 D、使用typedef有利于程序的通用和移植

[9]、若变量定义时未初始化,则其值不确定的是()。

【答  案】C

【分  数】1分

【选  项】

 A、静态全局变量

 B、静态局部变量

 C、局部变量

 D、全局变量

[10]、以下程序关于sizeof()的运行结果是()。

voidmain()

{

  chara[]="movie",b[10]="movie";

  printf("%d%d\n",sizeof(a),sizeof(b));

}

【答  案】C

【分  数】1分

【选  项】

 A、55

 B、66

 C、610

 D、其他输出

[11]、若要用fopen函数打开一个二进制文件,该文件要既能读也能写,当文件不存在时新建文件,则文件打开方式应是()。

【答  案】C

【分  数】1分

【选  项】

 A、"ab+"

 B、"rb+"

 C、"wb+"

 D、"ab"

[12]、设charch,str[4],*strp;,则下列赋值语句正确的是()。

【答  案】C

【分  数】1分

【选  项】

 A、ch="CBA";

 B、str="CBA";

 C、strp="CBA";

 D、*strp="CBA";

[13]、有以下函数:

char*fun(char*p){returnp;},该函数的返回值为()。

【答  案】B

【分  数】1分

【选  项】

 A、不确定值

 B、参数p中存放的地址值

 C、一个临时存储单元的地址值

 D、形参p自身的地址值

[14]、若有定义:

constinti=10,j=20;int*constpi=(int*)&i;,则下列操作正确的为()。

【答  案】A

【分  数】1分

【选  项】

 A、*pi=0;

 B、pi=&j;

 C、i=10;pi=&j;

 D、j=*pi;

[15]、有如下定义:

structs1

   chara[3];

   int num;

}t={’a’,’b’,’x’,4},*p;

p=&t;

则下列语句输出结果为x的是()。

【答  案】A

【分  数】1分

【选  项】

 A、printf("%c\n",p->t.a[2]);

 B、printf("%c\n",(*p).a[2]);

 C、printf("%c\n",p->a[3]);

 D、printf("%c\n",(*p).t.a[2]);

[16]、以下程序将输出的字符是()。

#include"stdio.h"

main()

{

   charc;

   char(*p)[3];

   chars[2][3]={’a’,’b’,’c’,’d’,’e’,’f’};

   p=&s[0];

   c=*(p[1]+1);

   printf("%c",c);

}

【答  案】C

【分  数】1分

【选  项】

 A、b

 B、d

 C、e

 D、f

[17]、以下关于枚举的程序,其运行结果是()。

#include"stdio.h"

main()

{

 enumweekday

 {sun,mon,tue=5,wed,thu,fri,sat}a,b,c,d;

   a=sun;

   b=mon;

   c=tue;

   d=wed;

   printf("%d%d%d%d\n",a,b,c,d);

  }

【答  案】C

【分  数】1分

【选  项】

 A、 0050

 B、 1254

 C、 0156

 D、 0153

[18]、设有程序段chark;while(k>0)k++;printf("%d\n",k);则程序输出结果为()。

【答  案】C

【分  数】1分

【选  项】

 A、-127

 B、256

 C、-128

 D、128

[19]、函数调用语句:

fseek(fp,-20L,2);的含义是()。

【答  案】C

【分  数】1分

【选  项】

 A、将文件位置指针移到距离文件头20个字节处

 B、将文件位置指针从当前位置向后移动20个字节

 C、将文件位置指针从文件末尾处后退20个字节

 D、将文件位置指针移到距离当前位置20个字节处

[20]、以下程序的输出结果为()。

inta=2;

intf(int*a)

{

   return(*a)++;

}

voidmain()

{

   ints=0;

   {inta=5;

    s+=f(&a);

   }

   s+=f(&a);

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

}

【答  案】C

【分  数】1分

【选  项】

 A、27

 B、210

 C、37

 D、311

[21]、以下程序输出的字符序列是()。

#include"stdio.h"

main(){

   chara[]="language",*p;

   p=a;

   while(*p!

=’u’){printf("%c",*p-’u’+’U’);p++;}

}

【答  案】C

【分  数】1分

【选  项】

 A、LANGUAGE

 B、language

 C、LANG

 D、LANGuage

[22]、以下程序的输出结果是()。

#include

intmain()

{

   charstr[100]="ABCDEFG",*p=str;

   inti;

   for(i=0;*p!

=’\0’;p++,i++);

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

   return0;

}

【答  案】A

【分  数】1分

【选  项】

 A、7

 B、8

 C、99

 D、100

[23]、字符串"a\x44\\\nbcd\102a"的长度是()。

【答  案】C

【分  数】1分

【选  项】

 A、12

 B、17

 C、9

 D、11

[24]、以下程序的输出结果是(  )。

main()

{intn;

 (n=6*4,n+6),n*2;

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

}

【答  案】B

【分  数】1分

【选  项】

 A、30

 B、24

 C、60

 D、48

[25]、以下程序的输出结果是()。

main()

{intw=4,x=3,y=2,z=1;

 if(x>y&&!

(z==w))printf("%d\n",(w

w:

z

z:

x));

 elseprintf("%d\n",(w>x?

w:

z>y?

z:

x));

}

【答  案】A

【分  数】1分

【选  项】

 A、1

 B、2

 C、3

 D、4

[26]、以下程序的输出结果是()。

 main()

 {inta=1,b=0;

 switch(a)

  {case1:

switch(b)

   {case0:

printf("**0**");break;

    case1:

printf("**1**");break;

   }

   case2:

printf("**2**");break;

 }

 }

【答  案】B

【分  数】1分

【选  项】

 A、**0**

 B、**0****2**

 C、**0****1****2**

 D、有语法错误

[27]、以下是求两个正整数的最大公约数的函数fun(),下划线处应填入的正确语句为()。

 intfun(m,n)

 intm,n;

 {intr;

   if(m

  if(n==0)return(m);

  do{r=m%n;

        if(r!

=0){m=n;n=r;}

      }while(______);

 return(n);

 }

【答  案】A

【分  数】1分

【选  项】

 A、r!

=0

 B、r==0

 C、n!

=0

 D、n==0

[28]、以下程序的输出结果是()。

main()

{inta=0,j;

 for(j=0;j<4;j++)

 {switch(j)

  {case0:

    case3:

a+=2;

    case1:

    case2:

a+=3;

    default:

a+=5;

  }

  }

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

}

【答  案】D

【分  数】1分

【选  项】

 A、20

 B、13

 C、10

 D、36

[29]、以下程序功能为输入1个正整数n,计算并输出s的前n项的和:

s=1/2-2/3+3/4-4/5+……(-1)

n/(n+1),下划线处应填入的正确语句为(  )。

#include"stdio.h"

voidmain()

{  intk,flag=1,n;

   floats=0;

   scanf("%d",&n);

   for(k=1;k<=n;k++){

       s=s+______;

        flag=-flag;

   }

  printf("sum=%f\n",s);

}

【答  案】A

【分  数】1分

【选  项】

 A、1.0*k/(k+1)*flag

 B、flag*n/(n+1)

 C、-k/(k+1)

 D、1.0*k/(k+1)

[30]、以下程序的输出结果是()。

main()

{ inti,j,x=0;

for(i=0;i<2;i++)

{  x++;

for(j=0;j<3;j++)

{  if(j%2)  continue;

x++;}

x++; }

printf("x=%d\n",x);}

【答  案】B

【分  数】1分

【选  项】

 A、x=4

 B、x=8

 C、x=6

 D、x=12

[31]、以下程序的输出结果是()。

main()

{charch[2][5]={"6937","8254"},*p[2];

  inti,j,s=0;

  for(i=0;i<2;i++) p[i]=ch[i];

  for(i=0;i<2;i++)

  for(j=0;p[i][j]>’\0’;j+=2)

  s=10*s+p[i][j]-’0’;

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

}

【答  案】C

【分  数】1分

【选  项】

 A、69825

 B、63825

 C、6385

 D、693825

[32]、下列程序片段的输出结果是()。

printf("%d\n",strlen("ATS\n0l2\2\\"));

【答  案】C

【分  数】1分

【选  项】

 A、l1

 B、10

 C、9

 D、8

[33]、在C程序中有如下语句:

char*func(intx,inty);它是()。

【答  案】C

【分  数】1分

【选  项】

 A、对函数func的定义

 B、对函数func的调用

 C、对函数func的原型说明

 D、不合法的

[34]、下列程序运行后的输出结果是()。

fun(inta,intb)

{if(a>b)return(a);

 elsereturn(b);

}

main()

{intx=3,y=8,z=6,r;

 r=fun(fun(x,y),2*z);

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

}

【答  案】D

【分  数】1分

【选  项】

 A、3

 B、6

 C、8

 D、12

[35]、有如下程序,该程序的输出结果是()。

  longf(intn)

  {if(n>2) return(f(n-2)+f(n-3));

   else 

   if(n==2) return

(2);

   else     return

(1);}

  main()

  {printf("%d\n",f(5));}

【答  案】C

【分  数】1分

【选  项】

 A、2

 B、3

 C、4

 D、5

[36]、在C语言中,函数的隐含存储类别是()。

【答  案】C

【分  数】1分

【选  项】

 A、auto

 B、static

 C、extern

 D、无存储类别

[37]、以下程序的运行结果是()。

#include"stdio.h"

main()

{

 inta[]={1,2,3,4,5,6,7,8,9,10,11,12};

 int*p=a+5,*q=NULL;

 q=p+5;

 printf("%d%d\n",*p,*q);

}

【答  案】B

【分  数】1分

【选  项】

 A、运行后报错

 B、611

 C、612

 D、55

[38]、以下选项中,能定义s为合法的结构体变量的是()。

【答  案】B

【分  数】1分

【选  项】

 A、typedefstructabc

    {doublea;

       charb[10];

    }s;

 B、structabc

    {doublea;

      charb[10];

    }s;

 C、structABC

    {doublea;

      charb[10];

    }

    ABCs;

 D、typedefABC

    {doublea;

       charb[10];

    }

    ABCs;

[39]、以下程序运行后的输出结果是()。

#include

structNODE

{intnum;structNODE*next;};

main()

{

   structNODE*p,*q,*r;

   p=(structNODE*)malloc(sizeof(structNODE));

   q=(structNODE*)malloc(sizeof(structNODE));

   r=(structNODE*)malloc(sizeof(structNODE));

   p->num=10;q->num=20;r->num=30;

   p->next=q;q->next=r;

   printf("%d\n",p->num+q->next->num);

}

【答  案】D

【分  数】1分

【选  项】

 A、10

 B、20

 C、30

 D、40

[40]、下列程序的输出结果是()。

structstudent

{inta,b,c;};

main()

{structstudentstu[2]={{2,3,4},{5,6,7}};intt;

  t=stu[0].a+stu[1].b%stu[0].c;

  printf("%d\n",t);}

【答  案】C

【分  数】1分

【选  项】

 A、0

 B、1

 C、4

 D、5

[41]、若a是整型变量,表达式~(a^~a)等价于()。

【答  案】C

【分  数】1分

【选  项】

 A、~a

 B、1

 C、0

 D、2

[42]、若以下程序所生成的可执行文件名为filel.exe,当输入命令行:

FILE1CHINABEIJINGSHANGHAI,执行该程序时,程序的输出结果是()。

 

 main(intargc,char*argv[])

{while(argc-->1)

  {++argv;printf("%s ",*argv);}

}

【答  案】A

【分  数】1分

【选  项】

 A、CHINABEIJINGSHANGHAI

 B、FILE1 CHINA BEIJING

 C、C B S

 D、F  C  B

[43]、下列选项中属于不正确的赋值语句的是()。

【答  案】D

【分  数】1分

【选  项】

 A、t--;

 B、k=i==j;

 C、t1=t2=t3=3;

 D、t1=1,t2=2;

[44]、若有定义:

inta,b;charx,y;并有以下输入数据:

12 13AaBb(回车)

则能给a赋整数12,给b赋整数13,给x赋字符a,给y赋字符b的正确程序段是()。

【答  案】D

【分  数】1分

【选  项】

 A、scanf(“%d”,&a);

    scanf(“%d”,&b);

    x=getchar();y=getchar();

 B、scanf(“%d%d %c %c”,&a,&b,&x,&y);

 C、scanf(“%d%d %c %c”,&a,&b,&x,&x,&y,&y);

 D、scanf(“%d%d%c%c%c%c”,&a,&b,&x,&x,&y,&y);

[45]、在PC16位机环境下,以下程序的运行结果是()。

main()

{unsignedinta;

 intb=-2;

 a=b;

 printf(“%u”,a);}

【答  案】B

【分  数】1分

【选  项】

 A、-2

 B、65534

 C、32768

 D、-32768

[46]、语句printf(“%d\n”,strlen(“xyz\t\xab\3\\”));的输出结果是()。

【答  案】C

【分  数】1分

【选  项】

 A、9

 B、11

 C、7

 D、8

[47]、语句:

printf(“%d”,!

0);的输出结果是()。

【答  案】A

【分  数】1分

【选  项】

 A、1

 B、0

 C、有语法错误,不能执行

 D、!

0

[48]、当a=2,b=3,c=4,d=5时,执行下面一段程序后x的值为()。

if(a

 if(c>d)x=1;

 else

 if(a>c)

     if(b

     else x=3;

 else x=4;

else x=5;

【答  案】C

【分  数】1分

【选  项】

 A、2

 B、3

 C、4

 D、5

[49]、若x是int型变量,且有下面的程序片段:

for(x=5;x<8;x++) 

 printf((x/2)?

(“**%d”):

(“##%d”),x);

该程序片段的输出结果是()。

【答  案】A

【分  数】1分

【选  项】

 A、**5**6**7

 B、##5**6##7**8

 C、**5##6**7

 D、**5##6**7##8

[50]、有以下程序段:

inta=0,b;

do{scanf(“%d”,&a);b++;}while(a!

=10||b<3);

此处do-while循环的结束条件是()。

【答  案】B

【分  数】1分

【选  项】

 A、a的值等于10并且b的值大于3

 B、a的值等于10并且b的值大于等于3

 C、a的值不等于10或者b的值小于3

 D、a的值不等于10并且b的值大于等于3

[51]、在下述程序中,if(i>j)语句共执行的次数是()。

main()

{inti=0,j=14,k=2,s=0;

 for(;;)

  {i+=k;

    if(i>j)

    {printf(“%d”,s);

      break;

   }

   

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

当前位置:首页 > 小学教育 > 数学

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

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