更多"程序运行过程中,把函数(或过程)调用与相应调用所需要的代码相结合的过程"的相关试题:
[单项选择]程序运行过程中,把函数(或过程)调用与响应调用所需要的代码相结合的过程称为()。
A. 语义分析
B. 代码连接
C. 静态绑定
D. 动态绑定
[单项选择]程序运行过程中常使用参数在函数(过程)问传递信息,引用调用传递的是实参的()。
A. 地址
B. 类型
C. 名称
D. 值
[单项选择]在函数调用过程中,如果函数funA调用了函数funB,函数funB又调用了函数funA,则()。
A. 称为函数的直接递归调用
B. 称为函数的间接递归调用
C. 称为函数的循环调用
D. C语言中不允许这样的递归调用
[单项选择]当程序中存在 (2) 时,程序运行容易陷于死循环。C语言规定,函数定义及函数调用应该遵循的原则是 (3) 。求解同一个问题,采用递归方式编写的程序相对于递推方式的程序执行效率较低的原因是 (4) 。
A. 语法错误
B. 静态的语义错误
C. 词法错误
D. 动态的语义错误
[单项选择]若程序中定义了三个函数f1、f2和f3,并且函数f1调用f2、f2调用f3,那么,在程序运行时不出现异常的情况下,函数的返回方式为()。
A. 先从f3返回f2,然后从f2返回f1
B. 先从f3返回f1,然后从f1返回f2
C. 先从f2返回f3,然后从f3返回f1
D. 先从f2返回f1,然后从f1返回f3
[填空题]在调用一个函数的过程中可以直接或间接地调用该函数,这种调用称为 【4】 调用,该函数称为 【4】 函数。
[单项选择]在程序的执行过程中,实现嵌套调用函数正确返回可以用 (119) 结构。
A. 队列
B. 栈
C. 树
D. 图
[单项选择]在程序的执行过程中,用()结构可以实现嵌套调用函数的正确返回。
A. 队列
B. 栈
C. 树
D. 图
[填空题]给定程序中已建立一个带有头结点的单向链表,在main函数中将多次调用fun函数,每调用一次fun函数,输出链表尾部结点中的数据,并释放该结点,使链表缩短。
[注意] 部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
[试题源程序]
#include<stdio.h>
#include<stdlib.h>
#define N 8
typedef struct list
int data;
struct list *next;
SLIST;
void fun(SLIST *p)
SLIST *t, *s;
t=P->next;
s=p;
while(t->next!=NULL)
s=t;
/*********found**********/
t=t-> (1) ;
/**********found**********/
printf(”%d”, (2) );
s->next=NULL:
/**********found**********/
free( (3) );
SLIST *creatlist(int *a)
SLIST *h, *p, *q;
int i;
h=p=(SLIST *)malloc(sizeof(SLIST));
for(i=0; i<N; i++)
q=(SLIST *)malloc(sizeof(SLIST));
q->data=a[i];
p->next=q;
p=q;
P->next=0;
return h;
void outlist(SLIST *h)
SLIST *p;
p=h->next;
if(
[填空题]以下程序通过函数指针p调用函数fun,请在填空栏内写出定义变量p的语句。
void fun(int * x,int * y)
{ …… }
main( )
{ int a=10,b=20;
【11】 :
p=fun; p(&a,&b) ;
}
[填空题]以下程序通过函数指针p调用函数fun,请在填空栏内写出定义变量p的语句。
void fun(int * x,int * y)
……
main( )
int a=10,b=20;
【11】 :
p=fun; p(&a,&b) ;