基础C语言 学习总结<1>

【第一章】

//

//  main.c

//  HelloWorld

//

//  Created by 姜浩 on 16/3/28.

//  Copyright (c) 2016 jredu. All rights reserved.

//

// 单行注释

// command+/ 批量注释

/*

 多行注释 "option+command+/"⬅️ 可以折叠多行注释

 */

#include <stdio.h>

/*

    1⃣️#include 预处理语句,意思是包含。写在文件的最上面,main方法之外。

    2⃣️stdio.h 标准的输入输出文件。

    3⃣️当我们包含系统文件的时候,一般用<>括起来;

      当我们包含自己写的文件,一般用“”引起来;

 */

int main() {

    /*

        1⃣️ main函数,也叫主函数,是C语言程序的执行入口;在一个工程中,有且只有一个main函数;

        2⃣️ int代表当前函数的返回值是一个整数类型;函数的最后,必须用return返回一个整数;

        3⃣️ ()里面:当前函数的参数。main函数可以有参,也可以无参。

        4⃣️ {}成对出现;

     */

    printf("Hello, World!\n");

    /*

        1⃣️ 输出语句,“”里面是将要输出的内容;

        2⃣️ 每一行语句结束,必须要有分号;

    */

    

    

    /***************C语言基本数据类型*******************

        整数: short  int4个字节,32位)  long8个字节,64位)

        小数: float(两个字节  16位) double8个字节     64位)

            float可以有6-7位有效数字,double可以有15-16位有效数字;

        字符型: char

       变量名的命名规范:1,变量名只能由 字母,数字,下划线,美元符号组成;

           2,变量名开头不能是数字;

           3c语言中的保留字,不能用做变量名,int/flort/char/const;     

           4,变量名的命名一般要有语义,要规范。【常见的规范】:

           当变量名有多个单词组成,首字母小写,之后每个单词的首字母大写  myNameName 或者 my_name-name

                           

     */

    int n;//声明一个int类型的变量n

    n=1;//给变量n赋值为1

    long l=23333;//声明变量的同时直接赋值;

    

   const float PI=3.1415926;//const修饰的变量成为常量,不可被改变。常量一般全用大写!!!

    

    char c='A';//''包括的为一个字符,可以是一个字母、一个数字、一个符号

 

    printf("姜浩%c哈哈哈\n",c);

    

    int a=1,b=2,d;//在一行语句中,声明多个变量,用,分开可以直接赋值。

    练习int a;

     a=-1;

    printf("%d\n",a);

    a=0;

    printf("%d\n",a);

    a=1;

    printf("%d\n",a);      【关于赋值 打印输出】

    a=99;

    printf("%d\n",a);

    char c='B';

    printf("%c\n",c);

    

    float f=1.23;

    printf("%f\n",f); 

    练习:

    int w=10,u=8,z;

    printf("互换前的纸牌:\n左手中的纸牌为:%d\n右手中的纸牌为:%d\n",w,u);

    z=w;

    w=u;

    u=z;

    

    printf("输出互换后手中的纸牌:\n左手中的纸牌为:%d\n右手中的纸牌为:%d\n",w,u);

    运算符的应用【+*/,%(除完以后取余数,且保留6位小数部分)】

    double dou=22/10;

    printf("dou的值为:%f\n",dou);//如果除号两边均为正数,那么最终、结果为正数,且直接抹掉小数;如果两边有任意一边为小数,那么最终结果为小数。这里结果为2.000000

double  dou=30.5/10;

printf("doudezhiwei:%f\n",dou);//结果为3.0500000                 

                     

double  dou=30%10;

printf("doudezhiwei:%f\n",dou);//结果为0,因为余数为0    

  

                     

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

                     a=e/1000;

  给你个数,求各位数     b=e%1000/100;

   的和              c=e%1000%100/10;//c=e%100/10;(取余和取整,先取余,再取整,对8349除以100取余数    49,然后除以10,取整就是4. 

                     d=e%1000%100%10/1;//d=e%10;

                     f=a+b+c+d;

                     printf("%d\n",f);

                     printf("%d的个位数字之和为%d\n",e,f);

                     if(f>20)

                     {printf("返利50");}

                     else {printf("返利0");}//if(f<=20)    {printf("返利0");}

                     

【数据类型转换】:有两种方式,1,自动类型转换:{由小范围的数据类型向大范围的数据类型自动转换,无需任何条件,

                         数据类型有小到大,shortchar-int-long-float-double

                          eg double d = 1 有整形的1自动转换为double类型;

                         2,强制类型转换:由大范围的数据类型转换为小范围的数据类型,需强制转换。

                          eg int n = (int)0.999;由浮点型强制转换成int型,小数点直接抹掉(结果为0  

    t1:( 将一个小写字母转换成大写字母,大小写相差32):                

  1  char  xiao='a';

        char  daxie=xiao-32;

    

    printf("%c转化后为%c\n",xiao,daxie);

    

  2char    xiaoxie='b';        (不需要把char类型转换成int类型)

    int    zhengshu=xiaoxie;

    int     zhengshudaxie=zhengshu-32;

    char    daxiede=zhengshudaxie;(强制转换)

    printf("%c转化成大写为%c\n",xiaoxie,daxiede)         

                     

    【基本输入与输出】:

    1printf  输出 {1printf()的括号中肯定要有"",而其中的内容将是输出的内容。

                     egprintf"i love you !!!!"

                    2,如果需要输出变量,则需要在""中放入占位符,引号外面放入变量,且有几个占位符就需要有几个变量类型一一对应。

                    egprintf"%d  %f  %d"intfloatint

                   3,占位符的种类int-%d   long-%ld  float-%f   double-%lf   char-%c     .......%f%lf默认保留6位小数

                4占位符的格式化输出:(1):%.2f  2代表精度,即保留两位小数(45⃣️入))

                                    float f=1.234;

                                    printf("%.2f\n",f);

                                  (2)%10f:代表总宽度为10;一个数字或一个小数点均为一个宽度;如果原数字宽度小于10;则左边补空格;如果大于10,则正常输出;

                                  3%010f  :宽度计算同上,只是左边补充0;右边补-

                                   4)第一条可与第二三条配合使用;

                    eg%10.2f;保留两位小数,且总宽度为10

      

    

#include<stdio.h>

    void main()

    {

    int=num;

    printf("输入一个数"

    scanf("%d的平方为%d\n",num,num*num);

    }                

                     

                     

           转义字符  \ 

           int higt=2;

           float  r=1.5,v;

           v=3.14*r*r*higt;

           printf("hhaha\"ahah\"ahhaaha%.2f\n",v);

           

           2scanf   输入:

            1)写法:scanf的()中包含两部分,"占位符"和变量地址

        egint n;

        scanf("%d",&n);//输入就相当于给变量赋值

         2scanf中放的是变量地址!!!!一定不能漏掉取地址&!!!!

        3)原则上来讲,scanf“”中只放占位符,不要放其他任何符号。

        4)一个scanf给多个变量赋值:scanf("%d%d",&n,&m);

        5)当我们输入字符的时候,由于char类型可以接受上次输入所遗留的回车符号,会导致本次的scanf语句误以为你输入的字符为回车而直接结束,所以,当scanf输入char类型的时候,应先吸收掉上次输入遗留的回车,方式有两种:  一种:%c前面加空格顶替回车符scanf“ %c”&grade

        二种 :写两遍scanf“”&),第一道吸收回车,第二道输入字符

      T(练)  输入任意高和半径  求体积

        

        printf("请输入圆柱体的半径和高度:");

        

        float h,rr,vv;

        scanf("%f%f",&h,&rr);

        vv=3.14*rr*rr*h;

        printf("圆柱体的体积为:%f",vv);

        

           

        练习: int  xuehao,nianling;

        

        char xingbie,chengji; 

        printf("请输入学号:");

        scanf("%d",&xuehao);    

        printf("请输入年龄:");

        scanf("%d",&nianling);    

        printf("请输入性别:");

        scanf(" %c",&xingbie);    

        printf("请输入成绩:");

        scanf(" %c",&chengji);   

        

        

        printf("您录入的学生信息如下\n学号:%d\t年龄:%d\n性别:%c\t成绩:%c",xuehao,nianling,xingbie,chengji);

        

        练习:加密

        

        int num,ge2,shi2,bai2,qian2;

        printf("请输入四位整数:");

        scanf("%d",&num);

        

        ge2=(num%10)+5;

        shi2=(num%100/10)+5;

        bai2=(num%1000/100)+5;

        qian2=(num/1000)+5;

        

        printf("加密数字为:%d%d%d%d\n",ge2,shi2,bai2,qian2);

        

        return 0;

        T超市打印单:

        int dengshanbao,yumaoqiu,yumaoqiupai,dengshanbaojia,yumaoqiujia,yumaoqiupaijia,shijijiaofei;

        float zhaoqian,xiaofeizongjine;

        printf("欢迎进入JREDU购物系统:\n");

        printf("请输入购买登山包个数:");

        scanf("%d",&dengshanbao);

        printf("请输入购买羽毛球个数:");

        scanf("%d",&yumaoqiu);

        printf("请输入购买羽毛球拍个数:");

        scanf("%d",&yumaoqiupai);

        

        printf("**********消费单**********\n");

        printf("购买物品\t单价\t个数\t金额\n");

        dengshanbaojia=dengshanbao*198;

        yumaoqiujia=yumaoqiu*90;

        yumaoqiupaijia=yumaoqiupai*400;

        printf("登山包\t198\t%d\t%d\n",dengshanbao,dengshanbaojia);

        printf("羽毛球\t90   %d\t%d\n",yumaoqiu,yumaoqiujia);

        printf("羽毛球拍\t400\t%d\t%d\n",yumaoqiupai,yumaoqiupaijia);

        

        printf("====================\n");

        xiaofeizongjine=dengshanbaojia+yumaoqiujia+yumaoqiupaijia;

        printf("消费总金额:¥%.1f\n",xiaofeizongjine);

        printf("实际交费:¥%c",shijijiaofei);

        scanf("%d",&shijijiaofei);

        zhaoqian=shijijiaofei-xiaofeizongjine;

        printf("找钱:%.1f",zhaoqian);

        

        char c;

        //scanf("%c",&c);

        //printf("%c",c);

        c=getchar()

        //输出

        putcharc

        //输入

        

        

        

        

        return 1;

}

char类型的占位符是%cint类型占位符%d  float类型占位符%f

char类型   "a-z" = 97-122

'0-9'=48-57

 

getcharputchar.

        

               

        

        

        

        

        

        

        

 

posted @ 2016-04-21 14:29  梦之寒涯  阅读(546)  评论(0编辑  收藏  举报