• apue 20130316


    时间下一秒:判断是不是60,是秒数为0,分钟+1

    判断分钟是不是60,是分钟为0,小时+1

    判断小时是不是24,是小时为0,日期+1

    s=s+1 if(s==60){

    S=0;m=m+1;

    If(m==60)

    {

    M=0;

    H++;

    If (h==24)

    {

    H=0;

    }

    }

    }

    核心算法+一秒  scanf("%d:%d:%d",&h,&m,&s);

    While(1)

    {

    Sleep(1);

    }

     

    标准C提供的输入输出函数

    Printf   -> 缓冲区    行  全   零缓冲

    Fopen     ->屏幕     printf ("\n");

    刷新缓冲区  :fflush(NULL);空指针

    Fopen()      堆上

    Fclose()      1.free  2刷新  fflush(NULL);  文件大小或没写进去  ffflush(NULL);

     

    程序难:完整    printf("\r%d%d%d",);光标移动到行首

     

     

    循环:

    For   VS  while  一样   注意:在使用continue  

    Do{}while;

     

     

    1,作什么  {循环体}

    2,循环次数?最痛苦

     

    表达式1,表达式2,表达式3   表达式1一次

    For (;;){

    语法   循环体

    }

     

    输出:0~9重复代码

    初值   步长   while()循环次数

    !vi   !g

     

    编写代码:输出100以内所有的偶数

    偶数:能被2整除  num%2==0

    多种算法   初值条件判断步长

    I=0;  提示:思考循环最后一次?i<=100  多一个=号多一次

    While(i<=50)

    {

    Printf ("%d",i*2);

    I++;

    }

    循环次数  常   固

              变   变

    循环嵌套    99乘法表

    1****************

    2*

     *

     *

     *

    3正方形

    4三角形

    5平形四边形

    6菱形  空心菱形

     

    输入一个数判断是不是素数

    打印100以内所有的素数

    输入一个数,输出大于该数的5个素数

     

     

    Qt安装过程

    1解包:tar -xzvf qt-   ....tar.gz

    2进入到解压后的文件夹中  cd qt 

    3执行 ./configure

    4执行 make  时间长

    5执行make install

     

     

    分析:

    行   空格   星    1\n

    0    3      1  

    1    2      3

    2    1      5

    3    0     7

    I    3-i    2*i+1最难的

     

     

    行   空格    星   1\n

    0     1      5

    1     2      3 

    2     3      1

    I     i+1     5-2*i

    最难的    可变大可变小的菱形

    素数:只能被1和本身整理除.

    For  (f=0,i=2;i<n;i++)

    {

    If (n%i==0)

    {

    F=1;

    Break;

    }

    }

    If (f==0)

    Printf ("%d\n",n);

     

    For VS while

    For (i=0;i<10;i++)

    If (i%3==0) continue;

     

    I=0;

    While(i<10)

    {

    If (i%3==0)

    Continue;

    I++;

    }

     

    Continue:结束本次循环。(for:执行表达式3;while判断语句)

    Break:结束循环(一层)

    Goto:1。跳出多重循环

         2.错误处理

    Return 1,2,3  错误不一样

     

     

    数组     为什么定义数组?相同类型数据的集合

    1.成员的类型是相同的

    2.连续存储

    数据类型   数组名   [成员的个数]

    Typedef  int arr[100];   arr变量的名字   不对

    Typedef  int a;    aint 类型的别名

    起别名    定义变量    arr  buf;   

                          Int  buf[100];

    Int arr[100];数组类型每一个成员的类型

    []成员的个数    常量 9  'a'  const int b;常量

    Sizeof(buf)数组名   sizeof(数据类型)*成员个数      

    数组的初始化

    Int  arr[8];   随即值

    Int  arr[4] = {1,2,3,4};

               {1,2,0,0};计算机帮助我们做

               {0};全为0,某个成员赋值,字符串

    Int arr[] = {1,2,3,4};

    1.数组在初始化

    2.函数形参

     

    成员的引用:

    Arr[0]  arr[1]   arr[2]   arr[3]

     

    创建一个20个成员的数组

    Memcpy();对整个内存进行比较

     

    Arr[0]=2;

    For (i=1;i<100;i++)

    Arr[i]=arr[i-1]+2;

     

     

    数组的操作

    1.成员赋值与取值

    2.找最大值

    Sizeof(数组名) = sizeof(数据类型)*成员个数

    3数组成员交换(反序反向)

    输入一个数组,将数组首尾互换,实现数组的翻转

    4排序   5种以上排序方法

    5数组的移动向前移动向后移动

    向前:产生一个数组,删除数组中相同多余的数

    向后:向有序数组中插入一个数,使之仍然有序

    Rand()  ;即数

    Srand(getpid());  变化的值,不同的随即数   #Iinclude <unistd.h>  头文件

    Rand()%41+50;

    使用随即数产生20个数,将数组分为两部分

    奇数部分在前,偶数部分在后,分别排序

     

    Set mouse=a

     

     

    一维字符数组:字符+\0=字符串

    二维数组:CRC校验

    二维字符数组:==二级指针+malloc  argv

     

    #ifndef N

    #define N 10

    #endif

    Rand()%5 数组大小不变有效减少

    向前移动i--

    冒泡(相邻的)一个算法

    For (i=0;i<len-1;i++)

    If (arr[i]>arr[i+1])

    {

    Tmp  反向冒泡

    }   

     

    For (i=len-1;i>=1;i--)

    If (arr[i]<arr[i-1]){

    }少了很多循环

     

    编程:处理数据(全双工) 半双工(pipe  mkfifo)

    有线:socket 管道  字节流   

    无线:

     

    字符串:若干个字符   +   '\0'

    Char buf[100];

    Char buf[4] = {'a', 'b', 'c','d'};  对的

    Char buf[4] = {'a','b',0,'\0','0'};  

    Char buf[4] = {"ab"};

    Char buf[4] = "ab";

    Char buf[] = {""};可以

    字符串的输入输出

    Scanf("%s",buf);不能有空格  空格 tab分隔符

    Gets();警告

     

    Gets(buf);没有过界的检查

    Read(0,buf,sizeof(buf));             输入

    Fgets(buf,sizeof(buf),stdin);

     

    Printf("%s\n",buf);   

    Char buf[100] = "abcd\-bcd";   abc

    Buf +3 回车  没有输出

     

    Puts(buf);自动打印回车,刷新缓冲区,这个地方恰好是'\0'

    Write(1,buf,strlen(buf));   输出

    Fputs(buf, sizeof(buf),stdout);

     

    1.从键盘上输入一个字符串,找出最小的字符

    2.从键盘上输入一个字符串,计算字符串长度.strlen

    3.输入两个字符串,输出较大的字符串strcmp

    4.Strchr在字符串中找一个字符 

    5.Strcat  strcpy  strstr  长中找小的字符串

    6.编写mystrstr在一个字符串中找另一个字符串  "abcd"   "bc"

    7.输入一个字符串,删除多余的空格 "abc de  de"  "abc de de"

    8.输入一个字符串  将abcd换成bc  "abcdefgh"  "bcdefgh"

    9.输入一个数字字符串,将其转为整型数输出  "123.c"  123 

    10.从键盘上输入一个数,将其转为字符串  12312 "12312"

    提示:字符串末尾有'\0'   

     

     

  • 相关阅读:
    【LeetCode】1668.最大重复子字符串(三)
    【LeetCode】1929. 数组串联(4)——总结
    验证下MarkDown
    【LeetCode】27. 移除元素
    [Linux]cp command in Linux with examples
    【LeetCode】1929. 数组串联(2)
    【LeetCode】1668.最大重复子字符串(二)
    RAID6与RAID5区别
    【PyCharm/IntelliJ】How to solve "untrusted server's certificate"
    【JAVA】The difference between JDK and JRE
  • 原文地址:https://www.cnblogs.com/wangjingyuwhy/p/2963938.html
Copyright © 2020-2023  润新知