美文网首页上嵌学习笔记
12.14C基础循环语句的嵌套,数组的学习

12.14C基础循环语句的嵌套,数组的学习

作者: 清风纳兰 | 来源:发表于2016-12-15 01:51 被阅读2次

    一、逻辑语句

    1.if~else配对问题

        else 总是与离他最近的if配对
    

    2.循环

        (1)for(表达式1;表达式2;表达式3)
        执行顺序:
                (A)表达式1
                (B)表达式2,若表达式2成立,则执行(C);不成立,执行(E)
                (C)执行循环体即{}里的内容;
                (D)表达式3,执行(B)
                (E)结束循环
    

    3.循环的练习

    二、数组

    1.一维数组定义

        DataType ArrayName[size];
        
        DataType:数据类型,int,float,double,char 等等
        ArrayName:数组名
        size:数组的大小或数组下标,必须是常量表达式
        []:     下标运算符
        下标是从0开始到size-1  !!!!
        example:
                //定义一个数组大小为5,其中每个元素都是int类型
                int arr[5];     
                arr:数组名
                5  :数组大小即数组元素的个数
                int:数组元素的类型
        (2)数组的初始化
                int arr[3]      = {1,2,3};
                int arr1[3] = {1,3};
                int arr2[3] = {1};
                int arr3[3] = {[2]=3};  //不建议
                int arr4[]  = {1,2,3,4};//不建议
                
                int arr5[]  = {};       //error(错误)
                
                int num = 0; //OK
                int num1;
                num1 = 2;    //OK
                
                int arr[5];
                arr[5] = {1,2,3,4,5};  //error
                注:
                        数组若要初始化,必须在定义的同时初始化,
                        不能先定义,后初始化。
                //以下方法不可以!!!编译器报错
                int n = 6;
                int arr[n] = {1,2,3};
                
                int m;
                scanf("%d",&m);
                int buf[m] = {1,2,3};
        
                宏定义:
                        #define M 5
                
        (3)数组元素的访问
                使用下标形式;
                int arr[5];
                        arr[1]:访问第二个元素
                        arr[4]:访问第五个元素
                
                遍历数组元素:逐个访问
        (4)数组的存储
                数组也是一种数据结构,数组中的元素顺序存储;
                数组中每个元素的类型都相同;
        (5)数组地址问题
                int arr[5];
                        arr:0x000000
                &arr[0]:0x000000
                   &arr:0x000000
                  arr+1:0x000004
          &arr[0]+1:0x000004
                 &arr+1:0x000014
        说明:
                arr:数组名,也代表数组元素的首地址,即第一个元素的地址
                &arr[0]:数组元素的首地址,即第一个元素的地址
                &arr:数组的首地址
                
                arr+1和&arr[0]+1:表达的意思一样,
                        地址偏移一个元素大小
                &arr+1:地址偏移整个数组大小
                
        (6)数组元素的赋值
    
        (7) char arr[16]={'h','e','l','l','o'}; 
                char buf[16] = {"hello"};       
        (8)数组名不能和变量名重复!!!!!             
    

    2.二维数组(基于矩阵)

        1,2,3,4,5,6,7,8,9
        1 2 3 
        4 5 6
        7 8 9
        DataType ArrayName[行下标][列下标];
        DataType ArrayName[][列下标];
        行下标可以省略!!!!!!!!!
        
        (1)初始化:
                int arr[3][3] = {1,2,3};
                int arr1[3][3]= {{1,2,3},{4,5,6},{9,8,7}};
                int arr2[][3] = {1,2,3,4,5};
                
                
                        C               C++      语文
        张三
        李四
    

    3.注释

        (1)//.......:
                单行注释,可以独占一行,也可以跟在执行语句之后
                但"//"之后的内容。不被编译执行
                规定:
                        注释内容放在被注释的上一行,或者同行行末;
        (2)/*.........*/:
                注释大段代码即注释代码块
        (3)主要用于代码测试
                #if 0
                ......
                #else
                ......
                #endif
    

    三、作业

    1、将2~100之间的素数,并遍历输出,每5个一行

    实现:
    #include<stdio.h> int main() { int i; int j; int a=0; for(i=2;i<=100;i++) { for(j=2;j<=i;j++) { if(i%j==0) break; } if(i==j) { printf("%d ",i); a++; if(a%5==0) printf("\n"); } } }

    相关文章

      网友评论

        本文标题:12.14C基础循环语句的嵌套,数组的学习

        本文链接:https://www.haomeiwen.com/subject/zvcimttx.html