C语言基础知识

define定义常量和宏
#define ADD(X,Y) X+Y
#include <stdio.h>
int main() {
    printf("%d", 4 * ADD(2, 3));
    return 0;
}

结果为11而不是20,定义宏是替换

指针

指针变量存放地址

关于何时加*的问题:在定义指针变量时需要加以及作为函数参数时需要加

printf(" %d\n", *pa);这里我输出的时这个指针所指内存中存储的数据的值

printf(" %d\n", pa);这里则输出的是这个指针所指的地址

p=&a;将指针的地址指向a的地址

*p=a,将a的值赋给p指针所指内存中存储的值

结构体

描述复杂对象

struct Stu
{
    char name[20];
    int age;
    double score;
};
int main() {
    struct Stu s = { "张三",20,90.5 };
    printf("%s %d %.2f\n", s.name, s.age, s.score);
    struct Stu* ps = &s;
    printf("%s %d %.2f\n", ps->name, ps->age, ps->score);
    return 0;

分支结构

if else 语句

悬空的else会和最近的if匹配

顺序输出1-100的奇数:
#include <stdio.h>
int main() {
    for (int i = 1; i <= 100; i++) {
        if (1==i%2)
        {
            printf("%d\n", i);
        }
    }
    return 0;
}

switch语句

选择条件必须是整型(包含字符)

case后必须是常量

default用于处理case包含情况之外的情况

break语句用于跳出switch语句,否则顺序执行

循环结构

while循环

break用于跳出循环

continue直接跳过本次循环里continue后面的代码重新进入循环

getchar()返回值是int(有可能返回EOF)

EOF:文件结束标志(值为-1)

putchar()

清理缓冲区

#include<stdio.h>
int main() {
    printf("请输入密码:");
    char password[20] = {0};
    scanf("%s", password);
    int temp;
    while ((temp = getchar()) != '\n') {
        ;
    }
    int ch = getchar();
    if ('Y' == ch) {
        printf("正确");
    }
    else {
        printf("错误");
    }
    return 0;

}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值