zoukankan      html  css  js  c++  java
  • 大四中软实习笔记20130226

    1 循环
    do
    {

    }while(条件);

    for()
    {

    }
    题目:连续给变量a输入5次数据,每次都打印出结果。


    2 函数
    2.1 自定义函数的定义
    函数原型(函数名、输入参数、返回值):

    int main()
    {
        int a=20;
        ing b=30;
        int c=max_etc(a,b);
        printf("2个数的最大值是:%d\n",c);
        return 0;
    }

    int max_etc(int a,int b)
    {
        int result;
        if(a>b)
        {
            result=a;
        }
        else
        {
            result=b;
        }
        return result;
    }

    知识点:
    1 自定义函数如果放在main函数的后面,则main函数调用自定义函数时,会默认自定义函数的返回值为int,而且有告警。所以,必须修改。
        修改方法:
        方法一、将自定义函数写在main函数的前面
        方法二、在main函数前面,增加1条语句----自定义函数的原型,即声明自定义函数
        方法三、使用多文件的工程,包括多个.c和.h文件
    2 多工程文件的使用步骤
      1、将main函数放在a.c文件中
      2、将max_etc函数的定义放在max_etc.c文件中
      3、将max_ect函数的原型放在max_etc.h文件中
      4、在main函数前增加头文件   #include "max_etc.h"
       

    3 数组
    int a[10];
    char a[10];
    float a[10];   
    double a[10];

    3.1 整型数组
    怎样定义1个整型数组
    int a[5];

    怎样给数组的每个元素赋值
    方法一:
    int a[5]={0};
    上面是特殊用法

    方法二:
    先定义数组,再给每个元素赋值
    int a[5];
    a[0]=2;
    a[1]=5;
    a[2]=7;
    a[3]=9;
    a[4]=10;

    特殊用法:
    使用for循环,给每个元素赋值

    题目:定义1个数组,给这个数组赋值前20个奇数。赋完20个奇数后,倒序打印出来。

    题目:自定义1个函数,可以对整型数组中的元素进行排序。在main函数定义1个数组,并赋5个整型数,然后调用该函数,进行排序,最后打印输出。

    5  9   2   7  4

    5  2   7   4   9   第1轮结束
    *

    代码:
    #include <stdio.h>

    void sort_etc(int a[],int count)
    {
        int temp;
        int i;
        int j;
       
        for(j=0;j<count-1;j++)
        {       
            for(i=0;i<count-1-j;i++)
            {   
                if(a[i]>a[i+1])
                {
                    temp=a[i];
                    a[i]=a[i+1];
                    a[i+1]=temp;
                }
                else
                {
                    ;
                }
            }
        }
       
        return;
    }


    int main()
    {
        int a[5]={5,9,2,7,4};
        int i;
        sort_etc(a,5);
        for(i=0;i<5;i++)
        {
            printf("%d\n",a[i]);
        }
       
        return 0;
    }

    3.2 字符型数组
    3.2.1怎样定义1个字符型数组
    int a[5]={5,3,4,6,7};
    char b[5]={'h','e','l','l','o'};
    char b[6]="hello";
    char b[]="hello";

    3.2.2 字符串
    就是特殊的字符型数组:最后1个字符是'\0'

    题目:定义1个函数,实现字符串复制功能。
    在main函数中,定义1个字符串char a[20]="hello",再定义1个字符串b为"zhangsan",调用该自定义函数,将字符串b复制并粘贴到到字符串a上,然后在main函数中打印出字符串a,进行验证。
    分析:
    hello                 zhangsan
    a[0]=b[0];
    a[1]=b[1];

    while(b[i]!='\0')
    {

    }
    a[i]='\0';

    题目:定义1个函数,实现字符串连接功能。
    分析:
    hello                 zhangsan


    4 指针----地址
    就是1种数据类型
    四大基本数据类型
    数组数据类型  int a[5];//   在JAVA中也可以这样定义  int[5]  a;
    地址数据类型:
    int * p1;
    char *p2;
    float *p3;
    double *p4;
    4.1 整型地址
    4.1.1 如何定义1个整型地址变量
    int *p;
    注意:p是地址变量,而且它只能存1个整型数的地址,如存的是100这个整型数的地址(0x27ff0001)

    4.1.2 给整型地址变量赋值
    方法一:
    int a=100;
    int *p=&a;    //&是取地址 运算符

    方法二:
    int *p;
    int a;
    a=100;
    p=&a;

    注意:
    有的项目要求,单独定义地址变量的时候,必须赋值为NULL;

    题目:自定义1个函数,可以实现2个整型数的交换。在main函数中,调用该函数,验证结果。

    知识点:
    1 函数参数的传递方式
    方式一:值传递(参数是4大基本数据类型)
    参数是复制粘贴关系
    被调用函数中的参数(形参),是复制品


    方式二:地址传递(参数是地址类型)
    参数是复制粘贴关系
    被调用函数中的参数(形参),是复制品
    注意:
    但此时,自定义函数的函数体里,不是进行简单的地址的四则运算,还可以进行*运算(地址就变成 整型变量,而且这个变量是main函数里的真品)

    题目:自定义1个函数,可以返回2个数的和、差、积、商。在main函数,定义2个整型数,让调用该函数,来验证结果。
    代码:
    #include <stdio.h>
    void fun(int m,int n,int *a,int *b,int *c,int *d)
    {
        *a=m+n;
        *b=m-n;
        *c=m*n;
        *d=m/n;
        return;
    }

    int main()
    {
        int a=10;
        int b=20;
        int sum;
        int sub;
        int mulity;
        int shang;
        fun(a,b,&sum,&sub,&mulity,&shang);
        printf("sum is %d\n sub is %d\n mulity is %d\n shang is %d\n",sum,sub,mulity,shang);   
        return 0;
    }

    知识点:
    1 如果,函数中的形参是数组名,则本质上是地址变量
    如:
    int fun(int a[]);    //以后不要这样用了,虽然符合语法规范。
    int fun(int *a);      //二者完全等价,而且理解时要用地址变量来理解。
    2 数组名
    数组名是常量,所以不能进行a++这样的运算。但可以进行a+1这样的运算
    这个常量是第1个元素的地址(一维数组是这样)


    2 走读代码:
    从main函数开始

    2 怎样调试
    设置断点
    go
    F10
    F11
    点memory
     
    课后作业:自定义1个函数,可以求出某个数值范围内的所有质数。 在main函数中调用,进行验证。比如参数可能为100,或200

  • 相关阅读:
    Redis Info详解
    ABAP常用事务码
    ABAP区别CLEAR、REFRESH、FREE
    virtualbox安装增强功能时【未能加载虚拟光盘】
    https://www.safaribooksonline.com/home/
    图文教程教您蓝底照片更换成白底和红底的方法
    URAL1495. One-two, One-two 2(dp)
    URAL1513. Lemon Tale(dp)
    URAL1900 Brainwashing Device(dp)
    Codeforces Round #228 (Div. 1)B
  • 原文地址:https://www.cnblogs.com/blueswitkey/p/2934877.html
Copyright © 2011-2022 走看看