当前位置:文档之家› C++习题第04章 函数

C++习题第04章 函数

C++习题第04章 函数
C++习题第04章 函数

第04章函数

1.填空题

(1)当一个函数无法返回值时,函数的类型应定义为________。

(2)定义只允许该源文件中所有函数使用的全局变量称为________,定义时应采用关键字________。

(3) ________是指一个函数可以和同一作用域中的其他函数具有相同的名字,但这些同名函数的参数类型、参数个数、返回值以及函数功能可以完全不同。

(4)在定义内联函数时,函数值的类型左面有关键字________。

(5) ________不能被用来作为内联函数。

(6)C++提供的预处理命令主要有以下3种:________、________和________。

2.判断题

(1)在C++中,形参和实参的名字必须是相同的。

(2)在C++中,函数可以嵌套定义,即一个函数可以定义在另一个函数的函数体中。(3)如果需要,swith这样的关键字也可以被定义成函数名。

(4)函数的参数类型必须和函数类型一致。

(5)定义内联函数的关键字为online。

(6)调用重载函数时,参数列表中可以有常数。

(7)在变量声明前加关键字static意味着该变量的值在程序执行的任何时候都不能改变。

(8)用户自定义函数至少被调用一次,否则C++编译器会给出一个警告信息。

(9)一个文件中的函数可以被其他文件中的函数调用。

(10)用户自定义函数可以写在main函数之前。

3.读程序写结果

(1)

#include

void test();

void main()

{ int x=9,y=5;

test();

cout<<"x="<

}

void test()

{ int x=7,y=4;

cout<<"x="<

}

(2)

#include

void f(int),f(double);

void main()

{ double x=34.56;

f(x);

char y=’e’;

f(y);

}

void f(int m)

{ cout<

}

void f(double m)

{ cout<

}

(3)

#include

int f(int x,int y=10);

void main()

{ int x=6;

cout<

cout<

cout<

}

int f(int m,int n)

{ int s=m+n;

return s;

}

(4)

#include

#define max 6

Void f();

Void main()

{ for(int i=1;i

f();

cout<

}

Void f()

{ static int m;

int n=9;

cout<<(m+=3,m+n)<<〝〞;

}

(5)

#include

void func(int);

void main()

{

int i;

cin>>i;

func(i);

cout<

}

void func(int n)

{

if(n>0){

fun(n-2);

cout<

fun(n-1);

}

}

4.简答题

5.编程题

习题参考答案

第1章C++语言概述1.填空题

(1)函数说明,函数体

(2)声明区,主程序区,函数定义区

(3)多态性

(4)namespace,using

(5)std

(6)cin,>>

(7)//

(8)对数据的操作

2.判断题

(1)对(2)错(3)错(4)错(5)错

3.改错题

(1)没有函数体,应改为

void main() {};

(2)语句没有分号,应改为

using namespace myspace;

(3)cout和操作符<<共同完成输出的功能,应改为

cout<<" Input your name:";

(4)应改为

#include

4.简答题(略)

5.编程题(略)

第2章基本数据类型、运算符与表达式1.选择题

(1)B (2)D (3)B (4)D (5)B

2.简答题

(1)(a)、(c)(e)、(f)、(g)、(h)、(i)

(2)(a)、(g)、(i)、(j)

(3)

(a)5.5

(b)0

(c)20

(d)0,0

(e)1

(f)1,2

(g)3

(h)-40

(i)2

(j)3

(k)s1>='0'&&s1<='9'

(l)N!=0

3.读程序写结果

(1)0,15

(2)(1、1、1),(-1、-1、-1)

(3)

(a)a*a+2*a*b+b*b

(b)4.0/3.0*3.1415926*R*R*R

(c)5.0/9.0*(F-32)

(d)b>=a&&b<=c

(4)

36

41

43

(5)

x=1

4.编程题(略)

第3章C++的控制语句1.选择题

(1)B (2)A (3)A (4)C (5)A

2.判断题

(1)错(2)对(3)对(4)错(5)错

3.读程序写结果

(1)

1

2 2

3 3 3

4 4 4 4

5 5 5 5 5

(2)

1

1 2 1

1 2 3 2 1

1 2 3 4 3 2 1

1 2 3 4 5 4 3 2 1

(3)

j的值为0;

i的值为2;

4.编程题(略)

第4章函数1.填空题

(1)void

(2)静态全局变量,static

(3)函数重载

(4)inline

(5)递归函数

(6)宏定义命令,文件包含命令,条件编译命令2.判断题

(1)错(2)错(3)错(4)错(5)错(6)对(7)错(8)错(9)对(10)对

3.读程序写结果

(1)

x=7,y=4

x=9,y=5

(2)

34.56

101

(3)

16

22

28

(4)

12 15 18 21 24

(5)

2,1,4,1,3,2,1,

4.简答题(略)

5.编程题(略)

第5章构造数据类型1.选择题

(1)C (2)D (3)A (4)B (5)C

2.判断题

(1)错(2)对(3)对(4)错(5)错

3.读程序写结果

(1)

153

(2)

42

2 5 6 8 10

(3)

65535,21

(4)

4

19

(5)

6904

(6)

4

3

2

1

4.编程题(略)

第6章类和对象

1.填空题

(1)类,对象,类

(2)数据成员,成员函数

(3)不能

(4)private,protected,public,private

(5)成员函数

(6)friend

(7)类名,作用域运算符

(8)对象名.成员名,指针变量名->成员名,(*指针变量名).成员名

(9)构造,析构,构造,析构

(10)常量数据,引用数据

(11)全局,数据类型,所属的类

(12)常成员,只读

(13)成员,友元

(14)类数据成员,类成员函数

(15)this

(16)浅拷贝

2.选择题

(1)C (2)C (3)B (4)C (5)B

(6)C (7)D (8)B (9)C (10)D

(11)A (12)C (13)D (14)D (15)B

3.改错题

(1)man1.salary=1000.00; 不能在类外访问类的私有成员

(2)float r=0;和float c=0; 类本身是抽象的,不能在类的定义体中给其数据成员赋值}后缺少分号“;”

