1.1 C语言的起源
C 语言是一种通用的高级语言,最初是由丹尼斯·里奇在贝尔实验室为开发 UNIX 操作系统而设计的。C 语言最开始是于 1972 年在 DEC PDP-11 计算机上被首次实现。
1.2 C语言的特点
- 易于学习。
- 结构化语言。
- 它产生高效率的程序。
- 它可以处理底层的活动。
- 它可以在多种计算机平台上编译。
1.3 C语言的应用范围
C 语言最初是用于系统开发工作,特别是组成操作系统的程序。由于 C 语言所产生的代码运行速度与汇编语言编写的代码运行速度几乎一样,所以采用 C 语言作为系统开发语言。下面列举几个使用 C 的实例:
- 操作系统
- 语言编译器
- 汇编器
- 文本编辑器
- 后台打印服务(Print Spooler)
- 网络驱动器
- 现代程序
- 数据库
- 语言解释器
- 实体工具
- 服务器。
- 操作系统。
- 上层应⽤。 MFC、QT
- 嵌⼊式。
- ⼈⼯智能、硬件驱动。
- 中间件。
- ⽹络攻防、数据安全。
- ⼤学必修课。
- 名企、外企。
1.3 计算机能做什么
如果你希望使用计算机做某些事,就必须为其提供特殊的指令列表(程序),确切地告诉计算机要做的事以及如何做。
1.4 使用C语言的七个步骤
- 定义程序的目标
- 设计程序
- 编写代码
- 编译
- 运行程序
- 测试和调试程序
- 维护和修改程序
1.5 第一个C语言程序
#include<stdio.h>
int main() {
// 主函数-程序的入口:程序从这开始执行;main() 有且只有一个此函数
// int 是整型的意思
// main 前面的 int表示main 函数调用返回一个整型值
// void 已经过时的写法
printf("你好世界\n");
// 函数 print function - printf 打印函数
// 库函数 C语言本身提供给我们使用的函数
// 包含一个叫stdio的文件:std-标准 standard input output
printf("hello world!/n");
return 0;
}
-
C语言代码
- 头文件.h
- 源文件.c
1.6 数据类型
- char // 字符数据类型
- short // 短整型
- int // 整型
- long // 长整型
- long long // 更长的整形
- float // 单精度浮点型
- double // 双精度浮点型
C 语言有没有字符串类型?
- 为什么出现这种类型?
- 每种类型的大小是多少?
#include<stdio.h>
int main() {
/*
%d -打印整型
%c -打印字符
%f -打印浮点数字-打印小数
%p -以地址的形式打印
%x -打印16进制数字
%o ……
*/
// char 字符类型
char ch = 'A';
printf("%c\n", ch);
// %c 打印字符格式的数据
int age = 20;
printf("%d\n", age);
// %d 打印整型 | 进制数据
// short int 短整型
//
// long 长整型
long num = 100;
printf("%d\n", num);
float f = 5.0;
printf("%f\n", f);
double lf = 3.14;
printf("%lf\n", lf);
return 0;
}
#include<stdio.h>
int main() {
printf("%d\n", sizeof(char));
printf("%d\n", sizeof(short));
printf("%d\n", sizeof(long));
printf("%d\n", sizeof(long long));
printf("%d\n", sizeof(float));
printf("%d\n", sizeof(double));
return 0;
}
课后知识学习部分
1.对编程而言,可移植性意味着什么?
2.解释源代码文件、目标代码文件和可执行文件有什么区别?
3.编程的7个主要步骤是什么?
4.编译器的任务是什么?
5.链接器的任务是什么?
C PrimerPlus 引导实例
你刚被MacroMuscle有限公司聘用。该公司准备进入欧洲市场,需要一个把英寸单位转换为厘米单位(1英寸=2.54厘米)的程序。该程序要提示用户输入英寸值。你的任务是定义程序目标和设计程序(编程过程的第1步和第2步)。
- 第一步:提示用户输入英寸值(scanf)
- 第二步:英寸单位转换为厘米(浮点型float 整型int)
- 第三步:英寸 = 2.54厘米 centimeter=inch*2.54
// 第一步:提示用户输入英寸值(scanf)
// 第二步:英寸单位转换为厘米(浮点型float 整型int)
#include<stdio.h>
int main(){
float lnch;
float centimeter;
// float inch,centimeter;
// 提示用户进行输入
printf("请输入多少英寸: \n");
// 按要求输入英寸
scanf("%f",&lnch);
centimeter = lnch*2.54;
printf("%.2f英寸等于%.2f厘米\n",lnch,centimeter);
return 0;
}
用JAVA代码解决上述问题:补充知识点Scanner类的使用
package Java_Lower.Day01.Day01code;
//! 导入Scanner
import java.util.Scanner;
/**
功能:输入个人信息:姓名,性别,年龄,考试分数
作者:兮和
时间:2024/3/7 16:22
*/
public class ScannerPrintInfo {
public static void main(String[] args) {
//! 给用户开一个通过键盘录入程序的入口 --- Scanner
Scanner input = new Scanner(System.in);
//! 接受用户的键盘录入
//! 使用变量用来存储个人信息
System.out.println("请输入姓名 ");
String name = input.nextLine();
System.out.println("请输入性别 ");
String gender = input.nextLine();
System.out.println("请输入年龄 ");
int age = input.nextInt();
System.out.println("请输入考试分数 ");
double score = input.nextDouble();
System.out.println("姓名:" + name + ",性别:" + gender + ",年龄:" + age + ",考试分数:" + score);
}
}
package Java_Lower.Day01.Day01code;
import java.util.Scanner;
/**
功能:
作者:兮和
时间: 16:03
*/
public class temperatureConversion {
public static void main(String[] args) {
float lnch = 0,centimeter;
System.out.println("请输入多少英寸:");
Scanner input = new Scanner(System.in);
lnch = input.nextFloat();
centimeter = lnch * 2.54f;
System.out.println(lnch + "英寸等于" + centimeter + "厘米");
}
}
用python代码解决上述问题:补充知识点:强制类型的转换
print("请输入多少英寸:")
lunch = float(input())
centimeter = lunch * 2.54
print(str(lunch) + '英寸等于' + str(centimeter) + '厘米')
1.7 常见的开发工具
- Windows操作系统
- vs(visual studio)2013、2015、2017、2019、2022
- Clion:跨平台IDE、跟Java的IDEA、python的pycharm是同一家公司的
- Qt Creator 跨平台IDE
- MacOS(苹果电脑的操作系统)
- Xcode Clion:跨平台IDE。 Qt Creator 跨平台IDE。
- Linux:
- vi/vim —— ⽂本编辑器。 Clion:跨平台IDE。 Qt Creator 跨平台IDE。 备注:大多企业开发用vs会更多一些
1.8 环境搭建
- 打开微软的官方网站
https://visualstudio.microsoft.com/,下载Visual Studio安装包。
- 双击安装包进行安装
- 操作一:在 “工作负荷” 标签页中,选择 “使用
C++的桌面开发” 选项即可。 - 操作二:“安装位置” 中修改安装路径。
路径的要求:
1、不要有中文,不要有空格,不要有一些特殊符号
2、选择一个统一的文件夹进行管理
- 自动下载并安装,过程略微漫长,耐心等待。
- 安装完成,弹出 “安装完毕” 对话框。 点击确定。
- 接下来,VS希望你使用微软的账号登录,没有可以注册一个。也可以点击“暂时跳过此项”。
- 根据提示选择一个自己喜欢的主题
- 点击启动,到此整个环境全部搭建完毕
1.9 第一个代码HelloWorld
- 创建项目 点击 “创建新项目”,创建一个项目。
- 选择创建 “控制台应用”,点击下一步。
- 指定项目名称。确保位置下的项目存储目录存在。 勾选 “将解决方案和项目.....” ,点击 “创建”。
- 右侧的解决方案管理器可以按照自己的习惯是放在左侧或者右侧默认是右侧,可以拖到左侧来,每个人的习惯不同,没有固定标准
- 创建 helloworld.c ⽂件 右键选择原文件,选择添加,选择新建项
- 在弹出的编辑框中,选中 “C++文件(.cpp)”,将 下方 “源.cpp” 手动改为要新创建的文件名, 如:helloWorld.c 。注意,默认 cpp 后缀名,要手动改为 .c 后缀名,然后点击 “添加”。
- 编写 helloworld.c程序。
#include <stdio.h>
int main(void)
{
printf("hello world!\n");
return 0;
}
- 点击上方绿色空心三角运行即可
1.10 代码逐行分析
- #include: 引⼊头⽂件专⽤关键字。
- <> : ⽤来包裹 库头⽂件名
- stdio.h : 使⽤的头⽂件。因为程序中使⽤了 printf() 函数。就必须使⽤该头⽂件。
std:标准:standard
i: input 输⼊。
o: output 输出。
- int :main 函数返回值为整型。
- main: 整个程序的⼊⼝函数。 任何.c 程序,有且只有⼀个 main 函数。
- printf(); C语⾔向屏幕输出字符使⽤的函数。
- printf(“helloworld\n”) printf();向屏幕输出一段内容 helloworld: 待写出的字符串内容。 \n: 回⻋换⾏。
- return 0; return 返回。 C程序要求,main 函数要有返回值。借助 return 实现返回。 0:成功!因为 int ,返回整数。 注意事项
- 程序中使⽤的所有的字符,全部是 “英⽂半⻆” 字符。
- 程序中,严格区分⼤⼩写。
- “;” 代表⼀⾏结束。不能使⽤ 中⽂ “;”,必须是英⽂。
1.11 代码执行流程分析
完成的C语言运行,分为以下4步,在VS中我们直接运行,其实是把中间的步骤给省略了
- 预处理(这一步后面单独讲解)
- 简单理解,就是先找到#include后面的 <stdio.h>这个文件
- 编译
- 把c文件编译成二进制文件后缀名为obj
- 连接/链接
- 把预处理找到的h文件,还有编译之后产生的obj文件打包在一起,产生exe文件
- 运行
- 运行exe文件