黑马程序员--iOS--C基础(二)
2015-07-27 19:15
477 查看
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
数组的基本概念和分类
概念:在C语言中,数组属于构造数据类型,一个数组可以分解为多个数组元素,这些元素可以是基本数据类型或是构造类型。
数组:一组具有相同数据的类型的有序的集合
数组元素:
构成数组的数据,数组中的每一个数组元素具有相同的名称,不同的下标,可以作为单个变量使用,所以也称为下标变量。
数组的下标: 是数组元素的位置的一个索引或指示
数组的维数:数组元素下标的个数
数值数组:存放数值
字符数组:储存字符
指针数组:储存指针
结构数组:存放结构类型的数据
数组可以作为函数的参数使用,进行数据传送
一维数组的定义
数组类型 数组名[数组的长度]
例 :Int
a[3];
定义了一个int类型的数组 长度为3
一维数组的注意事项
1)数组的长度可以是一个常量,也可以是表达式
2)数组名的命名规则:严格按照标识符的命名规范(1、不能以数字开头
2、严格区分大小写 3、不能重名 4 、可以使用 $
、 _ )
一维数组的初始化
给数组每一个元素赋值,是在编译阶段进行的,可以缩短时间,提高效率
下面是一个数组的遍历应用的源代码:
冒泡排序(Bubble sort):也可以叫气泡排序,它是一种简单的排序方法。通过重复走访要排序的数列
一次比较两个元素,如果顺序错误就把他们交换过来。
冒泡排序分为: 大数下沉 小数上浮
下面是冒泡代码的实现:
字符串的概念:
字符串是位于双引号中的字符序列
在内存中以“\0”结束,所占字节比实际多一个
注意:
可以把一个字符常量赋给一个字符变量,但是不能把字符串常量赋给字符变量。
在C语言中没有字符串变量,可以用字符数组来存放字符串。
字符数组的定义
形式:
char 数组名 [常量表达式]
字符串输入和输出
使用的格式字符串为 %s ,表示输入、输出的是一个字符串,遇到 “\0”结束。
%c不可以连续输出字符,每次它输出一个。
下面是一个关于字符数组的运用:
输入一段英文字符串,把首字母大写后输出
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
数组的基本概念和分类
概念:在C语言中,数组属于构造数据类型,一个数组可以分解为多个数组元素,这些元素可以是基本数据类型或是构造类型。
数组:一组具有相同数据的类型的有序的集合
数组元素:
构成数组的数据,数组中的每一个数组元素具有相同的名称,不同的下标,可以作为单个变量使用,所以也称为下标变量。
数组的下标: 是数组元素的位置的一个索引或指示
数组的维数:数组元素下标的个数
数值数组:存放数值
字符数组:储存字符
指针数组:储存指针
结构数组:存放结构类型的数据
数组可以作为函数的参数使用,进行数据传送
一维数组的定义
数组类型 数组名[数组的长度]
例 :Int
a[3];
定义了一个int类型的数组 长度为3
一维数组的注意事项
1)数组的长度可以是一个常量,也可以是表达式
2)数组名的命名规则:严格按照标识符的命名规范(1、不能以数字开头
2、严格区分大小写 3、不能重名 4 、可以使用 $
、 _ )
一维数组的初始化
给数组每一个元素赋值,是在编译阶段进行的,可以缩短时间,提高效率
下面是一个数组的遍历应用的源代码:
/* 从键盘接受数组长度,构建一个数组,然后在通过for循环接受数字给数组初始化 并用for循环输出查看 */ #include <stdio.h> int main(int argc, const char * argv[]) { //定义一个整形的变量作为数组的长度 int len ; printf("请输入数组长度:\n");//提示用户输入len的值 scanf("%d",&len);//接受并保存到len int a[len];//定义了一个长度为len的数组 for (int i=0;i<len;i++) { //运用for循环来接受数组的每一个元素的值,并保存到数组 printf("输入%d个数值\t",i+1); scanf("%d",&a[i]); } for (int i=0;i<len;i++) { printf("%d\t",a[i]); } return 0; }
冒泡排序(Bubble sort):也可以叫气泡排序,它是一种简单的排序方法。通过重复走访要排序的数列
一次比较两个元素,如果顺序错误就把他们交换过来。
冒泡排序分为: 大数下沉 小数上浮
下面是冒泡代码的实现:
#include <stdio.h> //声明一个函数,实现排序 void maopao(int arr[],int len ) { //双重循环 for (int i=0;i<len;i++) { for(int j=0;j<len-1-i;j++) { int temp; if(arr[j]>arr[j+1]) { //temp是一个中间值,用来交换两个值 temp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; } } } } int main(int argc, const char * argv[]) { int a[10] = {1,2,3,45,6,7,8,9,0,10}; for(int i=0;i<10;i++) { printf ("%d\t",a[i]); } maopao(a,10); printf("\n"); for(int i=0;i<10;i++) { printf ("%d\t",a[i]); } return 0; }
字符串的概念:
字符串是位于双引号中的字符序列
在内存中以“\0”结束,所占字节比实际多一个
注意:
可以把一个字符常量赋给一个字符变量,但是不能把字符串常量赋给字符变量。
在C语言中没有字符串变量,可以用字符数组来存放字符串。
字符数组的定义
形式:
char 数组名 [常量表达式]
字符串输入和输出
使用的格式字符串为 %s ,表示输入、输出的是一个字符串,遇到 “\0”结束。
%c不可以连续输出字符,每次它输出一个。
下面是一个关于字符数组的运用:
输入一段英文字符串,把首字母大写后输出
#include <stdio.h> int main () { //定义一个变量,申请一个长度为100的char类型的数组 char str[100]; int word = 0; //提示用户输入一个字符串 printf("请输入一段英文句子,按回车结束: \n"); //接受字符串,并且保存到数组中 fgets(str, sizeof(str), stdin); //gets(str); 不安全 ,会溢出 //scanf("%s",str); 不能接受空格 //循环取出每一个字符,遇到\0结束 for (int i=0; str[i]!='\0'; i++) { //判断 if (str[i]==' ') { //把是否为一个单词的标记改为 word = 0 word = 0; }else if (word == 0) //word = 0 则下次循环一定是一个单词 { str[i]=str[i]-32; //小写字母减去32就是大写字母了 word = 1; //首字母大写以后则要标记这不是一个单词 } } printf("%s",str); return 0; }
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- js判断客户端是iOS还是Android等移动终端的方法
- IOS开发环境windows化攻略
- .net平台推送ios消息的实现方法
- 探讨Android与iOS,我们将何去何从?
- Android、iOS和Windows Phone中的推送技术详解
- IOS 改变键盘颜色代码
- Android和IOS的浏览器中检测是否安装某个客户端的方法
- javascript实现阻止iOS APP中的链接打开Safari浏览器
- iOS开发之路--微博OAuth授权_取得用户授权的accessToken
- ios通过按钮点击异步加载图片
- ios中图像进行压缩方法汇总
- IOS检测指定路径的文件是否存在
- iOS、Mac OS X系统中编程实现汉字转拼音的方法(超级简单)