一、C基本变量和语法
C的引入
#include<stdio.h>
int main(int argc,char *argv[ ])
//int main(int argc,char **argv)
//int main( )
{
printf("hello!\n");
return 0;
}
1.程序解析:
#:预处理命令
include:头文件的包含
< >:把括号里的内容引入到源文件中
stdio.h:头文件,是计算机自带的库,可以直接使用
main:函数名,main( )是主函数,c程序源文件有且只能有一个main( )即主函数!!!c程序的入口,即所有的c程序都是从main( )开始执行!!!
int argc:参数的个数
char *argv[ ]:记录参数
printf( ):是库函数,包含在<stdio.h>中
return 0:返回,或函数结束
2.C的数据类型
基本数据类型:
整数类型:
int:基本整形数据
short int:短整型(short)
long int:长整型(long)
unsigned:无符号
signed:有符号
字符型:char
字符:由‘ ’括起来的单个字母,数字或其他符号,'e',' 1','!'都是字符
getchar( ):获取单个字符
putchar( ):输出单个字符实数(浮点型):
float:单精度,有效位数7位左右
double:双精度,有效位数15位左右
numf e(或E) n:n一定是整数!
new_numf=numf*10^n;枚举类型:
enum构造数据类型:
数组类型,结构体(struct),联合体(union)
3.变量的定义
data:数据
type:类型
value:值
(1)DataType name1,name2,....namen;可以定义多个变量,中间用逗号展开。结尾用分号结束!!!
(2)DataType Name;
DataType Name1;
(3)建议一行定义一个并初始化!!!
DataType Name=value;
4.标识符
- 包括变量名,函数名,及其他标号等
(1)标识符的命名要求
字母(A-Z,a-z),下划线(_),数字组成,且规定第一个字符不能为数字
(2)命名规则 - 可读性要高,做到“见名知意”
- 驼峰命名法(百度单词)
- 不要用拼音!!!
5.格式输入、输出:printf( )/scanf( )
scanf( )
格式:scanf("占位符",&对应参数)printf( )
格式:printf("占位符",参数列表)
%-m.nf:-表示左对齐(不加表示右对齐),m表示总位数,n表示保留的位数
6.常量
数字常量:123 1 -123
字符常量:'d' '$' '?' '3' 'A'
实型常量:1.123 3.1415 -1.321
字符串常量:由双引号括起来的字符序列(有一个或多个字符组成)
注意:字符和字符串的区别
'a':占一个字节
"a":占两个字节
"\0":字符串结束标志,一般不显示
7.变量和常量的区别
变量:其值可以更改,先定义后使用!
常量:其值不可更改,无需定义!
变量的初始化:变量名=常量;
注:类型一定要一致!
二.运算符
sizeof( )
计算大小,得出对应变量或数据类型所占内存空间的大小
单位:字节(byte) 1字节=8位(bit)
(1)sizeof DataType:
64位机下:
sizeof(char) = 1
sizeof(int) = 4
sizeof(short) = 2
sizeof(long) = 8
sizeof(float) = 4
sizeof(double = 8
32位机下:
同64位机只有long大小不一致
sizeof(long) = 4
(2)对应变量的内存大小:
sizeof(ch) = 1
sizeof(short_size) = 2
sizeof(int_size) = 4
sizeof(long_size) = 8
sizeof(float_size) = 4
size(double_size) = 8
注意(1)(2)的结果,对比数据类型所占大小,和其定义的变量所占内存的大小
2.算术运算符
加+
减-
乘*
除:/
取余:%
自加:--
++i:先自增后取值
i++:先取值后自增
3.关系运算符
大于:>
小于:<
等于等于:==
大于等于:>=
小于等于:<=
不等于:!=
若成立,则结果为1;
若不成立,则结果为0;
4.逗号运算符(,)
表达式1,表达式2,表达式3...
其中每个表达式又可以是一个逗号表达式!
计算括号内所有表达式的值,取决于最后一个表达式的值!!
5.使用scanf( )注意事项
(1)一定要严格按照scanf()中的格式输入变量的值!!!(2)使用scanf( )时,取参数列表中的参数地址,scanf( )是将输入的值保存到变量对应的地址中
(3)缓存区问题 scanf()函数中不能使用换行符:'\n'