答案:int*w,int p,int n、"The original data:\n"、i=0;i<n;i++、"%3d",a[i]、"\n\nEnter p: "、"%d",&p、a,p,n、"\nThe data after moving:\n"、i=0;i<n;i++、"%3d",a[i]、"\n\n"
解析:【解析】本题可以采用“循环右移”的算法。公共基础知识第1章 数据结构与算法
答案:int*w,int p,int n、"The original data:\n"、i=0;i<n;i++、"%3d",a[i]、"\n\nEnter p: "、"%d",&p、a,p,n、"\nThe data after moving:\n"、i=0;i<n;i++、"%3d",a[i]、"\n\n"
解析:【解析】本题可以采用“循环右移”的算法。公共基础知识第1章 数据结构与算法
A. 在链表中,如果每个结点有两个指针域,则该链表一定是非线性结构
B. 在链表中,如果有两个结点的同一个指针域的值相等,则该链表
C. 在链表中,如果每个结点有两个指针域,则该链表不一定是线性结构
D. 在链表中,如果有两个结点的同一个指针域的值相等,则该链表
解析:【解析】非空的线性结构是一个满足:①有且只有一个根结点;②每一个结点最多有一个前件,也最多有一个后件,A项错误,双向链表中结点的两个指针域分别指向其前后结点,它是线性结构。答案选择A选项。
A. 栈顶元素最先能被删除
B. 栈顶元素最后才能被删除
C. 栈底元素永远不能被删除
D. 以上三种说法都不对
解析:【解析】栈是一种“先进后出”的线性表,最先入栈的元素最后出栈,最后入栈的元素最先出栈,所以栈底元素一定是最先入栈最后出栈的元素,而栈顶元素一定是最后入栈最先出栈的元素。答案选择A选项。
A. 16
B. 8
C. 4
D. 2
解析:【解析】
A. Ne1NN
B. e1a2e3
C. Ne1Nc2N
D. Na1NNNN
解析:【解析】程序执行过程:k=0时,c=str[0]='t',执行default分支,输出N;k=1时,c='e',执行case 1分支,没有break语句,继续执行case 3分支,没有break语句,继续执行case 5分支,输出e1;k=2时,c='a',输出N;k=3,c='c',输出c2;k=4,c='h',输出N。故程序的输出结果为Ne1Nc2N。答案选择C选项。
A. 566.0
B. 55566.0
C. 7777.0
D. 566777.0
解析:【解析】本题考查的是格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中,其中的格式命令可以说明最大域宽。在百分号%与格式码之间的整数用于限制从对应域读入的最大字符数。因此j的值为55,y的值为566.0,字符数组name的值为7777123。答案选择A选项。
A. 2,1
B. 6,1
C. 6,0
D. 2,0
解析:【解析】程序前面表达式等同于a=(c/100)%9,程序执行过程为:c=241,c/100=2,2%9=2,得a=2;“=”优先级低于“&&”,非0值为真,0值为假,即(-1)为真,逻辑与表达式(-1)&&(-1)为真,得b=1。答案选择A选项。
A. 软件产品从提出、实现、使用维护到停止使用退役的过程
B. 软件从需求分析、设计、实现到测试完成的过程
C. 软件的开发过程
D. 软件的运行维护过程
解析:【解析】软件生命周期是指软件产品从提出、实现、使用、维护到停止使用、退役的过程。答案选择A选项。
A. 所有数据结构必须有根结点
B. 所有数据结构必须有终端结点(即叶子结点)
C. 只有一个根结点,且只有一个叶子结点的数据结构一定是线性结构
D. 没有根结点或没有叶子结点的数据结构一定是非线性结构
解析:【解析】
A. x的内存地址与x.i的内存地址相同
B. struct data是一个类型名
C. 初始化时,可以对x的所有成员同时赋初值
D. 成员i、c和d占用的是同一个存储空间
解析:【解析】变量i、c、d是结构体变量x中三个不同的成员,占用不同的存储空间。答案选择D选项。补充:区分struct和union,union的各个数据成员共享一块存储空间,struct不同的成员,占用不同的存储空间。
A. 必须是逻辑表达式
B. 必须是关系表达式
C. 必须是逻辑表达式或关系表达式
D. 可以是任意合法的表达式
解析:【解析】if中的表达式一般是关系表达式或逻辑表达式,用于描述选择结构的条件,但也可以是其他类型表达式,在其值非零时为真,所以任意合法的表达式都可以做if语句的判断条件。答案选择D选项。