### 程序设计基础习题解析 #### 第一章 C语言概述 ##### 一、选择题 **1、一个C程序的执行是从()。** - **答案:a)** - **解析:** C程序的执行总是从`main`函数开始,并在此函数中结束。即使程序中有其他函数定义,这些函数也会被调用执行,但整个程序的入口始终是`main`函数。 **2、以下叙述不正确的是()** - **答案:d)** - **解析:** 在C语言中,注释不仅可以放在一个语句的后面,也可以放在代码的任何位置。注释有两种形式:单行注释(`//`)和多行注释(`/* ... */`)。 **3、一个C语言程序是由()** - **答案:b)函数组成** - **解析:** C语言程序是由一个或多个函数组成的。其中至少包含一个`main`函数,这是程序的入口点。 ##### 二、填空题 **1、C源程序的基本单位是()。** - **答案:函数** - **解析:** C语言源程序的基本单位是函数。每个函数都是独立的,可以完成特定的功能。 **2、在一个C源程序中,注释部分两侧的分界符分别为()和()。** - **答案:/* 和 */** - **解析:** 多行注释使用`/*`和`*/`作为分界符。单行注释使用`//`。 #### 第二章 算法 ##### 一、选择题 **选择题一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误的是()。** - **答案:B)有零个或多个输出** - **解析:** 正确的说法应该是算法必须至少有一个输出。输出是算法解决问题的结果。 ##### 二、填空题 **1.在采用结构化程序设计方法进行程序设计时,(),是程序的灵魂。** - **答案:算法** - **解析:** 在结构化程序设计中,算法是程序设计的核心,它定义了解决问题的具体步骤。 **2.算法是(),。** - **答案:解决问题的步骤** - **解析:** 算法是一系列解决特定问题的明确步骤。 **3.算法的五个特性:有穷性、(),、(),、(),和有效性。** - **答案:输入、输出、确定性** - **解析:** 算法的五大特性包括: - 有穷性:算法必须在有限的时间内完成。 - 输入:算法可以接受零个或多个输入。 - 输出:算法至少有一个输出。 - 确定性:算法的每一步都必须是明确无误的。 - 有效性:算法的每一步都可以被执行。 **4.程序的三种基本结构是()结构、()结构和()结构,他们的共同特点是()。** - **答案:顺序、选择、循环、单一入口和单一出口** - **解析:** 结构化编程中的三种基本控制结构分别是顺序结构、选择结构(条件分支)和循环结构。这些结构的共同特点是都只有一个入口和一个出口。 **5.适合于结构化程序设计,广受欢迎的流程图是()。** - **答案:N-S图** - **解析:** N-S图是一种用于描述程序逻辑的图形表示法,特别适用于结构化程序设计。 ##### 三、算法设计题 **1.用N-S图表示以下问题的算法。设计一程序,输入3个整数,计算并输出这3个整数之和。** - **N-S图:** - 开始 - 输入三个整数a、b、c - 计算sum = a + b + c - 输出sum - 结束 **2.用N-S图表示以下问题的算法。** - **(1)求1+2+3+…+100。** - **N-S图:** - 开始 - 设置sum = 0, i = 1 - 循环:如果i <= 100,则sum = sum + i, i = i + 1;否则跳过 - 输出sum - 结束 - **(2)有两个瓶子X和Y,分别盛放可口可乐和非常可乐,小明想将它们互换(即X瓶原来盛可口可乐,现在改盛非常可乐;Y瓶正好相反)。** - **N-S图:** - 开始 - 设置一个临时瓶子temp - 将X中的内容倒入temp - 将Y中的内容倒入X - 将temp中的内容倒入Y - 结束 #### 第三章 数据类型、运算符与表达式 ##### 一、选择题 **1、在c语言中(以16位pc机为例),5种基本数据类型的存储空间长度的排列顺序为().** - **答案:a) char<int<long int<=float<double** - **解析:** 在16位PC机上,数据类型的存储空间长度通常为:char(1字节) < int(2字节) < long int(4字节) <= float(4字节) < double(8字节)。 **2、假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是().** - **答案:b) 8** - **解析:** 表达式中的a+b是在b++之前计算的,因此a+b=2+5=7。然后b++使得b变为6,但由于结果已经计算完成,所以表达式的最终结果是7。 **3、下面四个选项中,均是c语言关键字的选项是().** - **答案:b) switch typedef continue** - **解析:** `switch`、`typedef`和`continue`都是C语言的关键字。 **4、下面四个选项中,均是不合法的整形常量的选项是()** - **答案:c) -018 999 5e2** - **解析:** `-018`包含了非法的八进制数字8;`999`虽然本身是合法的,但在选项中不能单独出现;`5e2`不是整型而是浮点型。 **5、下面四个选项中,均是合法的转义字符的选项是()** - **答案:a) '\'''\\''\n'** - **解析:** 这些都是C语言中合法的转义字符序列。 **6、下面不正确的字符串常量是()** - **答案:a) 'abc'** - **解析:** 字符串常量应该使用双引号括起来,而'a'和'b'是字符,'abc'应该写作"abc"。 **7、若有代数式[pic],则不正确的c语言表达式是()** - **答案:c) 3*a*e/b*c** - **解析:** 除法和乘法在C语言中遵循左结合原则,因此`3*a*e/b*c`可能与原数学表达式意义不同。 **8、以下不正确的叙述是()** - **答案:d) 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值** - **解析:** 用户可以在输入整型变量时输入实型数值,反之亦然。编译器不会在输入时进行类型检查。 **9、若有说明语句:char c='\72';则变量c()** - **答案:a) 包含1个字符** - **解析:** `\72`是一个八进制转义字符,代表字符'H',因此变量c包含一个字符。 **10、若有以下定义,则能使x值为3的表达式是()int k=7,x=12;** - **答案:d) (x%=k)-(k%=5)** - **解析:** x%=k使得x变为12%7=5,k%=5使得k变为7%5=2,因此最终表达式结果为(5-2)=3。 ##### 二、填空题 **1、在c语言中(以16位pc机为例),一个char型数据在内存中所占的字节数为(),一个int型的数据在内存中所占的字节数为().** - **答案:1字节, 2字节** - **解析:** 在16位PC机中,char类型占用1字节,int类型占用2字节。 **2、若有以下定义,则计算表达式y+=y-=m*=y后的y值是().int m=5,y=2;** - **答案:-8** - **解析:** 表达式先计算m*=y使得m变为5*2=10,再计算y-=m使得y变为2-10=-8。 **3、在c语言中的实形变量分为两种类型,它们是()和().** - **答案:float, double** - **解析:** C语言中的实型变量主要有两种类型:`float`和`double`。 **4、若s是int型变量,且s=6,则表达式s%2+(s+1)%2的值为()** - **答案:1** - **解析:** s%2为0,(s+1)%2为1,因此表达式的值为0+1=1。 **5、若a是int型变量,且a的初值为6,则计算表达式a+=a+a*a后的a的值为()** - **答案:48** - **解析:** 表达式先计算a+a*a=6+6*6=42,再计算a+=42使得a变为6+42=48。 **6、若有定义:int b=7;float a=2.5,c=4.7;则表达式a+(int)(b/3*(int)(a+c)/2)%4的值为()** - **答案:5.5** - **解析:** 表达式先计算b/3=2,(int)(a+c)/2=3,然后计算(int)(b/3*(int)(a+c)/2)%4=2%4=2,最后计算a+2=2.5+2=4.5。 **7、c语言中的标识符只能由3种字符组成,它们是()** - **答案:字母、数字、下划线** - **解析:** C语言中的标识符可以由字母、数字和下划线组成,但不能以数字开头。
剩余25页未读,继续阅读
- 粉丝: 0
- 资源: 3
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助