欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

面试在即,总结一波C的基础代码

程序员文章站 2022-05-27 08:21:28
面试在即,总结一波c的基础代码 #include #define me 2017 //宏定义 void main(void) { const int pi = 3.14;/...

面试在即,总结一波c的基础代码

#include 
#define me 2017 //宏定义

void main(void)
{
    const int pi = 3.14;//常量不允许重复赋值
    printf("%d\n", me);
    printf("内存地址: %x\n", me);//小端存储法 一个地址一个字节,高地址存高字节,低地址存低字节
}

include 目的是引入头文件,而头文件包含了我们所需要的函数,比如打印函数 printf,与php不同的是php是全局可以使用所有方法,不需要引入。定义的me为全局常量,pi为定义方法范围内的常量。main()为程序执行时候开始的代码,void代表不需要传参,可以使用args来给方法传参,就像使用linux命令行时后面带的参数。

#include 

void main(void)
{
    printf("%4d%4d", 4, 5); //右对齐,占4位
    printf("%-4d%-4d", 4, 5); //左对齐,占4位,不足用空格补充
    printf("%-04d%-04d", 4, 5); //左对齐,占4位,不足用0补充
    printf("%6.4f", 4.0054); //左对齐,占6位,保留小数点后4位
    printf("%.4s", "hello world"); //左对齐,截取4位
    printf("%ld", 12345678); //左对齐,输出长整型
}

printf 为打印数据方法,可以格式化输出内容,类似于php的sprintf()

#include 

void main(void)
{
    char ch;
    putchar('a'); //输出字符
    putchar('\n');
    ch = getchar(); //接收字符
    putchar(ch + 1);
}

我们可以使用 getchar 在程序执行时候接受一个字符,并使用putchar打印一个字符。

#include 
#include 

void main(void)
{
    //读到字符串首地址,从首地址开始输出字符直到读到\0
    puts("hello c"); //输出字符串并换行
    char buf[4]; // buf实质为首地址
    gets(buf);
    puts(buf);
    printf("%s", buf); //从首地址开始读
}

与上面方法不同的是 gets 可以接收字符串,使用puts打印字符;字符串存储的最后一个字符为\0,这是字符串方法从内存读数据判断结尾的依据。

#include 
void main(void)
{
    double d;
    printf("int %d\n", sizeof(int));
    printf("char %d\n", sizeof(char));
    printf("float %d\n", sizeof(float));
    printf("short %d\n", sizeof(short));
    printf("long %d\n", sizeof(long));
    printf("long long %d\n", sizeof(long long));
    printf("double %d\n", sizeof(d));
}

sizeof()可以获取到传参的占据的字节长度,sizeof(int) 与 sizeof(1) 等价

#include 
void main(void)
{
    int num;
    char ch;
    scanf_s("%c", &ch);
    num = ch;
    // scanf_s("%d", &num);
    // printf("%d", num);
    // printf("%c", ch);
    switch(num) {
        case 1:
            printf("type of int");
            break;
        case 97: //a
            printf("char turn to int\n");
            break;
        default:
            printf("nothing match\n");
            break;
    }
}

switch() 为分支判断,其中ch为char类型,num为int类型,ch赋值给num,低类型(字节少)向高类型(字节多)转换

#include 

void fn(int i);

void main(void)
{
    int i = 65;
    fn(i);
}

void fn(int i)
{
    putchar(i);
}

自定义方法时候,需要在main前定义方法头,之后在main后面写具体的代码逻辑,或者在main前直接写具体代码不用再定义方法头。