C语言基础知识大全.docx
《C语言基础知识大全.docx》由会员分享,可在线阅读,更多相关《C语言基础知识大全.docx(9页珍藏版)》请在冰豆网上搜索。
C语言基础知识大全
常量和变量
1•常量:
程序执行过程中,值不变的量。
3,'a'
变量:
值可以改变的量。
一个变量有一个名字,在内存中有一定的存储单元,存放变量的值。
2•常量类型:
a.整型:
12,0,-3
b.实型:
4.6,-1.2
c.字符型:
'a','d'
d.符号常量:
#definePRICE30(PRICE能再被赋值且要大写)
3.变量:
先定义,后使用。
一个变量只能被指定为一确定类型。
4.标识符:
标识变量名,符号常量名,函数名,数组名,类型名,文件名的有效字符数列。
a.由字母、数字、下划线三种字符组成,第一个字符必须为字母或下划线。
b.大写字母、小写字母被认为是两个不同的字符。
c.长度一般小于8个。
数据类型
一.整型:
1.整型常量
a.十进制:
12,-3,0
b.八进制:
以0开头。
c.十六进制:
以0x开头。
2.整型变量
a.int-32768——32767
b.shortint-32768——32767
c.longint
d.unsignedint05535
e.unsignedshort065535
f.unsignedlong
int、shortint、longint第一位为符号位0000001(0为正,1为负)
unsigned第一位不是符号位0000001
所以int型和unsigned型的000001不是同一个值。
.实型:
1.实型常量:
a.十进制数:
数字和小数点组成。
0.12,.12,12.0,0.0
b.指数:
e之前必须有数字,e后面必须为整数。
12e3
2.实型变量:
a.单精度:
float7位有效数字111111.1可,111111.11不可
b.双精度:
double15—16位有效数字。
三.字符型:
1.字符常量:
oy'\z'《
Cl・Cl,A,,o
b.转义字符:
\n'换。
'\t'从第九列开始。
'\r'回车。
'\b'退一格
2•字符变量:
charchar二'a'—个字符变量在内存占一个字节。
。
将一个字符常量放到一个字符变量中,并不是把该字符本身放到内存单元中去,而是将该字符的ASC码
放到存储单元中,所以字符型数据和整型数据之间可以通用。
一个字符型数据既可以以字符形式输出,
又可以以整数形式输出。
四•字符串常量:
"howareyou","a","&12"
。
不能把一个字符串赋给一个字符变量。
charc='a对,charc="how"错
。
’a':
在内存中存a。
“a在内存中存a
0。
0’是C语言中判断字符串是否结束的标志。
变量赋初值
a.inta=3;
floatf=7.2;
charc='a';
b.inta,b,c=5;
相当于inta,b,c;
c=5;
c.inta=3;b=3;c=3;不可写:
inta=b=c=3;
各类数值型数据间的混合运算
整型、实型、字符型数据可以混合运算:
10+'a'+1.5-8765.4321*'b'
double<--float
long
unsigned
intv--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.chara;
a二C;
putchar(a);
b.putchar('\n');
c.putchar('\102');
getchar函数:
输入一个字符
#include"stdio.h"
a.charc;
c=getchar();
putchar(c);
b.putchar(getchar());
c.printf("%c",getchar());
putchar函数:
输出若干个任意类型的数据
a.printf("%d,%d",a,b);
b.printf("a=%db=%d",a,b);
1.d输出十进制整数
a.%d:
b.%md:
指定输出的宽度。
数据位数小于m,左端补空格;大于m,按实际位数输出。
a=123;b=12345;
printf("%4d,%4d",a,b);
输出结果为:
_123,12345
c.%ld:
输出长整型数据。
longa=123456;
printf("%ld",a);用%d,错。
123456
printf("%9ld",a);输出结果为:
2.o输出八进制数
3.x输出十六进制数
4.u输出unsigned型数据
5.c输出一个字符
6.s输出一个字符串
a.%sprintf("%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函数:
输入任意类型的多个数据
seanf("%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
elseC;
如果条件A满足,执行B,否则执行C。
3.if(A)
if(B)C
elseD;
else
if(F)H
elseK;
输入三个数,按小到大输出。
main()
{floata,b,c,t;
seanf("%f,%f,%f",&a,&b.&c);421
if(a>b)
{t二a;a=b;b=t;}241
if(a>c)
{t=a;a=c;c=t}142
if(b>c)
{t=b;b=c;c=t;}124
printf("%f,%f,%f",a,b.c);
}
switch语句
switch(a)
{
caseA:
B;break;
caseC:
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;
while(i<-5);
如果i=1,执行i++,i=4;不满足i<-5,执行下一句。
for语句
for(A;B;C)D;
A:
为变量赋初值;
判断是否满足条件B;满足则执行D再执行C再判断B;不满足则执行下一句。
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,继续执行循环