黑马程序员-IOS-C语言基础-复杂数据类型
2015-01-17 00:45
330 查看
-------------------------------------- android培训、java培训、ios培训期待与您交流!
---------------------------------
数组
数组:数组就是用来存储一组数据的
特点:1、只能存放一种类型的数据,比如int类型的数组,float类型的数组
2、里面存放的数据成为“元素 ”
定义格式:类型 数组名[元素个数];
数组的基本使用及注意:
#include <stdio.h> int main() { // int ages[5] = {19,20,35,21,28}; // 指定给某一个赋值 int ages[5] = {[3]=35 ,[4]=21};//如果想在定义数组的同时进行初始化,[]内只能是常量,如整数,字符‘A’。或者不写 for(int i = 0;i<5 ;i++) { printf("ages[%d]是%d\n",i,ages[i]); } return 0; } void arrayUse() { int ages[5] = {19,20,35,21,28}; //遍历:按顺序查看数组的每一个元素 for(int i = 0;i<5 ;i++) { printf("ages[%d]是%d\n",i,ages[i]); } }小练习:设计一个函数:int arrayMax(int a[], int count),找出数组元素的最大值
#include <stdio.h> //设计一个函数:int arrayMax(int a[], int count),找出数组元素的最大值 int main() { //声明函数 int arrayMax(); //定义int类型的数组arr int arr[] = {1,3,7,90,2,100}; //定义count记录数组arr的长度 int count = sizeof(arr)/sizeof(int); //定义max记录数组的最大元素的值 int max = arrayMax(arr,sizeof(arr)/sizeof(int)); //打印出数组元素的最大值 printf("数组元素的最大值为:%d\n",max); return 0; } int arrayMax(int a[], int count) { //定义max为默认数组的最大元素 int max = a[0]; //利用for循环对数组进行遍历 for (int i = 0; i < count; i ++) { //判断元素值的大小 if (a[i] > max ) { //将较大的值赋给max max = a[i]; } } //返回数组元素的最大值 return max; }
字符串
字符串定义:很多个字符组合在一起就是字符串
字符串的初始化
l char a[] = “123”; 和 char a [] ={‘1’,’2’,’3’};的区别,可以比较大小l “123”其实是由’1’、’2’、’3’、’\0’组成
l “123”的存储分布
l 字符串的输出”%s”,’\0’是不会输出的
\0的作用
l 输出char a[] ={‘o’,’k’};l 在char a[]前面搞个”mj”
l 输出”mj”
l 再输出a
l char a[] = {‘i’,’t’,’\0’,’c’};
<span style="font-size:14px;"><span style="font-size:14px; background-color: rgb(240, 240, 240);">#include <stdio.h></span></span>
<span style="font-size:14px;">int main() { //char name[] = {'i', 't', 'c', 'H', 's', 't', '\0'}; char name[] = "itcast"; name[3] = 'H'; /* int size = sizeof(name); printf("%d\n", size); */ printf("我在%s上课\n", name); return 0; } // 字符串的一个初始化 void test2() { // \0的ASCII码值是0 // 都是字符串 char name[8] = "it"; char name2[8] = {'i', 't', '\0'}; char name3[8] = {'i', 't', 0}; char name4[8] = {'i', 't'}; // 不算是一个字符串(只能说是一个字符数组) char name5[] = {'i', 't'}; } /* void test() { // 'a' 'b' 'A' // "jack" == 'j' + 'a' + 'c' + 'k' + '\0' char name[10] = "jack888\n"; // 把数组传入,仅仅是个警告 printf(name); printf(name); printf(name); printf("57843578435"); }*/</span>
小练习:
编写一个函数char_contains(char str[],char c),
如果字符串str中包含字符c则返回数值1,否则返回数值0
#include <stdio.h> #include <string.h> int char_contains(char str[],char c);//申明 int main() { int result = char_contains("kdfss", '3'); printf("%d\n",result); return 0; } int char_contains(char str[],char c) { /* //1.遍历整个字符串 for (int i = 0; i<strlen(str); i++) { //1.如果发现某个字符等于参数f,直接返回1,退出函数 if(str[i] == c) { return 1; } } //2.说明str里面不包含f return 0; */ int i = 0; while (i<strlen(str) ) { i++; if(str[i] == c) { return 1; } } return 0; }
字符串数组:
#include <stdio.h> int main() { char names[3][5] = {"jack","tom","rose"}; printf("%s\n",names[2]);//输出rose printf("%c\n",names[1][1]);//输出第二个数组的第二个元素o return 0; }
指针
格式:变量类型 *变量名;
定义了一个指针变量p
指针变量只能存储地址
指针就一个作用:能够根据一个地址值,访问对应的存储空间
指针变量p前面的int:指针变量p只能指向int类型的数据
#include <stdio.h> int main() { int *p; int a = 90; // 指针变量p指向了变量a p = &a; *p = 10; a = 20; printf("%d\n",*p);//输出结果为20.*p表示指针变量p所指向的的变量 return 0; } void change(int n) { n = 10; }
练习:
#include <stdio.h> void change(int *n); int main() { int a = 90; change(&a); printf("%d\n", a); return 0; } void change(int *n) { *n = 10; }
指向指针的指针:
#include <stdio.h> int main() { int a = 10; int *p = &a; int **pp = &p;//指向指针的指针 **pp = 20; printf("%d\n",a); return 0; }
练习:
/* 用一个函数就能输出和跟差 */ #include <stdio.h> int sumANDminus(int n1,int n2,int *n3); int main() { int a = 10; int b = 7; int sum ; int minus; minus = sumANDminus(a ,b , &sum); print 95ef f("和=%d,差=%d\n",sum,minus); return 0; } int sumANDminus(int n1,int n2, int *n3) { *n3 = n1 + n2; return n1 - n2; }
相关文章推荐
- 黑马程序员-iOS基础-C语言基础(六)-复杂数据类型及其他
- 黑马程序员-IOS学习笔记-C语言基础复杂数据类型
- 黑马程序员-IOS-C语言基础-复杂数据类型
- 黑马程序员——C语言基础---复杂数据类型(变量,结构体,枚举)
- 黑马程序员_iOS开发C语言基础之枚举类型和数据类型总结
- 黑马程序员——C语言基础--复杂数据类型(指针&枚举&变量)
- 黑马程序员——C语言基础---复杂数据类型(数组,字符串)
- 黑马程序员-IOS-C语言基础-其他数据类型及总结
- 黑马程序员——ios基础---C语言:数据类型、运算符、选择结构
- 黑马程序员——C语言基础(二)数据类型、常量以及变量
- 黑马程序员——Java语言基础——关键字、表示符、常量、变量及数据的类型、运算符
- 黑马程序员——ios开发基础之C语言数据类型、运算符与输入输出
- 黑马程序员——C语言基础---数据类型
- C语言基础之复杂数据类型的学习
- 黑马程序员_01_Java语言基础部分(数据类型与表达式、流程控制语句、数组与方法)
- 黑马程序员——C语言基础-关键字、标识符、注释、数据类型、常量、变量
- 黑马程序员—Java语言基础(关键字、标识符、注释、常量与变量、进制、数据类型、类型转换、代码示例)
- 黑马程序员-IOS学习笔记-C语言基础其他数据类型及总结
- 黑马程序员——C语言基础02—数据类型
- 黑马程序员——Java语言基础:String、基本数据类型对象包装类