一、C语言理论基础
#C语言特点:
1、高效性 2、灵活性 3、功能丰富 4、表达力强 5、一致性好
#算法特性:
1、有穷性 2、确定性 3、有效性 4、有零个或多个输入 5、有一个或多个输出
#算法优劣:
1、正确性 2、可读性 3、健壮性 4、时间复杂度与空间复杂度
#流程图
(谭p22)起止框、输入输出框、判断框、处理框、流程线、连接点、注释框
#结构化程序设计方法:
1、自顶向下 2、逐步细化 3、模块化设计 4、结构化编码
转义字符及其作用:
\n 换行 \t 水平制表符 p40
常变量和符号常量的区别: p42(不理解应该没关系)
#标志符:只能由字母、数字、下划线3种字符组成。且第一个字符必须为字母或下划线。标识符不能是关键字。(区分大小写)
#数据类型:p41
整型 4字节 短整型 2字节 字符型 1字节 单精度型 4字节 双精度 8字节
#混合运算:
char、short—>int——unsigned——long——double
float——double
@注意事项:
【实数相除结果为双精度实数
整数相除结果为整数(向 取整?)
% 区域要求 运算对象为整数
有double float 参与运算结果必为double
字符型数据(char)与整型数据运算,即为ACS码运算】
#逻辑运算符
逻辑与 &&
逻辑或 ||
单目逻辑非 !
#运算符优先级和结合性:
(从高到低)
运算符号 | 结合性 |
---|---|
()[]-> | 自左向右 |
!~ 自加 自减 + - * & (type)sirzefof | 自右向左 |
* / % | 自左向右 |
= - | 自左向右 |
<< >> | 自左向右 |
== != | 自左向右 |
& | 自左向右 |
^ | 自左向右 |
! | 自左向右 |
&& | 自左向右 |
11 | 自左向右 |
?: | 自右向左 |
= += -= *= /= %= ^= <<= >>= | 自左向右 |
#输入输出函数:
字符 单引号 ’ ’ 字符串 双引号 " "
字符输入输出 : putchar(‘A’); getchar(‘a’);
字符串输入输出:puts(指针或数组或字符串);
gets(指针或数组);
printf(格式控制,输出列表);
sacnf(格式控制,地址列表);
变量标识符前加上’&'表示存取变量的地址。
格式字符 | 功能说明 |
---|---|
d,i | 有符号十进制整数 |
c | 单个字符 |
s | 字符串 |
f | 用来输入实型,可以用小数形式或指数形式输入 |
格式,留空,宽度等,见《入门到精通》p88
#if 语句 选择结构:
if(表达式) 语句
if(表达式)
语句块1;
else
语句块2;
if(表达式1)语句1
else if(表达式2)语句2
else if(表达式3)语句3
.......
else if(表达式m)语句m
else 语句n
if嵌套略
条件运算符:
表达式1?表达式2:表达式3;
1真则2 1假则3
#switch语句:
switch(表达式)
{
case 情况1:
语句块1;
case 情况2:
语句块2;
........
case 情况n:
语句块n:
default:
默认情况语句;
}
注意:任意两个case语句不能使用相同的常量值;每个switch结构只能由一个default语句,而且default可以省略。case语句表示的条件后面有一个冒号’:’,不要忘了。
#while语句:
while(表达式)语句???
exp:
while(iSum<100)
{
iSum+=1;
)
#do while 语句:
do
循环体语句
while(表达式):
#for 语句:
for(循环变量赋初值;循环条件;循环变量变化)
{
语句块
}
#break 与 continue:
break;不能被用于switch语句和循环语句之外的任何其他语句中
break 跳出循环
continue;结束本次循环,即跳过循环体中尚未执行的部分,直接执行下一次的循环操作。