程序设计基础习题
c语言《程序设计基础》课后习题参考答案与解析
c语言《程序设计基础》课后习题参考答案与解析1. 习题一:编写一个C程序,输出“Hello World!”。
解析:这是一个非常简单的C程序,只需要使用printf函数输出所需的字符串即可。
```c#include <stdio.h>int main() {printf("Hello World!");return 0;}```2. 习题二:编写一个C程序,计算两个整数的和并输出结果。
解析:这个程序需要使用scanf函数从用户输入中读取两个整数,并使用printf函数输出它们的和。
```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入第一个整数:");scanf("%d", &num1);printf("请输入第二个整数:");scanf("%d", &num2);sum = num1 + num2;printf("两个整数的和为:%d", sum);return 0;}```3. 习题三:编写一个C程序,判断一个数是奇数还是偶数并输出结果。
解析:这个程序需要使用scanf函数读取用户输入的整数,并使用if-else语句判断该数的奇偶性,然后使用printf函数输出结果。
```c#include <stdio.h>int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (num % 2 == 0) {printf("该数是偶数");} else {printf("该数是奇数");}return 0;}```4. 习题四:编写一个C程序,判断一个年份是否为闰年并输出结果。
《程序设计基础》练习题
1.在C++的结构化程序设计框架中,程序的基本组成单元是___。
A.函数B.类
C.关系D.数据结构
2.下列特性中,C与C++共有的是_____。
A.继承B.封装C.多态性D.函数定义不能嵌套
3.面向对象程序设计思想的主要特征中,不包含____。
C.整型常量或整型表达式D.任何类型的表达式
28.若有以下说明和语句,且0<i<10,则对数组元素的错误引用是____。
int a[ ]={1,2,3,4,5,6,7,8,9,0}, *p,i;
p=a;
A.*(a+i) B.a[p-a] C.p+i D.*(&a[i])
29.若有以下定义和语句,且0<i<10,则对数组元素地址的正确表示是__。
6.下列哪个是C++语言的有效标识符?____。
A._No1 B.No.1 C.12345 D.int
7.在C++语言中,所有函数说明都必须指明返回值类型,没有返回值的函数应说明为____类型的函数。
A.int B.char C.float D.void
8.下列字符常量的写法中,错误的是____。
A.’\105’B.’*’C.’’’’D.’\a’
A.如果类A是类B的友元,那么类B也是类A的友元
B.如果函数fun( )被说明为类A的友元,那么在func( )中可以访问类A的私有成员
C.友元关系不能被继承
D.如果类A是类B的友元,那么类A的所有成员函数都是类B的友元
40.下面关于类MyClass的定义,对定义中的各语句描述正确的是____。
Class MyClass
c语言《程序设计基础》课后习题参考答案与解析
c语言《程序设计基础》课后习题参考答案与解析《程序设计基础》习题参考答案与部分解析第1章 C 语言概述一、填空a) C源程序的基本单位是函数。
b) 一个C程序中至少应包括一个 main函数。
c) 在C语言中,输出操作是有库函数 printf( )函数完成。
二、单选题1、A2、C3、B解析:第1题答案:A 。
因为一个C程序总是从main函数开始执行的,而不论main函数在程序中的位置。
且到main函数结束。
第2题答案:C 。
因为 main函数没有限制必须位于程序的最前面。
C程序书写自由,一行内可写几个语句。
在对一个C 程序进行编译的过程中,无法检查注释当中的拼写错误。
不过C语言本身并没有输入输出语句,输入输出是由函数完成的。
第3题答案:B。
因为一个C语言程序是由若干个函数组成的。
但至少包含一个main 函数,且main函数的位置不限。
三、编程题1、编写一个输出“Welcome to C!”信息的小程序。
解:程序如下#include “stdio.h”main( ){1printf(“Welcome to C!”) ;}2、已知三角形的三边长分别为3,4,5,试用海轮公式编程求其面积。
海伦公式为:S?= ,其中s= (a+b+s)/2 ;解:程序如下#include “math.h”#include “stdio.h”main( ){int a , b , c ; /* a ,b,c 3个整型变量表示三角形的3条边。
*/float s ,s1 ; /* s1作为面积变量,s 作为中间变量是都应该是实形*/a=3 ; b= 4; c=5 ;s= (a+b+c)/2.0 ;s1= sqrt(s*(s-a)*(s-b)*(s-c)); /* sqrt函数完成开平方根功能。
*/printf(“area=%f\n”,s1);}2第2章程序设计基础知识一、单选题1、C2、A3、C4、A5、C6、C7、D8、C9、D 10、A 11、D 12、A 13、C 14、C 15、B A 16、B 17 D解析:1. 答案:C。
大学计算机基础(程序设计基础)习题与答案
一、单选题1、计算机能够直接执行的程序是()。
A.汇编语言程序B.可执行文件C.源程序D.命令文件正确答案:B2、汇编语言也称为()。
A.面向应用的语言B.面向对象的语言C.面向机器的语言D.面向过程的语言正确答案:C3、C、C++、Java可归类为()语言。
A.符号B.机器C.高级D.自然正确答案:C4、根据计算机语言发展的过程,下列排列顺序正确的是()。
A.机器语言、高级语言、汇编语言B.机器语言、汇编语言、高级语言C.汇编语言、机器语言、高级语言D.高级语言、机器语言、汇编语言正确答案:B5、编译程序将高级语言程序翻译成与之等价的机器语言程序,编译前的程序可以称呼()。
A.目标程序B.源程序C.临时程序D.原程序正确答案:B6、()都属于计算机的低级语言。
A.机器语言和高级语言B.汇编语言和高级语言C.机器语言和汇编语言D.高级语言和数据库语言正确答案:C7、在程序设计中,把解题过程准确而完整地描述出来,就叫()。
A.算法B.方法C.事件D.过程正确答案:A8、()是一种使用几何图形描述程序逻辑关系的程序设计方法。
A.流程图B.饼图C.数据流图D.柱形图正确答案:A9、用C语言编写的程序需要用()程序翻译后计算机才能识别。
A.汇编B.解释C.连接D.编译正确答案:D10、可被计算机直接执行的程序由()语言编写的程序。
A.汇编B.机器C.高级D.网络正确答案:B11、由二进制编码构成的语言是()。
A.C语言B.BASIC语言C.汇编语言D.机器语言正确答案:D12、结构化程序设计中的三种基本程序结构是指()。
A.顺序结构、转移结构、分支结构B.顺序结构、转移结构、循环结构C.顺序结构、选择结构、循环结构D.转移结构、选择结构、分支结构正确答案:C13、算法的基本结构中不包括()。
A.选择结构B.循环结构C.顺序结构D.逻辑结构正确答案:D14、在计算机科学中,算法这个术语是指()。
A.求解问题并选择编程工具B.求解问题的数学方法C.求解计算机问题的一系列步骤D.选择求解问题的计算机系统正确答案:C15、高级语言翻译程序是将高级语言编写的源程序翻译成目标程序有两种工作方式。
计算机程序设计基础习题册含答案)
《计算机程序设计基础》计算机程序设计基础_基础知识(一) 班级学号 姓名 成绩一、 单选题习题册1.C++源程序文件的默认扩展名为A。
2.A) cpp B) exeC) obj D) lik3.由C++源程序文件编译而成的目标文件的默认扩展名为C。
4.A) cpp B) exeC) obj D) lik5.由C++目标文件连接而成的可执行文件的默认扩展名为B。
6.A) cpp B) exeC) obj D) lik7.编写C++程序一般需经过的几个步骤依次是B。
8.A)编译、编辑、连接、调试B)编辑、编译、连接、调试C)编译、调试、编辑、连接D)编辑、调试、编辑、连接9.程序中主函数的名字为A 。
10.A) main B) MAINC) Main D) 任意标识符11.下面四个选项中,均是不合法的用户标识符的选项的是C。
12.A) A p_o doB)float lao _AC)b-a goto intD)_123 temp INT13.下列变量名中合法的是C。
14.A) B)C)Tom B) 3a66C) _6a7b D) $ABC15.存储以下数据,占用存储字节最多的是 D 。
16.A) 0 B) ‘0’C) “0” D) 0.017.在C++语言中,字符型数据在内存中的存储形式是D。
18.A) 补码 B) 反码C) 原码 D) ASCII码19.若有说明语句:char c =’\072’;则变量c A。
20.A) 包含1个字符B) 包含2个字符C) 包含3个字符D) 说明不合法,变量的值不确定二、填空题1.C++头文件和源程序文件的扩展名分别为.h和.cpp 。
2.C++语言规定,标识符只能由字母、数字、下划线三种字符组成,而且第一个字符必须是字母或下划线。
3.一条表达式语句必须以__分号_;___作为结束符。
4.用于从键盘上为变量输入值的标准输入流对象是___cin____;用于输出表达式值的标准输出流对象是__cout____。
程序设计基础(C语言)习题以及答案
其身正,不令而行;其身不正,虽令不从。
——《论语》一、选择题1.下列属于C语言中合法的标识符的是( B )A 、ex-1B 、-cookC 、951aD 、if2.若 x 为 float 型变量,则以下语句(A )。
x=213.82631;printf("%-4.2f\n",x);A、输出为213.83B、输出格式描述符的域宽不够,不能输出C、输出为213.82D、输出为-213.823.一个C程序的执行是从(C )A、main函数开始,直到最后一个函数结束B、第一个函数开始,直到最后一个函数结束C、main函数开始,直到main函数结束D、第一条语句开始,直到最后一条语句结4.构成C语言源程序的基本单位是(B )A、过程B、函数C、子程序D、命令5.以下叙述不正确的是(D )A、注释说明被计算机编译系统忽略B、注释说明必须跟在“//”之后不能换行或者括在“/*”和“*/”之间且注释符必须配对使用C、注释符“/”和“*”之间不能有空格D、在C程序中,注释说明只能位于一条语句的后面6.在C程序中,main函数的位置( A)A、可以任意B、必须作为最后一个函数C、必须作为第一个函数D、必须放在它所调用的函数之后7. C语言属于(C )A、机器语言B、汇编语言C、高级语言D、低级语言云路鹏程九万里,雪窗萤火二十年。
——《王实甫》人之为学,不日进则日退,独学无友,则孤陋而难成;久处一方,则习染而不自觉。
——《顾炎武》8.使用“scanf("a=%d,b=%d",&a,&b)”,要使a,b的值均为25,正确的输入是(D )。
A、a=25 b=25(空格分开)B、25 25(空格分开)C、25,25D、a=25,b=259. 下列叙述中,不正确的是( C)A、分号是C语句的必要组成部分B、C语句的注释可以写在语句的后面C、主函数的名字不一定用main表示D、函数是C程序的基本单位10.C程序是由( B)构成的A、若干过程B、一个或多个函数C、若干子程序D、一个主程序与若干子程序11. 以下程序的输出结果是(B )。
〖程序设计基础〗练习题3及答案
〖程序设计基础〗练习题3一、单选题(30分)语言是( )。
A.面向问题的解释型高级编程语言B.面向机器的低级编程语言C.面向过程的编译型高级编程语言D.面向对象的解释型高级编程语言2.下列的变量定义中,错误的是( )。
A) int i; B) int i=;C) static int i=100; D) int 123_$;3.以下的变量定义语句中,合法的是( )。
A) float $_*5= ; B) byte b1= 15678;C) double a =Double. MAX_VALUE;D) int _abc_ = 3721L;4.以下字符常量中不合法的是( )。
A) '|' B) '\'' C) "\n" D) '我'5.若以下变量均已正确定义并赋值,下面符合Java语言语法的语句是( )。
A) b = a!=7 ; B) a = 7 + b + c=9;C) i=* % 4; D) a = a + 7 = c + b;6.下列程序段执行后t5的结果是( )。
int t1 = 9, t2 = 11, t3=8;int t4,t5;t4 = t1 > t2 t1 : t2+ t1;t5 = t4 > t3 t4 : t3;A) 8 B) 20 C) 11 D) 97.设 a, b, c, d 均为 int 型的变量,并已赋值,下列表达式的结果属于非逻辑值的是( )。
A) a!=b & c%d < a B) a++ = =a+b+c+dC) ++a*b--+d D) a+b>=c+d8.执行下列程序段后,b, x, y的值分别是( )。
int x=6,y=8;boolean b;b=x>y&&++x==--y;A) true , 6, 8 B) false , 7, 7C) true, 7, 7 D) false, 6, 89.以下由do-while语句构成的循环执行的次数是( )。
C程序设计基础(第4版)习题解答
2.用 C++语言编写的源程序要成为目标程序必须要经过( D )。
(A)解释
(B)汇编
(C)编辑
(D)编译
3.C++程序中冒号
(B)分号
(C)空格
(D)花括号
4.假设有说明 int a=0; double x=5.16;,则在以下语句中,( C )属于编译错误。
一个最简单的c程序可以只有一个a库函数a解释冒号b自定义函数b汇编b分号cmain函数c编辑c空格d空函数d编译d花括号2
《C++程序设计基础》(第 4 版)(上)
习题与解答
第 1 章 基本数据与表达式
1.1 选择题
1.一个最简单的 C++程序,可以只有一个( C )。
(A)库函数
(B)自定义函数
(C)main 函数 (D)空函数
【解答】
变量类型
定义
存储
使用方式
数据
类型 标识符
数据值
通过名访问即直接访问对变量内容操作
指针
类型 * 标识符
地址值
通过指针变量的地址值间址访问对象
验证程序:
#include<iostream>
using namespace std;
int main()
{ int a,b,c;
cout<<"a,b,c= ";
} 4.数据对象在 C++中有几种不同的访问方式?请编写一个程序验证之。
【解答】
数据对象在 C++中的访问方式有:名访问,引用(别名)访问,间址访问。 验证程序:
#include<iostream> using namespace std; int main() { int a;
《Visual Basic程序设计基础》习题
《Visual Basic程序设计基础》教材习题第1章Visual Basic 6.0程序设计概述习题一、判断题1.Visual Basic是以结构化的Basic语言为基础、以事件驱动作为运行机制的可视化程序设计语言。
2.属性是Visual Basic对象性质的描述,对象的数据就保存在属性中。
3.同一窗体中的各控件可以相互重叠,其显示的上下层次的次序不可以调整。
4.在Visual Basic中,有一些通用的过程和函数作为方法供用户直接调用。
5.控件的属性值不可以在程序运行时动态地修改。
6.许多属性可以直接在属性表上设置、修改,并立即在屏幕上看到效果。
7.所谓保存工程,是指保存正在编辑的工程的窗体。
8.在面向对象的程序设计中,对象是指可以访问的实体。
9.决定对象是否可见的属性是Visible属性,决定对象可用性的属性是Enabled属性。
10.保存Visual Basic文件时,若一个工程包含多个窗体或模块,则系统先保存工程文件,再分别保存各窗体或模块文件。
11.xxx.vbp文件是用来管理构成应用程序xxx的所有文件和对象的清单。
12.事件是由Visual Basic预先定义的对象能够识别的动作。
13.事件过程可以由某个用户事件触发执行,它不能被其他过程调用。
14.窗体中的控件,是使用工具箱中的工具在窗体上画出的各图形对象。
15.同一个窗体文件只能用于一个工程中。
16.由Visual Basic语言编写的应用程序有解释和编译两种执行方式。
17.在打开一个Visual Basic工程进行修改后,要另存为一个版本,只需单击“工程另存为…”就行,因为系统将同时保存其他文件。
18.当用Load命令将窗体装入内存时,一定触发窗体的load事件和Activate事件19.“方法”是用来完成特定操作的特殊子程序。
20.“事件过程”是用来完成事件发生后所要执行的程序代码。
二、选择题1.工程文件的扩展名为。
A、.frxB、.basC、.vbpD、.frm2.以下4个选项中,属性窗口未包含的是。
计算机程序设计基础(C++)(景红版)课后全部习题及参考答案
()7. short,int都是C++语言的关键字。
()8. C++编译系统对源程序编译时,可以检查出注释语句中的语法错误。
()9. 将一个字符常量放到一个字符变量中,并不是把该字符本身放到内存变量中去,而是将该字符相应的ASCII代码放到存储单元中。
()10. 语句int answer=3+2 9/(10-6);执行完毕后,变量answer的值是7.5。
三、单项选择题1. C++源程序文件的扩展名为()。
(A).CPP(B).OBJ(C).C(D).EXE2. 下列变量名中,()是合法的。
(A)double(B)A+a(C)CHINA(D)5s3. 下列符号能用作C++标识符的是()(A)xyz/2 (B)2xsale (C)x-sale (D)x_sale4. 下列各运算符中,()只能用于整型数据的运算。
(A)+(B)/(C) (D)%5.()不是C++的基本数据类型。
(A)字符类型(B)数组类型(C)整数类型(D)布尔类型6. 下列运算符中,优先级最高的是()。
(A)%(B)!(C)>=(D)/7. 字符串常量“ME”的字符个数是()。
(A)4(B)3(C)2(D)18. 在C++语言中,080是()。
(A)八进制数(B)十进制数(C)十六进制数(D)非法数9. 整型变量i定义后赋初值的结果是()。
int i=2.8 6;(A)12(B)16(C)17(D)1810.如有int m=31;则表达式(m++*1/2)的值是()。
(A)0 (B)15 (C)15.5 (D)1611.每个C++程序都必须有且仅有一个()。
(A)预处理命令(B)主函数(C)函数(D)语句12.在C++语言中,自定义的标志符()。
(A)能使用关键字并且不区分大小写(B)不能使用关键字并且不区分大小写(C)能使用关键字并且区分大小写(D)不能使用关键字并且区分大小写13.下列C++标点符号中表示一条语句结束的是()。
程序设计基础试题(附答案)
程序设计基础试题(附答案)程序设计基础复习题一、单选1、一个完整的计算机系统应该包括()A、系统软件和应用软件B、计算机及其外部设备C、硬件系统和软件系统D、系统硬件和系统软件2、“裸机”的概念是指()A、正在进行设计还没有组装好的计算机B、已经组装好但还没有安装任何软件的计算机C、仅安装了操作系统的计算机系统D、安装了文字处理软件但没有安装专用数据处理系统的计算机3、世界上第一台电子数字计算机研制成功的时间是()A、1936年B、1946年C、1956年D、1970年4、CASE的含义是()A、计算机辅助设计B、计算机辅助制造C、计算机辅助教学D、计算机辅助软件工程5、当前广泛使用的微型计算机是()A、第一代B、第二代C、第三代D、第四代6、当代计算机的体系结构称为是()A、冯诺依曼机B、非冯诺依曼机C、图灵机D、比尔盖茨机7、硬盘是()A、输入设备B、输出设备C、存储设备D、计算设备8、下面4句话中,最准确的表述是()A、程序=算法+数据结构B、程序是使用编程语言实现算法C、程序的开发方法决定算法设计D、算法是程序设计中最关键的因素9、计算机能直接执行的语言是()A、机器语言B、汇编语言C、高级语言D、目标语言10、解释程序的功能是()A、将高级语言程序转换为目标程序B、将汇编语言程序转换为目标程序C、解释执行高级语言程序D、解释执行汇编语言程序11、下面4种程序设计语言中,不是面向对象式语言的是()A、JAVAB、Object PascalC、DelphiD、C12、不是C语言的基本数据类型是()A、intB、doubleC、charD、bool13、在C语言中,为了求两个整数相除之后得到的余数,可以使用运算符()A、/B、%C、*D、++14、数据的逻辑结构分为()A、纯属结构和非线性结构B、顺序结构和非顺序结构C、树型结构和图型结构D、链式结构和顺序结构15、用链表表示纯属表的优点是()A、便于随机存取B、便于插入和删除操作C、花费的存储空间较顺序存储少D、元素的物理顺序与逻辑顺序相同16、栈的最主要特点是()A、先进先出B、先进后出C、两端进出D、一端进一端出17、下面4句结论只有一句是错误的,它是()A、二叉树是树B、二叉树的左右子树的位置可以颠倒C、可以使用二叉树的思想对数值进行排序D、可以采用链表方式存储二叉树18、螺旋模型中包括需求定义、风险分析、工程实惠和评审四个阶段,在开发过程中()A、每个周期都要包括这四个阶段B、每个周期可以包括不同的阶段C、在最后交付使用之前才进行评审D、在项目开始时才需要进行风险分析19、软件工程的出现主要是由于()A、程序设计方法学的影响B、其他工程科学的影响C、软件危机的出现D、计算机的发展20、在软件工程中,软件测试的目的是()A、试验性运行软件B、发现软件错误C、证明软件是正确的D、找出软件中全部错误二、填空题1、世界上最早的高级程序设计语言是()2、计算机按照工作原理进行分类可以分为()和()3、当前计算机的最基本原理采用的是()4、计算机存储器一般分为两级,它们是()和()5、高级语言程序的翻译有两种方式,一种是(),另一种是()6、数据的存储结构可以用()和()7、树型结构的主要特征是结点之间存在着一种层次的关系,数据元素之间的关系是()的关系。
程序设计基础习题及答案
程序设计基础习题及答案1.下面对类-对象主要特征描述正确的是()。
AA)对象唯一性B)对象无关性C)类的单一性D)类的依赖性3.下面不属于对象主要特征的是()。
CA)唯一性B)多态性C)可复用性D)封装性5.下面不属于对象主要特征的是()。
DA)对象唯一性B)对象分类性C)对象多态性D)对象可移植性7.面向对象方法中,实现对象的数据和操作结合于统一体中的是()。
B A)结合B)封装C)隐藏D)抽象9.在面向对象方法中,不属于"对象"基本特点的是()。
AA)一致性B)分类性C)多态性D)标识唯一性11.结构化程序所要求的基本结构不包括()。
BA)顺序结构B)GOTO跳转C)选择(分支)结构D)重复(循环)结构13.下列选项中不属于结构化程序设计原则的是()。
AA)可封装B)自顶向下C)模块化D)逐步求精15.下列选项中属于面向对象设计方法主要特征的是()。
AA)继承B)自顶向下C)模块化D)逐步求精17.结构化程序设计中,下面对goto语句使用描述正确的是()。
C A)禁止使用goto语句B)使用goto语句程序效率高C)应避免滥用goto语句D)以上说法都不对19.下面属于整数类的实例是()。
AA)0x518B)0.518C)"-518"D)518E-221.下面不属于对象基本特点的是()。
BA)标识唯一性B)可复用性C)多态性D)封装性23.软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。
下面属于系统软件的是()。
AA)C编译程序B)ERP系统C)学籍管理系统D)CAI软件25.不属于结构化程序设计原则的是()。
AA)可封装B)自顶向下C)模块化D)逐步求精27.将C语言的整数设为整数类I,则下面属于类I的实例的是()。
A A)-381B)0.381C)381E-2D)"0x381"29.结构化程序的基本控制结构仅包含()。
C语言程序设计基础(谭浩强)习题
第一章 C 语言概述一、选择题1.C 语言规定,必须用作为主函数名。
A)Function B)include C)main D)stdio2.一个 C 程序可以包含任意多个不同名的函数,但有且仅有一个,一个 C 程序总是从开始执行。
A)过程 B)主函数 C)函数 D)include3.是C 程序的基本构成单位。
A)函数 B)函数和过程 C)超文本过程 D)子程序4.下列说法正确的是。
A)一个函数的函数体必须要有变量定义和执行部分,二者缺一不可B)一个函数的函数体必须要有执行部分,可以没有变量定义C)一个函数的函数体可以没有变量定义和执行部分,函数可以是空函数D)以上都不对5.下列说法正确的是。
A)main 函数必须放在C 程序的开头B)main 函数必须放在C 程序的最后C)main函数可以放在C程序中间部分,执行C程序时是从程序开头执行的D)main 函数可以放在C 程序中间部分,执行C 程序时是从main 函数开始的6.下列说法正确的是。
A)在执行C 程序时不是从main 函数开始的B)C 程序书写格式严格限制,一行内必须写一个语句C)C 程序书写格式自由,一个语句可以分写在多行上D)C 程序书写格式严格限制,一行内必须写一个语句,并要有行号7.在 C 语言中,每个语句和数据定义是用结束。
A)句号 B)逗号 C)分号 D)括号8.下列字符串是合法的自定义标识符的是。
A)_HJ B)9_student C)int D)LINE 19.不是C 语言提供的合法关键字。
A)switch B)print C)case D)default10.C 语言提供的合法关键字是。
A)break B)print C)funiton D)end11.C 语言提供的合法关键字是。
A)continue B)procedure C)begin D)append二、填空题1.一个 C 程序至少包含一个,即。
2.一个函数由两部分组成,它们是和。
程序设计基础(C C++)练习题
练习题1、在C++中,用于实现运行时多态性的是( )。
A.内联函数B.重载函数C.模板函数D.虚函数2、下列关于运算符重载的叙述中,正确的是( )。
A.通过运算符重载,可以定义新的运算符B.有的运算符只能作为成员函数重载C.若重载运算符+,则相应的运算符函数名是+D.重载二元运算符时,必须声明两个形参3、对于语句 cout<<x<<endl;错误的是描述是()。
A.“cout”是一个输出流对象B.“endl”的作用是输出回车换行C.“x”是一个变量D.“<<”称作提取运算符4、下面合法的C语言字符常量是(B)A、‘\t'B、 "A"C、 65D、 A5、有如下类声明,则类MyDERIVED中保护的数据成员和成员函数的个数是(D)。
class MyBASE{ private: int k;public: void set(int n){ k=n;}int get( )const{ return k;} };class MyDERIVED: protected MyBASE{ protected: int j;public: void set(int m, int n){ MyBASE::set(m); j=n;}int get( ) const { return MyBASE::get( )+j; } };A.4B.3C.2D.16、已知在一个类体中包含如下函数原型: Volume operator-(Volume)const;,下列关于这个函数的叙述中,错误的是( )。
A.这是运算符-的重载运算符函数B.这个函数所重载的运算符是一个一元运算符C.这是一个成员函数D.这个函数不改变类的任何数据成员的值7、某文件中定义的静态全局变量(或称静态外部变量)其作用域是 ( )A.只限某个函数B.本文件C.跨文件D.不限制作用域8、实现运行时的多态性要使用(D)。
程序设计基础习题
程序设计基础习题(总17页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--习题1. 编制一个C程序,从键盘输入一个正整数,如果该数为素数,则输出该素数,否则输出该数的所有因子(除去1与自身)。
2. 编制一个C程序,从键盘输入一个正整数N,然后计算并输出S=12||1222N++++最后计算并输出T=11213111 -+-+-+()KK其中K S=的整数部分。
3. 编制一个C程序,计算并输出多项式的值S x x xnnxnn =++-+--++--+1050505120505105230505105123..(.)!.(.)(.)!.(.)(.)!的值,直到 |Sn -Sn-1|< 为止。
其中x从键盘输入。
4. 编制一个C程序,计算下列级数和:sn =1+(2/1)+(3/2)+(5/3)+(8/5)+(13/8)+…+(an/an-1)其中n≥1,由键盘输入;s1=1。
5. 编制一个C程序,计算并输出下列级数之和:e x x x xnxn =+++++12323!!!其中n与x从键盘输入。
6. 编制一个C程序,输出能写成两个数平方之和的所有三位数。
7. 如果一个数恰好等于它的所有因子(包括1但不包括自身)之和,则称之为“完数”。
例如,6的因子为1、2、3,且1+2+3=6,即6是一个“完数”。
编制一个C程序,计算并输出1000以内的所有“完数”之和。
8. 编制一个C程序,从键盘输入30个实数,分别计算并输出以下5个量:所有正数之和,所有负数之和,所有数的绝对值之和,正数的个数,负数的个数。
9. 100元钱买100只鸡,母鸡3元/只,公鸡2元/只,小鸡元/只。
编制一个C程序,制定买鸡方案。
10. 设A,B,C,D,E五人,每人额头上贴了一张或黑或白的纸。
五人对坐,每人都可以看到其他人额头上的纸的颜色,但都不知道自己额头上的纸的颜色。
五人相互观察后开始说话:A说:我看见有三人额头上贴的是白纸,一人额头上贴的是黑纸。
计算机程序设计基础(C语言)编程习题
计算机程序设计基础(C语言)编程练习题及参考答案1.输入2个整数,求两数的平方和并输出。
#include <stdio.h>main(){ intt a ,b,s;printf("please input a,b:\n");scanf("%d%d”,&a,&b);s=a*a+b*b;printf("the result is %d\n",s);}2. 输入一个圆半径(r)当r>=0时,计算并输出圆的面积和周长,否则,输出提示信息。
#include <stdio.h>#define PI 3.14 <stdio.h>main(){ float r ,s , l;printf("please input r:\n");scanf("%f”,&r);if (r>=0){s=pi*r*r;l=2*i*r ;printf("the area is %f\n",s);printf("the circumference is %f\n",l);}elseprintf("input error!\n");}3、函数y=f(x)可表示为:2x+1 (x<0)y= 0 (x=0)2x-1 (x>0)编程实现输入一个x值,输出y值。
main(){int x,y;scanf(“%d”,&x);If(x<0)y=2*x+1;If(x>0)y=2*x-1;If(x==0) y=0;prin tf(“%d”,y);}4、编写一个程序,从4个整数中找出最小的数,并显示此数。
main( ){int a,b,c,d,t;scanf (“%d,%d,%d,%d ”,&a,&b,&c,&d);if (a>b){t=a; a=b; b=t;}if (a>c){t=a; a=c; c=t;}if (a>d){t=a; a=d; d=t;}pri ntf (“m in = %d \n”,a);}5.有一函数当x<0时y=1,当x>0时,y=3,当x=0时y=5,编程,从键盘输入一个x值,输出y值。
程序设计基础(C语言)第3版习题及答案
第1章C语言概述【习题1-1】简述C语言的特点。
答:C语言的特点:C语言简洁、紧凑、使用灵活、方便;运算符丰富;数据结构丰富;C是结构式语言;C语法限制不太严格,程序设计自由度大;C语言允许直接访问物理地址;C语言程序生成代码质量高;C语言适用范围大,可移植性好。
【习题1-2】简述上机调试运行C程序的操作步骤。
答:上机运行C语言程序的操作步骤为:启动Visual C++ 6.0→建立工程→创建源程序文件→输入(编辑)源程序内容→保存源程序文件→编译源程序文件→连接目标程序→执行程序→开始另一个程序。
【习题1-3】上机运行本章的3个例题。
答:略。
【习题1-4】请从以下的4个选项中选择一个正确答案。
(1)A (2)A (3)C (4)B【习题1-5】参照本章例题,编写一个C语言程序,输出以下信息:**************Nice to meet you!**************编写程序如下:#include<stdio.h>void main(){printf("**************\n");printf("Nice to meet you!\n");printf("**************\n");}第2章基本数据类型和运算符【习题2-1】上机编辑并调试本章所有例题。
答:略。
【习题2-2】下面哪些是合法的常量?⑴20 0.5 012 13e5.1 E-5 8e4 5. 0x6a⑵'mn' "OK" "a" '\012' "a/b" '\\'答:⑴合法的常量有:20 0.5 012 8e4 5. 0x6a⑵合法的常量有: "OK" "a" '\012' "a/b" '\\'【习题2-3】下面的变量名中哪些是合法的?A&b abc123 abc% AbC a_b_cint _abc 123abc a\b?ca bc a*bc 'a'bc答:合法的变量名有:abc123 AbC a_b_c _abc【习题2-4】指出下面的变量定义哪些是正确的,哪些是不正确的,为什么?⑴Int i,j;⑵float a,b;⑶int a,b;float a,b;⑷float a,int b;⑸char 'a';答:⑴错误,因为关键字Int 应该全为小写字母⑵正确⑶错,因为同一变量在程序的同一处不应该声明为不同的数据类型 ⑷错,因为不同类型的变量要分别声明,其间应使用分号,而不是逗号 ⑸错,'a'表示字符常量,不能用作变量名 【习题2-5】把下列数学式子写成C 语言表达式。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
7.8 习题1. 编制一个C 程序,从键盘输入一个正整数,如果该数为素数,则输出该素数,否则输出该数的所有因子(除去1与自身)。
2. 编制一个C 程序,从键盘输入一个正整数N ,然后计算并输出 S=12||1222N ++++最后计算并输出T=11213111-+-+-+ ()K K其中K S =的整数部分。
3. 编制一个C 程序,计算并输出多项式的值 S x x x n n x n n=++-+--++--+1050505120505105230505105123..(.)!.(.)(.)!.(.)(.)!的值,直到 |S n -S n-1|<0.000001 为止。
其中x 从键盘输入。
4. 编制一个C 程序,计算下列级数和:s n =1+(2/1)+(3/2)+(5/3)+(8/5)+(13/8)+…+(a n /a n-1) 其中n ≥1,由键盘输入;s 1=1。
5. 编制一个C 程序,计算并输出下列级数之和:e x x x x n xn=+++++12323!!!其中n 与x 从键盘输入。
6. 编制一个C 程序,输出能写成两个数平方之和的所有三位数。
7. 如果一个数恰好等于它的所有因子(包括1但不包括自身)之和,则称之为“完数”。
例如,6的因子为1、2、3,且1+2+3=6,即6是一个“完数”。
编制一个C 程序,计算并输出1000以内的所有“完数”之和。
8. 编制一个C 程序,从键盘输入30个实数,分别计算并输出以下5个量:所有正数之和,所有负数之和,所有数的绝对值之和,正数的个数,负数的个数。
9. 100元钱买100只鸡,母鸡3元/只,公鸡2元/只,小鸡0.5元/只。
编制一个C 程序,制定买鸡方案。
10. 设A ,B ,C ,D ,E 五人,每人额头上贴了一张或黑或白的纸。
五人对坐,每人都可以看到其他人额头上的纸的颜色,但都不知道自己额头上的纸的颜色。
五人相互观察后开始说话:A 说:我看见有三人额头上贴的是白纸,一人额头上贴的是黑纸。
B 说:我看见其他四人额头上贴的都是黑纸。
C 说:我看见有一人额头上贴的是白纸,其他三人额头上贴的是黑纸。
D 说:我看见四人额头上贴的都是白纸。
E 什么也没说。
现在已知额头上贴黑纸的人说的都是真话,额头上贴白纸的人说的都是假话。
编制一个C程序,确定这五人中谁的额头上贴白纸,谁的额头上贴黑纸?11. 寻找1000以内最小的10个素数与最大的10个素数(去掉重复的素数),计算并输出这20个素数之和。
具体要求:(1) 画出计算过程的结构化流程图。
(2) 虽然1000以内素数个数超过20个,但仍要求考虑1000以内不够10个最小素数与10个最大素数,以及最小的10个素数与最大的10个素数有重复的情况。
(3) 输出要有文字说明。
输出形式为zui xiao su shu :素数1,素数2,…,素数10zui da su shu :素数1,素数2,…素数10su shu zhi he :和的具体值(4) 在程序内部加必要的注释(至少有三处)。
方法说明:对于某个(从小到大与从大到小)自然数k,开始时置标志flag为0,然后对2到k中的自然数j进行检测,当发现j是k的因子,就置flag为1,表示不必再对别的自然数进行检测,因为此时已经可以确定k不是素数了,只有当2到k中的所有自然数都不是k的因子(即flag保持为0)时,说明k为素数,输出k,并进行累加。
12. A、B、C、D、E五人分苹果。
A将所有的苹果分为五份,将多余的一个苹果吃掉后再拿走自己的一份苹果;B将剩下的苹果分为五份,将多余的一个苹果吃掉后再拿走自己的一份苹果;C、D、E依次按同样的方法,将剩下的苹果分为五份,吃掉多余的一个苹果后拿走自己的一份苹果。
编程计算原来至少有多少个苹果?A、B、C、D、E各得到多少个苹果?具体要求:(1) 画出计算过程的结构化流程图。
(2) 输出要有文字说明。
(3) 在程序内部加必要的注释(至少有三处)。
方法说明:采用逐步试探的方法。
设当前试探的苹果数为n。
如果n满足下列条件:n-1(多余的一个被吃掉)后要能被5整除;拿走一份后,余下的四份苹果数为4*(n-1)/5。
按上述策略连续进行五次分配,如果每次分配时均满足其中的条件,则试探的n即为原来的苹果数x。
为了第一次能分配,试探从6开始。
根据分配策略,最后A,B,C,D,E五人得到的苹果数(不包括吃掉的一个苹果)可以按如下公式依次计算:a=(x-1)/5b=(4*a-1)/5c=(4*b-1)/5d=(4*c-1)/5e=(4*d-1)/513. 某单位要在A,B,C,D,E,F六人中选派若干人去执行一项任务,选人的条件如下:(1) 若C不去,则B也不去;(2) C 和D 两人中去一个;(3) D 和E 要么都去,要么都不去; (4) A ,B ,F 三人中要去两个; (5) C 和F 不能一起去:(6) E 和F 两人中至少去一个。
问应该选哪几个人去? 具体要求:(1) 画出计算过程的结构化流程图。
(2) 输出要有文字说明。
(3) 在程序内部加必要的注释(至少有三处)。
8.5 习题1. 编写一个函数sabc(),根据给定的三角形三条边长a ,b ,c ,函数返回三角形的面积。
2. 编写一个计算阶乘值的函数p()(该函数为双精度实型);再编写一个主函数,从键盘输入两个正整数m 与n(m ≥n),通过调用函数p(),计算m m n !()!- 的值(即求 A m n )。
3. 编写一个函数,计算并返回给定正整数m 与n 的最大公约数。
4. 编写一个主函数,调用例8.3中的函数sushu(),输出小于1000的最大五个素数。
5. 编写一个主函数,调用例8.3中的函数sushu(),验证6到1000中的所有偶数均能表示成两个素数之和。
6. 编写一个递归函数,计算并返回菲波那契(Fibonacci )数列中第n 项的值。
菲波那契数列的定义如下:Fib(1)=1,Fib(2)=1Fib(n)=Fib(n-1)+Fib(n-2)7. 编写一个递归函数,计算并返回阿克玛(Ackermann)函数值。
阿克玛函数的定义如下:Ack n x y x n x n y n y n y n y Ack n Ack n x y x n y (,,)(,(,,),)=+=======≥=--≠≠⎧⎨⎪⎪⎪⎩⎪⎪⎪10100201302401100且且且且且 其中n ,x ,y 均为非负整数。
8. 编写计算n!的递归函数。
9. 编写一个递归函数,其功能是将一个正整数n 转换成字符串(要求各字符之间用一个空格分隔)输出。
例如,输入的正整数为735,应输出字符串“7 3 5”。
其中正整数在主函数中从键盘输入,要求判断其输入的合理性。
10. 计算并输出500以内的所有“亲密数”对,并输出所有“完数”之和。
具体要求:(1) 编写一个函数facsum(n),返回给定正整数n 的所有因子(包括1但不包括自身)之和。
(2) 编写一个主函数,调用(1)中的函数facsum(n),寻找并输出500以内的所有“亲密数”对以及计算所有“完数”之和。
(3) 分别画出函数facsum(n)和主函数计算过程的结构化流程图。
(4) 在输出每对“亲密数”时,要求小数在前、大数在后,并去掉重复的数对。
例如,220与284是一对“亲密数”,而284与220也是一对“亲密数”,此时只要求输出220与284这对“亲密数”。
(5) 输出要有文字说明(英文或汉语拼音)。
输出时每对“亲密数”用一对圆括号括起来,两数之间用逗号分隔,且所有的“亲密数”对占一行。
输出形式为各对“亲密数”“完数”之和(6) 在程序内部加必要的注释(至少有三处)。
(7) 将两个函数分别放在两个文件中进行编译、连接并运行。
(8) 将两个函数放在一个文件中进行编译、连接并运行。
方法说明:如果自然数M的所有因子(包括1但不包括自身,下同)之和为N,而N的所有因子之和为M,则称M与N为一对“亲密数”。
例如,6的所有因子之和为1+2+3=6,因此,6与它自身构成一对“亲密数”;又如,220的所有因子之和为1+2+4+5+10+11+20+22+44+55+110=284,而284的所有因子之和为1+2+4+71+142=220,因此,220与284为一对“亲密数”。
如果一个自然数的所有因子之和恰好等于它自身,则称该自然数为“完数”。
例如,6不仅与它自身构成一对“亲密数”,且6是一个“完数”。
11. 计算并输出k!=∑的值。
具体要求:(1) 编写一个计算k!的递归函数,其函数名返回k!的值。
(2) 编写一个主函数,首先从键盘输入m和n的值(要求n≥m≥0),然后调用(1)中的函数计算k!=∑的值。
(3) 在计算k!的递归函数中,要检查形参k的合理性,当k<0时,应输出出错信息,并返回0值。
(4) 在主函数中应检查从键盘输入的数据的合理性,对于不合理的输入,应输出出错信息,并不再调用计算。
(5) 分别输入(m, n)=(-3, 7), (0, 0), (1, 7), (9, 13), (9, 4)运行你的程序。
3. 利用变步长梯形求积法计算定积分。
具体要求:(1) 编写一个函数st(a, b, eps)(要求该函数放在独立的文件中),其功能是利用变步长梯形求积法计算定积分⎰=b adx )x(fs其中eps为精度要求。
要求画出该函数处理的结构化流程图。
(2) 编写一个主函数以及计算被积函数值的函数fun(x),在主函数中调用(1)中的函数st(a,b, eps),计算并输出下列积分值⎰=84dx x1s 精度要求为eps=0.0001。
要求主函数与函数fun(x)放在同一个文件中。
(3) 编写另一个主函数以及计算被积函数值的函数fun(x),在主函数中调用(1)中的函数st(a, b, eps),计算并输出下列积分值⎰-+=112dx 1x 1s精度要求为eps=0.00001。
同样要求主函数与函数fun(x)放在同一个文件中。
方法说明:变步长梯形求积法的基本步骤如下: ① 利用梯形公式计算积分。
即取 n=1,h=b-a 则有∑-=++=1n 0k 1k k n )]x (f )x(f [2hT其中x k =a+kh 。
② 将求积区间再二等分一次(即由原来的n 等分变成2n 等分),在每一个小区间内仍利用梯形公式计算。
即有 ]2)x (f )x (f 2)x (f )x (f [2h T 1k 5.0k 1n 0k 5.0k k n2++-=++++=∑=)x(f 2h)]x (f )x (f [4h1n 0k 1n 0k 5.0k 1k k ∑∑-=-=++++=)x(f 2hT 211n 0k 5.0k n ∑-=++③ 判断二等分前后两次的积分值之差的绝对值是否小于所规定的误差。