C语言学习笔记Day1——持续更新中... ...

本文档介绍了C语言的基础知识,包括进制转换、逻辑运算、编译过程。讲解了C语言中的数据类型如整型、字符型、浮点型以及枚举和构造类型。还提到了变量、数据类型的宽度、字符串、类型强转和控制语句的概念。同时,提供了代码示例来解释这些概念。
摘要由CSDN通过智能技术生成
环境名环境版本
操作系统Windows 10 Professional 21H2
IDEMicrosoft Visual Studio Professional 2017

说明: 这是我复习C语言做的笔记, 所以有些是直接省略的!!!

一. 进制

使用Ctrl+左键点击查看百度词条

Tips: 只需记住二进制转十进制、十六进制即可,其余了解便足以。

二. 逻辑运算

1. 运算符

使用Ctrl+左键点击查看百度词条

Tips:大概了解便可,后面会经常用到。

2. C编译过程

C源程序
预编译处理, 此时为C\C++代码
编译程序本身, 此时为汇编代码
优化程序
汇编程序
链接程序
可执行文件

三. 第一个C程序

使用Ctrl+左键打开工程文件

转义字符解释
\n换行
\r回车
\b退格
\f换页
\t制表符
\v垂直制作表
\a鸣响
?插入问号
\"插入"
\’插入’
\\插入\

四. 数据类型与变量

使用Ctrl+左键打开工程文件

1. 数据类型

  • 基本类型
    • 整型 —— 有正负之分, 即所谓的无符号、有符号
      • (无符号)短整型 —— [unsigned] short
      • (无符号)常规整型 —— [unsigned] int
      • (无符号)长整型 —— [unsigned] long int
      • … …
    • 字符型 —— char
    • 浮点型
      • 单精度浮点型 —— float
      • 双精度浮点型 —— double
    • 枚举类型 —— enum[此为关键字]
  • 构造类型
    • 数组类型 —— 标识符: []
    • 结构体类型 —— 标识符: struct
    • 共用体类型 —— 标识符: union
  • 指针类型
  • 空类型

2. 数据类型的宽度(大小)

2.1 有符号整数类型

类型名称类型名称取值范围
signed char1-2^7(-128) ~ 2^7-1(127)
short int 或 short2-2^15(-32 768) ~ 2^15-1(32 767)
int4-2^31(-2 147 483 648) ~ 2^31-1(2 147 483 647)
long int 或 long4-2^31(-2 147 483 648) ~ 2^31-1(2 147 483 647)
long long int 或 long long8-2^63(-9.2233720368548e+18) ~ 2^63-1(9.2233720368548e+18)

2.2 无符号整数类型

类型名称类型名称取值范围
unsigned char10 ~ 2^8-1(255)
unsigned short int 或 unsigned short20 ~ 2^16-1(65 535)
unsigned int40 ~ 2^32-1(4 294 967 295)
unsigned long int 或 unsigned long40 ~ 2^32-1(4 294 967 295)
unsigned long long int 或 unsigned long long80 ~ 2^64-1(1.844674407371e+19)

2.3 浮点类型

类型名称类型名称取值范围
float4-/+3.4e38(精确到6位小数)
double8-/+1.7e308(精确到15位小数)
long double12-/+1.19e4932(精确到18位小数)

2.4 补充说明

可以包含***limits.h***头文件查看其它类型的宽度,使用方式如下:

/*获取char数据类型的取值范围*/
#include<stdio.h>
#include<limits.h>
int main(void)
{
	printf("char:MIN %d;MAX %d", CHAR_MIN, CHAR_MAX);
	return 0;
}

Tips: sizeof()可获取占用的字节数

3. 变量

3.1 什么是变量

一个装数据的容器

3.2 怎么定义变量

变量的定义如下:

[数据类型关键字] [变量名] = [初始值];

Tips: 一般而言定义变量之后最好都附初值

3.3 变量命名规则

  • 只能由字母、数字、下划线组成
  • 第一个字符必须是英文字母或者下划线
  • 有效长度为255个字符
  • 不可以包含除下划线以外的其它特殊字符
  • 不可以是关键字

3.4 C语言中的关键字

