C 语言知识点 | 复习笔记

1 绪论

Hello, world!

#include<stdio.h>
int main()
{
   
  printf("Hello, world!\n");
}

C 程序的组成

宏定义, 定义常量, 定义宏函数
文件引用, 引用系统文件, 引用用户文件
外部变量
函数向前引用声明
主函数 (带命令行参数)
{
  函数向前引用说明
  局部变量
  调用函数
  分配动态内存
  调用宏定义函数
  文件操作
  输入输出
}

2 基本数据类型

常量

int long long long
float double
char
void (空类型)

变量名

以字母或下划线开头, 后面可以跟若干个字母、数字和下划线, 区分大小写

整型

十六进制:0x 开头
八进制:0 开头
长整型: 后面加 l
超长整型: 后面加 ll

转义字符

\n \t \' \" \\ \0
\ddd 1~3 位八进制数所代表的 ASCII 码字符
\xhh 1~2 位十六进制数所代表的 ASCII 码字符

计算机存储单位

GB TB PB

3 数据的输入和输出

数据输入输出

输入输出函数中, 键盘是标准输入设备 stdin, 显示器是标准输出设备 stdout
头文件 #include<stdio.h>

基本的格式输出语句

printf("格式控制", 输出列表);
返回值为本次调用输出字符的个数, 包括回车等控制符

格式说明符

十进制: %d %ld
八进制: %o %lo
十六进制: %x %lx
小数: %f(普通) %e(指数) %g(自动选择)
字符:%c
字符串: %s
变量的内存地址:%p
%:%%
% 和说明符之间加入整数以限制宽度, 加入小数以限制精度, 加入 - 左对齐, 加入 0 补零而不是空格, 加入 + 显示正号
变场宽输出 printf("%*.*f", m, n, f)

强制转换

(类型名)(表达式)
在数据前加 (int/float 等数据类型)

格式输入函数

scanf("格式控制", 内存地址表);
返回值为本次 scanf() 调用正确输入的数据项的个数

格式控制

整型、字符、字符串与输出控制相同
float: %f
double: %lf
跳过读入:scanf("%d%*d%d%d", &x, &y, &z);

取地址符

&

字符输出函数

putchar(c);

字符输入函数

getchar(); 头文件 #include <stdio.h>

_getch(); 头文件 #include <conio.h>在按下相应键的同时接收从键盘输入的 一个字符。
_getche(); 由键盘输入的字符不在屏幕上显示
_ungetch(c); 将字符放回输入流

4 表达式与宏定义

复合算术赋值运算符

+= -= *= /= %=

整型相除

7/6==1
(1/2+1/2)==0

关系运算符

< <= > >= == !=

逻辑运算符

&& || !
1<x<2    ⟺    \iff 1<x && x<2
书写时需要注意运算符优先级, 不确定带括号; 最好直接带括号
若已经能够判断则逻辑运算符后面的语句不执行

其他运算符

自增自减运算符 ++i i++ --i i--
sizeof()
逗号运算符: 从左到右计算表达式的值, 最右边表达式的值就是整个逗号表达式的值

常用头文件

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>

宏定义

#define 符号常量名 字符串
不过这样的宏定义只是做简单的字符串替换
一行写不下可以在杭为加 \ 在下一行继续写

** 带参数的宏定义 **
#define 宏名 (参数表) 字符串
#define P(x) printf ("%d\n", x)
一般需要将参数用括号括起来

在宏定义中使用 #

  1. 将变量转换为字符串 如 #define PR(x) printf("%s=%d\n", #x, x)
  2. 连接两个字符串 如 #define MP(x) printf("%d",a##x)

5 选择结构

if

if(值为真或假的表达式){
   语句}
else if(){
   ...}
else {
   ...}

else 只与同层最近的 if 配对
注意小数确定是否相等时用差值小于一个精度而不是直接用 ==

条件运算符

表达式 1 ? 表达式 2 : 表达式 3

switch

switch(int/char)
{
   
  case 1: ...; break;
  case</
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值