觉得还可以,或许不会做哦

一些杂题
【填空题】

sizeof(sizeof(strlen(“Hello”)))=__。

struct ABC
{
char x1;
double x2;
int x3;
short x4;
};
sizeof(ABC)=__。

设置随机数种子的函数名为__,产生随机数的函数名为__。

执行控制台命令的函数名为__。

打开一个文件的函数名为__,关闭一个文件的函数名为__。

移动文件读写指针的函数名为__。

断言函数assert起作用的项目必须是__版本。

字符串字面常量所在的内存区称之为__。

C语言中的复合数据类型分别是__、、__

所有成员共用一段内存的复合数据类型是__。

枚举类型变量在内存中占__字节

typedef关键字的作用是为__起别名

【简答题】

请简述以下函数的作用
int strlen(const char* s);
char* strcpy(char* s1, const char* s2);
char* strcat(char* s1, const char* s2);
int strcmp(const char* s1, const char* s2);

请简述以下函数的作用
void* memset(void* dest, int c, size_t count);
void* memcpy(void* dest, const void* src, size_t count);

请简述以下函数的作用
void* malloc(size_t size);
void free(void* memblock);

请简述以下函数的作用
size_t fread(void* buffer, size_t size, size_t count, FILE* stream);
size_t fwrite(const void buffer, size_t size, size_t count, FILE stream);


struct STUDENT
{
int id; //学号
char name[32]; //姓名
int age; //年龄
};
void main()
{
STUDENT s[10];
for (int i = 0; i < 10; ++i)
{ std::cin>>s[i].name;
std::cin>>s[i].id;
std::cin>>s[i].age;
}

sort(fName,10); //该代码会按照学生姓名排序
sort(fID,10); //该代码会按照学生id排序
sort(fAge,10); //该代码会按照学生年龄排序

}
完成sort函数,fName函数,fID函数,fAge函数

请简述下面程序执行的打印结果及其原因
void f(char* p)
{
p = (char*)malloc(10);
}
void main()
{
char* q = 0;
f(q);
strcpy_s(q, 10, “abc”);
std::cout<<q<<std::endl;
}

请简述下面程序执行的打印结果及其原因
char* f()
{
char p[] = “abc”;
return p;
}
void main()
{
char* q = f();
std::cout<<q<<std::endl;
}

请简述下面程序执行的打印结果及其原因
char* p = (char*)malloc(10);
strcpy_s(p, 10, “abc”);
std::cout<<p<<std::endl;
free§;
if §
std::cout<<“没有释放p”<<std::endl;
else
std::cout<<“已经释放p”<<std::endl;

请简述C程序中内存的类型,以及这些内存的分配方法、分配时刻、释放时刻

请简述#ifndef、#define、#endif在头文件中的作用

请简述结构体内存对齐的原则

【程序题】

完成函数float get_rand_float(float min, float max),该函数得到一个min到max之间的随机数

完成函数void delete_star(char* s),该函数将传入的字符串中出现的’'字符删除,如果没有就不删除,比如传入ABCDEF*G*,执行之后的结果为ABCDEFG

struct STUDENT
{
int id; //学号
char name[32]; //姓名
int age; //年龄
};
完成函数void save_students(STUDENT* s, int n, const char* filename),该函数将传入的长度为n的学员信息数组s存储到名字为filename的文件中
完成函数STUDENT* load_students(const char* filename, int* n),该函数将save_students函数存储的文件中的学员信息读取到堆内存中的STUDENT数组中并返回首地址,n学员的数量

顺序表

SXB* CreateSXB();//创建
void DestroySXB(SXB* sxb);//销毁
bool InsertSXB(SXB* sxb,int xb,DATA data);//插入
bool EraseSXB(SXB* sxb,int xb);//删除

链表

NODE* CreateLink();//创建
void DestroyLink(NODE* head);//销毁
bool InsertLink(NODE* head,int xb,DATA data);//插入
bool EraseLink(NODE* head,int xb);//删除
int LenLink(NODE* head);//长度

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值