搜档网
当前位置:搜档网 › 宁波市28届程序设计比赛试题

宁波市28届程序设计比赛试题

宁波市28届程序设计比赛试题
宁波市28届程序设计比赛试题

2013年宁波市第28届中小学生计算机程序设计竞赛

初中组初赛试题

(说明:答案请写在答题卷上。考试时间120分钟,满分100分)

一、选择题(每题有且仅有一个正确答案,选对得1.5分,选错,不选或多选均不得分)

1.很多新款笔记本和电视机上都有HDMI接口,请问这个接口的作用是:

A仅传输视频信号B仅传输音频信号

C同时传输视频和音频信号D稳压电源输入

2.在Pascal中,表达式2OR1SHL2AND10的值是:

A15B8C12D2

3.在32位操作系统中,Boolean型数组[1..10000,1..10000]需要的内存空间约为:

A381MB B12MB C191MB D95MB

4.下列关于32位操作系统和64位操作系统的说法中错误的是:

A32位操作系统是针对32位的CPU设计的

B64位操作系统是针对64位的CPU设计的

C64位操作系统理论上能支持的内存大小可根据寻址空间计算而得

D32位操作系统支持的内存大小不可能超过4G

5.下面关于二叉堆的复杂度说法中正确的是:

A插入为O(logn),删除为O(logn)

B插入为O(n),删除为O(n)

C插入为O(n),删除为O(logn)

D插入为O(logn),删除为O(n)

6.算式112-1116的结果是:

A010B016C1410D-1410

7.下列关于邻接表和邻接矩阵的说法中错误的是:

A两者都可以实现图的存储

B两者可相互转换

C在一般情况下,邻接表在处理稀疏图时有明显优势

D邻接矩阵的实现远比邻接表复杂

8.下列程序中不属于IDE(集成开发环境)的是:

A Free Pascal

B Lazarus

C Dev-C++

D C++

9.IPv4中一个IP地址长度为32位,新一代协议IPv6中一个IP地址的长度为:

A64位B128位C256位D32位

10.小明家里电脑可以正常使用QQ,但是无法浏览网站,其原因可能是:

A电脑断网了

B电脑DNS服务出现故障

C CPU短路

D显示器异常

11.ASCII码表总共有字符128个,请问存放8个ASCII码需要的内存空间是:

A7字节B8字节C7位D8位

12.字符串"ababacbab"和字符串"abcba"的最长公共子串是:

A abcba

B cba

C abc

D ab

13.已知一棵二叉树的前序遍历结果为ABDECFHJIG,中序遍历的结果为DBEAJHFICG,若根节点的深度为0,则这棵二叉树的深度是:

A3B4C5D6

14.高度为n的均衡的二叉树是指:如果去掉叶结点及相应的树枝,它应该是高度为n-1的满二叉树。在这里,树高等于叶结点的最大深度,根结点的深度为0,如果某个均衡的二叉树共有1024个结点,则该树的树高是:

A7B8C9D10

15.给定一个长度为5的进队序列(每个元素互不相同),一共存在的出队序列种数为:

A1B5C25D42

16.下列设备中属于输入设备的是:

A键盘B显示器C CPU D电源

17.在计算机内部,数据存储采用的进制是:

A8进制B2进制C10进制D16进制

18.小明家新安装运营商宣称的4Mb光宽带,请问其下载速度理论上可以达到的最大值是:A4MB/s B512KB/s C1MB/s D8MB/s

19.第一位获得图灵奖的华人是:

A刘翔B姚期智C高德纳D犹大·伯尔

20.NOIP的英文全称是:

A National Olympiad in Informatics in Provinces

B National Olympiad in Informatics in Profession

C Normal Olympiad in Informatics in Profession

D Normal Olympiad in Informatics in Provinces

一、问题求解(每小题5分,共10分)

1.平面图的定义为若一个图G画在平面上,除顶点之外,再没有边与边相交。则图G为

平面图。那么,边数为9的平面图最少有____个顶点?(仅针对无向图)

2.一个长度为N(1<=N<=26)字符串,最多有____个非空子序列,最少有____个不同的

非空字串。(提示:子序列不要连续,子串要求连续)

二、阅读程序写结果(每题8分,共32分)

1.

var

ans,i,x,n:longint;

begin

readln(n);

ans:=-1;

for i:=1to n do

begin

read(x);

if ans

end;

writeln(ans);

end.

输入:

5

6543210

输出:_______

2.

var

num:array[0..1000]of longint;

i,x,n:longint;

begin

readln(n);

fillchar(num,sizeof(num),0);

for i:=1to n do

begin

read(x);

num[x]:=num[x]+1;

end;

readln(x);

writeln(num[x]);

end.

输入:

6

66636266600

66

输出:_______

3.

var

n,i,p,max:longint;

dp,a:array[0..1000]of longint; function Binary_Search(x:longint):longint; var

l,r,m,i:longint;

begin

l:=0;

r:=max;

while l+3

begin

m:=(l+r)div2;

if dp[m]>=x then r:=m-1

else l:=m;

end;

for i:=r downto l do

if dp[i]

end;

begin

readln(n);

for i:=1to n do read(a[i]);

fillchar(dp,sizeof(dp),$20);

dp[0]:=0;

max:=0;

for i:=1to n do

begin

p:=Binary_Search(a[i]);

p:=p+1;

dp[p]:=a[i];

if p>max then max:=p;

end;

writeln(max);

end.

输入1:

4

4351

输出1:

_______

输入2:

5

44351

输出2:

_______

4.

var

