夯实c语言基础

题干 以下关于函数的叙述中正确的是(  d )。
  A.函数调用必须传递实参
  B.函数必须要有形參
  C.函数必须要有返回值
  D.函数形参的类型与返回值的类型无关
题干 以下程序实现,打印任意奇数行菱形星塔,请填空。
void  fun(int  n){
        int  i,j;
        for(i=1;i<=n/2+1;i++){
                for(j=1;j<=n/2+1-i;j++)
                        printf("  ");
                for(j=1;j<=2*i-1;j++)
                        printf("*");
              ( c  );
        }
        for(i=1;i<=(  d );i++){
                for(j=1;j<=i;j++)
                        (  a );
                for(j=1;j<=n-2*i;j++)
                        (  b );
                printf("\n");
        }
}
void  main(){
        fun(17);
}
  A.printf("  ")   B.printf("*")   C.printf("\n")   D.n/2
题干 若函数调用时的实参为变量,以下关于函数形参和实参的叙述正确的是( d  )。
  A.函数的实参和其对应的形参共占同一存储单元
  B.形参只是形式上的存在,不占用具体存储单元
  C.同名实参和形参占同一存储单元
  D.函数的形参和实参分别占用不同的存储单元
题干 以下函数实现,根据传入序号显示第n个斐波那数,请填空。
int  fun(int  n){
        if(n>=3){
                int  a=1,b=1,c;
                while((  b )>=3){
                        (  d );
                        (  c );
                        b=c;
                        n--;
                }
                return  c;
        }
        else
                return  ( a  );
}
void  main(){
        printf("%d\n",fun(9));
}
  A.1   B.n   C.a=b   D.c=a+b
题干 以下程序实现,显示100以内的所有姊妹素数,请填空。
int  pss(int  n){//判素数,是素数返回1,否则返回0
        int  i;
        for(i=( c  );i<=n-1;i++)
                if(n%i==0)
                        return  ( a  );
        return  (  b );
}
void  fun(int  m,int  n){
        int  a;
        for(a=m;a<=n-2;a=a+2){
                if(pss(( d  ))&&pss(a+2))
                        printf("%d,%d\n",a,a+2);
        }
}
void  main(){
        fun(3,99);
}
  A.0   B.1   C.2   D.a

  

题干 以下程序的输出结果为(  d )。
int  f(int  x,int  y)
{
        return((y-x)*x);
}
void  main()
{
        int  a=3,b=4,c=5,d;
        d=f(f(a,b),f(a,c));
        printf("%d",d);
}
  A.6   B.7   C.8   D.9
题干 以下函数返回大于等于n的最小斐波那数,请填空。
int  fun(int  n){
        int  a=1,b=1,c;
        do{
                (  d );
                a=b;
                (  c );
        }while((  b )>c);
        return  (   a   );
}
void  main(){
        printf("%d\n",fun(17));
}
  A.c   B.n   C.b=c   D.c=a+b
题干 以下fun函数将正长整型数中各位数字,按相反的顺序构成一个新数,作为函数值返回,若函数参数为12345则54321,请填空。
long  fun(long  n){
        int  ( a  );
        while(( d  )){
                s=s*10+(  c );
                n=(  b );
        }
        return  s;
}
void  main(){
        printf("%d",fun(12345));
}
  A.s=0   B.n/10   C.n%10   D.n!=0
题干 设函数fun的定义形式为  void  fun(char  ch,  float  x  ){  …  },则以下对函数fun的调用语句中,正确的是(  d )。
  A.fun("abc",3.0);
  B.t=fun(‘D’,16.5);
  C.fun(‘65’,2.8);
  D.fun(32,32);
题干 以下程序的输出数值结果为(  c )。
int  fun(int  x,  int  y){
        return(x+y);
}
void  main(){
        int  a=2,b=5,c=8;
        printf("%d\n",  fun(fun(a+c,b),a-c));
}
  A.7   B.8   C.9   D.10
题干 以下程序运行后的输出结果是( b  )。 
void  f(int  x){
        x=x*2;
}
void  main(  ){
        int  x=6;
        f(x);
        printf("%d",x);
}
  A.5   B.6   C.7   D.8
