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)标识符的命名要求 可以由字母(A~Z,a~z),下划线(_),数字组成 且规定第一个字符不能为数字 ×(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'