px,py,ax,ay,bx,by:double;

t1x,t1y,t2x,t2y:double;

function Dist(ax,ay,bx,by:double):double;

begin

exit(sqrt((ax-bx)*(ax-bx)+(ay-by)*(ay-by))); end;

begin

read(px,py,ax,ay,bx,by);

while Dist(ax,ay,bx,by)>1E-10do

begin

t1x:=(ax*2+bx)/3;

t1y:=(ay*2+by)/3;

t2x:=(ax+bx*2)/3;

t2y:=(ay+by*2)/3;

if Dist(px,py,t1x,t1y)

bx:=t2x;

by:=t2y;

end

else

begin

ax:=t1x;

ay:=t1y;

end;

end;

writeln(trunc(Dist(px,py,ax,ay)));

end.

输入:

00-1111

输出:

________

三、程序填空(前5空,每空2分,后6空,每空3分,共28分)

1.输入一个正整数n(2<=n<=108),请将n用质因数乘式的形式表示,如果质因数不止一个,请按照质因数大小升序输出,每个数字后面均有空格。

var

i,n,plen:longint;

prime:array[1..5000]of longint;

procedure Gen_Prime;

var

h:array[1..10000]of boolean;

i,j:longint;

begin

fillchar(h,sizeof(h),false);

for i:=2to10000do

if⑴then

begin

j:=2;

while i*j<=10000do

begin

if h[i*j]=false then

⑵;

j:=j+1;

end;

end;

plen:=0;

for i:=2to10000do

if not h[i]then

begin

plen:=plen+1;

⑶;

end;

end;

begin

read(n);

Gen_Prime;

for i:=1to plen do

while n mod prime[i]=0do

begin

write(prime[i],'');

⑷;

end;

if⑸then write(n,'');

writeln;

end.

输入:

20

输出:

225

2.(归并排序求逆序对数)给定N(N<=10000)个互不相同的数,请计算出逆序对的数量。比如对于数列1、5、2、4、6,逆序对数量为2分别是(5,2)、(5,4)。

输入:

5

15246

输出:

2

var

a:array[0..10000]of longint;

i,n,ans:longint;

procedure Merge(l,m,r:longint);

var

b:array[0..10000]of longint;

i,j,k:longint;

begin

i:=l;

j:=m+1;

k:=l;

while(i<=m)and(j<=r)do

if a[i]

begin

b[k]:=a[i];

i:=i+1;

k:=k+1;

end

else

begin

b[k]:=a[j];

j:=j+1;

k:=k+1;

ans:=⑹;

end;

while i<=m do

begin

b[k]:=a[i];

i:=i+1;

⑺;

end;

while j<=r do

begin

b[k]:=a[j];

⑻;

k:=k+1;

end;

for i:=l to r do⑼; end;

procedure MergeSort(l,r:longint); var

m:longint;

begin

if⑽then exit;

m:=(l+r)div2;

MergeSort(l,m);

⑾;

Merge(l,m,r);

end;

begin

read(n);

for i:=1to n do read(a[i]);

ans:=0;

MergeSort(1,n);

writeln(ans);

end.

程序设计题答案

