黑马程序员—C语言的函数、数组、字符串

时间:2022-12-19 10:28:50

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

一、函数

  1. 定义:函数是代码复用的一种机制.
  2. 函数的基本语法:

返回类型 函数名 ( 参数类型 参数名, ... ) {
               语句;
             return ...
         }

3.函数的分类:

根据参数分可以分为  1.有参数函数,2.无参数函

          根据返回值分可以分为 1.有返回值函数  2.无返回值函数

4.下面我举一个简单的有参数有返回值函数的例子:

 #include <stdio.h>

 int getSum(int num1, int num2) { //num1,num2就是getSum函数的参数,这个函数返回的是一个int类型的
int res = num1 + num2; return res; // 利用 return 语句返回 res 的结果
} int main(int argc, const char * argv[]) { int n = 10;
int m = ; int res = getSum(n, m); printf("%d\n", res); return ;
}

二、数组

  1. 定义:一个数组就是多个变量的有序集合,

    1、定义一个数组,就定义了很多的变量
    2、这每一个变量都是数组的一个元素或成员
    3、数组是一个有序的集合,也就是说可以使用一个数字引用变量
    4、数组中每一个元素的使用和一个一般的变量使用一样

  2. 一维数组:一维数组是元素都不是数组的数组。
  3. 语法:

    数据类型 数组名[ 数组长度 ];

  4. 数组的初始化:1、完全初始化
    int nums[5] = { 1, 2, 3, 4, 5 };

    2、不完全初始化,没有提供数据的默认初始化为 0
    int nums[10] = { 1, 2, 3, 4, 5 };

    3、省略数组长度,由编译器自动判断
    int nums[] = { 1, 2, 3, 4, 5 };

  5. 实用for循环遍历数组:
    #include <stdio.h>
    int main(int argc, const char * argv[]) { int array[] = { , , , , , , };//定义一个数组并初始化 for (int i = ; i < ; i++) {//使用for循环来遍历这个数组
    printf("%d\n", array[i]);//打印第i个元素
    } return ;
    }

三、字符串

  1. 定义:

    字符串就是使用双一号括起来的内容

    例如:
    "张三"
    "Hello World"

  2. 字符串与数组的关系:

    C 语言中没有描述字符串的数据类型
    OC 中有 NSString
    C# 中有 string
    Java 中有 String

    在 C 语言中使用一个以 '\0' 结尾的字符数组来描述字符串

  3. 、字符串的初始化:

    字符串的初始化方式

    char chs[] = "Hi"; // 默认自动添加 '\0'

  4. 在输入字符串的时候有scanf 和gets函数,下面我给大家来结合以上的函数知识点来自定义个getstring函数来输入字符串
    #include <stdio.h>
    
    void getString(char str[], int length) {
    int i = ; while () { if (i == length - ) {
    str[i] = '\0';
    while(getchar() != '\n') ; // 清空缓存的数据
    break;
    } char c = getchar(); // 从缓存中获取一个字符, 注意缓存中也许还有很多字符 if (c == '\n') {
    str[i] = '\0';
    break;
    } // 不为输入结束
    str[i] = c; i++;
    }
    } int main(int argc, const char * argv[]) { char str[]; getString(str, );//调用这个自定义函数 printf("%s\n", str); return ;
    }

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

黑马程序员网址:http://www.itheima.com

