C语言

计算机二级C语言备考习题

时间:2024-10-16 06:03:38 C语言 我要投稿

2017年计算机二级C语言备考习题

  以下是百分网小编为大家整理的2017年计算机二级C语言备考习题,大家可以来做一做,巩固一下自己的知识。

  1.下列选项中非法的字符常量是(  )。

  A.’\t’

  B.’\039’

  C.’,’

  D.’\n ’

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

  main(  )

  { char ch[3][4]={"123","456","78"),*p[3];int i;

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

  for(i=0;i<3;i++)printf("%s",p[i]);}

  A.123456780

  B.123 456 780

  C.12345678

  D.147

  3.以下程序的输出结果是(  )。

  main(  )

  { char w[][10]={"ABCD","EFGH","IJKL","

  MNOP"),K;

  for(k=1;k<3;k++)printf("%s\n",w[k]);

  A.ABCD

  FGH

  KL

  B.ABCD

  EFG

  U

  C.EFG

  JK

  O

  D.EFGH

  UKL

  4.以下程序的输出结果是(  )。

  union myun

  { struct

  {int x,y,z;)u;

  int k:

  }a;

  main(  )

  { a.u.x=4;a.u.y=5;a.u.z=6;

  a.k=0;

  printf(%d\n",a.u.x);

  }

  A.4

  B.5

  C.6

  D.0

  5.若有以下定义和语句:“double r=99,*p=&r;*P =r;”,则以下正确的叙述是(  )。

  A.两个*p含义相同,都说明给指针变量p赋值

  B.在“double r=99,*p=&r;”中,把r的地址赋值给了P所指的存储单元

  c.语句“*p=r;”把变量r的值赋给指针变量P

  D.语句“*p=r;”取变量r的值放回r中

  6.以下程序的输出结果是(  )。

  main(  )

  {int x=0.5;char z=’a’;

  printf("%d\n",(x&1)&&(z<’2’));}

  A.0

  B.1

  C.2

  D.3

  7.若希望下列的程序运行后输出25,程序空白处的正确选项是(  )。

  main(  )

  {int id=50,a[]=(7,4,10,5,8};

  for( )

  j+=a[i];

  printf("%d",j-40);

  }

  A.i=1;i<4;++i

  B.i=l;i<3;++i

  C.i=4;i>2;i--

  D.i=2;i<4;++i

  8.若二维数组a有m列,则在a[i][j]前的元素个数为(  )。

  A.i*m+j-1

  B.i*m+j

  C.J*m+i

  D.i*m+j+1

  9.下列程序的输出结果是(  )。

  #include

  int fun(int a)

  {int b=0;

  static int c=4:

  a=c++:b++;

  return(a):

  main(  )

  {int a=2,i,c;

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

  c=f(a+1):

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

  }

  A.4

  B.7

  C.6

  D.5

  10.定义结构体数组:

  struct stu

  {int num;

  char nameE20];

  }X[5]={1,"LI",2,"ZHAO",3,"WANG",4," ZHANG",5,"LIU");

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

  printf("%d%c",x[i].num,x[i].name[2]);

  以上程序段的输出结果为(  )。

  A.2A3N4A5U

  B.112A3H4I

  C.1A2N3A4U

  D.2H3A4H5I

  参考答案及解析:

  1.B。【解析】水平制表符中,’\t’表示的是横向跳若干格;选项B中,’\039’错误,’\039 ’是八进制形式表的字符,最大数为7,但其中出现’ 9’,’,’是字符逗号;选项D中,’\n ’表示的是换行。

  2.B。【解析】第一个for循环的作用是让p指向每行的首地址,第二个for循环的作用是把它指向的字符串输出,故选择B选项。

  3.D。【解析】当k=1时,循环成立,输出w[l]的数组即EFGH,接着执行k++后k为2;当k=2时,循环成立,输出w[2]的数组即IJKL,接着执行k++后,k为3;当k= 3时,循环不成立,退出。

  4.D。【解析】因为a是结构体变量,最后一次输入的值为结构体中的值,即a中的任何一个值都为0。

  5.B。【解析】在定义*p=&r时,是表示r的地址赋给了p所指的存储单元,因此选项B正确。

  6.B。【解析】(x&1)&&(z<’ 2 ’)=(0.5&1)&&(’a’ <’z’)=1&&1=1,故选择B选项。

  7.D。【解析】要想使程序输出25,则j-40=25,j=65,而j初值是50,所以填入for循环的语句,使引用的数组元素累加65-50=15即可,D选项中,i下标从0开始,i=2指向第3个数50+a[2]=50+10=60,继续循环60+a[3]= 60+5=65,此时i=4跳出,循环结束。

  8.B。【解析】二维数组的元素可以看成是按矩阵形式存放的,数组第一维的下标是i,说明它前面还有i行,有i* m个元素,数组第二维的下标是j,说明它前面还有j列,有j 个元素,所以共有i*m+j个元素。

  9.D。【解析】static变量是局部度量,函数无法修改,所以当i=1时,第2次进入f函数时c=5,所以最终main(  ) 函数中C的值为5。

  10.A。【解析】本题主要考查结构体数组的使用。x [i].num为结构体x[i]中的hum成员,x[i].num[2]是结构体x[i]中name成员的第3个元素。程序执行循环过程时:第1次循环,i=1,输出x[i].num,x[1].name[2]的值;第2次循环,i=2,输出x[2].num,x[2].name[2]的值,即3N;第3 次循环,i=3,输出X[3].hum,x[3].name[2]的值,即4A;第4 次循环,i=4,输出x[4].num,x[4].name[2]的值,即5U。

【计算机二级C语言备考习题】相关文章:

2017计算机二级C语言备考习题及答案03-18

计算机二级备考习题及答案(C语言)201703-22

计算机二级C语言备考习题及答案201712-05

2017年计算机二级C语言考试备考习题及答案12-03

2017计算机二级C语言考点习题12-04

2017年计算机二级考试C语言备考练习题03-24

2017年计算机二级C语言备考练习题及答案03-17

2024计算机二级C语言备考提分题01-02

全国计算机二级《C语言》备考复习试题12-08