计算机等级 百分网手机站

二级c语言题库

时间:2017-06-29 12:12:49 计算机等级 我要投稿

2017二级c语言题库

  C语言提供多种运算符和表达式值的方法,对问题的表达可通过多种途径获得,其程序设计更主动、灵活。下面是小编收集的2017二级c语言题库,希望大家认真练习!

  判断题

  × 1.指针是变量,它具有的值是某个变量或对象的地址值,它还具有一个地址值,这两个地址值是相等的。

  √ 2.指针的类型是它所指向的变量或对象的类型。

  × 3.定义指针时不可以赋初值。

  √ 4.指针可以赋值,给指针赋值时一定要类型相同,级别一致。

  × 5.指针可以加上或减去一个int型数,也可以加上一个指针。

  √ 6.两个指针在任何情况下相减都是有意义的。

  √ 7.数组元素可以用下标表示,也可以用指针表示。

  × 8.指向数组元素的指针只可指向数组的首元素。

  √ 9.指向一维数组的指针是一个二级指针。

  × 10.指针数组的元素可以是不同类型的指针。

  √ 11.字符指针是指向字符串的指针,可以用字符串常量给字符指针赋值。

  × 12.引用是一种变量,它也有值和地址值。

  √ 13.引用是某个变量的别名,引用是被绑定在被引用的变量上。

  √ 14.创建引用时要用一个同类型的变量进行初始化。

  √ 15.指针是变量,它可以有引用,而引用不能有引用。

  单项选择

  1 下列数据中,为字符串常量的是()。 D

  A、'A'

  B、How do you do.

  C、$abc

  D、"house"

  2 以下所列的C语言常量中,错误的是( )。 B

  A、0xFF

  B、1.2e0.5

  C、2L

  D、'\72'

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

  main()

  {float x=3.6;

  int i;

  i=(int)x;

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

  }

  A、x=3.600000,i=4

  B、x=3 i=3.600000

  C、x=3,i=3

  D、x=3.600000,i=3

  4 若k是整型,则以下程序段的执行结果是:( ) B

  k=-3;

  if(k<=0) printf("####")

  else printf("&&&&");

  A、####

  B、有语法错误,无结果

  C、&&&&

  D、####&&&&

  5 若x=2,y=3则x||y的结果是( )。 C

  A、3

  B、0

  C、1

  D、2

  6 针对下列程序段回答问题( B ).

  for(t=1;t<=100;t++)

  {

  scanf("%d",&x);

  if(x<0) continue;

  printf("=",t);

  }

  A、x>=0时什么也不输出

  B、最多允许输出100个非负整数

  C、printf函数永远也不执行

  D、当x<0时整个循环结束

  7 以下程序的执行结果是( )。 B

  main()

  { int num = 0;

  while( num <= 2 ) { num++; printf( "%d,",num ); } }

  A、0,1,2

  B、1,2,3,

  C、1,2,3,4,

  D、1,2,

  8 选择正确的输入语句( D )。:(其中:char string[20];)使得string的内容为"I am student".

  A、scanf("%s", string);

  B、scanf("%c", &string);

  C、scanf("%s", &string);

  D、gets(string);

  9 对以下说明语句 int a[10]={6,7,8,9,10}; 的正确理解是()。 B

  A、将5个初值依次赋给a[6]至a[10]

  B、将5个初值依次赋给a[0]至a[4]

  C、因为数组长度与初值的个数不相同,所以此语句不正确

  D、将5个初值依次赋给a[1]至a[5]

  10 以下标识符中可以作为用户函数名的'是( ). D

  A、struct

  B、int

  C、union

  D、go_to

  11 以下叙述错误的是( ). B

  A、函数调用可以出现在一个表达式中

  B、函数调用可以作为一个函数的形参

  C、函数调用可以作为一个函数的实参

  D、函数允许递归调用

  12 若用数组名作为函数的实参,传递给形参的是()。 B

  A、数组第一个元素的值

  B、数组的首地址

  C、数组元素的个数

  D、数组中全部元素的值

  13 在C语言程序中()。 B

  A、函数的定义可以嵌套,但函数的调用不可以嵌套

  B、函数的定义不可以嵌套,但函数的调用可以嵌套

  C、函数的定义和函数调用不可以嵌套

  D、函数的定义和函数调用均可以嵌套

  14 下列说法中正确的是( ). B

  A、函数调用不占运行时间,只占编译时间.

  B、宏替换不占运行时间,只占编译时间.

  C、有参数的宏定义,就是函数.

  D、在定义宏时,宏名与带参数的括弧之间可以加空格.

  15 若有说明:int *p,m=5,n;以下正确的程序段是()。D

  A、scanf("%d",&n);*p=n;

  B、p=&n;scanf("%d",*p)

  C、p=&n;scanf("%d",&p);

  D、p=&n;scanf("%d",p);

  16 对于下述定义,不正确的叙述是( ). B

  union data

  {int i;

  char c;

  float f;

  }a,b;

  A、变量a的地址和它的各成员地址都是相同的

  B、可以在定义类型的同时定义变量a,并对a的任意成员初始化

  C、变量a所占内存的长度等于成员f的长度

  D、如果有定义语句 union data a={6};则对变量a的初始化是正确的