A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© flairamyz 中级黑马   /  2015-11-5 23:49  /  682 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


掌握:关键字与标识符

一共32个关键字

标识符:
       命名规则:字母、数字、下划线和$
       特点:
              不能以数字开头;12_usr.错误的
不能和关键字同名;
严格区分大小写;
起名要有意义;
便于识别(驼峰命名)myName,userIdFlag
       main也是一个标识符

数据:

特点:分为静态数据(硬盘,断电还能保存)和动态数据(数据加载在内存,断电则无);
              由0和1构成;
              最小单位是bit

MB和Mb区别:
10M的光纤(10Mb)实际下载速度,10Mbps/8=1024kb/8 = 128kB/s

数据类型:
基本数据类型:
       数值:整数和浮点数
       字符型:字符型和字符串型
构造类型
空类型
指针类型

变量的特点:
1.     创建一个变量相当于占用了一块内存空间
2.     这个空间大小固定,具体数据可以变化
3.     同一作用域内不能有相同的变量名
4.     初始化时创建,在函数或者代码块结束的时候释放内存空间


作用域:
1.     不同函数属于平行作用域
2.     嵌套:作用域可以嵌套使用,子作用域可以用外部的变量(就近原则)
3.     有效:子作用域内定义的变量只在当前作用域内有效,在父作用域用不了


变量的内存分析:
1.     基本单位:内存的基本单位是byte,每一个字节都有自己的地址;
2.     变量创建后就占用一片固定内存;
3.     不同类型的变量在不同编译环境占用的内存大小不一样
不同数据类型在16位,32位,64位编译器占的内存大小:
char,1,1,1
int,2,4,4
float,4,4,4
double,8,8,8
4.     lu:long unsigned int:输出内存占用printf(“sizeof(int) = %lu\n”,sizeof(int));
5.     变量创建后会分配一个地址:占用的第一个字节的首地址;
6.     %p:格式化字符,输出地址
7.     内存从地址寻址是从大到小,即从高地址向低地址给变量分配内存空间;
8.     变量应该先赋值后使用(否则没意义)


输入输出函数printf和scanf
相同点:
格式类似;
都是C语言标准的库函数

不同点:
一个是输入函数,一个是输出函数;
scanf格式化字符串之后不用\n,因为本身输入的时候回车就表示换行,如果用\n会出现无法退出程序的错误
printf后面是跟变量名,scanf是跟地址

scanf(“%*c%c”,&a);//%*c忽略一个字符

基本语法分析:
算术运算:+ - * / %
%%:输出%
特点:
1.     不同数据类型精度不同:double>float>int,%只针对整数
2.     高精度向低精度赋值,会丢失精度:int a = 1.8;//1
3.     优先级:* / % > +和-
4.     运算时两个数据精度不一样,会自动转换,且是低精度转为高精度
5.     同精度的数据运算只能得到同精度的结果,要想提高的话,需要强制类型转换double a = 1.2;int b = (int)a;

赋值以及自增自减运算
特点:
变量才能自增自减,常量不能;
++a和a++对a本身无区别,但进行其他运算时,a++无变化

sizeof运算符:

C语言关键字,一个单目运算符;
以字节方式给出其操作数或者数据类型的存储空间大小
sizeof(int)
sizeof(1)
sizeof a 或者sizeof(a)
sizeof跟数据类型的时候必须加括号
特点:
1.     根据编译环境计算字节的大小
2.     sizeof(‘a’) = 4 //’a’对应的ASCII码为97,对应的int型内存占4个字节
3.     char b = ‘a’;sizeof(b) //1,相当于char型占的内存字节
4.     lu:long unsigned int
5.      






0 个回复

您需要登录后才可以回帖 登录 | 加入黑马