☘前言☘
今天是我开坑的第一天,不知道今天会有多少人陪我一起233。
今天会介绍很多基础知识,信息量会有亿点点大,所以如果我有哪些没有讲清楚的,欢迎大家联系我,你提出的问题是我修改完善的基础,万分感谢。
欢迎大家加入我的打卡队列,如果你刷完了对你有帮助请你评论一个打卡。
如果你觉得这本书有用的话还希望多多支持作者。
欢迎大家一键三连0.0
🧑🏻作者简介:一个从工业设计改行学嵌入式的年轻人
✨联系方式:2201891280(QQ)
📔源码地址:https://gitee.com/xingleigao/algorithm-notes
⏳全文大约阅读时间: 120min
主要目录
☘前言☘
🍭1.基础知识点
🥝1.1基础知识介绍
🍅1.2 基本数据类型
🍪1.2.1 变量定义
🍓1.2.2变量类型范围
🥞1.整型
🌮2.浮点数
🥘3.字符型
🍰2.转义字符
🍡3.字符串常量
🌽4. 布尔型
🏋🏻1.2.3 强制类型转换
⚽️1.2.4符号常量和const常量
🏂1.2.5运算符
🤺1.算数运算符
🏌🏻2.关系运算符
🏇3.三种逻辑运算符
🎲4.条件运算符
✈️5.位运算符
🎱1.3 顺序结构
⚔️1.3.1 赋值表达式
💻1.3.2使用scanf和printf进行输入输出
⌨️1.scanf函数的使用
🖥2.printf函数的使用
🖨1.3.3 使用getchar和putchar输入/输出字符
⚖️1.3.4 注释
💡1.3.5 typedef
🔑1.3.6常用math函数
🐳课后习题
❤️写在最后
🍭1.基础知识点
这部分主要是给没有学习过c语言或者c语言相对薄弱的人查缺补漏用的,大家如果觉得已经熟悉了相关内容可以进行跳过。
这部分主要以c语言为基础,用到了一点c++的语法,在机试中c语法用的还是非常多的,c++虽然有很多好的特性,但是cin和cout的输入输出实在不适合用来写机试程序,如果大家有c++基础转变也是非常小的。
那我们废话不多说,开始今天的学习吧。
🥝1.1基础知识介绍
先来举个栗子🌰
#include <stido.h> int main(){ int a, b; scanf("%d%d", &a, &b); printf("%d", a + b); return 0; }
可以看到主要包含几个部分
头文件
这个示例程序中对应的部分就是#include,主要是包含了stdio(标准输入输出),这里面定义了scanf、printf等函数,在用到对应函数的时候一定要注意头文件的包含。
主函数 也就是int main(){...return 0;},每个程序都有且只有一个主函数,在程序开始的时候就会执行对应的主函数。
之后所有的文件请保存为.cpp,选择提交的语言选择C++、G++,反正C++兼容C,为了不必要的麻烦,请通通选择使用c++提交!!!
🍅1.2 基本数据类型
🍪1.2.1 变量定义
主要运用的格式如下
1.变量类型 变量名 = 初始值;
其中变量名不能随意选取,有以下规则
1.不能是C语言标识符(for、if、or),并且也不能是已经定义的函数名称(printf、scanf)等。建议选择有实际意义便于理解的名称。
2.第一个字符必须是字母或者下划线,所以abc、_abc是合法的,但是6abc编译器会报错。
3.变量是区分大小写的,ZUI和zUI是两个不同的变量名。
🍓1.2.2变量类型范围
四中基本数据类型
🥞1.整型
整型一般分为三种类型 短整型(short)、整型(int)、长整型(long long),由于短整型基本不用所以就不介绍了,下面主要介绍下整型和长整型。
1.1 整型int
一个整型占用32bit(32位),也即4Byte(4字节),取值范围是-231~+(231 -1)。这个范围记住也没啥感觉,所以绝对值在109范围内的整数都可以定义为int型。
int num; int num = 10;
1.2长整型 long long
一个长整型来说,一个整数占用64bit,也即8Byte(8字节),取值范围一般是-263~(263-1),如果题目要求取值范围超过2147483647(231-1),就需要long long来存储。
long long bignum; long long bignum = 1234567890123456LL;
如果long long赋值初始大于231-1需要在后面加LL,否则编译器报错。
上面说的每个整型变量都可以在前面加unsigned前缀修饰,占用的位数相同,但是正数的表示范围扩大了一倍。
下面给出一个栗子🌰
#include<stdio.h> int mian(){ int a = 1, b = 2; printf("%d",a + b); return 0; }
这段程序初始化了a、b两个整型变量并给出了初始值,结果就是3,就是打印出了a+b的值,关于%d会在后面进行更详细的介绍,现有个印象就好了。
最后,整型就是看到109以内或者32位整数就用int,否则用long long。
🌮2.浮点数
简单来说,所谓的浮点数就是小数,一般分为单精度(float)和双精度(double)。
1.单精度float
一个浮点数占用32bit,其中1bit符号位,8bit指数位,23位尾数。可以存放浮点数的范围是-2128~ 2128,但是有效精度只有6 ~ 7位,所以用的不多其实。
float f1; float f1 = 3.14;
2.双精度double
一个浮点数占用64bit,其中1bit作为符号位,11位指数位,52bit作为尾数,可以存放的范围是-21024~ 21024,比float运用广泛很多,有效精度是15~16位。
double db; double db = 3.1415926536;
一个栗子🌰
#include<stido.h> int mian{ double a = 3.14, b = 0.12; double c = a + b; printf("%f",c); return 0; }