Sherilyn’s Blog
首页
搜索
归档
留言
友链
Github
Sherilyn
文章
10
分类
3
标签
10
留言
友链
Github
归档
搜索
分类
标签
技术分享
🍟一生一芯 4.复习C语言
发布于: 2024-5-6
最后更新: 2024-5-30
次查看
一生一芯
C语言
Linux
type
status
date
slug
summary
tags
category
icon
password
😀
捡起大一还是大二时学的C语言,不过是在Linux上实现的进阶版。在B站上发现了相关的宝藏视频,有点基础才能看懂,很符合我的口味。
 

📝 一、学习内容

(一)快捷操作

命令
意义
gcc hello.c -Wall
报所有warning
#if 0 #endif
注释

(二)知识点摘要

数据类型
  1. char型不知道是否有符号
  1. float类型:if(fabs(f-0) <= 1e-6)来表示f=0
常量与变量
  1. 字符常量:‘’,字符串常量:”“
  1. 标识常量:在程序预处理阶段,占编译时间,一改全改,不检查语法(注意加括号)。#define MAX(a,b) ((a) > (b) ? (a) : (b)),当a++,b++时慎用,最大的值一定会自增两次。但宏节省运行时间(但函数更稳定)。替代:#define MAX(a,b) ({typeof(a) A=a,B=b; ((A) > (B) ? (A) : (B));})
  1. 变量定义:[存储类型] 数据类型 标识符 = 值:TYPE NAME = VLUE。存储类型:auto(默认)、static(静态型)、register(建议型)、extern(说明型)。用static修饰全局变量或函数时,只在当前.c文件有效。
运算符和表达式
  1. 非0(-1)即为”真“。
  1. C不支持二进制写法
  1. 将操作数中第n位清0,其它位不变:num=num&~(1<<n)
输入输出
  1. 格式化IO函数:scanf、printf。
    1. notion image
      scanf最好判断一下输入的数据类型是否对:
      用scanf抑制符*;或用getchar();吃掉中间空格或换行键。
  1. 字符IO函数:getchar和putchar(无换行功能)
  1. 字符串IO函数:gets(危险)和puts,gets—>fgets(char *s,int size,FILE *stream)只能读size-1个(治标不治本)或getline
流程控制语句(顺序、选择、循环)
  1. 选择if-else语句 else只与最近的if相匹配
  1. 选择switch-case语句 (1) 不能忽略default (2) case必须接常量或常量表达式(变量不行)
  1. 循环while语句
  1. 循环do-while语句 至少循环一次
  1. 循环for语句 三个条件都可以为空
  1. 循环if-goto语句 (慎重使用)goto实现的是无条件的跳转,且不能跨函数跳转
  1. 死循环while(1);和for(;;);
  1. 辅助控制:break、continue
数组(一维、二维、字符)
  1. for(j=2*i;j<1001;j+=i)的意义是j=n*i
  1. 二维数组可以省略行号,不能只省略列号,如a[][N]
  1. 字符数组:strlen是以\0为结束,而sizeof是字符串真正大小 strcpy和strncopy、strcat和strncat、strcmp和strncmp
  1. 在C语言中通过混合char *str = "blah"和char str[] = {'b','l','a','h'}语法构建二维数组来构建字符串数组。而char *states[] = {...}语法就是这样的二维混合结构,其中每个字符串都是数组的一个元素,字符串的每个字符又是字符串的一个元素。
指针
  1. 指针就是地址(常量),不同于指针变量
  1. const修饰常量或常量指针(const int *p)。不同于指针常量(int * const p)
  1. 数组指针(int (*p)[3])。指针数组(int * arr[3])
函数
  1. 函数的传参:值传递、地址传递和全局变量
  1. 指针函数(int * fun(int))、函数指针(int (*p)(int, int))、函数指针数组(int (*arr[2])(int,int))、指向指针函数的函数指针数组(int *(*funcp[N])(int))
构造类型
  1. 结构体(struct)、共用体(union)、枚举类型(enum)
C++
  1. class默认权限是私有,struct默认权限是公共
 
  • 作者:Sherilyn
  • 链接:https://notion-next-green-nine-96.vercel.app//article/2024/05/06/a5d7eef6-551f-441e-ae7f-5f80b38e55b5
  • 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章
学习Innovus day1
一生一芯 1.如何科学地提问
学习Innovus day2
学习Innovus day3
学习Innovus day4
学习Innovus day5
学习Innovus day5一生一芯 7.数字电路基础实验
Loading...
目录
0%
📝 一、学习内容(一)快捷操作(二)知识点摘要
Sherilyn
Sherilyn
一个普通的干饭人🍚
文章
10
分类
3
标签
10
最新发布
学习Innovus day4
学习Innovus day4
2024-11-22
学习Innovus day3
学习Innovus day3
2024-11-22
学习Innovus day1
学习Innovus day1
2024-11-22
学习Innovus day2
学习Innovus day2
2024-11-22
一生一芯 7.数字电路基础实验
一生一芯 7.数字电路基础实验
2024-10-8
一生一芯 4.复习C语言
一生一芯 4.复习C语言
2024-5-30
公告
🎉初来乍到 请多指教🎉
-- 感谢您的支持 ---
👏萌新来啦,一起玩博客👏
目录
0%
📝 一、学习内容(一)快捷操作(二)知识点摘要
2021-2025 Sherilyn.

Sherilyn’s Blog | 一个普通的干饭人🍚

Powered by NotionNext 4.7.3.