黑马程序员—C语言的函数、数组、字符串
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
一、函数
- 定义:函数是代码复用的一种机制.
- 函数的基本语法:
返回类型 函数名 ( 参数类型 参数名, ... ) {
语句;
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、定义一个数组,就定义了很多的变量
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 };- 实用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 ;
}
三、字符串
- 定义:
字符串就是使用双一号括起来的内容
例如:
"张三"
"Hello World" - 字符串与数组的关系:
C 语言中没有描述字符串的数据类型
OC 中有 NSString
C# 中有 string
Java 中有 String在 C 语言中使用一个以 '\0' 结尾的字符数组来描述字符串
- 、字符串的初始化:
字符串的初始化方式
char chs[] = "Hi"; // 默认自动添加 '\0'
- 在输入字符串的时候有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语言的函数、数组、字符串的更多相关文章
- 黑马程序员——C语言基础 函数
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)函数的定义 1> 任何一个C语言程序都是由一个或者多个程序段( ...
- 黑马程序员——C语言基础语法 关键字 标识符 注释 数据及数据类型
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (一下内容是对黑马苹果入学视频的个人知识点总结) (一)C语言简单介绍 (1)C语言程序是由函数组成的任何C语言程序都是由一 ...
- 黑马程序员——C语言基础 枚举 宏定义 自定义 static exterm
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)枚举 1)枚举类型的定义 枚举是C语言中的一种基本数据类型,并不是构 ...
- 黑马程序员——JAVA基础之函数,重载,内存结构
------- android培训.java培训.期待与您交流! ---------- 函数: 什么是函数? • 函数就是定义在类中的具有特定功能的一段独立小程序. • 函数也称为方法. 函数的格 ...
- 黑马程序员——C语言基础 char字符 数组
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)char类型 1)存储细节 ASCII单字节表(双字节GBK\GB2 ...
- 黑马程序员——C语言基础 scanf函数 基本运算 三目运算符
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (一下内容是对黑马苹果入学视频的个人知识点总结) (一)scanf函数 1> 简单介绍一下scanf函数 这是在 ...
- 黑马程序员-- C语言交换两个整数变量值几种函数比较
总结了C语言中几种交换两个整数数值的函数,欢迎交流 #include <stdio.h> 使用多种交换变量值的函数比较 方法一:使用第三方临时变量 这种函数a,b只是值传递,实质上不能修交 ...
- 黑马程序员——C语言基础 指针
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)指针 首先指针是C语言中非常重要的数据类型,如果你说C语言中除了指针 ...
- 黑马程序员——C语言基础 变量类型 结构体
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)变量类型 1)局部变量 1> 定义:在函数内部定义的变量,称为 ...
随机推荐
- Using Apache Web Server with Jboss AS 7
In real-world projects, it's common to find Apache web server as a front door to your application se ...
- [Locked] Group Shifted Strings
Group Shifted Strings Given a string, we can "shift" each of its letter to its successive ...
- Jenkins 四: 启动关闭以及重启jenkins
启动 1. 在桌面新建一个jenkins.bat文件.内容如下: cd /d %JENKINS_HOME% java -jar %JENKINS_HOME%\jenkins.war --httpPor ...
- java中的代理
package cn.itcast.day3; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationHan ...
- Struts2学习笔记之s:select标签
貌似Struts2 标签都快忘光了 今天先来一发struts2的select标签: 首先从简到难,静态赋值: 1 <s:select name="user.sex" lis ...
- CentOS7 盒盖休眠
https://wiki.archlinux.org/index.php/Power_management_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87) CentOS ...
- Jquery AJAX 调用WebService服务
对Jquery+JSON+WebService的一点认识 文章不错:http://www.cnblogs.com/tyb1222/archive/2011/10/13/2210549.html Jqu ...
- 计算任意位数的Pi
当用程序实现求pi的值时,也许你能够很快写出算法(利用求pi的几个公式),但是由于使用单变量保存结果,限于计算机硬件对变量的表示范围有限,因此,最多只能计算出pi值小数点后十多位.但需要得到一个更大位 ...
- 合肥三洋股份,惠而浦家电携四大品牌-Take ,所有的市场
大家都知道,数家电企业的日子并不好过.一方面,产品同质化竞争越发激烈.家电市场已进入了恶性价格战时代.还有一方面,消费者对家电产品的需求越发多元化.个性化.这意味着无法满足消费者需求的产品非常 ...
- 第四节:教你如何快速让浏览器兼容ES6特性
写在正文前,本来这一节的内容应该放在第二节更合适,因为当时就有同学问ES6的兼容性如何,如何在浏览器兼容ES6的特性,这节前端君会介绍一个抱砖引玉的操作案例. 为什么ES6会有兼容性问题? 由于广大用 ...