目录
- 前言
- 第1章 C语言概述
- 第2章 数据类型及其运算
- 第3章 顺序结构程序设计
- 第4章 选择结构程序设计
- 第5章 循环结构程序设计
- 第7章 函数与指针
- 第8章 结构体与共用体
- 第9章 文件
- 第10章 图形与动画
习题解析与答案
前言
《C程序设计(第五版》是由谭浩强编著,2017年清华大学出版社出版的“十二五”普通高等教育本科国家级规划教材、北京市高等教育精品立项项目教材、中国高等院校计算机基础教育课程体系规划教材。该教材是既可作为高等学校各专业的正式教材,也适合读者自学。 该教材共10章,主要内容包括:设计和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.输入下面程序并运行。
代码语言:javascript复制main()
{
int a1,a2,x;
a1=100;
a2=50;
x=a1-a2;
printf(″x=%d\n″,x);
}
【解答】运行结果为:
x=50
2.输入下面程序并运行。
代码语言:javascript复制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=20
x=200
3.输入下面程序并运行。
代码语言:javascript复制#include <stdio.h>
main()
{
printf("******\n");
printf(" *****\n");
printf(" ****\n");
printf(" ***\n");
printf(" **\n");
printf(" *\n");
}
【解答】运行结果为:
****** ***** **** *** ** *
思考:可以修改程序,使之输出平行四边形,等腰三角形等图形。
三.编程题
1.参照本章例题,编写一个C程序,用于显示如下信息:
************************* I love C programs! *************************
【分析与提示】
①要有文件包含语句#include <stdio.h>。C语言中没有数据的输入、输出等功能,数据的输入、输出都是通过调用系统提供的库函数scanf和printf等来实现的。这些函数的说明都包括在stdio.h文件中。
②main是主函数的名称。用{}括起来的内容是函数体,函数体由若干条语句组成,这是计算机要执行的部分,每条语句以分号“;”结束。
③注意显示的信息有三行,所以要用到换行符“n”。
参考代码:
代码语言:javascript复制#include <stdio.h>
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)
- 字符常量与字符串常量有什么区别?
【解答】
字符常量用单括号括起,字符串常量用双括号括起;字符常量存储时占1个字节,字符串常量存储时除了n个字符外,还有系统加上的字符串终止符 ,所以字符串常量存储时占n 1个字节。
- C语言中的常量包括哪几类?各自是如何构成的?
【解答】
C语言中的常量是一些其值预先定的量,并且在程序执行过程中其值不再发生变化。常量的分类遵循基本数据类型分类原则,C语言编译系统自动将其存放在于类型相应的内存单元中。其类别包含整形常量、浮点常量、字符常量、字符串常量和枚举常量。整形常量又分为十进制整形常量、八进制整形常量、十六进制整形常量。浮点常量分成十进制形式和指数形式。C语言中的,字符常量是用单括号括起来的一个字符或是字符序列,而字符串常量是用一对双括号括起来的零个或者多个字符组成的序列。
- 简述指针、变量的指针、变量的值、指针变量与指针变量的值的含义是什么?
【解答】
C语言中将地址又称为“指针”。一个变量所分配的内存空间首字节地址,称为该变量的指针(地址),变量的值就被放入所分配的地址单元中。地址一旦被分配,就不会再改变,所以,指针是一个常量。既然是常量就可以把它赋给一个变量。用来存放指针的变量,被称为指针变量。一个指针变量的值是变量的地址,一个指针变量可以被赋予不同的指针值。
- 下面哪些是不合法的常量?说明不合法的理由。
123,3.1415926,0892,’M’,’n’,0xabc,0.618E-6,”Morning”,3.8e-3.14
【解答】非法常量有:
0892——含有非八进制数字8和9 3.8e-3.14——非法指数形式浮点常量:规定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