C基础c语言之父丹尼斯 里奇
C语言的优缺点:
优点:功能强大
缺点:
1.C语言的引入------hello,world
!#includeint
main(int argc,char *argcv[])
{ printf("hello,world!\n");
return 0;
}
程序解析:
#:预处理命令
include:头文件的包含
<>:把括号里面的内容引入到原文件中来
stdio.h:头文件,是计算机自带的库,可以直接使用
main:函数名,main()是主函数,C程序源文件有且只能有一个 main()即主函数!!!
C程序的入口,即所有的C程序都是从main() 开始执行!!!
int argc:参数的个数char *argc[]:记录参数
printf():是库函数,包含在中,按一定格式输出。
return 0:返回,或者函数结束注: 此程序基本决定了C程序的框架
2.C的数据类型
基本数据类型:
整数类型:
int:基本整形
short int:短整形(short)
long int长整形(long)
unsigned:无符号
signed:有符号
字符型:char 字符:由单个字符引起来的单个字母,数字或其他符号 'e' '1' '!' 等都是字符 getchar():获得单个字符
putchar():输出单个字符
实型(浮点型):
float:单精度 有效位:7位左右
double:双精度 有效位:15位左右 numf E n 乘以10的n次方 n:一定是整数 new_numf = numf * 10^n;
枚举类型: enum:
构造数据类型:
数组类型,结构体(struct),联合体(union) 指针类型: 空类型: void:
3.变量的定义
data:数据
type:类型 value:值
(1)DataType Name,Name2,...,Namn; 可以定义多个变量,中间用逗号隔开,结尾用分号!
(2)DataType Name; DataType Name1;
(3)建议一行定义一个定义并初始化 DataType Name = value;
(4).标识符:g 包括变量名,函数名及其他标号等
1)标识符的命名要求 可以由字母(AZ,az),下划线(_),数字组成 且规定第一个字符不能为数字
2)命名规则 可读性要高,做到“见名知意” 驼峰命名法 尽量不要用汉语拼音
(5).格式输入/输出:printf()/scanf()
1)printf() 按一定格式输出: printf("占位符")参数列表 一一对应 printf("打印输出的内容!"); %m.nf:(右对齐!) m:总位数 n:小数点保留的位数 %-m.n:(左对齐!)
2)scanf() 按一定格式输入: scanf("占位符"); 一一对应 &:取地址符号
|占位符:| printf() ------- scanf()
int -----------%d----------- %d
char ---------- %c ------- %c
long %ld %d
float %f %f
double %lf %f 字符串 %s
6.常量
数字常量:123 789 9097 -3.43
字符常量:'d' '#' '?' '3' 'A'
实型常量:1.234 3.1415926 -1.234
字符串常量:由双引号括起来的字符序列(由一个或多个字符组成)
注意:字符串和字符的区别 'a'占一个字节 "a"占两个字节 \0字符串的结束标志,一般不显示 "sdgsrhg" "13ertyu?<@fg" "fg"
7.变量和常量的区别: 变量:其值可以更改 先定义后使用 常量:其值不可更改 随时可以使用,无需定义或声明 变量的初始化: 变量名 = 常量;
二、运算符
1.sizeof
(1)计算大小,得出对应变量或数据类型所占内存空间大小
单位:字节(byte) 1字节 = 8位(bit) sizeof Datatype: 64位机下:
sizeof(char) = 1 sizeof(short) = 2 sizeof(int) = 4 sizeof(long) = 8 sizeof(float) = 4 sizeof(double) = 8
32位机下: 同64位机 sizeof(long) = 4
(2)对应变量的内存大小:
sizeof(ch) = 1 sizeof(short_size) = 2 sizeof(int_size) = 4 sizeof(long_size) = 8
sizeof(float_size) = 4 sizeof(double_size) = 8
注意(1)(2)的结果,对比数据类型所占大小,和其定义的变量所占内存的大小
2.算术运算符
加+ 减- 乘× 除/ 取余%
自增:++ 自减:-- 自增:++ ++i:先自增,后取值 num = ++i; num = i + 1; num = i; i++:先取值,后自增 num = i++; num = i; i = i + 1; 自减:-- --i; i--;
3.关系运算符 大于:> a>b: 若成立则结果为1 不成立则结果为0 小于:< a=
a>=b:
若成立则结果为1
不成立则结果为0
小于等于:<=
a<=b:
若成立则结果为1
不成立则结果为0
不等于:!=
a!=b:
若成立则结果为1
不成立则结果为0
4.逗号运算符(,)
表达式1,表达式2,表达式3
整个逗号表达式的值取决于最后一个表达式的值
5.使用scanf()注意事项
(1)一定要严格按照scanf中的格式输了变量的值
(2)使用scanf()时,取参数列表中参数的地址,scanf()是将输入的值保存到变量对应的地址中
(3)缓存区文体 scanf()函数中不能使用换行符:'\n'