c语言程序设计第五版习题答案()

合集下载

c语言程序设计第五版习题答案解析

c语言程序设计第五版习题答案解析

习题解析与答案第1章C语言概述一.简答题1.概述C语言的主要特点。

【解答】(1)语言简洁、紧凑,使用方便、灵活。

(2)数据类型丰富,表达能力强。

(3)运算符多样。

C语言中的运算符包含的范围非常广泛。

(4)具有结构化的控制语句。

如if…else语句、while语句、do while语句、switch 语句、for语句。

(5)允许直接访问物理地址。

C语言中含有的位和指针运算,能够直接对内存地址进行访问操作。

(6)所生成的目标代码质量高,可移植性好。

2.构成C语言程序的基本单位是什么?它由哪几部分组成?【解答】函数是构成C语言程序的基本单位。

一个完整的C程序一般由文件包含、宏定义、函数说明、变量和一个或若干个函数组成。

3.C语言程序的运行一般要经过哪几个步骤?【解答】(1)编辑;(2)编译;(3)连接,生成EXE文件;(4)执行。

二.运行程序写结果1.输入下面程序并运行。

main(){int a1,a2,x;a1=100;a2=50;x=a1-a2;printf(″x=%d\n″,x);}【解答】运行结果为:x=502.输入下面程序并运行。

main(){int a1,a2,x;a1=10;a2=20;x=a1*a2;printf(″a1=%d,a2=%d\n″,a1,a2);printf(″x=%d\n″,x);}【解答】运行结果为:a1=10,a2=20x=2003.输入下面程序并运行。

#include <stdio.h>main(){printf("******\n");printf(" *****\n");printf(" ****\n");printf(" ***\n");printf(" **\n");printf(" *\n");}【解答】运行结果为:*********************思考:可以修改程序,使之输出平行四边形,等腰三角形等图形。

c语言程序设计第五版习题答案解析

c语言程序设计第五版习题答案解析

习题解析与答案第1章C语言概述一.简答题1.概述C语言的主要特点。

【解答】(1)语言简洁、紧凑,使用方便、灵活。

(2)数据类型丰富,表达能力强。

(3)运算符多样。

C语言中的运算符包含的范围非常广泛。

(4)具有结构化的控制语句。

如if…else语句、while语句、dowhile语句、switch语句、for语句。

(5)允许直接访问物理地址。

C语言中含有的位和指针运算,能够直接对内存地址进行访问操作。

(6)所生成的目标代码质量高,可移植性好。

2.构成C语言程序的基本单位是什么它由哪几部分组成【解答】函数是构成C语言程序的基本单位。

一个完整的C程序一般由文件包含、宏定义、函数说明、变量和一个或若干个函数组成。

3.C语言程序的运行一般要经过哪几个步骤【解答】(1)编辑;(2)编译;(3)连接,生成EXE文件;(4)执行。

二.运行程序写结果1.输入下面程序并运行。

main(){inta1,a2,x;a1=100;a2=50;x=a1-a2;printf(″x=%d\n″,x);}【解答】运行结果为:x=502.输入下面程序并运行。

main(){inta1,a2,x;a1=10;a2=20;x=a1*a2;printf(″a1=%d,a2=%d\n″,a1,a2);printf(″x=%d\n″,x);}【解答】运行结果为:a1=10,a2=20x=2003.输入下面程序并运行。

#include<>main(){printf("******\n");printf("*****\n");printf("****\n");printf("***\n");printf("**\n");printf("*\n");}【解答】运行结果为:*********************思考:可以修改程序,使之输出平行四边形,等腰三角形等图形。

c语言程序设计第五版习题答案解析

c语言程序设计第五版习题答案解析

习题解析与答案第1章C语言概述一.简答题1.概述C语言的主要特点。

【解答】(1)语言简洁、紧凑,使用方便、灵活。

(2)数据类型丰富,表达能力强。

(3)运算符多样。

C语言中的运算符包含的范围非常广泛。

(4)具有结构化的控制语句。

如if…else语句、while语句、do while语句、switch 语句、for语句。

(5)允许直接访问物理地址。

C语言中含有的位和指针运算,能够直接对内存地址进行访问操作。

(6)所生成的目标代码质量高,可移植性好。

2.构成C语言程序的基本单位是什么?它由哪几部分组成?【解答】函数是构成C语言程序的基本单位。

一个完整的C程序一般由文件包含、宏定义、函数说明、变量和一个或若干个函数组成。