(3)成员函数void setdata(float x1,float y1,float r);没有实现

(4)构造函数名point()应与类名同名,为Point

没有头文件包含#include

4.读程序写结果题

(1)

x=0,y=0

x=100,y=200

(2)

x=100,y=200

x=1000,y=2000

t=3.14

(3)

Sta::fun2()=10

s.fun2()=11

r.a=20

(4)

Constructor1 called!

x=0

Constructor2 called!

x=100

Destructor called!

Destructor called!

(5)

57

5.简答题(略)

6.编程题(略)

第7章继承和派生

1.填空题

(1)继承

(2)基类,派生类

(3)private,protected,public,private

(4)不可访问,保护,公有

(5)私有

(6)单(一),多(重)

(7)赋值兼容规则

(8)静态,动态

(9)抽象类

2.选择题

(1)B (2)A (3)B (4)C (5)B

(6)A (7)D (8)B (9)B (10)B

(11)D (12)B

3.改错题

(1)本题的错误主要是数据成员的访问权限问题:基类的私有成员在派生类中不可访问,如fb()函数中的a3=30;语句;类的私有和保护成员在类外不能访问,如main函数中的x.a2 =20;.a3=30; ,y.a2=200; ,y.a3=300; ,y.b2=2000;和y.b3=3000;语句。

(2)本题的错误主要是成员函数的访问权限问题:由于派生类Derived是基类Base 的保护派生类,所以基类中的私有成员变成派生类的不可访问成员,而基类的保护和公有成员则变成派生类的保护成员。对于类的不可访问和保护成员在类外是不能访问的,故main 函数中的语句obj.funl();,obj.fun2(); 和obj.fun3(); 是错误的。

4.读程序写结果题

(1)

d=110

b=190

d=110

d=110

(2)

d=110

b=190

d=110

b=90

(3)

基类B1的构造函数被调用

基类B3的构造函数被调用

基类B2的构造函数被调用

派生类D的构造函数被调用

派生类D的析构函数被调用

基类B2的析构函数被调用

基类B3的析构函数被调用

基类B1的析构函数被调用

(4)

A

B

C

D

D

(5)

A

B

D

D

(6)

A

A

B

D

D

(7)

A

B

C

D

D

(8)

5

25

5.简答题(略)

6.编程题(略)

第8章运算符重载1.填空题

(1)函数重载

(2)重载为类的成员函数,重载为类的友元函数(3)Operator

(4)1,2

(5)友元

2.选择题

(1)B (2)D (3)A (4)D (5)B

(6)C (7)C (8)C

3.简答题(略)

4.编程题(略)

第9章模板1.填空题

(1)类模板,函数模板

(2)类,对象

(3)数据类型

(4)fun(5)

2.选择题

(1)C (2)B (3)C (4)B (5)D

3.简答题(略)

4.编程题(略)

第10章文件

1.填空题

(1)FILE,stdio.h

(2)stdio.h,fopen,fclose

(3)顺序,随机

(4)cin,>>,cout,<<

(5)ios

(6)fstream,open,close

(7)文件指针的当前位置,文件开头,文件尾

2.选择题

(1)B (2)B (3)A (4)D (5)B

(6)D (7)C (8)B (9)A (10)B

3.简答题(略)

4.编程题(略)

第11章string类与标准模板库STL 1.填空题

