大学MOOC 物理问题的C语言实现(南京大学)1462011164 最新慕课完整章节测试答案
动力学问题
单元测试(常量及结构体)
1、单选题:
什么是常变量?
选项:
A: 是一种新的基本变量类型。
B: 是一个变量,但它的值在程序执行期间值不能改变。
C: 可以先定义后赋值,赋值后无法改变。
D: 必须使用大写字母定义常量名。
答案: 【 是一个变量,但它的值在程序执行期间值不能改变。】
2、单选题:
定义常变量的关键词是什么?
选项:
A: static
B: const
C: CONST
D: 以上均错误
答案: 【 const】
3、单选题:
关于下列语句,说法正确的是? static int a = 3;
选项:
A: 定义一个整形静态常量 a 并初始化为3
B: 定义一个整形静态变量 a 并初始化为3
C: a一定是一个全局变量
D: a一定是一个全局常量
答案: 【 定义一个整形静态变量 a 并初始化为3】
4、单选题:
定义结构体的关键字是什么?
选项:
A: struct
B: STRUCT
C: Struct
D: sTruct
答案: 【 struct】
5、单选题:
下面结构体的定义中,Books代表什么?struct Books{
...
};
选项:
A: 类型名;
B: 对象名;
C: 没有实际意义;
D: 书本;
答案: 【 类型名;】
6、单选题:
如何访问结构体Book的length成员?struct Books{
int length = 25;
};
int main(){
struct Books Book;
...
return 0;
}
选项:
A: Book.length;
B: Books.length;
C: Book->length;
D: Books->length;
答案: 【 Book.length;】
7、单选题:
结构体Car初始化传入参数正确的是?struct Car{
char name[20];
int speed;
double accelerate;
};
选项:
A: struct Car car = {"car1", 23, 23.0};
B: Car car = {"car1", 23, 23.0};
C: struct Car car = {"car1", '23.0', 23};
D: Car car = {"car1", '23.0', 23};
答案: 【 struct Car car = {"car1", 23, 23.0};】
8、单选题:
在下列程序的主函数中定义一个结构体Body类型的指针变量pbody的语句是?#include <stdio.h>
struct Body{
char name[50];
double distance;
double speed;
double acceleration;
double time;
} body = {"前车的参数", 120.0, 6.0, 0.0, 0.0};
int main(){
printf("name : %sndistance: %lfnspeed: %lfn", body.name, body.distance, body.speed);
return 0;
}
选项:
A: struct Body pbody;
B: struct Body *pbody;
C: struct Body pbody*;
D: struct Body &pbody;
答案: 【 struct Body *pbody;】
9、单选题:
在下列程序的主函数中定义一个结构体Body类型的数组abody的语句是?#include <stdio.h>
struct Body{
char name[50];
double distance;
double speed;
double acceleration;
double time;
} body = {"前车的参数", 120.0, 6.0, 0.0, 0.0};
int main(){
printf("name : %sndistance: %lfnspeed: %lfn", body.name, body.distance, body.speed);
return 0;
}
选项:
A: struct Body abody[20];
B: struct Body abody[];
C: struct Body abody;
D: struct Body abody(20);
答案: 【 struct Body abody[20];】
10、填空题:
定义一个双精度浮点型常变量a,初始化值大小为2.0。
答案: 【 const double a = 2.0;##%_YZPRLFH_%##const double a=2.0;##%_YZPRLFH_%##const double a = 2;##%_YZPRLFH_%##const double a=2;】
11、填空题:
初始化一个常变量字符数组,并赋值为“Learning”,定义时不要手动指明数组大小。
答案: 【 const char b[]="Learning";##%_YZPRLFH_%##const char b[] = "Learning";##%_YZPRLFH_%##const char b[ ]="Learning";##%_YZPRLFH_%##const char b[ ] = "Learning";】
12、填空题:
定义一个常变量字符数组c,其值为"",定义时不要手动指明数组大小。
答案: 【 const char c[] = "\";##%_YZPRLFH_%##const char c[ ] = "\";##%_YZPRLFH_%##const char c[]="\";##%_YZPRLFH_%##const char c[ ]="\";】
13、填空题:
定义了如下结构体指针,如何访问指针所指的name成员?#include <stdio.h>
struct Body
{
char name[50];
double distance;
int speed;
double acceleration;
double time;
};
int main()
{
struct Body body = {"前车的参数", 120, 6.0, 0.0, 0.0};
struct Body *ptr = & body;
return 0;
}
答案: 【 ptr->name;##%_YZPRLFH_%##ptr->name##%_YZPRLFH_%##(*ptr).name##%_YZPRLFH_%##(*ptr).name;##%_YZPRLFH_%##ptr -> name;##%_YZPRLFH_%##ptr -> name】
14、填空题:
如何获取结构体body的成员speed的值?#include <stdio.h>
struct Body
{
char name[50];
double distance;
int speed;
double acceleration;
double time;
};
int main()
{
struct Body body = {"前车的参数", 120, 6.0, 0.0, 0.0};
return 0;
}
答案: 【 body.speed;##%_YZPRLFH_%##body.speed】
单元测试(自定义函数及指针)
1、单选题:
关于自定义函数的描述中,错误的是?
选项:
A: 自定义函数是指自己定义的函数,可作为函数语句执行入口代替main函数
B: 自定义函数是指自己定义的主函数,可作为函数语句执行入口代替main函数
C: 自定义函数是指自己定义的函数,不可作为函数语句执行入口代替main函数
D: 自定义函数是指自己定义的主函数,不可作为函数语句执行入口代替main函数
答案: 【 自定义函数是指自己定义的函数,不可作为函数语句执行入口代替main函数】
2、单选题:
创建自定义函数的主要目的是?
选项:
A: 实现在主函数内无法实现的功能
B: 实现代码的高效复用
C: 自定义函数毫无优点,没有特定目的
D: 为了主函数内语句显得简洁干练
答案: 【 实现代码的高效复用】
3、单选题:
自定义函数创建时,使用什么关键字比较合适?
选项:
A: void
B: int
C: double
D: 不一定,根据具体使用目的决定
答案: 【 不一定,根据具体使用目的决定】
4、单选题:
关系、逻辑运算的结果是布尔型,其值只有两个:false(假)和true(真)。在C89中,用int类型的0和1表示布尔值;在C99以后的标准中,导入stdbool.h的库即可直接使用bool定义布尔型变量。有两辆小车同向而行,小车A与B初始相距30m,小车B在前。小车A初始速度为0,加速度为2m/s,到了6m/s之后恒定速度前进。小车B初始速度为4m/s,恒定速度前进。如果要实现定义一个函数计算两车是否相撞,返回值可以是什么类型?
选项:
A: bool或int
B: 只能int
C: double
D: 只能bool
答案: 【 bool或int】
5、单选题:
物理学小车追及问题中,如果要实现定义一个函数计算后车是否可能撞击前车,下面哪一个是正确的定义方式(主函数及撞击函数在主函数中的调用代码已给出)?#include <stdio.h>
#include <stdbool.h>
int main(){
double distanceBA = 30.0, speedA = 0.0, accelerateA = 2.0, maxSpeedA = 6.0, speedB = 4.0;
bool a = isCrash(distanceBA, speedA, accelerateA, maxSpeedA, speedB);
if(a){printf("The two cars will crash!");return 0;}
printf("The two cars will not crash!");
return 0;
}
选项:
A: int main(){
