部分编程总结

重要的话说三遍

#include <stdio.h>
int main(void)
{
  printf("I‘m gonna WIN!\n");
  printf("I‘m gonna WIN!\n");
  printf("I‘m gonna WIN!\n");

  return 0;
}

输出倒三角图案

#include <stdio.h>
int main(void)
{
  printf("* * * *\n");
  printf(" * * *\n");
  printf("  * *\n");
  printf("   *\n");

  return 0;
}

日期格式化

#include <stdio.h>
int main(void)
{
  int month,day,year;
  scanf("%02d-%02d-%d",&month,&day,&year);
  printf("%d-%02d-%02d",year,month,day);

  return 0;
}

Say Hello to Integers

#include <stdio.h>
int main(void)
{
  int a,b;
  scanf("%d%d",&a,&b);
  printf("Hello, %d and %d!",a,b);

  return 0;
}

计算摄氏温度

#include <stdio.h>

int main(void)
{
    int C,F;
    scanf("%d",&F);
    C=5*(F-32)/9;
    printf("Celsius = %d",C);

    return 0;
}

计算符号函数的值

#include <stdio.h>
#include <math.h>
int main(void)
{
    int n;
    scanf("%d",&n);
    if(n<0)
    {
        printf("sign(%d) = -1",n);
    }
    else if( n==0 )
    {
        printf("sign(%d) = 0",n);
    }
    else
    {
        printf("sign(%d) = 1",n);
    }

    return 0;
}

计算分段函数[2]

#include <stdio.h>
#include <math.h>
int main(void)
{
    double n,m;
    scanf("%lf",&n);
    if(n>=0)
    {
        m=sqrt(n);
        printf("f(%.2f) = %.2f",n,m);
    }
    else
    {
        m=pow((n+1),2)+2*n+1/n;
        printf("f(%.2f) = %.2f",n,m);
    }

    return 0;
}

回文数

#include <stdio.h>
int main(void)
{
    int n,a,b,c,d;
    scanf("%d",&n);
    n>=10000 && n<=99999;
    a=n/10000;
    b=n/1000%10;
    c=n/10%1000%10;
    d=n%10000;
    if(a==d,b==c)
    {
    printf("yes");
    }
    else
    {
    printf("no");
    }

    return 0;
}

算术入门之加减乘除

#include <stdio.h>
int main(void)
{
    int a,b,x,y,n,m;
    scanf("%d %d",&a,&b);
    x = a+b;
    y = a-b;
    n = a*b;
    if(a%b==0)
    {
        m=a/b;
        printf("%d + %d = %d\n%d - %d = %d\n%d * %d = %d\n%d / %d = %d",a,b,x,a,b,y,a,b,n,a,b,m);
    }
    else
    {
        double m;
        m=(double)a/b;
        printf("%d + %d = %d\n%d - %d = %d\n%d * %d = %d\n%d / %d = %.2f",a,b,x,a,b,y,a,b,n,a,b,m);
    }

    return 0;

}

计算火车运行时间

#include <stdio.h>
int main(void)
{
    int a,b,c,d,e,f,g,h;
    a>=1000 && a<=9999;
    b>=1000 && b<=9999;
    scanf("%d %d",&a,&b);
    c=a/100;
    d=b/100;
    e=a%100;
    f=b%100;
    g=d-c;
    h=f-g;
    if(f<e)
    {
    h=f+60-e;g=d-1-c;
    }
    else
    {
    h=f-e;g=d-c;
    }
    printf("%02d:%02d",g,h);

    return 0;
 } 

输出三角形面积和周长

#include <stdio.h>
#include <math.h>
int main(void)
{
    int a,b,c;
    a>0,b>0,c>0;
    double area,s,perimeter;
    scanf("%d %d %d",&a,&b,&c);
    if(a+b>c && a+c>b && b+c>a || a==b==c)
    {
    s=(a+b+c)/2.00;
    area=pow(s*(s-a)*(s-b)*(s-c),0.5);
    perimeter=a+b+c;
    printf("area = %.2f; perimeter = %.2f",area,perimeter);
    }
    else
    {
    printf("These sides do not correspond to a valid triangle");
    }

    return 0;
}