1.请编写函数fun,:计算并输出下列多项式的值: sn=1+1/1!+1/2!+1/3!+1/4!+…+1/n! double fun(int n) { double s=1.0,t=1.0; int i; for(i=1;i<=n;i++) { t*=i; s+=1/t; } return s; } 2.函数fun:计算并输出下列多项式值: sn=(1-1/2)+(1/3-1/4)+…+(1/(2n-1)1/2n). double fun(int n) { double s=0,k=1.0; int i; for(i=1;i<=2*n;i++) { s+=k/i; k=-k; } return s; } 3. double fun(int n) { double s=0,t=1.0; int i; for(i=1;i<=n;i++) { t*=i; s+=1/t; } return s;} 4.请编写函数fun: s=1+(1+2(0.5))+(1+2(0.5)+3(0.5))+…+(1+2 (0.5)+3(0.5)+…+n(0.5)) double fun(int n) { double s=0,t=0; int i; for(i=1;i<=n;i++) { t+=sqrt(i); s+=t; } return s;} 5.请编写函数fun:计算并输出当x<0.97时下列多项式的值,直到|sn-s(n-1)|<0.000001为止。 Sn=1+0.5x+0.5(0.5-1)/2!x(2)+…+0.5(0.5-1) (0.5-2)…..(0.5-n+1)/n!x(n) double fun(double x) { double s=0.0,s1=1.0,s0=0,p=1.0,t=1.0; int n=1; do { s0=s1; s+=s0; t*=n; p*=(0.5-n+1)*x; s1=p/t; n++; }while(fabs(s1-s0)>1e-6); return s; } 6.请编写函数fun:计算并输出n(包括n)以内能被5或9整除的所有自然数的倒数之和。 double fun(int n) { int i; double sum=0.0; for(i=1;i<=n;i++) if(i%5==0 || i%9==0) sum+=1.0/i; return sum;= 7.请编写函数fun:计算并输出给定整数n的所有因子(不包括1与自身)之和。规定n的值不大于1000。 int fun(int n) {int s=0,i; for(i=2;i<=n-1;i++) if(n%i==0) s+=i; return s; } 8.请编写函数fun ,其功能是:计算并输出3到n之间所有素数的平方根之和。double fun(int n) { int m,k i;

程序设计部分试题

浙江省高校校等级考试二级练习试题(2) 1设计编写并运行程序,完成以下功能: 将满足条件pow(1.05,n)<1e6 #include void main() { float y=1.05; int n=1; FILE *p; /* * * * * * */ fprintf(p,"%d,%.0f",n,pow(1.05,n)); fclose(p); } 2设计编写并运行程序,完成以下功能: 将数组a的每1行均除以该行上的主对角元素(第1行同除以a[0][0],第2行同除以a[1][1],...),然后将a数组写入到考生文件夹中Paper子文件夹下的新建文件 #include void main() { float a[3][3]={{1.3,2.7,3.6},{2,3,4.7},{3,4,1.27}}; FILE *p; /* * * * * */ for(int i=0;i<3;i++) { for(int j=0;j<3;j++) fprintf(p,"%10.6f",a[i][j]); fprintf(p,"\n"); } fclose(p); } 3设计编写并运行程序,完成以下功能: 已知公鸡每只5元、母鸡每只3元、小鸡1元3只。求出用100元买100只鸡的解。 将得到的解按公鸡、母鸡和小鸡的只数以"%d,%d,%d\n"的格式写入到考生文件夹中Paper 子文件夹下的新建文件

程序设计比赛试题

程序设计比赛试题 最少钱币数: 【问题描述】 这是一个古老而又经典的问题。用给定的几种钱币凑成某个钱数,一般而言有多种方式。例如:给定了6种钱币面值为2、5、10、20、50、100,用来凑15元,可以用5个2元、1个5元,或者3个5元,或者1个5元、1个10元,等等。显然,最少需要2个钱币才能凑成15元。 你的任务就是,给定若干个互不相同的钱币面值,编程计算,最少需要多少个钱币才能凑成某个给出的钱数。 【要求】 【数据输入】输入可以有多个测试用例。每个测试用例的第一行是待凑的钱数值M (1<=M<=2000,整数),接着的一行中,第一个整数K(1<=K<=10)表示币种个数,随后是K个互不相同的钱币面值Ki(1<=Ki<=1000)。输入M=0时结束。 【数据输出】每个测试用例输出一行,即凑成钱数值M最少需要的钱币个数。如果凑钱失败,输出“Impossible”。你可以假设,每种待凑钱币的数量是无限多的。 【样例输入】 15 6 2 5 10 20 50 100 1 1 2 【样例输出】 2 Impossible

Feli的生日礼物 【问题描述】 Felicia的生日是11月1日(和Kitty是同一天生的哦)。于是Feli请来Kitty一起过生日。Kitty带来了最新款的“Kitty猫”玩具准备送给Feli,不过她说,这份礼物可不是白送的。Feli要帮她一个忙,才能够得到心仪已久的玩具。Kitty说,“Kitty猫”玩具已经卖出了n!个,n<=10^100*_*,Kitty想知道确切的数字,而不是无聊的“一个数加个感叹号”。Feli听了大吃一惊。要知道,算出n!是一个无比艰巨的任务。Feli告诉Kitty,就算Feli算出n!,Kitty也看不下去,因为当n=20时,计算机的长整型已经存不下了(Kitty只能接受1-9之间的数字)。于是Kitty说,你只要告诉我n!最后一位非0的数就可以了。Feli想了想,立刻动手写了个程序算出了正确的答案。现在,请你也试试看!注意哦,AC的男生将会得到一个“Hello Kitty”计算器(可编程,CPU 1THz,Mem 1TMB),AC的女生将会得到一个仿真“Hello Kitty”宠物(善解人意,无须喂养,智商1101,附带写情书功能)。 【要求】 【数据输入】每行一个n,直到输入数据结束 【数据输出】对应输入的n,每行输出一个答案 【样例输入】 1101 【样例输出】 8

程序设计大赛试题及答案

试题 1、数学黑洞(程序文件名maths.c/maths.cpp) 【问题描述】 任给一个4位正整数,其各位数位上的数字不全相同,将数字重新组合成一个最大的数与最小的数相减,重复这个过程,最多7步,必得6174。对任给的4位正整数(各位数位上的数字不全相同),编程输出掉进黑洞的步数。 【输入】 一行,一个4位正整数n(1000< n<9999) 【输出】 掉进黑洞的步数 输入 1234 输出 3 2、进制转换(程序文件名conver.c/conver.cpp) 【问题描述】 任给一个十进制整数n,及正整数m(m<=16且m≠10), 将n转换成m进制并输出。 【输入】 一行,两个整数n,m(0 ≤ n ≤ 500000,2 ≤ m ≤ 16,且m≠10),中间用一个空格隔开,其中n 表示十进制数。 【输出】 转换后的数 【输入输出样例】 输入 255 8 输出 377 3、分数线划定(程序文件名score.c/score.cpp) 【问题描述】 公务员选拔工作正在 A 市如火如荼的进行。为了选拔优秀人才,A 市对所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试。面试分数线根据计划录取人数的150%划定,即如果计划录取m名公务员,则面试分数线为排名第m*150%(向下取整)名的选手的分数,而最终进入面试的选手为笔试成绩不低于面试分数线的所有选手。现在就请你编写程序划定面试分数线,并输出所有进入面试的选手的报名号和笔试成绩。 【输入】 第一行,两个整数n,m(5 ≤ n ≤ 5000,3 ≤ m ≤ n),中间用一个空格隔开,其中n 表示报名参加笔试的选手总数,m 表示计划录取的人数。输入数据保证m*150%向下取整后小于等于n。 第二行到第 n+1 行,每行包括两个整数,中间用一个空格隔开,分别是选手的报名号k(1000 ≤ k ≤ 9999)和该选手的笔试成绩s(1 ≤ s ≤ 100)。数据保证选手的报名号各不相同。 【输出】 第一行,有两个整数,用一个空格隔开,第一个整数表示面试分数线;第二个整数为进入面试的选手的实际人数。 从第二行开始,每行包含两个整数,中间用一个空格隔开,分别表示进入面试的选手的报名号和笔试成绩,按照笔试成绩从高到低输出,如果成绩相同,则按报名号由小到大的顺序输出。 【输入输出样例】 输入 6 3 1000 90 3239 88 2390 95 7231 84 1005 95 1001 88

Linux程序设计2011-2012期末试题部分答案 小东编辑

兰州商学院2011-2012学年第二学期期末考试 Linux程序设计试卷A 一、单项选择题(每小题1分,共计20分) 1. Linux在确定文件名filename是否代表目录文件时,依据( C )。 A. 由程序员指定 B. filename是否位于/etc目录中 C. 该文件i结点中的类型信息 D. filename中的扩展名 2. 在进程p1中用系统函数execvp执行程序p2,则(D )。 A. p1创建一个子进程执行p2 B. p2结束后返回prog1继续执行 C. p1和p2并行执行 D. p2将替换掉prog1的代码 3. 进程调用wait将被阻塞,直到( D )。 A. 用户按任意键 B. 收到时钟信号 C. 子进程被创建 D. 子进程结束 4. Shell脚本中的注释用( C )标记。 A. // B. /*…*/ C. # D. * 5. head命令用于( B )。 A. 显示文件的前10行 B. 显示C语言头文件 C. 显示目录的前10行 D. 显示 6. bind调用用于(A)。 A. 为socket分配地址 B. 客户端与服务器连接 C. 接收socket上的连接 D. 监听socket上的连接 7. 一个进程收到SIGCHILD信号,表示( B )。 A. 创建子进程成功 B. 创建子进程失败 C. 子进程结束 D. 子进程开始运行 8. 当客户端用GET命令请求某文件时,Web服务器用返回码( B )表示没有该文件。 A. 200 B. 404 C. 8080. ②exit(0) 9. 删除命名管道的系统调用是(A)。 A. unlink B. close C. fcolse D. dup2 10. 设可能有多个线程调用pthread_cond_wait(&buf_empty, &lock)后等待条件变量

2019宁波大学916数据结构与算法(计算机科学与技术)考试大纲

2019年宁波大学硕士研究生招生考试初试科目考试大纲 科目代码、名称: 916数据结构与算法 一、考试形式与试卷结构 (一)试卷满分值及考试时间 本试卷满分为150分,考试时间为180分钟。 (二)答题方式 答题方式为闭卷、笔试。试卷由试题和答题纸组成;答案必须写在答题纸(由考点提供)相应的位置上。 (三)试卷内容结构 数据结构与基本算法。 (四)试卷题型结构 1.选择题 2.简答题 3.算法和程序设计填空题 4.应用题 二、考查目标 重点考查学生对数据结构、计算机算法、基本理论、基础知识的掌握程度。考生应熟练掌握数据结构的基本概念、设计方法和实际应用;熟练掌握重要计算机算法的基本思想、算法设计基本策略、算法复杂度分析;考生应能熟练掌握一些基本数据结构,并解决实际问题。 三、考查范围或考试内容概要 (一)基础 1. 计算机中算法的角色 2. 算法复杂度分析 3. 递归

(二)线性表 1. 基于顺序存储的定义和实现 2. 基于链式存储的定义和实现 3. 线性表的应用 (三)特殊线性表(栈、队列、字符串、数组) 1. 栈、队列、字符串、数组的基本概念、特点 2. 栈和队列基于顺序存储的定义与实现 3. 栈和队列基于链式存储的定义与实现 4. 稀疏矩阵的压缩存储及转置算法实现 (四)树与二叉树 1. 二叉树 ①二叉树的定义、主要特征 ②二叉树基于顺序存储和链式存储的实现 ③二叉树重要操作的实现 ④线索二叉树的基本概念和构造 2. 树、森林 ①树的存储结构 ②森林与二叉树的相互转换 ③树和森林的遍历 3.特殊二叉树及应用 ①哈夫曼(Huffman)树 ②二叉排序树 ③平衡二叉树 ④堆(堆的构造和调整过程) (五) 图 1.基本的图算法 2.最小生成树

Python程序设计习题与答案

《Python程序设计》习题与参考答案 第1章基础知识 简单说明如何选择正确的Python版本。 答: 在选择Python的时候,一定要先考虑清楚自己学习Python的目的是什么,打算做哪方面的开发,有哪些扩展库可用,这些扩展库最高支持哪个版本的Python,是Python 还是Python ,最高支持到Python 还是Python 。这些问题都确定以后,再做出自己的选择,这样才能事半功倍,而不至于把大量时间浪费在Python的反复安装和卸载上。同时还应该注意,当更新的Python版本推出之后,不要急于更新,而是应该等确定自己所必须使用的扩展库也推出了较新版本之后再进行更新。 尽管如此,Python 3毕竟是大势所趋,如果您暂时还没想到要做什么行业领域的应用开发,或者仅仅是为了尝试一种新的、好玩的语言,那么请毫不犹豫地选择Python 系列的最高版本(目前是Python )。 为什么说Python采用的是基于值的内存管理模式 答: Python采用的是基于值的内存管理方式,如果为不同变量赋值相同值,则在内存中只有一份该值,多个变量指向同一块内存地址,例如下面的代码。 >>> x = 3 >>> id(x) >>> y = 3 >>> id(y) >>> y = 5 >>> id(y) >>> id(x) 在Python中导入模块中的对象有哪几种方式 答:常用的有三种方式,分别为 import 模块名 [as 别名]

from 模块名 import 对象名[ as 别名] from math import * 使用pip命令安装numpy、scipy模块。 答:在命令提示符环境下执行下面的命令: pip install numpy pip install scipy 编写程序,用户输入一个三位以上的整数,输出其百位以上的数字。例如用户输入1234,则程序输出12。(提示:使用整除运算。) 答: 1)Python 代码: x = input('Please input an integer of more than 3 digits:') try: x = int(x) x = x else: print(x) except BaseException: print('You must input an integer.') 2)Python 代码: import types x = input('Please input an integer of more than 3 digits:') if type(x) != : print 'You must input an integer.' elif len(str(x)) != 4: print 'You must input an integer of more than 3 digits.' else: print xoin(map(str,result)) 2)Python 代码 x = input('Please input an integer less than 1000:') t = x i = 2 result = [] while True: if t==1:

C语言程序设计试题及答案精编版

C语言程序设计试题及 答案精编版 MQS system office room 【MQS16H-TTMS2A-MQSS8Q8-MQSH16898】

C语言程序设计 一、选择题(共40分,每小题2分) 1、以下叙述不正确的是() A、一个C源程序可由一个或多个函数组成 B、一个C源程序必须包含一个main函数 C、C程序的基本组成单位是函数 D、在C程序中,注释说明只能位于一条语句的后面 2、下列四个选项中,是不合法的用户标识符的选项是() A、abc B、12AC C、sun D、A2 3、设有语句inta=4;则执行了语句a+=a-=a*a后,变量a的值是() A、-24 B、0 C、4 D、16 4、下列运算符中优先级最高的是() A、< B、+ C、&& D、== 5、在C语言中,运算对象必须是整型数的运算符是() A、% B、/ C、%和/ D、+ 6、以下关于运算符的优先顺序的描述正确的是() A、关系运算符<算术运算符<赋值运算符<逻辑与运算符 B、逻辑与运算符<关系运算符<算术运算符<赋值运算符 C、赋值运算符<逻辑与运算符<关系运算符<算术运算符 D、算术运算符<关系运算符<赋值运算符<逻辑与运算符 7、在C语言中,如果下面的变量都是int类型,则输出的结果是()

sum=pad=5;pAd=sum++,pAd++,++pAd; printf(“%d\n”,pad); A、7 B、6 C、5 D、4 8、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是() A、INPUTx、y、z; B、scanf(“%d%d%d”,&x,&y,&z); C、scanf(“%d%d%d”,x,y,z); D、read(“%d%d%d”,&x,&y,&z); 9、假定从键盘输入23456<回车>,下面程序的输出结果是:() voidmain() {intm,n; scanf(“%2d%3d”,&m,&n); printf(“m=%dn=%d\n”,m,n); } A、m=23n=45 B、m=234n=56 C、m=23n=456 D、语句有错误 10、若运行时,给变量x输入12,则以下程序的运行结果是() main() {intx,y; scanf(“%d”,&x); y=x>12?x+10:x-12; printf(“%d\n”,y); } A、0B、22 C、12D、10 11、C语言中while和do-while循环的主要区别()

C.语言程序设计试题试题与答案

C 语言程序设计试卷,C++语言程序设计试题及答案 一、单项选择题(每题1分,共20分) 1. C 语言规定:在一个源程序中, main 函数的位置(C). A. 必须在最开始 B. 必须在系统调用的库函数的后面 C. 可以任意 D. 必须在最后 2. 下面四个选项中,均是合法浮点数的选项是 A. +1e+15e-9.403e2 B. -.6012e-4-8e5 C. 123e1.2e-.4+2e-1 D. -e3.8e-45.e-0 3.若a=-14,b=3,则条件表达式 avb?a:b+1的值为(A)。 A. -14 B.-13 C.3 D.4 4. 已知:intn,i=1,j=2; A.1,2B.1,3C.2,2D.2,3 5. 为了判断两个字符串s1和s2是否相等,应当使用(D) A.if(s1==s2) B.if(s 仁s2) C. if(strcm p( s1,s2)) D. if(strcm p( s1,s2)==0) 6. 以下正确的描述是(B) o (B)。 执行语句n=ivj?i++:j++; 则i 和j 的值是(c).

A. 函数的定义可以嵌套,但函数的调用不可以嵌套。 B. 函数的定义不可以嵌套,但函数的调用可以嵌套。 C. 函数的定义和函数的调用均不可以嵌套。 D. 函数的定义和函数的调用均可以嵌套。 7. 在C 语言中,下面对函数不正确的描述是 A. 当用数组名作形参时,形参数组值的改变可以使实参数组之值相应改变。 B. 允许函数递归调用。 C. 函数形参的作用范围只是局限于所定义的函数内。 D. 子函数必须位于主函数之前。 8. 如果在一个函数中的复合语句中定义了一个变量,则以下正确的说法是 A. 该变量只在该复合语句中有效 B. 该变量在该函数中有效 C. 该变量在本程序范围内均有效 D. 该变量为非法变量 9. 以下正确的函数形式是(D)。 A. doublefun(intx,inty){z=x+y;retum z;} B. fun(intx,y){int z; return z;} C. fun(x,y){intx,y;doublez;z=x+y;returnz;} D. doublefun(intx,inty){doublez;z=x+y;returnz;} 10. 以下程序的输出结果是(B)。 #includevstdio.h> (D)。 (A) o

C语言程序设计期末考试试题(含答案)

C语言程序设计 期末考试试题及其答案 一、单项选择题(本大题共20题,每题2 分,共40分) 1、以下不是C语言的特点的是( ) A、C语言简洁、紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件进行操作 D、C语言移植性好 2、以下不正确的C语言标识符是( ) A、ABC B、abc C、a_bc D、ab.c 3、一个C语言程序是由( ) A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( ) A、有零个或多个输入 B、有零个或多个输出 C、有穷性 D、可行性 5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( ) A、int B、float C、double D、不确定 6、在C语言中,char型数据在内存中的存储形式是( ) A、补码 B、反码 C、源码 D、ASCII码 7、有如下程序,输入数据:12345M678<cR>后(表示回车),x的值是( ) 。 #include main(){ int x; float y; scanf("%3d%f",&x,&y); } A、12345 B、123 C、45 D、345 8、若有以下定义int a,b; float x,则正确的赋值语句是( ) A、a=1,b=2 B、b++; C、a=b=5 D、b=int(x); 9、以下程序的执行结果是( )

#include { int i=10,j=10; printf("%d,%d\n",++i,j--); } A、11,10 B、9,10 C、11,9 D、10,9 10、巳知字母A的ASCII码是65,以下程序的执行结果是( ) #include main() { char c1='A',c2='Y'; printf("%d,%d\n",c1,c2); A、A,Y B、65,65 C、65,90 D、65,89 11、下列运算符中优先级最高的是( ) A、< B、十 C、% D、!= 12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。 A、’x’&&’y’ B、x<=y C、x||y+z&&y-z D、!((x<y)&&!z ||1) 13、判断char型变量cl是否为小写字母的正确表达式为( ) A、’a’<=c1<=f’z’ B、(c1>=a)&&(c1<=z) C、(‘a’>=c1) (‘z’<=c1) D、(c1>=’a’)&&(c1<=’z’) 14、字符串"a"在内存中占据的字节个数为( ) A、0 B、 1 C、 2 D、 3 15、下面有关for循环的正确描述是( ) A、for循环只能用于循环次数已经确定的情况 B、for循环是先执行循环体语句,后判定表达式 C、在for循环中,不能用break语句跳出循环体 D、for循环体语句中,可以包含多条语句,但要用花括号括起来 16、下面程序的运行结果是( ) #include main() {int num=0; while(num<=2) {num++; printf(“%d ,num); } } A、 1 B、 1 2 C、 1 2 3

第六届程序设计比赛题目与答案

一、鸡兔同笼 问题描述 一个笼子里面关了鸡和兔子(鸡有2只脚,兔子有4只脚,没有例外)。已经知道了笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物 输入数据 第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,包括一个正整数a (a < 32768)。 输出要求 n行,每行输出对应一个输入。输出是两个正整数,第一个是最少的动物数,第二个是最多的动物数,两个正整数用空格分开。如果没有满足要求的情况出现,则输出2个0。 输入样例 2 3 20 输出样例 0 0 5 10 解题思路 这个问题可以描述成任给一个整数N,如果N是奇数,输出0 0,否则如果N是4的倍数,输出N / 4 N / 2,如果N不是4的倍数,输出N/4+1 N/2。这是一个一般的计算题,只要实现相应的判断和输出代码就可以了。题目中说明了输入整数在一个比较小的范围内,所以只需要考虑整数运算就可以了。 参考程序 1.#include 2.void main( ) 3.{ 4.int nCases, i, nFeet; //nCases 表示输入测试数据的组数,nFeet表示输入的脚数。 5.scanf("%d", &nCases); 6.for(i = 0; i < nCases; i++){ 7.scanf("%d", &nFeet); 8.if(nFeet %2 != 0) // 如果有奇数只脚,则输入不正确, 9.// 因为不论2只还是4只,都是偶数 10.printf("0 0\n"); 11.else if (nFeet%4 != 0) //若要动物数目最少,使动物尽量有4只脚 12.//若要动物数目最多,使动物尽量有2只脚 13.printf("%d %d\n", nFeet / 4 + 1, nFeet / 2); 14.else printf("%d %d\n", nFeet / 4, nFeet / 2); 15.} 16.}

VB程序设计试题及答案

VB程序设计试题及答案(三) 一、单选题 1. Visual Basic是一种面向对象的可视化程序设计语言,采取了 A 的编程机制。 (A) 事件驱动(B) 按过程顺序执行 (C) 从主程序开始执行(D) 按模块顺序执行 2. 若要使标签控件显示时不覆盖其背景内容,要对 D 属性进行设置。 (A) Backcolor (B) BorderStyle (C) Forecolor (D) Backstyle 3. 在Visual Basic中最基本的对象是 C ,它是应用程序的基石,是其他控件的容器。 (A) 文本框(B) 命令按钮 (C) 窗体(D) 标签 4. 要判断在文本框是否按下Enter键,应在文本框的 D 事件中判断。 (A) Change (B)KeyDown (C) Click (D)KeyPress 5. 数学表达式3≤x10 (C) x>=3 Or x<10 (D) x>=3 AND x<10 6. Rnd函数不可能为下列 B 值。 (A) 0 (B) 1 (C) 0.1234 (D) 0.0005 7. 赋值语句:a=123+Mid("123456",3,2)执行后,a变量中的值是 D 。 (A) "12334" (B) 123 (C) 12334 (D) 157 8. 对于语句If x=l Then y=l,下列说法正确的是 C 。 (A) x=l和y=l均为赋值语句 (B) x=l和y=l均为关系表达式 (C) x=l为关系表达式,y=l为赋值语句 (D) x=l为赋值语句,y=l为关系表达式 9. 下面程序段表示求两个数中的大数, D 不正确。 (A) Max=IIf(x>y,x,y) (B) If x>y Then Max=x Else Max=y (C) Max=x (D) Ify>=x Then Max=y If y>=x Then Max=y Max=x 10.当在文本框中输入“ABCD”4个字符时,窗体上显示的是 C 。 Private Sub Text1_Change( ) Print Text1; End Sub (A) ABCD (B) A (C) AABABCABCD (D) A B AB C ABC D ABCD 11.下列哪个程序段不能分别正确显示1!、2!、3!、4!的值 B 。 (A) For i=1 to 4 (B) For i=1 to 4 n=1 For j=1 to i

