moocC语言程序设计进阶_6答案(慕课2023课后作业答案)

分类: 中考题库发布于:2024-06-02 13:23:50ė83486次浏览608条评论

moocC语言程序设计进阶_6答案(慕课2023课后作业答案)

第9周:结构类型

2 结构随堂测验

1、语言程业答有下列代码段,序设则输出结果是计进阶答:struct { int x,y; } s[2] = { { 1,3}, { 2,7}, }; printf("%d\n", s[0].y/s[1].x);
A、0
B、案慕案1
C、课课2
D、后作3

2、语言程业答有如下变量定义,序设则对data中的计进阶答a的正确引用是:struct sk { int a; float b; } data, *p=&data;
A、(*p).data.a
B、案慕案(*p).a
C、课课p->data.a
D、后作p.data.a

3、语言程业答以下两行代码能否出现在一起? struct { int x; int y; } x; struct { int x; int y; } y;

第11周:程序结构

2 编译预处理和宏随堂测验

1、序设假设宏定义: #define DOUBLE(x) 2*x 则DOUBLE(1+2)的计进阶答值是

2、假设宏定义如下: #define TOUPPER(c) ('a'<=(c)&&(c)<='z'?(c)-'a'+'A':(c)) 设s是一个足够大的字符数组,i是int型变量,则以下代码段的输出是: strcpy(s, "abcd"); i = 0; putchar(TOUPPER(s[i]));

中国大学C语言程序设计进阶_6

在本篇文章中,我们将深入讨论C语言程序设计进阶的相关知识。我们将从以下几个方面展开:

1. 结构体

结构体是一种用户自定义的数据类型,它可以包含多个不同类型的数据。结构体的定义和使用方法如下:

struct student {     char name[20];    int age;    float score;};struct student s;s.age = 20;s.score = 90.5;

在上面的例子中,我们定义了一个名为“student”的结构体,它包含了名字、年龄和成绩三个成员。定义完之后,我们可以创建一个“s”变量来存储一个学生的信息,并通过“s.age”和“s.score”来对其进行赋值。

2. 指针

指针是C语言中非常重要的概念,它可以让我们直接访问内存中的数据。指针的定义和使用如下:

int a = 10;int *p = &a;*p = 20;

在上述例子中,我们定义了一个整型变量“a”,并通过“&a”获取了它的内存地址,并将该地址赋值给指针“p”。然后,我们使用“*p”来访问该地址对应的数据,并将其修改为“20”。这样,变量“a”的值也会变为“20”。

3. 动态内存分配

在C语言中,我们可以使用“malloc”函数来动态地分配内存。使用方法如下:

int *p = (int *)malloc(sizeof(int));*p = 10;free(p);

在上述例子中,我们使用“malloc”函数分配了一个整型的空间,并将其地址赋值给指针“p”。然后,我们使用“*p”来访问该地址对应的数据,并将其修改为“10”。最后,我们使用“free”函数来释放该内存空间。

4. 文件操作

C语言提供了一些处理文件的函数,如“fopen”、“fclose”、“fread”和“fwrite”等。使用方法如下:

FILE *fp = fopen(\test.txt\ \w\fprintf(fp, \Hello, world!\\n\fclose(fp);

在上述例子中,我们使用“fopen”函数来打开一个名为“test.txt”的文件,并将其模式设置为“写入”模式。然后,我们使用“fprintf”函数来将字符串“Hello, world!”写入该文件,并在字符串末尾加上一个换行符。最后,我们使用“fclose”函数来关闭该文件。

5. 多文件编程

当我们的程序变得越来越复杂时,我们可能需要将其分割成多个文件。在C语言中,我们可以使用头文件和源文件来实现多文件编程。

头文件通常包含一些声明和宏定义等内容,可以在多个源文件享。源文件则包含函数和变量的实现代码。使用方法如下:

// head.h#ifndef __HEAD_H__#define __HEAD_H__int add(int a, int b);#endif// main.c#include \head.h\int main() {     int a = 10, b = 20;    int c = add(a, b);    return 0;}// func.c#include \head.h\int add(int a, int b) {     return a + b;}

在上述例子中,我们定义了一个头文件“head.h”,其中包含了一个“add”函数的声明。然后,我们在“main.c”和“func.c”中分别包含该头文件,并在“main.c”中调用了“add”函数,而“func.c”中实现了该函数。

总结

本篇文章中,我们深入讨论了C语言程序设计进阶的相关知识,包括结构体、指针、动态内存分配、文件操作和多文件编程等。在实际编程中,这些知识都非常有用,希望读者们能够在以后的编程中灵活运用。



Ɣ回顶部