正确答案: B
栈
题目:一些重要的程序语言(如C语言和Pascal语言)允许过程的递归调用。而实现递归
查看原题查看所有试题
学习资料的答案和解析:
[单选题]有如下程序段#include "stdio.h"#include "string.h"#define N 10#define M 10char *find(char(*a)[M],int n){ char *q;int i; q=a[0]; for(i=0;i
and
解析:在本题中,首先定义了两个宏N和M,大小都为10,然后定义了一个返回指针的函数find,该函数带有两个形参,第一个为字符型的指针数组,第二个为整型变量,在函数体中,首先定义了一个指针变量q,并将形参中指针数组的第一个元素赋值给q,然后执行for循环,在循环体中,首先执行条件判断语句,其条件为strcmp(a[i],q)<0(strcmp函数的作用是比较两字符串的大小,如果相等,则返回0值,如果参数中的第一个字符串大,则返回正值,否则返回负值),如果结果为真,说明指针数组当前元素所指向的字符串比q所指向的字符串小,此时,程序执行将当前指针数组元素赋值给p,最后返回p,通过上面的分析我们可以看出,find函数的作用是找出指针数组中各元素所指向字符串的最小字符串。
[单选题]if语句的基本形式是:if(表达式)语句,以下关于“表=迭式”值的叙述中正确的是( )。
可以是任意合法的数值
解析:if语句中的表达式可以是任意合法的数值,如常量、变量表达式。所以D选项正确。
[多选题]结构化程序设计方法的三种基本结构是()。
顺序
选择
循环
解析:正确答案:ACD
[单选题]给定数列(541,132,984,746,518,181,946,314,205,827)按照从小到大的顺序排列,采用冒泡排序时,第一趟扫描结果是()
(132,541,746,518,181,946,314,205,827,984)
[单选题]有以下程序
6 11
解析:解析:本题中第一行代码对指针P进行了初始化,其指向数组a的第6个元素,在其后的操作中p的值也没有改变过,所以最后输出*p=* (p+0) =a [5] =6,而第二行代码中对q指向的值进行赋值,等价于*q=a[10]=11,所以输出结果*q为11。
[单选题]表的组成内容包括______。
字段和记录
解析:解析: 在表中将数据以行和列的形式保存,表中的列称为字段,字段是 Access信息的最基本载体,说明一条信息在某一方面的属性;表中的行称为记录,记录是由一个或多个字段组成的,一条记录就是一个完整的信息。
[单选题]将两个关系拼接成一个新的关系,生成的新关系中包括满足条件的元组,这种操作被称为
联接
解析:解析:联接是关系的横向结合。联接运算将两个关系模式拼接成一个更宽的关系模式,生成的新关系中包含满足联接条件的元组。
[单选题]有以下程序 main() { char a,b,c,*d; a='\';b='\xbc'; c='\0xab';d="\0127"; pfintf("%c%c%c%c\n",a,b,c,*d) ; } 编译时出现错误,以下叙述中正确的是
a='\';和c=,'0xab';语句都不正确
解析:解析:给字符变量赋值只能赋一个字符,包括转义字符,语句“a='\'”是错误的,因为“\”是转义字符,应该用“\\”来表示,语句“B='\xbe';”是正确的,它是将一个用十六进制表示的转义字符赋给一个字符型变量;语句“c=\0xab;”是正确的,反斜线后的十六进制只可由小写x开头,不能用0x。语句“d=”\0127“;”是正确的,可以给字符型指针变量赋一个字符串,其作用是让该指针变量指向该字符串。