内容正文:
山东省计算机类高考技能教学
顺序结构程序设计
一、教学目标
【知识目标】
1.掌握C语言顺序结构程序的基本框架
2.理解输入/输出函数(printf、scanf)的使用方法
3.学会定义变量并进行基本运算
4.掌握程序代码的书写规范
【能力目标】
能独立编写简单的顺序结构程序
能处理基本的输入输出数据
能调试简单的程序错误
【素养目标】
培养严谨的逻辑思维能力,建立规范的编码习惯
二、基本知识讲解
程序基本结构
#include <stdio.h> // 告诉编译器需要哪些工具
int main() { // 程序入口
// 程序语句
return 0; // 程序结束
}
· #include <stdio.h>:这是一个预处理指令,stdio.h是标准输入输出头文件(Standard Input/Output Header)。它包含了一些用于输入输出操作(如printf、scanf函数)的函数声明和相关宏定义。这行代码告诉编译器在编译过程中要包含这个头文件里的信息。
· int main():main函数是 C 语言程序的入口,程序从这里开始执行。int表示main函数返回一个整数值。每个 C 程序都必须有一个main函数。
· 大括号{}:里面包含的是main函数的函数体,也就是程序执行的具体语句。目前这个函数体中只有return 0;这一条语句。
· return 0;:这是main函数的返回语句。在 C 语言中,main函数返回值为 0 通常表示程序正常结束。如果返回其他非零值,一般表示程序执行过程中出现了异常情况。
例题1:打印欢迎语
#include <stdio.h>
int main() {
printf("欢迎来到C语言世界!
"); //
表示换行
return 0;
}
变量定义与赋值
在 C 语言中,变量必须先定义后使用,定义变量的语法为:
数据类型 变量名;
变量类型
收纳内容
示例
占位符
int
整数(-20,100)
int apples=5;
%d
float
小数(3.14)
float money=12.5;
%f
char
单个字符('A')
char key='Y';
%c
int age; // 定义一个整型变量age
float height; // 定义一个单精度浮点型变量height
char gender; // 定义一个字符型变量gender
double score; // 定义一个双精度浮点型变量score
变量的赋值
变量定义后,可以通过赋值语句为其赋予具体的值:
变量名 = 值;
初始化与赋值
初始化:在定义变量时直接赋值
int age = 18; // 初始化整型变量
float height = 1.75f; // 初始化浮点型变量(注意f后缀)
char gender = 'M'; // 初始化字符型变量(单引号)
double score = 95.5; // 初始化双精度变量
先定义后赋值:
int age; // 定义变量
age = 18; // 赋值
float height;
height = 1.75f;
变量的命名规则:
只能由字母、数字和下划线组成
不能以数字开头
不能使用 C 语言的关键字(如int, if, for等)
区分大小写(age和Age是不同的变量)
合法与非法变量名示例:
int student_age; // 合法
int _score; // 合法
int age123; // 合法
// int 123age; // 非法:以数字开头
// int for; // 非法:使用关键字
// int my-age; // 非法:包含非法字符(-)
多重赋值与连续定义
多重赋值:多个变量可以连续赋值
int a, b, c;
a = b = c = 10; // 等价于 c=10; b=c; a=b;
连续定义:同一类型的变量可以在一行中定义
int x, y, z; // 定义三个整型变量
float a = 1.0f, b = 2.0f, c; // 定义并初始化部分变量
常量赋值与符号常量
常量赋值:使用const关键字定义常量(值不可修改)
const float PI = 3.14159f;
// PI = 3.14; // 错误:不能修改常量的值
符号常量:使用#define预处理器定义常量
#define MAX_SCORE 100 // 定义符号常量(注意没有分号)
类型转换与赋值
隐式转换:赋值时自动将右侧类型转换为左侧类型(可能丢失精度)
int a = 3.14; // 结果为3(小数部分被截断)
float b = 10; // 10被转换为10.0f
显式转换:使用强制类型转换
float f = 3.14f;
int i = (int)f; // 强制转换为整型,结果为3
例题2:变量定义与赋值
#include <stdio.h>
int main() {
// 定义并初始化变量
int age = 18;
float height = 1.75f;
char gender = 'M';
double score = 95.5;
bool isStudent = true; // 需要#include <stdbool.h>
// 输出变量值
printf("年龄: %d
", age);
printf("身高: %.2f米
", height);
printf("性别: %c
", gender);
printf("分数: %.1f
", score);
printf("是否是学生: %s
", isStudent ? "是" : "否");
// 修改变量值
age = age + 1;
height = 1.80f;
score = score * 1.1;
printf("
修改后的值:
");
printf("年龄: %d
", age);
printf("身高: %.2f米
", height);
printf("分数: %.1f
", score);
return 0;
}
输入输出函数
输出函数printf()
printf() 是 C 语言中用于格式化输出数据的函数,可将各种类型数据按指定格式输出到标准输出设备(如显示器)。
基本用法:
打印普通文字
printf("你好,世界!"); // 直接用双引号包着要打印的文字
运行结果:
你好,世界!
打印变量的值:用%d、%f等 “占位符” 告诉计算机此处要放一个变量的值
int age = 18;
printf("我的年龄是:%d岁", age); // %d 表示“这里放一个整数”
运行结果:
我的年龄是:18岁
同时打印多个变量
int age = 18;
float height = 1.75;
printf("我今年%d岁,身高%.2f米", age, height); // %.2f 表示保留2位小数
运行结果:
我今年18岁,身高1.75米
占位符
作用
例子
%d
打印整数
int num = 10; printf("%d", num); → 10
%f
打印小数(浮点数)
float f = 3.1415; printf("%.2f", f); → 3.14(保留 2 位)
%c
打印单个字符
char ch = 'A'; printf("%c", ch); → A
%s
打印字符串
printf("你好"); → 你好
%x
打印十六进制数
int hex = 255; printf("%x", hex); → ff
格式化技巧:
控制宽度
printf("%5d", 123); // 宽度为5,不足的左边补空格 → " 123"
printf("%-5d", 123); // 宽度为5,不足的右边补空格 → "123 "
printf("%05d", 123); // 宽度为5,不足的左边补0 → "00123"
控制小数位数
float pi = 3.1415926;
printf("%.2f", pi); // 保留2位小数 → "3.14"
printf("%.4f", pi); // 保留4位小数 → "3.1416"
带符号输出
printf("%+d", 10); // 正数前加+号 → "+10"
printf("% d", 10); // 正数前留空格 → " 10"
注意事项:
· 占位符和变量类型要匹配
错误:printf("%d", 3.14);(用%d打印小数)
正确:printf("%f", 3.14);
· 多个变量的顺序不能乱
// 错误:顺序反了
printf("我今年%d岁,身高%.2f米", height, age); // 会输出乱码!
// 正确:顺序和占位符一一对应
printf("我今年%d岁,身高%.2f米", age, height);
· 包含头文件
在代码最上面加上
#include <stdio.h> // 没有这个,printf()用不了!
输入函数scanf()
scanf()负责从键盘读取用户输入的数据,存到变量。
读取整数:
int age;
printf("请输入你的年龄:");
scanf("%d", &age); // 把用户输入的整数存到age变量里
printf("你输入的年龄是:%d岁", age);
运行过程:
程序打印:请输入你的年龄:
用户输入:20(然后按回车键)
程序打印:你输入的年龄是:20岁
读取多个数据:
int age;
float height;
printf("请输入年龄和身高(用空格分开):");
scanf("%d %f", &age, &height); // 用空格分隔多个占位符
printf("你输入的年龄是:%d岁,身高是:%.2f米", age, height);
运行过程:
程序打印:请输入年龄和身高(用空格分开):
用户输入:20 1.75(按回车)
程序打印:你输入的年龄是:20岁,身高是:1.75米
注意事项:
· & 符号不能少
&的意思是 “取地址”,告诉scanf()数据该存到哪个变量之中。
错误:scanf("%d", age);(漏掉 &,会报错!)
正确:scanf("%d", &age);
· 读取字符串时不用 &
如果是字符数组(存字符串),不需要 &:
char name[20];
scanf("%s", name); // 注意:name前没有&
· 输入格式要和 scanf () 的格式匹配
// 格式里有逗号,输入时也要有逗号
scanf("%d,%f", &age, &height); // 输入时必须是:20,1.75
例题2:计算两个整数之和
#include <stdio.h>
int main() {
int a, b, sum;
printf("请输入两个整数(用空格分开):");
scanf("%d %d", &a, &b);
sum = a + b;
printf("两数之和是:%d
", sum);
return 0;
}
三、例题讲解
1.计算圆的面积和周长
题目:输入圆的半径r,计算并输出圆的面积和周长。
公式:面积 = πr²,周长 = 2πr
#include <stdio.h>
#define PI 3.14159 // 定义常量π
int main() {
float r, area, circumference;
// 输入半径
printf("请输入圆的半径:");
scanf("%f", &r);
// 计算面积和周长
area = PI * r * r;
circumference = 2 * PI * r;
// 输出结果
printf("圆的面积是:%.2f
", area);
printf("圆的周长是:%.2f
", circumference);
return 0;
}
输入:用scanf读取半径r。
计算:按公式计算面积和周长。
输出:用printf输出结果,%.2f表示保留两位小数。
2.温度转换(摄氏度→华氏度)
题目:输入摄氏度温度C,将其转换为华氏度F并输出,公式:F = (9/5)C + 32。
#include <stdio.h>
int main() {
float C, F;
// 输入摄氏度
printf("请输入摄氏度温度:");
scanf("%f", &C);
// 转换为华氏度
F = (9.0/5.0) * C + 32; // 注意用9.0/5.0确保浮点数运算
// 输出结果
printf("%.2f 摄氏度 = %.2f 华氏度
", C, F);
return 0;
}
3.交换两个变量的值
题目:输入两个整数a和b,交换它们的值后输出。
#include <stdio.h>
int main() {
int a, b, temp;
// 输入两个数
printf("请输入两个整数(用空格分隔):");
scanf("%d %d", &a, &b);
// 交换值
temp = a; // 保存a的值到temp
a = b; // 将b的值赋给a
b = temp; // 将temp的值赋给b
// 输出交换后的结果
printf("交换后:a = %d, b = %d
", a, b);
return 0;
}
关键点:借助临时变量temp保存中间值,避免直接覆盖数据。
四、课堂小结
顺序结构三要素:
输入 → 处理 → 输出
核心知识点:
1. 程序框架:main函数+头文件
2. 变量三要素:类型、名称、值
3. 输入输出函数:printf/scanf格式控制
4. 运算表达式:注意数据类型匹配
编程规范:
1. 合理缩进
2. 变量见名知意
3. 添加注释说明
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$$