程序设计基础的实训报告

  • 格式:docx
  • 大小:38.00 KB
  • 文档页数:9

一、实训目的

本次实训旨在通过实际编写程序,巩固和加深对程序设计基础知识的理解,提高编程能力和解决问题的能力。通过实训,使学生能够掌握程序设计的基本流程,熟悉常用编程语言和开发工具,具备独立编写程序、调试和优化程序的能力。

二、实训内容

1. 编程语言:C语言

2. 开发工具:Visual Studio

3. 实训任务:

(1)编写一个计算两个整数相加的程序;

(2)编写一个计算两个整数相减的程序;

(3)编写一个计算两个整数相乘的程序;

(4)编写一个计算两个整数相除的程序,要求考虑除数为0的情况;

(5)编写一个计算阶乘的程序;

(6)编写一个冒泡排序的程序,对一组整数进行排序;

(7)编写一个插入排序的程序,对一组整数进行排序;

(8)编写一个选择排序的程序,对一组整数进行排序。

三、实训过程

1. 编写计算两个整数相加的程序

```c

#include

int main() {

int a, b, sum;

printf("请输入两个整数:");

scanf("%d %d", &a, &b); sum = a + b;

printf("两数之和为:%d\n", sum);

return 0;

}

```

2. 编写计算两个整数相减的程序

```c

#include

int main() {

int a, b, sub;

printf("请输入两个整数:");

scanf("%d %d", &a, &b);

sub = a - b;

printf("两数之差为:%d\n", sub);

return 0;

}

```

3. 编写计算两个整数相乘的程序

```c

#include

int main() {

int a, b, mul;

printf("请输入两个整数:"); scanf("%d %d", &a, &b);

mul = a b;

printf("两数之积为:%d\n", mul);

return 0;

}

```

4. 编写计算两个整数相除的程序,考虑除数为0的情况

```c

#include

int main() {

int a, b, div;

printf("请输入两个整数:");

scanf("%d %d", &a, &b);

if (b == 0) {

printf("除数不能为0\n");

} else {

div = a / b;

printf("两数之商为:%d\n", div);

}

return 0;

}

```

5. 编写计算阶乘的程序 ```c

#include

int factorial(int n) {

if (n == 0) {

return 1;

} else {

return n factorial(n - 1);

}

}

int main() {

int n;

printf("请输入一个整数:");

scanf("%d", &n);

printf("%d的阶乘为:%d\n", n, factorial(n));

return 0;

}

```

6. 编写冒泡排序的程序

```c

#include

void bubbleSort(int arr[], int n) {

int i, j, temp;

for (i = 0; i < n - 1; i++) { for (j = 0; j < n - i - 1; j++) {

if (arr[j] > arr[j + 1]) {

temp = arr[j];

arr[j] = arr[j + 1];

arr[j + 1] = temp;

}

}

}

}

int main() {

int arr[] = {5, 3, 8, 6, 2};

int n = sizeof(arr) / sizeof(arr[0]);

int i;

bubbleSort(arr, n);

printf("排序后的数组:");

for (i = 0; i < n; i++) {

printf("%d ", arr[i]);

}

printf("\n");

return 0;

}

```

7. 编写插入排序的程序 ```c

#include

void insertionSort(int arr[], int n) {

int i, j, key;

for (i = 1; i < n; i++) {

key = arr[i];

j = i - 1;

while (j >= 0 && arr[j] > key) {

arr[j + 1] = arr[j];

j--;

}

arr[j + 1] = key;

}

}

int main() {

int arr[] = {5, 3, 8, 6, 2};

int n = sizeof(arr) / sizeof(arr[0]);

int i;

insertionSort(arr, n);

printf("排序后的数组:");

for (i = 0; i < n; i++) {

printf("%d ", arr[i]);

} printf("\n");

return 0;

}

```

8. 编写选择排序的程序

```c

#include

void selectionSort(int arr[], int n) {

int i, j, min_idx, temp;

for (i = 0; i < n - 1; i++) {

min_idx = i;

for (j = i + 1; j < n; j++) {

if (arr[j] < arr[min_idx]) {

min_idx = j;

}

}

temp = arr[min_idx];

arr[min_idx] = arr[i];

arr[i] = temp;

}

}

int main() {

int arr[] = {5, 3, 8, 6, 2}; int n = sizeof(arr) / sizeof(arr[0]);

int i;

selectionSort(arr, n);

printf("排序后的数组:");

for (i = 0; i < n; i++) {

printf("%d ", arr[i]);

}

printf("\n");

return 0;

}

```

四、实训心得

通过本次实训,我深刻体会到了程序设计的重要性。以下是我的一些心得体会:

1. 编程是一种逻辑思维和问题解决的过程。在编写程序的过程中,需要明确问题的背景和需求,分析问题,设计算法,编写代码,调试和优化程序。这个过程锻炼了我的逻辑思维能力和问题解决能力。

2. 编程需要良好的代码规范和编程习惯。良好的代码规范可以提高代码的可读性和可维护性,使代码更加易于理解和修改。同时,养成良好的编程习惯可以避免编写低质量的代码,提高编程效率。

3. 编程需要不断学习和实践。编程领域技术更新迅速,需要不断学习新技术、新方法。同时,实践是检验真理的唯一标准,只有通过实际编写程序,才能不断提高编程能力和解决问题的能力。

4. 编程需要团队协作。在实际项目中,程序员需要与团队成员密切合作,共同完成项目。良好的沟通和团队协作能力对于项目的成功至关重要。 总之,通过本次实训,我对程序设计有了更深入的理解,也提高了自己的编程能力和解决问题的能力。在今后的学习和工作中,我将继续努力,不断提高自己的编程水平。