《C语言程序设计》知识点(一)

108 阅读5分钟

一.入门知识

1.1.1 初识C语言

#include <stdio.h>//预处理.
//主函数,程序入口
int main() {
     //输出函数
    printf("Hello World!");
    //程序正常退出
    return 0;
}

  1. 在书写C语言程序时,#include <stdio.h>是开始。
  2. main有且只有一个
  3. return 0;是结束。

1.1.2 注释

  1. 单行注释 //单行注释 用在:解释一句语句时使用。
  2. 多行注释 /单行注释/ 用在:代码块解释,如函数等。

1.1.3 关键字

这些关键字不能作为常量名、变量名或其他标识符名称.

注:编辑器通常有关键字的字体颜色识别。

关键字说明
auto声明自动变量
break跳出当前循环
case开关语句分支
char声明字符型变量或函数返回值类型
const定义常量,如果一个变量被 const 修饰,那么它的值就不能再被改变
continue结束当前循环,开始下一轮循环
default开关语句中的"其它"分支
do循环语句的循环体
double声明双精度浮点型变量或函数返回值类型
else条件语句否定分支(与 if 连用)
enum声明枚举类型
extern声明变量或函数是在其它文件或本文件的其他位置定义
float声明浮点型变量或函数返回值类型
for一种循环语句
goto无条件跳转语句
if条件语句
int声明整型变量或函数
long声明长整型变量或函数返回值类型
register声明寄存器变量
return子程序返回语句(可以带参数,也可不带参数)
short声明短整型变量或函数
signed声明有符号类型变量或函数
sizeof计算数据类型或变量长度(即所占字节数)
static声明静态变量
struct声明结构体类型
switch用于开关语句
typedef用以给数据类型取别名
unsigned声明无符号类型变量或函数
union声明共用体类型
void声明函数无返回值或无参数,声明无类型指针
volatile说明变量在程序执行中可被隐含地改变
while循环语句的循环条件

printf(参数1,参数2); 参数1:输出的最终形式,以字符串形式体现 参数2:填补内容

占位符含义
%d以十进制形式输出整数
%u以十进制形式输出无符号整数
%x以十六进制形式输出整数(小写字母)
%X以十六进制形式输出整数(大写字母)
%o以八进制形式输出整数
%f以浮点数形式输出实数
%e以指数形式输出实数
%g自动选择 %f 或 %e 输出实数
%c输出单个字符
%s输出字符串
%p输出指针的地址
%n输出已经输出的字符数
%%输出百分号本身

1.1.4 常量

  1. 常量是固定值,在程序执行期间不会改变。这些固定的值,又叫做字面量

  2. 常量可以是任何的基本数据类型,比如整数常量、浮点常量、字符常量,或字符串字面值,也有枚举常量。

  3. 常量就像是常规的变量,只不过常量的值在定义后不能进行修改。

  4. 常量可以直接在代码中使用,也可以通过定义常量来使用。

5)有两种简单的定义常量的方式:使用情况const>define

  1. 使用  #define 预处理器: #define 可以在程序中定义一个常量,它在编译时会被替换为其对应的值。
define 数据类型 常量名 = 常量值;
//简单的文本替换

2.使用 const 关键字:const 关键字用于声明一个只读变量,即该变量的值不能在程序运行时修改

const 数据类型 常量名 = 常量值;
//const具有类型检查和作用域的优势
转义序列含义
\\ 字符
'' 字符
"" 字符
?? 字符
\a警报铃声
\b退格键
\f换页符
\n换行符
\r回车
\t水平制表符
\v垂直制表符
\ooo一到三位的八进制数
\xhh . . .一个或多个数字的十六进制数
    printf("Hello, World!\n");
    printf("输出单引号:\'\n");  // 输出单引号
    printf("输出双引号:\"\n");  // 输出双引号
    printf("输出换行符:\n");  // 输出换行符
    printf("输出反斜杠:\\");  // 输出反斜杠

1.1.5 变量

  1. 变量的名称可以由字母、数字和下划线字符组成。它必须以字母或下划线开头。大写字母和小写字母是不同的,因为 C 是大小写敏感的。
数据类型 变量名 =c#才有var(任意类型)

1.1.6 数据类型

存储大小值范围
char1 字节-128 到 127 或 0 到 255
signed char1 字节-128 到 127
int2 或 4 字节-32,768 到 32,767 或 -2,147,483,648 到 2,147,483,647
short2 字节-32,768 到 32,767
long4 字节-2,147,483,648 到 2,147,483,647
unsigned long4 字节0 到 4,294,967,295
类型存储大小值范围精度
--------------------------------------------
float4 字节1.2E-38 到 3.4E+386 位有效位
double8 字节2.3E-308 到 1.7E+30815 位有效位
long double16 字节3.4E-4932 到 1.1E+493219 位有效位

类型转换

隐式类型转换: 通常是小转大
隐式类型转换也可能会导致数据精度丢失或数据截断。

显式类型转换: 类型进行强制转换 也可能会导致数据精度丢失或数据截断。 ``

//**隐式类型转换**
int a = 1;
float b = 3.14;
double c = a + b; // 隐式将int类型转换为double类型
//**隐式类型转换**
float = 1.1f;
int i = (int)j;