三天打鱼两天晒网

#include <stdio.h>
int main(void)
{
    int N,D;
    N<1000 && N>0;
    scanf("%d",&N);
    D=N%5;
    if(D>0 && D<=3)
    {
    printf("Fishing in day %d",N);
    }
    else
    {
    printf("Drying in day %d",N);
    }

    return 0;
}

出租车计价

#include <stdio.h>
int main(void)
{
   int m;
   double k,x,y;
   scanf("%lf%d",&k,&m);
if(k<=3)
{
    x=10;
}
else if(k>3 && k<=10)
{
    x=10+2*(k-3);
}
else
{
    x=10+7*2+3*(k-10);
}
if(m>=5)
{
    y=2*(m/5);
}
else
{
    y=0;
}
printf("%.0lf",x+y);

return 0;

}

阶梯电价

#include <stdio.h>
int main(void)
{
    double x,y;
    scanf("%lf",&x);
    if(x<50 && x>0)
    {
        y=x*0.53;
        printf("cost = %.2f",y);
    }
    else if(x>=50)
    {
        y=50*0.53+(x-50)*0.58;

    printf("cost = %.2f",y);
    }
    else
    {
        printf("Invalid Value!");
    }
    return 0;
}

成绩转换

#include <stdio.h>
int main(void)
{
    int x;
    scanf("%d",&x);
    switch(x/10)
    {
    case 10:
    case 9:
        printf("A");
        break;
    case 8:
        printf("B");
        break;
    case 7:
        printf("C");
        break;
    case 6:
        printf("D");
        break;
    default:printf("E");

    }
    return 0;
}

比较大小

#include <stdio.h>
int main(void)
{
    int a,b,c,t;
    scanf("%d %d %d",&a,&b,&c);
    if(a>b)
    {
        t=a;
        a=b;
        b=t;
    }
        if(a>c)
        {
            t=a;
            a=c;
            c=t;
        }
            if(b>c)
            {
                t=b;
                b=c;
                c=t;
            }

    printf("%d->%d->%d",a,b,c);

    return 0;
 } 

计算天数

#include <stdio.h>
int main(void)
{
    int year,month,day;
    scanf("%d/%d/%d",&year,&month,&day);
        switch(month-1)
        {
            case 11:
                day=day+30;
            case 10:
                day=day+31;
            case 9:
                day=day+30;
            case 8:
                day=day+31;
            case 7:
                day=day+31;
            case 6:
                day=day+30;
            case 5:
                day=day+31;
            case 4:
                day=day+30;
            case 3:
                day=day+31;
            case 2:
            if((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0))
            {
                day=day+29;
            }
            else
            {
                day=day+28;
            }
            case 1:
                day=day+31;
                break;
        }
            printf("%d",day);
        return 0;
}

高速公路超速处罚

#include <stdio.h>
int main(void)
{
    int x,y;
    double m;
    scanf("%d %d",&x,&y);
    m=(double)(x-y)*100/(double)y;
    if(x<y || m<10)
    {
        printf("OK");
    }
    else if(m<50)
    {
        printf("Exceed %.0f%%. Ticket 200",m);
    }
    else
    {
        printf("Exceed %.0f%%. License Revoked",m);
    }
    return 0;
}

三角形判断

