zoukankan      html  css  js  c++  java
  • 第2次作业(指针总结)

    一·学习内容总结
    1.数组名是数组所存储空间的首地址
    2.在函数的参数中使用数组名与使用指向数组第一个元素的指针是同一个效果,等价,在函数的参数中使用数组名会方便理解某参数是指向某个元素起始地址的指针
    3对于数组int a[10];a表示数组第一个元素的地址即&a[0];如果使指针p指向数组的首元素可以进行操作;intp=a;或者intp=&a[0];那么p++,是指向数组的先一个元素,即a[1];此时,a[i]=p[i]=(a+i)=(p+i)
    (1)p++;(或P+=1) 指向下一个元素。
    (2)p++;等价于(p++);先得到p指向的变量的值,p再加1。
    (3) (p++);与(++p);作用不同,前者先取p,后使p加1;后者相反。
    (4) (
    p)++表示p所指向的元素值加1
    (5) 若p当前指向a数组第i个元素,则: (p--)相当于a[i--],先取p值作""运算,再使p自减; (++p)相当于a[++i],先使p自加,再作""运算; (--p)相当于a[--i],先使p自减,再作""运算。

    二·在课堂或课后编程学习遇到的问题及解决过程
    问题1 :在课后作业“二维数组冒泡排序”的编程中,运用一维数组冒泡排序的思路,忽视二维数组多出来的一层边界的越界问题出现答案错误
    问题1的解决方案:重新考虑第二层边界的越界问题,提供查找书籍学习并修改了for循环的条件。
    问题2:指针的地址赋值错误
    问题2的解决方案:在指针赋值时,单个地址时,需要“&”符号;赋值整个数组时,不用“&”符号。
    问题3:指针中和&符号意义没有完全整清楚
    问题3的解决方案:在int * p=&a中
    说明p是一个指向整形数据的变量,在 *p=5 中 * 表示取p所指向内存的数据,所以 *p=a。
    三·作业
    1.

    题目.统计字符出现次数

    1. 实验代码

    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h>
    int main()
    {
      char a[100];
      int  i;
      int  s=0;
      char  ch;
      gets(a);
      ch=getchar();
      for(i=0;a[i]!='';i++)
    {
      if(a[i]==ch)
      s++;
    } 
    printf("%d",s);
    }
    

    输出截图:

    2.

    实验代码

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    void selectsort(char a[][20],int n)
    {int i,z,j;
    char x[20];
    for(i=0;i<n;i++)
    { 
    z=i;
    for(j=i+1;j<n;j++) if(strcmp(a[j],a[z]) < 0)z=j;
    if(z>i)
    {
    strcpy(x,a[i]);
    strcpy(a[i],a[z]);
    strcpy(a[z],x);
    }
    }
    } 
    int main()
    {
    int i;
    char str[5][20]=
    {
    "persistence",
    "supreme",
    "me",
    "future",
    "here"
    };
    printf("The string array:
    ");
    for(i = 0;i < 5;i++)
    printf("%s
    ",str[i]);
    selectsort(str,5);
    printf("After sort the string array:
    ");
    for(i = 0;i < 5;i++)
    printf("%s
    ",str[i]);
    system("PAUSE");
    return 0;
    }
    

    四·附加内容

  • 相关阅读:
    Inno Setup入门(六)——在程序目录下创建文件
    Inno Setup入门(五)——添加readme文件
    Inno Setup入门(四)——为程序创建桌面快捷方式
    Inno Setup入门(三)——指定压缩方式
    Inno Setup入门(二)——修改安装过程中的图片
    61 origin授控于MATLAB
    origin里用c语言编程
    flac3d自定义变量输出云图
    C语言学生管理系统源码分享
    c语言学生信息管理系统-学习结构体
  • 原文地址:https://www.cnblogs.com/1wrp/p/8734069.html
Copyright © 2011-2022 走看看