Linux C语言开发(续)

一、二维数组的定义和存储

一、二维数组的定义

1、二维数组的应用:图、方阵

2、数组元素的存放顺序:内存是一维的,二维数组:按行优先

a[1]:表示第一行,也表示a[1][]的所有元素

二、二维数组的初始化、遍历

1、元素的初始化

 

 1、不是按顺序存放,部分初始化

2、按顺序存放

3、二维数组只能省略行,不能省略列

1、打印杨辉三角形

2、打印数组中的最大值,行,列

三、多维数组

二、字符数组和字符串

一、一维字符数组和字符串

1、字符数组的用法

1)“abc”='a''b''c''\0'

2)逐个字符赋值

3)0=\0=NULL

2、字符串的用法

4)以字符串的形式赋值

5)用%s打印数组中存放的字符串

这种情况只适合打印以\0结尾的字符串,单个字符赋值有可能出现错误

 二、二维字符数组和字符串

1、在赋值的时候,列赋值比要用的大一些,所有的输入都可以用字符串来表示(留出\0的位置,简化输入)

字符串存储-------二维数组!!!

2、打印

1)打印字符串

2)用最原始的数组的形式

3、逆序输出字符串

1)字符串不变,逆序输出

2)字符串倒叙

4)gets和scanf的区别

gets可以取空格,scanf不可以

三、字符串处理函数(一)

man+函数名:查看函数手册

一、strlen函数(只数有效字符,不含\0)

二、strcpy函数--字符串拷贝函数

拷贝源码:

三、strcat函数---字符串连接函数

 

拷贝加连接

四、strcmp-----字符串比较函数

从左到右逐个字符,直到不同字符。

如果完全相同,字符串较短的比较小。

四、字符串处理函数(二)

man isalpha:

一、strncpy---复制指定长度的字符串

二、strncat---附加指定长度字符串

三、strncmp---只比较前几个字母

四、strncasecmp---忽略大小写比较字符串的大小

五、strchr---在字符串中查找指定字符,返回第一次出现的地址

strrchr---在字符串中查找指定字符,返回最后一次出现的地址

六、strstr---查找字符串

printf("%d",strstr(s1,s2)-s1);

//显示查找的字符串首字符的位次

在命令行界面也可以查找字符串

七、

八、toupper---小写转大写

tolower---大写转小写

五、输入输出专题

一、字符输出函数

1)例子

二、格式输出printf

1、例子

2、特例:输出%

3、附加说明符

1)m

1、如果位数小于m,左边补0,如果位数大于m,则无效,原样输出

2、浮点数,小数点也算一位  123.456 %8d ----前面空一格

2).n

3)字符串的m.n

m:表示空格

.n:表示从前到后保留几个字母

4)+:显示符号

0:用0填充取代空格

4、字符输入函数getchar

ctrl+d结束输出

5、

1)提示语句最好是单独写一行

scanf("%4d",&a)-----控制第一个是4字符(因为没有换行,可以不用回车换行)

2)*nd吸收的值不会赋给变量

6、在输入字符中,空格也会作为有效字符,ascII为32

7、格式的垃圾处理

三种方法

8、字符串的输出

1)字符串通常存放在数组中

2)通常用gets()函数吸入

3)字符串输入通常少1位,默认以\0结尾

4)gets函数并不以空格作为结束,但scanf是

5)puts函数不需要换行符,自动换行

六、控制语句if

一、

1、阶梯型

if和else后面都要加{}

2、注意事项

3、求三角面积

七、控制语句switch

一、应用场景

1、多分支选择结构

2、判断7种文件类型bcd-lsp

二、语法

1、switch里的数据类型可以是整型、枚举、字符。其他类型不同

2、枚举类型

默认从0开始

三、break的作用

强行跳出switch体

如果没有break,则不会跳出switch

四、例子-成绩分级

八、循环语句-goto、while

一、循环结构

二、goto语句的格式!!!

loop:

if()

goto loop;

goto的优点:

集中于一处释放的应用:内存释放、文件描述符关闭、网络关闭、数据库关闭

三、while循环

1、1+...100求和

四、do-while

1、do while和while的区别:do while不管条件是否满足,肯定会执行一次。

2、求和例子

九、循环语句-for

1、for循环的省略

十、循环辅助语句

循环辅助语句

定义:程序因为特殊情况提前结束代码

一、break:判断是不是;打印是

可以跳出循环,但只能跳一层循环

有两个限制条件

打印半径1-10,但是面积不超过100的半径对应的面积

素数练习:

如何跳出多层循环

二、continue

结束本次循环,但是继续下一次

除了特殊条件,打印其他

1、例子:打印从100-110,不是3倍数的数字

三、return

十一、一维数组

数组

一、

1、一维数组

1、数组的地址是连续的

2、数组的地址是第一个数据的地址

3、数组的长度是n个数据的长度

4、语言数组越界,编译器不管

5、只能逐个数组元素引用,不能一次引用整个数组。

6、下标可以是常量,也可以是整型表达式

7、

二、冒泡排序

1、计算数组长度

n=siziof(a)/sizeof(int)

2、代码

十二、注意事项

常用命令

1、man isalpha

2、EOF

1)end of file,即文件结束符,EOF的值是-1。在文本文件中才能使用EOF作为结束符。

2)在使用scanf输入时,如果输入的数据正确,则scanf返回一个正整数,如果输入的是<ctrl+Z>组合键,则表示返回EOF,即-1。

3、Null相当于一个宏定义

#define NULL 0

4、C语言中,只有全局变量、static是放在静态区的,只有在程序结束的时候才释放内存,指针放在栈当中

5、

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值