C笔记总结

C笔记总结

                         第一章   C语言基础

#include”stdio.h”

void main(){

Printf(“Hello C!”);

}

1.控制台(后台)

2.图形化(前台)

#include "stdio.h"  导入的意思,导入库函数

stdio.h           系统库input/output

Stdio.h           stdlib.h          String.h

函数,主函数

void             无返回值

main            固定的名称

{}                代码块       

()                参数

printf            函数—> stdio.h

printf            向屏幕打印双引号的内容

void main(){

   代码

   printf("Hello C !");

}

 

C语言语法规则

1.大小写区分

2.每句代码后应该有分号结束

3.所有的标点符号都是半角符号

4.符可以是下划线或者是字母开头,可以用数字结尾

 

转义符

\"       \'      \n(换行)   \r      \a     \t(制表)  \\

 

注释

1.单行注释      //

2.多行注释      /**/

 

2014-02-17周一:c

1.c

#include "stdio.h"
#include "stdlib.h"
void main(){
    printf("Hello c!\n");
    printf("A\tB\tC\t\n");
    printf("D\tEE\tFF\n");

}

2.c

#include"stdlib.h"
void main(){
    system("ipconfig");
    system("del d:\\a.txt");
    system("\"C:\\Program Files\\Internet Explorer\\IEXPLORE.EXE\"
http://www.xasxt.com");
    system("notepad d:\\a.txt");
}

3.c

#include"stdio.h"
void main(){
    int age = 18;
    float x = 10.9; //float型小数点后有效数位最多6位
    double Y = 100.99999988;//double型小数点后有效数位最多12位
    double y = 100.99999931;
    double z = 100.33333388;
    printf("---%d---\n",age);
    printf("%f\n",x);
    printf("%f\n", Y);
    printf("%f\n", y);
    printf("%f\n", z);
    printf("%.8lf\n", Y);  // 100.99999988
}

4.c

#include"stdio.h"
void main(){
    int a,b;
    scanf("%d%d",&a,&b);
    printf("%d,%d\n",a,b);
    printf("%d+%d=%d\n",a,b,a+b);
}

-------------------------------------------------------------------------------------------------------

                         第二章  数据类型

1.常量和变量

变量:在程序运行过程中其值可以改变的量称之为变量,在一片代码"{}"块内部。不允许有重复的标示符名称。

数据类型  变量名称[=];

       int a=33;

       int a;   a=33;

       int a,b,c,d,e,f;

       int a,b=35,c;

常量:在程序运行过程中其值不可改变的量称之为常量

      const int a=100;

 

2.数据类型:

数值型:short  int  long  float  double

字符型:cha

数值

    1.整数  short(2个字节 16位)   int(4个字节 32位)   long(8个字节 64位)

    2.小数  float(4个字节 32位)小数点后有效数位6位   

           double(8个字节 64位)小数点后有效数位12

 

非数值

       char(1个字节 8位)

 

3.scanf&printf

 

    %d  short  int 

    %ld  long

 

    类型转换

      1.自动转换  小到大   

           short -> int -> long    

           int -> float -> double

 

      2.强制转换  大到下 

         float f=(float)15.555555555;

 

scanf(); 输入函数  专门从控制台索取数据到变量

 

       控制台暂停,出现下划线等待你输入

 

此符号叫取地址符!

scanf("%c%d%c",&ch,&age,&ch1);

scanf("%d%d",&age,&age);

 

int a,b;

scanf("%d+%d",&a,&b);

printf("%d+%d=%d",a,b,a+b);

getchar();输入一个字符

 

2014-02-18周二:C

1.c

#include"stdio.h"
void main(){
    int i = 100;
    int a=100,b=5;
    int c=a%b;
    printf("%d\n",i++);
    printf("%d\n",i);
    printf("%d\n",--i);
    printf("%d\n",i);
    printf("%d\n",c);
    printf("%d\n",10*(10-5)+(56-97));
}

2.c

#include "stdio.h"
void main(){
    int a,b,c;
    char c1,c2,c3;
    scanf("%d%d%d",&a,&b,&c);
    printf("%d+%d+%d=%d\n",a,b,c,a+b+c);
    //scanf("%c",&c1);
    getchar(); //回车的ascii码为10
    scanf("%c%c%c",&c1,&c2,&c3);
    printf("%d+%d+%d=%d",c1,c2,c3,c1+c2+c3);


}

3.c

#include"stdio.h"
void main(){
    int a,b;
    printf("请输入a的值: ");
    scanf("%d",&a);
    printf("请输入b的值: ");
    scanf("%d",&b);
    printf("判断a是否大于b:%d\n",a>b);
    printf("判断a是否小于b:%d\n",a<b);
    printf("判断a是否大于等于b:%d\n",a>=b);
    printf("判断a是否小于等于b:%d\n",a<=b);
    printf("判断a是否等于b:%d\n",a==b);
    printf("判断a是否不等于b:%d",a!=b);
}

4.c

#include"stdio.h"
void main(){
    int year;
    printf("请输入一个年份:");
    scanf("%d",&year);
    printf("%d",(year % 4 == 0 )&&(year % 100 != 0)||(year % 400 == 0));
}

5.c

#include"stdio.h"
/*三元运算符*/
void main(){
    int a,b,c;
    a = 1000;
    b = 0;
    c = 0;
    b = (a > 900 ? 50 : 40);
    c = (a > 900 ? (100 == 100 ? (100 == 100 ? 50 : 40) : 40 ): 40);
    printf("%d\n",b);
    printf("%d\n",c);
}

6.c

#include"stdio.h"
void main(){
      char c;
      int a,b;
      printf("请输入a,c,b的值");
      scanf("%d%c%d",&a,&c,&b);
      if(c == '+'){
        printf("%d%c%d=%d\n",a,c,b,a+b);

      }else{ if(c == '-'){
        printf("%d%c%d=%d\n",a,c,b,a-b);

      }else{ if(c == '*'){
        printf("%d%c%d=%d\n",a,c,b,a*b);

      }else{ if(c == '/'){
        printf("%d%c%d=%d\n",a,c,b,a/b);

      }else{if(c == '%'){
        printf("%d%c%d=%d\n",a,c,b,a%b);

      }else{
        printf("操作不合法\n");

      }

      }

      }

      }

      }
}

7.c

#include"stdio.h"
void main(){
      char c;
      int a,b;
      int value=0;
      printf("请输入a,c,b的值");
      scanf("%d%c%d",&a,&c,&b);
      if(c == '+' ){
        value = a + b;
       
      }else if(c == '-'){
        value = a - b;
       
      }else if(c == '*'){
        value = a * b;
       
      }else if(c == '/'){
        value = a / b;
       
      }else if(c == '%'){
        value = a % b;
       
      }else{
        value = 0;
      }
      printf("%d%c%d=%d\n",a,c,b,value);

}

-------------------------------------------------------------------------------------------------------------------

                  第三章 控制流程语句

 

1.算术运算符  +  -  *  /   %

#include "stdio.h"

void main(){

 int a=100,b=5;

 int c=a%b;

 printf("%d",c);

 printf("%d",10*(10-5)+(56-97));

}

 

 = 赋值运算符

 B=A;  A的值赋值一份覆盖B的值

 

自增  自减

 ++    --

int  a = 100;

a++; (a=a+1;)                 a--; (a=a-1;)

符号在前怎么说  (先运算后赋值)

符号在后怎么说  (先赋值后运算)

++a;        --a;

 

复合运算符(简写)  +=    -=     *=    /=    %=

    int a=100;

    a+=10;   ( a=a+10;)

   

算术运算符运算出来的是数值!

2.关系运算符  (六个关系运算符)

  第一类:  >   <  = =  !=

第二类:  >=  <=  

关系运算符运算出的是逻辑值!(真假  1  0  true  false)

#include”stdio.h”

void main(){

 int a=100,b=50; 

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

}

#include”stdio.h”

void main(){

int a,b;

printf("请输入A的值:");

scanf("%d",&a);

printf("请输入B的值:");

scanf("%d",&b);

printf("判断是否等于(a==b):%d\n",a==b);

printf("判断是否大于(a>b):%d\n",a>b);

printf("判断是否小于(a<b):%d\n",a<b);

printf("判断是否大于等于(a>=b):%d\n",a>=b);

printf("判断是否小于等于(a<=b):%d\n",a<=b);

printf("判断是否不等于(a!=b):%d\n",a!=b); 

}

 

3.逻辑运算符

 &&         ||          !

 与         或         非

 与-并且     或-或者    非-取反 

逻辑运算符运算出来的还是逻辑值

第一类:      &&    || 

第二类:      !

&&  必须两边都为真 运算出来的就是真 

      ||  只要一方是真 算出的就是真

      !

 

(运行)    &&    运行

(运行)    &&    不运行

(运行)    ||       不运行

(运行)    ||       运行

 

#include”stdio.h”

void main(){

int a,b,c;

a=0;b=0;c=1;

printf("%d,%d,%d\n",a&&b,a||c,b&&c);

printf("%d,%d,%d\n",!a,b||c,!a&&b||c);

}

优先级      !非   →   &&与   →   ||

     

闰年的计算:

#include”stdio.h”

void main(){

int year=2016;

printf("%d",(year%4==0)&&(year%100!=0)||(year%400==0));

}

4.流程控制语句

1.三元运算符

   ______ ? ____ : _____

   表达式   值     值

   可以互相的嵌套

 

2.if  else 

               if()[{

 

           }][else[{

 

           }]]

 

 

           if(____表达式____){

 

           }else{

                

           }

           不带大括号,只包括第一句代码

 

3.switch

Switch(){//:  int   char

case 值:代码;break

default :代码;break

}

5.循环语句

1.While

While(表达式){//表达式值为真时,一直回头循环

     代码

}

2.do   while

do{   

代码

  }

while();

            只运行一次     每次都运行         每次都运行

3.For(__赋值__;______表达式_____;__改变条件__{

代码

     }

 

2014-02-19周三:C

1.c

#include"stdio.h"
void main(){
    int year;
    printf("请输入你要查询的年份:");
    scanf("%d",&year);
    if(year % 4 == 0 && year % 100 != 0 || year % 400 == 0){
        printf("%d是个闰年!",year);

    }else{
         printf("%d是个平年!",year);
    }

}

2.c

#include"stdio.h"
#include "stdlib.h"
void main(){
    while(1 == 1){
    char input;

   int zongfen=0;//总分

   int xueli=0;//学历

   int yuyan=0; //语言能力

   int gongzuo=0;//工作

   int nianling=0;//年龄

   int gongzuoyaoqing=0;//工作邀请

   int zhixiqinshu=0; //直系亲属
   printf("---------------------------------\n");
   printf("\n");
   printf(" 欢迎使用加拿大技术移民评分系统\n");
   printf("\n");
   printf("              作者:东方不败\n");
   printf("\n");
   printf("---------------------------------\n");
   printf("\n");
   printf("现在开始测试!(请写大写)\n");
   printf("\n");


   printf("学历?\n");
   printf("(A).大专  (B).本科  (C),研究生以上\n");
   printf("请选择:");
   scanf("%c",&input);
   if(input=='A'){
      xueli=22;
   }else if(input=='B'){
      xueli=20;
   }else if(input=='C'){
      xueli=25;
   }
   printf("\n");
   getchar(); //吸收上面输入后的一个回车符 (因为下一个输入是%c格式,回车符是一个字符,ascii码为10,%c格式吸收字符)

 

   printf("英文语言能力?\n");
   printf("(A).精通  (B).中等熟练  (C),基本熟练 (D),不会\n");
   printf("请选择:");
   scanf("%c",&input);
   if(input=='A'){
      yuyan=16;
   }else if(input=='B'){
      yuyan=8;
   }else if(input=='C'){
      yuyan=4;
   }else if(input=='D'){
      yuyan=0;
   }
   printf("\n");
   getchar(); //吸收上面输入后的一个回车符 (因为下一个输入是%c格式,回车符是一个字符,ascii码为10,%c格式吸收字符)
  
  
   printf("法语语言能力?\n");
   printf("(A).精通  (B).中等熟练  (C),基本熟练 (D),不会\n");
   printf("请选择:");
   scanf("%c",&input);
   if(input=='A'){
      yuyan+=8;
   }else if(input=='B'){
      yuyan+=8;
   }else if(input=='C'){
      yuyan+=4;
   }else if(input=='D'){
      yuyan+=0;
   }
   printf("\n");
   getchar(); //吸收上面输入后的一个回车符,可不要 (因为下一个输入是%d格式,回车符是一个字符,ascii码为10,%d格式不吸收字符)
  
  
   printf("年龄?\n");
   printf("请输入:");
   scanf("%d",&nianling);
   if(nianling>=21 && nianling<=49){
      nianling=10;
   }else if(nianling>49){
       nianling=(nianling-49)*2;
      if(nianling>=10){
        nianling=0;
      }else{
      nianling=(10-nianling);
      }
   }else if(nianling<21){
       nianling=(21-nianling)*2;
      if(nianling>=10){
        nianling=0;
      }else{
      nianling=(10-nianling);
      }
   }
   printf("\n");
   getchar(); //吸收上面输入后的一个回车符,可不要 (因为下一个输入是%d格式,回车符是一个字符,ascii码为10,%d格式不吸收字符)
  

   printf("工作年限?\n");
   printf("请输入(1-4年):");
   scanf("%d",&gongzuo);
   if(gongzuo==1){
      gongzuo=15;
   }else if(gongzuo==2){
      gongzuo=17;
   }else if(gongzuo==3){
      gongzuo=19;
   }else if(gongzuo>=4){
      gongzuo=21;
   }else{
      gongzuo=0;
   }
   printf("\n");
   getchar();//吸收上面输入后的一个回车符 (因为下一个输入是%c格式,回车符是一个字符,ascii码为10,%c格式吸收字符)
  
  
   printf("是否有加拿大企业的工作邀请?\n");
   printf("(A).有  (B).无\n");
   printf("请选择:");
   scanf("%c",&input);
   if(input=='A'){
      gongzuoyaoqing=10;
   }else if(input=='B'){
      gongzuoyaoqing=0;
   }
   printf("\n");
   getchar(); //吸收上面输入后的一个回车符 (因为下一个输入是%c格式,回车符是一个字符,ascii码为10,%c格式吸收字符)
  
  
   printf("是否在加拿大有直系亲属?\n");
   printf("(A).有  (B).无\n");
   printf("请选择:");
   scanf("%c",&input);
   if(input=='A'){
      zhixiqinshu=10;
   }else if(input=='B'){
      zhixiqinshu=0;
   }
   getchar();


   zongfen=xueli+yuyan+nianling+gongzuo+gongzuoyaoqing+zhixiqinshu;
   printf("\n\n\t您的总分是:%d\n\n",zongfen);


   if(zongfen>=67){
     printf("\n\n\t恭喜您!满足技术移民要求!\n\n");
   }else{
     printf("\n\n\t小朋友回家玩去!加拿大不需要你!\n\t其实中国也不错!\n\n");
   }
   printf("\n\n\n\n");
   system("pause");
   }
}

3.c

#include"stdio.h"
void main(){
    char c;
    int a,b;
    int value = 0;
    printf("请输入a,c,b的值:");
    scanf("%d%c%d",&a,&c,&b);
     switch(c){
    case '+' : value = a + b;break;
    case '-' : value = a - b;break;
    case '*' : value = a * b;break;
    case '/' : value = a / b;break;
    case '%' : value = a % b;break;
     default : value = 0;break;

     }
    printf("%d%c%d=%d\n",a,c,b,value);

}

4.c

#include"stdio.h"
void main(){
    int s;
    int t;
    printf("请输入成绩:");
    scanf("%d",&s);
    t = s / 10;
    switch(t){
        case 10:
        case 9: printf("等级为A\n");break;
        case 8: printf("等级为B\n");break;
        case 7: printf("等级为C\n");break;
        case 6: printf("等级为D\n");break;
        case 5:
        case 4:
        case 3:
        case 2:
        case 1:
        case 0: printf("等级为E\n");break;
        default : printf("不会吧\n");break;
    }

}

5.c

#include"stdio.h"
void main(){
int i = 0;
while(i <= 10){
    printf("AAAAAAA\n");
    i++;
}
}

6.c

#include"stdio.h"
void main(){

    int i = 1;
    while(i <= 100){
        printf("%d\n",i);
        i+=2;

    }


}

7.c

#include"stdio.h"
void main(){
    int i = 1;
    while(i <= 9){
        int p = 1;
        while(p <= i){
            printf("%d×%d=%d\t",p,i,p*i);
            p++;
        }
        printf("\n");
       i++;
    }


}

8.c

#include"stdio.h"
void main(){
    int i = 1;
    while(i <= 9){
        int p = 1;
        while(p <= i){
            printf("* ");
            p++;
        }
        printf("\n");
       i++;
    }
}

9.c

#include"stdio.h"
void main(){
    int i,j;
    for(i = 1;i <= 9; i++){
        for(j = 1;j <= i; j++){
            printf("%d*%d=%d\t",j,i,i*j);

        }
        printf("\n");
    }

}

10.c

#include"stdio.h"
void main(){
    do{
        printf("AAAAAAA\n");


    }while(1==1);

}

 

 

2014-02-20周四:C

1.c

#include "stdio.h"
 /*   *
     ***
    *****
     ***
      *
 */
void main(){
        int i,p,u;

   for(i=1;i<=3;i++){

    for(p=3;p>i;p--){
        printf(" ");
    }
    for(u=1;u<=((i*2)-1);u++){
        printf("*");
    }
     printf("\n");
   }

    for(i=2;i>=1;i--){
    for(p=2;p>=i;p--){
        printf(" ");
    }
     for(u=1;u<=((i*2)-1);u++){
         printf("*");
     }
     printf("\n");

   }

}

2.c

#include "stdio.h"
 /*   *
     ***
    *****
     ***
      *
 */
void main(){
    int i,p,u;
    int row;
    while(1==1){
    printf("大小:");
    scanf("%d",&row);

   for(i=1;i<=row;i++){

    for(p=row;p>i;p--){
        printf(" ");
    }
    for(u=1;u<=((i*2)-1);u++){
        printf("*");
    }
     printf("\n");
   }

    for(i=row-1;i>=1;i--){
    for(p=row-1;p>=i;p--){
        printf(" ");
    }
     for(u=1;u<=((i*2)-1);u++){
         printf("*");
     }
     printf("\n");


   }
 }

}

3.c

#include "stdio.h"
 /*   *
     * *
    *   *
     * *
      *
 */
void main(){
    int i,p,u;
    int row;
    while(1==1){
    printf("大小:");
    scanf("%d",&row);

   for(i=1;i<=row;i++){

    for(p=row;p>i;p--){
        printf(" ");
    }
    for(u=1;u<=((i*2)-1);u++){
        if(u==1){
            printf("*");
        }else if(u==((i*2)-1)){
            printf("*");
        }else{
            printf(" ");
        }
    }
     printf("\n");
   }

 

    for(i=row-1;i>=1;i--){
        for(p=row-1;p>=i;p--){
        printf(" ");
    }
    for(u=1;u<=((i*2)-1);u++){
        if(u==1){
            printf("*");
         }else if(u==((i*2)-1)){
            printf("*");
         }else{
            printf(" ");
         }
     }
     printf("\n");

   }
 }

}

4.c

#include"stdio.h"
/*  *
  * * *
* * * * *
  * * *
    *
*/

void main(){
  int i,p,j;
  for(i = 1;i <= 3;i++){
    for(p = 3;p > i;p--){
        printf("  ");
    }
    for(j = 1;j <= ((2 * i) - 1);j++){
        printf("* ");
    }
    printf("\n");
  }
 
  for(i = 2;i >= 1; i--){
    for(p = 2;p >= i; p--){
        printf("  ");
    }
    for(j = 1;j <= 2 * i -1;j++){
        printf("* ");
    }
  printf("\n");
  }
 
}

5.c

#include"stdio.h"
void main(){
    int age[3];
    scanf("%d",&age[0]);
    scanf("%d",&age[1]);
    scanf("%d",&age[2]);

    printf("%d\n",age[0]);
    printf("%d\n",age[1]);
    printf("%d\n",age[2]);

}

6.c

#include"stdio.h"
void main(){
    int age[]={1,2,9};
    printf("%d\n",age[0]);
    printf("%d\n",age[1]);
    printf("%d\n",age[2]);
    printf("%d\n",&age[0]);
    printf("%d\n",&age[1]);
    printf("%d\n",&age[2]);

}

7.c

#include"stdio.h"
void main(){
    int i;
    int a[5];
    int max;
    int min;
    for(i = 0;i < 5;i++){
        scanf("%d",&a[i]);
    }
    max = a[0];
    min = a[0];
    for(i = 1;i < 5;i++){
        if(a[i] > max){
            max = a[i];
        }
    }
    for(i = 1;i < 5;i++){
        if(a[i] < min){
            min = a[i];
        }
    }
    printf("最大值:%d\n", max);
    printf("最小值:%d\n", min);

}

 

-------------------------------------------------------------------------------------------------------------------

                    第四章  数组和指针

1.数组

数据类型  数组名大小]

大小一旦定下在运行过程中不能改变

(1)一维

        int a[1];

        a[0]=100;

 

        冒泡排序:

            int age[]={90,50,30,51,60};

            30,50,51,60,90

(2)二维

                   行 列

        int age[3][3];  //表格数组

       

 #include "stdio.h"

 

        void main(){

 int age[3][3]={{55,66,77},{555,444,11},{88,99,11}};

             int i,u;

             age[1][1]=111;

    

           for(i=0;i<3;i++){

              for(u=0;u<3;u++){

                 printf("%d\t",age[i][u]);

              }

              printf("\n");

            }

          }

2.指针

1)指针──即地址

 一个变量的地址称为该变量的指针。通过变量的指针能够找到该变量。