#include <stdio.h>
#include <math.h>
int main(void)
{
    double x1,y1,x2,y2,x3,y3;
    double A,L,S,m,n,l;
    scanf("%lf %lf %lf %lf %lf %lf",&x1,&y1,&x2,&y2,&x3,&y3);
    m=pow(((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)),0.5);
    n=pow(((x3-x1)*(x3-x1)+(y3-y1)*(y3-y1)),0.5);
    l=pow(((x3-x2)*(x3-x2)+(y3-y2)*(y3-y2)),0.5);
    if((m+n>l)&& (m+l>n)&& (n+l>m))
    {
        double L=m+n+l;
        double S=L/2;
        double A=pow((S*(S-m)*(S-n)*(S-l)),0.5);
        printf("L = %.2f, A = %.2f",L,A);
    }
    else
    {
        printf("Impossible");
    }
    return 0;
 } 

计算油费

#include <stdio.h>
int main(void)
{
    int a,b;
    char c;
    double x,y,h;
    scanf("%d %d %c",&a,&b,&c);
    switch(b)
    {
        case 90:
        x=6.95;
        break;
        case 93:
        x=7.44;
        break;
        case 97:
        x=7.93;
        break;
    }
    switch(c)
    {
        case ‘m‘:
        y=0.95;
        break;
        case ‘e‘:
        y=0.97;
        break;
    }
    h=x*y*a;
    printf("%.2f",h);

    return 0;

}

两个数的简单计算器

#include <stdio.h>
#include <stdlib.h>
int main(void)
{
    int a,b,c;
    char op;
    b!=0;
    scanf("%d %c %d",&a,&op,&b);
    switch(op)
    {
        case ‘+‘:
            c = a + b;
            break;
        case ‘-‘:
            c = a - b;
            break;
        case ‘*‘:
            c = a * b;
            break;
        case ‘/‘:
            c = a / b;
            break;
        case ‘%‘:
            c = a % b;
            break;
        default:
        printf("ERROR");
        exit(0);
    }
    printf("%d",c);

    return 0;
}

12-24小时制

#include <stdio.h>
int main(void)
{
    int a,b;
    scanf("%d : %d",&a,&b);
    if(a==0)
    {
        printf("%d:%d AM\n",a,b);
    }
    else if(a==12)
    {
        printf("%d:%d PM\n",a,b);
    }
    else if(a<12)
    {
        printf("%d:%d AM\n",a,b);
    }else if(a>12)
    {
        printf("%d:%d PM\n",a%12,b);
    }

    return 0;

}

求一元二次方程的根

  #include<stdio.h>
  #include<stdlib.h>
  #include<math.h>
  int main()
  {
    double a, b, c;
    scanf("%lf%lf%lf", &a, &b, &c);
    double d, del, ans1, ans2;
      d = b * b - 4.0 * a * c;
    if(a == b && a == c && a == 0)
         printf("Zero Equation\n");
    else if(a == b && a == 0 && c != 0)
         printf("Not An Equation\n");
    else if(d == 0)
     {
         ans1 = (-b) / (2.0*a);
         printf("%.2f\n", ans1);
     }
    else if(a == 0)
             printf("%.2f\n", (-c) / b);
    else if(d > 0)
     {
         del = sqrt(d);
         ans1 = (-b+del) / (2.0*a);
         ans2 = (-b-del) / (2.0*a);
         printf("%.2f\n%.2f\n", ans1, ans2);
     }
    else if(d < 0)
     {
         del = sqrt(-d);
         if(b != 0)
             ans1 = (-b) / (2.0*a);
         else
             ans1 = 0;
         ans2 = del / (2.0*a);
         printf("%.2f+%.2fi\n%.2f-%.2fi\n", ans1, ans2, ans1, ans2);
     }
   return 0;
 }

求整数均值

#include <stdio.h>
int main(void)
{
    int a,b,c,d;
    double Sum,Average;
    scanf("%d %d %d %d",&a,&b,&c,&d);
    Sum=a+b+c+d;
    Average=Sum/4;
    printf("Sum = %.0f; Average = %.1f",Sum,Average);

    return 0;
}

厘米换算英尺英寸

#include <stdio.h>

int main(void)
{
    int m,foot,inch;
    scanf("%d",&m);
    foot=m/30.48;
    inch=(m/30.48-foot)*12;
    printf("%d %d",foot,inch);

    return 0;
}

