C语言程序设计_zju——记录1 1 历史中的C语言 2 C语言输出Hello World 3 变量、赋值、初始化、表达式、数据类型、常量 4 浮点数 5 计算时间差 6 运算符优先级 7 如何使用DEV-C++调试 8 复合赋值 9 前缀后缀

C语言是伴随着Unix一起起来的,作为一个有着40多年历史的语言,它是当代很多新兴语言的基础参考体系,但是它也无可避免地带着1970年代的时代烙印。今天的编程语言,基本上都是一家主持的,标准统一,编译运行环境单纯。而C语言只有所谓的标准,每个实现C语言编译器和运行库的厂家都在往里面加入自己的方言。
C语言标准的最新版本是2011年的C11,但是目前编译器支持得最好的是1999年的C99。我们会按照C99来展开教学。国内很多大学,包括所谓的二级考试,还在坚持更老的ANSI C。

2 C语言输出Hello World

2.1 正规C的做法 int main(int argc, char **argv)

#include <stdio.h>
int main(int argc, char **argv) {
    printf("Hello, World!
");
    return 0;
}

2.2 DEV-C++

hello.c

#include<stdio.h>
int main(){
	printf("Hello world");
	return 0;
} 

2.3 程序框架

#include<stdio.h>
int main(){
	//填入代码
	return 0;
} 

3 变量、赋值、初始化、表达式、数据类型、常量

change.c

  • C99允许在程序的任何地方定义变量
#include <stdio.h>
int main()
{
    int price = 0;

    printf("请输入金额(元):");
    scanf("%d", &price);

    int change = 100 - price;

    printf("找您%d元。
", change);

    return 0;
}
  • ANSI C只能在代码开头的地方定义变量
#include <stdio.h>
int main()
{
int price = 0;
int change=0;

    printf("请输入金额(元):");
    scanf("%d", &price);

    change = 100 - price;

    printf("找您%d元。
", change);

    return 0;
}

3.1 常量

C99 const int AMOUNT=100;

#include <stdio.h>

int main()
{
	const int AMOUNT = 100;
	int price = 0;

	printf("请输入金额(元):");
	scanf("%d", &price);

	int change = AMOUNT - price;

	printf("找您%d元。
", change);

	return 0;
}

4 浮点数

两个整数的运算结果只能是整数
当浮点数和整数放到一起运算时,C会将整数转换成浮点数,然后进行浮点数的运算

#include <stdio.h>

int main()
{
	printf("%d
",10*3/3);//10
	printf("%d
",10/3*3);//9
	printf("%f
",10.0/3*3);//10.000000
	printf("%d
",10/3);//3
	printf("%f
",10/3);//0.000000
	printf("%f
",10.0/3);//3.333333
	
	return 0;
}
#include <stdio.h>

int main()
{
	printf("请分别输入身高的英尺和英寸,"
		"如输入"5 7"表示5英尺7英寸:");

	double foot;
	double inch;

	scanf("%lf %lf", &foot, &inch);

	printf("身高是%f米。
", 
		((foot + inch / 12) * 0.3048));

	return 0;
}

5 计算时间差

输入2个小时数和2个分钟数
C语言程序设计_zju——记录1
1 历史中的C语言
2 C语言输出Hello World
3 变量、赋值、初始化、表达式、数据类型、常量
4 浮点数
5 计算时间差
6 运算符优先级
7 如何使用DEV-C++调试
8 复合赋值
9 前缀后缀

6 运算符优先级

C语言程序设计_zju——记录1
1 历史中的C语言
2 C语言输出Hello World
3 变量、赋值、初始化、表达式、数据类型、常量
4 浮点数
5 计算时间差
6 运算符优先级
7 如何使用DEV-C++调试
8 复合赋值
9 前缀后缀

  • 一般自左向右
  • 单目+ - 和赋值= 自右向左

6.1 求两个整数的平均值

#include <stdio.h>

int main()
{
	int a,b;

	scanf("%d %d", &a, &b);

	double c = (a+b)/2.0;
	
	printf("%d和%d的平均值=%f
", a, b, c);

	return 0;
}

7 如何使用DEV-C++调试

7.1 断点,这行变红色,红色勾。断点作用:程序运行到这行后会停在这行

C语言程序设计_zju——记录1
1 历史中的C语言
2 C语言输出Hello World
3 变量、赋值、初始化、表达式、数据类型、常量
4 浮点数
5 计算时间差
6 运算符优先级
7 如何使用DEV-C++调试
8 复合赋值
9 前缀后缀

7.2 点击调试(F5)

C语言程序设计_zju——记录1
1 历史中的C语言
2 C语言输出Hello World
3 变量、赋值、初始化、表达式、数据类型、常量
4 浮点数
5 计算时间差
6 运算符优先级
7 如何使用DEV-C++调试
8 复合赋值
9 前缀后缀

7.3 变蓝色箭头,蓝色这行表示,这行还没有执行即将要执行。接下来可以点击“下一步”

C语言程序设计_zju——记录1
1 历史中的C语言
2 C语言输出Hello World
3 变量、赋值、初始化、表达式、数据类型、常量
4 浮点数
5 计算时间差
6 运算符优先级
7 如何使用DEV-C++调试
8 复合赋值
9 前缀后缀

7.4 Dev-C++鼠标经过查看变量的值,要设置

C语言程序设计_zju——记录1
1 历史中的C语言
2 C语言输出Hello World
3 变量、赋值、初始化、表达式、数据类型、常量
4 浮点数
5 计算时间差
6 运算符优先级
7 如何使用DEV-C++调试
8 复合赋值
9 前缀后缀

C语言程序设计_zju——记录1
1 历史中的C语言
2 C语言输出Hello World
3 变量、赋值、初始化、表达式、数据类型、常量
4 浮点数
5 计算时间差
6 运算符优先级
7 如何使用DEV-C++调试
8 复合赋值
9 前缀后缀

8 复合赋值

C语言程序设计_zju——记录1
1 历史中的C语言
2 C语言输出Hello World
3 变量、赋值、初始化、表达式、数据类型、常量
4 浮点数
5 计算时间差
6 运算符优先级
7 如何使用DEV-C++调试
8 复合赋值
9 前缀后缀

9 前缀后缀

C语言程序设计_zju——记录1
1 历史中的C语言
2 C语言输出Hello World
3 变量、赋值、初始化、表达式、数据类型、常量
4 浮点数
5 计算时间差
6 运算符优先级
7 如何使用DEV-C++调试
8 复合赋值
9 前缀后缀

参考资料

程序设计入门——C语言_浙江大学_中国大学MOOC(慕课) http://www.icourse163.org/course/ZJU-199001