【1】简单编程步骤
1)新建一个.c文件 touch hello.c
2)用vi编辑器打开文件 vi hello.c
3)编写程序:
#include<stdio.h> //头文件
int main() //主函数
{
printf("HelloKitty!\n"); //语句块
return 0; //返回值
}
4)保存并退出 :wq
5)编译 gcc hello.c
6)执行 ./a.out
【2】gcc编译过程
1)预处理
展开头文件,删除注释,替换宏定义。
gcc -E hello.c -o hello.i
2)编译
检查语法错误,有错报错,没有错误则生成汇编文件。
gcc -S hello.i -o hello.s
3)汇编
将汇编语言生成机器能够识别的二进制文件即目标文件。
gcc -c hello.s -o hello.o
4)链接
链接库文件,生成指定的可执行文件。
gcc hello.o -o hello
生成指定的可执行文件名:
gcc hello.c -o abc
【3】计算机数据表示
1.数值型数据
二进制(BIN) 0 1 10 11 100 101 110 111
八进制(OCT) 0 - 7 10 - 17 20 - 27 77 100
十进制(DEC) 0 - 9 10 - 19 20 - 29 99 100
十六进制(HEX)0 - 9 a - f 10-1f 20-2f ff 100
十进制转二进制:
短除法:除2倒取余数
66 => 1000010
二进制转十进制:
二的次幂和
八进制转二进制:
421码
77 => 111 111
45 => 100 101
二进制转八进制:
001 101 010 => 152
十六进制转二进制:
8421码
0xab => 1010 1011
二进制转十六进制:
0110 1010 => 0x6a
2.非数值型数据
字符 :如何存储在计算机中?
ASCII码:美国信息交换标准代码 ISO
man手册查询:man ascii
【4】变量
概念:在程序运行过程中其值发生变化的量
数据类型:在内存中占用字节数
存储类型:存储位置 auto、static、register、extern
分类: (32位操作系统)
字符型 char 1字节
短整型 short 2字节
整型 int 4字节
长整型 long 4字节
单精度浮点型 float 4字节
双精度浮点型 double 8字节
1字节 = 8位(二进制)
定义格式:
[存储类型] [数据类型] [变量名]
(auto) int a;
【5】常量
概念:在程序运行过程中不发生变化的量
分类:
整型常量:
整数 1 2 3 4 100
字符型常量:
字符 ‘A’ ‘!’ '\x33' 转义字符 ‘3’
‘\n’换行 ‘\r’回车
浮点型常量:
小数 3.1415926
字符串常量:
“hello” "a"
指数常量:
3*10^5 -> 3e5
2*10^-3 -> 2e-3
标识常量:
宏定义 #define
#define 宏名 常量或表达式
#define PI 3.1415926
【6】格式化输出函数
#include<stdio.h>
int printf(const char *format, ...);
功能:按照指定格式进行输出
参数:
format 格式
%d -- 整数(十进制)
%ld -- long
%o -- 八进制 %#o 07 014
%x -- 十六进制 %#x 0x12
%c -- 字符
%s -- 字符串
%f -- 小数 float
%lf -- 小数 double
%u -- 无符号数
%e -- 指数
%p -- 地址 &取地址符 &a a的地址
返回值:成功输出的字符的个数
【7】格式化输入函数
#include <stdio.h>
int scanf(const char *format, ...);
功能:按照指定格式进行输入
参数:
同printf
int a;
scanf("%d",&a);
返回值:成功输入的数据个数
输入一个大写字母,输出一个小写字母。
例如:
输入 A
输出 a
评论 (0)