问题 单项选择题

根据企业所得税的规定,以下关于资产税务处理的表述中,错误的是( )。

A.自行建造的固定资产,以竣工结算前发生的支出为计税基础
B.生产性生物资产收获的农产品,以产出或采收过程中发生的材料费、人工费和分配的间接费用等必要支出为成本
C.自行开发的无形资产,以开发过程中该资产符合资本化后至达到预定用途前发生的支出为计税基础
D.融资租人的固定资产,无论租赁合同是否约定付款总额,均以租赁资产的公允价值和承租人在签订租赁合同中发生的相关费用为计税基础

答案

参考答案:D

解析: 融资租入的固定资产的计税基础与租赁合同是否约定付款总额是有关系的,如果约定付款总额的,以租赁合同约定的付款总额和承租人在签订租赁合同过程中发生的相关费用为计税基础;如果未约定付款总额的,以该资产的公允价值和承租人在签订租赁合同过程中发生的相关费用为计税基础。

问答题


阅读以下说明和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)
{
/*局部变量声明,略*/
/*驱动程序代码,略*/

【问题2】
在C语言程序中,常在某些变量的说明前加extem,如本题在变量说明中的第一条加extem int sys_stams;请说明加extem与不加extem的区别,在进行编译时会有什么样的不同处理

填空题