本答案对应课程为:点我自动跳转查看
本课程起止时间为:2020-12-14到2023-10-02
本篇答案更新状态:已完结

第六章 用函数实现模块化程序设计 函数习题

1、 问题:(1)以下正确的函数定义是(    )。A.double fun(int x, int y)       B.double fun(int x,y)    {                                       {      z=x+y ;                                 int z ;      return z ;                             return z ;   }                                        }C.fun (x,y)                        D.double fun (int x, int y)   {                                         {      int x, y ;                             double z ;      double z ;                             z=x+y ;      z=x+y ;                                 return z ;      return z ;                          }   }                       
选项:
A:double fun(int x, int y)          {                                            z=x+y ;                                      return z ;                              }                                       
B:                        double fun(int x,y)                            {                               int z ;                              return z ;                                        }
C:fun (x,y)                          {                                            int x, y ;                                  double z ;                               z=x+y ;                                    return z ;                             }                       
D:                  double fun (int x, int y)                      {                            double z ;                             z=x+y ;                           return z ;                        }                     
答案: 【                  double fun (int x, int y)                      {                            double z ;                             z=x+y ;                           return z ;                        }                     

2、 问题:若调用一个非void函数,且此函数中没有return语句,则正确的说法是(    )。
选项:
A:该函数没有返回值
B:该函数返回若干个系统默认值
C:能返回一个用户所希望的函数值
D:返回一个不确定的值
答案: 【返回一个不确定的值

3、 问题:以下不正确的说法是(    )。
选项:
A:实参可以是常量、变量或表达式
B:形参可以是常量、变量或表达式
C:实参可以为任意类型
D:如果形参和实参的类型不一致,以形参类型为准
答案: 【形参可以是常量、变量或表达式

4、 问题:C语言规定,函数返回值的类型是由(    )决定的。
选项:
A:return语句中的表达式类型
B:调用该函数时的主调函数类型
C:调用该函数时由系统临时     
D:在定义函数时所指定的函数类型
答案: 【在定义函数时所指定的函数类型

5、 问题:以下正确的描述是(    )。
选项:
A:函数的定义可以嵌套,但函数的调用不可以嵌套
B:函数的定义不可以嵌套,但函数的调用可以嵌套
C:函数的定义和函数的调用均不可以嵌套
D:函数的定义和函数的调用均可以嵌套
答案: 【函数的定义不可以嵌套,但函数的调用可以嵌套

6、 问题:如果在一个函数中的复合语句中定义了一个变量,则该变量(    )。
选项:
A:只在该复合语句中有定义            
B:在该函数中有定义
C:在本程序范围内有定义        
D:      为非法变量
答案: 【只在该复合语句中有定义            

7、 问题:已知一个函数的定义如下: double fun(int x, double y){…} 则该函数正确的函数原型声明为(    )。
选项:
A:double fun (int x,double y)     
B:fun (int x,double y)
C:double fun (int  ,double  );         
D:fun(x,y) ;
答案: 【double fun (int  ,double  );         

8、 问题:以下只有在使用时才为该类型变量分配内存的存储类型说明是(    )。
选项:
A:auto和static 
B:auto和register
C:register和static     
D:extern和register
答案: 【auto和register

9、 问题:以下叙述中正确的是(    )。
选项:
A:全局变量的作用域一定比局部变量的作用域范围大
B:静态类别变量的生存期贯穿于整个程序的运行期间
C:函数的形参都属于全局变量
D:未在定义语句中赋初值的auto变量和static变量的初值都是随机值
答案: 【静态类别变量的生存期贯穿于整个程序的运行期间

10、 问题:以下不正确的说法是(    )。
选项:
A:在不同函数中可以使用相同名字的变量
B:形式参数是局部变量
C:在函数内定义的变量只在本函数范围内有定义
D:在函数内的复合语句中定义的变量在本函数范围内有定义
答案: 【在函数内的复合语句中定义的变量在本函数范围内有定义

11、 问题:(1)下面程序执行的结果是         。 #include<stdio.h>int f(int);int main(){    int z;    z=f(4);    printf("%d",z);    return 0;}int f(int x){    if(x==0||x==1)        return 3;    else        return x*x-f(x-2);}
答案: 【15

12、 问题:(2)下面程序执行的结果是              。 #include<stdio.h>int f(int );int main(){    int z;    z=f(5);    printf("%d",z);    return 0;}int f(int n){    if(n==1||n==2)        return 1;    else        return f(n-1)+f(n-2);}
答案: 【5

13、 问题:(3)下面程序的运行结果是            。 #include<stdio.h>int f1(int,int);int f2(int,int);int main(){    int a=4, b=3, c=5;    int d, e, f;    d=f1(a,b);      d=f1(d,c);    e=f2(a,b);      e=f2(e,c);    f=a+b+c-d-e;    printf("%d,%d,%d",d ,f, e);    return 0;} int f1(int x, int y){    return x>y?x:y;}int f2(int x, int y){    return x>y?y:x;}
答案: 【5,4,3

14、 问题:下面程序的运行结果是            。 #include<stdio.h>int fun1(int);int fun2(int);int i=0;int main ( ){     int i = 5 ;    fun2(i/2) ;    printf("i=%d",i) ;    fun2(i=i/2) ;    printf("i=%d",i) ;    fun2(i/2) ;    printf("i=%d",i) ;    fun1(i/2) ;    printf("i=%d",i) ;    return 0;}int fun1 (int i){     i = (i%i)(ii)/(2*i)+4 ;    printf("i=%d",i);    return (i) ;}int fun2(int i){     i = i<=2 ? 5 : 0 ;    return (i) ;} 
答案: 【i=5
i=2
i=2
i=4
i=2

15、 问题:若输入253,则下面程序运行的结果是        。 #include <stdio.h>long fun(long);int main( ){    long x;    scanf("%ld",&x);    printf("%ld",fun(x));    return 0;}long  fun (long data){    long k =1;    do    {        k*=data % 10 ;        data/=10 ;    } while(data) ;    return  (k);}
答案: 【30

16、 问题:#include <stdio.h>int fun(int);int main(){      int i,a=5;    for(i=0;i<3;i++)         printf("%d %d",i,fun(a));    printf("");    return 0;}int fun(int a){      int b=0;        static int c=3;    b++;    c++;    return(a+b+c);}
答案: 【0 10
1 11
2 12

17、 问题:函数调用语句:fun((a,b),(c,d,e))实参个数为              。
答案: 【2

18、 问题:C语言变量按其作用域分为                   和                   。按其生存期分为                  和                   。
答案: 【全局变量 , 局部变量 , 静态变量 , 动态变量

【作业】第二章 最简单的C程序设计——顺序程序设计 3-1

1、 问题:1
评分规则: 【 2

第七章 善于利用指针 指针单元测试

1、 问题:变量的指针,其含义是指该变量的(    )。
选项:
A:值 
B:地址
C:名 
D:一个标志
答案: 【地址

2、 问题:已有定义int k=2;int ptr1,ptr2;且ptr1和ptr2均已指向变量k,下面不能正确执行的赋值语句是(    )。
选项:
A:k=ptr1+ptr2          
B:ptr2=k 
C:ptr1=ptr2
D:k=ptr1(*ptr2)
答案: 【ptr2=k 

3、 问题:若有说明:int p,m=5,n;以下程序段正确的是(    )。
选项:
A:p=&n ;                                                          scanf("%d",&p);                                    
B:   p = &n ;          scanf("%d",
p);
C:scanf("%d",&n);                                    p=n ;                                 
D:                                p = &n ;                               
p = m ;
答案: 【                                p = &n ;                               *p = m ;

4、 问题:下面能正确进行字符串赋值操作的是(    )。
选项:
A:char s[5]={ "ABCDE"};              
B:char s[5]={‘A’, ‘B’, ‘C’, ‘D’, ‘E’};
C:char s ; s="ABCDE" ;        
D:char 
s; scanf("%s",s) ;
答案: 【char s[5]={‘A’, ‘B’, ‘C’, ‘D’, ‘E’};

5、 问题:下面程序段的运行结果是(    )。 char *s="abcde" ;s+=2 ; printf("%s",s); 
选项:
A:cde       
B:字符’c’
C:字符’c’的地址       
D:不确定
答案: 【cde       

6、 问题:设有定义:double x[10],p=x;,以下能给数组x下标为6的元素读入数据的正确语句是__。
选项:
A:scanf("%f",&x[6]); 
B:scanf("%lf",
(x+6));
C:scanf("%lf",p+6); 
D:scanf("%lf",p[6]);
答案: 【scanf("%lf",p+6); 

7、 问题: 若有声明int i = 4 , * point = &i;下面__组中的表达式均为指针类型。
选项:
A:i,  point,  &i 
B: &
i,  &i,  point 
C:
&point,  point,  &i
D:&i,  &
point,  point  
答案: 【&i,  &*point,  point  

8、 问题:对于int a[10] = { 2 ,3 };下面__表达式有语法错误。
选项:
A:*(a+1) 
B: a+1 
C:a[1] 
D:a-=2
答案: 【a-=2

本门课程剩余章节答案为付费内容
本文章不含期末不含主观题!!
本文章不含期末不含主观题!!
支付后可长期查看
有疑问请添加客服QQ 2356025045反馈
如遇卡顿看不了请换个浏览器即可打开
请看清楚了再购买哦,电子资源购买后不支持退款哦

   

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注