程序设计题
计算机程序设计员考试题与参考答案

计算机程序设计员考试题与参考答案一、单选题(共100题,每题1分,共100分)1、下列关于概要设计的基本原则,描述错误的是:( )。
A、应该遵循一些原则,包括:模块化、抽象B、应该遵循一些原则,包括:抽象、模块独立C、应该遵循一些原则,包括:抽象、继承D、应该遵循一些原则,包括:模块化、模块独立正确答案:C2、狭义地讲,测试是指:( )。
A、指软件产品生命周期内所有的检查、评审和确认活动B、对软件产品质量的检验和评价C、对软件产品功能的检查和评价D、对软件产品是否存在bug的检验正确答案:B3、下列不属于内存静态重定位的特点是( )。
A、在程序运行中无需再进行转换B、不需增加硬件地址变换机构C、内存利用率高D、地址变换在程序装入过程中一次完成正确答案:C4、( )描绘了系统的数据关系。
A、状态转化图B、程序流程图C、对话图D、实体关系图正确答案:D5、表A中的列B是标识列,属于自动增长数据类型,标识种子是2,标识递增量为3。
首先插入三行数据,然后再删除一行数据,再向表中增加数据行时,标识列将是()。
A、2B、8C、5D、11正确答案:D6、狭义地讲,测试是:( )。
A、对软件产品质量的检验和评价B、对软件产品功能的检查和评价C、对软件产品是否存在bug的检验D、指软件产品生命周期内所有的检查、评审和确认活动正确答案:A7、SQL中不一定能保证完整性约束彻底实现的是()A、主键约束B、检查子句C、局部约束D、外键约束正确答案:C8、在文件结构中,( )对用户是透明的。
A、物理的文件结构B、字节型文件结构C、字符型文件结构D、逻辑的文件结构正确答案:A9、所有的( )必须与业务需求一致。
A、系统需求B、产品需求C、功能需求D、用户需求正确答案:D10、在操作系统的管理下,在内存中划出若干个单元作为缓冲区,这种缓冲称为( )。
A、硬件缓冲B、多重缓冲C、单缓冲D、软件缓冲正确答案:D11、为查看产生特定诊断消息的代码语句,只要( )Output窗口中相关的诊断消息即可。
《C语言程序设计》练习题及答案

《C语言程序设计》练习题及答案1. 单选题1. 设有定义:int n=0,*p=&n,**q=&p,则下列选项中正确的赋值语句是A. p=1;B. *q=2;C. q=p;D. *p=5;正确答案:D2. 设有int x=11;则表达式(x++*1/3)的值是A. 3B. 4C. 11D. 12正确答案:A3. 下面程序的输出结果是main(){ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf("%d\n",*(p+2));}A. 3B. 4C. 1D. 2正确答案:A4. sizeof(float)是A. 一个双精度型表达式B. 一个整型表达式C. 一种函数调用D. 一个不合法的表达式正确答案:B5. 在16位C编译系统上,若定义long a;,则能给a赋40000的正确语句是A. a=20000+20000;B. a=4000*10;C. a=30000+10000;D. a=4000L*10L正确答案:D6. 请选出以下语句的输出结果printf("%d\n",strlen("\t\"\065\xff\n"));A. 5B. 14C. 8D. 输出项不合法,无正常输出正确答案:A7. 若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为A. 4B. 16C. 32D. 52正确答案:C8. 下面能正确进行字符串赋值操作的是A. char s[5]={"ABCDE"};B. char s[5]={ ′A′, ′B′, ′C′, ′D′, ′E′};C. char *s;s="ABCDE";D. char *s;char a; scanf("%s",&s);正确答案:C9.以下程序的输出结果是#include "stdio.h"void reverse(int a[],int n){int i,t;for(i=0;i<n/2;i++){t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}}main(){int b[10]={1,2,3,4,5,6,7,8,9,10};int i,s=0;reverse(b,8);for(i=6;i<10;i++) s+=b[i];printf("%d\n",s);}A. 22B. 10C. 34D. 30正确答案:A10. 以下不正确的叙述是A. 在C程序中,逗号运算符的优先级最低B. 在C程序中,APH和aph是两个不同的变量C. 若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变D. 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值正确答案:D2. 多选题11. 以下______是正确的转义字符。
(完整版)C语言程序设计练习题(含程序及参考答案)

