| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
 本帖最后由 yishfd 于 2016-12-1 02:05 编辑  
 
开贴 
 
linux下常用的命令 
 
1、vi 文件名.c 创建一个.c扩展的文件 
2、mkdir 目录名 创建一个新目录 
3、rm 删除命令 
例二:将 Finished 子目录及子目录中所有档案删除。 
    rm -r Finished 
4、cd .. 后退一个文件夹 
5、gcc *.c -o *  *号表示文件名 
6、./文件名  运行 
 
【s1e3】 
printf的双引号中放一些文本,我们把文本称为字符串(由可见字符(星号、@、空格)和转义字符组成)。 
\n 是转义字符,表示换行。 
\n\,第二个反斜线的意思,忽略第二个\的存在,并且把下一行当作是上一行的延续。适用场景:代码超级长,一行字符串超级长,要分两行来写,表示上下两行是一起的 
\也可以用在语句中,语句中不能有空格和TAB的缩进。如果有缩进,C语言编译的时候也会把TAB的缩进。 
 
【s1e4】 
变量的意义确定目标并提供存放的空间。 
变量名的规则:只能用英文字母,数字或者下划线组成;第一个字母必须是字母或下划线开头;变量名区分大小写。 
注意:不能使用关键字命名。 
什么是关键字:在C语言中有特殊的含义。32个》37(C99)》44(C11)》 
数据类型: 
char 字符型,占用一个字节 
int 整型,通常反映了所用机器中整数的最自然长度 
float 单精度浮点型(表示的数据小) 
double 双精度浮点型(表示的数据大) 
 
%.2f  中 .2 表示单精度浮点型的数,精确到小数点后2位 
%11.9 中 .9表示精确到小数点后9位,11表示数值的宽度 一共有11位(包括小数点) 
 
