C语言作业题(5)

来源:互联网 发布:oracle调用java代码 编辑:程序博客网 时间:2024/05/17 23:59

1、设有下面的结构体和结构变量定义:

struct student{    int id;    char* name;    int math;};struct student studl;

关于结构体类型变量赋值正确的是(A
A、 studl.id=1001;studl.name=”Tom”;
B、id=1001;*studl.name=”Tom”;
C、 studl.id=1001;studl.*name=”Tom”;
D、studl.id=1001L;*studl.name=”Tom”;

2、指向结构体对象的指针变量既可以指向结构体变量,也可以用来指向(结构体本身)。

2.1、结构体类型只有一种。请问这句话的说法是正确的吗?(错误
A. 正确
B. 错误

3、当说明一个结构体变量时系统分配给它的内存是(A
A. 各成员所需内存的总和
B. 结构中第一个成员所需内存量
C. 成员中占内存量最大者所需的容量
D. 结构中最后一个成员所需内存量

4、在结构体中,成员的缺省存取权限是公有 有的

5、在32位cpu上选择缺省对齐的情况下,有如下结构体定义:
struct A{
unsigned a : 19;
unsigned b : 11;
unsigned c : 4;
unsigned d : 29;
char index;
};
则sizeof(struct A)的值为(16
9
12
16
20

6、下列代码的功能包括:定义一个x数组,说明一个结构体,同时对变量t进行初始化,使得t的a成员的值为50,b成员的值为x数组的首地址。
请在空白处(方框内)填入合适的内容,一完成上述功能。

int x[5]={1,2,3,4,5};struct { int a; int *b;}t={ (50),(&x)};

7、开发C代码时,经常见到如下类型的结构体定义:
typedef struct list_t
{
struct list_t *next;
struct list_t *prev;
char data[0];
}list_t;
请问在32位系统中,sizeof(list_t)的值为? (8byte
4byte
8byte
5byte
9byte

8、定义一个结构体变量(包括年、月、日),计算该日在本年中为第几天?(注意考虑闰年问题),要求写一个函数days,实现上面的计算。由主函数将年月日传递给days函数,计算后将日子传递回主函数输出 。

#include <stdio.h>struct data{    int year;    int month;    int day;}A = {2017,12,25};int func(struct data *p){    int month[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 };//月份    int year = p->year;    if ((year % 400 == 0)|| (year % 4 == 0 && year % 100 != 0))//判断闰年        month[1] = 29;    int i = 0, ret = 0;    for (i = 0; i < ((p->month)-1); i++)        ret += month[i];//当月之前月份天数之和    ret += p->day;//加上当月天数    return ret;}int main(void){    int ret = func(&A);    printf("%d\n", ret);    return 0;}

9、假设有如下的关于职工信息的结构体:

struct Employee
{
long eID;
char eName[10];
struct Employee *pNext;
};
其中eID表示职工编号,请编写一个函数:
struct Employee *eIDSequence(int eID, char *sName)

10、请设计一个名为student的结构体类型,该类型的成员有一个名为sex的字符类型变量,有一个名为id的int类型,有个名为name的字符数组的变量,请在主函数中创建一个sruc student类型的数组,数组长度为10,然后再设计一个自定义函数实现该结构体数组的输入,再设计一个自定义函数,求出该结构体数组中id值最大的元素并显示其各成员的值。

#include <stdio.h>#include <stdlib.h>#define NUM 3struct student//设计一个名为student的结构体类型{    char sex;    int id;    char name[10];};void Input(struct student*p,int i)//一个自定义函数实现该结构体数组的输入{    printf("No.%d\nInput id,sex,name:", i);    scanf("%d %c %s",&p->id, &p->sex, p->name);}void Find(struct student*p)//该结构体数组中id值最大的元素并显示其各成员的值{    struct student*a = p;    int max = 0;    int ret = 0;    int i = 0;    for (i = 0; i < NUM; i++)    {        if (p[i].id > max)        {            max = p[i].id;            ret = i;        }    }    printf("id:%d\n", (a+ret)->id);    printf("sex:%c\n", (a+ret)->sex);    printf("name:%s\n", (a + ret)->name);}int main(void){    struct student arr[NUM];//在主函数中创建一个sruc student类型的数组,数组长度为10    int i = 0;    for (i = 0; i < NUM; i++)        Input(&arr[i], i);    Find(arr);    return 0;}

11、编程计算两点间的直线距离。
要求:点坐标采用结构体类型,屏幕获取输入两点,并输出距离(小数点后保留两位)。

#include <stdio.h>#include <math.h>struct point{    int x;    int y;}A,B;int main(void){    printf("Input A:");    scanf("%d %d", &A.x, &A.y);    printf("Input B:");    scanf("%d %d", &B.x, &B.y);    printf("d = %.3f\n", sqrt((A.x - B.x)*(A.x - B.x) + (A.y - B.y)*(A.y - B.y)));}

12、利用结构体类型数组输入五位用户的姓名和电话号码,按姓名的字典顺序排列后(姓名相同保持原位置),输出用户的姓名和电话号码。 已知结构体类型如下: struct user { char name[20]; char num[10]; };

#include <stdio.h>#define NUM 3struct user {     char name[20];     char num[10]; };int main(void){    struct user arr[NUM];    int i = 0;    for (i = 0; i < NUM; i++)    {        printf("\n");        printf("No.%d user\n", i+1);        printf("name: ");        scanf("%s", arr[i].name);        printf("number: ");        scanf("%s", arr[i].num);    }    printf("\n");    char c = 'A';    for (; c <= 'z'; c++)    {        for (i = 0; i < NUM; i++)        {            if (arr[i].name[0] == c)            {                printf("%s\n",arr[i].name);                printf("%s\n\n", arr[i].num);            }        }    }    printf("\n");    return 0;}
阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 培养 培养方式 x奴培养学院 培养 方式 我培养霸总那些年 培养霸总那些年 超级罪犯培养系统 杀手培养系统 能力培养与测试答案网 新手培养车感十招 我把爸培养成首富 培养孩子自信心 完美男神培养系统 培养考察情况 这个职业计划培养200万人 2019崩坏三值得培养女武神排名 三国如龙传哪些武将值得培养 湛江培才 培才校园网 一中培才 培才 湛江一中培才 培才一中校园网 湛江一中培才校园网 湛江一中培才学校成绩查询 培才校园网成绩查询 一中培才校园网 湛江一中培才学校网 湛江一中培才学校校园网登录 培才一中学校校园网 广州市培才高级中学 培智学校 申培智 芜湖培智学校 海淀培智学校 海淀培智中心学校 上培智学校有哪些条件 培林 培林榨菜 培林花鼓 培林牌跳绳