(完整版)C语⾔程序设计练习题(含程序及参考答案)C语⾔练习题(所提供的源程序均采⽤⾃定义函数⽅式解决,如不采⽤函数⽅式,也可直接在main函数中借鉴该思想编程,因时间有限,所有程序未能⼀⼀验证,仅供参考使⽤)1、定义⼀个函数int fun(int a,int b,int c),它的功能是:若a,b,c能构成等边三⾓形函数返回3,若能构成等腰三⾓形函数返回2,若能构成⼀般三⾓形函数返回1,若不能构成三⾓形函数返回0。
#includeint fun(int a,int b,int c){if(a+b>c && b+c>a && a+c>b){if(a==b && b==c )return 3;else if(a==b||b==c||a==c)return 2;else return 1;}else return 0;}void main(){int a,b,c,shape;printf("\nInput a,b,c: ");scanf("%d%d%d",&a,&b,&c);printf("\na=%d, b=%d, c=%d\n",a,b,c);shape =fun(a,b,c);printf("\n\nThe shape : %d\n",shape);}2、编写⼀个程序,将两个变量的值交换, 例如变量a中的值原为 3,b中的值原为8,程序运⾏后 a 中的值为8,b中的值为3。
#includevoid fun(int *x,int *y){int t;t=*x;*x=*y;*y=t}void main(){int a=3,b=8;printf("%d %d\n",a,b);fun(&a,b);printf("%d %d\n",a,b);}3、从键盘输⼊3个数,将最⼤值放在变量a中,最⼩值放在变量c中。
程序设计题目

001题目:根据下式计算s的值(要求使用循环实现):s=1+1/2+1/3+1/4+......直到某项数值小于为止。
说明:结果保留两位小数。
输出结果的形式为:s=2.45002题目:学校组织活动需要用200元买100个气球。
红色的小号气球1元2个,蓝色的中号气球2元1个,橙色的大号气球5元1个,要求三种颜色的气球都要有。
编程统计有多少种买法(要求使用循环实现)。
输出结果的形式为:count=123003题目:根据下式求s的值(要求使用循环实现):s=1+2/(1+2)+3/(1+2+3)+4/(1+2+3+4)+…+20/(1+2+3+…+2 0)说明:结果保留五位小数。
输出结果的形式为:s=1.23456004题目:某钓鱼队连续组织钓鱼14天,第1、2天分别钓了7、9条鱼,随着队员陆续加入钓鱼数在不断增加。
从第3天开始每天的钓鱼数都是前2天的和减去7。
编程计算总钓鱼数(要求用循环语句实现)。
输出结果的形式为:s=23456005题目:根据下式求s的值(要求使用循环实现):s=1+1×2+1×2×3+…+1×2×3×…×10输出结果的形式为:s=1234567006题目:某新建的网站连续20天开通会员注册,第1、2天分别注册了12、34人,从第3天开始每天注册的人数都是前2天之和减去25。
编程计算总注册人数(要求用循环语句实现)。
输出结果的形式为:s=23456007题目:根据下式求s的值(要求使用循环实现):s=1+12+123+1234+…+123456789输出结果的形式为:s=123456789008题目:查找并统计字符串中前一个字符是小写字母的字符个数(要求使用循环实现)。
例如:字符串"GooD LuCk!"中符合条件的字符有4个,分别是:o、D、C、!。
输出结果的形式为:count=123009题目:计算1+2+3+…+n>2017的最小项n。
程序设计题目集

sum=sum+s[i].score; } average=sum/n; printf("%.2f\n", average); } 23.c程序填空。建立一个通讯录的结构记录,包括姓名、生日、电话号 码。输入n(n<10)个朋友的信息,再按他们的年龄从大到小的顺序依次 输出其信息。 例: 输入 3 zhang 19850403 13912345678 wang 19821020 0571-88018448 qian 19840619 13609876543 输出 wang 19821020 0571-88018448 qian 19840619 13609876543 zhang 19850403 13912345678
2 10 99
(n=2)
输出:
1,2,9,9,
10,99,
#include "stdio.h"
int main( )
{ int ri,repeat;
int a[100],i,m,n;
scanf("%d",&repeat);
for(ri=1;ri<=repeat;ri++){
scanf("%d",&n);
/*---------*/
count=0;
for(i=0;i<n;i++){
if(i==0&&r[i]>r[i+1])
count++;
else if(i==n-1&&r[i]>r[i-1])
count++;
else if(r[i]>r[i+1]&&r[i]>r[i-1])
程序设计练习题

程序设计练习题程序设计练习题1、求出102285和126201的最大公约数。
2、求S=1+(1+3)+(1+3+5)+……+(1+3+5+7+……+99)的值3、梅森尼数是指能使2^N-1为素数的数N,求[1,21]范围内最大的梅森尼数?4、已知数列:1,2,4,7,11,16,…,其规律是相邻两项之差依次是1,2,3,4,5,……。
试求此数列的前30项的和。
5、一个数如果等于其每一个数字立方之和,则称此数为阿姆斯特朗数。
如407=43+03+73是一个阿姆斯特朗数。
编程序输出[1,2000]之间所有的阿姆斯特朗数。
6、有一个4行5 列的表,位于第M行第N列交叉处的数的值为M+N。
求出表中所有数的和。
7、求出所有符合算式ab*ba=6624的两位数ab(即a*10+b)。
其中a、b是0—9之间的一位整数。
8、求[600,799]内的素数,且要求该素数至少有一位为9。
问:(1) 共有多少个? (2) 其中最大一个数是多大?9、回文数是指正读和反读都一样的自然数、例如,8,121,5445这三个数都是回文数。
试在[10,100000]之内找出既是完全平方数,又是回文数的整数。
求:(1) 共有多少个? (2) 最大一个是多大?10、在[10000,20000]范围内考察个位数字是3的素数,问:(1) 这样的素数有多少个? (2) 其中最大的一个等于几?11、如果一个整数的最高位与最低位相同,次高位与次低位相同,依此类推,则称该数是"对称"的,特别是当整数只有一位数据时,也称它是对称的,例如: 7,11,1221,45654 等均称为"对称"的整数。
计算:(1) 在0~8500范围内有多少个"对称"的整数? (2) 这些对称的整数中,为奇数的个数是多少?12、在[10000,20000]范围内考察个位数字是7的素数,问:(1) 这样的素数有多少个? (2) 其中最大的一个等于几?13、假定一个分数的分子和分母均是两位整数,求满足下列两个条件的该类分数的真分数:①分子的个位数与分母的十位数相同; ②去掉分子的个位数和分母的十位数后,真分数的值不变。
程序设计题目大全

程序设计题目大全
本文档旨在提供一份包含各种程序设计题目的大全,以供研究
和练之用。
数据结构与算法题目
1. 编写一个程序,实现栈的基本操作(入栈、出栈、判断栈空、判断栈满)。
2. 设计一个算法,实现对一个数组进行冒泡排序。
3. 实现一个链表的逆序输出。
4. 编写一个函数,判断一个字符串是否为回文。
5. 设计一个算法,计算两个大数的和并输出。
网络编程题目
1. 编写一个TCP服务器,接收客户端的连接并发送相应的响应。
2. 设计一个UDP客户端,向指定的服务器发送数据并接收服
务器的响应。
4. 设计一个聊天室程序,实现多个客户端之间的即时通讯。
数据库设计题目
1. 设计一个关系型数据库,存储学生信息(学号、姓名、年龄、性别等)。
2. 编写一个SQL查询语句,查询出满足指定条件的学生信息。
3. 设计一个数据库表,存储图书馆的图书信息(书名、作者、
出版日期、价格等)。
4. 编写一个SQL语句,查询出借阅图书最多的读者信息。
GUI编程题目
1. 设计一个简单的计算器程序,能够实现基本的加减乘除运算。
2. 编写一个图形界面程序,实现文件的拷贝和移动功能。
3. 设计一个画图程序,能够实现基本的绘图功能(画线、画圆等)。
4. 编写一个音乐播放器程序,支持播放、暂停和停止功能。
以上仅为部分题目示例,供参考和练习之用。
大家可以根据自己的实际需要进行选择和扩展。
祝愿大家在程序设计的学习中取得进步!。
程序设计题库及答案详解

程序设计题库及答案详解一、选择题1. 下列哪个选项不是面向对象编程的三大特性?A. 封装B. 继承C. 多态D. 过程化答案:D2. 在Java中,以下哪个关键字用于定义类?A. classB. interfaceC. enumD. struct答案:A3. 以下哪个是Python中的循环结构?A. forB. whileC. both A and BD. none of the above答案:C二、填空题1. 程序设计中的________是用来定义数据的属性和方法的集合。
2. 在C语言中,________关键字用于声明一个函数。
答案:void 或者 int(根据函数返回类型而定)3. 在JavaScript中,________方法用于将字符串转换为数字。
答案:parseInt 或 parseFloat(根据转换类型而定)三、简答题1. 请简述什么是递归函数,并给出一个简单的递归函数示例。
答案:递归函数是指在函数内部调用自身的函数。
递归函数通常用于解决可以分解为相同问题的子问题的问题。
以下是一个计算阶乘的递归函数示例:```cint factorial(int n) {if (n == 0) return 1;return n * factorial(n - 1);}```2. 解释什么是堆栈,并说明它们在程序设计中的应用。
答案:堆栈是两种不同的数据结构。
堆是一种优先队列,其中最大或最小元素可以在对数时间内被找到。
栈是一种遵循后进先出(LIFO)原则的数据结构。
在程序设计中,堆栈广泛应用于内存管理、函数调用、表达式求值、回溯算法等领域。
四、编程题1. 编写一个函数,实现字符串的反转。
```pythondef reverse_string(s):return s[::-1]```2. 给定一个整数数组nums,请找出数组中最长递增子序列的长度。
答案:```pythondef lengthOfLIS(nums):if not nums: return 0dp = [1] * len(nums)for i in range(1, len(nums)):for j in range(i):if nums[i] > nums[j]:dp[i] = max(dp[i], dp[j] + 1)return max(dp)```五、案例分析题1. 描述一个场景,其中使用多线程可以提高程序的效率,并解释为什么。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
}
return d;
}
long fun( char *a, char *b )
{
/**********found**********/
return __3__;
}
main()
{ char s1[N],s2[N];
do
{ printf("Input string s1 : "); gets(s1); }
printf("\nThe result :\n",fun(x));
for(i=0; i<N; i++) printf("%5.0f",x[i]);
printf("\n");
}
5.给定程序中,函数fun的功能是:将a所指3×5矩阵中第k列的元素左移到第0列,第k列以后的每列元素行依次左移,原来左边的各列依次绕到右边。
float score[3];
} STU;
void fun(char *filename, STU n)
{ FILE *fp;
/**********found**********/
fp = fopen(__1__, "rb+");
/**********found**********/
fseek(__2__, -(long)sizeof(STU), SEEK_END);
for(i=j=0; i<N; i++)
if( x[i]<av ){
y[j]=x[i]; x[i]=-1;
/**********found**********/
__2__;
}
i=0;
while(i<N)
{ if( x[i]!= -1 ) y[j++]=x[i];
/**********found**********/
}
return f;
}
main()
{ double x, y;
x=2.5;
y = fun(x, 15);
printf("\nThe result is :\n");
printf("x=%-12.6fy=%-12.6f\n", x, y);
}
4.给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),将所指数组中小于平均值的数据移至数组的前部,大于等于平均值的数据移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值i<N; i++)x[i] = y[i];
return av;
}
main()
{ int i; double x[N];
for(i=0; i<N; i++){ x[i]=rand()%50; printf("%4.0f",x[i]);}
printf("\n");
printf("\nThe average is: %f\n",fun(x));
while( strlen(s1)>N );
do
{ printf("Input string s2 : "); gets(s2); }
while( strlen(s2)>N );
printf("The result is: %ld\n", fun(s1,s2) );
}
3.函数fun的功能是:计算
的前n项之和。若x=2.5,n=15时,函数值为1.917914。
{10003,"LiSi", 85, 70, 78}, {10004,"FangFang", 90, 82, 87},
{10005,"ZhangSan", 95, 80, 88}};
STU n={10006,"ZhaoSi", 55, 70, 68}, ss[N];
int i,j; FILE *fp;
请在程序下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:部分源程序在文件BLANK1.C中。不得增行或删行,也不得更改程序的结构!
#include <stdio.h>
#include <math.h>
double fun(double x, int n)
{ double f, t; int i;
#include <stdlib.h>
#include <stdio.h>
#define N 10
double fun(double *x)
{ int i, j; double av, y[N];
av=0;
for(i=0; i<N; i++)
/**********found**********/
av+=__1__;
while(t<=__2__)
{ s1=t%10; s2=(t/10)%10; s3=t/100;
if(s1+s2+s3==15)
{ printf("%d ",t);
n++;
}
/**********found**********/
__3__;
}
return n;
}
main()
{ int x=-1;
while(x>999||x<0)
例如,形参s所指的字符为:baawrskjghzlicda,执行后p所指字符数组中的字符串应为:aachjlsw。请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
注意:部分源程序在文件BLANK1.C中。不得增行或删行,也不得更改程序的结构!
#include <stdio.h>
void fun(char *s, char *p)
{ int i, j, n, x, t;
n=0;
for(i=0; s[i]!='\0'; i++) n++;
for(i=1; i<n-2; i=i+2) {
/**********found**********/
___1___;
/**********found**********/
for(j=___2___+2 ; j<n; j=j+2)
if(s[t]>s[j]) t=j;
if(t!=i)
{ x=s[i]; s[i]=s[t]; s[t]=x; }
}
for(i=1,j=0; i<n; i=i+2, j++) p[j]=s[i];
/**********found**********/
p[j]=___3___;
}
main()
{ char s[80]="baawrskjghzlicda", p[50];
/**********found**********/
fwrite(&n, sizeof(STU), 1, __3__);
fclose(fp);
}
main()
{ STU t[N]={ {10001,"MaChao", 91, 92, 77}, {10002,"CaoKai", 75, 60, 88},
fp = fopen("student.dat", "wb");
fwrite(t, sizeof(STU), N, fp);
#define N 5
void fun(int (*a)[N],int k)
{ int i,j,p,temp;
/**********found**********/
for(p=1; p<= __1__; p++)
for(i=0; i<M; i++)
{ temp=a[i][0];
/**********found**********/
printf("The array before moving:\n\n");
for(i=0; i<M; i++)
{ for(j=0; j<N; j++) printf("%3d",x[i][j]);
printf("\n");
}
fun(x,2);
printf("The array after moving:\n\n");
for(j=0; j< __2__ ; j++) a[i][j]=a[i][j+1];
/**********found**********/
a[i][N-1]= __3__;
}
}
main( )
{ int x[M][N]={ {1,2,3,4,5},{1,2,3,4,5},{1,2,3,4,5} },i,j;
注意:部分源程序在文件BLANK1.C中。不得增行或删行,也不得更改程
#include <stdio.h>
int fun(int x)
{ int n, s1, s2, s3, t;
/**********found**********/
n=__1__;
t=100;
/**********found**********/
#include <ctype.h>
#define N 9