题干 以下程序运行后的输出结果是(  d )。
int  fun(int  x,int  y){
        if(x!=y) 
                return((x+y)/2);
        else 
                return  (x);
}
void  main(){
        int  a=4,b=5,c=6;
        printf("%d\n",fun(2*a,fun(b,c));
}
  A.3   B.4   C.5   D.6
题干 以下程序运行后的输出结果是(  b )。
int  f(int  x){ 
        return  x*2;
}
void  main(){
        print("%d\n",f(f(f(1))));
}
  A.4   B.8   C.16   D.32
题干 在C程序中,函数既可以嵌套定义,也可以嵌套调用。错
答案
题干 以下程序运行后的输出结果是( a  )。 
char  f(char  x){
        return  x*x%10+‘0’;
}
void  main(  ){
        char  a;
        int  b=0;
        for(a=0;a<5;a+=1){
                b=f(a);
                putchar(b);
        }
}
  A.01496   B.01469   C.0146   D.0149

 

题干 以下关于return语句的叙述中正确的是( b  )。
  A.一个自定义函数中必须有一条return语句
  B.一个自定义函数中可以根据不同情况设置多条return语句
  C.定义成void类型的函数中可以有带返回值的return语句
  D.没有return语句的自定义函数在执行结束时不能返回到调用处
题干 int  new_div(double  a,double  b){
        return  a/b+0.5;
}
void  main(){//b
        printf("%d",new_div(7.8,3.1));
}
  A.2   B.3   C.3.016129   D.2.516129
题干 以下程序运行后的输出结果是( b  )。
char  f(char  x){
        return  x*x+‘a’;
}
void  main(){
        for(a=0;a<4;a+=1){
                b=f(a);
                putchar(b);
        }
}
  A.abcd   B.abej   C.jeba   D.abcde
题干 关于以下代码叙述正确的是( a  )。
void  main(){
        int  findmax(int,int.int),m;
        m=findmax(a,b,c);
        ......
}
int  findmax(int  x,int  y,int  z){
        ......
}
  A.在main函数中声明了findmax函数
  B.在main函数中定义了findmax函数
  C.在main函数中两次调用了findmax函数
  D.在main函数内、外重复定义了findmax函数
题干 以下程序运行的输出结果为( b  )。 
double  fun(double  a){
        return  a-(int)a;
}
void  main(){
        printf("%.2f",fun(3.1415));
}
  A.3   B.0.14   C.3.14   D.1.14
题干 以下叙述中错误的是(  a )。
  A.形参可以是常量、变量或表达式
  B.实参可以是常量、变量或表达式
  C.实参的类型应与形参的类型赋值兼容
  D.实参的个数应与形参的个数一致
题干 以下关于C语言函数参数传递方式的叙述正确的是( a  )。
  A.数据只能从实参单向传递给形参
  B.数据可以在实参和形参之间双向传递
  C.数据只能从形参单向传递给实参
  D.C语言的函数参数既可以从实参单向传递给形参,也可以在实参和形参之间双向传递,可视情况选择使用
题干 以下程序实现,显示所有三位回文素数(回文素数,是指高低位对称的素数,如101,191,919),请填空。
int  pss(int  n){//判素数,是素数返回1否则返回0
        int  i;
        for(i=2;i<=n-1;i++)
                if(n%i==0)
                        return  0;
        return  1;
}
int  hwf(int  t){//判回文数,是返回1否则返回0
        int  s=0,n=(  c );
        while(n!=0){
                s=s*10+n%10;
                n=(  d );
        }
        if(s==(  c ))  return  1;
        else  return  (  a );
}
void  main(){
        int  i;
        for(i=101;i<=999;i=i+2)
                if(pss(i)&&hwf(i))
                        printf("%d  ",i);
}
  A.0   B.1   C.t   D.n/10

 

题干 以下程序的输出结果为:(  d )。
void  fun(char  ch){
        if(ch<‘3’)  fun(ch+1);
        putchar(ch);
}
void  main(){
        fun(‘0’);
}
  A.0   B.3   C.0123   D.3210

 

题干 若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是(  d )。
  A.函数调用可以作为独立的语句存在
  B.函数调用可以作为一个函数的实参
  C.函数调用可以出现在表达式中
  D.函数调用可以作为一个函数的形参

 

题干 以下程序输出如下图形,请填空。
*
**
***
*
**
***
****
#include  "stdio.h"
void  main(){
        void  fun(int);    //函数的( b  )
        ( c  )        //函数的调用,打印3行
        (  d )        //函数的调用,打印4行
}
void  fun(int  n){      //函数的( a  )
        int  i,j;
        for(i=1;i<=n;i++)
        {
                for(j=1;j<=i;j++)
                        printf("*");
                printf("\n");
        }
}
  A.定义   B.声明   C.fun(3);   D.fun(4);
题干 以下叙述中错误的是( b  )。
  A.用户定义的函数中可以没有return语句
  B.用户定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值
  C.用户定义的函数中若没有return语句,则应当定义函数为void类型
  D.函数的return语句中可以没有表达式

 

题干 下面的函数调用语句中func函数的实参个数是(  a )。
func(f2(v1,v2),(v3,v4,v5),(v6,max(v7,v8)));
  A.3   B.4   C.5   D.8
题干 以下叙述中错误的是( d  )。
  A.一个完整的C程序必须有一个main主函数,自定义函数可以有一个或多个,也可以没有
  B.函数调用可以作为一个独立的语句存在
  C.若函数有返回值,必须通过returm语句返回
  D.函数形参的值也可以传回给对应的实参

 

 夯实c语言基础_第1张图片

你可能感兴趣的:(c语言,算法,java)