1、流程控制语句if
单分支
if(表达式){
}
双分支语句
if(表达式1){
}
else{
}
多分支
if(表达式1){
}
else if(表达式2){
}
else if(表达式3){
}
........
else{
}
2、switch 分支语句
switch(表达式){
case 值1 :
....
break; //必须有break
case 值2 :
.....
break;
default:
....
}
3、swtich后面括号中变量的类型有哪些?
答:C语言中SWITCH后面的变量支持:int,short,long,char,枚举
不支持float ,double
4、while循环和do..while循环的语法
5、while循环和do..while循环的区别
6、for循环的语法
for(表达式1;表达式2;表达式3){
三个表达式不是不许的
for(;;){
}死循环
不常见的写法:
loop:
.....
goto loop;
7、break与continue的区别
8、break与returnd的区别
return用于函数的退出。break用于循环的退出.
------------
9、数组的定义语法
10、数组的内存模型:连续的地址空间
11、数组中每一个元素必须是相同的数据类型
12、数组元素通过下标来访问
13、指针的概念
int* x;
int *x;
指向一个其他对象的内存地址的特殊变量,保存的值就是指向的对象的内存地址。
包含4个要点:
指向的对象的类型:定义中去掉 变量名和*之后,剩下的就是指向的对象的类型,上面是int
指针的类型:指针的类型 定义语法中去掉变量名之后剩余的部分 上面是int* 类型
指针本身的内存空间
指针指向的对象的内存空间
14 、指针便令通过*符号得到指向的对象的内容
int a=10;
int* b;
b=&a; //&用于获得对象的地址
int z=*b; //z=10;
int k=b;//Z=指针中保存的地址,就是A的地址
15、数组定义中 int x[]={1,2,3}
X是指向数组的第一个元素的地址,并且不能被修改。因为是第一个元素的地址,所以可以用*得到对应的内容。
}
16、字符串“abc" 与{'a','b','c'} 比较分配的空间上”abc"多了一个长度‘\0', 字符串可以用函数strlen函数来获得长度(不包含\0)。
17、const的用法(面试题)
a、修饰变量,表示这个变量是不可改变的,用于定义常量
b、修饰函数的的参数,表示参数是不可改变的,用于防止参数被修改
c、修饰函数的返回类型,表示函数的返回结果是不可改变的
d、与指针一起使用
const int *A; //const修饰指向的对象,A可变,A指向的对象不可变
int const *A; //const修饰指向的对象,A可变,A指向的对象不可变
int *const A; //const修饰指针A, A不可变,A指向的对象可变
const int *const A;//指针A和A指向的对象都不可变
单分支
if(表达式){
}
双分支语句
if(表达式1){
}
else{
}
多分支
if(表达式1){
}
else if(表达式2){
}
else if(表达式3){
}
........
else{
}
2、switch 分支语句
switch(表达式){
case 值1 :
....
break; //必须有break
case 值2 :
.....
break;
default:
....
}
3、swtich后面括号中变量的类型有哪些?
答:C语言中SWITCH后面的变量支持:int,short,long,char,枚举
不支持float ,double
4、while循环和do..while循环的语法
5、while循环和do..while循环的区别
6、for循环的语法
for(表达式1;表达式2;表达式3){
三个表达式不是不许的
for(;;){
}死循环
不常见的写法:
loop:
.....
goto loop;
7、break与continue的区别
8、break与returnd的区别
return用于函数的退出。break用于循环的退出.
------------
9、数组的定义语法
10、数组的内存模型:连续的地址空间
11、数组中每一个元素必须是相同的数据类型
12、数组元素通过下标来访问
13、指针的概念
int* x;
int *x;
指向一个其他对象的内存地址的特殊变量,保存的值就是指向的对象的内存地址。
包含4个要点:
指向的对象的类型:定义中去掉 变量名和*之后,剩下的就是指向的对象的类型,上面是int
指针的类型:指针的类型 定义语法中去掉变量名之后剩余的部分 上面是int* 类型
指针本身的内存空间
指针指向的对象的内存空间
14 、指针便令通过*符号得到指向的对象的内容
int a=10;
int* b;
b=&a; //&用于获得对象的地址
int z=*b; //z=10;
int k=b;//Z=指针中保存的地址,就是A的地址
15、数组定义中 int x[]={1,2,3}
X是指向数组的第一个元素的地址,并且不能被修改。因为是第一个元素的地址,所以可以用*得到对应的内容。
}
16、字符串“abc" 与{'a','b','c'} 比较分配的空间上”abc"多了一个长度‘\0', 字符串可以用函数strlen函数来获得长度(不包含\0)。
17、const的用法(面试题)
a、修饰变量,表示这个变量是不可改变的,用于定义常量
b、修饰函数的的参数,表示参数是不可改变的,用于防止参数被修改
c、修饰函数的返回类型,表示函数的返回结果是不可改变的
d、与指针一起使用
const int *A; //const修饰指向的对象,A可变,A指向的对象不可变
int const *A; //const修饰指向的对象,A可变,A指向的对象不可变
int *const A; //const修饰指针A, A不可变,A指向的对象可变
const int *const A;//指针A和A指向的对象都不可变