您的位置:首页 > 其它

某坑爹公司的笔记_Day03

2014-04-04 16:47 211 查看
一、数据类型
1.数据类型分类
a.基本数据类型
b.引用数据类型(后续再讲)
2.基本数据类型
在C语言中,基本数据类型有四种:char、int、float、double。

二、字符型 char
1.底层存储是整数,是字符表(ASC)里面的编码。
2.二进制数<==>整数<==>ASC(字符)
3.ASC:American Standard Code
4.UTF8:全世界主流语言编码
5.计算机默认情况只支持ASC

6.常见字符:
‘A’= 65、’a' = 97、’0' = 48
1.char代表一个字符’ '括起来,占位8位(8bit)内存,8位二进制数占用1个字节(1byte)空间。
2.位bit:描述二进制数的位数
3.字节byte:描述占存储器的空间大小
输出函数printf输出char类型变量内容,所使用占分符为%c输出数据

三、输入函数scanf 键盘->程序
1)通过键盘向程序传输数据,等待(阻塞)用户输入。直到用户输入完毕,默认以回车为用户输入结束。
control+c 强制停止程序运行
2)语法格式 scanf(”%c",&ch);输入函数 
参数1 对应数据类型占位符
参数2 取变量地址,将键盘输入的数据存在
  相应地址中
scanf("%*c");//清空缓冲存

四、转义符 \
在做字符类型数据处理时,一些特殊的符号,需要转义处理。(特殊符号:与系统定义的语法符号冲突),转义处理,就会用到"\"符号,就是转义符。
常用的转义符处理:
\n 换行字符(下一行行首)
\r  回车字符(本行行首)
\t  制表符(相当于按tab)
点一下空格 等于一个字符
点一下tab  等于8个空格字符
\\ 斜杠字符
\'   单引号字符
\"   双引号字符 

五、数据的取值范围
1.数据范围 
unsigned(无符号) char 8位 1字节 0~255
char(有符号)char 8位 1字节 -128 ~ (0)127
2.有符号:最高位为符号位
3.溢出:超出最大值的范围,从最小值开始计算,超出最小值的范围,从最大值开始计算。

六、整型 int
1.int代表16位或32位二进制数,short/long修饰。
2.short (int) 16位,long (int)32位,long long long int 代表就是64位整数。推荐int类型描述整数。
3.signed int 第一位就是符号位。

在C语言中,整数有二进制数、八进制数、十进制数、十六进制数。
二进制数,以值0标识为开始,到1结束,当为2时会向前进一位。
十进制数,以值0标识为开始,到9结束,当为10时会向前进一位。
八进制数,以值0标识为开始,到7结束,当为8时会向前进一位。
十六进制数,以值0标识为开始,到15结束,当为16时会向前进一位。
A10B11C12D13E14F15

七、进(数)制转换
自动
1.赋值
int i = 11;//默认 十进制 
int i2 = 011;//八进制 
int i3 = 0x11;//十六进制 
2.输出
printf("i:%d i:%o i:%x\n",i,i,i);

取值范围
1.short 16位 2字节 有符号 -32768~32767
2.unsigned short 16位 2字节 无符号 0~65535
3.long 32位 4字节 有符号 -2^31~2^31-1(+-21亿)
4.unsigned long 32位 4字节 无符号 0~2^32-1

八、浮点型 float/double
1.有整数和小数两个部分组成
2.C语言中,浮点型包括float、double、long double。
  float 32位 4字节 2^32
double 64位 8字节 2^64
long double 96位 12字节 2^96
输出结果时,使用占位符
%f->float
%lf->double %g
%.2f输出的结果保留两位小数

九、数(进)制转换

1.进制转换是人们利用符号来计数的方法,包含有多种数据转换,进制转换由一组数码符号和两个基本因素(位与权),进制包括二进制、十进制、八进制、十六进制。

2.二进制和十进制

a、位与权

  9 3  位 = 3*1+9*10

          10  1 权

b、整数93在一个字节中的二进制存储方式

0      1      0    1    1   1   0   1 位

128  64   32  16  8   4   2   1 权

c、零和正数:符号位为最高位值0

1)二进制转换成十进制:一位加权 零位不见

01011101=1+4+8+16+64=93

01101101=109

2)十进制转换成二进制:有权添一 无权补零

93=0101 1101

93-64=29-16=13-8=5-4=1-1=0

[当日测试题]

1.char型变量在内存中存放的是:   

A)ASCII码       B)原码     C)内码值    D)十进制代码值

2. 关于C语言的说法错误的是()

   A.C程序的工作过程是编辑、编译、连接、运行

   B.C语言不区分大小写

   C.C程序的三种基本结构是顺序、选择、循环

   D.C程序从main函数开始执行

3. C语言中整数-8在内存中存储形式是:    

A)1111,1111,1111,1000             B)1000,0000,0000,1000

C)0000,0000,0000,1000             D)1111,1111,1111,0111

4.C语言提供的合法的数据类型关键字是:     

A) Double     B) short        C) integer      D) Char

5. 在C语言中,合法的字符常量是:  

A. ‘\084'      B)‘\x43'        C) 'ab'         D)“\0”

6.下列程序执行后的输出结果是  

A) G           B) H           C) I          D) J

main(){

int x='f';

printf("%c\n",'A'+(x-'a'+1));

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: