C语言入门笔记代码(第一天)

C语言入门第一天主要是建立编译环境和书籍选择

编译器:VSCode以及cmd指令操作结合使用
书籍选择:C Primer plus 第五版(简单易懂,需要先吃透一本书,再言其他)

以下是个人闲暇学习敲打的代码,在一个.C文件中不断运行主程序,记录C语言入门的代码记录:

#include <stdio.h>

// void name(void);
//printf函数使用
/* int main (void)
{
    int num;
    num = 18;

    // printf("hello world \n");
    // printf("my name is bom.\n");
    // printf("what's your name?\n");
    // printf("my lucky num is %d.but your num is %d.\n",num,num + num);
       printf("my lucky num is %#o.but your num is %#x.\n",num,num + num);  //以8进制和16进制打印结果
    // name();
    
    return 0;

} */

/* void name(void)
{
    float today_time;
    today_time = 11.03;

    printf("today is a good day.\n");
    printf("today_time is %.2f\n",today_time);   //只打印2位小数的格式是%.2f,打印3位是%.3f

} */


//整数溢出
/* int main(void)
{

    int i = 2147483647;
    unsigned int j = 4294967295;

    printf("%d,%d,%d\n",i,i+1,i+2);
    // printf("%d,%d,%d\n",j,j+1,j+2);
    printf("%u,%u,%u\n",j,j+1,j+2);  //无符号整形打印格式%u

    return 0;

} */


//打印数值格式不同,printf调用数值不同
//使用printf()语句时,切记每个要显示的值都必须对应自己的格式说明书,并且显示值类型腰痛说明符相匹配
/* int main(void)
{
    unsigned int un = 3000000000;               //超出数值范围,无符号和有符号打印数值不一致
    unsigned int on = 10;                      //对于小一些整数,无符号和有符号打印数值一致
    short end = 200;                           // short类型打印格式%hd
    long big = 65537;                          // long类型打印格式%ld
    long long verybig = 12345678908642;        // long类型打印格式%lld

    printf("un = %u and not %d\n",un,un);
    printf("on = %u and not %d\n",on,on);
    printf("end = %hd and not %d\n",end,end);    //  short类型自动转换为int类型,int类型数值是计算机处理最快捷方便的整数类型
    printf("big = %ld and not %hd\n",big,big);  //long类型是32位数字,而short类型是16数字,将65537转换为32位二进制,发现低16位有效只有1,高16位未计入
    printf("verybig = %lld and not %ld\n",verybig,verybig); //%ld只打印后低32位数值,相比于%lld裁剪了一次

    return 0;

} */



//char类型 -> char却也是整数类型,在ASCII码中,数值65代表的就是大写字母A
/* int main(void)
{
    char ch;            //char类型打印格式%c

    printf("please enter a character:\n");
    scanf("%c", &ch);   //&取地址操作符,取出ch在内存中的地址,即在键盘上敲入任意字符,会将该字符存在ch的地址上,&来取地址
    printf("The code is %c.%d\n",ch,ch);    //The code is A.65

    return 0;

} */


//float 是6位小数
/* int main(void)
{
    float aboat = 32000.0;
    double abet = 2.14e9;

    float toobig = 3.4E38 * 100.0f;  //  浮点数溢出

    printf("%f can be written %e\n",aboat,aboat);
    printf("%f can be written %e\n",abet,abet);

    printf("%f\n",toobig);   //打印结果1.#INF00代表上溢

    return 0;
} */


//sizeof运算符
/* int main(void)
{

    printf("Type int has a size of %u\n",sizeof(int));      //占用空间大小是无符号整数,格式%u
    printf("Type char has a size of %u\n",sizeof(char));    
    printf("Type long has a size of %u\n",sizeof(long));     
    printf("Type double has a size of %u\n",sizeof(double));   

    return 0;

} */


//数据类型运用不当,数据精度损失
/* int main(void)
{

    int math_e = 2.718;
    float math_pi = 3.1415926;

    printf("math_e is %d\n",math_e);    //math_e is 2
    printf("math_pi is %f\n",math_pi);  //math_pi is 3.141593

    return 0;
} */


//printf语句将输出传递给一个被称为缓冲区(buffer)的中介存储区域,缓冲区中的内容再不断地被传输给屏幕。以下情况输出
//1.缓冲区满时;2.遇到换行符时;3.需要输入时;4.程序运行结束时

int main(void)
{

    printf("hello world!"); //不打印hello world
    while(1);               //不满足四个条件,不会打印
    return 0;
}

猜你喜欢

转载自blog.csdn.net/sinat_41653350/article/details/109476892