C语言.docx
《C语言.docx》由会员分享,可在线阅读,更多相关《C语言.docx(42页珍藏版)》请在冰豆网上搜索。
![C语言.docx](https://file1.bdocx.com/fileroot1/2022-11/20/d92e94ed-b745-4bbd-9138-2f660f1ac033/d92e94ed-b745-4bbd-9138-2f660f1ac0331.gif)
C语言
C语言程序设计
第一章:
概述
第三节C程序的基本结构
例1:
#include
voidmain()
{
Printf(“Helloworld!
\n”);
Getchar();
}
说明:
1)、#include
编译预处理命令
Include包括包含“#”是固定的书写格式
Stdio.h标准的输入输出库
编译:
将自然代码用编译器翻译成计算机能够识别的语言
2)、voidmain()
Void:
无返回值,无类型
Main:
主要的
函数是C程序的基本单位,1个C程序有且只有一个main()函数,程序的执行总是从main()函数开始的,并且结束于main()函数,无论main()函数的位置如何。
函数的2个部分:
函数首部:
函数体
函数体:
大括号的部分
{
声明部分(声明部分有时候可以省略)
执行部分
}
3)、printf(“helloworld!
\n”);
格式化输出函数
Printf(“格式控制串”,输出项);
“格式控制串”包含两种信息:
A、普通字符………..原样输出
B、格式字符………..不原样输出,%开头是格式字符
%d……输出整数
%f……..输出小数
%c…….输出字符型数据
输出项:
输出项如果有多个,中间用“,”分隔
4)、“\n”用反斜杠开头的是转义字符
\n表示换行,是一个换行符
5)、C语言大小写敏感,一般用小写
6)、C语言使用/*…………..*/注释一段
用“//”注释一行
7)、C语言本身设有输入输出语句,其输入输出操作全部由函数完成。
这句话正确、
第四节上机
编辑源程序(*.c)
翻译
目标方程(*.obj)//二进制但不能运行
连接
可执行程序(*.exe)
例二:
#include
Voidmain()
{
Inta,b,c;
a=1;
b=2;
c=a+b;
printf(“c=%d”,c);\\(“%d+%d=%d”,a,b,c);
getchar();
}
int:
整数数据类型
inta,b,c定义三个整数的变量
a,b,c为变量,变量是占空间的
存储的基本单位:
字节(B),最小单位:
位(b)
第二章数据类型、运算符与表达式
一、数据类型(基本型),用来声明变量的
1、整型:
短整型:
shortint
整型:
int
长整型:
longint
2、浮点型
单精度浮点型:
float
双精度浮点型:
double
3、字符型:
char
***计算数据类型占空间的大小:
***
#include
voidmain()
{
printf("%d\n",sizeof(shortint));
printf("%d\n",sizeof(int));
printf("%d\n",sizeof(longint));
printf("%d\n",sizeof(float));
printf("%d\n",sizeof(double));
printf("%d\n",sizeof(char));
getchar();
}
4、数据类型决定:
a、决定空间的大小(变量的空间大小),可以用”sizeof()”运算符进行测试
“sizeof()”来测量空间占多大小
b、决定数值的范围
二、常量与变量
1、常量:
其质不改变的量
A、符号常量:
标识符规则:
由字母数字下划线构成且开头的不能是纯数字,关键字不能做标识符
符号常量的定义格式:
#define符号,常量值define:
声明,定义。
例:
#definePRICE30
#include
voidmain()
{
intnum,total;
num=10;
total=num*PRICE;
printf("total=%d",total);
getchar();
}
B、普通常量(4种)
1)、整型常量(三种表现形式)
十进制整型
八进制整型(0…7,用0开头是八进制)
十六进制整型(0…9,a…f,用0x开头)
2)、浮点型常量(2种)
用小数点表示1.546.5……
用指数表示1.5e21.5的十的2次方
注:
e的前面必须有数字,后面必须为整数。
3)、字符型常量
a、定义:
用单引号引起来的一个字符‘a’‘b’‘*’
b、以下不是字符常量或错误:
“a”…是字符串常量
‘ab’…错误
c、字符常量是以ASCII码的形式存储的
Signed……有符号
Unsigned……无符号(Unsignedinta;只能填大于等于0的数)
d、常见ASCII码对应值:
‘A’……65‘a’……97’0’……48
例题:
#include
voidmain()
{
charc1;
c1='A';
printf("字符是:
%c\n数值是:
%d",c1,c1);
getchar();
}
例题变向:
#include
voidmain()
{
charc1;
c1='A';
c1=c1+32;
printf("%c,%d",c1,c1);
getchar();
}
e、转义字符:
用‘\’开头
常用的转义字符有:
‘\n’……换行
‘\t’……跳格(与电脑的Tab键相似,跳到下一个输出区)。
‘\”’……表示输出一个双引号
‘\ddd’:
1…3位八进制表示的字符
‘\xHH’:
1…2位十六进制表示的字符(x小写)
例如:
‘\101’,‘\x41’都是大写字母A
5)、字符串常量
用双引号引起来的多个字符
‘’:
空串‘’:
空格字符串空串占一个字节,空格字符串两个字节
字符串结束标志‘\0’
2、变量:
程序运行期间其值可以改变的量
A、变量的定义:
数据类型变量名1,变量名2…变量名n;(变量之间用逗号隔开)
例:
inta,b,c;
Floatx,y;
Charc1,c2,c3;
B、初始化:
定义变量的同时赋初值称为初始化
例:
inta=1,b=2;
Floatx=0.5,y=4.8;
Charc1=’a’,c2,c3=’h’;
C、使用:
变量必须先定义后使用
函数体:
{
声明部分//定义变量,数组
执行部分
}声明部分必须放在执行部分的前面
三、不同类型的数据转换
1、隐式转换
高:
doublefloat
必定转换
Unsigned
最终必定转换为double
Longint
低:
Intshotint,char
2、显示转换(强制类型转换)
A、格式:
(数据类型)表达式
例:
(float)3/2……转换为1.5
(float)(3/2)……转换为1
(int)3.6将3.6强制转换为int,不进行四舍五入
四、运算符与表达式
1、算术运算
A、运算符:
+,-,*,/,%……
%:
(求余)要求运算数据必须为整数
例:
{
Intx,y;
X=5;
Y=5;
Printf(“%d”)
}
C、表达式:
(运算符与运算数据组合在一起的式子)
5%2:
要求2个数据参与的叫双目运算
-5:
单目运算(有一个数)
2、自增(自减)运算:
A、运算符:
++;--.
B、功能:
使变量本身加1或者减1。
操作对象只针对变量不针对常量。
例:
5++错误
(a+b)++错误
C、形式:
后置:
inti=3;
i++;//变量i本身加1,变为4,
i++表达式的值是变量变化之前的值3
前置:
inti=3;
++i//变量本身加1变为4
++i表达式的值是变量变化后的值
3、赋值运算:
A、运算符:
=,+=,-=,*=,/=,%=
B、作用:
将赋值符号右边的值赋值给左边的变量
例:
5=5错误
(a+b)=3错误
a=1;
a+=3等价于a=a+3
x*=y+2等价于x=x*(y+2)
赋值表达式的值与左边变量的值相等
例如:
a=1表达式的值和变量的值都为1
x=y=z=1嵌套
例题:
inta=2
a-=a+=5求值
4、逗号运算:
运算符:
,。
格式:
表达式1,表达式2……表达式n;
逗号表达式的值是逗号表达式n的值
例:
a=5,a*2;
a=5,a*2,a+4;
a=5,a*=2,a+4
5、运算关系:
A、运算符:
<,<=,>,>===,!
=(不等于)。
级别较高级别较低
B、表达式的值:
只有两个值0,1
式子是对的成立值为1
式子是不对的不成立值为0
C、例子:
1<21
2<10
3>2>10
1>=11
2>=11
5==51
5==30
1!
=01
1!
=10
1>=1<=11
6、逻辑运算
A、运算符:
!
&&||
非与或
级别:
高中低
逻辑循环表达式:
0或1(只有2个)
B、运算规则
!
:
!
0:
1非零即为真
!
1:
0
!
(3>2):
0
!
5:
0
!
’a’:
0
&&:
0&&0:
0
0&&1:
0
1&&0:
0
1&&1:
1
||:
0||0:
0
0||1:
1
1||0:
1
1||1:
1
例:
如果字符型变量ch,ch只能放小写字母
所有小写字母:
a<=ch&&ch<=’z’
所有字母:
’a’<=ch&&ch<=’z’||’A’<=ch&&ch<=’Z’
C、逻辑运算的“短路”特性
A&&B如果A为0,则不必计算B
如果A为1,则不必计算B
{intx=0,y=1,z,
z=x++&&y++
printf(“%d,%d,%d”,x,y,z)}
7、条件运算
A、运算符:
?
:
B、格式:
表达式1?
表达式2:
表达式3
C、运算规则:
首先判断表达式1,成立,则取决表达式2的值,不成立,则取决于表达式3的值。
例:
intx=5,y=8,z;
Z=x>y?
x:
y;
结果为8
总结:
优先级:
单目运算(++,(类型),sizeof,!
)
算术运算(*、/、%、+、-)
关系运算(<<=>>=)
逻辑运算(&&、||)
条件关系(?
:
)
复制运算(=)
逗号运算(,)
数学函数:
#include
Intabs(intx);
Int:
表示函数的运行结果是个整数
字符串函数:
string.h
写程序的步骤:
Voidmain()
{
变量名称
赋值或输入数据
操作(求解,运算)
输出结果
}
第三章:
程序设计的灵魂算法
1、算法的特征
A、有效性
B、确定性
C、有穷性
D、有0个或多个输入
E、有1个或多个输出
2、算法的描述
A、文字
B、图形(流程图,N-S图)
3、结构化程序设计的三大结构
A、顺序结构
B、选择结构
C、循环结构
第四章:
顺序结构
1、输出函数
A、字符输出函数(putchar)
格式:
Putchar(c)