mooc程序设计基础_29答案(mooc2023课后作业答案)
第一周 c语言概述 随堂练习
1、程序一个正确的设计C语言程序框架,以下哪个选项不是基础必须的?
A、要有main函数的答案答案定义。
B、课后函数头和函数体不能缺少。作业
C、程序main函数体是设计一个复合语句,要以“{ ”开始而以“}”结束。基础
D、答案答案必须在main函数之前包含头文件。课后
2、作业以下的程序哪个C语言程序是有语法错误的?
A、void main ( ) { }
B、设计#include <stdio.h> void main ( ) { printf (“Hello,基础 the world! \n”); }
C、#include <stdio.h> int main ( ) { printf (“Hello, the world! \n”); return 1; }
D、void main ( ) { printf (“ ”); }
3、以下关于C程序的书写风格的描述,不正确的一项是?
A、缩进任何时候都不会影响程序的语法正确性。
B、换行任何时候都不会影响程序的语法正确性。
C、添加空白任何时候都不会影响程序的语法正确性。
D、添加空行任何时候都不会影响程序的语法正确性。
4、以下不属于C程序中的运算符的一项是?
A、++
B、sizeof
C、( )
D、“”
5、以下标识符的命名方式没有错误的一项是?
A、void
B、kn柯南
C、999_dbmnn
D、_517x
6、一个C程序由一个或多个函数构成,函数是C程序的基本单位,其中main函数叫做( ),必须有且只能有一个。
7、函数跟函数之间是调用关系。虽然我们只定义了main函数,但在main函数中会调用其他库函数。使用库函数必须在源程序开头加上预处理命令 #include< >,< >里的是( ),包含了所用到的库函数的声明。
8、函数体中可以有若干个语句(包括零个语句),每个语句以( )结束。
9、一个C程序通常要经过( )、连接和运行三个阶段。
10、C语言的注释有两种方式:一是以 // 开始,表示一直到行尾都是注释文字,这种方式使用比较简便。二是以 /* 开始,以( ) 结束,中间的文字不管多少行都算是注释,这种方式便于写多行注释文字。
11、编译的单位是源程序文件,如果没有了错误,则可进入连接阶段,这个阶段也可能有出错信息和警告信息。如果一切正常,将得到可执行文件,扩展名为( ),就可以运行了。
12、C语言的基本词汇包括32个关键字和( )个运算符。
13、C语言中的标识符、运算符、标点符号等,都必须是( ),不能写成中文符号。
第2周:计算
1 变量随堂测验
1、给定: int a,b; 以下哪些scanf的使用是正确的?
A、scanf("%d", &a); scanf("%d", &b);
B、scanf("%d %d", &a, &b);
C、scanf("%d, %d", &a, &b);
D、scanf("%d %d", a, b);
2、以下哪些是有效的变量名?
A、main
B、4ever
C、monkey-king
D、__int
3、给定: int a,b; scanf("%d %d", &a, &b); 则以下哪些输入方式是正确的?
A、1 2
B、1,2
C、1(回车)2
D、1、2
4、给定以下代码段: int a,b=0; 则a的初始值是0
2 数据类型随堂测验
1、写出下式的运算结果: 10/3.0*3 (如果认为结果是浮点数,请以小数点后一位小数来表示)
2、写出下式的运算结果: 10/3*3.0 (如果认为结果是浮点数,请以小数点后一位小数来表示)
3 表达式随堂测验
1、写出以下代码执行后,t1和t2的值,以空格隔开: int a=14; int t1 = a++; int t2 = ++a;
2、写出以下表达式的结果,结果之间间隔一个空格: 6 + 5 / 4 - 2 2 + 2 * (2 * 2 - 2) % 2 / 3 10 + 9 * ((8 + 7) % 6) + 5 * 4 % 3 * 2 + 3 1 + 2 + (3 + 4) * ((5 * 6 % 7 / 8) - 9) * 10
学习通程序设计基础_29
随着科技的发展和人们对于计算机技术的依赖程度越来越高,计算机编程技术成为了一项备受瞩目的技能。而在计算机编程技术当中,程序设计基础是一门十分重要的学科。本文将重点介绍学习通程序设计基础_29,希望能够为读者提供一些有用的信息和帮助。
学习通程序设计基础_29的内容
学习通程序设计基础_29主要包含以下内容:
- 二维数组的定义和使用
- 多维数组的定义和使用
- 数组的排序和查找
- 数组的应用:数独游戏
二维数组的定义和使用
在程序设计中,数组是一种非常重要的数据结构。而在二维数组中,每个元素可以通过两个下标来访问。例如,我们可以用以下语句来定义一个二维数组:
int array[2][3];
这样就定义了一个2行3列的二维数组。我们可以通过以下语句来访问数组中的元素:
array[0][0] = 1; array[0][1] = 2; array[0][2] = 3; array[1][0] = 4; array[1][1] = 5; array[1][2] = 6;
这样就给二维数组中的每个元素赋值了。我们也可以通过以下语句来输出数组中的元素:
printf(\d %d %d\\ array[0][0], array[0][1], array[0][2]); printf(\d %d %d\\ array[1][0], array[1][1], array[1][2]);
这样就可以输出数组中的所有元素。
多维数组的定义和使用
除了二维数组以外,我们还可以使用多维数组来存储数据。例如,我们可以用以下语句来定义一个三维数组:
int array[2][3][4];
这样就定义了一个2行3列4层的三维数组。我们可以用以下语句来访问数组中的元素:
array[0][0][0] = 1; array[0][0][1] = 2; array[0][0][2] = 3; array[0][0][3] = 4; array[0][1][0] = 5; array[0][1][1] = 6; array[0][1][2] = 7; array[0][1][3] = 8; array[0][2][0] = 9; array[0][2][1] = 10; array[0][2][2] = 11; array[0][2][3] = 12; array[1][0][0] = 13; array[1][0][1] = 14; array[1][0][2] = 15; array[1][0][3] = 16; array[1][1][0] = 17; array[1][1][1] = 18; array[1][1][2] = 19; array[1][1][3] = 20; array[1][2][0] = 21; array[1][2][1] = 22; array[1][2][2] = 23; array[1][2][3] = 24;
这样就给三维数组中的每个元素赋值了。我们也可以通过以下语句来输出数组中的元素:
printf(\d %d %d %d\\ array[0][0][0], array[0][0][1], array[0][0][2], array[0][0][3]); printf(\d %d %d %d\\ array[0][1][0], array[0][1][1], array[0][1][2], array[0][1][3]); printf(\d %d %d %d\\ array[0][2][0], array[0][2][1], array[0][2][2], array[0][2][3]); printf(\d %d %d %d\\ array[1][0][0], array[1][0][1], array[1][0][2], array[1][0][3]); printf(\d %d %d %d\\ array[1][1][0], array[1][1][1], array[1][1][2], array[1][1][3]); printf(\d %d %d %d\\ array[1][2][0], array[1][2][1], array[1][2][2], array[1][2][3]);
这样就可以输出数组中的所有元素。
数组的排序和查找
在程序设计中,我们经常需要对数组进行排序和查找。常见的排序算法有冒泡排序、快速排序和归并排序等。而查找算法则有顺序查找、二分查找和哈希查找等。下面以冒泡排序和二分查找为例进行介绍。
冒泡排序
冒泡排序是一种简单的排序算法,它的基本思想是:通过不断地交换相邻的元素,把较大的元素向后移动,把较小的元素向前移动,从而使得序列变得有序。以下是一段冒泡排序的代码:
int array[] = { 4, 2, 6, 1, 5, 3}; int i, j, temp; for (i = 0; i < 6; i++) { for (j = 0; j < 5-i; j++) { if (array[j] >array[j+1]) { temp = array[j]; array[j] = array[j+1]; array[j+1] = temp; } } }
这样就可以对数组进行排序了。不过需要注意的是,冒泡排序的时间复杂度为O(n^2),在处理大规模数据时效率较低。
二分查找
二分查找是一种高效的查找算法,它的基本思想是:在有序数组中查找某个元素,先取中间位置的元素进行比较,如果查找元素小于中间元素,则在前半部分继续查找;如果查找元素大于中间元素,则在后半部分继续查找;如果查找元素等于中间元素,则直接返回。以下是一段二分查找的代码:
int array[] = { 1, 2, 3, 4, 5, 6}; int left = 0, right = 5, mid, target = 4; while (left <= right) { mid = (left + right) / 2; if (array[mid] == target) { printf(\找到了,下标为%d\\ mid); break; } else if (array[mid] >target) right = mid - 1; else left = mid + 1; }
这样就可以在数组中查找指定元素了。
数组的应用:数独游戏
数独游戏是一种经典的智力游戏,它的规则是在一个9×9的宫格中填写数字1-9,每行、每列和每个3×3的宫格内都不能重复出现相同的数字。以下是一段简单的数独游戏代码:
int sudoku[9][9] = { { 5, 0, 0, 0, 0, 0, 0, 0, 8}, { 0, 1, 0, 0, 9, 0, 0, 6, 0}, { 0, 0, 6, 3, 0, 0, 0, 0, 9}, { 0, 0, 3, 0, 0, 0, 0, 0, 2}, { 0, 0, 0, 0, 7, 0, 0, 0, 0}, { 4, 0, 0, 0, 0, 0, 0, 0, 0}, { 7, 0, 0, 6, 0, 4, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 7, 0}, { 0, 2, 0, 5, 0, 0, 0, 9, 4} }; int i, j; printf(\数独游戏原始状态:\\n\ for (i = 0; i < 9; i++) { for (j = 0; j < 9; j++) { printf(\d \ sudoku[i][j]); } printf(\n\ }
这样就可以输出数独游戏中的原始状态。接下来,我们需要编写代码来实现数独游戏的求解。具体的求解算法不在本文的讨论范围内,读者可以自行搜索相关资料来进行学习。
总结
学习通程序设计基础_29是一门十分重要的计算机编程学科,它涵盖了二维数组、多维数组、排序和查找等多个方面的内容。通过学习这门学科,可以帮助我们更好地理解和掌握数组的相关知识,并能够应用到实际开发中去。希望本文能够对读者们有所帮助。