(1)字符数组,string类

(2)string

(3)容器,迭代器,算法

(4)顺序,关联

(5)指针

(6)函数模板

2.简答题(略)

3.编程题(略)

第12章异常处理

1.填空题

(1)throw,try,catch

(2)多

(3)数据类型

(4)catch(…)

(5)相反

2.判断题

(1)错(2)对(3)错(4)错(5)错

3.简答题(略)

4.编程题(略)6.

第四章第七章函数

#include int gcd(int a,int b); void main() { int m,n,g; cout<<"输入两个整数:"; cin>>m>>n; if(m

#include long fac(int n); void main() { long s; int m,n; cin>>m>>n; s=fac(n)+fac(m+n); cout<1;n--) f*=n; return f; } //三.编程题3. #include int findn(int,int); void main()

cout<<"n="< #include void inputNum(); bool funLine(float x,float y,float z); float funArea(float a,float b,float c); void inputNum()

STRING类函数用法总结3

C++中的string类 前言:string的角色 1string使用 1.1充分使用string操作符 1.2眼花缭乱的string find函数 1.3string insert,replace,erase2string和C风格字符串 3string和Charactor Traits 4string建议 5小结 6附录前言:string的角色 C++语言是个十分优秀的语言,但优秀并不表示完美。还是有许多人不愿意使用C或者C++,为什么?原因众多,其中之一就是C/C++的文本处理功能太麻烦,用起来很不方便。以前没有接触过其他语言时,每当别人这么说,我总是不屑一顾,认为他们根本就没有领会C++的精华,或者不太懂C++,现在我接触perl,php,和Shell脚本以后,开始理解了以前为什么有人说C++文本处理不方便了。 举例来说,如果文本格式是:用户名电话号码,文件名name.txt Tom23245332 Jenny22231231 Heny22183942 Tom23245332 ... 现在我们需要对用户名排序,且只输出不同的姓名。 那么在shell编程中,可以这样用: awk'{print$1}'name.txt|sort|uniq 简单吧? 如果使用C/C++就麻烦了,他需要做以下工作: 先打开文件,检测文件是否打开,如果失败,则退出。 声明一个足够大得二维字符数组或者一个字符指针数组 读入一行到字符空间 然后分析一行的结构,找到空格,存入字符数组中。 关闭文件 写一个排序函数,或者使用写一个比较函数,使用qsort排序 遍历数组,比较是否有相同的,如果有,则要删除,copy... 输出信息 你可以用C++或者C语言去实现这个流程。如果一个人的主要工作就是处理这种

CPPstring类常用函数

C++string类常用函数 string类的构造函数: string(const char *s); //用c字符串s初始化 string(int n,char c); //用n个字符c初始化 此外,string类还支持默认构造函数和复制构造函数,如string s1;string s2="hello";都是正确的写法。当构造的string太长而无法表达时会抛出length_error异常 string类的字符操作: const char &operator[](int n)const; const char &at(int n)const; char &operator[](int n); char &at(int n); operator[]和at()均返回当前字符串中第n个字符的位置,但at函数提供范围检查,当越界时会抛出out_of_range异常,下标运算符[]不提供检查访问。 const char *data()const;//返回一个非null终止的c字符数组 const char *c_str()const;//返回一个以null终止的c字符串 int copy(char *s, int n, int pos = 0) const;//把当前串中以pos开始的n个字符拷贝到以s为起始位置的字符数组中,返回实际拷贝的数目 string的特性描述: int capacity()const; //返回当前容量(即string中不必增加内存即可存放的元素个数) int max_size()const; //返回string对象中可存放的最大字符串的长度 int size()const; //返回当前字符串的大小 int length()const; //返回当前字符串的长度 bool empty()const; //当前字符串是否为空 void resize(int len,char c);//把字符串当前大小置为len,并用字符c填充不足的部分 string类的输入输出操作: string类重载运算符operator>>用于输入,同样重载运算符operator<<用于输出操作。 函数getline(istream &in,string &s);用于从输入流in中读取字符串到s中,以换行符'\n'分开。 string的赋值: string &operator=(const string &s);//把字符串s赋给当前字符串 string &assign(const char *s);//用c类型字符串s赋值 string &assign(const char *s,int n);//用c字符串s开始的n个字符赋值 string &assign(const string &s);//把字符串s赋给当前字符串 string &assign(int n,char c);//用n个字符c赋值给当前字符串 string &assign(const string &s,int start,int n);//把字符串s中从start开始的n个字符赋给当前字符串 string &assign(const_iterator first,const_itertor last);//把first和last迭代器之间的部

string类中函数介绍

