• 夯实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.函数形参的值也可以传回给对应的实参

     

     

  • 相关阅读:
    项目开发所需依赖汇总
    JSD-2204-(业务逻辑开发)-开发分类功能-分页查询-Day08
    [论文阅读] 颜色迁移-Illuminant Aware Gamut-Based
    C/C++陷阱——临时变量的产生和特性
    SaaSBase:什么是涂色scrm?
    java SpringBoot基础
    uni-app默认集成功能模块
    深度学习| U-Net网络
    WAF的工作原理
    MySQL-解析客户端SQL执行字符集参数设置
  • 原文地址:https://blog.csdn.net/2301_77479435/article/details/134426590