C程序设计谭浩强版复习资料Word文档格式.doc

上传人:wj 文档编号:3976187 上传时间:2023-05-02 格式:DOC 页数:7 大小:88.50KB
下载 相关 举报
C程序设计谭浩强版复习资料Word文档格式.doc_第1页
第1页 / 共7页
C程序设计谭浩强版复习资料Word文档格式.doc_第2页
第2页 / 共7页
C程序设计谭浩强版复习资料Word文档格式.doc_第3页
第3页 / 共7页
C程序设计谭浩强版复习资料Word文档格式.doc_第4页
第4页 / 共7页
C程序设计谭浩强版复习资料Word文档格式.doc_第5页
第5页 / 共7页
C程序设计谭浩强版复习资料Word文档格式.doc_第6页
第6页 / 共7页
C程序设计谭浩强版复习资料Word文档格式.doc_第7页
第7页 / 共7页
亲,该文档总共7页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C程序设计谭浩强版复习资料Word文档格式.doc

《C程序设计谭浩强版复习资料Word文档格式.doc》由会员分享,可在线阅读,更多相关《C程序设计谭浩强版复习资料Word文档格式.doc(7页珍藏版)》请在冰点文库上搜索。

C程序设计谭浩强版复习资料Word文档格式.doc

C++程序没有行号,也不像FORTRAN或COBOL那样严格规定书写格式(语句必须从某一列开始书写)。

(8)一个好的、有使用价值的源程序都应当加上必要的注释,以增加程序的可读性。

C++还保留了C语言的注释形式,可以用“/*……*/”对C++程序中的任何部分作注释。

在“/*”和“*/”之间的全部内容作为注释。

用“//”作注释时,有效范围只有一行,即本行有效,不能跨行。

而用“/*……*/”作注释时有效范围为多行。

只要在开始处有一个“/*”,在最后一行结束处有一个“*/”即可。

因此,一般习惯是:

内容较少的简单注释常用“//”,内容较长的常用“/*……*/”。

2、一个程序从编写到最后得到运行结果要经历哪几个步骤?

文件包含是什么意思?

3、数据类型各知识点

4、什么叫变量?

有哪些属性?

变量名规则是什么?

变量除了有数据类型属性外,还有哪些属性?

5、C++的运算符有哪些?

其运算的优先级是什么?

C++的关系运算符有:

①<

(小于)

②<

= (小于或等于) 优先级相同(高)

③>

(大于)

④>

= (大于或等于)

⑤== (等于)

⑥!

= (不等于) 优先级相同(低)

关于优先次序:

①前4种关系运算符(<

,<

=,>

,>

=)的优先级别相同,后两种也相同。

前4种高于后两种。

例如,“>

”优先于“==”。

而“>

”与“<

”优先级相同。

②关系运算符的优先级低于算术运算符。

③关系运算符的优先级高于赋值运算符。

例如:

c>

a+b等效于c>

(a+b)

a>

b==c等效于(a>

b)==c

a==b<

c等效于a==(b<

c)

a=b>

