云南省烟草系统招聘考试历来都是云南各高校应届毕业生比较向往的,烟草系统以其得天独厚的待遇、福利,俘获了众多家长和学生的心。为了考入烟草系统很多考生都花费了不少的人力、物力、财力。备考烟草系统其实还有更便捷的方法,你知道吗?今天烟草招聘考试网就针对丽江烟草专卖局(公司)招聘考试,推出专业知识部分考题讲解,我们接下来看看计算机部分:
五、综合应用题(本题型共2题,每题10分,共20分)
1.#include
#include
struct List
{
int data;
struct List *next;
};
typedef struct List node;
typedef node *link;
void main()
{
link ptr,head,tail;
int num,i;
tail=(link)malloc(sizeof(node));
tail->next=(1);
ptr=tail;
printf("\nplease input data:\n");
for(i=0;i<=4;i++)
{
scanf("%d",(2));
ptr->data=num;
head=(link)malloc(sizeof(node));
head->next=(3);
ptr=head;
}
ptr=(4);
while(ptr!=NULL)
{
printf("the value is %d.\n",(5));
ptr=ptr->next;
}
}
【答案】
(1)NULL (2)&num (3)ptr (4)head->next (5)ptr->data
融大解析:本程序实现的功能是:利用尾插法创建一个包含5个数据结点的单链表,然后将这5个结点的数据输出。
程序一开始定义了一个结构体,即结点结构:
struct List
{
int data;
struct List *next;
};
由此可以看出,单链表的每个结点包含了一个数据域和一个指向后继结点的指针域。
在main函数中,首先创建一个结点,令尾指针指向该结点:tail=(link)malloc(sizeof(node));,由于后面第二句ptr=tail令工作指针指向尾结点,可知第一个空填NULL,即将尾结点的指针域置为NULL, tail->next= NULL;。
for循环的作用是依次创建5个结点,并为这5个结点的数据域赋值。由ptr->data=num;可知其前一句是用num变量保存输入的整数,则第二个空填&num,即scanf("%d",&num);。
由于头指针是指向第一个结点的,因此第三个空填入ptr,即head->next=ptr;,令头指针一直指向第一个结点的地址。
最后用while循环输出链表中每个结点的数据值,因此在进入while循环之前令工作指针ptr指向第一个结点,即ptr=head->next;,在输出结点数据值时,利用ptr->data取当前指针指向的数据域即可,即printf("the value is %d.\n",ptr->data);。
2.设有以下两个数据表:
商品表1(商品代号 char(8),分类名 char(8),单价 float,数量 int)
商品表2(商品代号 char(8),产地 char(6),品牌 char(6),)
使用SQL语句实现以下功能。
(1)从商品库中查询出每一种商品的商品代号、分类名、数量和品牌等信息。
(2)从商品库中查询出数量大于10的商品种数。
(3)从商品库中查询出比所有商品单价的平均值要高的全部商品。
融大解析:
(1)SELECT 商品表1.商品代号,分类名,数量,品牌
FROM 商品表1,商品表2
WHERE 商品表1.商品代号=商品表2.商品代号;
(2)SELECT COUNT(*)
FROM 商品表1
WHERE 数量>10;
(3)SELECT *
FROM 商品表1
WHERE 单价>ALL(SELECT AVG(单价)
FROM 商品表1);
更多烟草招聘考试资料请登录烟草招聘考试网(www.yancaozp.com)
扫一扫获得更多烟草招聘考试资讯,让你的手动起来吧!