c语言的入门,要理清楚电脑运行的顺序,一些关键字和函数名,能够做出一些基础的代码即可。
C语言-程序设计
程序:一组计算机能识别和执行的指令;
计算机能看懂的只有机器语言(即:0和1组成的二进制代码),但是人类看不懂,所以要使用汇编语言(符号语言)进行操作,但是汇编语言也不太贴近人类使用的语言,所以使用高级语言:代码;
以下的问题要牢记,考研题或者一些公司面试题会出这个:
代码运行的顺序源程序(.c文件)→<编译>→目标程序(.obj文件)→<连接库函数>→可执行文件(.exe文件)
高级语言的发展过程:非结构化→结构化(顺序结构、选择结构、循环结构)→面向对象
注意:
①一个程序由一个或者多个源文件组成
②预处理指令(头文件等)、全局声明、函数定义
③函数是c语言的主要组成部分
④一个函数包含两个部分:函数首部和函数体,函数体重有声明部分和执行部分
⑤程序总是由主函数(main函数)开始执行
⑥c语言本身没有任何输入和输出
⑦每句代码结束要使用分号结尾
C语言-数据类型
使用c语言编程中,数据类型是一个关键的问题,要了解自己使用的具体数据的数据类型。
数据类型主要有以下几种:整型(int),长整型(long int),短整型(short int),双长整型(long long int),字符型(char),布尔型(bool),单精度浮点型(float),双精度浮点型(double),枚举类型(enum),空类型(void),还有指针类型,数组类型,结构体类型(struct),共用体类型(union);
字节数:
Int:4个字节
Unsigned int(无符号基本整型):4个字节
Short(短整型):2个字节
Unsigned short(无符号短整型):2个字节
Long:4个字节
Long long :8个字节
Char:一个字节
Float:4个字节,但保留到小数点后6位
Long double :16个字节
字符:字母、数字、专门符号、空格符、不显示的符号;
Ascall
查找ASCAII,man ASCAII
常用的ASCAII值:
A - 65
a - 97
1 - 49
注意:大小写字母之间转换 大写字母+32 = 小写字母
C语言-变量和常量
关于常量
常量就是不能改变的量:进制数据、整形数据、浮点型、字符型、标识常量(#define M 3)
关于变量
变量分为 全局变量和局部变量
全局变量
定义在主函数前面,全局使用,程序结束才会被释放。
默认初值 = 0
局部变量
就在函数内部被声明,函数结束就没了。
变量的定义(标识符)
变量名的组成是:
1.下划线,数字,字母组成,并且其中数字不能作为首字母;
2.不能和关键字重复
3.最好可以见名知意
必须先定义在使用;
其使用形式为:
存储类型 数据类型 变量名;
C语言-存储类型和运算
关于存储类型
四种存储类型
Auto(自动存储,默认存储),static(静态存储),extern(外部存储),register(寄存器存储)
Static的作用:修饰局部变量,延长生命周期
修饰全局变量,限制作用域,只能再本文件使用
修饰函数,限制作用域
特殊的指令:Const(将变量常量化),常量化之后,这个常量不能再被改变;
关键字
存储类型:auto 、static、register、extern、const、valotele
数据类型:int short long float double char
控制语句:if else while do goto for switch break,case continue default return
求字节:sizeof()
求长度:strlen
输入输出:printf、scanf。gets puts getchar putchar
运算符和表达式
算数运算符:+ - * % ++ --;
关系运算符:> < = <= => != ;
逻辑运算符:! && ||
位运算符:<< >> ~ | ^ &
赋值运算符: = 等
条件运算符:?:
逗号运算符:,//只看最后一个逗号后面的值
求字节运算符:sizeof
指针运算符:* &
强制类型转换运算符:(类型)
成员运算符:. ->
下标运算符: [ ]
三目运算符:(表达式1)?(表达式2):(表达式3);//执行表达式1,若1是真的就执行2否则执行3
%只能用于整型
自加和直减
++i 和--i 在使用i之前,i先+1或-1
i++ 和 i-- 在使用i之后 i+1或-1
数据类型的转换
高精度向低精度转换
有符号向无符号转换
变量1 = (目标类型) 变量2;
位运算
位运算中,*^每一位都要运算!^*
位与:&,位或:|,取反:~(1和0 互换),异或:^相同为0 ,不同为1
用位运算的方式解决 两个数字互换问题:a=a^b;b=a^b;a=a^b;
左移:<<n
逻辑:去掉最左边的n位,往最右边添加n个0;
右移:>>n
无符号:去掉最右边的n位,往最左边添加n个0;
有符号:去掉最右边的n位,往左边添加n个符号位
有符号存是补码,先找源码的反码,再找补码,移动n位前面添加n个符号位,找新原码的反码,反码+1变为补码,计算出来就是移动后的数值
C语言-输入输出
首先要明白的一点是:c语言程序中本身没有任何输入和输出。
所以我们在使用的时候要自己定义输出和输出。
Scanf输入
Printf输出
Scanf(“变量格式”,&变量名);
Printf(“变量格式”,变量名);
%u 以无符号形式输出;
%%:输出%
%#:显示进制输出
%p:输出地址
\t:按指标输出
\r:按回车结束
\‘’:输出一个单引号
\“”:输出一个双引号
\\:输出反斜杠
抑制符%*c
编写一个经典的代码模块,使用输入和输出语句 使用c语言
#include <stdio.h>
int main(){
printf("hello world\n");
return 0;
}