程序设计基础上机考试题库
程序设计题库及答案详解
程序设计题库及答案详解程序设计题库及答案详解是面向计算机科学与技术专业学生以及编程爱好者的一份重要学习资料。
它不仅包含了大量的编程题目,还提供了详细的解题思路和答案,帮助读者深入理解程序设计的原理和技巧。
# 一、基础题目1. 题目1:编写一个程序,实现两个整数的加法。
- 答案详解:首先定义两个整数变量,然后使用加法运算符将它们相加,并将结果存储在一个新变量中。
最后,输出结果。
2. 题目2:编写一个程序,实现字符串的反转。
- 答案详解:可以使用循环结构遍历字符串的每个字符,并将它们添加到一个新的字符串的开始位置。
完成后,输出反转后的字符串。
# 二、数组与循环3. 题目3:编写一个程序,找出数组中的最大值。
- 答案详解:首先初始化一个变量来存储最大值,然后使用循环遍历数组中的每个元素,并与当前最大值进行比较,如果当前元素更大,则更新最大值。
循环结束后,输出最大值。
4. 题目4:编写一个程序,实现数组的排序。
- 答案详解:可以使用冒泡排序或选择排序等算法。
以冒泡排序为例,通过多次遍历数组,比较相邻元素的大小,并在必要时交换它们的位置,直到整个数组有序。
# 三、函数与递归5. 题目5:编写一个函数,计算两个数的乘积。
- 答案详解:定义一个函数,接受两个参数,然后在函数内部使用乘法运算符计算它们的乘积,并返回结果。
6. 题目6:编写一个递归函数,计算阶乘。
- 答案详解:定义一个递归函数,如果输入的数为0或1,则返回1;否则,返回输入数乘以递归调用该函数的结果,输入数减1。
# 四、数据结构7. 题目7:编写一个程序,实现链表的插入操作。
- 答案详解:首先定义链表节点的结构,然后编写一个函数来创建新的节点。
在插入操作中,根据插入位置的不同,调整节点的指针指向。
8. 题目8:编写一个程序,实现二叉树的遍历。
- 答案详解:可以使用前序、中序或后序遍历。
以中序遍历为例,首先遍历左子树,然后访问根节点,最后遍历右子树。
C语言程序设计上机考试试题和参考答案
printf("Input str1:\n"); gets(str1); //1
printf("Input m and n:\n"); scanf("%d%d", &m, &n); //1
mystrcpy(str1, str2, m, n); //2 puts(str2); }
1、请按行读入数据 2、请按给定的函数原型编写程序,否则即使程序运行结果正确,也不给分。 参考答案
#include<stdio.h>
void Input(int a[][10], int n);
int Compute(int a[][10], int n);
main()
{
int n, a[10][10]; int sum;
//2
{
int i, flag = 0, sum = 0; //1
for (i = 1; i <= n / 2; i++) //1
{
if (n % i == 0)
//1
{
sum = sum + i; //1
}
}
if (sum == n)
//1
{
flag = 1;
}
return flag;
//1
} 3.(15 分)请按给定要求编程计算方阵的主对角线之和。其中方阵的输入请在 Input 函数实现,计算主对角之和请在 Compute 函数实现,计算结果请在主函数打印, 且给定的方阵最大为 10x10,方阵实际大小请在主函数读入。Input 函数和 Compute 函数的函数原型如下:
计算机程序设计基础习题册含答案)
《计算机程序设计基础》计算机程序设计基础_基础知识(一) 班级学号 姓名 成绩一、 单选题习题册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++程序设计上机考试题库大全(经典)
C++程序设计上机考试题库大全一、第一类题目1.定义盒子Box类,要求具有以下成员:长、宽、高分别为x,y,z,可设置盒子形状;可计算盒子体积;可计算盒子的表面积。
#include<iostream.h>class Box{ private:int x,y,z; int v,s;public:void init(int x1=0,int y1=0,int z1=0) {x=x1;y=y1;z=z1;}void volue() {v=x*y*z;}void area() {s=2*(x*y+x*z+y*z);}void show(){cout<<"x= "<<x<<" y= "<<y<<" z="<<z<<endl;cout<<"s= "<<s<<" v= "<<v<<endl;}};void main(){ Box a;a.init(2,3,4);a.volue();a.area();a.show();}2.有两个长方柱,其长、宽、高分别为:(1)30,20,10;(2)12,10,20。
分别求他们的体积。
编一个基于对象的程序,在类中用带参数的构造函数。
#include <iostream>using namespace std;class Box{public:Box(int,int,int);int volume();private:int length;int width;int height;};Box::Box(int len,int w,int w){length=len;height=h;width=w;}int Box::volume(){return(length*width*height);}int main(){Box box1(30,20,10);cout<<"The volume of box1 is "<<box1.volume()<<endl;Box box2(12,10,20);cout<<"The volume of box2 is "<<box2.volume()<<endl;return 0;}3.有两个长方柱,其长、宽、高分别为:(1)12,20,25;(2)10,30,20。
C语言上机程序设计题库及答案
C语言上机程序设计题库【程序设计】功能:根据整型形参m,计算如下公式的值:y=sin(m)*10。
【参考代码】double y=0;y=sin(m)*10;return(y);功能:若x、y为奇数,求x到y之间的奇数和;若x、y为偶数,则求x到y之间的偶数和。
【参考代码】int i,s=0;for(i=x;i<=y;i+=2)s=s+i;return s;功能:编写程序,实现矩阵(3行3列)的转置(即行列互换)【参考代码】int i,j,t;for(i=0; i < 3; i++)for(j=0; j < i; j++){ t=array[i][j];array[i][j]=array[j][i];array[j][i]=t; }功能:求一个四位数的各位数字的立方和。
【参考代码】int d,s=0;while (n>0){d=n%10;s+=d*d*d;n/=10;}return s;功能:请编一个函数void fun(int tt[M][N],int pp[N]), tt指向一个M行N列的二维数组,求出二维数组每列中最小元素,并依次放入pp所指一维数组中。
二维数组中的数已在主函数中赋予。
【参考代码】int i,j;for(j=0;j<N;j++){pp[j]=tt[0][j];for(i=1;i<M;i++)if(tt[i][j]<pp[j])pp[j]=tt[i][j];}功能:求一组数中大于平均值的数的个数。
【参考代码】int i,k=0;float s=0,ave;for(i=0;i<n;i++)s+=a[i];ave=s/n;printf("%f ",ave);for(i=0;i<n;i++)if(a[i]>ave)k++;return k;题目:分别统计字符串中字母、数字、空格和其他字符出现的次数(字符长度小于80)。
程序设计基础练习题(全部有答案版)
一、单项选择题(每小题2分,共20分)第一章D 1.下列说法中错误的是()。
A、程序的执行总是从主函数开始B、主函数可以调用任何非主函数的其它函数C、任何非主函数可以调用其它任何非主函数D、程序可以从任何非主函数开始执行C 2.若a=4,b=7,则输出4*7=28的语句是()。
A、printf(“a*b=%d\n”a+b);B、 printf(“a*b=%d\n”,a*b);C、printf(“%d*%d=%d\n”,a,b,a*b);D、 printf(“%d*%d=%d\n”,a+b);第三章C 1. C语言中int型数据占2个字节,则long型数据占(C )个字节。
A、1B、2C、4D、8D 2.若C中int型数据占2个字节,则double型数据占(D )个字节。
A、1B、2C、4D、8B 3.若a为整型变数,则以下语句(B )。
a=-2L;printf(“%d\n”,a);A、赋值不合法B、输出-2C、输出不确定值D、输出2D 4. 若int型数据占2个字节,则下列语句的输出为(D )。
int k=-1;printf(“%d,%u\n”,k,k);A、-1,-1B、-1,32767C、-1,32768D、-1,65535B 5. 下列程序的输出是(B )。
#include<stdio.h>main(){printf(“%d\n”,null);}A、0B、变量无定义C、-1D、1C 6.若x为float型变数,则以下语句:x=223.82748;printf("%6.2f\n",x);运行结果为(C )。
A、223.8B、223.82C、223.83D、223.827D 7. 设有语句int a=3;则执行语句a+=a-=a*a后,变量a 的值是(D )。
A、3B、0C、9D、-12第四章A 1. 执行语句:a=5,b=8;printf(“%d\n”,c=a/b); 后输出的值为(A )。
程序设计基础上机考试题库
程序设计基础上机考试题库第三章:1.输⼊整数n,输出由2×n+1⾏2×n+1列组成的以下(n=2)的图案。
2.输⼊整数n(<10),输出以下形式(n=3)的数字排列图案。
3.编写⼀个程序,输⼊⼀个整数,输出0~9各数字在该整数中出现的次数。
4.编写⼀个程序,输出所有英⽂字符及它们的ASCII码值,其中代码值分别⽤⼋进制形式、⼗六进制形式和⼗进制形式输出。
5.⽔仙花数是⼀个n(n>=3)位数字的数,它等于每个数字的n次幂之和。
例如,153是⼀个⽔仙花数,153=13+53+33。
试编写⼀个程序求⼩于999的所有⽔仙花数。
6.编写程序解百鸡问题:鸡翁⼀,值钱五;鸡母⼀,值钱三;鸡雏三,值钱⼀。
百钱买百鸡。
问鸡翁、鸡母和鸡雏各⼏何7.编写⼀个程序,输⼊⼀个整数,逐位地输出整数的⼗进制数,要求位与位之间有⼀个空格符分隔。
8.编写程序,列表输出整数1~10的平⽅和⽴⽅值。
9.编写⼀个程序,输⼊3个实数,判断这些值能否作为⼀个三⾓形的三条边的长,如果能构成三⾓形,要求输出三⾓形的⾯积。
10.输⼊正整数n,输出n⾏n列星号字符组成的三⾓形图案。
以下是n等于4的图案。
11.输⼊正整数n,输出由n⾏2×n-1列星号字符组成的三⾓形图案。
以下是n等于3的图案。
12.输⼊正整数你n,输出n⾏2×n-1列的空⼼三⾓形图案。
以下是n等于4的图案。
13..输⼊正整数n,输出n⾏n列的空⼼四边形图案。
以下是n等于5的图案。
14.编写程序,按下⾯的公式计算⾃然对数底e的值。
E=1+1/1!+1/2!+1/3!+1/5!+···15.编写程序,按如下公式计算圆周率π的近似值。
π=4-4/3+4/5-4/7+4/9-4/11+···16.编写输⼊正实数x,求平⽅不超过x的最⼤整数n,并输出。
17.回⽂整数是指正读和反读相同的整数,编写⼀个程序,输⼊⼀个整数,判断它是否是回⽂整数。
《C++程序设计基础》上机题库
后又再吃了一个。第2天早上又将剩下的桃子吃掉一半后又再吃 了一个。以后每天早上都吃了前一天剩下的一半另加一个。到 第10天早上想再吃时,就只剩一个桃子了,求第1天共摘了多少 个桃子。 8、 输出以下图案,要求使用循环体结构 & &*。 &**。。 &***。。。 &****。。。。 &***。。。 &**。。 &*。 & 9、 两个乒乓球队进行比赛,各出3人。甲队为A、B、C3人,乙 队为X、Y、Z3人。已抽签决定比赛名单。有人向队员打听比赛 名单,A说他不和X比,C说他不和X、Z比,请编程找出3对赛手 名单。 10、 编程求所有的3位素数,且该数是对称的。所谓对称是指 一个数,倒过来还是该数,例如,375不是对称,因为倒过来后 变成573。 11、 编程求解母牛问题。若一头母牛,从出生起第四个年头开 始每年生一头母牛,按这规律,第n年时有多少头母牛?n为用 户在运行时指定的数值。 12、 百钱买百鸡问题:雄鸡7元/只,母鸡5元/只,小鸡1元/3 只. 花100元钱,买100只鸡,如果雄鸡、母鸡和小鸡都必须 有,则雄鸡、母鸡和小鸡应各买几只?
输出)。 a= 3 b= 4 c= 5 x=1.200000,y=2.400000,z=-3.600000 x+y= 3.60 y+z=-1.20 z+x=-2.40 u= 51274 n= 128765 c1=’a’ or 97(ASCII) c2=’b’ or 98(ASCII)
29、 设圆半径r=1.5,圆柱高h=3,求圆周长,圆面积,圆球表面积,圆 球体积,圆柱体积。用scanf输入数据,输出计算结果;输出时要求有文 字说明,取小数点后2位数字,请编写程序。 30、 编程输出以下图形
程序设计基础考试
程序设计基础考试(答案见尾页)一、选择题1. 在程序设计中,什么是变量?A. 存储器中的一个存储单元B. 可变的数据段C. 一个存储单元D. 以上都不是2. 在程序设计中,什么是循环?A. 重复执行一段代码直到满足特定条件B. 一次性执行一系列操作C. 基于条件执行不同的操作D. 以上都不是3. 在程序设计中,什么是函数?A. 一组用于执行特定任务的代码块B. 一个独立的程序C. 一个计算式D. 以上都不是4. 在程序设计中,什么是数组?A. 一个存储一系列数字的列表B. 一个存储一系列字符的列表C. 一种数据结构,用于存储相同类型的元素集合D. 以上都不是5. 在程序设计中,什么是递归?A. 一个函数调用自身B. 一个循环结构C. 一个基于条件的重复过程D. 以上都不是6. 在程序设计中,什么是算法?A. 一系列解决问题的清晰指令B. 一组计算机能执行的指令C. 一个计算过程D. 以上都不是7. 在程序设计中,什么是变量命名?A. 给变量分配一个唯一的名称B. 为变量设置一个描述性的名字C. 为变量分配一个数值D. 以上都不是8. 在程序设计中,什么是参数?A. 函数或过程中接收的外部输入B. 函数或过程中使用的局部变量C. 函数或过程中的一个变量D. 以上都不是9. 在程序设计中,什么是控制结构?A. 程序中的顺序执行B. 程序中的选择执行C. 程序中的循环执行D. 程序中的条件执行10. 在程序设计中,什么是数据类型?A. 数据的类型B. 数据的格式C. 数据的存储方式D. 数据的可变性11. 在程序设计中,什么是变量?A. 存储数据的一个名称B. 控制程序流程的结构C. 用来表示特定数制下的一个数值D. 以上都是12. 下面哪个是C语言中的关键字?A. ifB. whileC. includeD. void13. 在C语言中,用于函数定义的关键字是?A. functionB. procedureC. funcD. def14. 程序中的基本结构不包括以下哪一项?A. 顺序结构B. 分支结构C. 循环结构D. 递归结构15. 在程序设计中,什么是循环?A. 重复执行一段代码直到满足特定条件B. 一次执行一系列操作C. 预先定义的一组指令D. 不执行任何操作16. 在程序设计中,什么是函数?A. 一段可重用的代码块B. 一个计算结果的过程C. 一个独立的代码单元D. 以上都是17. 在C语言中,什么是数组?A. 一组有序的数据元素B. 一个存储数据的结构C. 一个计算结果的过程D. 以上都是18. 什么是算法?A. 一系列解决问题的清晰指令B. 一系列解决问题的模糊指令C. 一系列无序的数据元素D. 以上都是19. 在程序设计中,什么是指针?A. 操作数组的一种方式B. 一个存储数据的位置C. 一个计算结果的过程D. 以上都是20. 什么是数据结构?A. 程序中的基本结构B. 一系列相互关联的数据元素C. 一种计算方法D. 以上都是21. 在程序设计中,什么是变量?A. 存储数据的一个符号名B. 控制程序流程的结构C. 用来表示特定数据结构的符号D. 以上都不是22. 在程序设计中,什么是循环?A. 重复执行一段代码直到满足特定条件B. 用来初始化变量值的过程C. 用来定义函数或过程的关键字D. 以上都不是23. 在程序设计中,什么是函数?A. 一组可以重复使用的代码块B. 用来计算数学表达式的值C. 用来控制程序流程的结构D. 以上都不是24. 在程序设计中,什么是数组?A. 一种数据结构,用于存储一系列相同类型的数据B. 用来表示文本数据的对象C. 用来描述具有不同属性的对象集合D. 以上都不是25. 在程序设计中,什么是指针?A. 用于存储和操作变量或数据结构的内存地址B. 用来表示字符串的数据类型C. 一种数据结构,用于存储一系列相同类型的数据D. 以上都不是26. 在程序设计中,什么是算法?A. 一系列解决问题的清晰指令B. 用于计算数学问题的公式C. 一种特定的编程风格或方法D. 以上都不是27. 在程序设计中,什么是条件语句?A. 根据特定条件执行不同操作的代码块B. 用于初始化变量值的过程C. 用来定义函数或过程的关键字D. 以上都不是28. 在程序设计中,什么是函数调用?A. 将程序的执行从一个函数切换到另一个函数B. 用于计算数学表达式的值C. 用来描述具有不同属性的对象集合D. 以上都不是29. 在程序设计中,什么是递归?A. 一种程序设计技术,其中一个函数调用自身以解决问题B. 用于初始化变量值的过程C. 用来定义函数或过程的关键字D. 以上都不是30. 在程序设计中,什么是参数?A. 函数或过程中接收输入值的变量B. 用于计算数学表达式的值C. 用来描述具有不同属性的对象集合D. 以上都不是31. 在程序设计中,什么是变量?A. 存储器的一种B. 表示值的符号名C. 用来存储数据的容器D. 以上都不是32. 在程序设计中,什么是循环?A. 重复执行一段代码直到满足特定条件B. 一次性的操作C. 用于处理数组或列表的特定方法D. 以上都不是33. 在程序设计中,什么是函数?A. 一组用于执行特定任务的代码块B. 一种输入输出操作C. 用于计算数学表达式的值D. 以上都不是34. 在程序设计中,什么是算法?A. 一系列解决问题的清晰指令B. 一种特定的编程语言C. 用于解决特定问题的步骤D. 以上都不是35. 在程序设计中,什么是数据类型?A. 确定数据长度的特性B. 数据的唯一性C. 数据的取值范围D. 以上都不是36. 在程序设计中,什么是变量命名规则?A. 只能包含字母和数字B. 必须以字母或下划线开头C. 必须唯一D. 长度没有限制37. 在程序设计中,什么是数组?A. 一种数据结构,用于存储相同类型的元素集合B. 一种输入输出操作C. 用于表示具有不同属性的数据集合D. 以上都不是38. 在程序设计中,什么是指针?A. 操作数组的一种方式B. 保存和操作变量或数据结构的内存地址C. 一种特定的编程语言D. 以上都不是39. 在程序设计中,什么是递归?A. 一种解决问题的方法,通过调用自身来解决问题B. 一种特定的编程语言C. 用于处理数组或列表的特定方法D. 以上都不是40. 在程序设计中,什么是异常处理?A. 一种错误处理机制B. 一种特定的编程语言C. 用于解决特定问题的步骤D. 以上都不是二、问答题1. 什么是编程语言中的变量?请举例说明。
程序设计基础试题(附答案)
程序设计基础试题(附答案)程序设计基础复习题一、单选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、树型结构的主要特征是结点之间存在着一种层次的关系,数据元素之间的关系是()的关系。
程序设计基础(C语言)上机考试题 第一套
程序设计基础(C语言)上机考试题(第一套A卷)2006~2007学年春学期2007年5月应试人声明:我保证遵守《上海大学学生手册》中的《上海大学考场规则》,如有考试违纪、作弊行为,愿意接受《上海大学学生考试违纪、作弊行为界定及处分规定》的纪律处分。
应试人学号:姓名:学院/教师:考生须知:1.答题前必须先进行“登录”,做法是:在Windows2000下,双击D:\CTest文件夹中的“C上机考登录”图标(快捷方式),进入“程序设计基础(C)上机考试考生登录”框,正确键入学号和密码,单击“输入确定”按钮,框内将显示姓名、学院、教师、考场、机号、试题套号和卷类等信息,单击“确认”按钮(如遇换机,可先单击“换机器”按钮,键入所换的机号和考场),屏幕出现“登录成功”提示框,仔细阅读提示后单击“确定”按钮,即完成登录。
登录成功,会在你E:盘中形成一个用于存放答题源程序文件的E:\CPanswer文件夹,其中已有一个存放你登录信息的名为StInfo.DAT的文件。
2.答题源程序必须存入E:\CPanswer文件夹中。
源程序文件主名必须为:套号-卷类-题号。
如:1-A-3是第一套A卷第3题的源程序。
3.必须严格按题目要求的输入、输出格式来输入、输出。
4. 除非题目中另有要求,假定输入的数据总是正确的。
5.阅卷时以试题要求和程序的运行结果为准。
6. 要遵守考场纪律,有问题请告知监考老师帮助解决。
7.完成答题后,可检查答题源程序文件的个数、存放位置(即E:\CPanswer文件夹中)以及文件名是否正确,方法是:双击D:\CTest文件夹中的“C上机考检查”图标(快捷方式),屏幕会显示“应有和现有文件”以及“缺少文件”的信息。
8.考试结束,应将试卷交监考老师。
机考试题:第1题(7分,源程序文件1-A-1.C )从键盘输入某地某年12个月的降雨量,然后计算每月的降雨量在年降雨量中所占的百分比(四舍五入为整数,且不会超过全年的70%),再以下面例图所示的直方图形式打印出来,其中:第一部分为月份,占2列;第二部分为百分比,占5列;第三部分从第9列开始,为用#号图示比例,1个#号为1%。
电信程序设计基础上机考试题目和参考答案
15电信程序设计基础第2次上机考试题目本次考试0~6题共7题(总分120.3分)注意:0~5题打开相关源程序后,只能在//********与//=======之间编写程序,若修改其它部分可能得0分,第6题matrixSort.cpp源程序要自己建立。
0.测试环境(本题0.3分)(sum.cpp)【题目描述】输入两个整数a,b,编写程序输出a+b的结果。
【输入】输入文件sum.in包含1行数据,该行上有2个用空格隔开的整数。
【输出】输出文件sum.out包含1个整数,为上述两个整数之和。
-32768/2<= 输入的两个整数<= 32767/2如果得0.3分表示环境正常,可以开始考试。
1.排序(本题20分)(sort.cpp)【题目描述】输入n个字符串(长度小于20)存入二维数组c中,编写程序对其进行排序(由小到大)并按次序输出。
打开sort.cpp文件,完成程序的编写。
【输入】输入文件sort.in有n+1行,第1行有1整数表示字符串数n;后面有n行数据,每行有1个字符串。
【输出】输出文件sort.out有n行,每行包含有1个字符串。
1≤n≤19。
Python编程仅供参考:"""Created on Mon Aug 12 17:22:53 2019输入n个字符串(长度小于20)存入二维数组c中,编写程序对其进行排序(由小到大)并按次序输出。
打开sort.cpp文件,完成程序的编写。
@author: Qian"""n = int(input('请输入即将输入的字符串个数\n')) if n >= 20:print("请再次输入n使其满足1≤n≤19")n = int(input())str_list = []for i in range(n):print('请输入第%d 字符串\n'%(i+1))str_list.append(input())str_new = []print("排序前")print(str_list)for i in range(n-1):for j in range(i+1,n):if(str_list[j] < str_list[i]):temp_str = str_list[i]str_list[i] = str_list[j]str_list[j] = temp_strprint("排序后")print(str_list) #好处:可以不管长度限制2.矩阵计算(本题20分)(matrix.cpp)【题目描述】有一个5行5列的矩阵(即二维数组b),要求以主对角线为对称线,将对称元素相加并将结果存放在下三角元素中,右上三角元素置为0。
程序设计基础考试试题
程序设计基础考试试题一、选择题(每题2分,共20分)1. 在C语言中,一个整数变量可以存储的最大值是:A. 65535B. 2147483647C. 4294967295D. 无上限2. 下列哪个关键字用于定义一个类?A. structB. classC. unionD. enum3. 在Java中,用于实现多态性的机制是:A. 继承B. 封装C. 抽象D. 接口4. 下列哪项不是Python语言的特点?A. 动态类型B. 垃圾自动回收C. 编译执行D. 可扩展性5. 在C++中,下列哪个操作符用于重载运算符?A. newB. deleteC. operatorD. overload6. 数据结构中的栈(Stack)是遵循什么原则的线性数据结构?A. 先进先出(FIFO)B. 先进后出(LIFO)C. 后进先出(LILO)D. 后进后出(LILO)7. 在数据库设计中,下列哪一项是指实体之间的联系?A. 实体B. 属性C. 关系D. 主键8. 在HTML中,用于定义最重要的标题的标签是:A. <h1>B. <h6>C. <title>D. <header>9. 在面向对象编程中,封装的主要目的是:A. 隐藏数据B. 提高性能C. 减少内存使用D. 增加代码量10. 下列哪个算法是用于排序的算法?A. 快速排序B. 深度优先搜索C. 广度优先搜索D. 动态规划二、填空题(每题2分,共20分)11. 在C语言中,表示逻辑真的值是________。
12. Java中的异常处理是通过________关键字实现的。
13. 在Python中,使用________函数可以将字符串转换为列表。
14. C++中的构造函数用于________,析构函数用于________。
15. 数据库管理系统(DBMS)的核心功能是________。
16. 在HTML中,用于创建超链接的标签是________。
程序设计基础试卷与答案
程序设计基础一、单选题〔每题2分,共60分〕1. 以下对C语言函数的描述中,正确的是〔〕.A. C程序必须由一个或一个以上的函数组成B. C函数既可以嵌套定义又可以递归调用C. 函数必须有返回值,否则不能使用函数D. C程序中有调用关系的所有函数必须放在同一个程序文件中2. 在C语言中,char型数据在内存中的存储形式是〔〕.A. 补码B. 反码C. 原码D. ASCII码3. 以下叙述中不正确的是〔〕.A. 一个好的程序应该有详尽的注释B. 在C程序中,赋值运算符的优先级最低C. 在C程序中,j++;是一条赋值语句D. C程序中的#include和#define均不是C语句4. 应用缓冲文件系统对文件进行读写操作,关闭文件的函数名为〔〕.A. fclose<>B. close<>C. fread<>D. fwrite5. 设C语言中,int类型数据占2个字节,则short类型数据占〔〕.A. 1个字节B. 2个字节C. 4个字节D. 8个字节6. 已知函数的调用形式fread<buffer,size,count,fp>;其中buffer代表的是〔〕.A. 一个整数,代表要读入的数据项总数B. 一个文件指针,指向要读的文件C. 一个指针,指向要读入数据的存放地址D. 一个存储区,存放要读的数据项7. 在C语言中,形参的缺省存储类是〔〕.A. autoB. registerC. staticD. extern8. 以下标识符中,不能作为合法的C用户定义标识符的是〔〕.A. putcharB. _doubleC. _123D. INT9. 在C语言中,能代表逻辑值"真〞的是〔〕.A. TrueB. 大于0的数C. 非0整D. 非0的数10. 已知x=43,ch='A',y=0;则表达式<x>=y&&ch<'B'&&!y>的值是〔〕.A. 0B. 语法错C. 1D. "假"11. 函数rewind的作用是〔〕.A. 使位置指针重新返回文件的开头B. 将位置指针指向文件中所要求的特定位置C. 使位置指针指向文件的末尾D. 使位置指针自动移至下一个字符位置12. 以下正确的说法是:在C语言中〔〕.A. 实参和与其对应的形参各占用独立的存储单元B. 实参和与其对应的形参共占用一个存储单元C. 只有当实参和与其对应的形参同名时才共占用存储单元D. 形参是虚拟的,不占用存储单元13. 对以下说明语句int a[10]={6,7,8,9,10};的正确理解是〔〕.A. 将5个初值依次赋给a[1]至a[5]B. 将5个初值依次赋给a[0]至a[4]C. 将5个初值依次赋给a[6]至a[10]D. 因为数组长度与初值的个数不相同,所以此语句不正确14. C语言中要求对变量作强制定义的主要理由是〔〕.A. 便于移植B. 便于写文件C. 便于编辑预处理程序的处理D. 便于确定类型和分配空间15. 若有说明int a[3][4];则a数组元素的非法引用是〔〕.A. a[0][2*1]B. a[1][3]C. a[4-2][0]D. a[0][4]16. 以下只有在使用时才为该类型变量分配内存的存储类说明是〔〕.A. auto和staticB. auto和registerC. register和staticD. extern和register17. int a=1,b=2,c=3;if<a>b>a=b;if<a>c>a=c;则a的值为〔〕.A. 1B. 2C. 3D. 不一定18. 下列程序的输出结果是〔〕.main<>{char c1=97,c2=98;printf<"%d%c",c1,c2>;}A. 9798B. 97bC. a98D. ab19. char a[]="Thisisaprogram.";输出前5个字符的语句是〔〕.A. printf<"%.5s",a>;B. puts<a>;C. printf<"%s",a>;D. a[5*2]=0;puts<a>;20. 以下运算符中,优先级最高的运算符是〔〕.A. ||B. %C. !D. ==21. 以下的选择中,正确的赋值语句是〔〕.A. a=1,b=2B. j++C. a=b=5;D. y=int<x>22. 若有inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则输出结果不为5的语句为〔〕.A. printf<"%d",*<a+5>>;B. printf<"%d",p[5]>;C. printf<"%d",*<p+5>>;D. printf<"%d",*p[5]>;23. 以下叙述中正确的是〔〕.A. 在程序的一行上可以出现多个有效的预处理命令行B. 使用带参的宏时,参数的类型应与宏定义时的一致C. 宏替换不占用运行时间,只占编译时间D. 在以下定义中CR是称为"宏名"的标识符#defineCR04524. C语言中,要求运算数必须是整型的运算符是〔〕.A. ^B. %C. !D. >25. 若有int *p=<int *>malloc<sizeof<int>>;则向内存申请到内存空间存入整数123的语句为〔〕.A. scanf<"%d",p>;B. scanf<"%d",&p>;C. scanf<"%d",*p>;D. scanf<"%d",**p>;26. 结构体类型的定义允许嵌套是指〔〕.A. 成员是已经或正在定义的结构体型B. 成员可以重名C. 结构体型可以派生D. 定义多个结构体型27. 逻辑运算符两侧运算对象的数据类型〔〕.A. 只能是0或1B. 只能是0或非0正数C. 只能是整型或字符型数据D. 可以是任何类型的数据28. 以下运算符中,优先级最高的运算符是〔〕.A. =B. !=C. *<乘号>D. <>29. 关于建立函数的目的,以下正确的说法是〔〕.A. 提高程序的执行效率B. 提高程序的可读性C. 减少程序的篇幅D. 减少程序文件所占内存30.下列程序的输出结果是〔〕.main<>{int x=1,y=0,a=0,b=0;switch<x>{case1.switch<y>{case0.a++;break;case1.b++;break;}case2.a++;b++;br eak;case3.a++;b++;break;}printf<"a=%d,b=%d\n",a,b> ;}A.a=1,b=2B. a=2,b=1C. a=1,b=1D. a=2,b=2二、多选题〔每题2分,共20分〕1. 设有以下定义int a=0;double b=1.25;cha rc='A';#defined2则下面语句中正确的是〔〕.A. a++;B. b++;C. c++;D. d++;2. 若a,b,c,d都是int型变量且初值为0,以下选项中正确的赋值语句是〔〕.A. a=b=c=d=100;B. d++;C. c+b;D. d=<c=22>-<b++>;3. C语言中三种基本的类型为〔〕.A. intB. charC. floatD. struct4. 关于while语句与do-while语句,以下正确的是〔〕.A. while是当型结构B. do-while是直到型结构C. 两者有区别D. 两者无区别5. 以下选项中不合法的字符常量是〔〕.A. "B"B. '\010'C. 68D. D6. t为int类型,进入下面的循环之前,t的值为0do{………}while<t==1>;则以下叙述中正确的是〔〕A. 循环控制表达式的值为0B. 循环控制表达式的值为1C. 循环控制表达式合法D. 以上说法都不对7. 关于for<表达式1,表达式2,表达式3>循环,以下正确的是〔〕.A. 三个表达式都不可省略B. 表达式1可以省略C. 表达式2可以省略D. 表达式3可以省略8. 下面那些为合法整型常量〔〕A. 190B. 0xfC. 0765D. 0xk9. 下列为c语言的关键字是〔〕A. ifB. structC. unionD. Int10. 以下不正确的叙述是< >A. 在C程序中,每行只能写一条语句B. 若a是实型变量,C程序中允许赋值A=10,因此实型变量中允许存放整型C. 在C程序中,无论是整数还是实数,都能被准确无误地表示D. 在C程序中,%是只能用于整数运算的运算符三、判断题〔每题2分,共10分〕1. 若a=2,b=-4;则执行a||b++后,b为-4.< >A. 错误B. 正确2. 格式字符%md中的m只能为正,不能为负.< >A. 错误B. 正确3. 有unsigned int a=16;a=a<<2;则a的值是64.< >A. 错误B. 正确4. 自增自减运算符++,--可以用于int型、float型和double型资料.< >A. 错误B. 正确5. continue语句可用于switch语句,也可用于for、while和do循环语句中.< >A. 错误B. 正确6. 在某种意义上,char和int通用.< >A. 错误B. 正确7. C语言可以直接访问物理位元元址.〔〕A. 错误B. 正确8. 一个C源程序可以由一个main<>函数和若干个其它函数组成.< >A. 错误B. 正确9. 若定义char str[];则str="yellow";是正确的.< >A. 错误B. 正确10. 若有int x,y,z; x=y=z=1;则执行++x&&++y&&++z后,x,y,z的值分别为2,1,1.< >A. 错误B. 正确程序设计基础参考答案一、答案选题1-5ADBAB 6-10CAADC 11-15AABDD 16-20BABAC 21-25CDCBA 26-30ADDBB二、多选题1.ABC2.ABD3.ABC4.ABC5.ACD6.AC7.BCD8.ABC9.ABC 10.ABC三、判断题1.B2.B3.B4.B5.A6.B7.B8.B9.A 10.A。
《C++程序设计基础》上机题库
《C++程序设计基础》上机题库《C++程序设计基础》上机题库说明:本上机题库按内容分为四部分,即程序设计初步、函数、数组、指针,其中每⼀部分⼜根据难度不同分为A、B、C三类。
第⼀部分程序设计初步⼀、A类程序设计题1、将⽤户输⼊的字母⾃动转换为⼤写字母后输出,假定⽤户输⼊的字符均是字母。
2、判断⽤户所输⼊的整数是否为偶数3、编程实现并输出两个数的⼤⼩判断,将⼤数输出4、编程实现并输出两个数的和值5、将括号中的字符串分别按每⾏⼀个单词的⽅式分⾏显⽰。
(This is a C++program)6、编程计算并输出字符、⽆符号整数与长整型数值在内存中所占字节数7、定义三个变量,由⽤户指定其值,并将值输出显⽰给⽤户8、定义三个变量,并完成初始化后输出显⽰给⽤户9、完成9除3后的求余操作并输出结果10、编程计算表达式a×b÷c⼀1.5+‘a’11、将China译成密码,密码规律是:⽤原字母后⾯第四个字母代替原来的字母,例如,字母A后⾯第四个字母是E,⽤E代替A。
因此China应译为Glmre。
请编写⼀程序,⽤赋初值⽅法使c1,c2,c3,c4,c5这5个变量值分别为C、h、i、n、a,经过去处,使c1,c2,c3,c4,c5分别为为G、l、m、r、e12、将⼀个⽤户输⼊的整数分别以⼗六进制、⼋进制、⼗进制⽅式、科学计数法输出。
13、求矩形⾯积,长、宽值由⽤户指定14、运输公司对⽤户计算运费。
路程(s)越远,每公⾥运费越低。
标准如下:s<250km 没有折扣250≤s<500 2%折扣500≤s<1000 5%折扣1000≤s<2000 8%折扣2000≤s<3000 10%折扣3000≤s 15%折扣设每公⾥每吨货物的基本运费为p(price的缩写),货物重为w(wright的缩写),距离为s,折扣为d(discount的缩写),则总运费f(freight的缩写)的计算公式为:f = p * w * s * (1 - d)要求采⽤if语句嵌套完成。
程序设计基础(C语言)上机考试题
程序设计基础(C 语言)上机考试题 第一套2003~2004学年春学期 2004年5月注意: 1. 请先双击Windows98桌面上的“C 上机考登录”图标,进入“程序设计基础(C语言)上机考试考生登录”框,正确输入或选择你的学号、姓名、学院、教师、考场、试题套号、机号和卷类等。
登录成功,在你考盘中会形成一个文件夹,文件夹名是你的学号。
2. 座机号末位是双数,考A 卷;座机号末位是单数,考B 卷。
3. 源程序必须存入考盘上以你学号命名的文件夹中。
源程序文件主名必须为:套号-卷类-题号。
如:1-B -3是第一套B 卷第3题的源程序。
4. 必须严格按题目要求的输出格式来输出。
5. 阅卷时以程序的运行结果为准。
A 卷1.求s=a+aa+aaa+…+aaa…a 值,并输出。
其中a 是一个数字(1~9),项数(同时也是末项数字a 的个数)由n 给出,例如:2+22+222+2222+22222,此时a 为2、n 为5。
a 和n (不大于8)从键盘输入。
2.从键盘输入一个字符串(不多于80个字符),将其中的数字字符按原顺序组成一个新字符串,将其中的英文字母都用大写按原顺序组成另一个新字符串,再输出这两个新字符串,每个一行。
如原串中没有数字字符或没有英文字母,也要报告“There are not digits.”或“There are not letters.”。
如输入:as78As#a832h ,则输出:ASASAH 和78832。
3.打印用*号构成的一个菱形的图案。
从键盘输入一个正整数,若该数为偶数,则为该菱形的上三角的行数,若该数为奇数,则为该菱形的总行数。
如输入:“4”或“9”的图形分别如右图所示。
B 卷1.从键盘输入一字符串存入字符数组ch (不多于80个字符)中,且其中一定包含有两个字符‘g ’,将被字符‘g ’分割的三段分别存入字符数组a ,b ,c 中(不包含字符g )后输出。
如输入:asd3gkj2er2gewo ,则生成的字符数组a ,b 和c 分别为:asd3、kj2er2和ewo 。
工业学院计算机上机考试《程序设计基础考试试卷测试二》(大学专业试卷)
xx 工业学院2021学年第1 学期考试试卷考试科目:《程序设计基础》测试二考试时间:90 分钟考试方式:上机适用班级:________________________________________________- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -试题一. 单选题(共63 分)1. 一个C 语言程序总是从(B )开始执行(1 分)A. 主过程B. main 函数C. 子程序D. 主程序2. 下列关于C 语言的叙述错误的是(A)(1 分)A. 大写字母和小写字母的意义相同B. 不同类型的变量可以在一个表达式中C. 在赋值表达式中等号“=”左边的变量和右边的值可以是不同类型D. 同一个运算符号在不同的场合可以有不同的含义3. 在C 语言的语法中,逻辑运算符的优先级从高到低的排列顺序为(D )(1 分)A. && -> || -> !B. || -> && -> !C. && -> ! -> ||D. ! -> && -> ||4. 在一个C 语言程序中( B )(1 分)A. main 函数必须出现在所有函数之前B. main 函数可以在任何地方出现C. main 函数必须出现在所有函数之后D. main 函数必须出现在固定的位置5. 下列有关C 语言用户标识符的叙述正确的是(B )(1 分)A. 用户标识符中可以出现下划线和横线(减号)B. 用户标识符中可以出现数字,但不可以放在用户标识符的前面C. 用户标识符中可以出现下划线,但不能放在用户标识符的前面D. 用户标识符中可以出现数字和下划线,它们都可以放在用户标识符的开头。
6. 以下不能用来定义用户标识符的是(D )(1 分)A. MainB. _0C. _intD. sizeof7. 一个C 程序开始执行的起点的( C )(1 分)A. 程序中的第一个语句B. 包含文件(头文件)的第一个函数C. 名为main 的函数D. 程序中的第一个函数8. 下列选项中,哪一个是C 语言中合法的常量(A )(1 分)A. "ABCdef"B. xy1C. 4.35eD. 3/89. 下列字符序列中,可用作C 语言标识符的是(D )(1 分)A. n.8B. x,yC. m>=nD. t_510. 若变量已正确定义并赋值,下列表达式中不符合C 语言语法的是(B )(1 分)A. a * b / cB. 3.14 % 2C. bD. a/b/c11. C 语言中,字符串"xy\n\108\\\n" 的长度是( B )(1 分)A. 6B. 7C. 12D. 1312. 以下能正确定义整型变量x, y, z 并为它们赋初值为5 的语句是( C )(1 分)A. int x=y=z=5;B. int x, y, z = 5;C. int x=5, y=5, z=5;D. x=5, y=5, z=5;13. 已知ch 是字符型变量,则不正确的赋值语句是( D )(1 分)A. ch = 5 + 9;B. ch = '\0';C. ch = '7' + '9';D. ch = 'a + b';14. 设x, y 是float 型变量,则不正确的赋值语句是( B )(1 分)A. ++x;B. y=int 5;C. x*=y+1;D. x=y=0;15. 若a 为int 类型变量,则执行以下程序段后a 的值为(C )(1 分)a = 5;a *= a;A. 2B. 1C. 25D. 316. 若a 和b 均为int 型变量,则执行以下程序段后x 的输出是(A )(1 分)x = 15; y = 15;printf("%d\n", x %= (y %= 2));A. 0B. 1C. 6D. 1217. 逻辑运算符两侧运算对象的数据( D )(1 分)A. 只能是0 或1B. 只能是0 或非0 正数C. 只能是整数和字符型数据D. 可以是任何类型的数据18. 判断char 型变量c1 是否为大写字母的正确表达式是( C )(1 分)A. 'A' <= c1 <= 'Z'B. (c1 >= 'A') & (c1 <= 'Z')C. (c1 >= 'A') && (c1 <= 'Z')D. ('A' <= c1) AND ('Z' >= c1)19. 判断char 型变量ch 是否是数字字符的表达式是(1 分)AA. ch >= '0' && ch <= '9'B. ch >= '0' || ch <= '9'C. ch >= 0 && ch <= 9D. ch >= 0 || ch <= 920. 设有int 型变量i, j, k,其当前值分别为i=3,j=4,k=5,则以下表达式中,值为0 的是(B )(1 分)A. i * j / kB. i / j * kC. i || j + k && j-kD. (i < j) && !k || 121. 设有int 型变量i, j, k,其当前值分别为i=3,j=4,k=5,则以下表达式中,值为1 的是(A )(1 分)A. i < j < kB. j = (k - i) * 2C. k > j > iD. i == j < k22. 已知:int x = 10; 执行语句x -= x + x; 最终x 的值是( B )(1 分)A. 10B. -10C. 20D. -2023. 请选出以下各组标识符中不含C 语言关键字的一组(A )。
《程序设计基础》题库(50道)
《程序设计基础》题库(50道)<说明>1、难易程度依次为:易(16道)、较易(38道)、较难(31道)、难(15道)。
2、总共抽8道题,按难易程度:易(1道)、较易(4道)、较难(2道)、难(1道);按题型:顺序(1道)、分支(2道)、单循环(2道)、多循环(1道)、数组(1道)、字符串(1道) 3、考试要求:先画流程图再写程序,理论考试,2个半小时一、顺序结构1、 请定义4个整型变量,并打印输出这4个变量的加、减、乘、除后的结果。
(易)2、 将华氏温度转化成摄氏温度。
公式为:C=(5/9)*(F-32),其中F 为华氏温度,C 为摄氏温度。
请根据给定的华氏温度输出对应的摄氏温度。
(易)3、 根据观察,蟋蟀的名叫频率与温度有关,具体的公式为T=(c+40)/10.其中,c 代表蟋蟀每分钟鸣叫数,T 代表华氏温度。
请根据蟋蟀每分钟的鸣叫数输出相应的华氏温度。
(易)4、 编写程序,读入0~1000的一个整数并将其各位数字之和赋给一个整数,如整数932,各位数字之和为14. (较易)5、 编程实现两个整数交换位置,例如:int x = 6,y = 9,交换后 x = 9,y = 6。
(较易)6、 求空间两点之间的距离。
(提示:空间一点(x,y,z ),可由三个实数来描述)(较易)7、 已知圆的半径,求圆的面积。
(易)8、 已知一个三角形的三边边长分别为a,b,c ,利用海伦公式求三角形的面积。
(较难)海伦公式:9、 求两数平方和的算术根。
(易) 10、 给定一段时间求出它的秒数。
(如计算2小时 17分30秒等于多少秒)(易)11、 某印刷厂3月1日有A4纸500盒,3月2日又买进进100盒,3月3日用掉A4纸存量的三分之二,3月4日又买进A4纸存量的2倍,问该印刷厂3月1日到3月4日期间每天的A4纸存量分别是多少盒?(易)12、 三个小朋友,大毛有糖果50粒,二毛有糖果43粒,三毛有糖果13粒。
《程序设计基础》试卷(机试)
班级: 学号: 姓名: 机器号:
《程序设计基础》期中试卷(c语言机试试题)
(本试卷共2道大题,总分60分,考试时间60分钟)
一、调试题(20分,每小题10分)
注意:直接在给出的源码debug1.c和debug2.c上修改调试程序
1.debug1.c 问题描述:
改正程序中的错误,使程序完成以下功能:从键盘输入1个正整数,判断它是
否是素数,若是则显示“yes”,否则显示“no”。
2.debug2.c 问题描述:
改正程序中的错误,使程序完成以下功能:随机产生1个1~9之间的整数存储
起来(包括1和9),用户猜测此数并从键盘上输入,若猜对了则显示“very
good!!”;若用户输入的数大于随机数,则显示“big,try again!!”,允许用户
再猜;若用户输入的数小于随机数,则显示“small,try again!!”,允许用户
再猜。
但最多允许用户猜三次,若三次都没猜对,则显示“sorry!!”。
二、编程题(40分,每小题20分)
注意:直接在给出的源码test1.c和test2.c上写程序,
并请在编程前运行可执行程序看程序效果。
1.test1.c 问题描述:
循环查询输入的年份是否是闰年,直到输入为0则结束。
闰年的条件是:可以
被4整除且不可以被100整除,或者可以被400整除。
2.test2.c 问题描述:
输入10个数,分别统计输出正数、负数和0的个数,以及10个数的最小值。
注意:请将所有应用程序关闭,然后将“调试题和编程题素材”更名为真实的“学号+姓名”,然后压缩上传
计算机基础教学部。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三章:
1.输入整数n,输出由2×n+1行2×n+1列组成的以下(n=2)的图案。
2.输入整数n(<10),输出以下形式(n=3)的数字排列图案。
3.编写一个程序,输入一个整数,输出0~9各数字在该整数中出现的次数。
4.编写一个程序,输出所有英文字符及它们的ASCII码值,其中代码值分别用八进制形式、十六进制形式和十进制形式输出。
5.水仙花数是一个n(n>=3)位数字的数,它等于每个数字的n次幂之和。
例如,153是一个水333。
试编写一个程序求小于999的所有水仙花数。
仙花数,153=1+5 +3
6. 编写程序解百鸡问题:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。
百钱买百鸡。
问鸡翁、鸡母和鸡雏各几何
7.编写一个程序,输入一个整数,逐位地输出整数的十进制数,要求位与位之间有一个空格符分隔。
8.编写程序,列表输出整数1~10的平方和立方值。
9.编写一个程序,输入3个实数,判断这些值能否作为一个三角形的三条边的长,如果能构成三角形,要求输出三角形的面积。
的图案。
4等于n列星号字符组成的三角形图案。
以下是n行n,输出n输入正整数10.
11.输入正整数n,输出由n行2×n-1列星号字符组成的三角形图案。
以下是n 等于3的图案。
12.输入正整数你n,输出n行2×n-1列的空心三角形图案。
以下是n等于4的图案。
13..输入正整数n,输出n行n列的空心四边形图案。
以下是n等于5的图案。
14.编写程序,按下面的公式计算自然对数底e的值。
E=1+1/1!+1/2!+1/3!+1/5!+···
15.编写程序,按如下公式计算圆周率π的近似值。
π=4-4/3+4/5-4/7+4/9-4/11+···
16.编写输入正实数x,求平方不超过x的最大整数n,并输出。
回文整数是指正读和反读相同的整数,编写一个程序,输入一个整数,判断它是否是回文17.
整数。
17.编写一个程序,输出1~256十进制数等价的二进制、八进制和十六进制数值表。
18.草地上有一堆野果,有一只猴子每天去吃掉这堆野果的一半又一个,5天后刚好吃完这堆野果。
求这堆野果原来共有多少个猴子每天吃多少个野果
19.输入n(>2)个整数,输出其中的次最小的数。
第四章
1.在数组的某个下标位置插入一个元素。
2.将数组的某个下标位置的元素从数组中删掉。
3.在数组a[]的前n个元素中寻找值等于变量key值的元素的下标。
4.输入n个整数,用冒泡法将它们从小到大排序,然后输出。
5.用C代码描述以下计算要求:
(1)输出一组数组中下标是4的倍数的元素。
(2)自左至右在一维数组中找第一个值为key的元素的下标。
(3)将一维数组中的元素按与原先存储顺序相反的顺序重新存储。
6.输入一行字符,分别统计其中各英文字母出现的次数(不区分大小写)。
7.采用筛选法求质数。
算法思想简述如下:
(1)将数组中下标为0和1的元素设置为0,下标为2~N的元素设置为1.(2)然后从下标为2的元素开始考查,当发现当前位置的数组元素值为1时,将下标是当前下标2倍、3倍、······的那些元素全部置0。
(3)重复步骤(2),直至考查了数组的全部元素,那些值依旧为1的元素的下标都是质数。
8.编写将数组的前n个元素中,前端的m个元素和随后的n-m个元素互换的程序。
要求程序不另用其他工作数组,如a[]={1,2,3,4,5,6,7,8,9,0},设n=10,m=3。
交换后有:a[]={4,5,6,7,8,9,0,1,2,3}
9.设有编号为1~16个同学按顺时针站成一个圆圈。
首先从第1个人开始,按顺时针从1开始报数,报到第4个人的时候,另其出列。
然后再从出列的下一个人开始,按顺时针从1开始报数,报到第4个人,再令其出列,------如此下去,直到圆圈不再有人为止。
求这16个同学出列的顺序。
、输入今天的的年月日,求出是本年的第几天的程序。
10.
第五章
1.求一个整数的十进制位数。
2.判断一个十进制数是否为回文数。
3.递归计算x的y次方。
4.输入一个正整数,用递归实现该整数的倒序输出。
5.编写一个函数,已知参数n,在屏幕的中间显示一个用星号字符绘制的空心的三角形图案。
例如,n=4,函数的显示的图案为:
6.为低年级小学生编写一两个整数乘法的测验程序。
程序利用随机函数产生两个整数,并给出算式请小学生输入解答。
程序对正确的解答给予鼓励;对不正确的解答给出正确的答案。
另外,为了让程序更有实用性,输入整数的范围也可由用户指定,如一位数乘法、两位数乘法等。
使用随机函数的程序有以下要求:(1)在程序前面包含以下代码:
#include<>
#include<> /*有关时间库函数*/
(2)主函数先用以下代码为随机函数初始化:
Srand(time(NULL));
(3)用以下代码随机取1~9的整数k:
K=1+rand()%9;
为了提高小学生的学习兴趣,程序的回答也希望有所改变,如对正确的回答可以有多种选择,如“Very good!”、“Excellent!”、“Keep up the good work!”等。
同样,对于错误的响应也可以有多种选择,如“No, Please try again.”、“Wrong, Try once more.”、“No, Keep trying.”等。
利用随机函数选择一种回答。
7.如果一个整数(>1)的各因子(包括1,但不包括整数自身)之和等于该整数,称这样的整数位完全数。
例如,因为6=1+2+3,所以6是完全数。
编写一个已知整数判断其是否是完全之内的所有完全数。
1000数的函数,并用该函数输出
8.编写判断已知正整数是否是质数的函数,并利用该函数输出1000之内的所有质数。
9.试用递归函数,返回所给十进制整数相反顺序的整数,如已知1234,函数返回值是4321。
10.写出判断某年为闰年的宏定义。
11.写出从3个整数中找出最大数的宏。
12.编写一个数字转换函数,要求根据菜单选择输出相应的二进制、八进制、十六进制数。
13.有A1、A2、A3三根针,A3针上有10个大小不等的盘子,大的在下,小的在上,要求按以下规则,编写把这10个盘子从A3针搬到A1针上的程序,对给定的10个盘子,输出盘子搬动的过程。
搬盘子的规则:在搬运过程中可以使用A2针。
每次只允许搬动一个盘子。
在搬运的过程中,必须保证大盘始终在下,小盘始终在上。
第六章
1.字符串复制函数strcpy()。
2.两字符串比较函数strcmp()。
3.以下程序把一维数组p[]分割成不等长的段,从指针数组pt方向来看,把p[]
当做二维数组来处理。
编写程序,输出以下图形:
4.对给定的函数表,用函数指针作函数的形参实现求它的最大值,最小值和平均值。
5. 对给定的函数表,用函数指针数组实现求函数的最大值,最小值和平均值。
6.利用返回函数指针的函数实现求数组的最大值,最小值和平均值。
第七章
1.通过菜单选择,实现链表的多个操作(1在链表末尾添加新表元;2在指定表元之后插入新。
删除链表中指定表元)4显示链表中的所有表元;3表元;
2.编写一个函数,实现将已知单链表的表元连接顺序颠倒,即使单链表的第一个表元变为最末一个表元,第二个表元变为最后第二个表元,······,最后一个表元变为第一个表元。
第八章
1、编写从键盘输入41-50的10个整数序列,并按输入顺序输出到c盘根目录下以自己姓名命名的txt文件中。
(例)
2、将键盘输入3行相同的襄樊学院的英文翻译到d盘以自己学号后三位尾数命名的txt文件中,直至输入空行结束。
(例)
3、输入一篇英文短文,统计文件中的行数、单词数和字符数的程序。
(例)
4、从键盘输入通讯录信息并写到c盘“学生通讯录.txt”文件中,并将该文件的内容显示到屏幕上,通讯录中的信息有:本人姓名,寝室地址,电话号码长号、短号(如无请以000000。
代替).。