【C语言】第一篇·C语言概述和数据类型


一、C语言概述:
1. 语言分类:
   低级语言:机器语言(0、1代码组成),汇编语言(ADD A,B用助记符来代替0、1指令)。
  高级语言:FORTRAN和ALGOL(适合数值计算),BASIC和QBASIC(适合初学者的小型会话语言),COBOL(适合商业管理),Pascal(适合教学的结构程序设计语言),C(系统描述语言),C++(支持面向对象程序设计语言)、Java(适于网络语言)。
 
2.C语言简介:
  C语言作为系统描述语言,既可以用来编写系统软件,亦可用来编写应用软件。
  1970年美国贝尔实验室以BCPL语言作为基础,做了进一步简化,设计出简单并且接近硬件的B语言(BCPL的第一个字母),用B语言写了第一个UNIX系统。1972年左右,在B语言的技术上设计出C语言(BCPL的第二个字母)。

3. C语言运行必须经过的4个步骤:
   1)编辑(Xcode、VC++ 文件格式:.c)
    2)编译(目标文件:Windows:.obj  Mac: .o)
   3)连接(库函数和其它目标程序)
   4)执行(可执行文件:Windows:.exe   Mac:a.out)

4. 关键字:已被C语言本身使用,不能用作其它用途使用。(例如:int ,float,char等)
 
5. 标识符:在C语言当中,符号常量,变量,数组,函数都需要一定的名称,我们把这种名称称为标识符。
    1)标识符命名原则(重点):
       (1)只能有字母,数字,下划线或者美元符号($)组成
        (2)不能以数字开头
        (3)不能与关键字重名
        (4)严格区分大小写
    2) 命名规范:
        (1) 起一个有意义的名字(能够提高代码的可读性)例如:学生学号 sno 学生姓名sname
         (2)驼峰命名  例如:用户登录名 userLoginName 即:第一个单词小写,第二个开始到后面的单词首字母大写
 
6.注释:对代码解释说明,方便程序员之间交流
       
二、数据类型:
 
1. C语言中5大数据类型:基本类型,指针类型,构造类型,空类型,定义类型

 
 
2.  数据类型占用空间:不同数据类型,在不同的编译器中占用不同的内存空间


3.  不同数据类型表示范围:




4.  常量:在程序运行的过程当中,其值不能被改变的量。
分类:整型常量:100,-1,0等
         实型常量:4.6,100.00等
        字符常量:‘a','f','D','4','+'等
         上面三中常量又称为直接常量。
        符号常量:一遍用大写字母表示,用宏定义 :#define PI3.1415 

5. 变量:代表内存中具有特定属性的一个存储单元,用来存数变量的值。
    变量的使用:定义,初始化,使用
1)整型变量表示形式:
    (1) 十进制  int a; a=10;
    (2) 八进制  int b; b=0123;(以零开头)
    (3)十六进制  int c; c=0x123; (以0x开头)
       负数的补码的算法:源码求反加1
       正数的补码和源码相同

2)浮点型变量(实数):单精度(float),双精度(double)
程序中默认的小数为双精度
变量定义:
float f; f=1.25f;
double d;  d=2.54;

3)字符变量:存放字符常量,只能存放一个字符。
    (1)定义:  char ch; ch='c';
     (2)字符常量占用内存空间4字节,变量占用1字节
      示例程序:

/* 字符型char的变量占用的字节为:1字节 常量占用的字节为:4字节 字符型在内存当中ASCII码存储 探索字符型与整型的对应关系,验证ASCII码 sizeof() 是计算类型值的一个单目运算符,不是一个函数 */ #include <stdio.h> void main(){ while(1){ char cha; int a; printf("输入一个字符:"); scanf("%c",&cha); getchar(); //吃掉空格 a=cha; //将char类型的变量隐式转换为int printf("%c变量占用的空间为:%d\n",cha,sizeof(cha)); printf("%c变量对应的ASCII值为:%d\n\n",cha,a); printf("字符常量a占用的内存空间为:%d\n",sizeof('a')); printf("字符常量a对应的ASCII码为:%d\n",(int)'a'); } }



     (3)转义字符及其作用:
转义字符
作用
ASCII码值(十进制)
\a
响铃(BEL)
007
\b
退格(BS) ,将当前位置移到前一列
008
\f
换页(FF),将当前位置移到下页开头
012
\n
换行(LF) ,将当前位置移到下一行开头
010
\r
回车(CR) ,将当前位置移到本行开头
013
\t
水平制表(HT) (跳到下一个TAB位置)
009
\v
垂直制表(VT)
011
\\
代表一个反斜线字符''\'
092
\'
代表一个单引号(撇号)字符
039
\"
代表一个双引号字符
034
\0
空字符(NULL)
000
\ddd
1到3位八进制数所代表的任意字符
三位八进制
\xhh
1到2位十六进制所代表的任意字符
二位十六进制

 
4)变量的作用域:
    作用:合理使用内存,即:变量使用完之后及时回收。
    作用域范围:从定义的时候分配内存,到变量所在代码块结束时回收。
示例程序:
 

#include <stdio.h> int a=10; //全局变量 void pInt() //定义函数 { printf("a=%d\n",a); } void main() { int b=20,c=30; //定义局部变量 作用域为:整个main()函数 //void pInt(); //声明函数 pInt(); //调用函数 printf("b=%d\n",b); //代码块 { int b=21; //屏蔽掉外部局部变量b printf("b=%d\n",b); a=11; //修改了全局变量a printf("a=%d\n",a); c=31; //修改了局部变量c } printf("b=%d\n",b); printf("c=%d\n",c); }


5)  变量区分类型的原因:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值