给出下面的程序代码如何使成员变量a被函数m()直接访问呢?()A.将private floata改为protected flo
给出下面的程序代码如何使成员变量a被函数m()直接访问呢?()
A.将private floata改为protected floata
B.将private floata改为public floata
C.将private floata改为static floata
D.将private floata改为floata
给出下面的程序代码如何使成员变量a被函数m()直接访问呢?()
A.将private floata改为protected floata
B.将private floata改为public floata
C.将private floata改为static floata
D.将private floata改为floata
A.将private float a改为protected float a
B.将private float a改为public float a
C.将private float a改为static float a
D.将private float a改为float a
A.将privateintm改为protectedintm
B.将privateintm改为publicintm
C.将privateintm改为staticintm
D.将privateintm改为intm
A.将private int m改为protected int
B.将private int m改为public int mm
C.将private int m改为static int m
D.将private int m改为int m
A.protected int m;
B.public int m;
C.static int m;
D.int m;
A.将private int m 改成protected int m
B.将private int m 改成public int m
C.将private int m 改成static int m
D.将private int m 改成int m
以下是一段C语言程序代码:
以下关于上述程序代码在IA-32上执行的叙述中,错误的是()。
A.变量tl和t2被分配在caller函数的栈帧中
B.传递参数时tl和t2的值从高地址到低地址依次存入栈中
C.add函数返回时返回值存放在EAX寄存器中
D.变量sum被分配在caller函数的栈帧中
给出下列代码,如何使成员变量m被方法fun()直接访问? class Test{ private int m; public static void fun(){ … } }
A.将private int m改为protected int m
B.将private int m改为public int m
C.将private int m改为static i
D.将private int m改为int m
阅读以下说明和C语言代码,回答问题1至问题4,将解答填入对应栏内。
【说明】
在嵌入式操作系统设备管理的实现上,常使用到C语言的函数指针变量,由统一的管理函数调用不同的设备驱动程序。下面的一段C语言代码是驱动管理程序 manage_device调用4个不同设备驱动程序,但没有用到函数指针变量。
【C语言代码】
/*变量与类型说明*/
include "stdio.h"
include "stdlib.h"
extern int sys_status;
extern int Dev_drv1(int arg1, int arg2);
extern int Dev_drv2(int arg1, int arg2);
extern int Dev_drv3(int arg1, int arg2);
extern int Dev_drv4(int arg1, iht arg2);
define NOERROR 0
type struct {
int _fd;
} TYP_DEV_TAB;
TYP DEV_TAB dev_tab[50]= {101,99, 80, 120,};
/*程序代码*/
void manage_device(int devid, int arg1, int arg2)
{ int place ;
int ret;
for(place=0 ; place<50 ; place++)
if dev_tab [place]. fd == devid) break;
if(place>=50)
printf(" NO DEVICE fd = %d\n ",devid);
switch(dev_tab [place]._fd) {
case 80:
ret = Dev_drv3(int arg1,int arg2);
break;
case 99:
ret = Dev_drv2(int arg1,int arg2);
break;
case 101:
ret = Dev_drv1(int arg1,int arg2);
break;
case 120:
ret = Dev_drv4(int arg1,int arg2);
break;
}
if (ret!=NOERROR)
printf(" DEVICE %d error!\n ", devid);
}
int Dev_drv1(int arg1,int arg2)
{
/*局部变量声明,略*/
/*驱动程序代码,略*/
}
int Dev_drv2(int arg1,int arg2)
{
/*局部变量声明,略*/
/*驱动程序代码,略*/
}
int Dev_drv3(int arg1,int arg2)
{
/*局部变量声明,略*/
/*驱动程序代码,略*/
}
int Dev_drv4(int arg1,int arg2)
{
/*局部变量声明,略*/
/*驱动程序代码,略*/
请用C语言的函数指针变量,对manage_device函数进行改造,完成下面C语言代码中的(1)、(2)、(3)和(4)处的变量说明或语句,将解答填入对应栏内。
【C语言代码】
/*变量与类型说明*/
include "stdio.h"
include "stdlib.h"
extern int sys_status;
extern int Dev_drv1(int arg1, int arg2);
extern int Dev_drv2(int arg1, iht arg2);
extern int Dev_drv3(int arg1, int arg2);
extern int Dev_drv4(int arg1, int arg2);
define NOERROR 0
typedef struct {
int _fd;
(1) 函数指针变量说明;/* 变量名用process */
} TYP_DEV_TAB;
TYP_DEV_TAB dev_tab[50]= {{101, Dev_drv1},{99, Dev_drv2},
{80, Dev_drv3},{120, Dev_dry4},};
/* 程序 */
void manage_device(int devid, int arg1, int arg2)
{ iht place ;
int ret;
(2) 函数指针变量说明;/*局部变量,变量名用ProcAction */
for(place=0 ; place<50 ; place++) {
if(dev_tab [place]._fd == devid) {
(3) 语句1;/* 变量名胜ProcAction, 得到具体函数的入口地址 */
break;
}
}
if(place>=50)
printf("NO DEVICE fd = %d\n",devid);
(4) 语句2;
if(ret!=NOERROR)
printf("DEVICE %d error!", devid);
}
给出下列代码,如何使成员变量m被方法fun()直接访问?class Test { private int m; public static void fun() { ... }}
A.将 private int m 改为protected int m
B.将private int m 改为public int m
C.将private int m改为static int m
D.将private int m改为int m
下面的C程序代码段在运行中会出现______错误。 int i=0; while(i<10); {i=i+1;}
A.语法
B.类型不匹配
C.变量定义
D.动态语义
类的设计要求它的某个成员变量不能被外部类直接访问。应该使用下面的______修饰符获得需要的访问控制。
A.public B.no modifier
C.protected D.private
为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!