C语言预备
1.cpu 内存条 硬盘 显卡 主板 显示器 之间的关系
主板:提供中间传输
cpu不能直接处理硬盘上的数据
2.Hello world 如何被运行起来的
#include <stdio.h>
int main()
{
printf("Hello world\n");
return 0;
}
编译+链接=__exe.
3.数据类型<极其重要!!!>
(1)基本类型数据
*整数
整型 int 4字节
短整型 short int 2字节 字节: 短整型<=长整型
长整型 long int 8字节
*浮点数(实数)
单精度 float 4字节
双精度 double 8字节
*字符
单个字符 char 1字节
字符串 一系列字符组合
(2)复合类型数据
结构
枚举(重点)
共用体(非重点)
4.什么是变量
变量本质:内存一段存储空间
5.cpu 内存条 Vc++6.0 操作系统之间的关系
eg:
6.变量为什么必须初始化?(重要!)
初始化:赋值
7.软件运行与内存关系(垃圾数据)
内存:在操作系统的统一管理下使用
软件运行完毕后,操作系统并不清空该内存空间留下来的数据
定义变量:数据类型 变量名=要赋的值
数据类型 变量名;变量名=要赋的值
eg: int i,j=3; 等价于 int i; int j;j=3;
int i,j; i=j=5 等价于 int i,j; i=5;j=5;
8.什么是进制
进制转化,规定八进制前+0,十六进制前+0X或0x
十进制:0.1.2.3.4.5.6.7.8.9
二进制:0.1
八进制:0.1.2.3.4.5.6.7
十六进制:0.1.2.3.4.5.6.7.8.9.A.B.C.D.E.F
eg:4E=4*16+14
常用计数制对照表
十进制(D) | 二进制(B) | 八进制(O) | 十六进制(H) |
---|---|---|---|
0 | 0 | 0 | 0 |
1 | 1 | 1 | 1 |
2 | 10 | 2 | 2 |
3 | 11 | 3 | 3 |
4 | 100 | 4 | 4 |
5 | 101 | 5 | 5 |
6 | 110 | 6 | 6 |
7 | 111 | 7 | 7 |
8 | 1000 | 10 | 8 |
9 | 1001 | 11 | 9 |
10 | 1010 | 12 | a |
11 | 1011 | 13 | b |
12 | 1100 | 14 | c |
13 | 1101 | 15 | d |
14 | 1110 | 16 | e |
15 | 1110 | 17 | f |
9.常量在C语言中如何表示
常量
整数
十进制:传统写法
十六进制:前+0X或0x
八进制:前+0
浮点数
传统写法
科学计数法:float x=3.2 //传统
float x=3.2e3 //x=3200
小数:系统默认为double x=3,2e3F //F:float型
字符:单个字符用‘ ’括起来,字符串用""括起来
“A”代表’A’和’0’的组合
10.常量以什么样的二进制代码储存在计算机中(做了解)
整数:以补码转化为二进制代码储存在计算机中
实数:以IEEE754标准转化为二进制代码储存在计算机中
字符:ASCII码
11.代码的规范化(重点)
更清楚的看到程序,代码可读性更强
使程序更不容易出错
1.基本框架:
#include<stdio.h>
int main()
{
定义变量
对变量进行操作
输出值
return 0;
}
2.代码成对敲
3.若代码功能相对独立,换行
4.运算级别最低处敲空格
12.什么是字节
字节是存储数据的单位,并且是硬件所能访问的最小单位
1字节=8位
1k=1024字节
1M=1024k
1G=1024M
13.不同类型数据间的相互赋值问题(暂不考虑)
int i=45;
long j=102345;
i=j
printf(“%d %d\n”,i,j);
float x=6.6;
double y=8.8;
printf(“%f %lf\n”,x,y)
14.什么是ASCII码
#include<stdio.h>
int main()
{
char ch='A'
char ch="AB" //X "AB"为字符串,不可把字符串赋给单个字符
char ch="A" //X "A"为字符串,'A''0'
char ch='AB' //X
char ch='B' //X ch被定义了两次(之前ch='A')
ch='C' //V 定义好后可以赋不同值
return 0;
}
#include<stdio.h>
int main()
{
char ch='A';
printf("%d\n",ch);
return 0;
}
输出结果:65
ASCII码不是一个值,而是一种规定
ASCII码规定了不同字符用哪个数字表示,规定了’A‘=65,’a‘=97,‘0’=48
15.字符的存储
字符本质上与整数的存储方式相同
16.如何看懂一个程序
用递归计算 斐波那契数列(1,2,3,5,8…)
#include<stdio.h>
int main()
{
int n;
int f1,f2,f3;
fi=1;
f2=2;
printf("请输入想要的序列:");
scanf("%d",&n);
if(1==n)
{
f3=1;
}
else if(2==n)
{
f3=2;
}
else
{
for(i=3;i<=n;++i)
{
f3=f1+f2;
f1=f2;
f2=f3;
}
}
printf("%d\n",f3);
return 0;
}
试数:
1.i=3 3<=6 成立
f3=1+2=3 f1=f2=2 f2=f3=3 ++i i=4
2.i=4 4<=6 成立
f3=2+3=5 f1=f2=3 f2=f3=5 ++i i=5
3.i=5 5<=6 成立
f3=3+5=8 f1=f2=5 f2=f3=8 ++i i=6
4.i=6 6<=6 成立
f3=5+8=13 f1=f2=8 f2=f3=13 ++i i=7
5.i=7 7<=6 不成立