【C语言实验一】实验报告主要涵盖了C语言的基础知识,包括使用Visual C++ 6.0集成开发环境进行程序的编辑、编译、连接和运行的步骤,以及对C语言程序的基本结构和书写规则的理解。实验内容涉及了简单的输入输出、算术运算以及函数的应用。
1.1 实验目的:
1. 掌握VC 6.0集成开发环境的使用,包括创建项目、编写代码、编译、调试和运行程序。
2. 了解C语言程序的生命周期,即从源代码到可执行程序的完整过程,包括编辑源代码、编译生成目标文件、链接生成可执行文件以及运行程序。
3. 掌握C语言的基本结构,如函数定义、变量声明、输入输出语句等,以及遵循的书写规则。
1.2 实验内容:
1.1.1 软件操作:
输入提供的示例代码:
```c
#include<stdio.h>
void main(){
printf("这是我的第一个程序\n");
}
```
然后,在Visual C++ 6.0环境下进行编辑、编译、连接,最后运行程序,输出结果为"这是我的第一个程序"。
1.2.1 软件操作:
输入以下程序:
```c
#include<stdio.h>
void main(){
int a, b, c;
printf("Please input a, b:");
scanf("%d%d", &a, &b); // 输入数据时,数据间用空格分隔
c = a + b;
printf("%d+%d=%d\n", a, b, c);
}
```
1.2.2 运行结果:
运行该程序,根据提示输入两个正整数,程序会计算它们的和并输出结果。
1.2.3 程序说明:
此程序接收用户输入的两个整数,通过`scanf`函数读取,然后将它们相加,最后使用`printf`函数显示两数之和。
1.3.1 软件操作:
编写如下代码:
```c
#include<stdio.h>
float ave(float y1, float y2, float y3){
float y;
y = (y1 + y2 + y3) / 3;
return y;
}
void main(){
float x, y, z, a;
scanf("%f, %f, %f", &x, &y, &z); // 输入数据时,数据间用逗号分隔
a = ave(x, y, z);
printf("%f\n", a);
}
```
1.3.2 运行结果:
输入三个小数,程序会计算它们的平均值并输出。
1.3.3 程序说明:
此程序接收用户输入的三个浮点数,计算它们的平均值,然后使用`printf`函数显示结果。
2. 实验思考:
2.1.1 软件操作:
输入并运行以下代码:
```c
#include<stdio.h>
void main(){
char c, h;
int i, j;
c = 'a';
h = 'b';
i = 97;
j = 98;
printf("%c%c%c%c\n", c, h, i, j);
printf("%d%d%d%d\n", c, h, i, j);
}
```
2.1.2 该程序运行结果:
程序输出两行,第一行为字符'a'和'b',第二行为对应的ASCII码值97和98。
2.1.3 程序分析:
程序中`printf`的格式控制符号使用不当,对于字符型变量应该使用`%c`,对于整型变量应使用`%d`。原始代码试图将整型变量以字符形式输出,而将字符型变量以整型形式输出。
2.1.4 程序改进:
修改后的代码:
```c
#include<stdio.h>
void main(){
char c, h;
int i, j;
c = 'a';
h = 'b';
i = 97;
j = 98;
printf("%c%c%d%d\n", c, h, i, j);
}
```
2.1.5 程序改进后运行结果:
改进后的程序正确地将字符输出为字符,整型输出为整型。
2.2.1 软件操作:
运行如下代码:
```c
#include<stdio.h>
void main(){
int i = 23, s;
s = i + j; // 编译错误,未定义变量j
printf("s=%d\n", s);
}
```
分析出现的错误提示:由于未定义变量`j`,编译器会报错,指出`s = i + j;`这一行存在错误。为了修复此问题,需要为`j`定义一个值或删除相关的代码行。