C语言(四)

作业分析讲解

================

1.  switch除了标准写法,之外,在面试题中经常搞一下变形形式来考察你对于switch-case的理解

 

 

goto和标签

==============

1. 作用: 帮助我们实现代码的跳转

    标签的定义:

            名字:

    goto语句和标签配合使用

 

C语言的工业标准

=================

  1.  由于C语言发展历程中出现了多个版本的语法规定

              C89和C99    C99在C89基础增加一些语法特性,如果你写代码不小心用到了C99的语法特性,麻烦你编译的代码

                        如果你编译代码时候提示错误单词中有 -std=c99 ,说明你使用了C99标准

                       gcc hello.c  -o   hello   -std=c99

 

C语言中的数组

=====================

1.  作用:存放多个相同类型的数据

     定义数组:

            类型名字  数组名[数组的大小]

            例如:  int  a[10];   //  定义了数组名叫a,最多允许存放10个int类型的数据

                         float  b[7];  //定义float类型数组,最多存放7个小数

                         char  c[8];  //定义char类型数组,最多存放8个字符,开发中使用频率最高,保存字符串  "hello"(字符用单引号,字符串用双引号)

     数组的大小:

               sizeof求数组的大小  sizeof(a)     sizeof(b)

     数组的初始化和赋值:

             以char类型数组为例:

                        char  c[10]="hello";  //定义数组立马初始化

                        char  c[10]; //定义数组,没有初始化

                                 c="hello";  //典型错误,char类型数组赋值不能直接用=(赋值符号)

                                 strcpy(c,"hello");

                        补充:linux中有个命令   man帮助你查看linux中的用户手册  man  man

                                2   System calls (functions provided by the kernel) //linux系统提供的函数

                                3   Library calls (functions within program libraries) //C语言的库函数,比如:printf   scanf

                                      man  3 printf

                                      man  3   strcpy

                        char  c[10]={'h','e','l'};  //定义数组立马初始化,一个个字符依次初始化

 

    数组的下标

                a[0] ......a[n]    //数组下标从0开始

    数组部分初始化

               数组部分初始化,那么没有初始化的,系统默认全部都填充0

   char类型数组求字符串实际长度

               strlen();   比如:  strlen(buf);  //求出buf中存放的字符串的实际长度

               strlen和sizeof区别

                        sizeof可以求C语言中所有合法类型变量的大小

                        strlen只能用于求字符串的实际长度,其他类型的变量不能用strlen

   字符串的结束标记

              C语言规定,字符串必须用双引号括起来,并且字符串有结束标记'\0',用来标记字符串的结尾

              我们在使用char类型数组的时候,需要多定义一个字节的空间留给\0

              char  a[5]="hello";  //不建议你这么写,\0没有位置

              char  a[6]="hello";  //给\0留了一个空间

              int b[2]={18,17};

   数组越界

              任何一个数组a[n],它都有自己的范围    a[0]-----a[[n-1]

              越界可能会产生段错误(你超出了系统分配给你的内存区域)

练习:

        1.   从键盘中输入一个字符串保存到char类型数组,请你将它逆序存放

                  hello  --》olleh

        2.   从键盘输入任意一个数,求出它的二进制,然后把这个二进制保存到char  binary[32]中

                        754

 

 

C语言提供的关于字符串操作的常用函数

========================

    1.  求字符串的实际长度   strlen()

         字符串的拷贝              strcpy()和strncpy()

         字符串的拼接              strcat()

         字符串的比较              strcmp()

 

\n    \t    \0    \b都是一个字符

 

练习作业:

         1.  定义int数组,任意输入10个整数,对它们从小到大排序

         2.  任意输入一个字符串,要求去除掉这个字符串中重复的字符(重复字符只保留一个);

                           google  --》gole

         3.  编写程序,把你输入的任何小数,转换成字符串保存到一个字符数组中

                          scanf("%f",)     15.23

         4.  提高题(选做,根据个人能力)

                    有m个人,编号是1到m,他们围成一圈玩游戏数数,数到n的淘汰,请问最后剩下的那个人是谁?(打印那个人的编号),  m, n从键盘输入

              

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值