黑马程序员-C语言基础学习(一)

---------------------- IOS培训.期待与您交流! ----------------------


C语言学习笔记一

---既然决定14年要好好的努力一次,那么就不要再轻言放弃,不再在随波逐流。只有努力过、拼搏过,才会知道自己行还是不行!为自己加油!---

---总结的知识点可能有不正确的地方,如果有发现请留言给我,我一定及时更正,不让错误的知识去误导大家,有好的意见也可大声提出来,小弟一定愿意采纳---

1、C语言的文件结尾为.c,其中C语言程序是由函数构成的。c语言的入口函数为main函数

2、对于简单的C语言程序运行可以利用终端(命令提示符)进行程序编译,链接,运行
C语言可是使用的工具有:gcc编译器 clang编译器  
运行时相应的shell指令为   
1).cc -c 文件名.c  编译文件   cc 文件文件名.o  链接函数库  ./a.out  执行生成程序
(其中生成名称为a.out  是unix 帮着生成的名称,这个名称是可以进行修改的。  
可以在链接函数库时指定生成程序的名称 如  cc 文件名称.o -o 指定名称b  在执行时直接 ./指定名称b回车就可以运行  不需要加.out)
        2).编译的操作会把C语言代码翻译成 0 和 1二进制生成.o的文件
注意:如果用shell命令执行带有空格的文件时,要把空格转为 \ 加空格的形式 如 cc -c 01\ 第一个程序.c
3、C语言中的关键字全部为小写
4、标识符 命名规则:只能由26个英文字母大小写 10个阿拉伯数字 下划线组成 (严格区分大小写  不能以数字开头)
5、注释
单行注释   //   单行可以嵌套单行注释 多行注释
多行注释   /*  */  可以嵌套单行注释 不可嵌套多行注释
6、bit 比特位  Byte 字节 1 Byte = 8bit  01010101 = 1字节 1KB = 1024B  

7、整形常量 4个字节 包括所有的整数

浮点常量 分为double float 两种 double为双精度 float为单精度,float要比double精度低,float以f结尾的。切不能有"10f"的格式出现,只能小数允许加f 如2.3f。

   字符常量 1个字节 char 单引号括起来 且只能括一个字符,而且不能为中文字符。 如'a'  '0'
    字符串常量 将一个或多个字符用双引号括起来。 "123" "12"
8、变量的输出
    printf 只能输出字符串
    %d %i 是一个格式符(占位符),只能输出整数 int   %2i  其中的2代表占用2个位置大小,可以方便进行输出时样式的显示 
    如  _7       其中的_把7补成两位显示,实际中是空格
      17
    %f 用来输出小数,且默认是6位小数  %.2f  控制为2位小数 double float
    %c 用来输出char类型 char

9、不同编译器下数据类型占用的字符数

类型 16为编译器 32为编译器 64为编译器
char 1 1 1
int 2 4 4
float 4 4 4
double 8 8 8

10、变量的作用域
从定义变量的那行代码开始,一直到所在的代码块{}结束

代码块作用及时回收不再使用的变量提升性能

{
   int a = 200;
   printf("%d",a);  //200
   printf("%i",a);  //200
}

{
int a = 100;
  {
  int a = 50;
  printf("%d",a);    //50     去找自身代码块中的变量
  } 
printf("%d",a)         //100    找所在代码块中的变量
}


{
  int a = 100;
    {
      int a = 50
    {
      a = 0; 
     //在这个代码块中没有进行变量类型的声明 所以它会向外层去寻找类型 当发现int a 时便会把a赋值为0        //所以下面的输出结果为 0 
    }
    printf("%d",a);    //0     去找自身代码块中的变量
    } 
  printf("%d",a)         //100    找所在代码块中的变量
}

11、内存寻址

内存寻址有大到小  int a  int b  a的内存地址会大于b的地址 由于a在b之前定义
变量越先定义,内存地址越大
12、取地址符

“&” 是地址运算符,取得变量的地址   &a  会给出a的内存地址  
输出地址用 %p   一个变量一定要先进行初始化 

13、scanf函数
scanf函数只接收变量的地址,所以在用户输入的变量前要用地址运算符&
scanf函数是一个阻塞式的函数,等待用户输入
形式 scanf("%i", &a);  当一次性输入多个数值时,需要用某一个符号隔开,空格也可以,当用户输入时也必须用相应的符号分隔
如果scanf 参数用空格隔开,实际输入可以用空格、tab、回车作为分隔符
其中scanf中不能使用换行符  \n   如scanf("%d\n",&a);  //错误语法


C语言学习第一天,所有知识点都是在观看视频时随手记录下来的,可能有记录不正错或是不准的地方,如果发现请及时指出以便我及时修改,不要误导了自己,更误导了大家。后续还会发表些关于C语言基础的笔记,有正在学或是想学习C的朋友,咱们可以私聊下,一起学习交流。毕竟一个人的理解和领悟能力有限。让我们可以互相帮助下。写的不好,有意见的请大声的提出来,好的意见,小弟一定采纳。


---------------------- ASP.Net+Unity开发.Net培训、期待与您交流! ----------------------

你可能感兴趣的:(黑马程序员-C语言基础学习(一))