c语言程序设计第五版习题.docx


文档分类:IT计算机 | 页数:约146页 举报非法文档有奖
1/146
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/146
文档列表 文档介绍
该【c语言程序设计第五版习题 】是由【泰山小桥流水】上传分享,文档一共【146】页,该文档可以免费在线阅读,需要了解更多关于【c语言程序设计第五版习题 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。精选文档
精选文档
1
精选文档第1章C语言归纳


【解答】
1)言、凑,使用方便、灵巧。
2)数据型丰富,表达能力。
3)运算符多。C言中的运算符包含的范特别广泛。
(4)拥有构化的控制句。如

if

⋯else

句、

while
精选文档
精选文档
146
精选文档
句、dowhile

句、switch

句、

for

句。
精选文档
精选文档
146
精选文档
5)允直接物理地址。C言中含有的位和指运算,能直接内存地址行操作。
6)所生成的目代量高,可移植性好。
?它由哪几部分成?
【解答】函数是构成C言程序的基本位。一个完好的C
程序一般由文件包含、宏定、函数明、量和一个或若干个
函数成。
?
【解答】(1);(2);(3)接,生成EXE文件;
(4)行。


main()
{
精选文档
精选文档
146
精选文档
inta1,a2,x;
a1=100;
a2=50;
x=a1-a2;
printf(″x=%dn″,x);
}
【解答】运转结果为:x=50

main()
{
inta1,a2,x;
a1=10;
a2=20;
x=a1*a2;
printf(″a1=%d,n″,a1,a2);printf(″x=%dn″,x);
}
【解答】运转结果为:a1=10,a2=20
x=200

,编写一个C程序,用于显示以下信息:
*
IloveCprograms!
*
【分析与提示】
①要有文件包含语句#include<>。C语言中没有数据的输入、输出等功能,数据的输入、输出都是经过调用
系统供给的库函数scanf和printf等来实现的。。
②main是主函数的名称。用{}括起来的内容是函数体,函数体由若干条语句构成,这是计算机要执行的部分,每条语句以分号“;”结束。
③注意显示的信息有三行,所以要用到换行符“n”。
参照代码:
#include<>
main()
{
printf("\n");
printf("IloveCprograms!\n");
printf("\n");
}
精选文档
精选文档
5
精选文档
第2章数据种类及其运算

?
【解答】短整型(shortint)
整型整型(int)
长整型(longint)
基本种类字符型(char)单精度(float)
实型(浮点型)
双精度(double)
列举种类(enum)
数组种类
构造种类构造体种类(struct)
共用体种类(union)
指针种类
空种类(void)
?
【解答】字符常量用单括号括起,字符串常量用双括号括起;字符常量储存时占1个字节,字符串常量储存时除了n个字符外,还有系统加上的字符串停止符\0,所以字符串常量储存时占n+1个字节。
?各自是如何构成的?
【解答】C语言中的常量是一些其值早先定的量,并且在程序执行过程中其值不再发生变化。常量的分类依据基本数据种类分类原则,C语言编译系统自动将其存放在于种类相应的内存单元中。其种类包含整形常量、浮点常量、字符常量、字符串常量
和列举常量。整形常量又分为十进制整形常量、八进制整形常量、
十六进制整形常量。浮点常量分成十进制形式和指数形式。C语言中的,字符常量是用单括号括起来的一个字符或是字符序列,
精选文档
精选文档
6
精选文档
而字符串常量是用一对双括号括起来的零个也很多个字符构成
的序列。
、变量的指针、变量的值、指针变量与指针
变量的值的含义是什么?
【解答】C语言中将地址又称为“指针”。一个变量所分配
的内存空间首字节地址,称为该变量的指针(地址),变量的值就
被放入所分配的地址单元中。地址一旦被分配,就不会再改变,
所以,指针是一个常量。既然是常量就可以把它赋给一个变量。
用来存放指针的变量,被称为指针变量。一个指针变量的值是变
量的地址,一个指针变量可以被给予不一样的指针值。
?说明不合法的原由。
123,,0892,’M’,’n’,0xabc,
-6,”Morning”,-
【解答】非法常量有:
0892——含有非八进制数字8和9
-——非法指数形式浮点常量:规定e后边的指数
一定为整数。
?为何?请改正。
(1)charc1,inta2;(2)INTa,b;FLOATx,y;(3)a,b:char;
(4)charif;(5)inta,b(6)Inta:b:c;
(7)inta,x;floatx,y;
【解答】
精选文档
精选文档
7
精选文档
(1)charc1,inta2;
错误。定义不一样种类的变量时,应用分号相互分开。
改正为:charc1;inta2;
(2)INTa,b;FLOATx,y;
错误。C语言中表示种类名的要点字一定小写。
改正为:inta,b;floatx,y;
(3)a,b:char;
错误。C语言中变量定义格式为:种类名变量名;
改正为:chara,b;
(4)charif;
错误。变量名不可以与C语言的要点字重名。
改正为:charf1;
(5)inta,b
错误。变量定义以语句形式出现,应以分号结尾。
改正为:inta,b;
(6)Inta:b:c;
错误。种类名不可以有大写字母,相同种类名之间用逗号分开。
改正为:inta,b,c;
(7)inta,x;floatx,y;
错误。在同一程序地址上,同一变量名不可以重复定义充当两个不一样的变量。
改正为:inta,x;floatx1,y;
精选文档
精选文档
8
精选文档
?在内存中储存时各自
占用的单元数又是多少?
(1)“Hello!”(2)“ABC?”(3)
“765+123=?”
【解答】
(1)“Hello!”字符串长度为6,占用内存字节数为7。
(2)“ABC?”字符串长度为9,占用内存字节数为10。因为此中\n\\\064\?各自只占一个字符的地址。
(3)“765+123=?”该字符串不是合法的,因为\765
表示的值太大,超出合法的ASCII字符集的范围。


