1)整形常量: 10进制 如:10;18;
8进制 以0 开头;如045;
2进制 以0b(0B开头;
16进制 以0X开头;
2. 实型小数常量的表示方法
1) 单精度常量 以f结尾 如2.3f;
2) 双精度常量 双精度形式表示是一个小数 2.3;
3) 字符型常量 用单引号(’ ‘)括起来的单个字符,如:’a’, ‘b’;
4) 字符常量,用双引号括起来的字符,数字等;
3. 标识符的命名规则;
1) 由字母、下划线、以及美元符号组成;
2) 不能和关键字重名;
3) 不能以数字开头
4) 严格区分大小写;
5) 标识符大多遵循驼峰命名法;
4. 变量 代表内存的莫个空间,值可变,有变量名与变量类型构成;
变量的定义:应该遵守标识符的命名 规范 ,不能重复;
5. 格式控制符
%d 输出一个十进制的整数;
%f 输出一个实数类型的小数,(不可以输出整形);
%m.nf m表示总的位数(列数)n表示小数点后的位数,
%c 输出一个字符;
%S 输出一个字符串;
%O 把一个数,以八进制的形式输出;
%X 把一个数,以16进制的形式输出;
%p 输出某一个变量的地址;
6 printf 使用的注意事项;
1)%md m为域宽
2) %0md 表示不足部分补0;
二. C语言第三天知识点:
1.运算符的概念和分类
概念:运算符是告诉编译程序执行特定算术或逻辑操作的符号。
分类:
1)按功能分类:算术运算符、逻辑运算符、和关系运算符和按位运算符。
2) 按操作说划分:单目运算、双目运算和三目运算。
算术运算符分为:+ (加)、-(减)、 *(乘)、 /(取整)、 %(取余)
注意:在取整数时,如果有小数,则取整结果为小数
求余时:被除数的符号决定了结果的正负符号。除数不能为0 因为无意义
2.基本运算符的类型转换问题
注意:当一个很的大数加一个小数时如果小数是float型运算结果容易出现错误,因为float型只有七位数字。
数据类型间的强制转换时暂时的其实并没有改变被转换数的值。
例:floata=3.00002 ; Int b=3545;
Printf(“%d”,(int)a+b); 结果只有七位有效数字
Printf(“%f”,a); 3.00002
3.赋值运算符 = 自右相左结合
Int a=b=c=10;错误 因为int a 表示定义变量 当定义a时 赋值的是未知变量b,所以要先定义 后赋值。
Int a,b,c;
a=b=c=10;正确
4.sizeof运算符
Sizeof是一个单目运算符
作用域:计算常量、变量、数据类型在内存中所占的字节数。
Int a;
a=Sizeof 1;注意:当sizeof用在常量和变量时 可以省略括号
a=sizeof (int);
Printf(“%d”,a); 结果为4 因为整数1 为整型所占字节数为4位。
5.逗号运算符
将多个表达式连接起来成为一个表达式。整个表达式的结果是最后表达式的结果
例:a=3;b=4
Result=(a+3,b+2);运算结果为6
6.关系运算符 左结合
>、>= 、< 、<= 优先级高于 == 、!=
关系运算符的结果只有真和假
7.逻辑运算符
&& :优先级为 11 ,||: 优先级为12(左结合)!右结合
逻辑运算的短路问题
A||B A为真 结果为真 B不执行
A&&B A为假 结果为假 B不执行
Int a=b=0,result=-1;
Result=++a||++b&&b;因为++a后为真(1),结果为真 所以后边就不在执行了。
8.三目运算符和求值方法右结合
形式:表达式1?表达式2:表达式3 如果表达式1为真结果就是表达式2的值 否则为表达式3的值
9.运算符:运算符用来连接操作数,组成有意义的式子。
分类:算术、关系、逻辑、位运算、
位运算:
用于整数的二进制之间的运算
& 按位与 :两个全为1 结果为1 否则为0
| 按位或 :两个有1 结果为1 否则为0
~ 按位取反:0变1 1变0
^ 按位异或:相同为0 不同为1
>> 右移位 全部相右移动低位丢失 高位补0
<< 左移位 全部向左移动 高位丢失 低位补0 可能改变原数的正负性
1.程序的结构和分类
程序结构:由荷兰学者dijkstra提出的一套“结构化程序设计”的思想。他规定了一套方法,
使程序具有一定规则和结构。
分类:顺序结构,分支结构if,循化结构for 、do-while 、while-do。
2.Switch语句格式
Switch (表达式0)
Case 表达式1:语句1 break;
Case 表达式2:语句2 break;
Case 表达式3:语句3 break;
Default 语句4
注意:
1)表达式0:整型变量 整型常量 或返回值是整型的表达式 或可以转换为整型的表达式
2)Case语句 可以由多行语句 可以由花括号,也可以没有
3)Break 用来跳出switch循环
4)如果没有break case语句 从开始位置向下穿透运行
5)Default 可以任意放、如果default放到最后 可以不加break
6)Case 后的表达式 只能放常量 或常量表达式 不能有变量
7)Case之后的第一个语句不能定义变量 除非加上花括号既定义局部变量
四. C语言第五天知识点:
1.循环结构:
分类:
1)while(表达式) do{语句}:先判断后执行
2)Do{语句} while(表达式):先执行后判断
3)For(表达式1; 表达式2;表达式3){语句}
构成循环的三个条件
1)控制条件
2)循环体
3)能够让控制条件为假的操作
For循环形式1:例:for(inti=0;i<3;i++) {printf(“shuchu ”)}
2.For循环省略格式:
1)int i=1;
For(;i<3;i++){语句}
2)int i=1;
For(;i<3;;){语句;i++;}
3.Break语句用在循环中,分别用来结束循环和跳出循环
Continu跳过循环体中剩余的语句而继续下一次,用在for do-while while循环中
五. C语言第六天知识点:
1.函数:是特定功能的代码段。
2.C语言是由函数组成的, 函数是C源程序的基本模块,通过对函数模块的调用实现特定的功能。
3.函数分类
1)库函数:不需要用户定义,也不必再程序中作类型说明,只需在程序钱前包含有该函数原型的头文件。例:stdio.h \stdlib.h
2)用户定义函数:需要用户定义并进行类型说明
3)函数的基本格式
返回值类型 函数名称(函数参数)
{
函数体;
}
4.用户定义函数
分为:无参无返回值函数、无参有返回值函数、有参无返回值参数、有参有返回值函数。
无参无返回值函数:
一般形式:void 函数名()
{
声明部分
语句
}
例:voiduser_print() { print(“and”); }
无参有返回值函数:
一般形式:返回值的类型 函数名()
{
声明部分
语句
Return 返回值类型变量或常量;//返回给主调函数
}
例:intsum(){ int num1=0; return num1; }
有参无返回值函数:
一般形式:void 函数名(形式参数表现)
{
声明部分
语句
}
例:voidprint_line(int n){ int a=n; printf(“%d”,a);
有参有返回值函数:
一般形式:返回值类型 函数名(形式参数表列)
{
声明部分
语句
Return 返回值类型变量或常量;
}
5.形式参数:简称形参 在函数定义中,函数名后面小括号中的参数
注意:
1)形参定义后,并不立即分配存储空间,在函数调用的时候才会真正的分配存储间。
2)当有多个形参时要用逗号隔开。
3)形参类型可以不相同。
4)在函数中不能定义和形参同名的参数。
6.实际参数:简称实参,在函数调用的时候,在小括号中的参数
注意;
1)实参可以是变量,也可以是表达式。
7.实参与形参之间的值的传递过程
1)调用函数的时候,实参的值是一个确定的值
2)调用的时候,将实参的值赋值给形参。
3)实参与形参的数量和类型要一致。
4)形参的值在被调函数中可以改变,但不会影响主调函数中实参的数据。
8.函数返回值使用注意:
1)要用到关键字 return (a);
2)A 可以是常量、表达式、变量。
3)Return 后的括号可以省略
4)如果return的值和函数定义的返回值类型不一直,则以函数定义的返回值类型一致。
函数使用流程:声明——定义——调用
1)函数声明:告诉编译器这个函数存在,以及被调函数的返回值类型以便在主调函数中处理返回数据。写在调用函数之前
2) 声明格式:函数类型 函数名(参数);
注意:
1)变量名不能与函数名同名
2)函数调用可以作为另一个函数的实参
9.递归函数:(内存消耗大 能不用就不用)一个函数在自己内部调用自身叫递归调用。
注意:
1)主调函数就是被调函数
2)在递归函数中应该存在能够让递归结束的条件。
Unix系统命令
Ls:列出当前目录下的所有内容
Pwd:显示当前目录的名称
Cd:改变当前操作的目录
Who:显示当前用户名
Clear:清楚所有内容
Mkdir:创建一个目录
Rm:删除文件
Rm -r:删除文件夹 -f 强制删除
Touch:创建文件
Vi/open:打开、创建文件 -q:退出 -wq 保存并退出 -q! 强制退出
例:vi a.txt
I 进入编辑模式
Esc 退出编辑模式
:wq!保存并退出
Cat/more :可以查看文件内容
Cd ../ 返回到上一级
10.手动编译过程
写源文件.c-->.o(目标文件)-->链接-->.out 可执行文件
编译步奏:
1)cc -c 源文件.c ———对源文件进行编译生成 源文件.o
2)Cc 源文件.o ___对 源文件.o 进行连接生成 a.out 文件
3)./a.out ———对文件进