是不是太胖了

#include <stdio.h>
int main(void)
{
    int H;
    double M;
    scanf("%d",&H);
    M=(H-100)*0.9*2;
    printf("%.1f",M);

    return 0;
}

A乘以B

#include <stdio.h>
int main(void)
{
    int A,B,M;
    scanf("%d %d",&A,&B);
    M=A*B;
    printf("%d",M);

    return 0;
}

计算物体自由下落的距离

#include <stdio.h>
int main(void)
{
  double height;
  height=0.5*10*3*3;
  printf("height = %.2f",height); 

  return 0;
}

将x的平方赋值给y

#include <stdio.h>
int main(void)
{
  int x,y;
  x=3;
  y=x*x;
  printf("%d = %d * %d\n%d * %d = %d",y,x,x,x,x,y);  

    return 0;
}

整数四则运算

#include <stdio.h>
int main(void)
{
  int A,B;
  scanf("%d %d",&A,&B);
  printf("%d + %d = %d\n%d - %d = %d\n%d * %d = %d\n%d / %d = %d",A,B,A+B,A,B,A-B,A,B,A*B,A,B,A/B);

    return 0;
}

整数152的各位数字

#include <stdio.h>
int main(void)
{
    int a=152,b,c,d;
    scanf("%d",&a);
    b=a%10;
    c=a/10%10;
    d=a/100;
    printf("152 = %d + %d*10 + %d*100",b,c,d);

    return 0;
}

逆序的三位数

#include <stdio.h>
int main(void)
{
  int n,a,b,c,d;
  n<=999 && n>=100;
  scanf("%d",&n);
  a=n%10;
  b=n/10%10;
  c=n/100;
  d=a*100+b*10+c;
  printf("%1d",d);

    return 0;
}

求奇数分之一序列前N项和

#include <stdio.h>

int main()
{
    int denominator, i, N;
    double item, sum;
    while (scanf("%d", &N) != EOF)
    {
        denominator = 1;
        sum = 0;
        for (i = 1; i <= N; i++)
        {
            item = 1.0/denominator;
            sum = sum+item;
            denominator = denominator+2;
        }
        printf("sum = %f\n", sum);
    }
    return 0;
}

统计学生平均成绩与及格人数

#include<stdio.h>
int main()
{
  int n,i,a,count=0;
  float sum=0,average;
  scanf("%d",&n);
  if(n<0)
  return 0;
  else if(n==0)
  {
   printf("average = %.1f\n",0.0);
   printf("count = %d\n",0);
   return 0;
  }
 for(i=0;i<n;i++)
 {
  scanf("%d",&a);
  if(a<0)
  return 0;
  else if(a>=0)
  sum += a;
  if(a>=60)
  count++;
 }
  average = sum/n;
  printf("average = %.1f\n",average);
  printf("count = %d\n",count);

 return 0;
}

奇偶分家

#include <stdio.h>
int main(void)
{
int N,i,n,a = 0,b = 0;
scanf("%d",&n);
for(i = 0;i < n;i++)
{
   scanf("%d",&N);
   if(N % 2 == 0)
 {
    a++;
 }
   else
 {
    b++;
 }

}
  printf("%d %d",b,a);
  return 0;
}

到底是不是太胖了

#include<stdio.h>
#include<math.h>
int n,a,b,c;
int main(void)
{
    scanf("%d",&n);
while(n--)
{
  scanf("%d%d",&a,&b);
  c=(a-100)*0.9*2;
  if(abs(b-c)<(c*0.1))
  {
    printf("You are wan mei!\n");
  }
  if((abs(b-c)>=(c*0.1)) && b<c)
  {
    printf("You are tai shou le!\n");
  }
  if((abs(b-c)>=(c*0.1))&&b>c)
  {
    printf("You are tai pang le!\n");
  }
}
return 0;
}

统计字符

