c语言学习笔记
2005.8.27
2005.8.27
1.变量类型
int
char
float
double
void
2.修饰符
signed
unsigned
long
short
3.十六进制表示方法
0x001,0x002
4.转义字符
//,/',/"
/r 回车
/n 回车换行
/f 换页
/t table
/v 垂直制表
/b 退格
/a 响铃
5.格式输出转换说明符
o octal
d decimal
x hex
f float
c char
s string
6.标识符和关键字
auto,break,case,char,const,continue,default,do
double,else,enum,extern,float,for,goto,if,int
long,register,return,short,signed,sizeof,static,struct
switch,typedef,union,unsigned,volatile,while
7.变量的存储属性
auto
register
static
extern
int
char
float
double
void
2.修饰符
signed
unsigned
long
short
3.十六进制表示方法
0x001,0x002
4.转义字符
//,/',/"
/r 回车
/n 回车换行
/f 换页
/t table
/v 垂直制表
/b 退格
/a 响铃
5.格式输出转换说明符
o octal
d decimal
x hex
f float
c char
s string
6.标识符和关键字
auto,break,case,char,const,continue,default,do
double,else,enum,extern,float,for,goto,if,int
long,register,return,short,signed,sizeof,static,struct
switch,typedef,union,unsigned,volatile,while
7.变量的存储属性
auto
register
static
extern
2005.8.27 雨 15:16
8.输入输出
printf(),scanf(),puts(),gets(),
getch(int a),putch(int a),
注意,用vc6的编译器,输入时,要规定char数组长度
9.多维数组
例如:
char week[7][9]={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};
10.算术运算符
+,-,*,/,%,
11.条件运算
a1?a2:a3
12.逻辑运算
&&,||,!
13.位操作
1.二进制位操作
~,&,|,^
2.整型数的位操作
~,&,|,^,<<,>>
14.数据类型的转换
a.赋值符两侧的数据类型不一致,结果同左边变量的类型
b.算术符两侧的数据类型不一致,自动转到精度高的类型
c.强制转换
(char)x
(int)x
(float)x
(double)x
15.运算顺序和结合性
用括号解决
16.控制语句
a.
if(){
}
else if(){
}
...
else{
}
b.
switch(){
case 值1:
语句1;
break;
case 值2:
语句2
break;
...
default:
语句n;
break;
}
c.
while(){
}
d.
do{
}
while();
e.
int i;
for(i=0;i<10;i++){
}
17.转移语句
break,continue,都是配合while,和for,switch使用
转移语与为goto
void testGoto(){
int i=0;
goto abc;
for(i=0;i<10;i++){
printf("a");
}
abc:printf("/nhere is abc:/n");
}
2005.8.28
18.宏定义#define
example:
#define PI 3.1415926
#define SQR(x,y) x*y
19.函数
主要是在使用前注意要声明;
20.指针
指针类型 int,char,float,double,
指针的所对应的内存值得引用 *pointer
注意多级指针的使用
example:
void testPP(){
int i,j;
int a[3][4]={ {11,12,13,14},{21,22,23,24},{31,32,33,34}};
int *ap[3];
int **app;
ap[0]=a[0];
ap[1]=a[1];
ap[2]=a[2];
app=ap;
for(i=0;i<3;i++){
for(j=0;j<4;j++){
printf("%d,",*( *(app+i)+j) );
}
printf("/n");
}
}
21.用地址做实际参数
8.输入输出
printf(),scanf(),puts(),gets(),
getch(int a),putch(int a),
注意,用vc6的编译器,输入时,要规定char数组长度
9.多维数组
例如:
char week[7][9]={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};
10.算术运算符
+,-,*,/,%,
11.条件运算
a1?a2:a3
12.逻辑运算
&&,||,!
13.位操作
1.二进制位操作
~,&,|,^
2.整型数的位操作
~,&,|,^,<<,>>
14.数据类型的转换
a.赋值符两侧的数据类型不一致,结果同左边变量的类型
b.算术符两侧的数据类型不一致,自动转到精度高的类型
c.强制转换
(char)x
(int)x
(float)x
(double)x
15.运算顺序和结合性
用括号解决
16.控制语句
a.
if(){
}
else if(){
}
...
else{
}
b.
switch(){
case 值1:
语句1;
break;
case 值2:
语句2
break;
...
default:
语句n;
break;
}
c.
while(){
}
d.
do{
}
while();
e.
int i;
for(i=0;i<10;i++){
}
17.转移语句
break,continue,都是配合while,和for,switch使用
转移语与为goto
void testGoto(){
int i=0;
goto abc;
for(i=0;i<10;i++){
printf("a");
}
abc:printf("/nhere is abc:/n");
}
2005.8.28
18.宏定义#define
example:
#define PI 3.1415926
#define SQR(x,y) x*y
19.函数
主要是在使用前注意要声明;
20.指针
指针类型 int,char,float,double,
指针的所对应的内存值得引用 *pointer
注意多级指针的使用
example:
void testPP(){
int i,j;
int a[3][4]={ {11,12,13,14},{21,22,23,24},{31,32,33,34}};
int *ap[3];
int **app;
ap[0]=a[0];
ap[1]=a[1];
ap[2]=a[2];
app=ap;
for(i=0;i<3;i++){
for(j=0;j<4;j++){
printf("%d,",*( *(app+i)+j) );
}
printf("/n");
}
}
21.用地址做实际参数
22.利用地址量返回结果
23.参数不定的函数
int printf(const char*,...);
24.利用全局变量传递参数
25.将数组传递到函数中
example:
void test_print2(){
void print2(char
23.参数不定的函数
int printf(const char*,...);
24.利用全局变量传递参数
25.将数组传递到函数中
example:
void test_print2(){
void print2(char