《算法笔记知识点记录》第二章——快速入门1[数据类型和顺序结构](3)

简介: 《算法笔记知识点记录》第二章——快速入门1[数据类型和顺序结构](3)

🎱1.3 顺序结构

⚔️1.3.1 赋值表达式

在C语言可以使用=实现赋值操作

int n = 5;
n = 6;
n = m = 5;


赋值运算符可以通过将其他运算符放在前面实现赋值操作的简化。

注意一个点:赋值符号是从后往前看的,比如最后一个就是把5赋值给m,然后再把m的值赋给n。

最后一个栗子🌰结束

#include<stdio.h>
int main(){
  int n = 12, m = 3;
  n /= m + 1; //与n = n / (m + 1) 一样
  m %= 2; //与m = m % 2一样
  printf("%d %d\n", n , m);
  return 0;
}


输出结果:3 1


💻1.3.2使用scanf和printf进行输入输出

⌨️1.scanf函数的使用

scanf是输入函数,格式为:scanf("格式控制",变量地址);

举个栗子🌰:scanf("%d",&n);

%d(格式符号)代表读入一个整数,然后将这个整数保存到n里面。(&为取值符号),这里记住scanf需要的是一个地址就好,之后在指针的时候我会再说这里。

那么常见的格式符号还有哪些呢?

df60ae2fe0d0cbd130fa2e437646147.png


可以发现字符串没有取址,是因为数组本来就是一个首地址0.0(看不懂先有个印象吧,还会讲)


其实如果需要读入16:20:20这种形式的数据怎么办呢?

scanf("%d:%d:%d",&a,&b,&c)就好了,其实就是去对比原本的输入,读到对应的数据就进行拆分。

另外,scanf读入整型和浮点型都是以空格或者回车作为结束符的。

但是%c是可以读入空格和回车的,所以读入的时候需要注意。后面再说


🖥2.printf函数的使用

printf的基础格式为printf("格式控制",变量名称);

其实和scanf的运用很类似,需要注意的有两个点


double的输出格式为%f, 输入格式位%lf。

printf给出的是变量的名称,不需要给出地址 不需要&!!!

三种实用的输出格式

%md

主要用于整数的输出,当不足m位的时候右对齐输出,高位补空格。

eg.printf("%2d",n);


%0md

主要用于整数的输出,这次不足的时候使用0进行高位的填充。

eg.printf("%05d",n);


%.mf

保留xx位小数,就是这个的功能。

eg.printf("%.5f",fl);

🖨1.3.3 使用getchar和putchar输入/输出字符

直接看一个例子吧

#include<stdio.h>
int main(){
  char c1, c2, c3;
  c1 = getchar();
  getchar();
  c2 = getchar();
  c3 = getchar();
  putchar(c1);
  putchar(c2);
  putchar(c3);
  return 0;


输入数据:abcd,输出数据:acd

是不是很简单,但是要注意getchar可以接收空格和回车,偶尔比scanf好用一些。


⚖️1.3.4 注释

1.使用/**/注释

这两个符号之间的都会被注释掉。

#include<stdio.h>
int main(){
  int a, b;
  scanf("%d%d",&a,&b);
  /*a++;
  b++;
  a = a * 2; */
  printf("%d %d",a,b);
  return 0;
}


2.使用//注释

这个符号的作用只能注释掉一行,很常用,就不举例了0.0


💡1.3.5 typedef

typedef是一个很有用的小零件。基本语法:typedef 任意量 一个名字

主要作用就是重命名。最常见的运用在结构体,因为结构体的名字太长了不好写,233

举个🌰

#include<cstdio>
typedef long long LL;
int main(){
  LL a = 123456789012345LL, b = 1234567890123456LL;
  printf("%lld",a+b);
  return 0;
}


其中数字后面的LL只是代表这个是个长整型常量,不记得往上翻0.0.


🔑1.3.6常用math函数

有些函数是已经有库的,我们没必要再自己写,我这里记录一部分,需要用到这些,一定要记得引用math库#include

576065c8089878e2e6919ab2d06f645.png



🐳课后习题

等下要去试试一个竞赛,所以先放题,晚上我放题解,太多了,,失策了-.-大家写完还希望给个打卡0.0


题目

http://codeup.hustoj.com/contest.php?cid=100000566

题解在这里:https://blog.csdn.net/qq_17593855/article/details/121881267



相关文章
|
1月前
|
算法 搜索推荐 Java
数据结构与算法(Java篇)笔记--希尔排序
数据结构与算法(Java篇)笔记--希尔排序
C4.
|
1月前
|
算法 程序员 C语言
C语言的选择结构与数据算法
C语言的选择结构与数据算法
C4.
18 0
|
16天前
|
负载均衡 算法 应用服务中间件
面试题:Nginx有哪些负载均衡算法?Nginx位于七层网络结构中的哪一层?
字节跳动面试题:Nginx有哪些负载均衡算法?Nginx位于七层网络结构中的哪一层?
31 0
|
18天前
|
存储 算法
【算法与数据结构】深入解析二叉树(二)之堆结构实现
【算法与数据结构】深入解析二叉树(二)之堆结构实现
|
30天前
|
存储 算法 搜索推荐
【C++ 数据结构与算法 一站式备考指南】一文掌握 数据结构与算法课程 知识点(二)
【C++ 数据结构与算法 一站式备考指南】一文掌握 数据结构与算法课程 知识点
94 2
|
30天前
|
存储 算法 C++
【C++ 数据结构与算法 一站式备考指南】一文掌握 数据结构与算法课程 知识点(一)
【C++ 数据结构与算法 一站式备考指南】一文掌握 数据结构与算法课程 知识点
51 2
|
1月前
|
算法
算法的三种基本结构
算法的三种基本结构
16 0
|
1月前
|
算法 搜索推荐 Java
数据结构与算法(Java篇)笔记--快速排序
数据结构与算法(Java篇)笔记--快速排序
|
1月前
|
机器学习/深度学习 算法 搜索推荐
数据结构与算法(Java篇)笔记--归并排序
数据结构与算法(Java篇)笔记--归并排序
|
1月前
|
算法 搜索推荐 Java
数据结构与算法(Java篇)笔记--选择排序
数据结构与算法(Java篇)笔记--选择排序