• 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返回一个正整数,如果输入的是组合键,则表示返回EOF,即-1。

    3、Null相当于一个宏定义

    #define NULL 0

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

    5、

  • 相关阅读:
    fio数据整理之二
    报错:UnboundLocalError: local variable 'encoder_extended_attention_mask' referenced before assignment
    最新AI系统ChatGPT源码+AI绘画系统源码+支持GPT4.0+Midjourney绘画+搭建部署教程+附源码
    Leetcode刷题【hot100】最长连续序列
    C++模板元模板(异类词典与policy模板)- - - 后篇
    蜂鸣器电路设计中选用注意事项--【电路设计】
    Spring Boot的魔法:构建高性能Java应用
    ZooKeeper之分布式环境搭建--仲裁模式与伪分布式环境搭建
    Google开源offload友好协议PSP,目前已正式部署到生产中
    从零开始学正则(上)
  • 原文地址:https://blog.csdn.net/m0_57508000/article/details/134067175