C笔记精华 啊文档格式.docx

上传人:b****6 文档编号:16187669 上传时间:2022-11-21 格式:DOCX 页数:196 大小:420.48KB
下载 相关 举报
C笔记精华 啊文档格式.docx_第1页
第1页 / 共196页
C笔记精华 啊文档格式.docx_第2页
第2页 / 共196页
C笔记精华 啊文档格式.docx_第3页
第3页 / 共196页
C笔记精华 啊文档格式.docx_第4页
第4页 / 共196页
C笔记精华 啊文档格式.docx_第5页
第5页 / 共196页
点击查看更多>>
下载资源
资源描述

C笔记精华 啊文档格式.docx

《C笔记精华 啊文档格式.docx》由会员分享,可在线阅读,更多相关《C笔记精华 啊文档格式.docx(196页珍藏版)》请在冰豆网上搜索。

C笔记精华 啊文档格式.docx

/*该程序的功能是:

输出:

Iamastudent.*/

#include<

iostream.h>

voidmain()

{cout<

<

"

Iamastudent.\n"

;

}

说明:

1.大小写区分(即:

abc与Abc不同)

2.C++系统是函数驱动的,一个可执行程序必须有、且只能有一个主函数:

main(),作为程序的入口

3.C++语句以分号(;

)结束,一行可以写多条语句,一条语句可以分多行写

4.所有的对象(变量)必须先定义,或先声明、后使用

5.以双引号括起的为字符串常量,里边的"

\"

为转义字符

#include<

intx=5,X=10;

{inty=x*x;

cout<

y=x*x="

y<

y=X*X="

X*X<

"

\n:

\n"

}/*执行结果:

y=x*x=25y=X*X=100

:

*/

1.12函数

函数的组成:

函数格式:

函数属性标识符函数返回类型标识符函数名(形参说明列表)

{

·

}

其中形参说明列表:

如果有多个形参,各形参之间用逗号(,)分隔

1.一个函数如果没有返回值,则函数的返回类型标识符用“void”代替,函数体中不必有return语句(如果有return语句,仅仅起提前返回的作用);

否则用返回值的类型标识符,函数体中必须有return语句。

2.函数与函数之间的关系是调用与被调用的关系,main()函数只能是调用函数,不可以被调用。

3.一个函数内部不可以定义另一个函数,只可以调用另一个函数。

4.函数只有定义或被声明后,才可以被调用。

函数声明:

由函数原型加分号组成。

intmax(int,int);

函数原型:

返回类型函数名(形参类型,…,形参类型)

//函数声明语句:

函数原型加分号

