资源描述
第一章 创建C程序
1.1 创建过程有4个基本步骤:
编辑 编译 链接 执行
#include <stdio.h> /*预处理指令*/ /*头文件stdio.h包含了函数printf()*/
void main() /*定义函数类型*/ /*void没有返回值*/
{
printf("hello world"); /*main()函数体包含了printf(内容在屏幕输出)*/
Return 0; /*返回信息,正确为0,错误为1 */
}
1.5.8 控字符
printf("\nBe careful!!\a");
输出如下:
Be careful!! “发出鸣叫声”
转义序列
说明
\n
换行
\r
回车键
\b
退后一格
\f
换页
\t
水平制表符
\v
垂直制表符
\a
发出鸣响
\?
插入问号(?)
\"
插入双引号(")
\'
插入单引号(')
\\
插入反斜杠(\)
第二章 编程初步
2.1计算机内存
千兆字节(GB)=1024兆字节(MB), 兆字节(MB=1024千字节(KB)
1字节(byte)=8位 1位=满为1,空为0
2.2变量
定义:变量是计算机里一块特殊的内存,它由一个或多个连续的字节组成
.
2.32变量的命名
变量名只能包含字母。下划线。和数字。
不能有空格,不能数字开头,区分大小。下划线开头可能会和库变量冲突
2.3.5算术语句
#include <stdio.h>
int main(void )
{
int cookies=5; /*声明变量并初始化*/
int cookies_calories=125; /*int整数型变量*/
int total_eaten=0;
int eaten=2;
cookies=cokies-eaten;
total_eaten=totan_eaten+eaten;
printf("\nI have eaten %d cookies. There are %d cookies left",eaten,cookies);
eaten=3 \ *重新赋值eaten变量*\
cookies=cokies-eaten; /乘和除 a*b a/b/
total_eaten=total_eaten+eaten
printf("\n I have eaten %d more.Now there are %d cookies left\n ",eaten,cookies);
printf("\nTotal energy consumed is %d caloeies.\n",totan_eaten* cookies_calories_);
return 0;
}
输出如下:
You have 7 children and 45 cookies
Give each child 6 cookies .
There are 3 cookies left over.
使用取模运算当两边的符号不同时:
其结果和左操作数相同
如:45%-7= 3(余数运算) -42/7=6
将-号放到变量前面
int expenditure= 75
Printf("Your balane has changed by %d.",-expenditure);
结果如下:
Your balane has changed by -75
2.5整数变量类型
整数变量类型的名称
类型名称
字节数
取值范围
Signed char
1
-128~+127
Short int
2
-32768~+32767
int
4
-2147438648~+2147438647
long int
4
-2147438648~+2147438647
long long int
8
-9223372036854775808~+9223372036854775804
2.5.1无符号的整数类型
类型名称
字节数
取值范围
unisgned char
1
0~255
unisgned short int或 unisgned shor
2
0~65535
unisgned int
4
0~4294967295
unisgned long int 或unisgned long
4
0~4294967295
unisgned long long int或unisgned long long
8
0~18446744073709551615
示例:
Long Bin_Number=1287600L;
Long long number=-222222222LL ; 用类型时应添加两个L
将常量指定为无符号类型时,应添加U
unisgned int=100U;
2.6浮点数
浮点数表示法
数值
使用指数表示法
C语言中也可以写成
1.6
0.16*101
0.16E1
0.00008
0.8*104
0.8E-4
7655.899
0.7655.899*104
0.7655.899E4
浮点变量类型
关键字
字节数
数值范围
float
4
Doubl
8
±3.4E(精确到6位数)
Long double
12
±1.7E308(精确15位数)
±1.19E4932(精确到18位数)
示例:
Float radius=2.5f
Double biggest=123E30
Long double huge=1234567.89123L
2.8使用浮点数完成除法运算
控制小数位数和宽度
示例:
printf("this is 8.2% $",b) /*其中8为指定字段文字的宽度 2为小数点后的位数,:8.% .2%)*/
Scanf("%f",&diameter) /*Scanf它专门处理键盘输入,提取通过键盘输入的数据按照第一个参数指定的 方式解释它。&:寻址运算符*/
操作
需要的控制字符串
读取short类型的数值
%hd
读取int类型的数值
%d
读取long类型的数值
%ld
读取float类型的数值
%f或%e
读取double类型的数值
%lf或%le
2.10定义常量 P44
方法1
#include<stdio.h>
#define PI 3. 14159f /*#define语句中的标识符都是大写*/
int main(void)
{
ieturn 0;
}
方法2
const float Pi =3.14159; /*定义变量Pi,在变量前加const告诉编译器它的值是固定不变的*/
2.10.1极限值
表示整数类型极限值的符号
类型
下限
上限
char
CHAR_MIN
CHAR_MAX
short
SHRT_MIN
SHRT_MAX
int
INT_MIN
INT_MAX
long
LONG_MIN
LONG_MAX
long long
LLONG_MIN
LLONG_MAX
无符号整数类型下限都是0,上限分别是:
UCHAR_MAX
USHRT_MAX
UINT_MAX
ULONG_MAX
ULLONG_MAX
使用这些符号时,必须在源文件中添加<limist.h> 头文件的#include指令:
#include<limist.h>
例子int number=INT MAX
表示浮点数类型的极限值符号
类型
下限
上限
float
FLT_MIN
FLT_MAX
double
DBL_MIN
DBL_MAX
long double
LDBL_MIN
LDBL_MAX
Sizeof运算符
使用Sizeof运算符可以确定给定类型占多少个字节数:
例子:printf("\nVariables of tybe char occupy %d bytes",sizeof(char));
显示结果:Variables of tybe char occupy 1 bytes
使用错误的类型时,程序就可能出现很难检测出来的错误。
可以强制修改:
示例:Revquarter=(float)Quarterslod/150.0f*revenue_per_150
2.12.1自动转换
只有两个操作数的类型相同,计算机才能执行二元算术操作,类型不同时编译器会吧其中一个值域较小的转换为另一个操作类型,这称为隐式类型转换。
2.13.1字符类型
Char类型的变量有双重性;可以把它解释为一个字符,也可以解释为一个整数:
Char letter='c';
Letter =letter+3;
因此,可以对char类型的值进行算术运算,同时仍把它当做一个字符.
2.13.2文字的输入输出
示例:char first='T'
Printf("\nThe first example as a letter looks like this-%c",first);
Printf("\nThe first example as a letter looks like this-%d",first);
显示如下:
The first example as a letter looks like this-T
The first example as a letter looks like this-84
2.13.3宽字符类型
2.13.4枚举
Enum weekday (monday ,toesday,wednesday,thursay,friday,saturday,sunday)
这些名称称为枚举器,这些整数默认从0开始,每个枚举器的值都比它前面的大1.上面对应(0~6)
可以给任意或所有枚举器明确指定自己的数值。尽管枚举器使用的名称必须唯一,但枚举器的值不要求唯一
Enumweekday(monday=5,toesday=4,wednesday,thursay=10,friday=3,saturday,sunday)
2未命名的枚举器
创建枚举器变量时,可以不指定标记,这样就没有枚举名了。例如:
(monday ,toesday,wednesday,thursay,friday,saturday,sunday)sh
Irt_color
2.13.5存储布尔值得变量
_Boll vald =1;
2.13.6复数类型
表达:a+bi
模:a+bi的复数模是(a2+b2)1/2
相等:如果a等于c ,b等于d,则复数 a+bi和c+di相等
加;复数a+bi与 c+di的和是(a+c)+(b+d)i.
乘:;复数a+bi与 c+di的积是(ac-bd)+(bc-ad)i.
除:复数a+bi与 c+di的商是 (ac+bd)/(c2+d2)+(bc-ad)i/(c2+d2).
轭:复数a+bi的轭是a-bi 复数与其轭的积是a2+b2.
有3个类型可以存储复数;
Float_Complex:其实数和虚数部分为float类型.
Double_Complex:其实数和虚数部分为double 类型.
Long double_Complex 其实数和虚数long double类型。
示例:double_complex zl;
赋值操作的op=形式
Number=munber+10 可缩写成:number + =10
Lis =lis op (rhs) 可缩写成: lis op=rhs
a/=b+1; 等价于a=a/(b+1)
2.15数字函数
用于进行数值计算的函数
函数
Floor(x)
返回不大于x(double)的最大值整数
Ceil(x)
返回不小于x(double)的最大值整数
Fabe(x)
返回小 x的绝对值
Log(x)
返回x的自然绝对数(底为e)
Log10(x)
返回x的对数(底为10)
Exp(x)
返回的ex值
Sqrt(x)
返回x的平方根
Pow(x,y)
返回xy的值
三角函数
函数
操作
Sin(x)
X(弧度值)的正弦
Cos(x)
X的余弦
Tan(x)
X的正切
展开阅读全文