c等效于a=(b>

用关系运算符将两个表达式连接起来的式子,称为关系表达式。

关系表达式的一般形式可以表示为

表达式关系运算符表达式

其中的“表达式”可以是算术表达式或关系表达式、逻辑表达式、赋值表达式、字符表达式。

例如,下面都是合法的关系表达式:

a>

b,a+b>

b+c,(a==3)>

(b==5),′a′<

′b′,(a>

b)>

(b<

关系表达式的值是一个逻辑值,即“真”或“假”。

例如,关系表达式“5==3”的值为“假”,“5>

=0”的值为“真”。

在C和C++中都用数值1代表“真”,用0代表“假”。

如果有以下赋值表达式:

d=a>

b则d得到的值为1

f=a>

b>

cf得到的值为0

逻辑运算符的优先次序:

(1)!

(非)→&

&

(与)→(或),即“!

”为三者中最高的。

(2)逻辑运算符中的“&

”和“||”低于关系运算符,“!

”高于算术运算符。

6、“判断浮点数a是否在闭区间[-16.3,-10.9]之中”的C++语言表达式是什么?

7、C++提供的预处理功能有哪些?

8、设变量a为int型变量,且值为8。

请运算a++和++a后表达式的值和变量a的值分别是多少?

9、什么叫文件包含处理?

头文件一般包含哪几类内容

10、

程序段如下:

for(s=0,i=1;

i<

10;

i++)

{if(i%4==0)break;

s=s+i;

}

则程序段运行完毕后s的值为多少?

11、内存中供用户使用的存储空间通常由几个部分组成?

12、编程完成输入一个字符,判别它是否为大写字母,如果是,将它转换成小写字母;

如果不是,不转换。

然后输出最后得到的字符。

13、编写程序,判断某一年是否为闰年;

14、编写程序找出100~200间的全部素数;

15、编程求3个正整数中的最大数(用3种以上不同方法)

16、编程输入a和b两个整数,按先大后小的顺序输出a和b(用指针变量处理)

17、如果x=3,y=6,则int(x+y)=。

18、

doublea=123.456789012345;

对a赋初值

(1)cout<

<

a;

输出:

(2)cout<

setprecision(9)<

(3)cout<

setprecision(6);

功能是

(4)cout<

setiosflags(ios∷fixed);

输出

(5)cout<

setiosflags(ios∷fixed)<

setprecision(8)<

(6)cout<

setiosflags(ios∷scientific)<

(7)cout<

setprecision(4)<

输出:

intb=123456;

对b赋初值

b;

hex<

setiosflags(ios∷uppercase)<

setw(10)<

b<

′,′<

setfill(′*′)<

setiosflags(ios∷showpos)<

19、变量除了有数据类型属性外,还有哪些属性?

20、什么是变量?

什么是指针?

变量和指针之间有何联系?

指针有哪些属性?

21、什么是数组?

数组名有什么意义?

用数组名作为参数有何要求?

与指针之间有何联系和区别?

一维和二维数组的定义、引用和初始化等

22、关于用数组名作函数参数有两点要说明

(1)如果函数实参是数组名,形参也应为数组名,形参不能声明为普通变量(如intarray;

)。

实参数组与形参数组类型应一致(现都为int型),如不一致,结果将出错。

(2)需要特别说明的是:

数组名代表数组首元素的地址,并不代表数组中的全部元素。

因此用数组名作函数实参时,不是把实参数组的值传递给形参,而只是将实参数组首元素的地址传递给形参。

形参可以是数组名,也可以是指针变量,它们用来接收实参传来的地址。

如果形参是数组名,它代表的是形参数组首元素的地址。

在调用函数时,将实参数组首元素的地址传递给形参数组名。

这样,实参数组和形参数组就共占同一段内存单元。

在用变量作函数参数时,只能将实参变量的值传给形参变量,在调用函数过程中如果改变了形参的值,对实参没有影响,即实参的值不因形参的值改变而改变。

而用数组名作函数实参时,改变形参数组元素的值将同时改变实参数组元素的值。

在程序设计中往往有意识地利用这一特点改变实参数组元素的值。

实际上,声明形参数组并不意味着真正建立一个包含若干元素的数组,在调用函数时也不对它分配存储单元,只是用array[]这样的形式表示array是一维数组名,以接收实参传来的地址。

因此array[]中方括号内的数值并无实际作用,编译系统对一维数组方括号内的内容不予处理。

形参一维数组的声明中可以写元素个数,也可以不写。

23、字符串处理函数有哪些?

24、

#include<

iostream>

usingnamespacestd;

intmain()

{charc1;

c1=′a′+’8’-’5’;

cout<

c1<

endl;

return0;

请问输出什么?

25、有两个与指针变量有关的运算符:

(1)&取地址运算符。

(2)*指针运算符(或称间接访问运算符)

26、课本中对“&

”和“*”运算符再做些说明部分;

27、

如果先使p指向数组a的首元素(即p=a),则:

(1)p++(或p+=1)。

使p指向下一元素,即a[1]。

如果用*p,得到下一个元素a[1]的值。

(2)*p++。

由于++和*同优先级,结合方向为自右而左,因此它等价于*(p++)。

作用是:

先得到p指向的变量的值(即*p),然后再使p的值加1。

例6.5(3)程序中最后一个for语句:

for(p=a;

p<

a+10;

p++)

*p;

可以改写为

*p++;

(3)*(p++)与*(++p)作用不同。

前者是先取*p值,然后使p加1。

后者是先使p加1,再取*p。

若p的初值为a(即&

a[0]),输出*(p++)得到a[0]的值,而输出*(++p)则得到a[1]的值。

(4)(*p)++表示p所指向的元素值加1,即(a[0])++,如果a[0]=3,则(a[0])++的值为4。

注意:

是元素值加1,而不是指针值加1。

(5)如果p当前指向a[i],则

*(p--)先对p进行“*”运算,得到a[i],再使p减1,p指向a[i-1]。

*(++p)先使p自加1,再作*运算,得到a[i+1]。

*(--p)先使p自减1,再作*运算,得到a[i-1]。

将++和--运算符用于指向数组元素的指针变量十分有效,可以使指针变量自动向前或向后移动,指向下一个或上一个数组元素。

例如,想输出a数组100个元素,可以用以下语句:

p=a;

p=a;

while(p<

a+100)或 while(p<

a+100)

{cout<

*p;

p++;

在用*p++形式的运算时,很容易弄错,一定要十分小心,弄清楚先取p值还是先使p加1。

28、设变量x=y=a=b=c=d=0,执行(x=a==b)||(y=c==d)后,x,y的值分别是多少?

29、for循环有何特点?

30、

intmain()

{chara,b,c;

a=′B′;

b=′O′;

c=′Y′;

putchar(a);

putchar(b);

putchar(c);

putchar(′\n′);

putchar(66);

putchar(79);

putchar(89);

putchar(10);

运行结果为

31、字符串处理函数有哪些?

32、函数的定义格式是什么?

形参和实参的要求有哪些?

C++构造函数又有何特点?

(1)在定义函数时指定的形参,在未出现函数调用时,它们并不占内存中的存储单元,因此称它们是形式参数或虚拟参数,表示它们并不是实际存在的数据,只有在发生函数调用时,函数max中的形参才被分配内存单元,以便接收从实参传来的数据。

在调用结束后,形参所占的内存单元也被释放。

(2)实参可以是常量、变量或表达式,如max(3,a+b);

但要求a和b有确定的值。

以便在调用函数时将实参的值赋给形参。

(3)在定义函数时,必须在函数首部指定形参的类型

(4)实参与形参的类型应相同或赋值兼容。

(5)实参变量对形参变量的数据传递是“值传递”,即单向传递,只由实参传给形参,而不能由形参传回来给实参。

在调用函数时,编译系统临时给形参分配存储单元。

请注意:

实参单元与形参单元是不同的单元。

33、

(1)for(i=1;

++i<

6;

)GLOOP;

(2)for(i=1;

i++<

则GLOOP执行次数分别是多少?

34、填空

iostream>

Usingnamespacestd;

voidmain()

{ intn;

for(n=1;

n<

5;

n++)

fun(n);

voidfun(inti)

{statics=0;

s+=i;

cout<

s<

执行后s的值是什么?

35、填空

{ int;

i=8;

j=10;

m=++i+j++;

n=(++i)+(++j)+m;

‘t’<

j<

m<

‘t’<

return0;

36、编写一求三角形面积的程序;

37、编程将一个二维数组行和列元素互换,存到另一个二维数组中;

38、有一个5×

4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。

39、

40、填空

{ int,,*p,a,;

cin>

>

p1=&

a;

p2=&

b;

if(a<

b)

{p=p1;

p1=p2;

p2=p;

“a=”<

a<

“b=”<

“max=”<

<

“min=”<

*p2<

endl;

程序的功能是

41、下面是求二维数组a[3][4]中的最大元素的值,同时显示其所在的行号和列号,请填空

{inti,j,row=,colum=,;

int={{3,4,1,60},{6,34,-2,7},{0,-90,3,6}};

max=a[0][0];

for()

for()

if(a[i][j]>

max)

{max=a[i][j];

row=;

colum=;

cout<

“,row=”<

<

“,colum=”<

return0;

42、局部变量和全局变量的概念和特点及应用。

变量的存储类别有哪些?

43、复习课中提到的知识点和重点程序内容;

7

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

当前位置:首页 > 解决方案 > 解决方案

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2