2)指针变量──专门用于存储其它变量地址的变量

指针变量num_pointer的值就是变量num的地址。指针与指针变量的区别,就是变量值与变量的区别。

       int  *p;

       指针声明后,是空的

       &  或者是给指针分配内存

 

2014-02-21周五C:

1.c

#include "stdio.h"
  /*冒泡排序 {90,50,30,51,60}
  0 0 0 0 4   90  90  90   90~ 30*
  0 0 0 3     50  50  50 ~ 30~ 90
  0 0 2       30  30~ 30 ~ 50  50
  0 1         51~ 51~ 51   51  51
              60~ 60  60   60  60

              30  30  30  30
              90  90  90~ 50*
              50  50~ 50~ 90
              51~ 51~ 51  51
              60~ 60  60  60
             
              30  30  30
              50  50  50
              90  90~ 51*
              51~ 51~ 90
              60~ 60  60
             
              30  30
              50  50
              51  51
              90~ 60*
              60~ 90     
  */

void main(){

   int age[]={90,50,30,51,60};
   int i,u;
   int num;
   for(i=0;i<4;i++){
       for(u=4;u>i;u--){
          if(age[u]<age[u-1]){
              num=age[u];
              age[u]=age[u-1];
              age[u-1]=num;
          }
       }
   }
   for(i=0;i<5;i++){
        printf("%d \n",age[i]);
     }
}

