实验3_顺序结构

【状态:    内部  已结束
开始时间: 2025-10-24 10:00:00
  
结束时间: 2025-10-26 23:59:00
  
服务器时间:

简介

比赛名称: 实验3_顺序结构

比赛类型: 内部(受邀或输入密码才能参赛)

比赛状态: 已结束

比赛时间: 开始于 2025-10-24 10:00:00,至 2025-10-26 23:59:00结束。

公告

一、实验目的

1.掌握基本数据类型的输入与输出:熟练使用 scanf() 和 printf() 函数,正确输入各种基本类型(如 int, float, double, char)的数据,并能按照指定格式输出。

2.理解变量的定义与使用:能够正确定义变量,并为变量赋值,理解变量在程序中的作用。

3.培养数据运算与处理能力:能够运用C语言的运算符和表达式,对输入的数据进行基本的算术运算(如加、减、乘、除、求余)、赋值运算等,并将结果输出。

4.建立顺序结构编程思想:深刻理解顺序结构程序“自上而下,逐条执行”的特点,能够设计和编写简单的顺序结构程序来解决数学计算或实际问题(如计算面积、求解方程等)。

二、相关知识点

1.变量与数据类型

(1)变量定义:必须先定义,后使用。定义时指定数据类型和变量名。

例如:int score;, float radius, area;, char grade;

(2)基本数据类型:

- 整型:int (基本整型), short (短整型), long (长整型)

- 实型(浮点型):float (单精度,约6-7位有效数字), double (双精度,约15-16位有效数字)。进行科学计算时,推荐使用 double,精度更高。

- 字符型:char,用于存储单个字符。

2.运算符与表达式

(1)算术运算符:+ (加), - (减), * (乘), / (除), % (求余数/取模)

注意:/ 运算符,当左右操作数均为整数时,结果为整数(舍去小数部分)。若要有小数结果,至少一个操作数为浮点数。例如:5 / 2 结果是 2,而 5.0 / 2 结果是 2.5。

(2)% 运算符要求左右操作数必须为整数。

(3)赋值运算符:= 及其扩展形式 +=, -=, *=, /=, %=。

例如:a += 3; 等价于 a = a + 3;

(4)自增自减运算符:++, --。

(5)表达式:由运算符和操作数组成的式子。表达式会有一个确定的值和类型。

3.输出函数 printf()

(1)功能:向标准输出设备(通常是屏幕)格式化输出数据。

(2)格式:printf("格式控制字符串", 输出列表);

(3)常用格式控制符:

%d:输出带符号十进制整数 (int)

%f:输出单精度浮点数 (float),默认保留6位小数

%lf:输出双精度浮点数 (double)

%c:输出单个字符 (char)

%s:输出字符串

(4)转义字符:\n (换行), \t (制表符),用于控制输出格式。

4.输入函数 scanf()

(1)功能:从标准输入设备(通常是键盘)格式化输入数据。

(2)格式:scanf("格式控制字符串", 变量地址列表);

(3)重要注意事项:

变量前必须加上取地址运算符 &(字符串数组名除外)。

格式控制字符串中的普通字符(如逗号、空格)需要用户在输入时原样输入。为避免混淆,通常建议只写格式控制符,如 scanf("%d%d", &a, &b);,输入时用空格或回车分隔数据。

读取 %c 时,会读取空格、回车等所有字符,必要时可用 getchar() 吸收缓冲区中的多余字符。

5.常见错误与注意事项

(1)忘记写 &:scanf("%d", a); → scanf("%d", &a);

(2)数据类型与格式控制符不匹配:用 %d 输入 float 类型数据。

(3)整数除法问题:float average = total / n; 如果 total 和 n 都是 int,则除法为整数除法。应改为 float average = (float)total / n; 或 float average = total * 1.0 / n;。

(4)实数精度问题:不要直接用 == 或 != 比较浮点数(如c==0.3);应该判断两数之差是否小于一个极小的误差容忍值(如fabs(c - 0.3) < 1e-10)。

(5)书写格式混乱:保持良好的代码缩进和注释习惯,增强可读性。