第一章 单元测试

1、 问题:

若有定义int  a[10];则数组元素的下标的下限和上限分别是(  )。

选项:
A:1和10
B:0和9
C:1和9
D:0和1
答案: 【0和9】

2、 问题:

定义如下变量和数组,则下列程序段的输出结果是(  )。

int i,x[3][3]={1,2,3,4,5,6,7,8,9};

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

if(i%2!=1)printf("%d",x[i][i]);

选项:
A:19
B:17
C:39
D:37
答案: 【19

3、 问题:

下面一段程序是有关字符串操作的,该段程序的输出结果是(  )。

#include <stdio.h>

#include <string.h>

main()

{

char p1[10]="abc",p2[]="ABC";

strcat(p1,p2);

printf("%s",p1);

}

选项:
A:abc
B:ABC
C:abcabc
D:abcABC
答案: 【abcABC

4、 问题:

下列四个选项中能正确定义一维数组的语句是(  )。

选项:
A:int num[0…2017];
B:int num[ ];
C:#define N 2017

int num[N];

D:int N=2017; int num[N];
答案: 【#define N 2017

int num[N];

5、 问题:

若有以下说明,则数值为4的表达式是(  )。

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

char c='a',d,g;

选项:
A:a[4]
B:a['d'-c]
C:a[g-c]
D:a['d'-'c']
答案: 【a['d'-c]

6、 问题:

以下是有关二维数组定义和初始化的语句,其中错误的是(  )。

选项:
A:int x[2][3]={1,2,3,4,5,6};
B:int x[ ][3]={0};
C:int x[2][3]={{1,2},{3,4},{5,6}};
D:int x[ ][3]={{1,2,3},{4,5,6}};
答案: 【int x[2][3]={{1,2},{3,4},{5,6}};】

7、 问题:

以下关于C语言字符数组的描述中错误的是(  )。

选项:
A:字符数组中的内容不一定是字符串
B:字符数组只能存放字符串
C:可以用输入语句把字符串整体输入给字符数组
D:不可以用赋值语句给字符数组名赋字符串
答案: 【字符数组只能存放字符串】

8、 问题:

设有char array[ ]=“China”;

则数组array所占的空间字节数是(  )。

选项:
A:5
B:7
C:6
D:4
答案: 【6】

9、 问题:

如下程序段是对字符串的操作,运行后的结果为(   )。

char a[3],b[ ] =“China” ;

a = b ;

printf(“%s”,a);

选项:
A:编译出错
B:运行后将输出China
C:运行后将输出Chi
D:运行后将输出ch
答案: 【编译出错】

10、 问题:

有以下有关字符串操作的程序,程序运行后的输出的结果是(  )。

main( )

{

   char s[ ]=“012xy8s34f4w2”;

  int i,n=0;

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

     if(s[i]>=‘0’ && s[i]<=‘9’)

    n++;

printf(“%d”,n);

}

选项:
A:3
B:0
C:7
D:8
答案: 【8】

第二章 单元测试

1、 问题:

C 语言程序中可以有多个函数 , 但只能有一个主函数。

选项:
A:错
B:对
答案: 【对】

2、 问题:

函数的实参可以是常量,变量或表达式。

选项:
A:对
B:错
答案: 【对】

3、 问题:

递归调用算法与相同功能的非递归算法相比,主要问题在于重复计算太多,而且调用本身需要分配额外的空间、传递数据和控制,所以时间和空间开销通常都比较大。

选项:
A:对
B:错
答案: 【对】

4、 问题:

在一个被调用函数中,关于 return 语句使用的描述,错误的是(   )。

选项:
A:被调用函数中可以不用 return 语句
B:被调用函数中,一个 return 语句可以返回多个值给调用函数
C:被调用函数中,如果有返回值,就一定要有 return 语句
D:被调用函数中可以使用多个 return 语句
答案: 【被调用函数中,一个 return 语句可以返回多个值给调用函数】

5、 问题:

C语言中函数返回值的类型是由(   )决定的。

选项:
A:调用函数时临时决定
B:定义函数时所指定的函数类型
C:return语句中的表达式类型
D:调用该函数的主调函数的类型
答案: 【定义函数时所指定的函数类型】

6、 问题:

有如下函数调用语句: func(rec1, rec2+rec3, (rec4, rec5)); 则该函数调用语句中,含有的实参个数是(    )。

选项:
A:4
B:有语法错
C:5
D:3
答案: 【3】

7、 问题:

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

#include <stdio.h>

int func(int a,int b)

{

   return(a+b);

}

int main()

{

  int x=2,y=5,z=8,r;

   r=func(func(x,y),z);

 printf("%d",r);

return 0;

}

选项:
A:15
B:14
C:13
D:12
答案: 【15】

8、 问题:

C语言规定,程序中各函数之间(   )。

选项:
A:不允许直接递归调用也不允许间接递归调用
B:不允许直接递归调用允许间接递归调用
C:既允许直接递归调用也允许间接递归调用
D:允许直接递归调用不允许间接递归调用
答案: 【既允许直接递归调用也允许间接递归调用】

9、 问题:

若有以下调用语句,则不正确的 fun( )函数的首部是(   )。

main( )

{

int a[50], n;

fun(n, &a[9]);

}

选项:
A:void fun(int p, int *s)
B:void fun(int n, int a)
C:void fun(int m, int x[ ])
D:void fun(int s, int h[ 41])
答案: 【void fun(int n, int a)】

10、 问题:

函数的实参传递到形参有两种方式:值传递和地址传递。

选项:
A:错
B:对
答案: 【对】

发表评论

电子邮件地址不会被公开。 必填项已用*标注