c的再次回炉

基本模版

#include
#include //不添加,使用system会报错
int main(){
    
    system("pause");
    return 0;
};

将定义好的数组作为参数传入函数,遍历输出

#include
void temp(int arr[]){
    int i;
    for (i = 0; i < 5; i++){
        printf("%d\n", arr[i]);
    }
}
int main(){
    int arr[5] = { 5, 4, 3, 2, 1 };
    temp(arr);
    system("pause");
    return 0;
};

在C语言中,凡是以″#″号开头的行,都称为″编译预处理″命令行。预处理命令可以放在程序中的任何位置,其有效范围是从定义开始到文件结束。预处理命令有宏定义、文件包含和条件编译三类。#include 命令行表示程序中要引用C标准函数库中的标准输入输出函数。


C语言标识符:关键字,预定义标识符,用户标识符


指针是一个变量,其值为另一个变量的地址


浮点数的输入与输出结果不同

#include
#include
int main(){
    float f;
    printf("请输入:");
    scanf_s("%f", &f);
    printf("输出为: %f", f);
    system("pause");
    return 0;
}

putchar() & getchar()


#include
#include
int main(){
    int num;
    printf("please input:");
    num = getchar();
    printf("input is:");
    putchar(num);
    system("pause");
    return 0;
}

%lu 输出无符号长整型整数


#include
#include
int main(){
    printf("长度为 %lu", sizeof(double)); //输出数据类型所占长度
    system("pause");
    return 0;
}

结构体 & vs中的变态strcpy_s

#include
#include
#include

struct myname
{
    char name[30];
    char sex[10];
    int salary;
};

int main(){
    struct myname weiwei;
    strcpy_s(weiwei.name, strlen(weiwei.name) + 1, "weidapao");
    strcpy_s(weiwei.sex, strlen(weiwei.sex) + 1, "male");
    weiwei.salary = 1000;
    printf("name is: %s\n", weiwei.name);
    printf("sex is: %s\n", weiwei.sex);
    printf("salary is: %d\n", weiwei.salary);
    system("pause");
    return 0;
}
strcpy_s第二个参数为字符串的给定长度,防止越界

结构体作为函数参数
#include
#include
#include

struct myname
{
    char name[30];
    char sex[10];
    int salary;
};
void printname(struct myname joe){
    printf("name is: %s\n", joe.name);
    printf("sex is: %s\n", joe.sex);
    printf("salary is: %d\n", joe.salary);
}

int main(){
    struct myname weiwei;
    strcpy_s(weiwei.name, strlen(weiwei.name) + 1, "weidapao");
    strcpy_s(weiwei.sex, strlen(weiwei.sex) + 1, "male");
    weiwei.salary = 1000;
    printname(weiwei);
    system("pause");
    return 0;
}

宏定义在编译程序时做了一个简单的替换

#include
#include

#define v 7;

int main(){
    int b = v;
    printf("input %d\n", b);
    system("pause");
    return 0;
}

将输入的字符大写转小写
#include

int main(){
    char c, ch[100];
    int i = 0;
    
    while (1){
        c = getchar();
        if (c == '\n'){
            ch[i] = '\0';
            break;
        }
        ch[i] = c + 32;
        i++;
    }
    printf("%s\n",ch);
    system("pause");
}

关于sizeof()
//char ch[] = {'a','b','d'};      //3
    char ch2[5] = {'k','l','h','g'};    //5
    printf("%d", sizeof(ch2));

gets()
char akl[100];
    gets(akl);
    printf("%s", akl);
gets()可以接收带空格的字符串

sizeof()与strlen()

char str[20]="0123456789";
int a=strlen(str); /a=10;strlen 计算字符串的长度,以\0'为字符串结束标记。
int b=sizeof(str); /
b=20;sizeof 计算的则是分配的数组str[20] 所占的内存空间的大小,不受里面存储的内容影响


你可能感兴趣的:(c的再次回炉)