C语言基础04

什么叫数组呢?我们的第一反应是很多数组组合在一起就是数组,字面意思,当然不止于数字,多个字符也是可以的.

数组属于构造类型 .指相同类型的若干变量组织起来.

类型说明符 数组名 [常量表达式]

int  array[] ={0}           //定义一个空数组 .

1.数组的类型实际上是指数组元素的取值类型,对于同一数组,所以的数据类型都是一样的

int array1[] = {78,‘o‘,10};    //o会转化为ASCII值,所以也是整形

//也是可以,是不是于上面的话矛盾呢?其实不是的,他说明的是里面的数组元素 都会转化为同一数据类型,不是说开始输入就全部相同

int array2[] ={ 67,32.3,92,16 };   

2.方括号的表示元素的个数,不能用变量来表示,只能使用常量或者符号常量.

int a  = 3;

int array[a+1]   ={...}        //肯定要报错

3.打印数组是需要使用for循环,而不能简单的使用printf()函数

for(int i =0 ;i < strlen(array);i++){

  printf("array[%d] = %d\n",i,array[i]);

}

4.数组中下标越界

float score[] ={34.4,63.1,98.2,65.3,93.7,39.5};

printf("%f\n",score[56]);  //很明显score的下标小于56,在C语言中警告,但是在OC中会报错,需要注意‘

5*.冒泡排序法

看了好多人写的冒泡博客,都是只写个程序,没什么具体的执行过程:

初始: 34 89 12 45 6 27 52 69  八个数组进行从小到大的排序

    34 89 12 45 6 27 52 69    //第一位34第二位89比较, 34<89 不用换

      34 12 89 45 6 27 52 69    //第二位89和第三位12比较, 89 > 12 需要换

      34 12 45 89 6 27 52 69    //第三位89和第四位45比较, 89 > 45 需要换

        34 12 45 6 89 27 52 69    //...

          34 12 45 6 27 89 52 69    //...

            34 12 45 6 27 52 89 69    //...

              34 12 45 6 27 52 69 89    //..   @3

到此第一轮循环结束 ,89最大的值出来了,使用7次循环,然后我们在根据  @3的那组数字在来一遍 知道最后就剩2个数组 ,不用在判断了.

通过判断需要使用八轮 这样的循环,所以for循环嵌套

for(int i = 0 ; i < n-1 ;i++){   //n代表个数 i从0开始,从上面的规律就可以看出i< n-1  , i 代表内部循环的轮数

  for(int j =0 ; j <n-i-1;j++ ) {   //第一轮和7次循环  7+1 =8 8就是n,但是最后剩2个数字不用判断 h或者(for j =n-1;j>=n;j--){}

      //交换数值,在内部循环中交换

      if( array[j] > array[j+1]){

        int temp =array[j];

        array[j] = array[j+1];

        array[j+1] =temp;

      }

  }  

}

5.字符数组

char str[] ="Iphone5S";           //@1

char str1[] = {‘I‘,‘p‘,‘h‘,‘o‘,‘n‘,‘e‘,‘5‘,‘S‘};  // @2

这两种方式来声明字符str和str1是差不多相同,唯一不同的是@1后面还有一个隐藏的结束符号.完整的Str="Iphone5S\0"

时间: 2024-10-12 11:56:38

C语言基础04的相关文章

魏兆辉的IOS基础学习笔记之四 C语言基础-04 函数

