——Java培训、Android培训、iOS培训、.Net培训、期待与您交流!——-
一、C语言的数据类型
基本数据类型包括:
1>整型int:储存整数
2>浮点型float、double:储存单精度浮点(小数)、双精度浮点(小数)
3>字符型char:储存单个字符
二、变量的内存分析
1.内存以字节为单位,不同类型占用的字节是不一样的,数据越大,所需的字节数就越多
2.变量的存储
例如:int a = 10;
int b = 20;
内存由大到小寻址,优先分配内存地址较大的字节给变量。b的内存地址比a大
每个变量都有地址:第一个字节的地址就是变量的地址。
三、c语言的流程控制(选择结构和循环结构)
1)选择控制:if结构
1.if的第1种格式
if (条件)
{
语句1;
语句2;
......
}
2.if的第2种格式
if (条件)
{
......
}
else
{
......
}
3.if的第3种格式
if (条件)
{
......
}
else if
{
......
}
else
{
......
}
4.if的第4种格式
if (条件)
语句1;
语句2;
解析:if条件不满足时,他不会执行语句1,回往下执行语句2
相应小习题练习:将成绩按等级输出
#include <stdio.h>
int main ()
{
// 1.提示输入
printf ("请输入一个分数值:\n");
int score;
// 2.接收输入
scanf ("%d", &score);
// 3.判断等级
if (score>=90 && score<=100){ //[90, 100]
printf ("A\n");
}else if (score>=80) { //[80, 89]
printf ("B\n");
}else if (score>=70) { //[70, 79]
printf ("C\n");
}else if (score>=60) { //[60, 69]
printf ("D\n");
}else //[0, 59]
{
printf ("E\n");
}
return 0;
}
2)选择控制switch结构:
switch(表达式)
{ case 数值1: break; … default: break;}
#include <stdio.h>
int main ()
{
int score = 95;
switch (score/10){
case 10: //100
case 9: //90+
printf ("A\n");
break;
case 8: //80+
printf ("B\n");
break;
case 7: //70+
printf ("C\n");
break;
case 6: //60+
printf ("D\n");
break;
default: //<60
printf ("E\n");
break;
}
return 0;
}
switch总结:
break:退出整个switch语句,如果没发现break,会继续执行下面的,直到发现为止。
if和switch区别:
1.if语句能完成的功能,switch并不一定能完成 例如:int a = 10; if (a > 100)
2.在有些情况下,if和switch语句是可以互换的
3.switch能完成的,if都能完成
四、循环结构:
<1> while 循环
格式如下:
while (条件)
{
循环体
// continue; //结束当前的循环体,进入下一次循环体的执行
// break; //直接结束整个while循环
}
运行原理
1.如果一开始条件就不成立,永远不会执行循环体
2.如果条件成立,就会执行一次循环体,执行完毕,再次判断条件是否成立……
3.看是否有其他条件可能会用到continue、break、或嵌套选择结构、循环结构
<2> do while 循环
do while和while的用法几乎一样,唯一的区别是do while至少会执行一次循环体,执行一次后再开始判断条件是否成立。
do while (条件)
{
循环体
// continue; //结束当前的循环体,进入下一次循环体的执行
// break; //直接结束整个while循环
}
<3> for 循环
for ( 语句1;条件 ;语句2)
{
循环体
continue; //结束本次循环体,进入下次循环体
break; //结束整个循环
}
语句1:初始化语句(只在整个for循环开始时执行一次)
语句2:增量语句(每次循环体执行后,执行一次该语句)
执行过程:初始化语句—>条件成立—>循环体—>增量语句—>条件成立—>循环体—>增量语句—>……
while循环练习题:
题目:提示用户输入一个正整数n,计算 1+2+3+4+……+n的和
#include <stdio.h>
int main()
{
int n = 0;
while (n <= 0){
//提示输入
printf ("请输入一个正整数:\n");
//接收输入
scanf ("%d",&n);
}
//定义变量,保存和
int sum = 0;
int number = 0;
while (number < n)
{
number++;
sum += number; //累加
}
printf ("%d\n",sum);
return 0;
}
for循环练习题:
题目:输入 * 这个图案
****
***
**
*
#include <stdio.h>
int main ()
{
//定义一个变量存取用户输入的值
int n = 0;
//判断n值合不合理
while (n <= 0)
{
//提示输入
printf ("请输入一个正整数:\n");
//接收输入
scanf ("%d",&n);
}
//输出图形
for (int i = 0; i < n; i++ ) //有多少行
{
for (int j = 0; j < n-i; j++) //每一行有多少个
{
printf ("*");
}
printf ("\n");
}
return 0;
}