2.c

#include "stdio.h"
  /*冒泡排序 {90,50,30,51,60}
  0 0 0 0 4  .90~  30* 30   30  30
  0 0 0 3    .50  .50  50*  50  50
  0 0 2      .30~ .90 .90~  51* 51
  0 1        .51  .51 .51~ .90~ 90*
             .60  .60 .60  .60~ 60


  */

void main(){

   int age[]={90,50,30,51,60};
   int i,u,j;
   int tem;
   for(i=0;i<=4;i++){
    for(u=0;u<=4;u++){
        if(age[u]>age[u+1]){
             tem =age[u];
              age[u] = age[u+1];
              age[u+1]=tem;

        }
    }

   }
    for(j = 0;j <= 4;j++){
        printf("%d\n",age[j]);

     }

}

3.c

#include"stdio.h"
void main(){
    int i,u;
    int a[][3] = {{1,1,1},{2,2,2},{3,3,3}};
    a[0][0] = 7;
    for(i = 0;i < 3;i++){
        for(u = 0;u <3; u++){
           printf("%d\t",a[i][u]);
        }
        printf("\n");
    }


}

4.c

#include"stdio.h"
void main(){
     int age[3][3]={
    {55,66,77},
    {555,444,11},
    {88,99111,11}};
    int i,u,max;
    for(i = 0;i <= 2;i++){
         printf("请输入:\n");
        for(u = 0;u <= 2;u++){
            printf("请输入%d行%d列",i,u);
            scanf("%d",&age[i][u]);
        }
    }
    max=age[0][0];

    for(i=0;i<3;i++){
     for(u=0;u<3;u++){
        if(age[i][u]>max){
            max=age[i][u];
        }
     }
    }
    printf("%d",max);
}