标准c++中string类函数介绍 注意不是CString 之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要。我们可以用= 进行赋值操作,== 进行比较,+ 做串联(是不是很简单?)。我们尽可以把它看成是C++的基本数据类型。 好了,进入正题……… 首先,为了在我们的程序中使用string类型,我们必须包含头文件。 如下: #include //注意这里不是string.h string.h是C字符串头文件 #include using namespace std; 1.声明一个C++字符串 声明一个字符串变量很简单: string Str; 这样我们就声明了一个字符串变量,但既然是一个类,就有构造函数和析构函数。上面的声明没有传入参数,所以就直接使用了string的默认的构造函数,这个函数所作的就是把Str 初始化为一个空字符串。String类的构造函数和析构函数如下: a) string s; //生成一个空字符串s b) string s(str) //拷贝构造函数生成str的复制品 c) string s(str,stridx) //将字符串str内“始于位置stridx”的部分当作字符串的初值 d) string s(str,stridx,strlen) //将字符串str内“始于stridx且长度顶多strlen”的部分作为字符串的初值 e) string s(cstr) //将C字符串作为s的初值 f) string s(chars,chars_len) //将C字符串前chars_len个字符作为字符串s的初值。 g) string s(num,c) //生成一个字符串,包含num个c字符 h) string s(beg,end) //以区间beg;end(不包含end)内的字符作为字符串s的初值 i) s.~string() //销毁所有字符,释放内存 都很简单,我就不解释了。 2.字符串操作函数 这里是C++字符串的重点,我先把各种操作函数罗列出来,不喜欢把所有函数都看完的人可以在这里找自己喜欢的函数,再到后面看他的详细解释。 a) =,assign() //赋以新值 b) swap() //交换两个字符串的内容 c) +=,append(),push_back() //在尾部添加字符

C++string类标准库常用函数

C++ string类标准库常用函数 [string类的构造函数] string(const char *s); //用c字符串s初始化 string(int n,char c); //用n个字符c初始化 [string类的字符操作] const char &operator[](int n) const; const char &at(int n) const; char &operator[](int n); char &at(int n); operator[]和at()均返回当前字符串中第n个字符的位置,但at函数提供范围检查,当越界时会抛出out_of_range 异常,下标运算符[]不提供检查访问。 const char *data() const; //返回一个非null终止的c字符数组 const char *c_str() const; //返回一个以null终止的c字符串 int copy(char *s, int n, int pos = 0) const;//把当前串中以pos开始的n个字符拷贝到以s为起始位置的字符数组中,返回实际拷贝的数目 [string的特性描述] int capacity() const; //返回当前容量(即string中不必增加内存即可存放的元素个数) int max_size() const; //返回string对象中可存放的最大字符串的长度 int size() const; //返回当前字符串的大小 int length() const; //返回当前字符串的长度 bool empty() const; //当前字符串是否为空 void resize(int len,char c); //把字符串当前大小置为len,并用字符c填充不足的部分 [string类的输入输出操作] string类重载运算符operator>>用于输入,同样重载运算符operator<<用于输出操作。 函数getline(istream &in,string &s);用于从输入流in中读取字符串到s中,以换行符'\n'分开。 [string的赋值] string &operator=(const string &s); //把字符串s赋给当前字符串 string &assign(const char *s); //用c类型字符串s赋值 string &assign(const char *s,int n); //用c字符串s开始的n个字符赋值 string &assign(const string &s); //把字符串s赋给当前字符串 string &assign(int n,char c); //用n个字符c赋值给当前字符串 string &assign(const string &s,int start,int n);//把s中从start开始的n个字符赋给当前字符串string &assign(const_iterator first,const_iterator last);//把迭代器first和last之间的部分赋给字符串 [string的连接] string &operator+=(const string &s); //把字符串s连接到当前字符串的结尾 string &append(const char *s); //把c类型字符串s连接到当前字符串结尾 string &append(const char *s,int n); //把c类型字符串s的前n个字符连接到当前字符串结尾 string &append(const string &s); //同operator+=() string &append(const string &s,int pos,int n); //把字符串s中从pos开始的n个字符连接到当前字符串的结尾 string &append(int n,char c); //在当前字符串结尾添加n个字符c string &append(const_iterator first,const_iterator last); //把迭代器first和last之间的部分连接到当前字符串的结尾

C 中的string常用函数用法总结.