main()
{
inti,j;
i=15;
printf(“%d,%d”,i++,i--);
}
【解答】14,15

main()
{
inta=20,b=10,c,*p1,*p2;
p1=&a;
p2=&b;
精选文档
精选文档
9
精选文档
c=(-*p1)/(*p2)+6;
printf("a=%d,b=%d\n",a,b);
printf("*p1=%d,*p2=%d\n",*p1,*p2);
printf("c=%d\n",c);
}
【分析与提示】
p1a
a2
P2b`
【解答】a=20,b=10
b1
*p1=20,*p2=10
c=4

#include<>
main()
{
chara=’G’,b=’o’,c=’o’,d=’d’;a=a+32;
b=b-6;
c=c+3;
d=d+8;
printf("%c%c%c%c\n",a,b,c,d);
}
【分析与提示】从ASCII代码表可以看出,字符“G”、“o”、
“o”、“d”的ASCII代码值为71、111、101,所以,’G’+32、’o’-6、’o’+3、’d’+8的值分别是103、
105、114、108,它们所对应的字符分别是“g”、“i”、“r”、“l”。
常用结论:
(1)在C语言中,字符数据可以按其ASCII代码值参加整数运算。因为英文字母在ASCII代码表中是按序次摆列的,所以
精选文档
精选文档
10
精选文档
在计算’o’+3代表的字母时,可从字符’o’其序次向后取3个字
母,该字母是“r”。
(2)从ASCII代码表可以看出“小写字母”-“对应大写字
母”的结果是32,所以可计算出以低等式:大写字母的ASCII
值+32=对应小写字母的ASCII值;小写字母的ASCII值-32=对应大写字母的ASCII值。
【解答】girl

#include<>
main()
{
intx;
x=-3+4*5-6;
printf("x1=%d\n",x);
x=3+4%5-6;
printf("x2=%d\n",x);
x=-3*4%-6;
printf("x3=%d\n",x);
}
【分析与提示】x1=11(4*5是20,-3+20是17,17-6等于
11)
x2=1(4%5等于4,3+4等于7,7-6等于1)
x3=0(-3*4等于-12,-12%-6等于0)
【解答】x1=11
x2=1
x3=0

#include<>
精选文档
精选文档
11
精选文档
main()
{
printf("%d\n",NULL);
printf("%d,%c\n",49,49);
printf("%d,%c,%o\n",48+10,48+10,48+10);
}
【分析与提示】
0(NULL的ASCII码值是0)
49,1(数字1的ASCII码值是49)
58,:,72(48+10等于58,正好是“:”的ASCII码值,八
进制表示是72)
【解答】0
49,1
58,:,72
三、改错题
,使其可以经过编译。
#include<>
VoidMain()
{
inta=6;b=8;
intc;
c=a*b;
printf(‘%d’,c);
}
【答案】错误的地方有3处:(1)第2行要点字应该小写;
精选文档
精选文档
12
精选文档
(2)定义b时前面应该用逗号;(3)打印语句的格式应该
用双引号括起来。
正确的程序以下:
#include<>
voidmain()
{
inta=6,b=8;
intc;
c=a*b;
printf("%d",c);
}
,使其可以正确运转。
#include<>
voidmain();
{
floatf=;
charc=”c”;
printf(“%dn”,int(f%3));
printf(“%c”,c);
}
【答案】错误的地方有3处:(1)第2行main();不该该
有分号;(2)定义charc=”c”;
精选文档
精选文档
13
精选文档

c语言程序设计第五版习题 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息