C语言程序设计题目及解答-07
一、判断题 (24分)
1. 函数的递归调用不过是一个函数直接地调用它自身。2分
2. 在c语言中,在main函数中定义的变量称为全局变量。2分
3. 静态变量和外部变量都是全局变量,它们的存储是静态的。2分
4. 静态局部变量只在本函数内可用。2分
5. 静态外部变量只在本文件内可用。2分
6. 变量根据其作用域的范围可以分作局部变量和全局变量.2分
7. 任何数组在使用时必须先定义。2分
8. 如果想使一个数组中全部元素的值为1,可以写成int a[10]={1*10};2分
9. 如果定义数组int b[6]={1,2,3,4};则b[6]为0。2分
10. int n=10; int a[n];则数组a有10个元素。2分
11. int b[][3] = {1,2,3,4,5,6,7} ,表示数组b是3行3列的数组。2分
二、选择题 (36分)
1.根据下面函数print的定义,选出调用函数print(5378)的值是()。 [A] 2分
void print(long n)
{
if (n==0) return ;
else{
print(n/10);
printf("% d", n%10);
return ;
}
}
A. 5 3 7 8
B. 8 7 3 5
C. 3 5 7 8
D. 8 7 5 3
2.根据下面函数f,选出f(f(3))的值是()。 [C] 2分
int f(int x)
{
static int k=0;
x=x+k;
k--;
return x;
}
A. 5
B. 3
C. 2
D. 4
3.如果在函数中定义一个变量,有关该变量作用域正确的是()。 [A] 2分
A. 只在该函数中有效
B. 在该文件中有效
C. 在本程序中有效
D. 为非法变量
4.下列叙述中,正确的叙述项是()。 [B] 2分
A. 定义函数时,必须要有形参
B. 函数中可以没有return语句,也可以有多条return语句
C. 函数f可以用f(f(x))形式调用,这种调用形式是递归调用
D. 函数必须有返回值
5.下列说法正确的是( ) [D] 2分
A. 在C语言中,可以使用动态内存分配技术定义元素个数可变的数组
B. 在C语言中,数组元素的个数可以不确定,允许随机变动
C. 在C语言中,数组元素的数据类型可以不一致
D. 在C语言中,定义了一个数组后,就确定了它所容纳的具有相同数据类型元素的个数
6.以下能正确定义一维数组的选项是( )。 [D] 2分
A. int a[5]={0,1,2,3,4,5};
B. char a={′A′,′B′,′C′};
C. int a[5]="0123";
D. char a[]={′0′,′1′,′2′,′3′,′4′,′5′,′\0′};
7.若有定义语句:int a[10];则下列对a中数组元素正确引用的是()。 [A] 2分
A. a[10/2–5]
B. a[10]
C. a[4.5]
D. a(1)
8.能对一维数组正确初始化的语句是()。 [A] 2分
A. int a[6]={6*1}
B. int a[6]={1,,,3}
C. int a[6]={}c语言数组最大值最小值
D. int a[6]=(0,0,0)
9.下面对数组定义正确的是() [C] 2分
A. int b[];
B. int b[n],n=5;
C. int b[10/2];
D. int b[4.8];
10.假设int型变量占两个字节的存储单元,若有定义:
int x[10]={0,2,4};
则数组x在内存中所占字节数为______。 [D] 2
A. 3
B. 6
C. 10
D. 20
11.下列程序运行后的输出结果是______。 [D] 2分
Main()
{int n[3],t,j,k;
for(t=0;t<3;t++)
n[t]=0;
k=2;
for(t=0;t<k;t++)< p="">
for(j=0;j<3;j++)
n[j]=n[t]+1;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。