C语言学习day3

7.3.2 while
while 语句构成循环
循环条件:
1. 变量初值
2. 终止条件
3. 变量变化
如何使用 go to 来完成 1 - 100 的求和
int main ()
{
int i = 1 , sum = 0 ;
loop :
    if ( i <= 100 )
  {
        sum = sum + i ;
        i ++ ;
        goto loop ;
  }
    printf ( "%d \n" , sum );
    return 0 ;
}
基本形式:
while ( 表达式 )
{
    statements ;
}
例子: 1-100 的求和: 7.3.3 do-while
do-while 构成循环
基本形式
7.3.4 for
一般形式
执行过程
1. 先求解表达式 1 ,初始值。
2. 求解表达式 2 ,若为真,则执行循环体,然后执行步骤三,若为假则执行步骤 5
3. 求解表达式 3
4. 转回执行步骤 2
5. 执行 for 下面的语句
for 语句构成循环
表达式 1 可以省略,但循环之前应要给循环变量赋值
表达式 2 可以省略,将陷入死循环
表达式 3 可以省略,但在循环体中增加循环使变量的值改变的语句
题目:打印九九乘法表
7.4 辅助控制语句
7.4.1 break
用于从循环体内跳出一层循环体,即提前结束循环
break 只能用在循环语句和 switch 语句中。
7.4.2 continue
结束本次循环,接着判定下一次是否执行循环
注意 break continue 的区别
continue 直结束本次循环,而 break 终止本层循环
. 数组
8.1 一维数组
构造数据类型之一
数组是具有一定顺序关系的若干个变量的集合,组成数组的各个变量称为数组的元素
数组中各元素的数据类型要求相同,用数组名和下标确定,数组可以是一维的,也可
以是多维的。
8.1.1 一维数组的定义
1. 所谓一维数组是指只有一个下标的数组,它在计算机的内存中是连续存储的。
2. C 语言中,一维数组的说明一般形式如下:
< 存储类型 > < 数据类型 > < 数组名 >[< 表达式 >]
8.1.2 一维数组的引用
数组必须先定义,再使用
只能逐个引用数组元素,不能一次引用整个数组
数组元素表示形式: 数组名 [ 下标 ]
其中,下标可以是常量或者 整形表达式
8.1.3 一维数组的初始化
1. 初始化方式:在定义数组的时候,为数组元素赋初值
int a[5] = {1,2,3,4,5};
2. 说明
1. 数组不初始化,其元素值为随机数
2. static 数组元素不赋初值,系统会自动赋以 0
3. 只给部分数组元素赋初值
题目:冒泡排序
它重复的走访过要排序的数列,一次比较两个元素,如果顺序错误就交换。走访数列的工
作是重复的进行直到没有再需要交换 , 也就是说数列已经排序完成
8.2 二维数组
8.2.1 二维数组的定义
定义方式:(声明时列数不能省略,行数可以)
元素个数 = 行数 * 列数
8.2.2 二维数组的存放顺序
原因:内存是一维的
二维数组:按行序优先
二维数组 a 是由 三个元素组成 a[0] a[1] a[2]
每个元素 a[i] 由包含 2 个元素的一维数组组成
8.2.3 二维数组的引用
数据类型 数组名 [ 常量表达式 ][ 常量表达式 ]
例如:
int a[3][4];
float b[2][5];
int c [2][3][4]; 8.3 多维数组
具有两个或者两个以上下标的数组称为多维数组。
. 字符数组和字符串
9.1 字符数组
字符数组是元素的数据类型为字符类型的数组
字符数组的初始化
逐个字符赋值
char ch[5] = { 'H','e','l','l','o' };
char ch[5] = {'a','b','c'};
形式:   数组名 [ 下标 ][ 下标 ]
二维数组元素的初始化
1. 分行初始化
2. 按元素排列顺序初始化
例如:
int   a [ 2 ][ 3 ] = {{ 1 , 2 , 3 },{ 4 , 5 , 6 }};
a [ 0 ][ 0 ] a [ 0 ][ 1 ] a [ 0 ][ 2 ] a [ 1 ][ 0 ] a [ 1 ][ 1 ] a [ 1 ][ 2 ]
例如:
    int a [][ 3 ] = {{ 1 },{ 4 , 5 }};   // 一维数组的长度省略
. 字符数组和字符串
9.1 字符数组
字符数组是元素的数据类型为字符类型的数组
字符数组的初始化
逐个字符赋值
char ch[5] = { 'H','e','l','l','o' };
char ch[5] = {'a','b','c'};
9.2 字符串数组
C 语言中没有字符串常量,用字符数组处理字符串,字符串结束表示: ‘\0’
题目:输入一个字符串,将字符串逆序输出。
char   fruit [][ 7 ] = { "apple" , "grape" , "pear" , "orange" , "peach" };
9.3 字符串函数
C 语言库中实现了很多字符串处理的函数
几个常见的字符串处理函数
1. strlen , 求字符串长度函数
2. strcpy, 字符串拷贝函数
3. strcat, 字符串连接函数
4. strcmp, 字符串比较函数
#include <string.h>
9.3.1 strlen
字符串长度函数 strlen
格式: strlen( 字符数组 )
功能:计算字符串长度
返回值:返回字符串实际长度,不包括 '\0' 在内
\xhh 表示十六进制数代表的符号
\ddd 表示八进制的
9.3.2 strcpy
字符串拷贝函数 strcpy
格式: strcpy( 字符串 1 ,字符串 2)
功能 : 将字符串 2 拷贝到字符串 1
返回值:返回字符数组 1 的首地址
说明:
1. 字符数组 1 必须足够大
2. 拷贝时 ‘\0’ 一同拷贝
9.3.3 strcat
字符串连接函数 strcat
格式: stracat( 字符数组 1 ,字符数组 2)
功能:把字符数组 2 连接到字符数组 1 后面
返回值:返回字符数组 1 的首地址
说明:
字符数组 1 必须足够大
连接前,两串均以 '\0' 结束,连接后,串 1 '\0' 取消,新串最后加 ‘\0’
9.3.4 strcmp
字符串比较函数 strcmp
格式: strcmp( 字符串 1 ,字符串 2)
功能:比较两个字符串
比较规则:对两串从左向右逐个字符比较 (ASCII), 直到遇到不同字符或 '\0' 为止
返回值:返回 int 型整数
1. 若字符串 1 < 字符串 2 ,返回负整数
2. 若字符串 1 > 字符串 2 ,返回正整数
3. 若字符串 1 = 字符串 2 ,返回零
9.3.5 字符串扩展用法
strncpy(p,p1,n) ,复制指定长度字符串
strncat(p,p1,n),附加指定长度字符串
strcasecmp(p.p1), 忽略大小写比较字符串
strncmp(p,p1,n),比较指定长度字符串
strchr(p,c), 在字符串中查找指定字符
strstr(p,p1) 查找字符串 、
1. isalpha() 检查是否为字母字符
2. isupper() 检查是否为大写字母字符
3. islower() 检查是否为小写字母字符
4. isdigit() 检查是否为数字
#include <ctype.h>
  • 17
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值