C语言中共有32个关键字,目前只需了解即可,无需记忆。分别如下:

  • 数据类型关键字(12个):

    • char :声明字符型变量或函数

    • double :声明双精度变量或函数

    • enum :声明枚举类型

    • float:声明浮点型变量或函数

    • int: 声明整型变量或函数

    • long :声明长整型变量或函数

    • short :声明短整型变量或函数

    • signed:声明有符号类型变量或函数

    • struct:声明结构体变量或函数

    • union:声明共用体(联合)数据类型

    • unsigned:声明无符号类型变量或函数

    • void :声明函数无返回值或无参数,声明无类型指针(基本上就这三个作用)

  • 控制语句关键字(12个):

    • 循环语句

      • for:一种循环语句(可意会不可言传)

      • do :循环语句的循环体

      • while :循环语句的循环条件

      • break:跳出当前循环

      • continue:结束当前循环,开始下一轮循环

    • 条件语句

      • if: 条件语句

      • else :条件语句否定分支(与 if 连用)

      • goto:无条件跳转语句

    • 开关语句

      • switch :用于开关语句

      • case:开关语句分支

      • default:开关语句中的“其他”分支

    • 返回语句

      • return :子程序返回语句(可以带参数,也看不带参数)
  • 存储类型关键字(4个)

    • auto :声明自动变量 一般不使用

    • extern:声明变量是在其他文件正声明(也可以看做是引用变量)

    • register:声明寄存器变量

    • static :声明静态变量

  • 其它关键字(4个):

    • const :声明只读变量

    • sizeof:计算数据类型长度

    • typedef:用以给数据类型取别名(当然还有其他作用

    • volatile:说明变量在程序执行中可被隐含地改变

4. 字符串

使用Ctrl+左键打开工程文件

4.1 如何定义字符串

#include <stdio.h>

int main()
{
	char c = 'A';   // 0x41 
	char chHex = 0x42;
	printf("char类型变量在内存中占%d\n", sizeof(c));
	printf("0x%p\n", &c);   // %p表示输出保存变量c的地址
	printf("%c\n", c);      // 输出为'A'
	printf("%c\n", chHex);  // 输出为'B'
	return 0;
}

4.2 ASCII码表

4.2.1 ASCII 打印字符

img

4.2.2 ASCII 非打印控制字符

img

4.2.3 扩展ASCII打印字符

img

4.2.4 说明

上图引用自CSDN博客的文章,可使用Ctrl+左键打开原网站查看详细。

5. 类型强转

使用Ctrl+左键打开工程文件

5.1 为什么要进行类型强转

在C语言中同类型进行运算得出的结果也必为这个类型,如下所示:

#include <stdio.h>

int main()
{
    int a = 10;
    int b = 3;
    // %f默认保留小数点后6位, 若想保留十位可用'%.10f'代替'%f'
    printf("结果为: %f\n", a / b);   // 除法的结果也为int型, 故而用%f接受的结果为0.000000
    printf("结果为: %d", a / b);   // 此时的结果为3, 它直接舍弃了小数部分
    return 0;
}

Tips: 在进行小数运算是请保证运算数均为浮点数类型

5.2 强制转换

若在代码中只需在固定的地方将一个变量或多个变量转换成另一种类型做运算的时候即可使用强制转换,转换格式如下:

#include <stdio.h>

int main()
{
    int a = 10;
	int b = 3;
	// 变量名前面的'(float)'就是变量类型强转的方式,
	// 括号里的'float'便是强转后的类型,
	// 括号中的类型可以改为其它的, 根据具体需要进行强转。
	printf("结果为: %f\n", (float)a / (float)b); // 输出结果: 3.333333
	// 强转虽好, 可不建议随意使用, 
	// 若不按规则强转, 容易出现数值失真现象。
	float c = 10.5;
	printf("结果为: %d", (int)c); // 输出结果: 10
	
	return 0;
}

Tips: 在进行强制转换的过程中需重点注意浮点型转整型, 这将导致原浮点型变量的数值直接丢弃小数部分

五. 控制语句

1. 什么是语句

在C语言中,语句是程序执行的单元,程序的功能由程序中的每一条语句实现和完成,每条语句都以分号’;'结束。

2. 语句的执行顺序

在一个函数(函数的解释未更新)中,所有的语句都是从上往下执行

太晚了,睡觉了,未完待续… …

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

g_pSeven

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值