当实参是简单数据类型时,以下正确的说法是(A )。
- A. 实参和与其对应的形参各占用独立的存储单元
- B. 实参和与其对应的形参共占用一个存储单元
- C. 只有当实参和与其对应的形参同名时才共占用相同的存储单元
- D. 形参是虚拟的,不占用存储单元
若有以下程序
#include <stdio.h>
void f1(int n);
int main()
{
void f1(int n);
f1(5);
}
void f2()
{
f1(33);
}
void f1(int n)
{
printf("%d\n",n);
}
则以下叙述中不正确的是(C)
- A. 若只在主函数中对函数f1进行说明,则只能在主函数中正确调用函数f1
- B. 若在主函数前对函数f1进行说明,则在主函数和f2函数中都可以正确调用函数f1
- C. 若只在主函数中对函数f1进行说明,则在主函数和f2函数中都可以正确调用函数f1
- D. 函数f1无返回值,所以可用void将其类型定义为无返回值型
若只在主函数中对函数f1进行说明,则只能在主函数中正确调用函数f1
对于二维整型数组int a[3][4];有函数调用语句function(a);则function函数正确的声明方式(C)。
- A. void function (int array[][]);
- B. void function(int array[3][ ]);
- C. void function (int array[][4]);
- D. void Function(int array[3][4]);
第二维不可省略,故AB错,D中大小写错误
对于一维整型数组int a[10];有函数调用语句function(a,10);则function函数错误的声明方式(B)。
- A. void function (int array[],int n );
- B. void function(int , int);
- C. void function (int array[10], int n);
- D. void function(int [],int);
形参名可省略,但数组下标不可省略
下列有关静态变量的说法不正确的是(B)
- A. 静态局部变量占用静态存储区空间,在程序运行期间不释放该空间
- B. 静态外部变量存放在静态存储区,非静态外部变量存放在动态存储区
- C. 定义全局静态变量时,编译器会自动为它赋初值
- D. 静态局部变量不能被其他函数引用,静态外部变量不能被其他文件中的函数引用
外部变量存放在静态存储区
以下代码中有几次类型转换(D)
int main ( ){
float add2 ( int ) ;
double a =3 , sum;
sum = add2 ( a) ;
return 0;
}
float add2 ( int i )
{ return ( i+1.0 ) ; }
- A. 2
- B. 3
- C. 4
- D. 5
double a=3,int转double(第一次),add2(a),double转int(第二次),i+1.0,int转double(第三次),return(i+1.0),double转float(第四次),sum=add(2),float转double(第五次)。
Visual c++6.0环境下,下列程序段的输出结果是 (A )
int x = 10 ;
int y = x ++ ;
printf ( “ %d, %d \n ”,( x++, y ) , y++ ) ;
- A. 11 , 10 B. 11 ,11 C. 10, 10 D. 10, 11
函数参数计算是由右向左。
执行完前两个语句时,x=11,y=10,输出y++即10,y变为11,输出(x++,y)即y即11
下面说法错误的是(D)
A. 被调用的函数必须是已定义函数
B.如果使用库函数,应在本文件开头用#include将库函数所需信息包含进来
C.用户自定义函数位置在调用它的函数后面,在主调函数中需对其作声明
D.函数可嵌套定义,也可嵌套调用
以下程序的输出结果是( D )
#include<stdio.h>
int a = 9;
int f()
{
static int a = 6;
a++;
return a;
}
int main()
{
int a = 12,i;
for(i = 0; i< 3; i++)
f();
a = f();
printf("a = %d", a);
return 0;
}
A. a = 6 B. a = 12 C. a = 9 D. a = 10
static变量一大优势:记住前值