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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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

        C语言的结构
由函数组成:一个主函数,N个其它函数.
注意:
•        1.主函数是程序的入口,有且只有一个有一个.
•        2.其它函数只有调用才会执行.
         格式与规范
标点符号和空格必须使用英文格式
严格遵循书写格式
编译和执行注意一定要确保所要操作的文件在当前目录下,否则要输入全路径
警告可以忽略,错误不可以
        C语言的语法
注释:对代码的解释说明;辅助调试.
•        分为:
o        单行注释
o        多行注释
•        写法:
o        在一行代码中,注释只能写在后面
•        注意:
o        多行注释不能嵌套多行注释
关键字:c语言中的保留字;共有32个
•        作用:
o        实现某种功能.如sizeof
o        表示.如int
标示符:起名字.由字母,数字,下划线和美元符号做成
•        用法:
o        给函数起名
o        给变量起名
•        注意:
o        不能以数字开头
o        不能与关键字重名
o        区分大小写
o        有意义
o        便于识别
•        驼峰命名法:如果标示符由多个单词组成,首个单词首字母建议小写,其后每个单词首字母大写
数据:数字,字母,图像,音频,视频等等都是数据.
•        分为:
o        静态数据.一经存储,不会消失
o        动态数据:数据加载到内存中,断电就会消失,
•        特点:
o        以01010的二进制数存储于计算机中
o        一个二进制位称作bit
o        8个二进制位为1字节,Byte.
数据类型:对数据的区分
•        分为:
o        基本数据类型
•        数值类型
        整型
•        短整型 short
•        整型 int
•        长整形 long
        浮点型
•        单精度 float:有效数字7位
•        双精度 double:有效数字15位
•        字符类型 char
o        构造
•        数组
•        结构体 struct
•        共用体 union
•        枚举 enum
o        指针
o        空 void
常量:
•        分为:
o        整型.如:1
o        浮点型.如1.1
o        字符型.如’a’(只能是仅仅一个非中文字符)
o        字符串型.如”ab”
•        用法:
o        字面常量
o        符号常量:
•        用标示符来指明一个常量,通常用const来指明;如:cons int MAX=10;
•        通过宏定义进行定义.如:#define MAX 10
变量:用于存放计算结果的空间
•        用于:
o        赋值
o        修改
•        格式:变量类型 变量名.如: int a;
•        特点:
o        同一作用域不能有相同变量名
o        从定义始,在函数作用于执行完失效,只在当前作用域有效
•        作用域:离变量最近的两个大括号之间.
•        注意:
o        不同作用域变量可以同名
o        作用域可以无限嵌套
变量的内存分析
•        基本单位:Byte
•        每一块内存有一个地址.相当于名字
•        打印不同类型一个变量在内存中占用空间:如:printf(“int类型一个变量在当前运行环境中占用空间%lu\n”,sizeof(int));
o        lu:long unsigned; long unsigned int无符号长整形;表示正整数;
o        有符号的长整形包括所有整数,可以与互相转换.可以用%d打印sizeof计算的结果,但是会报警告,编译器建议使用%lu
•        sizeof是一个单目运算符,用于计算当前运行环境占用内存字节数
•        地址的分配:如:int a;int b;按定义先后从大到小分配;a的地址大于b.其中在分配给a的所有内存块中,地址最小的为a的地址
•        打印变量的地址:如:int a;printf(“a的地址是:%p\n”,&a);
•        变量没有赋值之前使用没有意义
输入\输出函数
•        输出函数:
o        格式:printf(“格式控制符”,变量名);
o        不同数据类型对应的格式控制符:
•        整型--%d
•        浮点型--%f
        控制小数点后面的位数--%.mf(m是要打印的位数)
•        字符型--%c
•        地址--%p
•        字符串--%s
•        输入函数:
o        格式:sacnf(“格式控制字符”,变量地址);
o        注意:
•        不同数据类型对应的格式控制符同输出函数一样,
•        变量地址:&变量名
•        引号中不能有换行符
•        在控制台的输入格式严格遵守引号中定义的方式.如:”%d,%d”,控制台输入数字也要严格用逗号分隔.
•        两函数都是库函数,使用前需要声明头文件:#include <stdio.h>
•        可以批量输入或输出
        C语言中的基本运算
算术运算:+  -  *  /  %(取余)
•        特点:
o        不同类型数据精度不同,需注意以下几点
•        double>float>int
•        高精度向低精度转换会损失精度
•        低精度向高精度转换会提高精度
•        使用强制转换可以使高精度向低精度转换不损失精度.方式:如:int a=(int)1.8.在要提升精度的数据前加括号,括号中输入目标数据类型.
•        不同精度数据间运算,低精度自动向高精度提升
•        同精度运算结果精度不变,要提升精度使用强转
o        不同运算符之间优先级不同,情况如下:
•        *=/=%>+=-,通过加括号改变优先顺序
•        注意:
•        取余运算,如a%b,编译器会认为%是格式控制符,导致返回警告,因此取余运算应当这样写:a%%b
•        取余运算只能在整数间进行.小数是不可以的
赋值及自增自减运算:= += -= ++ --
•        含义:
o        =; int a=1;
o        +=;a+=2等价于a=a+2;
o        -=;a-=2等价于a=a-2;
o        ++;
•        a++等价于a=a+1;
•        ++a和a++本身没什么区别,只有当这个整体参与其他运算是才有差别;a++,先参与别的运算,再自增;++a,先自增,再参与别的运算
•        例:int a=1;b=a++;读完这两句后,a=2;b=1;int a=1 b=++a;读完这两句后,a=2,b=2
o        --;a—等价于a=a-1;
sizeof:
•        N目运算符
o        单目运算符:如:b=a++;等号右侧只有一部分参加运算
o        双目运算符:如:c=1+1;+有两部分参加运算
o        三目运算符
•        用法:
o        直接计算常量占用的字节数如sizeof 2
o        直接计算变量占用字节数如sizeof a
o        计算不同数据类型占用字节数如sizeof(int)
o        sizeof 后直接接字符 sizeof( ‘a’)自动将’a’转换成ASCII表对应数值,也就是int型,相当于sizeof(int),返回4
o        char c=’a’;sizeof(c),返回1.该点同上一条的区别:这里定义了变量字符型变量c,初始化为’a’,而字符型变量在64为运行环境中是1
•        注意:
o        sizeof后面什么时候要括号,什么时候不要?
•        计算数据类型时候一定要,计算变量或常量时可要可不要

10 个回复

倒序浏览
总结的真好,收了
回复 使用道具 举报
有点多,咱们是一个班的不.同学
回复 使用道具 举报
顶一个   
回复 使用道具 举报
你这是要把几天的笔记都发出来吗
回复 使用道具 举报
作为你的朋友李东不顶不行啊
回复 使用道具 举报 1 0
liuchuan_alex 发表于 2015-11-5 19:45
有点多,咱们是一个班的不.同学

不知道诶,我是1030期的
回复 使用道具 举报
  张恒宇 发表于 2015-11-5 20:21
你这是要把几天的笔记都发出来吗

还没总结完,总结了两三小时才总结这多
回复 使用道具 举报
我去1030期。。。。苗苗老师班的
回复 使用道具 举报
yufang1993 发表于 2015-11-5 23:25
不知道诶,我是1030期的

同学哈..你是哪个
回复 使用道具 举报

是一个班的?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马