C++中的string常用函数用法总结首先,为了在我们的程序中使用string类型,我们必须包含头文件。 如下: #include //注意这里不是string.h string.h是C字符串头文件 #include using namespace std; 1.声明一个C++字符串 声明一个字符串变量很简单: string Str; 这样我们就声明了一个字符串变量,但既然是一个类,就有构造函数和析构函数。上面的声明没有传入参数,所以就直接使用了string的默认的构造函数,这个函数所作的就是把Str 初始化为一个空字符串。String类的构造函数和析构函数如下: a) string s; //生成一个空字符串s b) string s(str) //拷贝构造函数生成str的复制品 c) string s(str,stridx) //将字符串str内“始于位置stridx”的部分当作字符串的初值 d) string s(str,stridx,strlen) //将字符串str内“始于stridx且长度顶多st rlen”的部分作为字符串的初值 e) string s(cstr) //将C字符串作为s的初值 f) string s(chars,chars_len) //将C字符串前chars_len个字符作为字符串s的初值。 g) string s(num,c) //生成一个字符串,包含num个c字符 h) string s(beg,end) //以区间beg;end(不包含end)内的字符作为字符串s的初值 i) s.~string() //销毁所有字符,释放内存 都很简单,我就不解释了。

第四章 可测函数汇总

