程序设计基础的实训报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、实训目的
本次实训旨在通过实际编写程序,巩固和加深对程序设计基础知识的理解,提高编程能力和解决问题的能力。

通过实训,使学生能够掌握程序设计的基本流程,熟悉常用编程语言和开发工具,具备独立编写程序、调试和优化程序的能力。

二、实训内容
1. 编程语言:C语言
2. 开发工具:Visual Studio
3. 实训任务:
(1)编写一个计算两个整数相加的程序;
(2)编写一个计算两个整数相减的程序;
(3)编写一个计算两个整数相乘的程序;
(4)编写一个计算两个整数相除的程序,要求考虑除数为0的情况;
(5)编写一个计算阶乘的程序;
(6)编写一个冒泡排序的程序,对一组整数进行排序;
(7)编写一个插入排序的程序,对一组整数进行排序;
(8)编写一个选择排序的程序,对一组整数进行排序。

三、实训过程
1. 编写计算两个整数相加的程序
```c
#include <stdio.h>
int main() {
int a, b, sum;
printf("请输入两个整数:");
scanf("%d %d", &a, &b);
sum = a + b;
printf("两数之和为:%d\n", sum); return 0;
}
```
2. 编写计算两个整数相减的程序
```c
#include <stdio.h>
int main() {
int a, b, sub;
printf("请输入两个整数:");
scanf("%d %d", &a, &b);
sub = a - b;
printf("两数之差为:%d\n", sub); return 0;
}
```
3. 编写计算两个整数相乘的程序
```c
#include <stdio.h>
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 <stdio.h>
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 <stdio.h>
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 <stdio.h>
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 <stdio.h>
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 <stdio.h>
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. 编程需要团队协作。

在实际项目中,程序员需要与团队成员密切合作,共同完成项目。

良好的沟通和团队协作能力对于项目的成功至关重要。

总之,通过本次实训,我对程序设计有了更深入的理解,也提高了自己的编程能力和解决问题的能力。

在今后的学习和工作中,我将继续努力,不断提高自己的编程水平。

相关文档
最新文档