黑马程序员-C语言总结

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

1.基本数据类型有哪些?

1.int
1> long int、long:8个字节 %ld
2> short int、short:2个字节 %d %i
3> unsigned int、unsigned:4个字节 %zd
4> signed int、signed、int:4个字节 %d %i

2.float\double
1> float :4个字节 %f
2> double:8个字节 %f

3.char
1> 1个字节 %c %d
2> char类型保存在内存中的是它的ASCII值
'A' --> 65

2.关键字与标识符的区别

关键字:关键字是属于系统自带的,是具有特殊含义的符号。
标识符:是程序中自定义的一些符号和名称。

3.逻辑运算,位运算分类

逻辑运算:与&& 或|| 非!
位运算:与& 或| 异或^ 按位取反~ 左移<< 右移 >>
优先级问题:算数运算>关系运算>逻辑运算

4.代码段有什么作用
   主要是为了能够快速回收不再使用的变量内存。

5.short和long的作用
   1>short和long都是用于修饰int;
   2>short范围比较小,而且short占用2字节,long占用8字节;

6.const修饰变量有什么作用

   表示变量的值是常量,不可以修改。

7.sizeof的用法

   sizeof是用来计算一个变量、常量或数据类型所占用的内存字节数。

8.循环有哪些,他们有什么区别
   for循环:首先进行对条件进行判断,然后再循环,处理能力最强
   while 循环:首先进行对条件进行判断,然后再循环。

   do..while循环:首先循环一次,然后再对条件进行判断。

9.break与continue的作用
   break: 退出循环。
    continue: 退出本次循环,进入下次循环。

10.函数是什么?它的作用是什么?定义函数的步骤
   1)定义:函数是实现某个功能的代码段。
   2)作用:封装一个常用功能。
   3)步骤:1>明确函数作用,并定义一个函数名。
             2>确定函数参数
             3>确定函数返回值。

11..h和.c文件的分工
   .h:函数头文件,用来声明某个函数

   .c:函数体文件,用来存放具体的函数代码

12.数组与指针
  1>指针可以用来访问数组元素,
eg: p[i] , *(p+i)
  2>指针加1代表访问下一个数组元素,1的具体字节数根据指针类型来判断。

13.数组与函数的使用
   1~当数组作为函数参数使用时,数组元素个数可以省略
   2~当数组地址传递给函数时,数组元素值的更改会影响到外面数组元素值的更改(地址传递)
   3~当使用数组值传递时,数组元素值的更改不会影响到外面数组元素值的更改(值传递)

14.字符串与指针
   1~利用指针定义的字符串属于常量,不可进行修改。
   2~利用数组定义的字符串属于变量,可以修改。

15.字符串的定义以及strlen的使用
    定义:字符串以字符数组组成,且字符串的最后一位是\0;
   strlen的作用:用来计算字符串的长度,如果遇到\0则停止计算。

16.局部变量与全局变量(定义,作用域,周期,初始值问题考虑)
 局部变量:
   定义:变量定义在函数(代码块内部)
   作用域:从定义变量开始,到函数或代码块运行完毕.
   生命周期:当定义变量时就会分配内存,当函数运行完毕后,则此内存会被回收,变量消失.
   初始值问题:没有初始值
 全局变量
   定义:变量定义在函数或代码块外部.
   作用域:从定义变量开始,一直到程序结束.
   生命周期:从定义变量开始分配内存,当程序结束后,变量内存被回收.
   初始值问题:初始值为0.

17.结构体与函数、指针的关系
    结构体与函数:
          1>如果结构体定义在函数内部,则作用域从定义的那一行开始,到函数结束,类似局部变量。
          2>如果结构体定义在函数外部,则作用域从定义的那一行开始,一直到程序结束。
    结构体与指针的关系:
          有3种方式可以访问结构体变量:
           1>stu.age
           2>(*p).age
           3>p->age

18.预处理指令有哪些?分别说一下、
     分类:宏定义、条件编译、文件包含
     宏定义:1>宏定义是值将某些字符串替换成为常量或运算符,减少了程序代码量。
                     2>宏定义分类带参数的宏定义和不带参数的宏定义。
                     3>在定义带参数的宏定义时,一定要将每个变量名用小括号括起来
     条件编译:1>符合某些条件时,再将此代码段进行编译,而且只编译宏定义的语句。
2>只有编译的代码才占用内存,没有进行编译的代码不占用内存。
                    3>有了条件编译,必须加#endif
     文件包含:可以和宏定义相结合,来防止文件重复包含。


19.typedef的用法、作用、好处
      用法:#typedef 类型 别名 ;
      作用:为某个类型定义别名。
      好处:1>可以减少代码量。
                2>可以减少工作量。

20.static与extern对函数,全局变量,局部变量的作用
     对函数作用:
           static:说明此函数不能被外部文件访问。
           extern:说明此函数可以被外部文件访问。
     对全部变量作用:
            static:说明此变量不能被外部文件访问
           extern:说明此变量可以被外部文件访问。
     对局部变量作用:
              static:1>会延长变量周期,不会随着函数被毁而此变量消失。
                         2>延长变量作用域。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值