平时一直写的都是Java,但有时候一些OJ需要必须使用C/C++,虽然学过,但好多用法都不是太清楚了,自己整理了一下C语言处理OJ问题时最常用的操作,应付一些基本的算法题应该不成问题。
C语言程序执行过程
源代码——预处理器Preprcessor——扩展源代码——编译器Compiler-——汇编代码——汇编器Assembler——目标代码(simple.obj)——链接器Linker——可执行代码(simple.exe)——加载器loader——内存执行——控制台输出。
输入和输出
内置库函数,在stdio.h(头文件)中定义。
scanf("format string",argument_list);
例如scanf("%d",&number)语句从控制台读取整数,并将给定值存储在数字变量中。
printf("format string",argument_list);
格式字符串("format string")可以是%d(整数),%c(字符),%s(字符串),%f(float)等)。
基本数据类型
C语言中有4种类型的数据类型。
| 类型 | 包含的类型 |
|---|---|
| 基本数据类型(Basic Data Type) | int, char, float, double |
| 派生数据类型(Derived Data Type) | array, pointer, structure, union |
| 枚举数据类型(Enumeration Data Type) | enum |
| Void数据类型(void Data Type) | void |
转义序列
|
新行 |
|---|---|
|
回车 |
|
水平制表符 |
v |
垂直制表符 |
|