C语言知识小结(一)

来源:互联网 发布:窗帘拼布算法 编辑:程序博客网 时间:2024/05/29 14:16

 

 

C语言基础

 

 

经典入门“hello world!”

*源文件:hello.c

*头文件:用#include包含

*关键字:关键字,32个关键字。main是主函数,程序运行入口。return是函数结束的标志。

*符号:#号是C语言的一种符号,%取余符号 ,++、--、&、|、~、!、;(一句代码的结束标志)。

*注释://注释一行代码的,多行的语句就用/*...*/注释。

*变量:是变化的,在计算过程中会发生变化的量。

*函数:函数小括号里面参数列表,紧跟一对花括号,话括号里面是函数体。


步骤:

编辑、编译、运行、调试

 

1,编辑:vim编辑 .c 格式的文件

2,编译:gcc 加上 文件名

3,运行:直接输入编译后产生的gcc文件

4,调式:根据编译提示的信息,重新对源文件进行调整

 

 

数据类型:整形(long int, short), 浮点型, 字符型。

负数、隐式转换

字节:所有的系统里面,一个字节占8bit。整形占4个字节32位。

 

 



程序结构

 

 

1、顺序执行

2、选择执行

(1)if() + else  条件成立,就运行,中间不能加别的语句。else 匹配就近原则

(2)if() + else if() + else

3)switch(变量或者表达式或者数字) + case

3、循环执行

(1)、for(初始条件;终止条件;循环增量)条件需要程序员自己把握。

(2)、while先运行终止的条件判断,再运行循环体,循环体内包含循环增量(先判断后运行)

(3)、do while 先运行循环体,循环体包含循环增量,在进行判断(先运行后判断)

 

 


 

位运算

 

 

(1)位与 &符号,两个&&是逻辑与

真值表:1&0=0, 1&1=1,0&0 = 0, 0&1=0

位与和逻辑与的区别:位与时是两个操作数按位(二进制位)相与一一对应,逻辑与是两个操作数作为整体来运算,1&&0xF= 1, 0&&0xF = 0.运算出来是逻辑值。

 

(2)位或 |符号,两个||是逻辑或

真值表:0|0 = 0,别的情况都是1。

位或和逻辑或的区别::位或时是两个操作数按位(二进制位)相或一一对应,逻辑或是两个操作数作为整体来运算,1&&0xF= 1, 0&&0xF = 1.运算出来是逻辑值。

 

(3)位异或^符号,它也是位运算符,真值表:0^0 = 0, 1^1 = 0, 0^1 = 1,1^0 = 1.没有逻辑上的异或。

 

(4)位取反~符号,就是按位取反(0变1,1变0),逻辑取反!符号,操作数(!data(非零) = 0,!data(零)= 1),最终结果是表示一个逻辑值。

 

(5)左移(<<)和右移(>>),表示按位移动

    C语言的移位要取决于数据类型。

对于无符号数,左移时右侧补0(相当于逻辑移位)

对于无符号数,右移时左侧补0(相当于逻辑移位)

对于有符号数,左移时右侧补0(叫算术移位,相当于逻辑移位)

对于有符号数,右移时左侧补符号位(如果正数就补0,负数就补1,叫算术移位)

 






练习1:


         *

   *** 

  *****

   ***

    *



练习2:

----------------------------

 

 ***www.baidu.com***

 

++++++++++++++++++++++++++++

  



练习:

1.给定一个整型数a,设置a的bit3(为1),保证其他位不变。  



2.给定一个整形数a,设置a的bit3~bit7,保持其他位不变。



3.给定一个整型数a,清除a的bit15,保证其他位不变。



4.给定一个整形数a,清除a的bit15~bit23,保持其他位不变。



5.给定一个整形数a,取出a的bit3~bit8。



6.用C语言给一个整形数的bit7~bit17赋值937(其余位不受影响)。



7.用C语言将一个整形数的bit7~bit17中的值加17(其余位不受影响)。



8.用C语言给一个整形数的bit7~bit17赋值937,同时给bit21~bit25赋值17.