美文网首页上嵌学习笔记
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