5.c

#include"stdio.h"
void main(){
    int *p,i = 1000;
    p = & i;
    printf("%d\n",*p);
    i = 98;
    printf("%d\n",*p);
    *p = 100;
    printf("%d\n",*p);
}

6.c

#include"stdio.h"
#include"malloc.h"
void main(){
  int *p;
  p = malloc(4*3);
  *(p+0) = 100;
  *(p+1) = 110;
  *(p+2) = 120;
  printf("%d\n",*(p+0));
  printf("%d\n",*(p+1));
  printf("%d\n",*(p+2));
  printf("%d\n",  p+0);
  printf("%d\n",  p+1);
  printf("%d\n",  p+2);
}

7.c

#include  "stdio.h"
void main(){
         int a[][3] = {{1,1,1},{2,2,2},{3,3,3}};
         int *p,p1,p2;
         p  = a[0];
         p1 = a[1];
         p2 = a[2];
         printf("%d\n",p);
         printf("%d\n",p1);
         printf("%d\n",p2);

}

8.c

#include"stdio.h"
#include "malloc.h"
void main(){

int *p,i,u,num;
  p=malloc(4*5);
    for(i=0;i<5;i++){
     scanf("%d",p+i);
   }
 
     for(u=0;u<4;u++){
       for(i=4;i>u;i--){
          if(*(p+i)<*(p+(i-1))){
             num=*(p+i);
             *(p+i)=*(p+(i-1));
             *(p+(i-1))=num;
          }
       }
   }

   for(i=0;i<5;i++){
      printf("%d\n",*(p+i));
   }
}