1. 数组作为函数参数 函数是我们学习程序设计语言最基本的东西了,我在此不再赘述.只讨论一种特殊情况,就是数组作为函数的参数传递. 我们都知道,其实在传递数组的时候,实际上是传递了数组首元素的指针.明确了这一点之后,我们就可以思考下面的问题. 既然他只是传递了数组首元素的指针,那么他必然无法知道整个数组的大小,因此,我们如果希望在函数中用到数组的长度,必须要进行显式传递. int Sum(int a[],int size){ int i ,sum=0; for(i=0;i<size;i++) {

魏兆辉的IOS基础学习笔记之九 OC语言基础-04 getter和setter方法

存取方法分为两种:setter方法和getter方法.setter方法,是为对象中的变量赋值.getter方法,是通过对象本身访问对象属性. 在Objective-c中,Cocoa框架在定义存取方法的时候,有相关的规定: (1). setter方法,根据它的所要去改变的属性名称来命名,并在前面加set前缀.如:setEngine,setTire等. (2). getter方法,则是以其返回的属性名称来命名,不要将get前缀加到getter方法名前面.因为在Cocoa中,get前缀有其他的用途.一

C语言基础(转载自大海笔记)

# C语言基础2015年03月26日10:04:411.    语言排行榜C——java——objective-C2.    进制:进制:进位机制.用普通的话讲,应该为人为的定义一种度量来标识一样东西.计算机常用的进制有:十进制.二进制.八进制和十六进制.?    十进制:0-9(十个指头)(进制表示基数:10)?    二进制:0,1(基数为2)?    八进制:0-7(基数为8)?    十六进制:0-9,A-F(基数为16)    可以有很多进制,比如分钟为60进制等等.3.    位权为

day04&lt;Java语言基础+&gt;

Java语言基础(循环结构概述和for语句的格式及其使用) Java语言基础(循环结构for语句的练习之获取数据) Java语言基础(循环结构for语句的练习之求和思想) Java语言基础(循环结构for语句的练习之水仙花) Java语言基础(循环结构for语句的练习之统计思想) Java语言基础(循环结构while语句的格式和基本使用) Java语言基础(循环结构while语句的练习) Java语言基础(循环结构do...while语句的格式和基本使用) Java语言基础(循环结构三种循环语句

Object Pascal 语法之语言基础(四)

1.8 过程与函数 过程与函数是实现一定功能的语句块,是程序中的特定功能单元.可以在程序的其他地方被调用,也可以进行递归调用.过程与函数的区别在于过程没有返回值,而函数有返回值. 1.过程与函数的定义过程与函数的定义包括过程原型或函数原型.过程体或函数体的定义.过程定义的形式如下: procedure ProcedureName(ParameterList); directives; var LocalDeclarations; begin statements end; ProcedureNa

Object Pascal 语法之语言基础(三)

1.6 Object Pascal 的运算符 运算符是程序代码中对各种类型的数据进行计算的符号,通常分为算数运算符.逻辑运算符.比较运算符和按位运算符. 1.算术运算符Object Pascal 语言的算术运算符,如表1-9 所示.表1-9 Object Pascal 语言算术运算符 操作符 操作 操作数据类型 结果类型 + 加 整型.实型 整型.实型 - 减 整型.实型 整型.实型 * 乘 整型.实型 整型.实型 / 除 整型.实型 整型.实型 mod 取余 整型 整型 div 整除 整型 整

python基础04 运算

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! Python的运算符和其他语言类似 (我们暂时只了解这些运算符的基本用法,方便我们展开后面的内容,高级应用暂时不介绍) 数学运算 >>>print 1+9        # 加法 >>>print 1.3-4      # 减法 >>>print 3*5        # 乘法 >>>print 4.5/1.5   

D05——C语言基础学PYTHON

C语言基础学习PYTHON--基础学习D05 20180815内容纲要: 1 模块 2 包 3 import的本质 4 内置模块详解 (1)time&datetime (2)datetime (3)random (4)os (5)sys (6)json&pickle (7)shelve (8)xml (9)shutil (10)PyYaml (11)configpaser (12)hashlib (13)re 5 练习:开发一个简单的python计算器(挑战性很强) 1 模块 模块: &g

探索篇 | C语言基础归纳 No.1

导语 本篇博客中包含了大量的C语言基础知识,可能不太全面,但无论大家用于预习或复习,都会具备较为不错的参考价值. 01. C语言与其他计算机语言的对比:C语言广泛的应用于底层开发,区别于应用开发(操作系统与软件间的开发,比如C++.Java等),C语言更擅长做操作系统与电脑之间(驱动层)的工作:C语言是面向过程的语言:C++.Java是面向对象的编程语言: 02. ASCII码表:ASCII码对照表 03.主函数我的第一个C语言代码,写代码先从主函数开始先写一个 main() 函数 //主函数-