C语言家教记录(一)
导语
本次授课内容如下:C语言简介、Codeblocks安装和使用、简单程序结构、变量(常量)和赋值、输入输出
有时间则讲解printf和scanf
辅助教材为《C语言程序设计现代方法(第2版)》
C语言简介
特点
底层语言、小型语言、包容性语言
优点
高效、可移植、功能强大、灵活、标准库、UNIX、做编译器
缺点
隐蔽错误,难理解和修改
Codeblocks安装和使用
按照正常软件流程安装,一切按照默认,初次使用的时候选择第4个
建立一个C项目,编译和运行,解释常用报错
简单程序结构
C程序=指令(预处理器执行)+函数(实现功能)+语句(具体实现)
#include <stdio.h>
int main()
{
printf("This is a test\n");
return 0;
}
注释:增强可读性,用于记录
变量(常量)和赋值
类型
int、char、short、float、double、long int、long long int、unsigned int、long double
分别介绍大小和意思
声明
先确定类型,再确定名字
int a,b,c;
float len,height;
常量
预处理指令,会把每一个宏替换为表示的值
#define NUMBERS 10
赋值
必须先声明才能赋值,也可以声明的时候赋值,初始化
int a;
a=10;
标识符
标识符:变量、函数、宏、结构体等
命名规则:区分大小写,不能是关键字,以字母或下划线开头
基本运算
运算符:+ - * / ()
int a,b;
a=1;
b=2;
printf("%d %d %d %d",b+a,b-a,b/a,b*a);
输入输出
printf
基本格式
printf使用格式:
printf(格式串,表达式序列);
int a=1;
float b=1.2;
char s[11]="string";
printf("%d\n %f\n %s\n",a,b,s);
格式串=普通字符(可直接输出)+转换说明
转义序列
\a \b \n \t \ "
printf("Item\tUnit\tPurchase\n\tPrice\tDta\n");
printf("test\a");
介绍各自的功能,使用事例
scanf
基本格式:转换符+变量
int i,j;
float x,y;
scanf("%d%d%f%f",&i,&j,&x,&y);
数目和格式必须匹配
转换说明
d e f g s lf ld lld
介绍各自的使用场景
%5d %-5d %5.3d %10.3f
#include <stdio.h>
int main()
{
int i;
float x;
i=40;
x=839.21f;
printf("|%d|%5d|%-5d|%5.3d|\n",i,i,i,i);
printf("|%10.3f|%10.3e|%-10g|\n",x,x,x);
return 0;
}
示例程序
计算空间箱子重量改进版
#include <stdio.h>
int main(void)
{
int height, length, width, volume, weight;
printf("Enter height of box: ");
scanf("%d", &height);
printf("Enter length of box: ");
scanf("%d", &length);
printf("Enter width of box: ");
scanf("%d", &width);
volume = height * length * width;
weight = (volume + 165) / 166;
printf("Volume (cubic inches): %d\n", volume);
printf("Dimensional weight (pounds): %d\n", weight);
return 0;
}
华氏温度换摄氏温度
#include <stdio.h>
#define FREEZING_PT 32.0f
#define SCALE_FACTOR (5.0f / 9.0f)
int main(void)
{
float fahrenheit, celsius;
printf("Enter Fahrenheit temperature: ");
scanf("%f", &fahrenheit);
celsius = (fahrenheit - FREEZING_PT) * SCALE_FACTOR;
printf("Celsius equivalent: %.1f\n", celsius);
return 0;
}
总结和复习
本次授课为书上前三章的内容,关键点:理解变量,输入输出,理解示例