一,入门基础
printf()
- 原型:int printf(const char *format, …);
- format: 格式控制字符串
- …:可变参数列表
- 返回值:输出字符的数量
例题:用printf输出一个字符串的字符个数(可能包含空格)
#include<stdio.h>
int main() {
char str[10000];
//[^\n]表示读入为换行时结束,这种方法可以用scanf读入空格,叫做字符匹配集
scanf("%[^\n]s", str);
printf("有%d个字符\n", printf("%s", str));
return 0;
}
输出
asdf 4569
asdf 4569有9个字符
printf家族
scanf()
- 原型:int scanf(const char *format, …);
- format: 格式控制字符串
- …:可变参数列表
- 返回值:成功读入的参数个数
基本运算符,数学运算
异或 ^
a ^ b = c, 则任意两个异或的结果等于第三个
可以用于两个数的交换
如交换a和b:
a ^= b;
b ^= a;
a ^= b;
- 位运算-判断一个数的奇偶
&1==1为奇数,==0为偶数#include <stdio.h>
- 异或,交换两个数的值
t ^= k; k ^= t; t ^= k;
数学函数库
头文件: math.h
常用函数 | 常用函数 |
---|---|
pow(a, n) 返回double类型 | fabs(n) |
sqrt(n) | log(n) |
ceil 上取整 | log10(n) |
floor(n) | acos(n) |
abs(n)(stdlib.h) | … |
注意:三角函数传入的是弧度值
数组与地址
预处理命令
typedef的用法
typedef 原类型 类型别名
typedef struct node Node;
struct node
是原类型名, 类型别名是Node
在进行变量声明时就不用再写struct node node1
,可以直接写Node node1
;
typedef
与结构体的定义可以合二为一
typedef struct node {
int a;
int b;
} Node;
...
Node node1;
main函数
第一种:
第二种: argc 表示参数个数
第三种: **env 是环境变量