C语言常见概念及踩坑点(1)

#知识点总结#

1、何为C语言

人与计算机交流使用计算机语言,C语言属于众多计算机语言之一(如C++/Java/Python等)。

2、C语言被执行的过程

C语言是一门编译型语言,代码为文本文件(保存在 .c 格式文件中),无法直接被执行,需要编译器编译和链接器链接生成二进制可执行文件才能执行。

编译和链接主要过程:

第一步: .c 源文件被编译器编译(生成 .obj 格式目标文件)。

第二步: .obj 文件和链接库被链接器链接(生成 .exe 格式的二进制可执行文件)。

第三步: .exe 可执行文件开始执行。


干货:C语言中: .c 文件(源文件)  .h 文件(头文件


3、main函数(主函数)

int main()      //int 表示函数执行结束返回值为 整型类型
{               //main为函数名称,与return 0 首尾对应

    return 0;   //{}内部为函数体
}

函数解析:

int  函数返回类型为整型

main  函数名称

{ }  内部为函数体


干货:

(1)int与与return 0 前后呼应(0对应整型),也可以使用其他整型的数字进行替换不建议更换

(2)在C语言中习惯认为,返回0说明程序正常运行,返回非0说明程序不正常运行。(有利于判断程序是否正常运行,建议不要改变返回的值

(3)main函数是程序的入口,有且只有一个

(4)当一个项目中存在多个 .c 文件,亦只能有1个main函数


坑点:

(1)main写成了mian

(2)漏掉了main后的()

(3)使用了中文的符号,如分号 ; 括号() 大括号 { }

(4)语句结束后,漏写分号英文的分号 ;


4、printf函数(库函数)

4.1、无格式输出及有格式输出的单个占位符使用

按照指定格式打印信息到屏幕上,分为无格式输出有格式输出通常有格式输出,通常配合 占位符转义符进行使用。在使用printf函数时,应包含该库函数对应的头文件stdio.h,用法如下图所示:

#include <stdio.h>

int main()
{
    printf("Hello\n");      //无格式输出
    
    int n = 1;
    printf("%d\n",n);       //十进制整型输出
    printf("%c\n",'x');     //字符类型输出
    printf("%f\n",3.14f);   //float类型输出
    printf("%lf\n",3.14);   //double类型输出
    return 0;
}

4.2、多个占位符使用

"张三" 为字符串常量

%s 为字符串类型占位符

%zd 为 sizeof函数返回值size_t类型的占位符

示例如下:

#include <stdio.h>


int main()
{
    printf("%s says it is %d o'clock\n","张三",8);
    return 0;
}

代码解析:

函数体中,占位符数量为2,分别是%s和%d

参数1:"%s says it is %d o'clock\n"

参数2:"张三"

参数3: 8

综上:存在n个占位符,则存在n+1个参数【参数与占位符按顺序 一 一 对应】


4.3、占位符限定宽度

printf函数允许限定占位符的最小宽度。

(1)对于整型

#include <stdio.h>

int main()
{
    printf("%5d\n",123);//输出结果为**123
                        ///*代表空格,仅供个人理解使用,实际不存在
    return 0;
}

代码解析:

%5d 表示该占位符最小宽度至少5位

由于此处123为三位,不足5位,自动在左边补空格直至满足至少5位(输出结果默认右对齐);如果希望左对齐,则在占位符%后加上 - 号,即%-5d


#include <stdio.h>


int main()
{
    printf("%-5d\n",123);
    return 0;
}

(2)对于小数

小数默认显示精度为小数点后6位

#include <stdio.h>


int main()
{
    printf("%12f\n",123.45);//输出值为**123.450000
                            //*代表空格,仅供个人理解使用,实际不存在
    return 0;
}

代码解析:

%12f 表示该占位符最小宽度至少12位

由于此处123.45为小数,已知小数在小数点后默认为6位,则123.45实际为10位(小数点亦算1位,在默认对齐的情况下,左边补两空格补齐12位)

若要保证输出值总有正负号,在占位符%后加上+号,即%+d


(3)对于小数点后的位数

在占位符%后加上 .2,即%.2f , 2表示小数点后的保留位数。

(4)对于字符串

#include <stdio.h>


int main()
{
    printf("%.5s\n","Hello World");//输出值为Hello(只取前5位)
    return 0;
}

代码解析:

%.5s 输出字符串前5位。


未完待续

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值