程序设计基础期末复习题
- 格式:pdf
- 大小:275.62 KB
- 文档页数:5
程序设计基础期末复习题及参答案一、单项选择题(每空2分,共30分)1、在计算机发展史中,计算机硬件与高级程序设计语言的相互关系是______。
A 同时诞生B 硬件先发展然后再推动语言的发展C 先有高级程序设计语言的发展D 两者相互独立,分别发展2、现代电子计算机诞生的理论基础是______。
A 图灵机B 图灵测试C 冯·诺依曼机D 邱奇论题3、关于计算机程序的错误说法是______。
A 程序是按照工作步骤事先编排好的、具有特殊功能的指令序列B 运行在硬件系统之上的软件应该采用高级语言编写C 在现代的计算机系统中程序采用二进制形式存储D 同一计算机系统可以完成不同的功能是因为执行了不同的程序4、程序设计过程中的三要素是______。
A 算法、数据结构和程序设计方法学B 数据、算法和数据结构C 输入、操作处理和输出D 数据、数据结构和处理5、JAVA语言的类别是______。
A 面向过程的程序设计语言B 面向问题的程序设计语言C 面向对象的程序设计语言D 面向硬件的程序设计语言6、在C语言中,字符串常量的定界符是______。
A 空格B 单引号C 双引号D 方括号7、C语言中int变量能够表示的数值范围是______。
A -32767~32768B -32768~32767C 0~65535D 0~655368、C语言中的循环控制语句中属于“直到型”循环的语句是______。
A gotoB whileC forD do-while9、数据的存储结构分为两种,它们是______。
A 线性存储和数组存储B 顺序存储和链式存储C 线性存储和树型存储D 数组存储和指针存储10、如果在内存中采用链式保存线性表,则元素之间的逻辑关系通过______。
A 元素在内存中的相对位置表示逻辑次序B 保存在元素中的指针表示先后次序C 设立单独的区域存储元素之间的逻辑次序D 元素本身的关键字来表示逻辑次序11、栈的逻辑结构是______。
C语言程序设计期末考试试题(含答案)C语言程序设计期末考试试题(含答案)一、选择题(共20题,每题2分,共40分)在每个题目给出的选项中选出一个正确答案,并将其序号填入题前括号内。
1. 下列关于C语言标准库的说法,错误的是:A. C语言标准库提供了多个头文件,如<stdio.h>、<stdlib.h>等。
B. C语言标准库中包含了很多有用的函数和变量。
C. C语言标准库的函数和变量的声明保存在头文件中。
D. C语言标准库中的函数和变量可以直接使用,无需任何声明和定义。
2. 下面哪个选项是正确的整型常量表示法?A. 3.14B. 'A'C. 3.0E8D. 0xFC3. 下面代码中,输出结果是多少?```c#include <stdio.h>int main() {int x = 3, y = 4, z;z = (x++) + (++y);printf("%d\n", z);return 0;}```A. 7B. 8C. 9D. 104. 下面哪个选项是正确的声明一个指向整型数据的指针?A. int *ptr;B. int ptr;C. *int ptr;D. ptr *int;5. 下面哪个选项是正确的函数声明?A. int add(int a, int b);B. int add(int a, b);C. add(int a, int b);D. add(int a, b);(略去其他题目...)二、编程题(共2题,每题30分,共60分)请编写符合题目要求的程序。
1. 题目描述:编写一个程序,实现求解1至100之间的所有偶数的和,并打印输出结果。
以下是程序的运行示例:```1至100之间的所有偶数的和为2550。
```2. 题目描述:编写一个程序,实现将用户输入的英文句子的每个单词首字母变为大写,并打印输出结果。
以下是程序的运行示例:```请输入一个英文句子:hello world!转换后的句子为:Hello World!```三、简答题(共2题,每题10分,共20分)请简要回答以下问题。
程序设计基础》期末复习考试题型和分值。
一、单选题(20小题,每题2 分)二、填空题(共20题,计20分)三、编程填空题(给出程序的输出结果,共5题,14 分)四、读程序题(补充程序,共2 小题,,共26 分)程序练习:1. 输出1〜10之间所有的偶数和它们的平方。
2. 输出所有的水仙花数。
3. 从键盘输入一行字符,统计其中有多少个单词。
假设单词之间是以空格分开。
4. 编程先由计算机“想”一个1 〜1 00之间的数请人猜,如果人猜对了,则结束游戏,并在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平;否则计算机给出提示,告诉人所猜的数是太大还是太小,直到人猜对为止。
5. 编写程序,要求在main 函数接受一个整型变量,将其作为参数传入IsPrime 函数中,IsPrime 函数根据传入的值确定返回值,如果<2,返回0;如果不是素数,返回1;如果是素数,返回2。
主函数根据返回值输出相应的提示信息:输入不合法,不是素数,是素数。
6.编写程序:给学生出一道加法运算题,然后判断学生输入的答案对错与否。
通过输入两个加数给学生出一道加法运算题,如果输入答案正确,则显示“Right!,否则提示重做,显示“ Not correct! Try again”重复要求输入答案,直到输入结果正确,程序结束。
要求:用Add函数来进行两个整数的加法运算;用Print函数判断输入的答案正确与否;用main 函数输入两个相加的数和学生的答案,然后调用Add 函数和Print 函数判进行判断和显示输出。
7. 利用指针编写两个整数交换的函数。
8. 从10个元素的数组中找出最大值和最小值,并记录最大值和最小值对应的元素的下标位置。
9. 给定10 个数,按照要求进行排序并输出排序的结果。
程序设计ABC1. 程序运行的方式分为哪两种?(编译运行和解释运行)2 . 什么叫编译器,其功能是什么?(把程序设计语言转换成目标代码的软件称为编译器)数据类型、运算符与表达式1. C 程序的特点?函数是C程序的基本单位。
C语言考试期末考试复习题及答案一、选择题(1) 一个C语言程序总是从(C )开始执行A) 书写顺序的第一个函数B) 书写顺序的第一条执行语句C) 主函数main()D) 不确定(2) 设int x=3,y=4,z=5,则下列表达式中的值为0的是( D )A) ‘x’&&’y’B) x||y+z&&y-z C) x<=yD) !((x<y)&&!z||1)(3) 执行以下程序段后,i的值是 ( C )int i=10。
switch(i+1){ case 10: i++。
break。
case 11: ++i。
case 12: ++i。
break。
default : i=i+1。
}A) 11 B) 13 C) 12 D) 14(4) 语句while(!e)。
中的条件!e等价于 ( A )A) e==0 B)e!=1 C) e!=0D) 运行时出错(5) 用 int a[4]={1,2}。
对数组进行初始化后,数组元素a[3]的值是 ( B )A) 随机值B) 0 C) 1D) F(6) 在执行char str[10]=“china\0”; strlen(str)的结果是( A )A)5 B) 6 D) 7 D 9(7) 若有定义,char *p=”computer”。
则语句printf(“%c”,*(p+2))运行结果是 ( B )A) 随机值B) m C)o D) omputer(8) 在以下函数调用语句中fun1(x,10,(x,10),fun2(y,10,(y,10)))。
函数fun1参数的个数为 ( B )A) 8 B) 4C) 5 D) 编译出错(9) 在说明一个结构体变量时系统分配给它的存储空间是( D )A)该结构体中第一个成员变量所需存储空间 B) 该结构体中最后一个成员变量所需存储空间C)该结构体中占用最大存储空间的成员变量所需存储空间D) 该结构体中所有成员变量所需存储空间的总和1. 用C语言编写的代码程序( B )A)可立即执行 B)是一个源程序 C)经过编译即可执行 D)经过编译解释才能执行2. C语言中用于结构化程序设计的三种基本结构是( A )A)顺序结构、选择结构、循环结构 B)if、switch、break C)for、while、do-while D)if、for、continue3. 以下定义语句中正确的是( C )A)char a='A'b='B'。
《程序设计基础》期末复习一、单项选择题1、计算机发展的分代史中通常划分时代的标准是以计算机所采用的______。
A 逻辑元件B 程序设计语言C 操作系统发展D 硬件运算速度2、当前广泛使用的微型计算机是______。
A 第一代B 第二代C 第三代D 第四代3、我们将组成计算机系统的所有电子和机械装置称为______。
A 硬件B 软件C 系统D 机器4、当代计算机的体系结构称为是______。
A 冯·诺依曼机B 非冯·诺依曼机C图灵机 D PASCAL机5、CPU主要包括______。
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、汇编程序的任务是______。
A 将汇编语言编写的程序转换为目标程序B 将汇编语言编写的程序转换为可执行程序C 将高级语言编写的程序转换为汇编语言程序D 将高级语言编写的程序转换为可执行程序12、世界上第一个高级语言是______。
A BASIC语言B C语言C FORTRAN语言D PASCAL语言13、下面4种程序设计语言中,不是面向过程式语言的是______。
A FORTRANB ALGOLC AdaD C++14、下面4种程序设计语言中,不是面向对象式语言的是______。
年国家开放大学电大《程序设计基础》期末考题汇总.期末考试程序设计基础试题一、单项选择题(每空22分.共030分)11.当代计算机的最主要的体系结构称为是()。
AA.冯·诺依曼机BB.非冯·诺依曼机CC.图灵机DD.LPASCAL机22.现代电子计算机诞生的理论基础是()。
AA.图灵机BB.图灵测试cc.冯·诺依曼机DD.邱奇论题33.计算机软件是指()。
AA.计算机程序BB.源程序和目标程序CC.源程序DD.计算机程序及其有关文挡44.计算机能直接执行的语言是())。
AA.机器语言BB.汇编语言CC.高级语言DD.目标语言55.AJAVA语言的类别是()。
AA.面向过程的程序设计语言BB.面向问题的程序设计语言CC.面向对象的程序设计语言DD.面向硬件的程序设计语言66.在CC语言中,字符串常量的定界符是( )。
AA。
空格BB.单引号CC.双引号DD.方括号77.CC语言中tint变量能够表示的数值范围是()。
A.--32767—32768B.--32768~32767C.0~65535D.O--6553688.CC语言中的循环控制语句中属于“直到型”循环的语句是( )。
A.gotoB.whileCC.forD.do--while99.数据的存储结构分为两种,它们是()。
AA.线性存储和数组存储BB.顺序存储和链式存储CC.线性存储和树型存储DD.数组存储和指针存储10.如果在内存中采用链式保存线性表,则元素之间的逻辑关系通过())。
AA.元素在内存中的相对位置表示逻辑次序BB.保存在元素中的指针表示先后次序CC.设立单独的区域存储元素之间的逻辑次序DD.元素本身的关键字来表示逻辑次序11.栈的最主要特点是()。
AA.先进先出BB.先进后出CC.两端进出DD.一端进一端出.12.数据结构主要研究下面33方面的内容()。
A.数据的逻辑结构、存储结构和运算BB.数据的线性结构、树型结构和图结构CC数据的顺序存储、链式存储和散列存储DD.数据的线性结构和非线性结构,以及相关运算13.进行顺序查找的条件是()。
程序基础设计期末试题答案一、选择题1. 在面向对象编程中,封装的主要作用是:A. 隐藏对象的实现细节B. 提高代码的复用性C. 增强程序的安全性D. 优化程序的性能答案:A2. 下列哪种数据结构在插入和删除元素时不需要重新排列其他元素?A. 链表B. 数组C. 栈D. 队列答案:A3. 以下哪个关键字在Java中用于定义一个类?A. interfaceB. staticC. classD. public答案:C4. 在C++中,动态内存分配可以使用哪个操作符?A. newB. deleteC. thisD. nullptr答案:A5. 以下哪种排序算法在最坏情况下拥有最好的性能?A. 冒泡排序B. 快速排序C. 归并排序D. 选择排序答案:C二、填空题1. 在软件开发过程中,__________方法是一种通过原型制作来逐渐完善系统的过程。
答案:迭代2. 数据库管理系统(DBMS)的主要功能是管理__________和__________。
答案:数据、信息3. 在HTML中,用于创建超链接的标签是__________。
答案:a4. 软件测试的目的是__________和__________软件中的缺陷。
答案:发现、修复5. 算法的时间复杂度表示了算法执行时间与输入数据量之间的关系,它通常用__________表示。
答案:大O符号三、简答题1. 请简述面向对象编程的三个基本特征。
答:面向对象编程的三个基本特征包括封装性、继承性和多态性。
封装性是指将对象的数据和行为包装在一起,对外隐藏实现细节。
继承性允许新的类继承现有类的属性和方法,从而提高代码的复用性。
多态性是指允许使用子类的对象来替代父类的对象,使得同一个方法或属性可以在不同的对象中具有不同的表现形式。
2. 什么是软件设计模式?请举例说明。
答:软件设计模式是在特定上下文中解决常见问题的一套经典解决方案。
它们是对在软件开发过程中经常遇到的问题的一种经验总结。
《程序设计基础》复习题一、单项选择题1.以下叙述中正确的是( )A. C程序中注释部分可以出现在程序中任意合适的地方B. 花括号"{"和"}"只能作为函数体的定界符C. 构成C程序的基本单位是函数,所有函数名都可以由用户命名D. 分号是C语句之间的分隔符,不是语句的一部分2.在一个C语言程序中( )A. main函数必须出现在所有函数之前B. main函数可以在任何地方出现C. main函数必须出现在所有函数之后D. main函数必须出现在固定位置3.判断下面标识符中哪个是C语言中合法的用户定义标识符( )A. a-bB. #abdC. typedefD. _max4.为表示关系X≥Y≥Z,应使用C语言表达式( )A. (X≥Y)&&(Y≥Z)B. X>=Y>=ZC. (X>=Y)‖(Y>=Z)D. (X>=Y)&&(Y>=Z)5.以下选项中,不能作为合法常量的是A. 1.234e04B. 1.234e0.4C. 1.234e+4D. 1.234e0 6.若有两条语句:static char x[]=”abcde”;static char y[]={‘a’,’b’,’c’,’d’,’e’};则下列说法中正确的是( )A. x数组和y数组长度相同B. x数组长度大于y数组长度C. x数组长度小于y数组长度D. 以上三种说法均错误。
7.返回值为void的函数,其含义是( )A.调用函数之后,被调用的函数没有返回值;B.调用函数之后,被调用的函数不返回C.调用函数之后,被调用的函数返回值为任意类型D.以上三种说法均不正确。
8.对于语句,int x,y,z[10],*px,*py; 指出下列哪个语句是不正确的( )A. px=&x,py=pxB. px=xC. py=&yD. px=z9.在printf语句中按字符串输出的格式是( )A. “%s”B. “%c”C. “%f”D. “%d”10.C语言中,运算对象必须是整型的运算符是( )A. %B. /C. %和/D. >=11.以下说法正确的是( )A. C语言程序总是从第一个定义函数开始执行;B. 在C语言程序中,要使用的函数必须在main()函数中定义;C .C语言程序总是从main()函数开始执行;D. C语言程序的main()函数必须在程序的开始部分。
《C语言程序设计》期末考试试卷以及答案提示(共五篇)第一篇:《C语言程序设计》期末考试试卷以及答案提示一、单项选择题(本大题共20题,每题2 分,共40分)1、以下不是C语言的特点的是 B。
A、C语言简洁、紧凑B、能够编制出功能复杂的程序(任何程序都可以,不算特点)C、C语言可以直接对硬件进行操作D、C语言移植性好2、以下不正确的C语言标识符是 DA、ABCB、abcC、a_bcD、ab.c(只能是字母,下划线,数字;另外数字不可开头)3、一个C语言程序是由B。
A、一个主程序和若干子程序组成B、函数组成 C、若干过程组成 D、若干子程序组成4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是 B A、有零个或多个输入B、有零个或多个输出(有一个或多个输出)C、有穷性D、可行性5、设变数a是整型,f是实型,i是双精度型,则表达式10+…a‟+i*f值的数据类型为 C A、int B、float C、double D、不确定(低类型要转换为高类型)6、在C语言中,char型数据在内存中的存储形式是 D。
A、补码B、反码C、源码D、ASCII码7、有如下程序,输入数据:12345M678<cR>后(表示回车),x的值是B。
#include main(){ int x;float y;scanf(“%3d%f”,&x,&y);} A、12345 B、123 C、45 D、345(由scanf语句可知取三位数值给X)8、若有以下定义int a,b;float x,则正确的赋值语句是B。
A、a=1,b=2(少了分号)B、b++;C、a=b=5(句末少了分号)D、b=int(x);(右侧要是确切的值)9、以下程序的执行结果是A。
#include { int i=10,j=10;printf(“%d,%dn”,++i,j--);} A、11,10 B、9,10 C、11,9D、10,9(i是先加一再使用,j是先使用再减一)10、巳知字母A的ASCII码是65,以下程序的执行结果是D。
程序设计基础期末复习题程序设计基础期末复习题随着信息技术的不断发展,程序设计已经成为了一个重要的技能。
无论是在科研、工程还是日常生活中,我们都离不开程序设计。
因此,学习程序设计基础是非常重要的。
下面,我们来复习一些程序设计的基础知识。
一、变量和数据类型在程序设计中,变量是存储数据的容器。
不同的数据类型有不同的特点和用途。
常见的数据类型包括整数、浮点数、字符和布尔值等。
在定义变量时,需要指定变量的数据类型,并为其分配内存空间。
例如,整数类型的变量可以用来存储整数值,而浮点数类型的变量可以用来存储带小数点的数值。
字符类型的变量可以存储单个字符,而布尔类型的变量只能存储真或假的值。
在程序设计中,我们还可以使用运算符对变量进行运算。
常见的运算符包括加减乘除和取余等。
此外,我们还可以使用条件语句和循环语句来控制程序的执行流程。
二、函数和模块函数是一段具有特定功能的代码块,可以被多次调用。
函数可以接受输入参数,并返回输出结果。
通过使用函数,我们可以将程序分解成多个模块,提高代码的可读性和可维护性。
在程序设计中,函数可以是内置函数,也可以是自定义函数。
内置函数是编程语言提供的函数,可以直接调用。
而自定义函数则是由程序员根据需要编写的函数。
在编写函数时,我们需要考虑函数的输入和输出。
输入参数可以是必需的,也可以是可选的。
输出结果可以是一个值,也可以是一个数据结构。
通过合理设计函数的输入和输出,我们可以使函数更加灵活和通用。
三、数组和列表数组和列表是存储多个数据的数据结构。
它们可以存储相同类型的数据,并按照一定的顺序进行访问。
数组和列表的主要区别在于其大小是否可变。
数组是一种固定大小的数据结构,一旦创建后,其大小就不能改变。
而列表是一种大小可变的数据结构,可以根据需要动态调整其大小。
在程序设计中,我们可以使用数组和列表来存储一系列数据,并通过索引来访问其中的元素。
通过使用循环语句,我们可以对数组和列表中的元素进行遍历和操作。
2022 程序设计基础(C语言)C一、单选题(每题3分,共20道小题,总分值60分)1.以下程序段完全正确的是________A.int *p ; scanf ( “%d ”, & p) ;B.int *p ; scanf( “%d ”, p ) ;C.int k , *p = &k ; scanf ( “%d”, p) ;D.int k , *p ; *p = &k; scanf ( “%d”,p);正确答案:C2.以下不能定义为用户标识符的是__________A.MainB._0C._intD.sizeof正确答案:D3.设形参和实参都为int类型变量,以下正确的说法是()。
A.实参和与其对应的形参占用独立的存储单元B.实参和与其对应的形参共占用一个存储单元C.只有当实参和与其对应的形参同名时才共占用一个存储单元D.形参是虚拟的,不占用存储单元正确答案:A4.有函数关系如下,能正确表示该关系的程序段是()。
A.y=x+1; if(x>=0) if(x= =0) y=x; else y=x-1;B.y=x-1; if(x!=0) if (x>0) y=x+1; else y=x;C.if (x<=0) if (x<0) y=x-1; else y=x; else y=x+1D.y=x; if(x<=0) if (x<0) y=x-1; else y=x+1;正确答案:C5.以下程序段完全正确的是___________。
A.int *p ; scanf ("%d" , & p) ;B.int *p ; scanf("%d" , p ) ;C.int k , *p = &k ; scanf ("% d" , p) ;D.int k , *p ; *p = &k; scanf ("%d" ,p);正确答案:C6.当说明一个结构体类型变量时系统分配给它的内存是()。
可编辑修改精选全文完整版程序设计基础1. 如果int a=3,b=4;则条件表达式"a<b? a:b"的值是32. C语言中函数返回值的类型是由函数定义时指定的类型决定的。
3. 对以下说明语句 int a[10]={6,7,8,9,10}; 的正确理解是将5个初值依次赋给a[0]至a[4]。
4.设有如下定义:struck sk{ int a;float b;}data;int *p;若要使P指向data中的a域,正确的赋值语句是p=&data.a。
5.int a=3,b=5;if(a=b)printf("%d=%d",a,b);else printf("%d !=%d",a,b);的输出结果是3!=56. 函数是构成C语言程序的基本单位。
7.结构化程序由三种基本结构组成,三种基本结构组成的算法是可以完成任何复杂的任务。
8.在函数调用时说法正确的是实际参数和形式参数可以同名9. 下列程序#include <stdio.h> main() { int s=0,a=5,n; scanf("%d",& n); do { s+=1; a=a-2; }while(a!=n); printf("%d,%d\n",s, a); }执行输入整数1的结果是2,1。
10. 在C语言中,函数的数据类型是指函数返回值的数据类型。
11. 如有定义语句int c[]={1,5,3,4,6,7,0},则数组有个7元素。
12. 若int x=2,y=3,z=4 则表达式x<z?y:z的结果是3。
13. 已知char s3[]="China";,则程序段printf("%d",sizeof(s3));的输出结果是6。
(字符串数组最后一个元素是'\0',长度6。
单项选择================================================== 题号:23095任何一个C语言的可执行程序都是从() 开始执行的.A、main() 函数的入口处B、程序中的第一条语句C、程序中的第一个函数D、编译预处理语句答案:A题号:23285C语言程序的三种基本结构是顺序结构, 选择结构和() 结构.A、循环B、转移C、递归D、嵌套答案:A题号:23286C语言中, 定义结构体的保留字是().A、enumB、unionC、structD、typedef答案:C题号:23333程序流程图PFD中的" □" 代表的是().A、控制流B、加工步骤C、数据流D、组成关系答案:B题号:23161C语言中, 下列叙述正确的是().A、do-while 语句构成的循环不可用B、do-while 语句构成的循环, 没有break 语句就是死循环C、do-while 语句构成的循环, 当while 语句中的表达式值为零时结束循环D、do-while 语句构成的循环, 当while 语句中的表达式值为非零时跳出循环答案:C题号:23405以下不能正确进行字符串赋初值的语句是().A、char *str="good!";B、char str[5]={'g','o','o','d',0};C、char str[5]="good!";--- 超界D、char str[]="good!";答案:C题号:23400下述错误的C语言常量是().A、5.B、.25C、0xfD、090答案:D题号:23577以下对C语言中联合类型数据的正确叙述是().A、定义了联合变量后, 即可引用该变量或该变量中的任意成员B、一个联合变量中可以同时存放其所有成员C、在向联合中的一个成员进行赋值时, 联合中其他成员的值不会改变D、联合中的各个成员使用共同的存储区域答案:D题号:23584如已定义x和y为double 类型, 则表达式x=1,y=x+5/2 的值是().A、3.0B、3.5C、2D、3答案:A题号:23493有以下程序:#include<stdio.h>main(){int a1,a2;char c1,c2;scanf("%d%c%d%c",&a1,&c1,&a2,&c2);printf("%d,%c,%d,%c",a1,c1,a2,c2);}若想通过键盘输入, 使得a1的值为12,a2 的值为34,c1 的值为字符a,c2 的值为字符b, 程序输出结果是:12,a,34,b, 则正确的输入格式是以下代表空格,<CR>代表回车.A、12,a,34,b<CR>B、12 a34 b<CR>C、12 a 34]b<CR>D、12a34b<CR>答案:D题号:24158关于%-m.nf格式符, 下列描述中, 正确的是().A、字符"-" 表示在输出字符前面加上字符"-".B、字符"-" 表示输出字符靠左对齐.C、字符"-" 表示在输出字符最后加上字符"-".D、字符"-" 表示输出字符靠右对齐.答案:B题号:23674下面程序的输出结果是().main(){int i=2,p;p=f(i,i+1);printf("%d",p);}int f(int a,int b){int c;c=a;if(a>b)c=1;else if(a==b)c=0;else c=-1;return c;}A、0B、1C、2D、-1答案:D题号:23833在数据库设计中, 将E-R图转换成关系数据模型的过程属于().A、物理设计阶段B、需求分析阶段C、逻辑设计阶段D、概念设计阶段答案:C题号:23779已有声明"int x=5,y;float z=2;", 则以下表达式语法正确的是().A、x>0? y=x:y=-xB、y=x/2=zC、y=x=z/2D、y=x%z答案:C题号:23735关系表中的每一横行称为一个.A、元组B、字段C、行D、码答案:A题号:24289若有int i=0;, 则以下程序段中,while 循环的循环次数是()while(i<10){if(i<1)continue;if(i==5)break;i++;}A、6B、死循环, 不能确定次数C、1D、4答案:B题号:24605以下不是无限循环的语句为().A、while(1){x++;}B、for(i=10;;i--)sum+=i;C、for(y=0,x=1;x>++y;x=i++)i=x;D、for(;;x++=i);答案:C题号:24655下面程序的功能是将从键盘输入的一对数, 由小到大排序输出. 当输入一对相等数时结束循#include<stdio.h>void main(){int a,b,t;scanf("%d%d",&a,&b);while(){if(a>b){t=a;a=b;b=t;}printf("%d,%d\n",a,b);scanf("%d%d",&a,&b);}}A、!a=bB、a=bC、a !=bD、a==b答案:C题号:24192请阅读以下程序:#include<stdio.h>main(){ int x=1,y=0,a=0,b=0;switch(x){ case 1:switch(y){ case 0:a++; break;case 1:b++; break;}case 2:a++;b++; break;}printf("a=%d,b=%d\n",a,b);}上面程序的输出结果是().A、a=1,b=1B、a=2,b=2C、a=2,b=1答案:C题号:24329有以下程序:#include<stdio.h>int a=1;int f(int c){static int a=2;c=c+1;return (a++)+c;}main(){int i,k=0;for(i=0;i<2;i++){int a=3;k+=f (a);}k+=a;printf("%d\n",k);}程序的运行结果是().A、15B、14C、程序不正确, 无法编译D、16答案:B题号:24750设有数组定义:char array[]="China";, 则数组array 所占的空间为().A、5个字节B、4个字节C、6个字节D、7个字节答案:C题号:24979有以下程序:#include<stdio.h>#include<string.h>main(){char a[10]="abcd";printf("%d,%d\n",strlena,sizeofa);}程序运行后的输出结果是().A、8,8B、10,10C、7,4D、4,10答案:D题号:24996下面程序的输出结果是().#include<stdio.h>#include<string.h>main(){ char p1[]="WHO",p2[]="who",str[50]="xyz";strcpy(str+1,strcat(p1,p2));printf("%s",str);}A、zWHOwhoB、zWHOwhoC、xWHOwhoD、xyzWHOwho答案:C题号:24949有以下程序:#include<stdio.h>main(){ int aa[5][5]={{1,2,3,4},{5,6,1,8},{5,9,10,2},{1,2,5,6}};int i,s=0;for(i=0;i<4;i++)s+=aa[i][2];printf("%d",s);}程序运行后的输出结果是().A、19B、10C、26D、20答案:A题号:24888语句printf"%d\n",strlen"msn\t\01\\\t"; 的输出结果有几个字符.A、10B、6C、9D、7答案:D题号:25059有以下程序:#include<stdio.h>main(){char s[]="012xy\08s34f4w2";int i,n=0;for(i=0;s[i]!=0;i++)if(s[i]>='0'&&s[i]<='9')n++;printf("%d\n",n);}程序运行后的输出结果是().A、8B、7C、3D、0答案:C题号:24935以下能正确定义数组并正确赋初值的语句是().A、int d[3][2]={{1,2},{34}};B、int c[4][]={{1,2},{3,4}};C、int b[1][3]={{1},{3}};D、int a=1,b[a][a];答案:A题号:24981以下程序的输出结果是().void change int k[]{k[0]=k[5];}main(){int x[10]={1,2,3,4,5,6,7,8,9,10},n=0;while(n<=4){change&x[n];n++;}for(n=0;n<5;n++)printf("%d",x[n]);printf("\n");}A、13579B、62345C、12345D、678910答案:D题号:25123以下对数组初始化错误的是().A、int a[2][3]={{1,2,3},{4,5}}B、int a[2][3]={1,2,3,4};C、int[2][]={1,2,3,4,5,6};D、int a[][3]={1,2,3,4,5,6};答案:C题号:25050若有如下说明, 且int 类型占两个字节, 则正确的叙述为().struct st{ int a;int b[2];}a;A、程序运行时为结构体st 分配8字节存储单元B、程序只在执行到该结构体时才为结构体st 分配存储单元C、结构体变量a与结构体成员a同名, 定义是合法的D、类型名struct st 可以通过extern 关键字提前引用答案:C题号:25530下列不能正确计算代数式值的C语言表达式是().A、1/3.0*pow(sin(1.0/2),2)B、pow(sin(0.5),2)/3C、1/3 *sin(1/2)*sin(1/2)D、sin(0.5)*sin(0.5)/3答案:C题号:25543已有定义:char c;, 程序前面已在命令行中包含ctype.h 文件, 不能用于判断c中的字符是否为大写字母的表达式是().A、c<=("'z''"-32)&&("'a'"-32)<=cB、isupper(c)C、A'"<=c&&c<="'Z'D、A'"<=c<="'Z'答案:D题号:26457以下程序段中与语句:k=a>b?b>c?1:0:0; 功能相同的是().A、if(a<=b)k=0 ;else if(b<=c)k=1 ;B、if((a>b) ‖(b>c))k=1 ;else k=0 ;C、if((a>b)&&(b>c))k=1 ;else k=0;D、if(a>b)k=1 ;else if(b>c)k=1 ;else k=0 ;答案:C题号:25404若变量x,y 已正确定义并赋值, 以下符合C语言语法的表达式是().A、++x,y=x--B、x+1=yC、double(x)/10D、x=x+10=x+y答案:A题号:26092调用函数时, 基本类型变量做函数参数, 实参和对应的形参().A、同名时才能共用存储单元B、各自占用独立的存储单元C、不占用存储单元D、共占用一个存储单元答案:B程序设计================================================== 题号:32147/*------------------------------------------------【程序设计】--------------------------------------------------功能:求小于lim 的所有素数并放在aa数组中,该函数返回所求出素数的个数。
《程序设计基础》期末考试卷试卷一一、语言基础(每小题2分,共26分)1.设有变量定义:int a=3, b=4, c=5; 表达式 !(a+b)+c-1 && b+c/2的值是多少?2.写出与代数式(x+2)e x+2对应的C表达式。
3.写出执行下列语句后的输出结果。
int x=5;if(x=3) printf(“%d\n”,x);else printf (“%d\n”,x+2);4.写出“仅当char类型变量ch是大写英文字母时改变ch为对应小写字母”的C表达式。
5.若程序中使用了库函数toupper、strcpy,写出在预处理命令中必须包含的头文件名。
6.写出下列程序段的输出结果:int i,s=0;for(i=1;i<10;i=i+2) s=s+i;printf(“i=%d s=%x\n”,i,s);7.设有宏定义“#define f(a,b,x) a*x+b”,写出下列语句的输出结果: printf(“%d %d\n”,f(1,2,3),f(f(1,2,3),4,2) );8.写出下列程序段的输出结果:int x=010,y=0x10,z=10;printf(“%d,%d,%d\n,x,y,z);9.写出下列程序段的输出结果:int k,j=3;k=j++;printf(“k=%d j=%d\n”,k,j);10.student 是结构体类型标识符,x是student类型变量,写出计算x字节数的表达式。
11.写出下列程序段的输出结果:int f(int x){ static y=1;x+=y; y++;return x;}void main( ){ int k;k=f(3);printf(“%d %d\n”,k,f(k) );}12.自定义函数fact的功能是计算k的阶乘,函数原型可以写作“float fact(int)”。
按照以下各小题的要求写出相应的函数原型。
(1)自定义函数f1的功能是计算平面上任意两点之间的距离。
《Python程序设计》期末复习试题库及答案一、填空题1、Python安装扩展库常用的是_______工具。
(pip)2、Python标准库math中用来计算平方根的函数是__________。
(sqrt)3、Python程序文件扩展名是__________ (py)4、列表、元组、字符串是Python的_________(有序?无序)序列。
(有序)5、查看变量内存地址的Python内置函数是_________________。
(id())6、以3为实部4为虚部,Python复数的表达形式为___________。
(3+4j、3+4J)7、Python运算符中用来计算整商的是_________。
(//)8、______________命令既可以删除列表中的一个元素,也可以删除整个列表。
(del)9、表达式int('123') 的值为_____________。
(123)10、表达式abs(-3) 的值为___________。
(3)11、表达式int(4**0.5) 的值为____________。
(2)12、Python内置函数_________可以返回列表、元组、字典、集合、字符串以及range对象中元素个数。
(len())13、Python内置函数____________用来返回序列中的最大元素。
(max())14、Python内置函数____________用来返回序列中的最小元素。
(min())15、已知x = 3,那么执行语句x += 6 之后,x的值为_______________。
(9)16、表达式3 ** 2 的值为_________。
(9)17、表达式3 * 2的值为___________。
(6)18、表达式chr(ord('a')-32) 的值为___________。
('A')19、表达式16**0.5的值为____________________。
程序设计基础1(本科)期末考试试题及参考答案程序设计基础复习题1(本科)一选择题(7分,每小题0.5分)1.C语言源程序的基本单位是()。
A 过程B 函数C 子程序D 标识符2.下列程序的输出结果是()。
5main( ){ int a=7,b=5;printf("%d\n",b=b/a);}A 5B 1C 0 D不确定值3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是()。
A 7B 8C 9D 24.设a为int型变量,执行下列赋值语句后,a的取值分别是()。
a=125.534; a=(int)125.521%4; a=5<<2;A 125,31,1B 125,1,20C 125,31,20D 125.534,2,205.设有如下程序段,下面描述中正确的是()。
int k=10; while(k=0) k=k-1;A 循环执行一次 B循环是无限循环 C循环体语句一次也不执行 D 循环体语句执行一次6.以下程序的输出结果为()。
int i;void prt( ){ for(i=5;i<8;i++) printf("%c",'*');printf("\t");}main( ){ for(i=5;i<=8;i++) prt( );}A ***B *** *** *** ***C *** ***D * * *7.在C语言程序中,以下说法正确的是()。
A函数的定义可以嵌套,但函数的调用不可以嵌套B函数的定义不可以嵌套,但函数的调用可以嵌套C函数的定义和函数的调用都不可以嵌套D函数的定义和函数的调用都可以嵌套8.以下函数调用语句中含有()个实参。
func((e1,e2),(e3,e4,e5));A 2B 3C 5D 语法错误9.以下程序的输出结果为()。
#define ADD(x) x*xmain( ){ int a=4,b=6,c=7,d=ADD(a+b)*c;printf("d=%d",d);}A d=70B d=80C d=140D d=70010.已知职工记录描述如下,在Turbo C中,系统为变量w分配()字节的空间。
程序设计基础期末复习题一、请仔细阅读下面的程序代码,给出程序的运行结果1.写出下面的程序输出的数据,这是什么图形?#include <iostream>using namespace std;int main(){int a[10][6]={0,1},i,j;for(i=1;i<6;i++)for(j=1;j<=i+1;j++) a[i][j]=a[i-1][j-1]+a[i-1][j];for(i=0;i<6;i++){for(j=1;j<=i+1;j++) cout<<a[i][j]<<'\t';cout<<endl;}return 0;}2.写出下面程序的运行结果#include<iostream>using namespace std;void sub(int x,int y,int *z){ *z=y-x;}int main( ){int a,b,c;sub(18,5,&a) ;sub(17,a,&b) ;sub(a,b,&c) ;cout << a << "," << b << "," << c << end1;return 0;}3.写出下面程序的运行结果#include <iostream>#include <stdlib.h>using namespace std;class Time{public:Time(int hr= 0,int min= 0,int sec= 0) //构造函数{hour = hr; minute = min; second = sec;}void printStandard(){cout<<((hour==0|| hour==12)?12:hour%12)<<":"<<(minute<10?"0":"")<<minute<<":"<<(second<10?"0":"")<<second<<(hour<12?" AM":" PM")<<endl;}private:int hour;int minute;int second;};int main(int argc, char *argv[]){Time a(8),b(14,19,9);a.printStandard();b.printStandard();return 0;}4.写出下面程序的运行结果#include <iostream>using namespace std;class point{double x;double y;public:point(double a,double b){x=a;y=b;}friend double distance(point a,point b);};double distance(point a,point b){return sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y));}int main(){point p1(3,4);point p2(5,7);cout<<distance(p1,p2)<<endl;return 0;}5.写出下面程序的运行结果#include<iostream>using namespace std;int main{int a[]={2,4,6}, *prt=&a[0],x=y,z;for(y=0;y<3;y++)z=(*(prt+y)<x)?*(prt+y):x;cout<<z<<endl;return 0;}6.写出下段代码的运行结果#include <iostream>#include <iomanip>using namespace std;int f(int l,int h,int a[],int n){int i;int sum=0;for (i=0;i<n;i++)if ((a[i]<l)||(a[i]>h)) sum+=a[i];return sum;}int main(){int a[100];int n,i,l,h;cin>>n>>l>>h;for (i=0;i<n;i++)cin>>a[i];cout<<f(l,h,a,n)<<endl;return 0;}输入:6 20 4025 56 22 7 19 387.写出下面程序的运行结果#include <iostream>#include <iomanip>using namespace std;int f(int a,int b){if (a%b = = 0) return b; //递归出口else return f(b,a%b);}int main(){int a,b,t;cin>>a>>b; //输入if (a>b) t=f(a,b);else t=f(b,a);cout<<t<<" "<<a*b/t; //输出return 0;}输入:32 1448.阅读下面的程序代码,写出下面程序的运行结果#include <iostream>using namespace std;int type(int m);//判断第m年是否是闰年,是返回1,否则返回0 int main(){char week[7][10]={"Saturday","Sunday","Monday","Tuesday","Wednesday","Thursady","Friday"};int year[2]={365,366};int month[2][12]={31,28,31,30,31,30,31,31,30,31,30,31,31,29,31,30,31,30,31,31,30,31,30,31};int days,dayofweek;int i=0,j=0;while(cin>>days&&days!=-1){dayofweek = days%7;for(i=2000;days>=year[type(i)];i++)days-=year[type(i)];for(j=0;days>=month[type(i)][j];j++)days-=month[type(i)][j];cout<<i<<"-"<<j+1<<"-"<<days+1<<" "<<week[dayofweek]<<endl;}return 0;}int type(int m){if(m%4!=0 || (m%100==0&&m%400!=0)) return 0;return 1;}输入数据如下:18301840-19.写出下面程序的运行结果class Student{public:Student(){ coursename="#";classhour=0;credit=0; }virtual void Calculate(){credit=classhour/16;}void SetCourse(string str,int hour){coursename=str;classhour=hour;}void SetCredit(int cre){credit=cre;}int GetHour(){ return classhour; }void Print(){cout<<coursename<<'\t'<<classhour<<"学时"<<'\t'<<credit<<"学分"<<endl;}private:string coursename; //课程名int classhour; //学时int credit; //学分};class GradeStudent:public Student{public:GradeStudent(){};void Calculate(){SetCredit(GetHour()/20);}};int main(){Student s,*ps;GradeStudent g;s.SetCourse("英语",80);g.SetCourse("英语",80);ps=&s;ps->Calculate();ps->Print();ps=&g;ps->Calculate();ps->Print();return 0;}10.假定输入的10个整数为:33,65,54,88,55,32,98,56,78,73,下列程序的运行结果是#include<iostream>using namespace std;int main(){int a,b,c,x;a=b=c=0;for(int i=0;i<10;i++){cin>>x;switch(x%3){case 0:a+=x;break;case 1:b+=x;break;case 2:c+=x;break;}}cout<<a<<”,”<<b<<”,”<<c<<endl;}11.写出下段代码的运行结果#include<iostream>using namespace std;int main(){inta=5,b=4,c=3,d;d=(a>b>c);cout<<d;}12.写出下段代码的运行结果#include<iostream>using namespace std;void fun(int *a,iht *b){int *k;k=a;a=b;b=k;}void main( ){int a=3,b=6,*x=&a,*y=&b;fun(x,y);cout << a << " " <<b;}13.写出下面程序的运行结果#include <iostream>using namespace std;int main (){int s=0;for (int i=1;i<8;i++)s+=i*i;cout <<"s="<<s<<endl;return 0;}14.写出下面程序的运行结果#include <iostream>using namespace std;class a{public:int f1();int f2();void setx(int m){x=m;cout<<x<<endl;}void sety(int n){y=n;cout<<y<<endl;}int getx(){return x;}int gety(){return y;}private:int x,y;};int a::f1(){return x+y;}int a::f2(){return x-y;}void main(){a aa;aa.setx(10);aa.sety(5);cout<<aa.getx()<<'\t'<<aa.gety()<<endl;cout<<aa.f1()<<'\t'<<aa.f2()<<endl;}15.写出下段代码的运行结果# include <iostream>using namespace std;int dec(int a[],int n){if (n <= 1) true;if (a[0] < a[1]) return false;return dec(a+1,n-1);}int main( ){int a[5]={ 3,4,5,2,9};cout<<dec(a,5);}16.写出下段代码的运行结果#include <iostream>using namespace std;int main(){int s=0;for (int i=1; ; i++) {if (s>50) break;if (i%3==0) s+=i;}cout <<"i,s="<<i<<","<<s<<endl;}17.写出下段代码的运行结果#include <iostream># include <iomanip >using namespace std;void main(){int a[9]={2,4,6,8,10,12,14,16,18};for (int i=0; i<9; i++) {cout <<setw(5)<<*(a+i);if ((i+1)%3==0) cout <<endl;}}18.写出下面程序的运行结果#include <iostream># include <iomanip >using namespace std;class A {public :A() { a=b=0; }A(int aa,int bb) {a=aa; b=bb;cout <<a<<' '<<b<<endl;}private:int a,b;};int main(){A x,y(2,3),z(4,5);return 0;}19.写出下面程序的运行结果#include <iostream>#include <cstring>using namespace std;int main(){char s1[ 20 ] = "Happy ";char s2[] = "New Year ";char s3[ 40 ] = "";cout << "s1 =" << s1 << "\ns2 =" << s2;cout << "\nstrcat(s1, S2) = "<< strcat( s1, s2 );cout << "\nstrncat(s3, s1, 6) =" << strncat( s3, s1, 6 );cout << "\nstrcat(s3, s1) = "<< strcat( s3, s1 ) << endl;return 0;}20.写出下面程序的运行结果#include <iostream>#include <stdlib.h>using namespace std;int main(int argc, char *argv[]){int a;char buf[10];cin>>a;itoa(a,buf,10);int result = 1;for(int i=0;i<strlen(buf);i++)if(buf[i]!='0') result = result*(buf[i]-'0');cout<<"result= "<<result<<endl;return 0;}输入:20090115二、选择题(每题3分,共15分)1.有以下函数:fun(char *a,char *b){while((*a!='\0')&&(*b!='\0')&&(*a==*b)){a++;b++;}return(*a-*b);}该函数的功能是______。
《程序设计基础》期末试题答题时间60分钟一、单项选择题(每小题4分,共40分)1、当代计算机的最主要的体系结构称为是 ______ 。
A冯•诺依曼机B非冯•诺依曼机C图灵机 D PASCAL机2、计算机软件是指 _____ OA计算机程序B源程序和目标程序C源程序D计算机程序及其有关文挡3、汇编程序的任务是______ oA将汇编语言编写的程序转换为目标程序B将汇编语言编写的程序转换为可执行程序C将髙级语言编写的程序转换为汇编语言程序D将髙级语言编写的程序转换为可执行程序4、C语言•是_____ oA机器语言 B汇编语言 C高级语言D目标语言5、关于C语言语句的正确概念是_______ oA在C语言中不能使用goto语句 B goto语句可以从C语言中去除C WhiIe和do-while都是直到型循环D SWitCh语句可以替代if语句6、如果在具有层次结构的一组元素中,存在着一对一的关系,我们可以认为这样的数据的逻辑类型就是__________ OA集合B线性结构C树型结构D图型结构7、图的典型特点是各个结点之间是 _______ OA没有直接关系 B 一对一关系 C 一对多关系 D多对多关系8、如果在内存中采用链式保存线性表,则元素之间的逻辑关系通过.A元素在内存中的相对位置表示逻借次序B保存在元素中的指针表示先后次序C设立单独的区域存储元素之间的逻辑次序D元素本身的关键字来表示逻借次序9、在软件系统进行组装测试的时候发现错误,则针对被发现的错误,可以判断在整个软件开发过程最可能岀现错误的阶段是__________ 。
A需求分析 B概要设计 C详细设计D单元测试10、早期进行程序开发过程中存在不少问题,在下列问题中有一个并不是早期程序员常见的问题,它是______ 。
A程序员过分依赖技巧与天分,不太注重所编写程序的结构B程序中的控制随意跳转,不加限制地使用goto语句C无固定程序设计方法D对问题的抽象层次不够深入二、填空题(每小题6分,共30分)1、计算机的运算器除了能够完成基本的_____ ①_______ 运算外,还具有进行比较、______ ②______ 等逻辑运算的功能。