vi编辑器
新建文件test.c: touch test.c
进入文件编辑:vi test.c
编辑程序:
#include <stdio.h> 函数库
// #开头 预处理
// .h文件 头文件
// < .h> 系统配置文件 /usr/include
// " .h" 用户新建的头文件(一般在当前文件夹里)
int main(int argc, const char *argv[])
//main主函数,程序的入口;一个工程中主函数有且仅有一个
// 扩展:命令行参数 argc 命令行输入字符串的个数
// argv 存储命令行输入的字符串
{
printf("hello world\n");
return 0;// 主函数中的return,是主函数的结束标志 0整数 int
// 函数的返回值要和函数的数据类型保持一致;不要返回值,函数数据类型可以定义成void
}
gcc 编辑器
生成文件: gcc test.c 生成a.out文件
执行文件: 在当前文件夹内:./a.out
预处理:展开头文件,替换宏定义,删除注释 gcc -E test.c -o test.i
编译:检查语法问题,有错报错,没有则继续运行生成汇编文件 gcc -S test.i -o test.s
汇编:生成一个不可执行的二进制文件 gcc -c test.s -o test.o
链接:链接库函数,最终生成二进制可执行文件 gcc test.o -o test(可执行文件名)
运行:./test
计算机最小存储单位 位bit 字节byte
1字节=8位 位:0 1
1KB=1024B 1024
1MB=1024KB
1GB=1024MB
1TB=1024GB
二进制 0 1 2:10
八进制 0-7 8:010
十进制 0-9
十六进制 0-9 a-f 16:0x10
二转八:一位八进制用三位二进制转 11 010 110--->0326
八转二:0777--->111 111 111
二转十六:一位十六进制用四位二进制转 1101 0110---》0xd6
十六进制转二进制 0xab--->10101011
存储类型:auto static extern register
数据类型:int char float short long double signed unsigned
构造数据类型:struct enum union
分支:if else switch case default for do while go to break continue
其他:void const sizeof volatile return typedef
运算符:+ - * / % ++ -- (%只能用于整数运算)
在给变量、数组、函数等命名时, 遵循标识符的命名规则:
1)由字母、数字、下划线(_)组成
2)开头不能是数字
3)不能和关键字重名
4)见名知意
helloWorld:小驼峰命名(除第一个单词外,其他单词开头大写)
HelloWorld:大驼峰命名(每个单词开头大写)
2.解析代码:分析每一步变量的取值
#include <stdio.h>
int main(int argc, char *argv[])
{
int a = 10; //a=10
int b = a--; //b=10 a=10-1=9
int c = a + b + 2; //c=9+10+2=21
int d = (b--) + (++c); // (++c)=22 d=b+(++c) b=9
printf("%d\n",d); //输出d
} [单选题] * B
A. d = 31
B. d = 32
C. d = 33
- d = 34
10
A