C语言学习day02

本文详细介绍了Linux常用命令如vim编辑器的使用,C语言的编程流程,包括预处理、编译、汇编和链接。同时,讲解了C语言的数据类型、变量命名规则、输入输出、运算符、类型转换以及基本的控制结构如循环和开关语句。此外,还提及了gcc编译器的参数和文件类型。内容深入浅出,适合初学者掌握Linux环境下的C语言编程基础。
摘要由CSDN通过智能技术生成
复习:
1.Linux 常用命令

is cd pwd clear touch mv cp cat/head/tail/more mkdir chomd rm find grep ifconfig ping whoami sudo man

2.vim文本编辑器

vi 是系统自带的文本编辑器 vim 是vi的加强版本

三大模式:正常,插入,行底

切换方法:ESC i :

正常模式下的操作:

光标的移动:gg G nG vim file.c +n

删除代码: dd x dw/de ndd d$ d^ dgg dG

替换代码: r cw R

复制代码:yy nyy p粘贴

撤销操作:u U Ctrl+r

插入模式下的操作:

jj Ctrl+z Ctrl+x Ctrl+p

行底模式:

set nu set nonu, %s/old/new

n /key !cmd

3.C语言简介

美国贝尔实验室,肯.汤姆逊,丹尼斯.里奇, 1971-1973年

BCPL,newB,c,UNIX,Minxi,Linux,gcc

c89 c99 c11

4.C代码编程执行程序的过程

预处理: 查看宏函数,宏定义的替换结果,检查宏函数

​ gcc -E -》 .i结尾的预处理文件

编译:理解c代码底层的工作原理。i++ ++i,函数重载的原理

gcc -s -》 .s结尾得到编译文件

汇编:生产代码库

gcc -c -》.o结尾的目标文件

链接:多文件编程的基础

gcc a.o b.o c.o … -》a.out 的可执行程序

5.gcc编译器常用参数

-Wall -Werror

-E -S -c -o -std=gnuxx -l -I(i大写) -D(命令行宏定义)

6.C语言的文件类型名

.h .h.gch

.c .i .s .o .a .so

7.数据类型

signed char 1 -128~127

signed short 2 -32767~32767

signed int 4 正负20亿

signed long 4/8 9开头的19位数

signed longllong 8

unsigned char 1

unsigned short 2

unsigned int 4

unsigned long 4/8

unsigned longlong 8

float 4

double 8

long double 12/16

小数点后六位有效

8.变量名的取名规则

1.只能有字母,数字,下划线组成

2.不能是数字开头

3.不能与32个关键字重名

4.见名知意

9.变量的输入输出

printf 提示信息+占位符+变量名

scanf 占位符+变量名的地址

%hhd %hd %d %ld %lld %f %lf %Lf

%nd %-nd %0nd %n.mf %g

10.运算符

/ % 除数不能为0 ,否则会产生浮点数

== 常量尽量放左边

++/-- 一行内不要出现多次

&& || 具有短路特性

A?B:C 不能在里面出现流程控制语句

11.类型转换

自动类型转换:不同类型的数据会先自动转换为同类型的数据,才能进行计算

转换规则(以不丢失数据为基础,适当地牺牲一些空间)
1、字节少的向字节多的转
2、有符号向无符号转
3、整型向浮点型转

强制类型转换:

(类型)数据 有丢失数据的风险,慎用

一,开关语句

switch(n) /n 可以是数值,表达式,运算结果必须是整数

{

case val: val 必须是常量

​ …

​ break;关闭执行开关,如果每个case后都有一个break,形成了分支结构

​ default: 如果每个case都没打开,则打开该开关,而且任何位置都是最后生效

}

case a … b:判断a到b范围的数据,此为GNU编译器独有的语法,不建议使用

二.循环结构

for 循环语句

循环就是让一段代码反复执行,达到你想要的效果

for是一种比较灵活(相比较于其他循环语句)而且比较危险的一种循环

for([1];[2];[3])

{

​ [4];

}

一般使用一个变量来引导循环的运行,这个变量就叫做循环变量

1.是给循环变量赋值,C99标准才能在里面定义变量

2.判断循环变量是否达到边界

4.执行被反复的代码,也叫循环体

3.改变循环变量,防止出现死循环,一般对循环变量自加或自减

1 2 4 3 2 4 3 . . .

大括号问题:

1.建议上下对齐

2.如果循环体只有一行代码时,大括号可以省略,但不利于扩展(不建议使用)

for循环多种写法;

for(; ;)

{

死循环

}

int i =0;

for(;1<10;i++)

{

}

for(int i=0;i<10;)

{

i++;

}

while循环语句:

while(循环条件):当循环条件为真时,执行循环体,为假时结束循环

{

​ 循环体

}

while循环相当于for循环的精简版本

for循环负责明确自动循环次数的问题
while循环负责只知道结束条件,而不知道循环次数
do while 语句

do

{

循环体

}while(循环条件);

先执行循环体,在判断循环条件,改循环体至少执行一次

适合先干活,后检查的情况

循环嵌套:

循环语句中包含循环语句

外层序号执行一次,内层执行n次

跳转语句:

goto ; 可以实现在函数内任意跳转

他可能会破坏已经设计好的分支或循环语句,因此绝大数公司都禁止使用。

但是它在驱动编程都是特别适合出来异常

​ 标签名;

​ goto 标签名;

break

1.在switch语句中关闭执行开关

2.跳出循环,只能跳一层

continue

结束本次循环,进入下一次循环

return

1.返回一个数剧给函数的调用者

2.结束函数的执行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值