day04笔记

数组:
二维数组:x,y坐标
a[4][4](行和列)    //4行  4列
矩阵
1  0  0  0   =》{1}
0  1  0  0   =》{0,1}
0  0  1  0   =》{0,0,1}
0  0  0  1   =》{0,0,0,1}
a[0][0]=1
实例--列数组相乘:
a[][3]
b[][3]
#include<stdio.h>
int main()
{
  int a[][3]={{1,2,3},{4,5,6},{7,8,9}};
  int b[][3]={{1,4,7},{2,5,8},{3,6,9}};
  int i,j;
  for(i=0;i<3;i++)
  {
    for(j=0;j<3;j++)
    {
      printf("%d  ",a[i][j]);
    }
    printf("\n");
  }
  printf("\n");
  for(i=0;i<3;i++)
  {
    for(j=0;j<3;j++)
    {
      printf("%d  ",b[i][j]);
    }
    printf("\n");
  }
  printf("\n");
  for(i=0;i<3;i++)
  {
    for(j=0;j<3;j++)
    {
      printf("%2d  ",a[i][j]*b[j][i]);
    }
    printf("\n");
  }
  return 0;
}


指针:
指针、引用、数组的下标
指针:变量的地址
引用:变量的别名
下标:元素的下标(不一定是地址,但是它代表元素下标的地址)

指针和引用的区别:
指针:在定义时可以不被初始化
         指针可以指向为空的地址(悬空指针)
         *p     *a
引用:在定义的时候必须初始化
         不可以为空的引用
         &p    &a
实例:
获取当前的系统时间:
#include<stdio.h>
#include<time.h>
int main()
{
  int h=0;
  int m=0;
  int s=0;
  int sec;
  while(1)
  {
    sec=time(0);
    s=sec%60;
    m=sec%3600/60;
    h=(sec%(24*3600)/3600+8)%24;
    printf("当前的系统时间是:%02d:%02d:%02d\r",h,m,s);
    fflush(stdout);
    sleep(1);
   }
  return 0;
}
  静态 =》动态     
  srand()产生随机数:
  RAND_MAX
  系统产生一个随机数,我们自己并不知道
  time() 系统时间函数:
  实例:猜数字游戏
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
  srand(time(0));
  int num=rand()%100+1;  //+1才是0-100
  int cai;
  int k;
  while(1)
  {
   for(k=0;k<5;k++)
   {
    printf("请输入你猜的数字:");
    scanf("%d",&cai);
    if(cai>num)
    {
      printf("猜大了!\n");
    }
    else if(cai<num)
    {
      printf("猜小了!\n");
    }

    else
    {
      printf("恭喜你!猜对了!\n");
      break;
    }
   }
   if(k==5)
   {
     printf("很遗憾,你的机会用光了!\n");
   }
   break;
  }
  printf("正确的数字是:%d \n",num);
  return 0;
}

 
  sleep()睡眠函数:sleep(1)-睡眠1秒
  实例3--双色球
  1 红球 1-33
     蓝球 1-16
 #include<stdio.h>
#include<stdlib.h>
#include<time.h>
int shuangseqiu()
{
  int red[33];
  int blue;
  int i=0,j;
  int num;
  srand(time(0));
  while(i<6)
  {
    //fflush(stdout);
    //sleep(1);
    num=(1.0*rand()/RAND_MAX)*33+1;  //在33个随机数字中产生6个数字
    for(j=0;j<i;j++)
    {
      if(red[j]==num)   //如果数值相等则退出
      {
        break;
      }
    }
    if(j==i)    //如果产生的数相同则退出
    {
      red[i]=num;
      i++;
    }
  }
  for(i=0;i<6;i++)
  {
    printf("%02d  ",red[i]);
  }
  blue=(1.0*rand()/RAND_MAX)*16+1;  //在16个随机数字中产生1个数字
  printf(" + %02d\n",blue);
  return 0;
}

int main()
{
  int j;
  printf("请输入你要购买的张数:");
  int i;
  scanf("%d",&i);
   for(j=0;j<i;j++)
   {
    fflush(stdout);
    sleep(1);
    shuangseqiu();

   }
    return 0;
}

  C语言的文件读写:
  把我们的文件结果或者语句写道文件里面去,
  fopen:开某个文件
  fread:出某个文件的内容
  fwrite:往文件里写入内容
  fclose:关闭文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

贤时间

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值