常量和变量 1.常 量: 程序执行过程中,值不变的量。 3 ,’a’ 变 量:值可以改变的量。 一个变量有一个名字,在内存中有一定的存储单元,存放变量的值。 2.常量类型: a.整 型:12,0,-3 b.实 型:4.6,-1.2 c.字 符 型: ’a’,’d’ d.符号常量: #define PRICE 30 (PRICE不能再被赋值且要大写)
3.变 量: 先定义,后使用。一个变量只能被指定为一确定类型。
4.标识符:标识变量名,符号常量名,函数名,数组名,类型名,文件名的有效字符数列。 a.由字母、数字、下划线三种字符组成,第一个字符必须为字母或下划线。 b.大写字母、小写字母被认为是两个不同的字符。 c.长度一般小于8个。
数据类型 一.整 型: 1.整型常量 a.十 进 制:12,-3,0 b.八 进 制:以0开头。 c.十六进制:以0x开头。
2.整型变量 a. int -32768——32767 b. short int -32768——32767 c. long int d. unsigned int 0——65535 e. unsigned short 0——65535 f. unsigned long
int、short int、long int 第一位为符号位 0000001 (0为正,1为负) unsigned 第一位不是符号位 0000001 所以int型和unsigned型的000001不是同一个值。
二.实 型: 1.实型常量: a.十进制数:数字和小数点组成。0.12,.12,12.0,0.0 b.指 数:e之前必须有数字,e后面必须为整数。12e3
2.实型变量: a.单精度:float 7位有效数字 111111.1可,111111.11不可。 b.双精度:double 15—16位有效数字 。
三.字符型: 1.字符常量: a. ’a’ , ’x’ , ’*’ ,’$’ 。 b. 转义字符:‘ ’换。 ’ ’从第九列开始。’ ’回车。 ’’退一格。
2.字符变量: char char=’a’ 一个字符变量在内存占一个字节。
。将一个字符常量放到一个字符变量中,并不是把该字符本身放到内存单元中去,而是将该字符的ASC码 放到存储单元中,所以字符型数据和整型数据之间可以通用。一个字符型数据既可以以字符形式输出, 又可以以整数形式输出。 四.字符串常量: "how are you", "a","&12"
。不能把一个字符串赋给一个字符变量。 char c=’a’对,char c="how" 错。 。’a’ :在内存中存a。 “a”:在内存中存a。 ‘’是C语言中判断字符串是否结束的标志。
变量赋初值 a. int a=3; float f=7.2; char c=’a’; b. int a,b,c=5; #p# 相当于 int a,b,c; c=5; c. int a=3;b=3;c=3; 不可写: int a=b=c=3;
各类数值型数据间的混合运算 整型、实型、字符型数据可以混合运算:10+’a’+1.5-8765.4321*’b’ double<--float long unsigned int <--char,shot
float型转晃?double型 char型,shot型转换为 int型 int型 转换为double型 等等
算术运算符和算术表达式 1.基本算术运算符 + 加 - 减 * 乘 / 除 5/3=1 % 摸(MOD) 5%3=2
2.强制类型转换运算符:将一个表达式转换成所需类型 (类型名)(表达式) (double)a 将a转换为double型 (int)(x+y) 将x+y转换为int型 (float)(5%3) 将5%3转换为float型
putchar函数:输出一个字符 #include "stdio.h" a. char a; a=’C’; putchar(a); b. putchar(’ ’); c. putchar(’102’); getchar函数:输入一个字符 #include "stdio.h" a. char c; c=getchar(); putchar(c); b. putchar(getchar()); c. printf("%c",getchar());
putchar函数:输出若干个任意类型的数据 a. printf("%d,%d",a,b); b. printf("a=%d b=%d",a,b);
1.d 输出十进制整数 a. %d: b.%md: 指定输出的宽度。数据位数小于m,左端补空格;大于m,按实际位数输出。 a=123;b=12345; printf("M,M",a,b); 输出结果为:_123,12345 c.%ld: 输出长整型数据。 long a=123456; printf("%ld",a); 用%d,错。 printf("%9ld",a); 输出结果为:___123456 2. o 输出八进制数 3. x 输出十六进制数 4. u 输出unsigned型数据 5. c 输出一个字符 6. s 输出一个字符串 a.%s printf("%s"."how"); b.%ms c.%-ms d.%m.ns e.%-m.ns
7. f 以小数形式输出实数 a.%f b.%m.nf c.%-m.nf 8. e 以指数形式输出实数 a.%e b.%m.ne c.%-m.ne
scanf函数:输入任意类型的多个数据 scanf("%d%d%d",&a,&b,&c); &a指a在内存中的地址。 ——按a,b,c在内存的地址将a,b,c的值存入。
if语句 1. if (A) B; 如果条件A满足,执行B,否则执行下一句。
2. if (A) B else C; 如果条件A满足,执行B,否则执行C。 3. if (A) if (B) C else D; else if (F) H else K;
输入三个数,按小到大输出。 main() { float a,b,c,t; #p# scanf("%f,%f,%f",&a,&b.&c); 4 2 1 if (a>b) {t=a;a=b;b=t;} 2 4 1 if (a>c) {t=a;a=c;c=t} 1 4 2 if (b>c) {t=b;b=c;c=t;} 1 2 4 printf("%f,%f,%f",a,b.c); }
switch 语句 switch(a) { case A : B; break; case C : D; break; default : F; break; } 如果变量a=A,执行B;执行break语句,跳出swith语句。如果没有break语句,D,F语句也会执行。 如果变量a=C,执行B;其它情况执行F。
while 语句 while(A) { B; } 如果条件A满足,执行B,否则执行下一句。(先判断,后执行。) while(i<-5) { s=s+1; i++; } 如果i=1,则不满足i<-5,执行下一句。i值不变。
do-while 语句 do { A; } while(B); 先执行A,再判断B;如果B满足,再执行A,否则执行下一句。(先执行,后判断) do { s=s+1; i++; } while(i<-5); 如果i=1,执行i++,i=4;不满足i<-5,执行下一句。
for 语句 for( A ; B ; C ) D; A:为变量赋初值; 判断是否满足条件B;满足则执行D再执行C再判断B; 不满足则执行下一句。 #p# for(i=1;i<=5;i++) s=s+1;
for(i=1,s=0;i<=5;i++) s=s+1; for( ;i<=5;i++) s=s+1; for( ;i<=5; ) { s=s+1; i++;}
break 语句 break 语句:终止循环。用于循环语句,switch语句。 while(A) { if (B) C; break; ...... } 执行break语句,跳出循环,执行后面的语句。
continue 语句 continue 语句:只结束本次循环,而不是终止整个循环。 while(A) { if (B) C; continue; ...... } 执行break语句,跳出循环,再判断A,继续执行循环。
|