#include<stdio.h>
int main()
{
  char str[10];
    int i=0,letter=0,blank=0,digit=0,other=0;
    while(i<10)
    {
      str[i++]=getchar();
    }
    for(i=0;i<10;i++)
    {
        if(str[i]==‘ ‘)
        {
          blank++;
        }
        else if(str[i]==‘\n‘)
        {
          blank++;
        }
        else if(str[i]>=‘0‘&&str[i]<=‘9‘)
        {
          digit++;
        }
        else if(str[i]>=‘A‘&&str[i]<=‘Z‘)
        {
          letter++;
        }
        else if(str[i]>=‘a‘&&str[i]<=‘z‘)
        {
          letter++;
        }
        else
        {
          other++;
        }
    }
  printf("letter = %d, blank = %d, digit = %d, other = %d",letter,blank,digit,other);
  return 0;

统计学生成绩

#include <stdio.h>
int main(void)
{
    int n,a,i,A=0,B=0,C=0,D=0,E=0;
    while(scanf("%d",&n)!=EOF)
    {
        for(i=0;i<n;i++)
      {
        scanf("%d",&a);
        if(a>=90)
        {
            A++;
        }
        else if(a>=80)
        {
            B++;
        }
        else if(a>=70)
        {
            C++;
        }
        else if(a>=60)
        {
            D++;
        }
        else
        {
            E++;
        }

      }

     printf("%d %d %d %d %d",A,B,C,D,E);

    }
     return 0;
}

求交错序列前N项和

#include <stdio.h>
int main(void)
{
    int n;
    while(scanf("%d",&n)!=EOF)
   {
        int i;
        double j,k;  /*j分母,i分子*/
        double sum=1; /*sum表示总和*/
        j=1;
    for(i=2;i<=n;i++)
    {
    if(i%2==0)
    {
        j+=2;
        k=-i/j;
    }
    else
    {
        j+=2;
        k=i/j;
    }
    sum+=k;
    }
    printf("%.3f\n",sum);
   }
   return 0;
}

找出最小值

#include<stdio.h>
int main(void)
{
int n,i,l,min;
scanf("%d",&n);
scanf("%d",&l);
min=l;
for(i=1;i<n;i++)
{
scanf("%d",&l);
if(min>l)
min=l;
}
printf("min = %d",min);
return 0;
}

求给定精度的简单交错序列部分和

#include <stdio.h>
#include <math.h>
int main(void)
{
    int dom,flog;
    double eps,sum,t;
    flog=1;
    dom=1;
    sum=0;
    scanf("%lf",&eps);
    do
    {
        t=flog*1.0/(3*dom-2);
        sum+=t;
        flog=-flog;
        dom++;
    }
    while(fabs(t)>eps);
    printf("sum = %.6lf",sum);

    return 0;
 } 

猜数字游戏

#include<stdio.h>
int main()
 {
   int key, n;
   scanf("%d %d",&key,&n);
   int i;
   int m;
   int flag = 0;
   for (i = 1;i <= n;i ++)
     {
       scanf("%d",&m);
       if (m < 0)
       break;
       if (m > key)
         printf("Too big\n");
        if (m < key)
          printf("Too small\n");
        if (m == key)
           {
              if (i == 1)
               {
                  flag = 1;
                  printf("Bingo!\n");
                  break;
               }
              if (i == 2 || i == 3)
                {
                  flag = 1;
                  printf("Lucky You!\n");
                  break;
                }
              if (i > 3)
                {
                  flag = 1;
                  printf("Good Guess!\n");
                  break;
                }
           }
        }
        if (flag == 0)
        printf("Game Over\n");
     return 0;
 }

求奇数和

#include <stdio.h>
int main()
{
    int n = 0, sum = 0;
    do
    {
        scanf("%d", &n);
        if (n % 2 == 1)
        sum += n;
    } while (n > 0);

    printf("%d\n", sum);
    return 0;
}

韩信点兵

#include <stdio.h>
int main(void)
{
    int i;
    for(i = 1;;i++)
    {
        if(i%5==1 && i%6==5 && i%7==4 && i%11==10)
        {
            break;
        }

    }
    printf("%d",i);
    return 0;
}

爬动的蠕虫

#include <stdio.h>
int main(void)
{
    int N,U,D,head=1,time=0;
    scanf("%d %d %d",&N,&U,&D);
    while(1)
    {
        head+=U;
        time++;
        if(head>N)break;
            head-=D;
            time++;
    }
    printf("%d",time);
    return 0;
}

掉入陷阱的数字

#include <stdio.h>

int cal(int n)
{
    int sum = 0;
    while (n > 0)
    {
        sum += n % 10;
        n /= 10;
    }
    return sum*3+1;
}

int main()
{
    int n,res,i=0;
    scanf("%d", &n);
    for (;;)
    {
        res = cal(n);
        printf("%d:%d\n", ++i, res);
        if (n == res) break;
        n = res;
    }
    return 0;
}

寻找250

#include <stdio.h>
int main(void)
{
    int a,k=0,i=0,f[100000];
    while(scanf("%d",&a)!=EOF)
    {
      f[k++]=a;
    }
        for(i=0;i<k;i++)
        {
            if(f[i]==250)
            {
                printf("%d",i+1);
                break;
            }
        }
        return 0;
}

换硬币

#include <stdio.h>
int main(void)
{
    int n;//用于用户输入的分钱数
    int x,y,z;//x是1分,y是2分,z是5分(硬币个数)
    int count=0;//用于保存有多少种方法
    int total;//多少硬币
    scanf("%d",&n);
    for(z=n/5;z>0;z--)
        for(y=n/2;y>0;y--)
            for(x=n/1;x>0;x--)
            {
                if(x+2*y+5*z==n)
                {
                    total=x+y+z;
                    count++;
                    printf("fen5:%d, fen2:%d, fen1:%d, total:%d\n",z,y,x,total);

                }
            }
            printf("count = %d\n",count);
            return 0;
}

输出三角形字符阵列

#include <stdio.h>
int main(void)
{
  int i,j,n;
  char c=‘A‘;
  scanf("%d",&n);
  for(i=1;i<=n;i++)
  {
    for(j=n;j>=i;j--)
    printf("%c ",c++);
    printf("\n");
  }
  return 0;
}

找完数

#include<stdio.h>
int main()
{
  int m,n,j,i,sum=0,k,flag=0;
  scanf("%d %d",&m,&n);
  for(m;m<=n;m++)
  {
     sum = 0;
  for(j=1;j<m;j++)
  {
    if(m%j==0)
    {
      sum = sum + j;
    }
  }
  if(sum==m)
  {
    flag = 1;
    printf("%d = 1",m);
    for(k = 2;k < m;k++)
    {
      if(m % k == 0)
      {
        printf(" + %d",k);
      }
    }
    printf("\n");
  }
 }
 if(flag == 0)
 {
   printf("None");
 }
  return 0;
} 

打印九九口诀表

#include <stdio.h>
int main(void)
{
  int n,i,j;
  scanf("%d",&n);
  for(i=1;i<=n;i++)
  {
    for(j=1;j<=i;j++)
    printf("%d*%d=%-4d",j,i,j*i);
    printf("\n");
  }
  return 0;
}

小于m的最大的10个素数

#include<stdio.h>
int main()
{
  int m,h, i, x = 0;
  scanf("%d",&h);
  for (i = h-1; i > 1; i--)
  {
   for (m = (i - 1); m > 0; m--)
   {
    if(i % m == 0) break;
   }
    if(m == 1)
   {
     x++;
     printf("%6d", i);
   }
   if(x == 10) break;
    }
  return 0;
}

计算阶乘和

#include <stdio.h>
int main(void)
{
  int n,j,i,item,sum=0;
  scanf("%d",&n);
  for(i=1;i<=n;i++)
  {
    item=1;
    for(j=1;j<=i;j++)
    item=item*j;
    sum+=item;
  }
  printf("%d",sum);
  return 0;
}

特殊a串数列求和

#include <stdio.h>
int main(void)
{
  int i,a,c=0,n,s=0;
  scanf("%d %d",&a,&n);
  for(i=1;i<=n;i++)
  {
    c=c*10+a;
    s+=c;
  }
  printf("s = %d",s);
  return 0;
}

最大公约数和最小公倍数

#include <stdio.h>
int main(void)
{
  int a,b,i,j,min,max,t,gcd;
  scanf("%d %d",&a,&b);
  if(a>b)
  {
    min=b;
  }
  else
  {
    min=a;
  }
  for(i=1;i<=min;i++)
  {
    if(a%i==0 && b%i==0)
    {
      gcd=i;
    }
  }
  if(a>b)
  {
    max=a;
  }
  else
  {
    max=b;
  }
  i=a;
  j=b;
  while(a%b!=0)
  {
    t=a%b;
    a=b;
    b=t;
  }
  a=i*j/b;
  printf("%d %d",gcd,a);
  return 0;
}

兔子繁衍问题

#include <stdio.h>
int main(void)
{
    int n,month=1,sum=1,now=0,pro=0;/*now为现在的;pro为未来的*/
    scanf("%d",&n);
    if(n==sum)
    {
        printf("%d\n",month);
    }
    else
    {
        month++;
        now=pro+sum;
        while(now<n)
        {
            month++;
            pro=sum;
            sum=now;
            now=pro+sum;
        }
            printf("%d\n",month);
    }
    return 0;

 } 

求整数的位数及各位数字之和

#include<stdio.h>
int main(void)
 {
    int n, s = 0, i = 0, a = 0;
    scanf("%d", &n);
    while (n != 0)
    {
        s += (n % 10);
        n /= 10;
        i += 1;
    }
    printf("%d %d\n", i,s);
    return 0;
}

未 完 ...



^ - ^ !

时间: 2024-10-08 11:48:18

部分编程总结的相关文章

异常笔记--java编程思想

开一个新的系列,主要记一些琐碎的重要的知识点,把书读薄才是目的...特点: 代码少,概念多... 1. 基本概念 异常是在当前环境下无法获得必要的信息来解决这个问题,所以就需要从当前环境跳出,就是抛出异常.抛出异常后发生的几件事: 1.在堆上创建异常对象. 2.当前的执行路径中止                                          3. 当前环境抛出异常对象的引用.                                         4. 异常处理机制接

iOS开发——网络编程OC篇&amp;Socket编程

Socket编程 一.网络各个协议:TCP/IP.SOCKET.HTTP等 网络七层由下往上分别为物理层.数据链路层.网络层.传输层.会话层.表示层和应用层. 其中物理层.数据链路层和网络层通常被称作媒体层,是网络工程师所研究的对象: 传输层.会话层.表示层和应用层则被称作主机层,是用户所面向和关心的内容. http协议   对应于应用层 tcp协议    对应于传输层 ip协议     对应于网络层 三者本质上没有可比性.  何况HTTP协议是基于TCP连接的. TCP/IP是传输层协议,主要

C#网络编程技术FastSocket实战项目演练

一.FastSocket课程介绍 .NET框架虽然微软提供了socket通信的类库,但是还有很多事情要自己处理,比如TCP协议需要处理分包.组包.粘包.维护连接列表等,UDP协议需要处理丢包.乱序,而且对于多连接并发,还要自己处理多线程等等.本期分享课程阿笨给大家带来的是来源于github开源Socket通信中间件:FastSocket,目的就是把大家从繁琐的网络编程技术中彻底地解放和释放出来. 阿笨只想安安静静的学习下网络编程技术Socket后,将学习的成果直接灵活的运用到自己的实际项目中去.

轻松学习C语言编程的秘诀:总结+灵感

目前在准备一套C语言的学习教程,所以我这里就以C语言编程的学习来讲.注意,讲的是"轻松学习",那种不注重方法,拼命玩命的方式也有其效果,但不是我提倡的.我讲究的是在方式方法对头.适合你.减轻你学习负担和心里压力的前提下,才适当的抓紧时间. 因此,探索一种很好的学习方法就是我所研究的主要内容. 众所周知,学习C语言并非易事,要学好它更是难上加难.这和你期末考试背会几个题目的答案考上满分没多大关系,也就是说你考试满分也说明不了你学好.学精通了C语言.那么怎么才算学精通C语言?闭着眼睛对自己

《Java编程思想》第十三章 字符串

<Java编程思想>读书笔记 1.String作为方法的参数时,会复制一份引用,而该引用所指的对象其实一直待在单一的物理位置,从未动过. 2.显式地创建StringBuilder允许预先为他指定大小.如果知道字符串多长,可以预先指定StringBuilder的大小避免多次重新分配的冲突. 1 /** 2 * @author zlz099: 3 * @version 创建时间:2017年9月1日 下午4:03:59 4 */ 5 public class UsingStringBuilder {

Linux Socket编程-(转自吴秦(Tyler))

"一切皆Socket!" 话虽些许夸张,但是事实也是,现在的网络编程几乎都是用的socket. --有感于实际编程和开源项目研究. 我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web服务器通信的?当你用QQ聊天时,QQ进程怎么与服务器或你好友所在的QQ进程通信?这些都得靠socket?那什么是socket?socket的类型有哪些?还有socket的基本函数,这些都是本文想介绍的.本文的主要内容如下: 1.网络中进程之间如何通信?

团队编程项目作业

团队名称: 简单 队长 学号:2015035107224 姓名:张志鹏 成员 学号:2015035107071 姓名:邱阳阳 学号:2015035107044 姓名:刘孝东 学号:2015035107007 姓名:孙弘原 学号:2015035107005 姓名:刘文帅 学号:2015035107009 姓名:杨琳 团队编程项目作业名称:爬取豆瓣电影TOP250 选择该团队编程项目原因:感觉项目有意思

团队项目编程作业

团队名称: 简单 队长 学号:2015035107224 姓名:张志鹏 成员 学号:2015035107071 姓名:邱阳阳 学号:2015035107044 姓名:刘孝东 学号:2015035107007 姓名:孙弘原 学号:2015035107005 姓名:刘文帅 学号:2015035107009 姓名:杨琳 团队编程项目作业名称:爬取豆瓣电影TOP250 选择该团队编程项目原因:我爱学习

python基础--接口与归一化设计、封装、异常、网络编程

1 接口与归一化设计 1.1 归一化概念: 归一化的好处: 1.归一化让使用者无需关心对象的类是什么,只需要知道这些对象都具备某些功能就可以了,这极大降低了使用者的使用难度. 2.归一化使得高层的外部使用者可以不加区分的处理所有接口兼容的对象集合 继承的两种用途 一:继承基类的方法,并且做出自己改变或者扩展(代码重用):实践中,继承的这种用途意义并不很大,甚至常常是有害的.因为它使得子类与基类出现强耦合. 二:声明某个子类兼容于某基类,定义一个接口类(模仿java的Interface),接口类中

Python Socket 编程——聊天室演示样例程序

上一篇 我们学习了简单的 Python TCP Socket 编程,通过分别写服务端和client的代码了解主要的 Python Socket 编程模型.本文再通过一个样例来加强一下对 Socket 编程的理解. 聊天室程序需求 我们要实现的是简单的聊天室的样例,就是同意多个人同一时候一起聊天.每一个人发送的消息全部人都能接收到,类似于 QQ 群的功能,而不是点对点的 QQ 好友之间的聊天.例如以下图: 图来自:http://www.ibm.com/developerworks/linux/tu