黑马程序员-----C语言基础(一)

来源:互联网 发布:java高并发 分布式 编辑:程序博客网 时间:2024/05/18 00:58
---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------

C语言基础

1、常量

1>整数常量:1,9,3,4
2>浮点常量
双精度浮点型:5.42,-2.3,0.0
单精度浮点型:5.43f,-2.3f,0.0f
3>字符常量:用单引号括起来的单个字符,eg:'d','1','+'
4>字符串常量:用双引号括起来,eg:"itcast"
2、变量
1>只要有不确定的数据,就应该定义变量来保存。
2>格式控制符(占位符)
%d/%i:输出整数
%f:输出小数,默认是6位
%s:输出字符串,将从指定地址开始的内存内容输出,知道遇到'\0'
%c:输出字符
3>变量作用域
变量的作用域是从定义变量的行开始到代码块结束
4>代码块的作用
及时回收不再使用的变量
5>变量的占用空间
16为编辑器 32为编辑器 64编辑器
char         1              1              1
int             2              4              4
float         4               4              4
double    8               8              8
3、变量内存
1>内存寻址由大到小,优先分配内存地址到较大的字节给变量,变量越先定义,内存地址就越大
2>输出地址:%p
4、scanf函数
1>scanf是一个阻塞函数,等待用户输入
2>scanf函数只接受变量地址
3>scanf函数结束,就会将用户的输入值赋给变量
4>scanf函数参数中以空格隔开,实际的输入可以以空格,tab和回车作为分隔。


5、a++和++a
1>a++:先用a做运算再执行a = a + 1;
2>++a:先执行a = a +  1;再用a做运算
eg:
int a = 10;
int b = 0;


b = a++ + ++a;//b = (a++) + (++a)
//分析:先用10替换(a++);再执行a = a + 1。
        再执行a = a + 1;再用进行其他运算。
6、三目运算
条件 ? 数值1 : 数值2
7、流控制
1>选择结构
①if控制结构
常量值放在左边,变量放在右边;
注意作用域不明的错误eg:
if(10 > 6)
int a = 5;//编译器认为a的作用域不明错误:expected expression
②switch控制结构
switch(数值)
{
case 数值1:
break;
case 数值2:
break;
default:
break;
}


2>循环结构
①while循环
while(条件)
{
//循环语句
}
while(n <= 0)
{
//提示输入
printf("请输入一个整数:\n");
//接受输入
scanf("%d",&n);
}
最简单的死循环
while(1);
②do…while循环
do
{
//循环体
}while(条件);
do…while循环体至少执行一次。
③for循环
for(语句1;条件;语句2)
{
//循环体
}
执行过程:先执行语句1,;判断条件是否成立;条件成立执行循环体,条件不成立退出for循环
语句1:初始化语句,且整个for循环只执行一次
语句2:增量语句(执行完循环体后再执行的语句)
不要随便在for()后面加“;”
错误:
for(int i = 0;i < 10;i++, a++)
{
int a = 10;
}
正确:
for(int i = 0;i < 5;i++)
{
int i = 10;
}


④break和continue
break的使用场合:switch和所有的循环语句。
break作用:退出循环体。
continue适用场合:所有的循环体。
continue作用:退出本次循环,进入下一次循环。
8、小零碎
①输出地址:%p
②变量的作用域是从变量定义行开始到代码块结束。
③注意作用域不明确的问题
④在if的条件当中将常数放在左侧。
⑤最简单的死循环:while(1);
⑥所有的循环体,switch的case当中必须使用{}括起来避免变量作用域不确定。
⑦continue只能使用在循环,不能用在switch;break可以用在循环和switch。--------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------详细请查看:www.itheima.com
0 0
原创粉丝点击