C语言学习笔记
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
***********************************************/
day 01 20130916
***********************************************/
c语言的结构
必须包含入
int main()
{
return 0;
}
printf(“hello”);实质上是包含在标
准头文件stdio.h
#include<stdio.h>将文件插入到当前位置
\n 换行
#预处理文件
#include "xxx" 插入到程序内容打“”且没有;系统提供的内容使用<>,使用自己定义的文件使用“”
int printf(const char *format,//格式占位符号...)//可变长参数
c语言结束标志是;
支持一行多条指令,建议每行一条指令
加注释///**/
多行连接符号\ 反斜杠为续行符号,代码长了换行使用
C程序编译步驟
1编译gcc -c hello.c 生成. o的目标文件
2连接gcc hello.o 生成一个可执行文件
自定义可执行文件名称gcc hello.c -o hello(新名字)
数据表现形式
二进制10 八位
1G=1024M
1M=1024kb
1k=1024byte
字节byte
位8
0000 0001 权重位
表示负数最高位表符号位
0000 0001 原码(1的二进制表示)
1111 1110 反码
1111 1111 补码(反码加1)
float 4
3.14
0 0000000 000000000 000000000 00000000
最左边第一位是符号位
八位阶码
剩下是尾数
double 8
C语言变量类型
1 char 字符类型%c
4 float 浮点型%f (%.nf)n为指定输出位数或%g(按需分配)8 double 双精度%g 尾数后面的0会去掉的
4 int 整型%d
4 long
8 long long
2 short (int)
%x 16进制
%o 8进制
%p 地址
%e 科学计数法
*************************************************
day02
*************************************************
变量所什么/
变量的定义
变量名不能重复
赋值运算;没有初始化的变量都是脏数据
常量(不可改变的变量)
使用const修饰变量该变量只读
宏定义方式定义常量#define PI 3.14
宏定义不会作类型检查,是直接替换,在预处理期间处理
const修饰变量是只读变量,在编译是会做类型安全检查
sizeof 计算变量所占内存大小
sizeof(int )返回值为整型
地址类型变量指针变量
&取地址符号
指针常量指针的常量
常量指针常量的指针
const int b=13;
const int c=13;
int* a=&b;//a 是指向int类型b的指针
const int a=10;
const int*a=NULL;//a是指向整型常量的指针
int*const a=NULL;//必须定义初始化同时,以后不可修改
scanf()输入函数
scanf()后面的变量必须是指针/地址
注意格式,最好中间不要加其他字符符号如scanf("%d%d%d",&a,&b,&c);
运算符号
要开阔思路,灵活运用,如交换a b值:
a=b-a 或a=a^b
b=b-a b=a^b
a=a+b a=a^b
计算结果以精度最高者为准
long double >double>float>long int>unsigned int>int
数据溢出时会默认换成其优先级高的类型;如:int a=-1,b=10;但是a>b!,这里a溢出里;++ -- 对整型数据操作,注意
^ 相同为0,不同为1
<< 左移>>右移空位0补齐
逻辑运算符号
&&||!
三目运算符号
?:判断为真则选第一个,否则第二个
即:(a>b)?a:b 如果a>b为真则a,否则b
溢出现象
1 #include<stdio.h>
2 int main()
3 {
4 int a=6;
5 unsigned int b=-2;
6 printf("%u\n",b);
7 printf("%s\n",((a>b)?"a>b":"a<b"));
8 }
打印结果:
4294967294
a<b
***********
无符号的整型变量回绕到0,重新开始
有符号的整型变量则会回绕到最小的负值
浮点类型没有回绕,超出则会表示为inf (表示无穷大)
1。首选使用三目运算比较三个整数大小找出最大的
**********************************************
1 #include<stdio.h>
2 int main()
3 {
4 int a,b,c;
5 printf("Please input three Num:\n");