第一章 C语言概述
一.什么是C语言
C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSIC,作为C语言最初的标准。[1]目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。
C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、TurboC等。
二.C语言的特点
1.语言简洁,灵活(C语言只有33个标准的关键字,44个标准的运算符以及9种控制语句)
2.数据类型丰富
3.运算符多样,表达能力强(44个运算符)
4.函数是程序的主体(C语言中,函数是程序的基本单位)
5.C语言允许直接访问物理地址
6.生成的目标代码质量高(C语言简洁,紧凑,程序执行速度快)
7.可移植性好
第二章 数据类型,表达方式及运算
一.写自己的第一个代码
1.写出包含头文件的语句:#include <stdio.h>
2.写出主函数:main()
3.写入函数输出语句:prtinf();
4.插入要写的内容在输出语句中,如:"hell word"
5.编译,链接和运行代码:ctrl+F5或Fn+ctrl+F5
注:一个工程中可以有多个.c文件,但是.c文件中只能有一个main函数
(老师课堂练习)
提醒:整数与整数的运算结果是整数用%d,整数与小数,小数与小数的运算结果才是小数用%f
(老师课后作业)
1 复习所有讲解内容,完成老师编写的代码,并深刻理解
2 查询与,或,非运算,查询ASCII相关知识。
ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是一种字符编码标准,用于电子通讯。ASCII码用于表示英文字母和西欧字符,以及控制字符如换行符等,使计算机能够存储和交换数据。ASCII最初于1963年被发布,后经过几次更新,其中最著名的是1986年发布的版本。
ASCII码表的基本结构
ASCII定义了128个字符,包括:
- 33个非打印控制字符(如回车、换行等),这些字符没有对应的可视化表示,用于控制设备如打印机的行为。
- 95个可打印字符,包括:
- 26个大写英文字母(A-Z)
- 26个小写英文字母(a-z)
- 10个数字(0-9)
- 33个标点符号和特殊字符(如空格、句号、逗号等)
ASCII码值
ASCII码使用7位二进制数表示一个字符(从0000000到1111111),因此可以表示27=12827=128个不同的值。这些值从0到127,用十进制、十六进制或二进制表示。例如:
- 字符 'A' 的ASCII码是65(十进制)、41(十六进制)、01000001(二进制)。
- 字符 'a' 的ASCII码是97(十进制)、61(十六进制)、01100001(二进制)。
- 换行符(LF,Line Feed)的ASCII码是10(十进制)、0A(十六进制)、00001010(二进制)。
扩展ASCII码
虽然标准ASCII码只使用了7位二进制数,但许多系统使用扩展的ASCII码,即使用8位二进制数(从00000000到11111111),可以表示256个不同的值。扩展ASCII码(128-255)包括了一些额外的字符,如拉丁字母、希腊字母、符号等,这些扩展依赖于特定的编码方案,如ISO 8859-1或Windows-1252。
ASCII码的重要性
ASCII码是现代字符编码系统的基础,如UTF-8编码。UTF-8是一种变长字符编码方式,用于表示Unicode字符集,它与ASCII兼容,意味着ASCII字符在UTF-8编码中保持不变,这使得老旧的系统和文件在很大程度上能与现代系统兼容。
二.C语言的数据类型
2.1.C语言的数据类型分类
2.2.C语言数据类型的取值范围
注意:在VC++6.0环境中,int型的字节长度和long int型的字节长度相同,都是4个字节。而在TC2.0环境中,int型的字节长度为2个字节。
2.3.函数输出语句中不同的转换符的意义
%d 表示数据按十进制整型数输出。
%f 表示数据按十进制带小数点的形式输出。%0 表示数据按八进制整型数输出。
%× 表示数据按十六进制整型数输出。
%c 表示数据按字符型输出。
%u 表示数据按十进制无符号整型数输出。
三.常量
概念:又称常数,是指在程序运行中,其值不能被改变的量.
3.1类型
1.整型常量:由一个或多个数字组成,可以有正,负号,但不能有小数点.
表示方法:
(1)十进制整数
(2)八进制整数:以0开头的数.
(3)十六进制整数:以0x开头的数.
2.实型整数:再C语言中,把小数的数值称为实数或浮点数.
表示方法:
(1)十进制数形式:由正,负号,整数部分,小数点,小数部分组成.
(2)指数形式:由正、负号,整数部分,小数点,小数部分和字母E或e后面带正、负号的整
数组成.
注意:(1)字母e或E之前(即尾数部分)必须有数字.
(2)e或E后面的指数部分必须是整数.
(3)实型常量的后缀,用F(或f)表示单精度型;用后缀L(或1)表示双精度型.
(4)一个实数输出时,是按规格化的指数形式输出的,即小数点前面只有一位数字.
3.字符型常量:由一对单引号括起来的单个字符,在内存中占1个字节.C语言中还允许用一种特殊形式的字符型常量,即以反斜杠字符'\'开头的字符序列.这内字符成为”转义字符“,意思是将把反斜杠'\'后面的字符转换成另外的意义.
常见的转义字符:
4.字符串常量:由一对双引号括起来的字符序列,若字符序列串长为N,则在内存中占
用N+1个内存单元,字符串常量在内存中存储时,系统自动加上串尾标记\0’.
5.符号常量:用一个特定的符号来代替一个常量或一个较为复杂的字符串,这个符号称为符号常量。它通常由预处理命令#define来定义。符号常量一般用大写字母表示,以便与其他标识符相区别.符号常量的一般定义形式:#define 符号常量 常量(或”字符串”)预处理命令#define 又称为宏定义命令,一个#define命令只能定义一个符号常量,因为它不是语句,所以结尾不用加分号.
使用符号常量的优点如下:
(1)增强可读性。
(2)简化输入程序。
(3)增强程序的通用性和可维护性。
四.变量
概念:是指在程序运行中其值可以被改变的某个标识符.
4.1类型
1.整型变量:
2.实型变量:
3.字符型变量:
4.指针型变量:
4.2作用域和生命周期
1.作用域
(1)局部变量的作用域:就是变量所在的局部范围
(2)全局变量的作用域:整个工程
2.生命周期:变量的建立和销毁的时间段
(1)局部变量:进入局部范围生命开始,出局部范围生命结束
(2)全局变量:整个程序的生命周期