【1】循环结构语句
1.for
基本结构:
for(表达式1;表达式2;表达式3)
{
语句块;
}
表达式1:赋初值
表达式2:判断条件
表达式3:自增或自减
执行顺序:
先执行表达式1,然后判断表达式2是否成立,成立则执行语句块,
执行表达式3,再次判断表达式2,成立则执行语句块,依次循环。
直到表达式2不成立,则跳出循环。
嵌套结构:
for(表达式1;表达式2;表达式3)
{
for(表达式4;表达式5;表达式6)
{
语句块;
}
}
终端输入行数,打印图案:
例如:输入6
*
**
***
****
*****
******
char ch = ‘*’
printf(“%c”,ch)
printf(“*”);
scanf("%d",&n);
for(i=0;i<n;i++)
printf("*");
外层循环控制行数,内层循环控制每行打印的个数。
终端输入行数,打印如下图案:
5
空格 星
***** 0 5
**** 1 4
*** 2 3
** 3 2
* 4 1
2.while
基本结构:
while(表达式)
{
语句块;
}
表达式:判断条件
for(表达式1;表达式2;表达式3)
{
语句块;
}
改写while循环:
表达式1;
while(表达式2)
{
语句块;
表达式3;
}
死循环:while(1)永真循环
for(;;)
练习:已知a,b,c都是1位整数,求当三位整数abc、cba的和为1333时a、b、c的值。
3.do...while
【2】数组
概念:一组具有顺序关系且类型相同的数据集合
特点:地址连续
定义格式:
存储类型 数据类型 数组名[元素个数]
(auto) int a[10];
数组名:满足标识符的命名规则
1.以数字、字母、下划线组成
2.首个字符必须是字母或下划线
3.不能与关键字重名
数组大小:
占字节数: 数据类型 * 元素个数
int a[10]; size = 40
char a[5]; size = 5
double a[8]; size = 64
sizeof(数据类型或变量名) = 所占字节数。
数组元素:
int a[10] : a[0] - a[9] 十个元素
数组初始化:
全部初始化:
定义数组的同时进行赋值
int a[5] = {1,2,3,4,5};
部分初始化:
int a[5] = {1,2};
部分初始化时,未被初始化的元素默认为0.
未初始化:
int a[5];
未初始化,数组元素为随机值。
数组清零:
int a[5] = {0,0,0,0,0};
int a[5] = {0};
int a[5] = {};
数组的输入输出:
int a[5],i;
for(i=0;i<5;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<5;i++)
{
printf("%d",a[i]);
}
青年歌手大赛10个评委对选手进行打分,求选手得分。
评分规则为去掉一个最高分,去掉一个最低分,其余求平均值。
评委分数从终端输入,输出选手成绩即可。
整数相除,向下取整。
5 / 2 = 2
float a = 5/2;
a = 2.000000
【3】冒泡排序
5个数
5 4 3 2 1 从小到大
第一趟:
4 5 3 2 1
4 3 5 2 1
4 3 2 5 1
4 3 2 1 5
第二趟:
3 4 2 1 5
3 2 4 1 5
3 2 1 4 5
第三趟:
2 3 1 4 5
2 1 3 4 5
第四趟:
1 2 3 4 5
5个数
4趟 每趟比较次数依次递减
4行 每行星数依次递减
****
***
**
*
【4】二维数组
概念:有行有列的数组
定义格式:
存储类型 数据类型 数组名[行数][列数]
(auto) int a[2][3];
数组初始化:
全部初始化:
定义数组的同时进行赋值
int a[2][3] = {1,2,3,4,5,6};
int a[2][3] = {{1,2,3},{4,5,6}};
a[0][0] = 1;
a[0][1] = 2;
a[0][2] = 3;
a[1][0] = 4;
a[1][1] = 5;
a[1][2] = 6;
部分初始化:
int a[2][3] = {1,2};
部分初始化时,未被初始化的元素默认为0.
未初始化:
int a[2][3];
未初始化,数组元素为随机值。
二维数组的输入输出:
int a[2][3],i,j;
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
{
scanf("%d",&a[i][j]);
}
}
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
{
printf("a[%d][%d] = %d\n",i,j,a[i][j]);
}
}
有个三行四列的二维数组,要求从终端进行输入,找到其最大最小值进行输出,
输出时打印其行号和列号。
评论 (0)