c#程序设计复习资料(试题及标准答案版)

c#程序设计部分复习资料 一.填空题 26.C#源程序的后缀名为______.cs________。 26.C#中每个int类型的变量占用____4___个字节的内存。 26.C#的每行语句以________分号_______结尾。 26.布尔型的变量可以赋值为关键字_____true__________或_____false_________。 26.如果int x的初始值为5,则执行表达式x- =3之后,x的值为_____2_________。 26.do...while语句在执行循环体_____之后________测试语句是否满足循环条件。 26.关键字_______class________表示一个类的定义。 26.如果一个类包含一个或多个抽象方法,它是一个_________抽象_____________类。 26.try块运行后,总是会执行_________finally_____________块中的代码。 26.一个数组如果有两个索引值,那么它是__________二维__________数组。 二.单项选择题 1.在对SQLServer数据库操作时应选用( )。 A、SQLServer .NET Framework 数据提供程序;?B、OLE DB.NET Framework 数据提供程序; C、ODBC .NET Framework 数据提供程序;? D、Oracle .NET Framework数据提供程序; 2.下列选项中,( )是引用类型。 A、enum类型??B、struct类型??C、string类型D、int类型 3.C#的数据类型有() A、值和调用类型;?B、值和引用类型;?C、引用和关系类型; D、关系和调用类型 4.下列描述错误的是() A、类不可以多重继承而接口可以; ??B、抽象类自身可以定义成员而接口不可以; C、抽象类和接口都不能被实例化; D、一个类可以有多个基类和多个基接口; 5.下列关于构造函数的描述正确的是( ) A、构造函数可以声明返回类型。?B、构造函数不可以用private修饰 C、构造函数必须与类名相同? D、构造函数不能带参数 6.int[][] myArray3=new int[3][]{new int[3]{5,6,2},newint[5]{6,9,7,8,3},new int[2]{3, 2}}; 那么myArray3[2][2]的值是()。 A、9 ?B、2 ?C、6?D、越界 7.接口是一种引用类型,在接口中可以声明(),但不可以声明公有的域或私有的成员变量。 A、方法、属性、索引器和事件;? B、方法、属性信息、属性; C、索引器和字段;?????D、事件和字段; 8.在https://www.sodocs.net/doc/4b7301058.html,中,对于Command对象的ExecuteNonQuery()方法和ExecuteReader()方法,下 面叙述错误的是()。 A、insert、update、delete等操作的Sql语句主要用ExecuteNonQuery()方法来执行; B、ExecuteNonQuery()方法返回执行Sql语句所影响的行数。 C、Select操作的Sql语句只能由ExecuteReader()方法来执行; D、ExecuteReader()方法返回一个DataReder对象; 9.Winform中,关于ToolBar控件的属性和事件的描述不正确的是( )。 A、Buttons属性表示ToolBar控件的所有工具栏按钮

2014年7月程序设计试题和答案

