内容发布更新时间 : 2025/10/31 4:02:06星期一 下面是文章的全部内容请认真阅读。
174、若函数调用时参数为基本数据类型的变量(俗称简单变量),以下叙述正确的是____C____. A) 实参与其对应的形参共占存储单元
B) 只有当实参与对应的形参同名时才共占存储单元 C) 实参与其对应的形参分别占用不同的存储单元 D) 实参将数据传递给形参后,立即释放原先占用的存储单元
175、若主调用函数类型为double,被调用函数定义中没有进行函数类型说明,而return语句中的表达式类型为float型,则被调函数返回值的类型是____A____。 A) int 型 B) float 型
C) double 型 D) 由系统当时的情况而定
176、在以下叙述中,不正确的选项是____B____。 A) C语言程序总是从main( )函数开始执行
B) 在C语言程序中,被调用的函数必须在main( )函数中定义
C) C程序是函数的集合,在这个函数集中包括标准函数和用户自定义函数
D) 在C语言程序中,函数的定义不能嵌套,但函数的调用可以嵌套
177、C语言中,若未说明函数的类型,则系统默认该函数的类型是___C_____。
A) float型 B) long型 C) int型 D) double型
178、下面函数的功能是____B____。
sss(s, t)
char s[ ], t[ ]; { int i=0;
while((s[i])&&(t[i])&&(t[i]== s[i])) i++; return (s[i]-t[i]);} A) 求字符串的长度
B) 比较两个字符串的大小
C) 将字符串s复制到字符串t中 D) 将字符串s接续到字符串t中
179、设有如下函数定义:
int f(char s[ ]) { int i=0;
while(s[i++]!='\\0'); return (i-1); }
如果在主程序中用下面的语句调用上述函数,则输出结果为___C_____.
printf(\
A) 3 B) 6 C) 8 D) 9
180、对于C语言的函数,下列叙述中正确的是___A___. A) 函数的定义不能嵌套,但函数调用可以嵌套 B) 函数的定义可以嵌套,但函数调用不能嵌套 C) 函数的定义和调用都不能嵌套 D) 函数的定义和调用都可以嵌套
181、以下说法中正确的是_____C___.
A) C语言程序总是从第一个定义的函数开始执行 B) 在C语言程序中,要调用的函数必须在main()函数中定义
C) C语言程序总是从main()函数开始执行
D) C语言程序中的main()函数必须放在程序的开始部分
182、以下程序的输出结果是____B_____.
#include 
{ a=100; b=200; } void main() { int a=5,b=7; fun();
printf(\ }
A) 100200 B) 57 C) 200100 D) 75
183、以下函数func()的功能是:使具有n个元素的一维数组b的每个元素的值都增加2,划线处应填入__D_.
func(int b[ ],int n) { int ;
for(i=0;i A) b[i++]      B) b[i]++   C) b[i+=2]    D) b[i]+=2   184、设有以下函数:  #include    b++ ;  c++;    return (a+b+c);  }  如果在下面的程序中调用该函数,则输出结果是__B__. void main() { int i;    for(i=0;i<3;i++)  printf(\ }  A) 5           B) 5         C) 3           D) 3    7             6            4             3    9             7            5             3   185、设有以下函数:  - 17 -  #include     static  c=3;    b++ ;  c++;     return (a+b+c);  }  如果在下面的程序中调用该函数,则输出结果是___A_.  void main() { int a=2,i;     for(i=0;i<3;i++)  printf(\ } A) 7         B) 7         C) 7           D) 7    8           9           10             7    9           11          13             7   186、在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是_____B___. A) 地址传递         B) 单向值传递 C) 由实参传给形参,再由形参传回实参 D) 传递方式由用户指定   187、C语言规定,除主函数外,程序中各函数之间__A__.  A) 既允许直接递归调用也允许间接递归调用 B) 不允许直接递归调用也不允许间接递归调用 C) 允许直接递归调用不允许间接递归调用 D) 不允许直接递归调用允许间接递归调用 188、以下函数fun形参的类型是____D____.    fun( float  x)   { float  y;     y=3*x-4;     return  y;  }  A) int        B) 不确定     C) void       D) float   189、下面程序的输出是____C____.  int fun3(int x) {static int a=3;   a+=x;    return(a);  } void main() {int k=2,m=1,n;   n=fun3(k);   n=fun3(m);    printf(\ }  A) 3        B) 4          C) 6         D) 9   190、下列程序执行后输出的结果是___C_____.  #include   for(i=0;i<3;i++)      k=f(a++);    printf(\ }  A) 3        B) 0         C) 5        D) 4   191、C语言中规定函数的返回值的类型是由__D______.  A) return语句中的表达式类型所决定  B) 调用该函数时的主调用函数类型所决定 C) 调用该函数时系统临时决定  D) 在定义该函数时所指定的类型所决定   192、以下程序的输出结果是_____C_____.   #include      printf(\ }  A) 0         B) 29     C) 31          D) 无定值   193、以下函数调用语句中含有实参个数为____B____.     func((exp1,exp2),(exp3,exp4,exp5));  A) 1个        B) 2个      C) 4个        D) 5个  194、以下程序的输出结果是_____D___.   #include     { static int a=0;     a+=2;      printf(\ }    void main()    { int cc;      for(cc=1;cc<4;cc++) fun( );     printf(\ }  A) 2222         B) 2468   C) 222         D) 246   195、有如下程序   int func(int a,int b)   { return(a+b); }   void main()    { int x=2,y=5,z=8,r;  - 18 -       r=func(func(x,y),z);     printf(\ }    该程序的输出结果是_____D_____.  A) 12       B) 13         C) 14       D) 15   196、有如下函数调用语句  func(rec1,rec2+rec3,rec4, rec5);该函数调用语句中,含有的实参个数是___B_____.  A) 3       B) 4       C) 5      D) 有语法错误   197、有如下函数调用语句  func(rec1,rec2+rec3,(rec4, rec5));该函数调用语句中,含有的实参个数是____A___.  A) 3       B) 4        C) 5      D) 有语法错误   198、在一个C源程序文件中,要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是:____D____.  A) extern    B) register     C) auto       D) static   199、C语言中,凡未指定存储类别的局部变量的隐含存储类别是____A____.  A) auto    B) static    C)   extern      D) register   200、在C语言中,全局变量的存储类别是____A_____. A) static    B) extern      C) void      D) registe - 19 -  程序改错题(共15题)   1、在考生文件夹下,给定程序MODI.C的功能是: 求一维数组a中所有元素的平均值,结果保留两位小数。 例如,当一维数组a中的元素为:10,4,2,7,3,12,5,34,5,9 程序的输出应为:The aver is: 9.10 。   #include      int a[10]={10,4,2,7,3,12,5,34,5,9},i;   /************found************/     int aver,s;  float aver,s;   /************found************/     s = 0; s=a[0];     for ( i=1; i<10; i++)       s += a[i];      aver =  s / i;      printf(\}   2、在考生文件夹下,给定程序MODI.C的功能是: 求二维数组a中的最大值和最小值。     例如,当二维数组a中的元素为:         4    4   34        37    3   12         5    6    5  程序的输出应为:The max is: 37                  The min is: 3 。     #include      int a[3][3]={4,4,34,37,3,12,5,6,5},i,j,max,min;     max = min = a[0][0];     for ( i=0; i<3; i++)    /************found************/      for ( j=1; j<3; j++)  for(j=0;j<3;j++)      { if ( max < a[i][j] )          max = a[i][j];    /************found************/        if (min < a[i][j])            min = a[i][j]; if(min>a[i][j])       }       printf(\     printf(\  }  3、在考生文件夹下,给定程序MODI.C的功能是: 求一维数组a中的最大元素及其下标。  例如,当一维数组a中的元素为:1,4,2,7,3,12,5,34,5,9, 程序的输出应为:The max is: 34,pos is: 7 。     #include       int a[10]={1,4,2,7,3,12,5,34,5,9},i,max,pos;      max = a[0];      pos = 0;       for ( i=1; i<10; i++)       /************found************/       if (max > a[i])       { if(max   /************found************/  i = pos;       }  pos=i;      printf(\}   4、在考生文件夹下,给定程序MODI.C的功能是: 求二维数组a中的最小值。      例如,当二维数组a中的元素为:         4    2   34         7    3   12         5    6    5  程序的输出应为:The min is: 2 。   #include       int a[3][3]={4,2,34,7,3,12,5,6,5},i,j,min;      min = a[0][0];    /************found************/     for ( i=1; i<3; i++)  for(i=0;i<3;i++)      for ( j=0; j<3; j++)       if (min > a[i][j])       {    /************found************/  min == a[i][j];        }  min=a[i][j];      printf(\  }  - 20 -