C语言基础部分

    xiaoxiao2021-04-14  61

    一、   如何把自己的函数加进去

    ①无返回值

    #include<stdio.h>

    void jolly(void);

    int main(void)

    {

    jolly();  

    return 0;

    }

    void jolly(void) //这里没有‘;’

    {

    printf("forhe's a jolly goof fellow\n");

    }

    /*这里main是主函数,先执行main(),再执行自己定义的函数*/

    ②有返回值

    #include<stdio.h>

    double sum_squares(long a,long b);

    int main()

    {

    ………….

    }

    Double sum_squares(long a,long b)

    {

       Doubletotal=0;

       Long I;

     

       ………….

    Return total;

    }

     

     

    二、   print语句

    1、会替换以前的数据,转义序列

    #include<stdio.h>

    Int main()

    {

    float salary;

     

    printf(“Enter your desired monthly salary:”);

    printf(“$_______\b\b\b\b\b\b\b”);//\b是往后退

    printf(“%f”,&salary);

    printf(“\n\t$%.2f a month is $%.2f a year.”,

    salary,salary*12.0);//3

    printf(”\rGee!\n”);//4

    /*对于第三行,打印完后,光标会在本行不动,继续读第4个,这时/r会返回第一行,打印Gee!,因为打印是替换机制,所有打印第四行必须替换第三行东西。/t是制表符,和tab建作用相同,有时系统设置tab是4个空格或8个空格,输出就会有几个空格*/

    2、print语句后从右到左计算

    Int a=1;

    Printf("a=%d,++a=%d”,a,++a);

    输出 2,2

     

     

     

    三、   数据类型

    1、浮点数舍入错误

    Float类型的数字通常只能储存所有数字开头起6或7位有效数字。

    如2e10+1再减去2e10时显示只能2后5到6个零

    2、double16位有效数字

    Float7位有效数字(3.500000)

    ※3、类型转化

    ①char和short都会自动转换成int

    ②float会被转换成double

    ③如果目标类型事无符号整型,且待赋值的数是整数时,额外的数会被忽略。如:目标类型是8位unsigned char,代付的值是原始数据求模256

     

     

    四、(字符串和格式化输出)

    1、char name[40],此时scanf(“%s,name”)

    //name不用取地址符&

    2、scanf()在取到合适的值后会在有空格的地方停止

    //如输入Kevin chen,输出只会是Kevin

    /*scanf(“%d  ,%d”)格式字符串的空白意味着跳过下一个输入项前面的所有空白*/

    3、使用#include<string.h>才可以使用strlen()函数,给出字符串中字符长度(包括空格和标点符号)

    4、c预处理

    #define BOOK “westlife’biography”

    /*用大写字母表示常量,对于字符串,必须用双引号,并且双引号不会打出*/

    /*如果想输出双引号,单引号,斜杠,”\””就会输出双引号*/

    5、const限定符

    Const int vim=15

    //此刻vim值不可修改

    6、printf(“010.2f”,qq);

    /*10前的0代表如果qq不够10个宽度,用零补,如0572043666*/

    7、%.4s  、

    //意味着对于python来说只打印pyth

    8、打印较长的字符串

    //不能在双引号括起来的字符串中间直接断开

    方法①用\隔开

    ②用“

    //对于一句话,可以使用多个“隔开

    9、printf()用*表示宽度

    Printf(“the number is %*d”,width,number);

    例子

    #include<stdio.h>

    #include<string.h>

    int main()

    {

        charname1[20];

        charname2[20];

     

       printf("please enter two names:");

       scanf("%s %s",name1,name2);

       printf("%s %s\n",name1,name2);

       printf("%*zd%*zd\n",strlen(name1),strlen(name1),strlen(name2),

    strlen(name2));

    printf("%zd%*zd",strlen(name1),strlen(name1),strlen(name2));

     

        return 0;

    }

    输入Kevin bee

    输出Kevin bee

            5   3

         5    3

    10、scanf中会跳过含有*的项

    Scanf(“%*d,%*d,%d”,&n);

    Printf(“the last number is %d”,n);

    11、打印%,输出时必须用两个%,这样才可输出%

    12、%s会是打印一句话,%c会打印一个字符

    13、%lf表示double类型

    14、最后程序的getchar会取走scanf没有取走的换行符(每次后一个scanf会将上一个scanf后用户输入的换行符替换掉),多加一次putchar就会起到暂停的作用

     

     

    五、   运算符、语句

    1、整数除法结果的小数部分被丢弃,这一过程被称为截断

    2、7.0可直接用7.表示

    3、截断计算结果的小数部分,不会四舍五入

    4、求余数的运算符只能用于整数,不能用于浮点数

    当char类型赋值超过一字节大小,待赋值将是原始值求模(求余数)256

    ※5、强制类型装换

    A=1.6+1.7=3.3

    B=(int)1.6+(int)1.7=2

    例如(float)9变为9.0

    6、打印字母a-g

    Char ch=’a’;

    While(ch<=’g’)

    Printf(“\”,ch++);

    Printf(“\n”);

    /*”=”一定要在《后面*/

    7、while循环注意

    当while这一句后没有花括号,紧接着一句在循环内,其余不在

    例子:while(x++<103)

            Printf(“

    转载请注明原文地址: https://ju.6miu.com/read-670221.html

    最新回复(0)