{intx=109,y=110;

max(x,y)<

endl;

//函数调用

intmax(intx,inty)//被调用函数定义

{if(x<

y)returny;

elsereturnx;

函数:

标准库函数

用户自定义函数

2基本数据类型与输入输出

2.6字符集与保留字

C++中容许出现的字符:

26个大写字母

26个小写字母

10个数字

其他符号:

空格+-*/=,._:

;

?

\"

'

~|!

#%&

()[]{}^<

C++保留字:

2.7基本数据类型

数据(对象):

常量、变量

每个数据都具有类型,即:

每个数据必属于某个类型。

变量:

存储信息的单元,每个变量对应一段连续的内存空间

内存空间的最小单位:

字节

数据类型的作用:

编译器预算对象分配的内存空间大小

注意:

数据无“void”类型,指针有“void”类型

不同的计算机,各类型的变量所占内存空间有所不同

bool型:

在ANSIC++中具有

ANSI:

美国国家标准协会(AmericanNationalStandardsInstitute)

求某个类型的变量所占内存长度:

利用运算符sizeof

{shortintx1;

intx2;

chary;

//longdoublez;

sizeof(x1)<

sizeof(x2)<

sizeof(y)<

sizeof(float)

<

sizeof(double)<

sizeof(longdouble)<

}//执行结果:

241488

2.8变量定义

在程序的运行期间,值会变、或值可变的数据量。

变量名:

每个变量必须有名,即:

变量标识符。

1.命名变量名

规定:

1不能与C++的保留字、库函数名、类名、对象名同名

2只能由26个大小写字母、数字和下划线组成

3只能以字母或下划线开头

命名规则和程序书写风格:

变量定义

变量定义:

每个变量必须被确定类型、变量名。

例如:

intx,y;

一条语句中只能定义同一类型的一个或多个变量

变量必须“先定义、后使用”。

程序编译时将分配存储单元,及进行语法检查。

唯一性:

一个变量一个名,不同的名表示不同的变量。

2.变量赋值与初始化

变量初始化:

在定义变量的同时进行赋值

intx=5,y,z=9;

变量赋值:

利用赋值运算符进行值的更新

intx=5;

//x初始化为5

x=100;

//把100赋给x

x=x/2+7;

//把x/2+7的计算结果赋给x,即:

x=57

3.给类型起“别名”:

typedef

typedefshortintI;

//把I作为shortint的别名

{Ix1;

sizeof(float)<

}//执行结果:

24148

注意:

typedef并不产生新的类型

2.9常量

常量:

常数、或在程序运行过程中值始终不变的数据量。

例如:

x=5+19.7;

其中5和19.7就是常量

常量有类型:

5---整型19.7---实型‘a’---字符型

1.整型常量

C++提供3种表示整型常量的形式:

十进制:

123,-123,0;

八进制:

以0(零)开头的整数常量

0123,即:

-0123:

表示八进制的负数123,为十进制的-83。

十六进制:

以0x(零和x)开头的整数常量

0x123,即:

-0x123:

表示八进制的负数123,为十进制的-291。

123<

0123<

-0123<

0x15<

-0x15

0x123<

-0x123<

12383-8321-21291-291

整型常量的类型:

整型常量有类型,系统自动识别

在整型常量的后面加字母“L”或“l”(小写),表示该常量是长整型的。

常量无unsigned型

2.实型常量

C++提供2种实型常量的表示形式:

由数字和小数点组成。

必须带小数点

12.123、0.0、.0、0.、9453.13124

指数形式:

数字E(或e)整数。

E前必须有数字,E后必须是整数

123E3(或:

123e3)即:

1.234e5即:

有效位:

单精度(float)―――7位

双精度(double)―――15位

实型常量在内存中所占字节数:

以double型进行存储,占8字节。

但是,在后面加f,则以float型存储,占4字节

sizeof(1.23)<

sizeof(1.23f)<

84

3.字符常量

用单引号括起的单个字符

特殊字符以“\”开头

'

1'

,'

0'

/'

='

a'

b'

?

%'

\n'

\t'

\\'

a='

A'

\101'

8进制的101等于10进制的65,ASCⅡ值为65的字符是:

A

所以,实际上:

a='

在内存中,字符以ASCⅡ码存储,是以整数表示的

所以,字符和整数之间可以互相赋值

{intx1='

x2='

x3=0;

charc=97;

x1<

x2<

x3<

c<

65480a

4.字符串常量

用双引号括起的字符序列

abc.|*88住宅ok"

空字符串

只有一个空字符的字符串

a"

只有一个字符a的字符串

字符串结束标志:

\0'

(由系统自动添加)

①"

与'

不同!

(输出结果相同)

②C++语言中无字符串变量!

③不能把字符串常量赋值给字符变量!

charc;

c="

④统计字符串长度时,不计字符串结束标志。

abcd"

的长度为4,而在内存中实际存放是:

abcd\0

枚举常量

把变量的值一一列举,变量的值只能取其中之一

枚举类型的定义:

形式1:

enum枚举类型名{元素1,元素2,…,元素n};

enum枚举类型名枚举变量名1,枚举变量名2,…;

enumcity{上海,北京,南京,广州,天津};

//city为枚举类型名

enumcitycity1,city2;

//city1,city2为city枚举类型的变量名

形式2:

enum枚举类型名{元素1,元素2,…,元素n}枚举变量名1,枚举变量名2,…;

enumcity{上海,北京,南京,广州,天津}city1,cyty2,city3;

形式3:

可以直接定义枚举变量,而不定义枚举类型名

enum{上海,北京,南京,广州,天津}city1;

枚举类型的使用:

#include"

iostream.h"

enumcity{Shanghai,Beijing,Nanjing,Tianjin=5,Guangzhou};

voidff(enumcityx)

{switch(x)

{case0:

Shanghai\n"

break;

case1:

Beijing\n"

case2:

Nanjing\n"

case5:

Tianjin\n"

case6:

Guangzhou\n"

default:

非法城市!

{enumcityc1,c2,c3,c4;

inti=7;

c1=(enumcity)i;

//不能:

c1=i;

c2=Nanjing;

c3=(enumcity)5;

c4=Shanghai;

/*枚举变量的赋值:

只能为列举元素之一*/

ff(c1);

ff(c2);

ff(c3);

ff(c4);

c1<

c2<

c3<

c4<

}/*执行结果:

Nanjing

Tianjing

Shanghai

7250*/

枚举变量的使用说明:

1.先定义枚举类型,再定义枚举变量,然后使用变量

2.枚举元素是常量,不是变量,故也称枚举常量;

所以不能对枚举元素进行赋值

上例中,不能:

Shanghai=Beijing;

3.枚举元素是常量,其常量值不是列举的“内容”,而是定义时的次序号:

0,1,…,n

4.枚举元素值在定义时可以“人为”指定,上例中:

Tianjin=5,此后的元素均为6,7,…

上例中:

枚举元素Shanghai的值为0,Beijing为1,Nanjing为2,Tianjin为5,Guangzhou为6

5.枚举变量的值只能取定义枚举类型时所列举的元素之一:

例:

c2=Nanjing;

6.尽管枚举元素有值,但此值并不是整型值,所以不能把整型数赋值给枚举变量:

不能:

c1=5;

只能:

c1=(enumcity)5;

/*强制类型转换*/

7.枚举值(枚举元素)不是字符串

8.枚举值可进行逻辑判断比较运算:

上例中,if(city1==Shanghai)

if(city2>

Nanjing):

以序号值进行判断比较

2.10常量定义(const常量)

符号常量:

用一个标识符代表的常量,即:

在程序中用#define命令定义某个符号所代表的常量。

#defineW“女”

#defineM“男”

#definePRICE123.789

①一旦定义了某个符号代表一个常量,则该符号在其作用域内就表示这个常量。

x=PRICE*0.8;

②符号常量不是变量,所以,在其作用域内不能被赋值!

PRICE=123.012;

③为提高程序的可读性,符号常量一般用大写表示。

const常量:

冻结变量

constdoublepi=3.14159265;

变量一旦被const限定,就变成不能改变值的常量了;

因此,const常量必须在定义时赋初值,

并且const常量不能作左值!

符号常量和const常量的区别:

符号常量并不是变量,仅仅通过预编译命令进行“替换”,而const常量是占有内存的被“冻结”了的变量,C++中使用const常量而不提倡用符号常量。

2.11I/O流控制

头文件:

#include"

1.I/O控制流的书写格式

I/O控制流:

输入或输出的字节序列(字符序列)

操作符:

向输出流"

cout"

中插入字符

>

向输入流"

cin"

中抽取字符

实际上,<

、>

是重载操作符

cout:

C++预定义的标准输出设备

cin:

C++预定义的标准输入设备

作用:

用从标准输入设备上所接收到的数据去更新操作符"

右边的对象

用操作符"

右边的内容输出到标准输出设备上

以默认的格式进行输入输出:

Howareyou!

cout<

a[0]<

a[1]<

//或者:

cin>

x;

a>

b>

c;

2.使用控制符进行输入输出

控制符

使用控制符:

iomanip.h>

//格式控制符

voidmain()//以指数形式输出:

setiosflags(ios:

scientific)<

9999.999<

3.控制浮点数值的显示

控制符:

setprecision(n:

n控制显示的数字位数(系统默认:

有效位6位)

在用浮点表示的输出时:

n表示有效位数(系统默认:

在用定点表示的输出时:

n表示小数位数

在用指数形式输出时:

n表示小数位数

4.设置值的输出宽度

setw(n)

仅仅对下一个数值的输出有效

如果实际位数>

n,按实际宽度输出

5.输出8进制和16进制数

dec:

10进制

oct:

8进制

hex:

16进制

6.设置填充字符

setfill('

填充字符'

7.左右对齐输出

left)和setiosflags(ios:

right)

8.强制显示小数点和符号

I/O输出流对2.0以2显示,如果要输出小数,则用setioflags(ios:

showpoint)控制符

如果要输出正号,则用setioflags(ios:

showpos)控制符

2.7函数printf()和scanf()

11.5.2格式输出函数:

printf()

形式:

printf(“格式控制串”[,输出实参列表])

功能:

按指定的格式输出数据

printf(“上海交通大学:

男生%d人,女生%d人”,n,w)

输出实参列表中如果有多个参数,则用逗号分隔

实际上,printf()函数的格式为:

printf(实参1,实参2,…,实参n)

格式说明:

由字符‘%’和格式字符组成

格式字符:

d、o、x、u、c、s、f、e、g和附加格式说明符

格式控制串中,除格式说明外,有什么输出什么

①数据类型应与格式说明匹配,否则出错(但编译通过)

②格式说明个数应与参数列表中的个数相同,且次序对应:

.如果输出参数列表中的参数个数大于格式说明数,则参数列表中后面的参数值不被输出

.如果格式说明数大于输出参数的个数,则多出的格式说明会导致输出随机数

③格式说明串中可以用转义字符,例如:

\n

④如果要输出字符’%’,则在格式串中的对应位置处写:

%%

⑤不同的系统在执行格式输出时,可能会小有差别

⑥l用于长整型输出,如果应该长整型数用%d格式输出而不用%ld格式,则编译通过,执行时输出的数出错,且在其后面的参数值均错

⑦缺省情况下,输出是右对齐、前补空格,但用‘-’附加格式说明符,将左对齐、后补空格

但是:

字符串格式s,则相反

11.5.3格式输入函数:

scanf()

一般形式:

scanf(格式控制串,地址列表)

从标准输入设备接受输入的任何类型的多个数据

其中格式控制串与printf()函数的格式控制串类似

格式符:

P/31

①变量的地址列表,而不是变量名

②数组变量的名就是该数组的地址,不必加’&

③格式控制串中,除格式说明外的所有字符,在输入时必须对应地输入

④%lf:

double型输入

⑤用格式%c时,空格、转义字符均有效;

用格式%s时,接受的字符以输入的非空字符开始至空字符或回车符止;

以回车符开始执行接受输入的操作

⑥输入数值时不能规定精度

⑦输入数值时,遇非数值字符自动认为输入结束,遇宽度结束

⑧如果定义输入的宽度,则输入时必须小于等于宽度;

否则,如果后面有其他输出数据,这些数据值将全部出错:

stdio.h"

{intx1,x2,x3;

chara[10];

scanf("

%2d,%3d,%d"

&

x1,&

x2,&

x3);

printf("

x1=%dx2=%dx3=%d\n"

x1,x2,x3);

%s"

a);

a[10]=%s"

}/*文件名:

scanf函数.exe

如果输入:

111,2,34567则输出:

x1=11x2和x3的值出错

而a[10]=1,2,34567*/

#include"

{inta[10],i;

请输入10个整数:

);

for(i=0;

i<

10;

i++)

%d"

a[i]);

\na[%d]=%d"

i,a[i]);

/*执行1:

输入:

1234567890执行正确

执行2:

1,2,3,4,5,6,7,8,9,0执行不正确*/

对于用循环进行输入,之间用空格分隔

{doublea;

请输入1个数:

%lf"

a);

\na=%f\n"

对于double型,输入时应用%lf;

如果用%f则出错

对于double型,输出时用%f即可,系统会自动判断

3表达式和语句

3.6表达式

1.表达式概述

表达式:

操作符、操作对象组成的符号序列

2.左值和右值

左值:

左值表达式简称左值,能出现在赋值运算符左边的表达式

即,表示一个对象标识(有确定地址的对象)的表达式称为左值表达式

右值:

只能出现在赋值表达式右边的表达式(例,常量只能作右值)

左值既可以出现在赋值运算符的右边,又可以出现在左边。

3.操作符的优先级和结合性

4.语句与块

C++语言中,除了控制语句、函数调用语句外,几乎所有的操作都是通过表达式进行的。

语句以分号(;

)结束

C++语句分成6大类:

合法语句:

非法语句:

如果a=1

4;

3=a+2;

a;

5(7+a);

a+1-7;

a+6=7;

a=1;

a-a=0;

C++程序书写规定:

一行可写多条语句,一条语句可写多行(行尾加转移字符:

’\’,表示连行)

输入源程序时中、英文要及时切换,例如,中文的分号与英文的分号不是同一个字符

C++程序中的注释部分不是语句,两种注释方法:

①用/**/括起的内容,不管是否换行,均是注释

②用//开头,至本行尾的内容是注释

3.7算术运算和赋值

1.基本运算符:

+-*/%

+:

加法或正号

-:

减法或负号

*:

乘法

/:

除法

%:

模(整除取余,操作符两边的操作数必须为整型数)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 营销活动策划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1