C语言回顾:
1.基本数据类型 表达式 运算符
基本数据类型:
整型
浮点型
字符型
每种数据类型:
1.变量 //变量名的命名规则
2.常量形式
3.大小
4.数据存储
5.相关的问题
整型
//int ,short,long,long long
//unsigned/signed
常量
123
0x123
012
unsigned short a = 65536;//65535+1
浮点型
变量
float 4字节
double 8字节
long double 16字节
常量
1.23
1.23e3
1.23E-3
大小
存储
IEEE754标准
考点
浮点数比较
正确的比较
float f = 0.9;
if (f == 0.9f)
字符型
变量
char
unsigned char/signed char
01010001
编码--- Ucode
ascii 编码
'a' --->存到计算机
变好的码 ---> 整型数值
char类型与整型是通用的
常量形式:
'a'
'\n'
'\012'
'\x12'
知识点:
ascii
'4' -'0' 4
'A' +32 'a'
+' '
运算符:
算术运算
+ - * / % ++ --
左值
右值 &
10++;//错误 -- 10不是一个左值
const int a;
a++;//错误 --因为a是一个只读的变量
i+++++i //贪心原则
赋值运算
=
int a,b,c;
a=b=c=1;
逗号运算
,
隐式类型转换
signed int a = -10;
unsigned int b = 5;
if (a > b)
{
puts("yes");
}else
{
puts("no");
}
不同类型间混合赋值
//高精度 => 低精度
浮点型数据=>整型数据 //精度丢失
//长类型 => 短类型
int => short //高位截断
//短类型 => 长类型
unsigned short => int //高位补0
signed short => int //高位补 符号位
----------------------------------------
2.输入输出
getchar
putchar
printf
scanf
3.流程控制
程序结构
a.顺序结构
b.分支结构
c.循环结构
-----------------
//分支
关系运算
> >= < <= == != //运算结果 逻辑值 真(1) 假(0)
逻辑运算 //将一个量判断真假? 0为假,非0为真
&& || !
//截断特性(短路特性)
if 语句
//形式1
if ()
{
}
//形式2
if()
{
}else
{
}
//形式3
if ()
{
}else if ()
{
}
...
switch 语句
//循环
switch()
{
case 常量表达式:
...
break;
default:
...
break;
}
循环:
goto
while
do-while
for
//break
//continue
4.数组
a.数组概念
(1).数组 --是一组相同类型的(变量)数据的集合
(2).数组 提供了批量处理数据的能力 。可以批量存储数据
b.数组定义
类型说明符 数组名[常量表达式];
元素类型 标识符[数组长度];
c.
int a[10];
int a[3][4];
char c[10];
char s[3][10];
d.二维数组
a.c语言中,并不存在真正的二维数组,本质就是一维数组
二维数组 = 一维数组的一维数组
注意:
1.数组也是一种数据类型。
识别的方式,去掉数组名,剩下的就是数组类型
2.数组名
数组名 代表的数据类型 数组类型
数组名 代表的数值 数组首元素对应的地址
3.数组长度
整型表达式
整型常量表达式或变量表达式
如果是变量,则不能初始化
4.数组特点
单一性
连续性
有序性
5.练习
a.求极值 //最大值 最小值 次大值
b.数组逆序 //
c.数组排序
选择排序
冒泡排序
插入排序
d.查找
二分查找
e.一维字符型数组
字符串
"" //双引号括起来的就是字符串
//"" 空字符串 ---有一个'\0'
"abc" //'a''b''c''\0'
gets
puts
strlen
strcpy
strcat
strcmp
作业:
1.
定义n×n的二维数组,并赋予初值。
请编程序:
使数组左下半三角元素中的值全部置成零。
实参的值传到形参去,这题选b。