第四章 可测函数 教学目的: 1.熟练掌握可测函数的定义及其基本性质,可测函数的一些重要性质. 2.掌握通过Egoroff 定理证明Lusin 定理,它表明Lebesgue 可测函数可以用性质较好的连续函数逼近. 3.掌握几乎处处收敛,依测度收敛和几乎一致收敛,以及几种收敛性之间的蕴涵关系.通过学习使学生对可测函数列的几种收敛性和相互关系有一个较全面的了解. 重点难点: 1.可测函数有若干等价的定义.它是一类范围广泛的函数,并且有很好的运算封闭性. 2.可测函数可以用简单函数逼近,这是可测函数的构造性特征. 3.引进的几种收敛是伴随测度的建立而产生的新的收敛性.一方面, L 可测集上的连续函数是可测的,另一方面,Lusin 定理表明, Lebesgue 可测函数可以用连续函数逼近. Lusin 定理有两个等价形式. 4.依测度收敛是一种全新的收敛,与熟知的处处收敛有很大的差异.Egoroff 定理和Riesz 定理等揭示了这几种收敛之间的关系.Riesz 定理在几乎处处收敛和较难处理的依测度收敛之间架起了一座桥梁. §4.1 可测函数及相关性质 由于建立积分的需要,我们还必须引进一类重要的函数—— Lebesgue 可测函数,并讨论其性质和结构. 设f 是可测集D 上的函数,若对任何R ∈?α,{}α>∈)(:x f D x 记 =α D 是可测集,则称f 是可测集D 上的可测函数. 我们知道,f 在D 上连续?R ∈?α,{}α>∈)(:x f D x 、{}α<∈)(:x f D x 都是开集.所以由可测函数的定义,区间D 上的连续函数f 是可测函数. 又如:设E 是D 的可测子集.则E 上的特征函数为 =)(x f )(x E λ???=0 1 E D x E x -∈∈

String常见的操作和方法

String常见的操作和方法 String类适用于描述字符串事物 那么它就提供了多个方法对字符串进行操作。 常见的操作有哪些? “afbs” 1、获取 1.1 字符串中包含的字符数,也就是字符串的长度。 int length(): 获取长度。 1.2 根据位置获取位置上某个字符。 char charAt(int index): 1.3 根据字符获取字符在字符串中位置。 int indexOf(int ch): 返回的是ch在字符串中第一次出现的位置。 int indexOf(int ch, int fromIndex): 从fromIndex指定位置开始,获取ch在字符串中出现的位置。 int indexOf(int str): 返回的是str在字符串中第一次出现的位置。 int indexOf(int str, int fromIndex): 从fromIndex指定位置开始,获取str在字符串中出现的位置。 int lastIndexOf(int ch); 2、判断。 2.1 字符串中是否包含某一个子串。 boolean contains(str): 特殊之处:indexOf(str):可以索引str第一次出现的位置,如果返回-1.表示该str不存在字符串中。 所以,也可以用于对指定判断是否包含。 if(str.indexOf("aa")!=-1) 而且该方法既可以判断,又可以获取出现的位置。 2.2 字符串中是否有内容。

boolean ifEmpty(): 原理就是判断长度是否为0. 2.3 字符串是否是以指定内容开头。 boolean startsWith(str); 2.4 字符串是否是以指定内容结尾。 boolean endsWith(str); 2.5判断字符串内容是否相同。复写了Object类中的equals方法。boolean equals(str); 2.6判断内容是否相同,并忽略大小写。 boolean equalsIgnoreCase(); 3、转换 3.1 将字符数组转成字符串。 构造函数:String(char[]) String(char[],offset,count):将字符数组中的一部分转成字符串。 静态方法: static String copyValueOf(char[]); static String copyValueOf(char[] data,int offset,int count) static String valueOf(char[]): 3.2 将字符串转成字符数组。 char[] toCharArray(): 3.3 将字节数组转成字符串。 String(byte[]) String(byte[],offset,count):将字节数组中的一部分转成字符串。 3.4 将字符串转成字节数组。** byte[] getBytes(): 3.5 将基本数据类型转成字符串。 static String valueOf(int) static String valueOf(double) 3+"";//String.valueOf(3); 特殊:字符串和字节数组在转换过程中,是可以指定编码表的。

C++string类常用函数

string类的构造函数: string(const char *s); //用c字符串s初始化 string(int n,char c); //用n个字符c初始化 此外,string类还支持默认构造函数和复制构造函数,如string s1;string s2="hello";都是正确的写法。当构造的string太长而无法表达时会抛出length_error异常 string类的字符操作: const char &operator[](int n)const; const char &at(int n)const; char &operator[](int n); char &at(int n); operator[]和at()均返回当前字符串中第n个字符的位置,但at函数提供范围检查,当越界时会抛出out_of_range异常,下标运算符[]不提供检查访问。 const char *data()const;//返回一个非null终止的c字符数组 const char *c_str()const;//返回一个以null终止的c字符串 int copy(char *s, int n, int pos = 0) const;//把当前串中以pos开始的n个字符拷贝到以s为起始位置的字符数组中,返回实际拷贝的数目 string的特性描述: int capacity()const; //返回当前容量(即string中不必增加内存即可存放的元素个数) int max_size()const; //返回string对象中可存放的最大字符串的长度 int size()const; //返回当前字符串的大小 int length()const; //返回当前字符串的长度 bool empty()const; //当前字符串是否为空 void resize(int len,char c);//把字符串当前大小置为len,并用字符

C++ string类常用函数

C++ string类常用函数 #include using namespace std; 构造函数: string(const char *s); //用c字符串s初始化 string(int n, char c); //用n个字符c初始化 此外,string类还支持默认构造函数和复制构造函数,如string s1;string s2="hello";都是正确的写法。当构造的string太长而无法表达时会抛出length_error异常 字符操作: const char &operator[](int n)const; const char &at(int n)const; char &operator[](int n); char &at(int n); 注:operator[]和at()均返回当前字符串中第n个字符的位置,但at函数提供范围检查,当越界时会抛出out_of_range异常,下标运算符[]不提供检查访问。 const char *data()const; //返回一个非null终止的c字符数组 const char *c_str()const; //返回一个以null终止的c字符串 int copy(char *s, int n, int pos = 0) const; //把当前串中以pos开始的n个字符拷贝到以s为 //起始位置的字符数组中,返回实际拷贝的数目 特性描述: int capacity()const; //返回当前容量(即string中不必增加内存即可存放的元素个数) int max_size()const; //返回string对象中可存放的最大字符串的长度 int size()const; //返回当前字符串的大小 int length()const; //返回当前字符串的长度 bool empty()const; //当前字符串是否为空 void resize(int len,char c); //把字符串当前大小置为len,并用字符c填充不足的部分 输入输出操作: string类重载运算符operator>>用于输入,同样重载运算符operator<<用于输出操作。 函数getline(istream &in,string &s);用于从输入流in中读取字符串到s中,以换行符分开。 赋值: string &operator=(const string &s); //把字符串s赋给当前字符串

Java String类的常用方法

6.2 1 String类的常用方法 程序模板 按模板要求,将【代码1】~【代码9】替换为Java程序代码。 StringExample.java class StringExample { public static void main(String args[ ]) { String s1=new String("you are a student"), s2=new String("how are you"); if (【代码1】) // 判断s1与s2是否相同 { System.out.println("s1与s2相同"); } else { System.out.println("s1与s2不相同"); } String s3=new String("22030219851022024"); if (【代码2】) // 判断s3的前缀是否是“220302” { System.out.println("吉林省的身份证"); } String s4=new String("你"), s5=new String("我"); if(【代码3】) // 按着字典序s4大于s5的表达式 { System.out.println("按字典序s4大于s5"); } else { System.out.println("按字典序s4小于s5"); } int position=0; String path="c:\\java\\jsp\\A.java"; position=【代码5】// 获取path中最后出现目录分隔符号的位置 System.out.println("c:\\java\\jsp\\A.java中最后出现\\的位置:"+position); String fileName=【代码6】// 获取path中“A.java”子字符串 System.out.println("c:\\java\\jsp\\A.java中含有的文件名:"+fileName);

第四章 函数与过程

第四章函数与过程 程序中往往需要把主要任务分成若干个子任务,每个子任务只负责一个专门的基本工作。每个子任务就是一个独立的子程序。Turbo Pascal可以把函数和过程作为子程序调用。 第一节函数 Pascal允许用户在程序中自己说明定义所需要的函数并在程序中调用这些函数。 [例4.1]编程找出由键盘任意输入五个整数中的最大整数。 解:设输入的五个整数为n1、n2、n3、n4、n5,为了便于处理,引入一个中间变量t1,按如下步骤处理: ①令t1=n1; ②将t1与n2比较,将两者中较大的数放入t1; ③将t1与n3比较,将两者中较大的数放入t1; =4\*GB3④将t1与n4比较,将两者中较大的数放入t1; =5\*GB3⑤将t1与n5比较,将两者中较大的数放入t1; =6\*GB3⑥经过以上5步处理后,t1即为5个数中最大者。 从上面规划的步骤看来,从步骤②到步骤=5\*GB3⑤需处理的目标是相同的,因此我们可以设计一段子程序Max(x1,x2),以找出x1和x2中最大的值并返回。 Pascal程序: Program Exam41_a; Var n1,n2,n3,n4,n5,t1:integer; Function max(x1,x2:integer):integer; Begin If x1>x2then Max:=x1 Else Max:=x2; End; Begin Write(‘Input5numbers:‘); Readln(n1,n2,n3,n4,n5);

T1:=n1; T1:=Max(t1,n2); T1:=Max(t1,n3); T1:=Max(t1,n4); T1:=Max(t1,n5); Writeln(‘Max number:‘,t1); End. 从上例看出,引入函数实际上是将一个复杂的问题划分成若干个易于处理的子问题,将编程化简的一种有效办法,而化简的方法是多种多样的,如前面已经做过求三个数中的最大数,所以可定义一个专门求三个数中最大数的函数(Max)。第一次用这个函数求出n1,n2,n3三个数中的最大数t1;第二次调用这个函数求出t1与n4,n5三个数中的最大数,也就是前三个数的最大数(已在t1中)和后面二个数再求一次,就得到五个数的最大数。因此,需要两次使用“求三个数中的最大数”,步骤如下: ①调用函数Max(n1,n2,n3),求出n1,n2,n3中的最大者t1; ②调用函数Max(t1,n4,n5),求出t1,n4,n5中的最大者t2; ③输出最大数t2。 Program Exam41_b; Var n1,n2,n3,n4,n5,t1:integer; function Max(x1,x2,x3:integer):integer;{自定义函数Max} Var XX:integer;{函数内部变量说明} begin{函数体} if X1>X2then XX:=X1 else XX:=X2; if X3>XX then XX:=X3; Max:=XX end; Begin{主程序} Write('Input5numb:'); Readln(n1,n2,n3,n4,n5);{输入五个数} t1:=Max(n1,n2,n3);{用函数求n1,n2,n3的最大数}

Java中String中类的常用方法

Java中String中类的常用方法 1)public String(char [] value):将字符数组转成字符串; char c[]={…f?,?w?,?s?,?w?,?g?,?a?}; String s=new String(c); System.out.println(s); 结果为:fwswga 2)public String(cahr [] value,开始位置,新字符串的长度):将指定位置长度的字符数组转成字符串; char c[]={…f?,?w?,?s?,?w?,?g?,?a? } String s=new String(c,2,2); System.out.println(c); 结果为:sw 3) public String (byte [ ] value):将字节数组转成字符串; byte b[]={…w?,?o?,?r?,?l?,?d?,?!?}; String s=new String(b); System.out.println(s); 结果为:world! 4) public String (byte [] value, 开始位置,新字符串长度);将指定位置长度的字节数组转成字符串; byte b[]={…w?,?o?,?r?,?l?,?d?,?!?}; String s=new String(b,2,3); System.out.println(s); 结果为:rl 5)public char[] toCharArray();将字符数组转成字符串 String s=”Hello”; Char c[]=s.toCharArray(); for (int i=0;i

C++习题第04章 函数

第04章函数 1.填空题 (1)当一个函数无法返回值时,函数的类型应定义为________。 (2)定义只允许该源文件中所有函数使用的全局变量称为________,定义时应采用关键字________。 (3) ________是指一个函数可以和同一作用域中的其他函数具有相同的名字,但这些同名函数的参数类型、参数个数、返回值以及函数功能可以完全不同。 (4)在定义内联函数时,函数值的类型左面有关键字________。 (5) ________不能被用来作为内联函数。 (6)C++提供的预处理命令主要有以下3种:________、________和________。 2.判断题 (1)在C++中,形参和实参的名字必须是相同的。 (2)在C++中,函数可以嵌套定义,即一个函数可以定义在另一个函数的函数体中。(3)如果需要,swith这样的关键字也可以被定义成函数名。 (4)函数的参数类型必须和函数类型一致。 (5)定义内联函数的关键字为online。 (6)调用重载函数时,参数列表中可以有常数。 (7)在变量声明前加关键字static意味着该变量的值在程序执行的任何时候都不能改变。 (8)用户自定义函数至少被调用一次,否则C++编译器会给出一个警告信息。 (9)一个文件中的函数可以被其他文件中的函数调用。 (10)用户自定义函数可以写在main函数之前。 3.读程序写结果 (1) #include void test(); void main() { int x=9,y=5; test(); cout<<"x="<

第四章-生产函数

第四章 生产函数 1.下面是一张一种可变生产要素的短期生产函数的产量表: (1) 在表中填空。 (2) 该生产函数是否表现出边际报酬递减?如果是,是从第几单位的可变要素投入量开 始的? (2)该生产函数表现出边际报酬递减。是从第5个单位的可变要素投入量开始,此时,平均 产量开始大于边际产量。 2.用图说明短期生产函数Q =f(L ,k )的TP L 曲线,AP L 曲线和MP L 曲线的特征及其相互之间的关系。 (1)总产量线TP ,边际产量线MP 和平均产量线AP 都是先呈上升趋势,达到本身的最大值以后,再呈下降趋势。参考第4题图。 (2) 首先,总产量与边际产量的关系: ① MP=TP ′(L, K),TP= ∫MP 。 ②MP 等于TP 对应点的斜率,边际产量线是总产量线上各点的斜率值曲线。斜率值最大的一点,即边际产量线拐点。 ③MP =0时, TP 最大;边际产量线与横轴相交。MP >0 时, TP 递增; MP <0 时, TP 递减。 其次,平均产量与边际产量关系。 2 1 ()()()TP TP L TP AP L MP AP L L L '-''===-

①若MP >AP ,则AP 递增;平均产量上升的部分,边际产量一定高于平均产量; ②若MP <AP ,则AP 递减;平均产量线下降的部分,边际产量线一定低于平均产量线。 ③若MP =AP ,则AP 最大。MP 交AP 的最高点。 最后,总产量与平均产量的关系。 ①AP=TP/L ②原点与TP 上一点的连线的斜率值等于该点的AP 。 ③从原点出发与TP 相切的射线,切点对应AP 最大。 3.已知生产函数Q =f(L ,K)=2KL- 0.5L 2-0.5K 2,假定厂商目前处于短期生产,且K =10,求: (1)写出在短期生产中该厂商关于劳动的总产量TP L 函数、劳动的平均产量AP L 函数和劳动的边际产量MP L 函数。 (2)分别计算当总产量TP L 、劳动平均产量AP L 和劳动边际产量MP L 各自达到极大值时的厂商劳动的投入量。 (3)什么时候AP L =MP L ?它的值又是多少? 3. 解:(1)把K=10代入生产函数得短期关于劳动的总产量函数为: () 22,2100.50.510L TP f L K L L ==?--?2200.550L L =-- 劳动的平均产量函数为:2200.55050 200.5L L TP L L AP L L L L --===-- 劳动的边际产量函数为:()( )2 200.550 20L L MP TP L L L ''==--=- (2)当0L MP =时,即20L=0L=20-?时,L TP 达到极大值 。 当L L AP MP =时,即50 200.5L 20L L -- =-,L=10时,L AP 达到极大值。 ()()L MP 20-L 1''==-,说明L MP 始终处于递减阶段,所以L=0时,MP 最大。 (3)L L AP MP L 10=?=,把L 10= 代入AP 和MP 函数得: 50 200.5=2055=10L AP L L =-- -- ,20=2010=10L MP L =-- , 即 L=10时,L AP Q D C TP L 第Ⅰ阶段 第Ⅱ阶段 第Ⅲ阶段 B B ′ C ′ AP L O L 2 L 3 L 4 MP L L

string类常用方法.

字符串与字符 2r^r-i?F?^*:HPLL0WDRLD 字符小由字符数组所纽成 No 方法名称 类型 1 Public String (char[J vaule) 构造 将字符数组变成字符串 2 Public String (char[) vaule* intoffset, int count) 构造 将字符数组变成字符申,offset 衣示 开始* count Zi 示长度 3 Public char charAt(int index) 浮通 取得指:4^索引位誉1:的字符 4 Public char[] toCharArrayO 普通 将字符中转化为7符数细 4ftuI:charAt ()方法 ilk cUei ( public static voitf r; Sf-ttm.OMt .p rintln(c}; toCharArravO 方法 y. * .' wAppi E 6y ■*?*'? public c”“ StrlngDeeo < pBiilic Btfltlc void Mln(Mrtng ?"■(]〉 { String S"?*beUOtfOrl ?"; cMr dot a (] *3tr? taC harffrr?y< ) £ Sff (no (fflva A^pScMionl <2014V7^25

相关主题
文本预览
相关文档 最新文档