3.C语言程序的运行一般要经过哪几个步骤?【解答】(1)编辑;(2)编译;(3)连接,生成EXE文件;(4)执行。

二.运行程序写结果1.输入下面程序并运行。

main(){int a1,a2,x;a1=100;a2=50;x=a1-a2;printf(″x=%d\n″,x);}【解答】运行结果为:x=502.输入下面程序并运行。

main(){int a1,a2,x;a1=10;a2=20;x=a1*a2;printf(″a1=%d,a2=%d\n″,a1,a2);printf(″x=%d\n″,x);}【解答】运行结果为:a1=10,a2=20x=2003.输入下面程序并运行。

#include <stdio.h>main(){printf("******\n");printf(" *****\n");printf(" ****\n");printf(" ***\n");printf(" **\n");printf(" *\n");}【解答】运行结果为:*********************思考:可以修改程序,使之输出平行四边形,等腰三角形等图形。

c语言程序设计第五版习题答案

c语言程序设计第五版习题答案
x3=0(-3*4等于-12,-12%-6等于0)
【解答】x1=11
x2=1
x3=0
5.以下程序的执行结果是。
#include <stdio.h>
main()
{
printf("%d\n",NULL);
printf("%d,%c\n",49,49);
printf("%d,%c,%o\n",48+10,48+10,48+10);
实型(浮点型)
双精度(double)
枚举类型(enum)
数组类型
构造类型结构体类型 (struct)
共用体类型(union)
指针类型
空类型(void)
2.字符常量与字符串常量有什么区别?
【解答】字符常量用单括号括起,字符串常量用双括号括起;字符常量存储时占1个字节,字符串常量存储时除了n个字符外,还有系统加上的字符串终止符\0,所以字符串常量存储时占n+1个字节。
(2)从ASCII代码表可以看出“小写字母”-“对应大写字母”的结果是32,因此可推算出如下等式:大写字母的ASCII值+32=对应小写字母的ASCII值;小写字母的ASCII值-32=对应大写字母的ASCII值。
【解答】girl
4.以下程序的执行结果是。
#include <stdio.h>
main()
改正为:int a,x; float x1,y;
7.下述字符串常量的长度是多少?在内存中存储时各自占用的单元数又是多少?
(1)“Hello!”(2)“ABC\n\\TH\064\?”(3)“\xAB*\765+123=?”

c语言程序设计第五版习题答案

c语言程序设计第五版习题答案
{
int a=6;b=8;
int c;
c=a*b;
printf(‘%d’,c);
}
【答案】错误的地方有3处:(1)第2行关键字应该小写;(2)定义b时前面应该用逗号;(3)打印语句的格式应该用双引号括起来。
正确的程序如下:
#include <stdio.h>
void main()
{
int a=6,b=8;
3.C语言中的常量包括哪几类?各自是如何构成的?
【解答】C语言中的常量是一些其值预先定的量,并且在程序执行过程中其值不再发生变化。常量的分类遵循基本数据类型分类原则,C语言编译系统自动将其存放在于类型相应的内存单元中。其类别包含整形常量、浮点常量、字符常量、字符串常量和枚举常量。整形常量又分为十进制整形常量、八进制整形常量、十六进制整形常量。浮点常量分成十进制形式和指数形式。C语言中的,字符常量是用单括号括起来的一个字符或是字符序列,而字符串常量是用一对双括号括起来的零个或者多个字符组成的序列。
②main是主函数的名称。用{}括起来的内容是函数体,函数体由若干条语句组成,这是计算机要执行的部分,每条语句以分号“;”结束。
③注意显示的信息有三行,所以要用到换行符“\n”。
参考代码:
#include <stdio.h>
main()
{
printf("************************\n");
main()
{
int a=20,b=10,c,*p1,*p2;
p1=&a;
p2=&b;
c=(-*p1)/(*p2)+6;
printf("a=%d,b=%d\n",a,b);

c语言程序设计第五版习题答案解析

c语言程序设计第五版习题答案解析

习题解析与答案第1章C语言概述一.简答题1.概述C语言的主要特点。

【解答】(1)语言简洁、紧凑,使用方便、灵活。

(2(3(4语句、for(5作。

(6231{2{inta1,a2,x;a1=10;a2=20;x=a1*a2;printf(″a1=%d,a2=%d\n″,a1,a2);printf(″x=%d\n″,x);}【解答】运行结果为:a1=10,a2=20x=2003.输入下面程序并运行。

#include<stdio.h>main(){printf("******\n");printf("*****\n");printf("****\n");printf("***\n");printf("**\n");printf("*\n");}【解答】运行结果为:****************1{}第2章数据类型及其运算一.简答题1.C语言中的数据类型主要有哪几类?【解答】短整型(shortint)整型整型(int)长整型(longint)基本类型字符型(char)单精度(float)实型(浮点型)双精度(double)枚举类型(enum)数组类型构造类型结构体类型(struct)共用体类型(union)指针类型空类型(void)2.字符常量与字符串常量有什么区别?【解答】字符常量用单括号括起,字符串常量用双括号括起;字符常量存储时占1个字节,字符串常量存储时除了n个字符外,还有系统加上的字符串终止符\0,所以字符串常量存储时占n+1个字节。

3.C语言中的常量包括哪几类?各自是如何构成的?C语言中的,4量的指针所以,512308926(1(4(7(1(2错误。

C语言中表示类型名的关键字必须小写。

改正为:inta,b;floatx,y;(3)a,b:char;错误。

C语言中变量定义格式为:类型名变量名;改正为:chara,b;(4)charif;错误。

c语言程序设计第五版习题答案解析

c语言程序设计第五版习题答案解析

习题解析与答案第1章C语言概述一.简答题1.概述C语言的主要特点。

【解答】(1)语言简洁、紧凑,使用方便、灵活。

(2)数据类型丰富,表达能力强。

(3)运算符多样。

C语言中的运算符包含的范围非常广泛。

(4)具有结构化的控制语句。

如if…else语句、while语句、do while语句、switch语句、for语句。

(5)允许直接访问物理地址。

C语言中含有的位和指针运算,能够直接对内存地址进行访问操作。

(6)所生成的目标代码质量高,可移植性好。

2.构成C语言程序的基本单位是什么?它由哪几部分组成?【解答】函数是构成C语言程序的基本单位。

一个完整的C程序一般由文件包含、宏定义、函数说明、变量和一个或若干个函数组成。

3.C语言程序的运行一般要经过哪几个步骤?【解答】(1)编辑;(2)编译;(3)连接,生成EXE文件;(4)执行。

二.运行程序写结果1.输入下面程序并运行。

main(){int a1,a2,x;a1=100;a2=50;x=a1-a2;printf(″x=%d\n″,x);}【解答】运行结果为:x=502.输入下面程序并运行。

main(){int a1,a2,x;a1=10;a2=20;x=a1*a2;printf(″a1=%d,a2=%d\n″,a1,a2);printf(″x=%d\n″,x);}【解答】运行结果为:a1=10,a2=20x=2003.输入下面程序并运行。

#include <>main(){printf("******\n");printf(" *****\n");printf(" ****\n");printf(" ***\n");printf(" **\n");printf(" *\n");}【解答】运行结果为:*********************思考:可以修改程序,使之输出平行四边形,等腰三角形等图形。

c语言程序设计第五版习题答案

c语言程序设计第五版习题答案

习题解析与答案第1章C语言概述一.简答题1.概述C语言的主要特点。

【解答】(1)语言简洁、紧凑,使用方便、灵活。

(2)数据类型丰富,表达能力强。

(3)运算符多样。

C语言中的运算符包含的范围非常广泛。

(4)具有结构化的控制语句。

如if…else语句、while语句、do while语句、switch 语句、for语句。

(5)允许直接访问物理地址。

C语言中含有的位和指针运算,能够直接对内存地址进行访问操作。

(6)所生成的目标代码质量高,可移植性好。

2.构成C语言程序的基本单位是什么?它由哪几部分组成?【解答】函数是构成C语言程序的基本单位。

一个完整的C程序一般由文件包含、宏定义、函数说明、变量和一个或若干个函数组成。

3.C语言程序的运行一般要经过哪几个步骤?【解答】(1)编辑;(2)编译;(3)连接,生成EXE文件;(4)执行。

二.运行程序写结果1.输入下面程序并运行。

main(){int a1,a2,x;a1=100;a2=50;x=a1-a2;printf(″x=%d\n″,x);}【解答】运行结果为:x=502.输入下面程序并运行。

main(){int a1,a2,x;a1=10;a2=20;x=a1*a2;printf(″a1=%d,a2=%d\n″,a1,a2);printf(″x=%d\n″,x);}【解答】运行结果为:a1=10,a2=20x=200三.编程题1.参照本章例题,编写一个C程序,用于显示如下信息:*************************I love C programs!*************************【分析与提示】①要有文件包含语句#include <stdio.h>。

C语言中没有数据的输入、输出等功能,数据的输入、输出都是通过调用系统提供的库函数scanf和printf等来实现的。

这些函数的说明都包括在stdio.h文件中。

②main是主函数的名称。

c语言程序设计第五版习题答案解析

c语言程序设计第五版习题答案解析

习题解析与答案第1章C语言概述一.简答题1.概述C语言的主要特点。

【解答】(1)语言简洁、紧凑,使用方便、灵活。

(2(3(4语句、for(5作。

(6231{2{inta1,a2,x;a1=10;a2=20;x=a1*a2;printf(″a1=%d,a2=%d\n″,a1,a2);printf(″x=%d\n″,x);}【解答】运行结果为:a1=10,a2=20x=2003.输入下面程序并运行。

#include<stdio.h>main(){printf("******\n");printf("*****\n");printf("****\n");printf("***\n");printf("**\n");printf("*\n");}【解答】运行结果为:****************1{}第2章数据类型及其运算一.简答题1.C语言中的数据类型主要有哪几类?【解答】短整型(shortint)整型整型(int)长整型(longint)基本类型字符型(char)单精度(float)实型(浮点型)双精度(double)枚举类型(enum)数组类型构造类型结构体类型(struct)共用体类型(union)指针类型空类型(void)2.字符常量与字符串常量有什么区别?【解答】字符常量用单括号括起,字符串常量用双括号括起;字符常量存储时占1个字节,字符串常量存储时除了n个字符外,还有系统加上的字符串终止符\0,所以字符串常量存储时占n+1个字节。

3.C语言中的常量包括哪几类?各自是如何构成的?C语言中的,4量的指针所以,512308926(1(4(7(1(2错误。

C语言中表示类型名的关键字必须小写。

改正为:inta,b;floatx,y;(3)a,b:char;错误。

C语言中变量定义格式为:类型名变量名;改正为:chara,b;(4)charif;错误。

c语言程序设计第五版习题答案解析

c语言程序设计第五版习题答案解析
#include <stdio.h>
Void Main()
{
int a=6;b=8;
int c;
c=a*b;
printf(‘%d’,c);
}
【答案】错误的地方有3处:(1)第2行关键字应该小写;(2)定义b时前面应该
用逗号;(3)打印语句的格式应该用双引号括起来。
正确的程序如下:
#include <stdio.h>
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
5.以下程序的执行结果是。
#include <stdio.h>
main()
{
printf("%d\n",NULL);
printf("%d,%c\n",49,49);
#include <stdio.h>
main()
{
char a=’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代码值
【解答】
(1)“Hello!”字符串长度为6,占用内存字节数为7。
(2)“ABC?”字符串长度为9,占用内存字节数为10。因为其中\n\\
\064\?各自只占一个字符的位置。
(3)“765+123=?”该字符串不是合法的,因为\765表示的值太大,超出合

标准C语言程序设计第五版课后练习题答案

标准C语言程序设计第五版课后练习题答案

课后练习题答案Chapter 11.1×√×√√×√××√1.2b c1.3ad1.4semicolon printf math.h \nChapter 22.1 ×√××√√×√××√×2.2 typedef 255 external constChapter 33.1 ×√××√√×××√√√3.2 integer modula 6 logical sizeof paratheses typeconversion precedence3.3 F F T F F F3.4 F T T T F3.5 (b) (c)3.6 0 -2 7 10.25 false 3 3 13.10 0 1 1 1 13.11d}1003.121101113.13 13.14 2003.15 x<=y3.16 TRUE3.192143.20-4040Chapter 44.1 ×√√√√√××√√√×4.2 %hd %x ctype.h %l %*d [^] blank 6 - %e4.4 (a) scanf(“%d %c %d”, &a, &b, &c); (b)scanf(“%d %f %s”, &a, &b, &c);(c) scanf(“%d-%d-%d”, &a, &b, &c); (d) scanf(“%d %s %d”, &a, &b, &c);4.5 (a)10x1.230000 (b)1234x 1.23 (c)1234 456.000000 (d) “123.40 ”(e) 1020 1222(乱码)4.7 (a)1988 x (b)乱码(c)120 乱码(d)乱码 x4.8 (a)1275 -235.740000(b) 1275-235.740000(c) 0 0.000000(d) 1275xxxx-235.74(e)Cambridge(f)1275 Cambridge4.10 1988 无无Chapter 55.1 √×√××××××√5.2 && switch break if-else x=y5.4 (a)x = 2; y = 0; (b) x = 1; y = 0;5.5 (a) if (grade <= 59)if (grade >= 50)second = second + 1;(b) if (number > 100) printf(“out of range”);else if (number < 0) printf(“out of range”);else sum = sum + number;(c)if (T > 200) printf(“admitted”);else if (M > 60){if (M > 60) printf(“admitted”);}else printf(“not admitted”);5.6 F T F T5.8 (a) x > 10 (b) (x != 10)||(y ! = 5) || (z >= 0)(c) (x + y != z) || (z > 5) (d) (x > 5) || (y != 10) || (z >= 5)5.9 (a) x = 5; y = 10; z = 1 (b) x = 5; y = 10; z = 1(c) x = 5; y = 0; z =0 (d) 无变化5.10 (a) x= 0; y = 2; z = 0; (b) x = 1; y = 2; z = 0;5.12 85.13 Delhi Bangalore END5.1424485.15 0 0 25.16 255.17 Number is negative5.18 ABC5.19 105.20 无输出Chapter 66.1 √√√××√×√√×6.2 n continue infinite indefinite-repetition-loop counter-variable 6.9 (a) 43210 (b)4321 (c)55555…55555(d)10 86.11 (a)无数次 x = 10; x = 5; x = 10; x = 5; x = 10;…(b)5次 m = 3, m = 5, m = 7, m = 9, m = 11(c)无数次, i 恒为0(d)4次 m = 11 n = 9; m = 12 n = 11; m = 13, n = 13; m = 14, n = 15;6.13(a)for (n = 1; n <= 32; n = n * 2) printf("%d ", n);(b)for (n = 1; n <= 243; n = n * 3) printf("%d ", n);(c)for (n = -4; n <= 4; n = n + 2) printf("%d ", n);(d)sum = 0;for (i = 2; i <= 16; i = sum){sum = sum + i;n = n - i;printf("%d %d %d \n", i, sum, n);}6.16 100 90 80 70 60 50 40 30 20 10 06.17 m = 20时陷入死循环,程序无输出6.18 16.19 16.20 死循环,延长时间用Chapter 77.1 √×√××√√√√××√7.2 index/subscript run-time dynamic multi-dimensional sorting7.14 157.15 HLOWRDChapter 88.1 ×√√√×√××√×××√×√8.2 %[ a-z,A-Z] strcpy 3 stdlib gets strlen strstr strcmp s1-s2 puts8.6 (a) The sky is the limit.(b) The sky is(c) T(d) The sky is the limit(e)8410410132115107121321051153211610410132108105109105116(f)输出1 2 3 4 5 6 7 8 9…21这些ASCII码对应的字符,无显示符号(g)%(h)U8.7 (d)8.8 78.9 (a)he(b)heorshe(c)5 78.11 puneChapter 99.1 √×××√×××√√√×××√×√√××9.2 actual-parameter local-variable int data-type variable-name scope recursive static type auto9.8 abceg9.9 abcdeg9.12 (a) 5 (b) 4 (c)3 (d)09.13 (a) 5 4 4 0 (b) 5.0 4.0 3.0 0.679.14 题目错,设z = 5;结果为:200 10009.15 1009.16 x = 3; y = 0Chapter 1010.1 ×√√√√×√√×√√√××√10.2 typedef union tag_name pointer memberChapter 1111.1 √×√√√√×√××11.2 address * * 0 null。

《C语言程序设计(第五版)》习题答案

《C语言程序设计(第五版)》习题答案

《C语⾔程序设计(第五版)》习题答案各章习题参考答案第1章习题参考答案1. 简述C程序的结构特点。

答:(1) ⼀个C语⾔源程序由⼀个或多个源⽂件组成。

每个源⽂件由⼀个或多个函数构成,其中有且仅有⼀个主函数(main函数)。

(2) ⼀个函数由函数⾸部(即函数的第⼀⾏)和函数体(即函数⾸部下⾯的⼤括号内的部分)组成。

函数⾸部包括函数类型、函数名和放在圆括号内的若⼲个参数。

函数体由声明部分和执⾏部分组成。

(3) C程序书写格式⾃由,⼀⾏内可以写多条语句,⼀个语句也可以分写在多⾏中,每个语句必须以分号结尾。

(4)程序的注释内容放在“/*”和“*/之”间,在‘/’和‘*’之间不允许有空格;注释部分允许出现在程序中的任何位置处。

2. 分析例1.3程序的结构。

答:下⾯是例1.3的程序,它的结构是:有且只有⼀个主函数main以及若⼲个其它函数,还有⼀个被主函数调⽤的sumab函数。

函数有⾸部,包括类型和名称,⾸部下的⼤括号中有变量定义、输⼊、计算和输出等语句。

#includeint sumab (int x, int y); /*函数声明*/int main () /*主函数*/{ int a,b,sum; /*定义变量*/printf("请输⼊变量a与b的值:"); /*提⽰信息*/scanf ("%d %d", &a, &b); /*输⼊变量a和b的值*/sum=sumab(a,b); /*调⽤sumab函数*/printf("a与b的和等于%d", sum);/*输出sum的值*/return 0;}int sumab (int x, int y) /*定义sumab函数,并定义形参x、y */{ int z;z=x+y;return z;}3. 分别编写完成如下任务的程序,然后上机编译、连接并运⾏。

(1) 输出两⾏字符,第1⾏是“The computer is our good friends!”,第2⾏是“We learnC language.”。

标准C语言程序设计第五版课后练习题答案

标准C语言程序设计第五版课后练习题答案

课后练习题答案Chapter 11.1×√×√√×√××√1.2b c1.3ad1.4semicolon printf math.h \nChapter 22.1 ×√××√√×√××√×2.2 typedef 255 external constChapter 33.1 ×√××√√×××√√√3.2 integer modula 6 logical sizeof paratheses typeconversion precedence3.3 F F T F F F3.4 F T T T F3.5 (b) (c)3.6 0 -2 7 10.25 false 3 3 13.10 0 1 1 1 13.11d}1003.121101113.13 13.14 2003.15 x<=y3.16 TRUE3.192143.20-4040Chapter 44.1 ×√√√√√××√√√×4.2 %hd %x ctype.h %l %*d [^] blank 6 - %e4.4 (a) scanf(“%d %c %d”, &a, &b, &c); (b)scanf(“%d %f %s”, &a, &b, &c);(c) scanf(“%d-%d-%d”, &a, &b, &c); (d) scanf(“%d %s %d”, &a, &b, &c);4.5 (a)10x1.230000 (b)1234x 1.23 (c)1234 456.000000 (d) “123.40 ”(e) 1020 1222(乱码)4.7 (a)1988 x (b)乱码(c)120 乱码(d)乱码 x4.8 (a)1275 -235.740000(b) 1275-235.740000(c) 0 0.000000(d) 1275xxxx-235.74(e)Cambridge(f)1275 Cambridge4.10 1988 无无Chapter 55.1 √×√××××××√5.2 && switch break if-else x=y5.4 (a)x = 2; y = 0; (b) x = 1; y = 0;5.5 (a) if (grade <= 59)if (grade >= 50)second = second + 1;(b) if (number > 100) printf(“out of range”);else if (number < 0) printf(“out of range”);else sum = sum + number;(c)if (T > 200) printf(“admitted”);else if (M > 60){if (M > 60) printf(“admitted”);}else printf(“not admitted”);5.6 F T F T5.8 (a) x > 10 (b) (x != 10)||(y ! = 5) || (z >= 0)(c) (x + y != z) || (z > 5) (d) (x > 5) || (y != 10) || (z >= 5)5.9 (a) x = 5; y = 10; z = 1 (b) x = 5; y = 10; z = 1(c) x = 5; y = 0; z =0 (d) 无变化5.10 (a) x= 0; y = 2; z = 0; (b) x = 1; y = 2; z = 0;5.12 85.13 Delhi Bangalore END5.1424485.15 0 0 25.16 255.17 Number is negative5.18 ABC5.19 105.20 无输出Chapter 66.1 √√√××√×√√×6.2 n continue infinite indefinite-repetition-loop counter-variable 6.9 (a) 43210 (b)4321 (c)55555…55555(d)10 86.11 (a)无数次 x = 10; x = 5; x = 10; x = 5; x = 10;…(b)5次 m = 3, m = 5, m = 7, m = 9, m = 11(c)无数次, i 恒为0(d)4次 m = 11 n = 9; m = 12 n = 11; m = 13, n = 13; m = 14, n = 15;6.13(a)for (n = 1; n <= 32; n = n * 2) printf("%d ", n);(b)for (n = 1; n <= 243; n = n * 3) printf("%d ", n);(c)for (n = -4; n <= 4; n = n + 2) printf("%d ", n);(d)sum = 0;for (i = 2; i <= 16; i = sum){sum = sum + i;n = n - i;printf("%d %d %d \n", i, sum, n);}6.16 100 90 80 70 60 50 40 30 20 10 06.17 m = 20时陷入死循环,程序无输出6.18 16.19 16.20 死循环,延长时间用Chapter 77.1 √×√××√√√√××√7.2 index/subscript run-time dynamic multi-dimensional sorting7.14 157.15 HLOWRDChapter 88.1 ×√√√×√××√×××√×√8.2 %[ a-z,A-Z] strcpy 3 stdlib gets strlen strstr strcmp s1-s2 puts8.6 (a) The sky is the limit.(b) The sky is(c) T(d) The sky is the limit(e)8410410132115107121321051153211610410132108105109105116(f)输出1 2 3 4 5 6 7 8 9…21这些ASCII码对应的字符,无显示符号(g)%(h)U8.7 (d)8.8 78.9 (a)he(b)heorshe(c)5 78.11 puneChapter 99.1 √×××√×××√√√×××√×√√××9.2 actual-parameter local-variable int data-type variable-name scope recursive static type auto9.8 abceg9.9 abcdeg9.12 (a) 5 (b) 4 (c)3 (d)09.13 (a) 5 4 4 0 (b) 5.0 4.0 3.0 0.679.14 题目错,设z = 5;结果为:200 10009.15 1009.16 x = 3; y = 0Chapter 1010.1 ×√√√√×√√×√√√××√10.2 typedef union tag_name pointer memberChapter 1111.1 √×√√√√×√××11.2 address * * 0 null。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

习题解析与答案第1章C语言概述一.简答题1.概述C语言的主要特点。

【解答】(1)语言简洁、紧凑,使用方便、灵活。

(2)数据类型丰富,表达能力强。

(3)运算符多样。

C语言中的运算符包含的范围非常广泛。

(4)具有结构化的控制语句。

如if…else语句、while语句、do while语句、switch语句、for语句。

(5)允许直接访问物理地址。

C语言中含有的位和指针运算,能够直接对内存地址进行访问操作。

(6)所生成的目标代码质量高,可移植性好。

2.构成C语言程序的基本单位是什么它由哪几部分组成【解答】函数是构成C语言程序的基本单位。

一个完整的C程序一般由文件包含、宏定义、函数说明、变量和一个或若干个函数组成。

3.C语言程序的运行一般要经过哪几个步骤【解答】(1)编辑;(2)编译;(3)连接,生成EXE文件;(4)执行。

二.运行程序写结果1.输入下面程序并运行。

main(){int a1,a2,x;a1=100;a2=50;x=a1-a2;printf(″x=%d\n″,x);}【解答】运行结果为:x=502.输入下面程序并运行。

main(){int a1,a2,x;a1=10;a2=20;x=a1*a2;printf(″a1=%d,a2=%d\n″,a1,a2);printf(″x=%d\n″,x);}【解答】运行结果为:a1=10,a2=20x=2003.输入下面程序并运行。

#include <>main(){printf("******\n");printf(" *****\n");printf(" ****\n");printf(" ***\n");printf(" **\n");printf(" *\n");}【解答】运行结果为:*********************思考:可以修改程序,使之输出平行四边形,等腰三角形等图形。

三.编程题1.参照本章例题,编写一个C程序,用于显示如下信息:*************************I love C programs!*************************【分析与提示】①要有文件包含语句#include <>。

C语言中没有数据的输入、输出等功能,数据的输入、输出都是通过调用系统提供的库函数scanf和printf等来实现的。

这些函数的说明都包括在文件中。

②main是主函数的名称。

用{}括起来的内容是函数体,函数体由若干条语句组成,这是计算机要执行的部分,每条语句以分号“;”结束。

③注意显示的信息有三行,所以要用到换行符“\n”。

参考代码:#include <>main(){printf("************************\n");printf(" I love C programs! \n");printf("************************\n");}第2章数据类型及其运算一.简答题1.C语言中的数据类型主要有哪几类【解答】短整型(short int )整型整型(int)长整型(long int )基本类型字符型 (char) 单精度(float)实型(浮点型)双精度(double)枚举类型(enum)数组类型构造类型结构体类型 (struct)共用体类型(union)指针类型空类型(void)2.字符常量与字符串常量有什么区别【解答】字符常量用单括号括起,字符串常量用双括号括起;字符常量存储时占1个字节,字符串常量存储时除了n个字符外,还有系统加上的字符串终止符\0,所以字符串常量存储时占n+1个字节。

3.C语言中的常量包括哪几类各自是如何构成的【解答】C语言中的常量是一些其值预先定的量,并且在程序执行过程中其值不再发生变化。

常量的分类遵循基本数据类型分类原则,C语言编译系统自动将其存放在于类型相应的内存单元中。

其类别包含整形常量、浮点常量、字符常量、字符串常量和枚举常量。

整形常量又分为十进制整形常量、八进制整形常量、十六进制整形常量。

浮点常量分成十进制形式和指数形式。

C语言中的,字符常量是用单括号括起来的一个字符或是字符序列,而字符串常量是用一对双括号括起来的零个或者多个字符组成的序列。

4.简述指针、变量的指针、变量的值、指针变量与指针变量的值的含义是什么【解答】C语言中将地址又称为“指针”。

一个变量所分配的内存空间首字节地址,称为该变量的指针(地址),变量的值就被放入所分配的地址单元中。

地址一旦被分配,就不会再改变,所以,指针是一个常量。

既然是常量就可以把它赋给一个变量。

用来存放指针的变量,被称为指针变量。

一个指针变量的值是变量的地址,一个指针变量可以被赋予不同的指针值。

5.下面哪些是不合法的常量说明不合法的理由。

123,,0892,’M’,’\n’,0xabc,,”Morning”,【解答】非法常量有:0892——含有非八进制数字8和9——非法指数形式浮点常量:规定e后面的指数必须为整数。

6.下面对变量定义的语句哪些不正确为什么请改正。

(1) char c1,int a2; (2) INT a,b; FLOAT x,y;(3) a,b:char;(4) char if; (5) int a,b (6) Int a:b:c;(7) int a,x; float x,y;【解答】(1) char c1,int a2;错误。

定义不同类型的变量时,应用分号彼此分开。

改正为:char c1; int a2;(2) INT a,b; FLOAT x,y;错误。

C语言中表示类型名的关键字必须小写。

改正为:int a,b; float x,y;(3) a,b:char;错误。

C语言中变量定义格式为:类型名变量名;改正为: char a,b;(4) char if;错误。

变量名不能与C语言的关键字重名。

改正为:char f1;(5) int a,b错误。

变量定义以语句形式出现,应以分号结尾。

改正为:int a,b;(6) Int a:b:c;错误。

类型名不能有大写字母,相同类型名之间用逗号分隔。

改正为:int a,b,c;(7) int a,x; float x,y;错误。

在同一程序位置上,同一变量名不能重复定义充当两个不同的变量。

改正为:int a,x; float x1,y;7.下述字符串常量的长度是多少在内存中存储时各自占用的单元数又是多少(1)“Hello!” (2)“ABC\n\\TH\064\” (3)“\xAB*\765+123=”【解答】(1)“Hello!” 字符串长度为6,占用内存字节数为7。

(2)“ABC\n\\TH\064\” 字符串长度为9,占用内存字节数为10。

因为其中\n \\ \064\各自只占一个字符的位置。

(3)“\xAB*\765+123=” 该字符串不是合法的,因为\765表示的值太大,超出合法的ASCII字符集的范围。

二.运行程序写结果1.以下程序的执行结果是____。

main(){int i,j;i=15;p rintf(“%d,%d”, i++,i--);}【解答】14,152.以下程序的执行结果是。

main(){int a=20,b=10,c,*p1,*p2;p1=&a;p2=&b;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);}【分析与提示】p1 a【解答】*p1=20,*p2=10c=43.以下程序的执行结果是。

#include <>main(){char a=’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代码表中是按顺序排列的,所以在计算’o’+3代表的字母时,可从字符’o’其顺序向后取3个字母,该字母是“r”。

(2)从ASCII代码表可以看出“小写字母”-“对应大写字母”的结果是32,因此可推算出如下等式:大写字母的ASCII值+32=对应小写字母的ASCII值;小写字母的ASCII值-32=对应大写字母的ASCII值。

【解答】girl4.以下程序的执行结果是。

#include <>main(){int x;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=11x2=1x3=05.以下程序的执行结果是。

#include <>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)【解答】049,158,:,72三、改错题1.请修改下列程序,使其能够通过编译。

#include <>Void Main(){int a=6;b=8;int c;c=a*b;printf(‘%d’,c);}【答案】错误的地方有3处:(1)第2行关键字应该小写;(2)定义b时前面应该用逗号;(3)打印语句的格式应该用双引号括起来。

相关文档
最新文档