9.c

#include "stdio.h"
#include "malloc.h"
void main(){
   int *p,i,u,num,count;
  
   printf("你想输入多少个?");
   scanf("%d",&count);
   p=malloc(4*count);
  
   for(i=0;i<count;i++){
     scanf("%d",p+i);
   }
  
   for(u=0;u<count-1;u++){
       for(i=count-1;i>u;i--){
          if(*(p+i)<*(p+(i-1))){
             num=*(p+i);
             *(p+i)=*(p+(i-1));
             *(p+(i-1))=num;
          }
       }
   }
  
   for(i=0;i<count;i++){
      printf("%d\n",*(p+i));
   }


}

10.c

#include "stdio.h"
#include "string.h"
#include "malloc.h"
void main(){
    char *str;
    int i=0;
    char c[6]={'A','B','C','D','E','\0'};
    printf("%s\n",c);
    str=malloc(sizeof(char)*3);
    scanf("%s",str);
    for(i=0;i<3;i++){
        printf("%d\n",*(str+i));
    }
}

11.c

#include "stdio.h"
void add(int *p){
   *p=*p+1000;
}
void main(){
    int p=100;
    add(&p);
    printf("%d\n",p);

}
 

-------------------------------------------------------------------------------------------------------------------

                           第五章  函数

1.函数

     独立的程序段

     执行一个具体的、明确定义的任务

2.声明函数

类型 函数名(类型 形参1,类型 形参2,…… )

{

   声明语句;

   执行语句;

}

 

在定义之前使用函数,必须声明

3.函数的嵌套调用

不能嵌套定义函数,但可以嵌套调用函数

嵌套调用特点是层层调用,逐级返回

4.函数的递归调用

在调用一个函数的过程中直接或间接地调用函数本身,称为递归调用

递归要素:递归公式、递归终止条件

 

2014-02-21周五:C

1.c

 #include"stdio.h"
    void m(int a){
      int i;
      for(i = 0;i < a; i++){
        printf("HELLO C\n");
      }
    }
    void main(){
        m(5);

2.c  
#include"stdio.h"
    void m(int a){
      int i;
      for(i = 0;i < a; i++){
        printf("HELLO C\n");
      }
    }
    void main(){
        int x = 5 ;
        m(x);
    }

3.c

#include "stdio.h"
float m(float f1,float f2){
   if(1==1){
        return f1+f2;
   }else{
        return f1+f2;
   }
}
void main(){

    float f1=0,f2=0;
    f1= m(15,m(15,m(15,15)));//函数调用
    printf("%f\n",f1);


}

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值