栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

校园实训课day02

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

校园实训课day02

 学习内容:C语言基础

一、C语言基础知识

    1、数组

        1、字符数组:  数组中的元素都是字符。

       

        2、定义的一般形式:

            char 数组名[元素个数];

            eg:

                char buf[32];    //  ==> 定义一个最多存放 31个字符的字符数组。

       

        3、字符数组的元素访问:

            数组名[下标];

            eg:

                buf[0];          //   ==> 访问字符数组的第一个元素

               

        4、格式化输出 字符数组的元素。

            1、访问每个元素进行打印。格式化控制符使用 %c

                for(i = 0; i < 32; i++)

                    printf("%c", buf[i]);

                printf("n");

               

            2、直接打印所有元素。 格式控制符使用 %s

                printf("%sn", buf);           

           

    2、指针

        1、地址:C语言中,内存由n个一个字节的内存单元格构成,

                每个内存单元格都有 一个编号,称为地址。

        注意:数组的数组名就是该数组首元素的地址。

        2、指针:C语言内存单元的地址。指针就是地址。

        3、指针变量:存放地址的变量。  

        如果地址、指针变量都能做区分,则可以统称为 指针。

       

        4、指针定义的一般语法:

            数据类型 * 指针变量名;

            eg:

                int *p;    //定义一个整型指针p,p也称为指针变量。

                指针 p的数据类型为 int;

                指针变量p的数据类型为 int *

               

            指针的数据类型为 指针目标的数据类型。

           

        5、定义一个指针指向 目标。

            数据类型 *p = 地址;

            eg:

                int a = 13;

                int * p = &a;   //指针定义时的 * 为类型说明符

                // a = 13 = *p  = *(&a) = *(*(&p))

            定义一个整型指针 p 指向 a变量。

            其中 a变量的地址赋值给了 p。

            *p 访问指针目标的内容, 此处 * 号为 运算符,求地址上的内容。

       

        6、定义一个指针q 指向 指针p。

            int a = 13;

            int *p = &a;

            int ** q = &p;

            // ==> *q => p ;; *p => a ;; *(*q) => a

           

练习:必须使用指针来实现。

    1、定义一个字符数组,从键盘输入数据,计算出 键盘输入的字符的个数。

    2、定义两个字符数组

        char s1[32] = "hello world";

        char s2[32];

        编写程序,打印 s2的结果为 "hello world"。

       

        char *p = s1;

        // 野指针 此时 q[i](*(q+i))是野指针的非法使用,会终止程序运行

        char *q;

        q = s2;

       

        while(*p){

            *q = *p;

            p++;

            q++;    

        }  

        while(*p){

            *q++ = *p++;

        }

        while(*q++ = *p++);

          

    3、定义初始化两个字符数组

        char s1[32] = "welcome to ";

        char s2[32] = "sanxia";

        编写程序,打印s1的结果为 "welcome to sanxia"。

        char *p = s1;

        char *q = s2;  

        while(*p++);  // ==> 让指针p指向s1末尾的 ''

        while(*p++ = *q++);:


学习时间:
  • 5.29:周日上午 8 点 20-上午 11 点 40
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/934693.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号