2014年7月高等教育自学考试Visual Basic 程序设计试题 (课程代码 07759) 一、单项选择题(本大题共16小题,每小题1分,共16分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.下列能从字符串“Microsoft”中直接取出子字符串“Micro”的函数是() A. Mid B. Left C. Instr D. String 2.下列不合法的Visual Basic变量名是() A. c_b B. andif C. cb6 D. _xyz 3.如果将布尔常量值True赋值给一个整型变量,则整型变量的值为() A. False B. True C. -1 D.1 4.在窗体上有一个名称为Text1的文本框,影响Text1的输入最大字符数量的属性是() A. Visible B. TabStop C. MaxLength D. SelLength 5.InputBox函数的返回值类型是() A.字符串型 B.变体型 C.数值型 D.数值或字符串型(视输入的数据而定) 6.设a=8,b=6,则执行x=IIf(b\a*a=10,0.-1)后,x的值为() A.1 B.0 C.使用错误 D.-1 7.当某个控件获得焦点时,将会触发的事件是() A. SetFocus B. GotFocus C. ReceiveFocus D.无事件触发 8.类模块文件的扩展名为() A. .cls B. .frx C. .bas D. .vbp 9.将CommonDialog通用对话框设置为“另存为”对话框,须选择的方法为() A. ShowOpen B. ShowColor C. ShowSave D. ShowFont 10.对窗体进行操作时,能实现将窗体装入内存和显示的方法是() A. Hide B. Unload C. Load D. Show 11.按照数据的编码方式,文件可以分为() A.程序文件和数据文件 B.顺序文件盒随机文件 C.ASCII文件盒二进制文件 D.磁盘文件和打印文件 12.在菜单项的属性中,能使该菜单项失效的属性是() A. Enabled B. Checked C. Visible D. Caption 13.要想从过程调用后返回一个整数型结果,则下列过程说明正确的是() A. Sub f1(Byval x As Single)As Integer B. Function f2(Byval x As Integer)As Single C. Sub f3(x As Integer)As Single

程序设计部分试题及答案

第1题/*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:从键盘为一维整型数组输入10个整数,调用fun 函数找出其中最小的数,并在main函数中输出。 请编写fun函数。 -------------------------------------------------*/ #include "" void wwjt(); int fun(int x[],int n) { /**********Program**********/ /********** End **********/ } main() { int a[10],i,min; for(i=0;i<10;i++) scanf("%d",&a[i]); for(i=0;i<10;i++) printf("%3d",a[i]); printf("\n"); min=fun(a,10); printf("%d\n",min); wwjt(); } void wwjt() {

FILE *IN,*OUT; int iIN[10],i; int iOUT,iCOUNT; IN=fopen("","r"); if(IN==NULL) { printf("Please Verify The Currernt Dir..it May Be Changed"); } OUT=fopen("","w"); if(OUT==NULL) { printf("Please Verify The Current Dir.. it May Be Changed"); } for(i=0;i<10;i++) { for(iCOUNT=0;iCOUNT<10;iCOUNT++) fscanf(IN,"%d",&iIN[iCOUNT]); iOUT=fun(iIN,10); fprintf(OUT,"%d\n",iOUT); } fclose(IN); fclose(OUT); } 参考答案 ---------------------- int min,i; min=x[0]; for(i=1;i

程序设计基础试题(附答案)

程序设计基础复习题 一、单选 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、JAVA B、Object Pascal C、Delphi D、C 12、不是C语言的基本数据类型是() A、int B、double C、char D、bool 13、在C语言中,为了求两个整数相除之后得到的余数,可以使用运算符() A、/ B、% C、* D、++ 14、数据的逻辑结构分为() A、纯属结构和非线性结构 B、顺序结构和非顺序结构 C、树型结构和图型结构 D、链式结构和顺序结构 15、用链表表示纯属表的优点是() A、便于随机存取 B、便于插入和删除操作 C、花费的存储空间较顺序存储少 D、元素的物理顺序与逻辑顺序相同 16、栈的最主要特点是() A、先进先出 B、先进后出 C、两端进出 D、一端进一端出 17、下面4句结论只有一句是错误的,它是()

C程序设计试题及答案

20XX年lO月高等教育自学考试全国统一命题考试 C++程序设计试卷 (课程代码04737) 本试卷共8页,满分l00分,考试时间l50分钟。 考生答题注意事项: 1.本卷所有试题必须在答题卡上作答。答在试卷上无效,试卷空白处和背面均可作草稿纸。2.第一部分为选择题。必须对应试卷上的题号使用2B铅笔将“答题卡”的相应代码涂黑。3.第二部分为非选择题。必须注明大、小题号,使用0.5毫米黑色字迹签字笔作答。4.合理安排答题空间,超出答题区域无效。 第一部分选择题 一、单项选择题(本大题共20小题,每小题l分,共20分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题卡”的相应代码涂黑。未涂、错涂或多涂均无分。 1.在编译指令中,宏定义使用的指令是 A.#include B.#define C.#if D.#else 2.基类中的protected成员,通过哪种派生,其在派生类中的可见性为protected? A.public和private B.public和protected C.protected和private D.仅protected 3.基类中的public成员,通过public派生,基在派生类中的可见性为 A.不可访问 B.private C.protected D.public 4.不同对象调用同名函数,但导致完全不同行为的现象称为 A.抽象 B.封装 C.继承 D.多态性 5.头文件扩展名为 A.cpp B.h C.ub D.ob 6.声明函数为内联使用的关键字为 A.const B.inline C.short D.signed 7.设类A中有静态数据成员x,两个A类对象a和b,若a.x=10,则b.x的值为 A.9 B.10 C.1l D.不能确定

程序设计习题及答案

2011-2012年度第一学期“C语言程序设计”期末考试复习提纲一、考试题型 二、题例: (一)项目二数据类型、运算符和表达式 选择题: 1. 不合法的C语言整型常量是 A 。 A. –012 B. 0x35 C. 123L D. 8E2 2. 不合法的C语言实型常量是 A 。 A. E3 B. . 123 C. –6.2E4 D. 5.0 3. 不合法的C字符常量是 C 。 A. ’2’ B. ’\101’ C. ’AB’ D. ’\n’ 4.下列四组选项中,均是不合法的用户标识符的选项是 B 。 A. W P_0 do B. b-a goto int C. float la0 _A D. -123 abc TEMP 5.下列四组选项中,均是合法转义字符的选项是 A 。 A. ’\”’’\\’’\n’ B. ’\’’\017’’\”’ C. ’\018’’\f’’xab’ D. ’\\0’’\101’’xlf’ 6. 定义三个变量a、b、c,并分别赋初值为5。能实现该功能的语句是 C 。 A. int a=b=c=5; B. int a,b,c=5; C. int a=5,b=5,c=5; D. int a=5;b=5;c=5; 7. 若x,y,t均为int类型,则执行语句x=y=3;t=++x||++y;后,y的值是 D 。 A. 不定值 B. 4 C. 1 D. 3 8.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为 C 。 x=(i=4,j=16,k=32) A. 4 B. 16 C. 32 D. 52 9.设有说明:char w; int x; float y; double z;则表达式w*x+z-y值的数据类型为 D 。 A. float B. char C. int D. double

相关主题