黑马程序员—C语言的函数、数组、字符串的更多相关文章

  1. 黑马程序员——C语言基础 函数

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)函数的定义 1> 任何一个C语言程序都是由一个或者多个程序段( ...

  2. 黑马程序员——C语言基础语法 关键字 标识符 注释 数据及数据类型

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (一下内容是对黑马苹果入学视频的个人知识点总结) (一)C语言简单介绍 (1)C语言程序是由函数组成的任何C语言程序都是由一 ...

  3. 黑马程序员——C语言基础 枚举 宏定义 自定义 static exterm

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)枚举 1)枚举类型的定义 枚举是C语言中的一种基本数据类型,并不是构 ...

  4. 黑马程序员——JAVA基础之函数,重载,内存结构

      ------- android培训.java培训.期待与您交流! ---------- 函数: 什么是函数? • 函数就是定义在类中的具有特定功能的一段独立小程序. • 函数也称为方法. 函数的格 ...

  5. 黑马程序员——C语言基础 char字符 数组

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)char类型 1)存储细节 ASCII单字节表(双字节GBK\GB2 ...

  6. 黑马程序员——C语言基础 scanf函数 基本运算 三目运算符

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (一下内容是对黑马苹果入学视频的个人知识点总结) (一)scanf函数 1>  简单介绍一下scanf函数   这是在 ...

  7. 黑马程序员--&&num;160&semi;C语言交换两个整数变量值几种函数比较

    总结了C语言中几种交换两个整数数值的函数,欢迎交流 #include <stdio.h> 使用多种交换变量值的函数比较 方法一:使用第三方临时变量 这种函数a,b只是值传递,实质上不能修交 ...

  8. 黑马程序员——C语言基础 指针

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)指针 首先指针是C语言中非常重要的数据类型,如果你说C语言中除了指针 ...

  9. 黑马程序员——C语言基础 变量类型 结构体

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)变量类型 1)局部变量 1> 定义:在函数内部定义的变量,称为 ...

随机推荐

  1. 我的c&plus;&plus;学习&lpar;10&rpar;this指针

    问题:当在对象的外部访问该对象的公有成员时,必须指明是哪一个对象.但是当我们用对象的成员函数来访问本对象的成员时,在成员函数中只要给出成员名就可以实现对该对象成员的访问.再进一步可用同一个类创建很多个 ...

  2. 355&period; Design Twitter

    二刷尝试了别的办法,用MAP代表关注列表. 然后不初始化,但是只要有用户被使用,而他又不在MAP里,就把他加进去,然后让他关注自己.. 但是这样做超时了. 问题在于这个题解法太多,有很多不同的情况. ...

  3. 【最小生成树】Codeforces 707B Bakery

    题目链接: http://codeforces.com/problemset/problem/707/B 题目大意: 给你N个点M条无向边,其中有K个面粉站,现在一个人要在不是面粉站的点上开店,问到面 ...

  4. &period;attr&lpar;&rpar;和&period;prop&lpar;&rpar;和&period;css&lpar;&rpar;的区别

    是不是新手都会遇到这个问题?遇到过一次,在网上搜一搜,综合成了下面这样.重点参考了dolphin的‘jQuery的attr与prop’, 写的很清楚呢. 一般attribute翻译成中文术语为“特性” ...

  5. &num;python基础学习模块&colon;marshal 对象的序列化

    #标准库地址:https://docs.python.org/2/library/marshal.html"""有时候,要把内存中一个对象持久化保存磁盘或者序列化二进制流 ...

  6. Js 导出Excel IE ActiveX控件

    function ExportExcel() { var oXL = new ActiveXObject("Excel.Application"); //创建excel应用程序对象 ...

  7. phonegap退出android程序

    最近用android做了一个程序,在点“后退”的时候,会不停地后退,感觉不好. 查了些资料有这么些: 一.toast_plugin插件 <script type="text/javas ...

  8. 使用Docker在本地搭建Hadoop分布式集群

    学习Hadoop集群环境搭建是Hadoop入门必经之路.搭建分布式集群通常有两个办法: 要么找多台机器来部署(常常找不到机器) 或者在本地开多个虚拟机(开销很大,对宿主机器性能要求高,光是安装多个虚拟 ...

  9. iOS开发中的富文本

    1. 改变指定字符的颜色 NSString * text = [NSString stringWithFormat:@"%@米",distance]; NSMutableAttri ...

  10. thinkphp5 tp5 与 nginx 搭配在根目录和子目录中如何设置伪静态

    配置文件参考一下: location /public/ { if (!-e $request_filename){ rewrite ^/public/(.*)$ /public/index.php?s ...