编译完立刻执行 gcc *.c -o * && ./*   (*星号表示文件名) 
  
【s1e5】 常量和宏定义   
 
标识符,就是C语言中所有的名字 
 
整型常量:521,1314 
实型常量:3.14,5.12 
字符常量: 
(普通字符:'L','o','v','e' 
(转义字符:'\n','\t','\b’ 
字符串常量:"FishC" 
符号常量:使用之前必须先定义(格式 #define) 
 
【s1e6】 数据类型 
 
1、基本类型: 
(1)整数类型》short int ; int ; long int ; long long int  
(2)浮点数类型》float ; double ; long double  
(3)字符类型》char 
(4)布尔类型》_Bool 
(5)枚举类型》enum 
 
2、指针类型: 
3、构造类型: 
(1)数组类型》 
(2)结构类型》 
(3)联合类型》 
4、空类型: 
 
signed 和 unsigned 
 
signed 表示还符号位的,可以存放负数 
unsigned 不带符号位的,只能存放0和正数 
 
默认所有的整型都是带符号位的 
 
printf 打印带符号的 %d,打印无符号的 %u 
 
sizeof 运算符用于获得数据类型或表达式的长度  【sizeof()是一个运算符,不是一个函数】 
- sizeof(object); //sizeof(对象) 
- sizeof(type_name); //sizeof(类型) 
- sizeof object; //sizeof 对象; 
 
pow函数 用于计算某个数的某次幂的值 pow(x,y)=x的y字幂等于多少 
gcc -lm 文件名.c -o 文件名 && ./文件名 
 
【s1e7】 取值范围 
二进制,十进制,十六进制 
位 bit 
字节 Byte 
 
符号位 
int 默认是带符号位的 
 
存放signed类型的存储单元中,左边第一位表示符号位。 
如果该位为0,表示该整数是一个正数;如果该位为1,表示该整数是一个负数。 
 
 一个32位的整型变量,除去左边第一位符号位,剩下表示值的只有 
31个比特位。 
 
计算机是如何存放负数的:是用补码的形式来存放整数的值 
 
补码: 
 
正数的补码是该数的二进制形式 
负数的补码需要通过以下几步获得: 
1、先取得该数的绝对值的二进制形式 
2、再将第1步的值按位取反 
3、最后将第2步的值加1 
 
最大值和最小值 
 
正数 需要第一个符号位为0,表示正数 
负数 需要第一个符号位为1,表示负数 
 
遇到了难题,到了进制转换就懵逼了。。 还有数据类型,一个整型就懵逼了。。。啊啊啊,崩溃了。 还要不要继续下去??? 
 
【s1e8】 字符和字符串 
字符类型是特殊的整型 因此它也有取值范围 
 
但char类型没有规定默认是signed 还是unsigned,具体是由编译系统决定的。 
 
字符串  
 
C语言没有为字符串设计单独的类型。 
 
char 变量名[索引号] = {'字符1','字符2','字符3',……,'\0'} 
 
变量名,要符合命名规则  
索引号,字符数量+1(最后一个'\0'表示字符串的结束),也可省略不写 
 
直接使用字符串常量 
char 变量名[索引号] = {"字符串常量"},省去'\0', 
char 变量名[索引号] = "字符串常量",省去花括号 
 
【s1e9】 算术运算符 
目,运算符  操作数 
单目还是双目,看起作用的操作数是几个 (唯一的一个三目运算符) 
 
表达式:用运算符和括号将操作数连接起来的式子 
 
 
有:加(+)、减(-)、乘(*)、除(/)、余(%)、正号(+)、负号(-);前5个是双目,后两个是单目 
 
类型转换: 
 
一个运算符的操作数不同时,编译器会先将他们转换为某个共同的数据类型,才能进行运算。通常情况下是将占用坑位小的转换成占用坑位大的操作数类型,然后再进行运算。这样可以确保运算的精确度。 
 
C语言也允许强制转换操作数类型,在操作数前面用小括号将目标数据类型括起来。例如: 1 + (int)2.0 
 
思考:整型和整型的运算,结果是整型(如果有小数,强制丢弃小数点后的部分) 
整型和浮点型运算,结果是浮点型 
 
【s1e10】 关系运算符和逻辑运算符 
 
五种关系运算符 》关系表达式 
 
三种逻辑运算符 》逻辑表达式:用逻辑运算符将两边的变量、数据或表达式连接起来,称之为逻辑表达式 
 
逻辑非(!),高;逻辑与(&&),中;逻辑或(||),低 
 
逻辑非,取反;逻辑与,两个操作数,同为真,结果为真,其中一个为假,结果为假;两个操作数,同为假,结果为假,其中一个为真,结果为真。 
 
短路求值(最小化求值),逻辑运算符的求值策略。 
 
【s1e11】 if语句 
 
cp 文件1.c 文件2.c 把文件1复制为文件2 
 
IF语句一、 
if (表达式) 
{ 
        ……        //表达式为真,执行此语句或多条语句(语句块)。 
} 
……        //表达式为假,执行此语句 
白话翻译:”如果怎样,就怎么样“ 
 
用大括号把多条语句包含起来,就构成了一个语句块,是一个整体。 
 
IF语句二、 
if (表达式) 
{ 
        ……        //        真,执行语句、程序块 
} 
else 
{ 
        ……        //        真,执行语句、程序块 
} 
……        //        其它语句 
白话翻译:”如果怎么就怎么,否则还能怎样“ 
 
IF语句三、 
if (表达式1) 
{ 
        ……        //        真,执行语句、程序块 
} 
else if (表达式2) 
{ 
        ……        //        真,执行语句、程序块 
} 
else if (表达式3) 
{ 
        ……        //        真,执行语句、程序块 
} 
……        else if (表达式N){……} 
else 
{ 
        ……        //        假执行语句、程序块 
} 
 
【s1e12】 switch语句和分支嵌套 
 
……        //其它语句 
switcch (表达式) 
{ 
        case 常量表达式1:语句或程序块1;        break; 
        case 常量表达式2:语句或程序块2;        break; 
        …… 
        case 常量表达式3:语句或程序块n;        break; 
        default:语句或程序块n+1;        break; 
} 
……        //其它语句 
 
解释:每个case就像标签,每个标签后,都要有break,负责执行后跳转出来。 
 
分支结构的嵌套 
 
if (表达式) 
        if (表达式)     | 
                ……            |  内嵌if 
        else                          | 
                ……                  |                 
else 
        if (表达式)     | 
                ……            |   内嵌if 
        else                   | 
                ……            | 
 
复习scanf函数的用法,“”引号中的参数 
 
函数getchar的用法 
 
bug1:悬挂else 
 
bug2:等于号带来的问题 
等于号写成了赋值号 
 
 
 
 
 |   
 
 
 
 |