C语言程序设计_zju——记录1
1 历史中的C语言
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!\n");
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元。\n", 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元。\n", 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元。\n", change);
return 0;
}
4 浮点数
两个整数的运算结果只能是整数
当浮点数和整数放到一起运算时,C会将整数转换成浮点数,然后进行浮点数的运算
#include <stdio.h>
int main()
{
printf("%d\n",10*3/3);//10
printf("%d\n",10/3*3);//9
printf("%f\n",10.0/3*3);//10.000000
printf("%d\n",10/3);//3
printf("%f\n",10/3);//0.000000
printf("%f\n",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米。\n",
((foot + inch / 12) * 0.3048));
return 0;
}
5 计算时间差
输入2个小时数和2个分钟数
6 运算符优先级
- 一般自左向右
- 单目+ - 和赋值= 自右向左
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\n", a, b, c);
return 0;
}
7 如何使用DEV-C++调试
7.1 断点,这行变红色,红色勾。断点作用:程序运行到这行后会停在这行
7.2 点击调试(F5)
7.3 变蓝色箭头,蓝色这行表示,这行还没有执行即将要执行。接下来可以点击“下一步”
7.4 Dev-C++鼠标经过查看变量的值,要设置
8 复合赋值
9 前缀后缀
参考资料
程序设计入门——C语言_浙江大学_中国大学MOOC(慕课) http://www.icourse163.org/course/ZJU-199001
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,携手博客园推出1Panel与Halo联合会员
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次 .NET某固高运动卡测试 卡慢分析
· 微服务架构学习与思考:微服务拆分的原则
· 记一次 .NET某云HIS系统 CPU爆高分析
· 如果单表数据量大,只能考虑分库分表吗?
· 一文彻底搞懂 MCP:AI 大模型的标准化工具箱
· 博客园2025新款「AI繁忙」系列T恤上架
· Avalonia跨平台实战(二),Avalonia相比WPF的便利合集(一)
· C# LINQ 快速入门实战指南,建议收藏学习!
· Redis实现高并发场景下的计数器设计
· 上周热点回顾(4.7-4.13)