程序设计典型例题解析(2)
- 格式:doc
- 大小:156.50 KB
- 文档页数:10
【第1题】题目:请编写函数fun,对长度为7的字符串,除首、尾字符外,将其余5个字符按将序排列。
例如,雨来的字符串为CEAedca,排序后输出为CedcEAa。
Int fun(char *s,int num){Int i,j;chat t;for(i=1;i<num-1;i++)for(j=i+1;j<num-1;j++)if(s[i]<s[j]){ t=s[i];s[i]=s[j];s[j]=t;}}【第2题】题目:编写函数fun,其功能是:计算出k以内最大的10个能被13或17整除的自然数之和。
(k (3000)。
Int fun(int k){int a=0,b=0,j;while((k>=2)&&(b<10)){k--;if((k%13= =0) | | (k%17= =0)){a=a+k;b++;}}Return a;}【第3题】题目:产生15个[20,80]上的随机整数:用顺序法(比较法)按从小到大排序输出。
void fun(int a[], int n){ int I,j,t;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(a[i]>[j]){t=a[i];a[i]=a[j];a[j]=t; }}【第4题】题目:请编写函数fun,它的功能是:判断m是否为素数。
主函数的功能是:求出100到200之间的素数的个数。
int fun(int m){int i,j;int k=1;if(m<=1) k=0;for(i=2;i<m;i++)if(m%i=0) k=0return k;}【第5题】题目:编写函fun,求一个字符串的长度,在main函数中输入字符串,并输出其长度。
int fun(char *pl){char *p;int n=0;p=pl;while(*p++) n++;rerurn n;}【第6题】题目;给定n个数据,求最大值出现的位置(如果最大值出现多次,求出第一次出现的位置即可)。
C语言程序设计试题第1、2、3章 概述、类型、表达式一、选择题1、 一个C程序由若干个C函数组成,各个函数在文件中的位置顺序为:( )A、 任意B、 第一个函数必须是主函数,其他函数任意C、 必须完全按照执行的顺序排列D、 其他函数可以任意,主函数必须在最后2、 下列四个叙述中,正确的是:( )A、 C程序中的所有字母都必须小写B、 C程序中的关键字必须小写,其他标示符不区分大小写C、 C程序中的所有字母都不区分大小写D、 C语言中的所有关键字必须小写3、 下列四个叙述中,错误的是:( )A、 一个C源程序必须有且只能有一个主函数B、 一个C源程序可以有多个函数C、 在C源程序中注释说明必须位于语句之后D、 C源程序的基本结构是函数4、 下面不是C语言合法标识符的是:( )A、abcB、5nC、_4mD、x35、 以下叙述不正确的是:( )A. 分号是C语句的必要组成部分B. C程序的注释可以写在语句的后面C. 函数是C程序的基本单位D. 主函数的名字不一定非用main来表示6、 C语言中允许的基本数据类型包括:( )A. 整型、实型、逻辑型B. 整型、实型、字符型C. 整型、字符型、逻辑型D. 整型、实型、逻辑型、字符型7、 C语言中能用八进制表示的数据类型为:( )A、字符型、整型B、整形、实型C、字符型、实型、双精度型D、字符型、整型、实型、双精度型8、 下列属于C语言合法的字符常数是:( )A、’\97’B、”A”C、’\t’D、”\0”9、 在C语言(VC环境)中,5种基本数据类型的存储空间长度的排列顺序为:( )A、char<int<=long int <=float<doubleB、char=int<long int <=float<doubleC、char<int<long int=float=doubleD、char=int=<long int <=float<double10、 在C语言中(VC环境),一定是长整型常数的是:( )A、0LB、4962710C、0412765D、0xa34b7fe11、 若有以下定义语句char c1=’b’, c2=’e’;printf(“%d,%c\n”,c2-c1,c2-‘a’+’A’);则输出结果是:( )A、2,MB、3,EC、2,ED、输出项与相应的格式控制不一致,输出结果不确定12、 以下合法的赋值语句是:( )A、x=y=100B、d--;C、x + yD、c = int(a+b);13、 设变量t为int型,下列选项中不正确的赋值语句是:( )A、++t;B、n1=(n2=(n3=0));C、k=i==m;D、a=b+c=1;14、 在以下一组运算符中,优先级最高的是:( )A、<=B、==C、%D、&&15、 下列能正确表示a≥10或a≤0的关系表达式是:( )A、a>=10 or a<=0B、a<=10 || a>=0C、a>=10 || a<=0D、a>=10 && a<=016、 下列只有当整数x为奇数时,其值为“真”的表达式是:( )A、x%2==0B、!(x%2==0)C、(x-x/2*2)==0D、! (x%2)17、 设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是:( )A、1 0< a < 15B、!(a<=10 || a>=15)C、a>10 && a<15D、!(a<=10) && !(a>=15)18、 已知x=43, ch=’A’,y=0;则表达式(x>=y&&ch<’B’&&!y)的值是:( )A、0B、语法错C、1D、“假”19、 表达式17%4 /8的值为:( )A、0B、1C、2D、320、 语句printf(“%d”,(a=2)&&(b= -2));的输出结果是:( )A、无输出B、结果不确定C、-1D、121、 一个可执行的C程序的开始执行点是:( )A. 程序中的第一个语句B. 包含文件中的第一个函数C. 名为main的函数D. 程序中的第一个函数22、 组成C语句的一个必不可少的符号是:( )A. 逗号B. 引号C. 冒号D. 分号23、 若将int、long、float等类型的数据进行混合运算,其结果的数据类型是:( )A. intB. longC. floatD. double24、 下述是C语言中有关变量定义的几个说法,正确的是:( )A. 变量可以不定义直接使用B. 一个说明语句只能定义一个变量C. 几个不同类型的变量可在同一语句中定义D. 变量可以在定义时进行初绐化25、 与x * = y + z等价的赋值表达式是:( )A. x = y + zB. x = x * y + zC. x = x * (y + z)D. x = x + y * z26、 当代电子计算机能够自动地处理指定的问题是因为:( )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、 C语言是一种:( )A.机器语言 B.汇编语言 C.高级语言 D.以上都不是34、 C语言源程序的扩展名为:( )A..exe B..c C..obj D..cpp35、 C程序编译后最终产生(即计算机执行)的文件的扩展名为()A..exe B..c C..obj D..cpp36、 下列各项中,不是C语言的特点是:( )A.语言简洁、紧凑,使用方便B.程序执行效率高,可移植性好C.能实现汇编语言的大多数功能D.有较强的网络操作功能37、 构成C语言源程序的基本单位是:( ) A.子程序 B.过程 C.文本 D.函数38、 下列叙述正确的是:( )A.C语言源程序可以直接在DOS环境中运行B.编译C语言源程序得到的目标文件可以直接在DOS环境中运行C.C语言源程序经过编译、连接得到的可执行程序可以直接在DOS环境中运行D.C语言源程序可以直接在VC++环境中运行39、 某C程序由一个主函数main()和一个自定义函数max()组成,则该程序:( )A.写在前面的函数先开始执行B.总是从main()函数开始执行C.总是从max()函数开始执行D.写在后面的函数先开始执行40、 以下叙述不正确的是:( )A.分号是C语句的必要组成部分B.C程序的注释可以写在语句的后面C.函数是C程序的基本单位D.主函数的名字不一定用mian表示41、 以下为C语句的是:( )A.a=8 B.a++; C.if(a>8) D.#include <stdio.h>以下不是C语句的是:( )A.a=8; B.a++; C.if(a>8); D.for(i=1;i<5;i++)42、 以下所列语句中,合法的语句是:( )A.a=1,b=2 B.++a; C.a=a+1=5 D.y=int(a);43、 C程序中的复合语句指的是:( )A.并列的多个C语句 B.写在同一行中的多个C 语句C.用一对大括号对括的多个C语句 D.就是函数体中的语句44、 当一个很长的C语句(中间无字符串)在一行写不下(超出屏幕的宽度)时,应该:( )A.由系统自动换行 B.立即按回车键换行C.在任意一个空格处按回车键换行D.输入一个分号后并按回车键换行换行45、 在x值处于-2~2,4~8时值为“真”,否则为“假”的表达式是:( )。
高级语言程序设计自考题-2(总分100, 做题时间90分钟)一、单项选择题1.设int a=2,b=6,c=8;,表达式(a,b ),(c,10)的值是( ) A.2 B.6C.8 D.10SSS_SIMPLE_SINA B C D分值: 2答案:D[解析] 逗号的同级结合性为自左向右,逗号表达式的值为最后一个表达式的值。
(a,b )的值为6,(c,10)的值为10,故整个表达式的值为10。
2.以下程序的运行结果是( )#include<stdio.h>main()int a[]=1,2,3,4,5,6,7,8,9,10,11,12;int *p=&a[5],*q=NULL;printf("%d%d\n",*p,*q);A.运行后报错B.6 0C.6 12 D.5 5SSS_SIMPLE_SINA B C D分值: 2答案:A[解析]#include<stdio.h>main(){int a[]={1,2,3,4,5,6,7,8,9,10,11,12};int*p=&a[5],*q=NULL;printf("%d%d\n",*P,*q);/*被置空的指针不能参与"*"运算*/}3.以下属于C语言保留字的是( )A.define B.putC.fclose D.externSSS_SIMPLE_SINA B C D分值: 2答案:D4.下面程序的功能是输出以下形式的金字塔图案:#include<stdio.h>main()int i,j;for(i=1;i<=4;i++)for(j=1;j<=4-i;j++)printf("");for(j=1;j<=______;j++)printf("*");printf("\n");在下划线处应填入的是( )A.i B.2*i-1C.2*i+1 D.i+2SSS_SIMPLE_SINA B C D分值: 2答案:B[解析] 应填入控制打印"*"的个数,其个数与行数i的关系是2*i-1的关系。
程序设计题库及答案详解程序设计题库及答案详解是面向计算机科学与技术专业学生以及编程爱好者的一份重要学习资料。
它不仅包含了大量的编程题目,还提供了详细的解题思路和答案,帮助读者深入理解程序设计的原理和技巧。
# 一、基础题目1. 题目1:编写一个程序,实现两个整数的加法。
- 答案详解:首先定义两个整数变量,然后使用加法运算符将它们相加,并将结果存储在一个新变量中。
最后,输出结果。
2. 题目2:编写一个程序,实现字符串的反转。
- 答案详解:可以使用循环结构遍历字符串的每个字符,并将它们添加到一个新的字符串的开始位置。
完成后,输出反转后的字符串。
# 二、数组与循环3. 题目3:编写一个程序,找出数组中的最大值。
- 答案详解:首先初始化一个变量来存储最大值,然后使用循环遍历数组中的每个元素,并与当前最大值进行比较,如果当前元素更大,则更新最大值。
循环结束后,输出最大值。
4. 题目4:编写一个程序,实现数组的排序。
- 答案详解:可以使用冒泡排序或选择排序等算法。
以冒泡排序为例,通过多次遍历数组,比较相邻元素的大小,并在必要时交换它们的位置,直到整个数组有序。
# 三、函数与递归5. 题目5:编写一个函数,计算两个数的乘积。
- 答案详解:定义一个函数,接受两个参数,然后在函数内部使用乘法运算符计算它们的乘积,并返回结果。
6. 题目6:编写一个递归函数,计算阶乘。
- 答案详解:定义一个递归函数,如果输入的数为0或1,则返回1;否则,返回输入数乘以递归调用该函数的结果,输入数减1。
# 四、数据结构7. 题目7:编写一个程序,实现链表的插入操作。
- 答案详解:首先定义链表节点的结构,然后编写一个函数来创建新的节点。
在插入操作中,根据插入位置的不同,调整节点的指针指向。
8. 题目8:编写一个程序,实现二叉树的遍历。
- 答案详解:可以使用前序、中序或后序遍历。
以中序遍历为例,首先遍历左子树,然后访问根节点,最后遍历右子树。
VB程序设计教案例题及解析程序设计教案例题及解析VB程序设计是一门非常重要的计算机科学技能,它在各行各业都有广泛的应用。
本文旨在提供一些VB程序设计练习题及解析,帮助初学者获取更多知识,并提高自己的技能水平。
一、VB程序设计实践题1.基础实践题目:设计一个VB程序,让用户输入两个数并输出两个数之和。
2.中级实践题目:设计一个VB程序,让用户输入一个数字并输出该数字的因数。
3.高级实践题目:设计一个VB程序,让用户输入文本并输出该文本中出现次数最多的字符。
二、VB程序设计实践解析1.基础实践题目解析:我们需要在VB程序中设计两个文本框和一个按钮,用于用户输入两个数并输出两数之和。
用户输入两个数后,我们需要通过VB程序获取用户输入的数值,并通过代码计算它们的和。
代码如下:Dim x As IntegerDim y As IntegerDim sum As Integerx = Val(Text1.Text)y = Val(Text2.Text)sum = x + yText3.Text = sum在代码中,我们使用了VB中的计算公式sum=x+y来计算两个数的和,并使用了Text3.Text将计算结果输出。
2.中级实践题目解析:在这个题目中,用户需要输入一个数字,并输出该数字的因数。
我们可以通过VB程序实现这个操作。
我们需要在VB程序中设计一个文本框和一个按钮,用于用户输入一个数字并输出该数字的因数。
用户输入数字后,我们需要通过VB程序获取用户输入的数值,并通过代码计算它的因数。
代码如下:Dim x As IntegerDim i As IntegerDim count As Integerx = Val(Text1.Text)For i = 1 To x Step 1If x Mod i = 0 Thencount = count + 1End IfNext iText2.Text = count在代码中,我们使用了VB中的For循环语句来遍历x的因数,并计算因数的数量(count)。
汇编语言程序设计第四版【课后习题答案】--囮裑為檤第2章8086的指令系统〔习题2.1〕已知DS=2000H、BX=0100H、SI=0002H,存储单元[20100H]~[20103H]依次存放12 34 56 78H,[21200H]~[21203H]依次存放2A 4C B7 65H,说明下列每条指令执行完后AX寄存器的内容。
(1)mov ax,1200h(2)mov ax,bx(3)mov ax,[1200h](4)mov ax,[bx](5)mov ax,[bx+1100h](6)mov ax,[bx+si](7)mov ax,[bx][si+1100h]〔解答〕(1)AX=1200H(2)AX=0100H(3)AX=4C2AH ;偏移地址=bx=0100h(4)AX=3412H ;偏移地址=bx=0100h(5)AX=4C2AH ;偏移地址=bx+1100h=1200h(6)AX=7856H ;偏移地址=bx+si=0100h+0002h=0102h(7)AX=65B7H ;偏移地址=bx+si+1100h=0100h+0002h+1100h=1202h〔习题2.2〕指出下列指令的错误(1)mov cx,dl(2)mov ip,ax(3)mov es,1234h(4)mov es,ds(5)mov al,300(6)mov [sp],ax(7)mov ax,bx+di(8)mov 20h,ah〔解答〕(1)两操作数类型不匹配(2)IP指令指针禁止用户访问(3)立即数不允许传给段寄存器(4)段寄存器之间不允许传送(5)两操作数类型不匹配(6)目的操作数应为[ SI ](7)源操作数应为[BX+DI](8)立即数不能作目的操作数〔习题2.3〕已知数字0 ~ 9对应的格雷码依次为:18H、34H、05H、06H、09H、0AH、0CH、11H、12H、14H,它存在于以table为首地址(设为200H)的连续区域中。
RAPTOR程序设计一、顺序结构编程1.输入任意一个华氏温度值,然后将其转换成摄氏温度输出。
算法:c = 5 / 9 (f - 32)2.输入任意三角形的三边之长存入变量a、b、c中,然后计算并输出该三角形的面积。
海伦公式:p = (a + b + c)/2 S = sqrt (p * (p - a) * ( p – b ) * ( p – c ))二、选择结构编程3.输入任意一个年份,判断该年是否为润年。
若是则打印“Yes!”,否则打印”No!”。
4. 输入任意两个数存入变量a、b中,要求:变量a中存储较大数,b中存储较小数,然后输出变量a和b的值。
5.输入任意三个数存入变量a、b、c中,然后计算并输出其中的最大值。
6.输入任意三个数存入变量a、b、c中,然后按从小到大的顺序打印输出。
7.输入任意一个学生的考试成绩,然后按其所属分数段打印对应等级:90-100分为A 等,80-89分为B等,70-79为C等,60-69为D等,60分以下为E等。
三、循环结构编程8.计算并输出sum = 1 + 2 + 3 + … + 10的和。
改进程序计算sum = 1 + 2 + 3 + …+ n的和。
9.输入任意自然数n,然后计算并输出n!值。
10. 计算并输出sum = 1! + 2! + 3! + … + n!11. 输入任意整数存入变量n中,若n≤0则输出“Error!”;否则组织循环结构流程计算sum = 1 / 2 + 2 / 3 + 3 / 4 + … + n / ( n + 1 )的值,然后分别输出变量n和sum的值。
12.设计循环结构程序输入任意10个整数,分别统计其中的奇数个数、偶数个数、所有数的累加和,然后显示结果。
13.设计校园歌手大赛计分程序,假设有10评委按10分制打分,计算每位选手扣除一个最高分、最低分后的平均分,显示计分结果。
14. 输入任意两个数存入变量a和b,然后求a和b最大公约数和最小公倍数。
第1章课堂实训1-1. 编写一个简单的C#程序,输出如下内容:/************************************************ How are you ! ************************************************/1-2. 参考附录A,安装Visual Stdio 2005集成开发环境。
1-3. 参考附录A,安装MSDN。
1-4.定制Visual 的集成开发环境。
习题一1-1. 选择题(1) 下面对Read()和ReadLine()方法的描述,哪些是正确的。
(A,D)A. Read()方法一次只能从输入流中读取一个字符B. 使用Read()方法读取的字符不包含回车和换行符C. ReadLine()方法读取的字符不包含回车和换行符D. 只有当用户按下回车键时,Read()和ReadLine()方法才会返回(2) 下面对Write()和WriteLine()方法的描述,哪些是正确的。
(B)A. WriteLine()方法在输出字符串的后面添加换行符B. 使用Write()方法输出字符串时,光标会位于字符串后面C.使用Write()和WriteLine()方法输出数值变量时,必须要先把数值变量转换成字符串D. 使用不带参数的WriteLine()方法时,将不会产生任何输出1-2.C#程序从哪儿开始执行?(Main()方法)1-3. 在C#程序中,using System 是必须的吗?(是)1-4.C#中有两种注释方法:_//_____适用于单行注释,/* */______适用于多行注释。
第2章课堂实训2-1.输入一个3位数的整数,编写一个程序,将它的十位数和百位数互换位置。
习题二2-1. 选择题(1) 下列标识符命名正确的是(A,D)A._int, Int, @int B. using, _using, @usingC. NO1, NO_1, NO.1D. A3, _A3,@A3(2) 下列变量的声明方式不正确的是( A,B)A. int a, string b, char c;B. int a=c=b=21;C. char a;D. string myString =”abc”;(3) 下面的标识符中,合法的是( C )A. class , publicB. 3a, _3aC. a3D. a#5(4) 设有说明语句int x=8;则下列表达式中,值为2的是(C )A. x>8?x=0:x++;B. x/= x+x;C. x %= x-2;D. x+= 2;2-2. C#的每条语句都通过___分号“;”___来结束。
计算机程序设计员实操考核经典试题答案解析与思路讲解与技巧分享前言计算机程序设计员是一个广阔的职业领域,在担任这个职位之前,通常需要进行实操考核。
实操考核试题通常涵盖多个方面的内容,包括编程语言的知识、算法的应用、代码的调试等等。
在本文中,我们将为大家提供一些经典试题的解析,并分享一些解题思路和技巧,希望能够帮助大家更好地准备实操考核。
试题解析问题一:数组排序题目要求:编写一个函数,对输入的数组进行排序。
解析:对数组进行排序是编程中常见的需求之一。
常用的排序算法有冒泡排序、插入排序、选择排序、快速排序等等。
在解答这个问题的时候,我们可以选择其中一种排序算法来实现。
下面是使用冒泡排序算法对数组进行排序的代码示例:def bubble_sort(arr):n = len(arr)for i in range(n):for j in range(0, n-i-1):if arr[j] > arr[j+1]:arr[j], arr[j+1] = arr[j+1], arr[j]return arr我们通过不断比较相邻的两个元素,将较大的元素向右移动,从而实现排序的目的。
问题二:字符串反转题目要求:编写一个函数,将输入的字符串进行反转。
解析:字符串反转是一个常见的编程问题。
我们可以使用多种方法来实现字符串反转,包括使用额外空间、使用递归等等。
下面是使用递归方法来实现字符串反转的代码示例:def reverse_string(s):if len(s) ==0:return selse:return reverse_string(s[1:]) + s[0]这个方法的思路是将字符串切分为第一个字符和剩余部分,然后将剩余部分进行递归调用,最后将结果与第一个字符拼接起来,得到最终的反转字符串。
思路讲解在实操考核中,除了对具体问题的解答能力,还会对我们的思维能力进行考察。
在解题过程中,我们需要充分发挥自己的思维能力,尝试不同的解题思路。
一、程序设计共113题第1题题号:319#include "stdio.h"void wwjt();int fun(int m){int i,k=1;if(m<=1) k=0;for(i=2;i<m;i++)if(m%i==0) k=0;return k;}第2题题号:351-----------功能:请编一个函数void fun(int tt[M][N],int pp[N]),tt指向一个M行N列的二维数组,求出二维数组每列中最大元素,并依次放入pp所指一维数组中。
二维数组中的数已在主函数中赋予。
#include<conio.h>#include<stdio.h>#define M 3#define N 4void wwjt();void fun(int tt[M][N],int pp[N]) {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];}第3题题号:375功能:从键盘上输入任意实数,求出其所对应的函数值。
z=e的x次幂(x>10)z=log(x+3) (x>-3)z=sin(x)/((cos(x)+4)#include <math.h>#include<stdio.h>void wwjt();double y(float x){double z;if(x>10) z=exp(x);else if(x>-3) z=log(x+3);else z=sin(x)/(cos(x)+4);return(z);}第4题题号:334功能:求给定正整数n以内的素数之积。
(n<28)#include <stdio.h>#include"conio.h"void wwjt();long fun(int n){long i,k;long s=1;for(i=2;i<=n;i++){for(k=2;k<i;k++)if(i%k==0)break;if(k==i)s=s*i;}return s;}第5题题号:333功能:计算并输出给定整数的所有因子之积(包括自身)。
顺序结构、选择结构和循环结构的程序设计典型例题分析与解答1 在三种选择结构中,能用2个条件,控制从3个操作中选择一个操作执行的选择结构是______选择结构【分析】能用1个条件,控制某个操作做或不做的选择结构是单分支结构;能用1个条件,控制从2个操作中选择一个操作执行的选择结构是双分支结构;能用n(n>l)个条件,控制从n+ l个操作中选择一个操作执行的选择结构是多分支结构。
【答案】多分支2 在三种循环结构中,先执行循环操作内容(即循环体),后判断控制循环条件的循环结构是______循环结构。
【分析】当型循环结构是先判断控制循环的条件,条件成立,执行循环体;条件不成立,则退出循环体。
次数型循环结构也是先判断是否达到循环次数,没有达到循环次数,执行循环体;达到循环次数的,退出循环。
只有直到型循环结构才是先执行循环体,然后再判断控制循环的条件,如果条件成立,进行循环;条件不成立,退出循环。
【答案】直到型3 使用“getchar( )”函数时,程序的开头必须写一条包含命令为____________。
【分析】凡是使用系统函数的程序,都要在程序的开头写一条包含命令,包含命令中的“头函数.h”是一个文件,其中有关于该系统函数的定义。
系统函数“getchar( )”是在名为“stdio.h(标准输入输出函数)”的头函数文件中定义的。
【答案】#include"stdio.h"或#include<stdio.h>4 执行输入语句“scanf("x=%c,y=%d",&x,&y);”,要使字符型变量X的值为'A'、整型变量y的值为12,则从键盘上正确的输入是( )①'A'/②A/③x=A/ ④x=A,y=12/12/ 12/ y=12/ 说明:备选答案中的"/"表示回车换行键【分析】输入语句的格式控制符串中的“x=”、“,”、“y=”都是非格式控制符,在输入时必须原样位置输人,所以只有备选答案④才符合这个要求。
RAPTOR程序设计一、顺序结构编程1.输入任意一个华氏温度值,然后将其转换成摄氏温度输出。
算法:c = 5 / 9 (f - 32)2.输入任意三角形的三边之长存入变量a、b、c中,然后计算并输出该三角形的面积。
海伦公式:p = (a + b + c)/2 S = sqrt (p * (p - a) * ( p – b ) * ( p – c ))二、选择结构编程3.输入任意一个年份,判断该年是否为润年。
若是则打印“Yes!”,否则打印”No!”。
4. 输入任意两个数存入变量a、b中,要求:变量a中存储较大数,b中存储较小数,然后输出变量a和b的值。
5.输入任意三个数存入变量a、b、c中,然后计算并输出其中的最大值。
6.输入任意三个数存入变量a、b、c中,然后按从小到大的顺序打印输出。
7.输入任意一个学生的考试成绩,然后按其所属分数段打印对应等级:90-100分为A 等,80-89分为B等,70-79为C等,60-69为D等,60分以下为E等。
三、循环结构编程8.计算并输出sum = 1 + 2 + 3 + … + 10的和。
改进程序计算sum = 1 + 2 + 3 + …+ n的和。
9.输入任意自然数n,然后计算并输出n!值。
10. 计算并输出sum = 1! + 2! + 3! + … + n!11. 输入任意整数存入变量n中,若n≤0则输出“Error!”;否则组织循环结构流程计算sum = 1 / 2 + 2 / 3 + 3 / 4 + … + n / ( n + 1 )的值,然后分别输出变量n和sum的值。
12.设计循环结构程序输入任意10个整数,分别统计其中的奇数个数、偶数个数、所有数的累加和,然后显示结果。
13.设计校园歌手大赛计分程序,假设有10评委按10分制打分,计算每位选手扣除一个最高分、最低分后的平均分,显示计分结果。
14. 输入任意两个数存入变量a和b,然后求a和b最大公约数和最小公倍数。
归并排序例题解析归并排序是一种基于分治思想的排序算法,在实际程序设计中应用广泛。
下面我们将介绍归并排序的实现过程,并通过一个简单的例题来解析它的基本原理。
一、算法思想1. 分治法:将原始序列分为若干子序列,分别进行排序;2. 合并有序序列:将已排序的子序列进行合并,得到排好序的原始序列。
二、实现步骤1. 分割:将待排序序列分成两个长度相等的子序列;2. 归并:将两个已排序的子序列合并成一个有序序列。
三、例题题目描述:给定一个由数字组成的序列,将其按照从小到大的顺序进行排序。
输入数据:7,6,3,8,2,9,1,4,5输出结果:1,2,3,4,5,6,7,8,9(1)分割我们将待排序序列分成两个长度相等的子序列:7,6,3,8,2,9,1,4,57,6,3,8,2 9,1,4,57,6 3,8,2 9,1 4,57 6 3 8 2 9 1 4 5(2)归并我们先将左右两个子序列进行排序:左子序列:6,7,2,3,8右子序列:1,9,4,5接着,我们从左右两个子序列的首位开始,将每个数字按照从小到大的顺序放入一个新序列中:1,2,3,4,5,6,7,8,9四、代码实现下面是归并排序在Python中的简单实现:def merge_sort(arr):if len(arr) > 1:mid = len(arr) // 2left_half = arr[:mid]right_half = arr[mid:]merge_sort(left_half)merge_sort(right_half)i, j, k = 0, 0, 0while i < len(left_half) and j < len(right_half): if left_half[i] < right_half[j]:arr[k] = left_half[i]i += 1else:arr[k] = right_half[j]j += 1k += 1while i < len(left_half):arr[k] = left_half[i]i += 1k += 1while j < len(right_half):arr[k] = right_half[j]j += 1k += 1return arrarr = [7,6,3,8,2,9,1,4,5]arr = merge_sort(arr)print(arr)以上代码会输出排序后的结果:[1,2,3,4,5,6,7,8,9]。
C#考试题库一、简单题1.把输入的字符串str1中的内容逆置,并保存到字符串str2中,输出str2的内容。
例如:str1=“abc”,str2则为"cba"。
2.已知三角形三条边长a,b,c,三边由用户输入,计算三角形面积公式为:s=0.5*(a+b+c)area=错误!未找到引用源。
求三角形的面积area。
3.输入一个字符串str1,删除str1中其中所有的小写字符a,输出处理后的字符串。
4.输入7个数,计算平均值,并把低于平均值的数据输出。
5.输入7个数,计算平均值,并把高于平均值的数据输出。
6.输入10个数,找出其中最大数和次最大数。
7.输入10个数,找出其中最小数和次最小数。
8.输入若干(不超过10个)有序的正整数,对于相同的数据只保留一个,输出保留的数据。
例如,输入数据是: 2,2,2,3,3,4,5,5,6,6,9,9,9,10,10,10 最终的输出结果是: 2,3,4,5,6,9,10。
9.输入由数字字符组成的字符串,将其转换成为一个整数。
例如若输入字符串"3425",得到结果为整数值3425。
10.输入20个正整数,把其中的奇数和偶数分别保存并输出。
11.从终端输入3个数a、b、c,按从大到小的顺序输出。
12.从键盘读入20个数据到数组中,统计其中正数的个数,并计算这些正数之和。
13.求n以内(不包括n)同时能被3和7整除的所有自然数之和的平方根s,n从键盘输入。
例如若n为1000时,函数值应为:s=153.909064。
14.输入1~10之间的一个数字,输出它对应的英文单词。
例如输入1 输出one。
15.个位数为6且能被3整除但不能被5整除的三位自然数共有多少个,统计个数,并输出这些数。
16.输入一个字符串,用foreach语句计算输入的字符串的长度,并显示长度。
17.输入10个数,分别统计其中正数、负数、零的个数。
18.计算:1/2-2/3+3/4-4/5……前100项。
计算机等级考试中常见的程序设计题目解析与示例随着计算机技术的飞速发展,计算机等级考试作为一种评估和证明计算机能力的方式越来越受到重视。
在计算机等级考试中,程序设计题目是必不可少的一部分。
本文将对计算机等级考试中常见的程序设计题目进行解析,并给出相应的示例。
一、题目解析与示例1. 求解整数平方根题目描述:编写一个程序,求解一个给定整数n的平方根(结果取整)。
解析:本题可以使用二分查找的思想来解决。
首先,确定搜索范围,即左边界left = 0,右边界right = n。
然后,在[left, right]的区间内迭代查找,直到找到一个整数i,使得i * i大于等于n,此时i-1就是所求整数平方根。
示例代码:```#include <iostream>using namespace std;int squareRoot(int n) {int left = 0;int right = n;int result;while (left <= right) {int mid = left + (right - left) / 2;if (mid * mid <= n) {result = mid;left = mid + 1;} else {right = mid - 1;}}return result;}int main() {int n;cout << "请输入一个整数:";cin >> n;cout << "平方根为:" << squareRoot(n) << endl; return 0;}```2. 统计字符串中某个字符的个数题目描述:编写一个程序,统计给定字符串中某个字符出现的次数。
解析:本题可以使用循环遍历字符串的每个字符,然后判断是否与给定的字符相等。
如果相等,则计数器加1。
二级Java语言程序设计模拟试题及答案解析(2)(1/40)单项选择题第1题数据结构作为计算机的一门学科,主要研究数据的逻辑结构、对各种数据结构进行的运算,以及()A.数据的存储结构B.计算方法C.数据映像D.逻辑存储下一题(2/40)单项选择题第2题软件需求分析一般应确定的是用户对软件的()。
A.功能需求B.非功能需求C.性能需求D.功能需求和非功能需求上一题下一题(3/40)单项选择题第3题下列哪个选项不是FilterInputStream的子类()A.CheckedInputStreamB.BufferedInputStreamC.PushbackInputStreamD.FileInputStream上一题下一题(4/40)单项选择题第4题面向对象程序设计有许多特性,下列不是面向对象程序设计特性的是()。
A.多态性B.静态性C.封装性D.继承上一题下一题(5/40)单项选择题第5题下列数据类型转换,必须进行强制类型转换的是()A.byte→intB.short→longC.float→doubleD.int→char上一题下一题(6/40)单项选择题第6题Java虚拟机(JVM)运行Java代码时,不会进行的操作是()。
A.加载代码B.校验代码C.编译代码D.执行代码上一题下一题(7/40)单项选择题第7题关于异常,下列说法中正确的是()。
A.一旦程序运行,异常将被创建B.为了保证程序的运行速度,要尽量避免减少异常控制C.异常是一种对象D.以上说法都不对上一题下一题(8/40)单项选择题第8题下列数据结构中,按先进后出原则组织数据的是A.线性链表B.栈C.循环链表D.顺序表上一题下一题(9/40)单项选择题第9题下列说法中错误的是()。
A.CDC是Configuration的一部分,主要支持嵌入式设备开发B.CLDC是Configuration的一部分,主要支持嵌入式设备开发C.CDC是针对32bit的CPU,内存为2MBD.CDLC针对16bit或32bit的CPU,内存为128KB或256KB 上一题下一题(10/40)单项选择题第10题下列叙述中,正确的是( )。
《计算机常用算法与程序设计案例教程》习题解答提要习题11-1 分数分解算法描述把真分数a /b 分解为若干个分母为整数分子为“1”的埃及分数之和: (1) 寻找并输出小于a/b 的最大埃及分数1/c ; (2) 若c>900000000,则退出; (3) 若c ≤900000000,把差a/b-1/c 整理为分数a /b ,若a/b 为埃及分数,则输出后结束。
(4) 若a/b 不为埃及分数,则继续(1)、(2)、(3)。
试描述以上算法。
解:设)(int ab d = (这里int (x)表示取正数x 的整数),注意到1+<<d ab d ,有)1()1(11+-+++=d b bd a d ba算法描述:令c=d+1,则input (a,b)while (1){c=int(b/a)+1; if(c>900000000) retur n ; else{ print (1/c+); a=a*c-b;b=b*c; // a,b 迭代,为选择下一个分母作准备 if(a==1) { print (1/b);retur n ;} } }1-2 求出以下程序段所代表算法的时间复杂度 (1)m=0;for(k=1;k<=n;k++)for(j=k;j>=1;j--)m=m+j;解:因s=1+2+…+n=n(n+1)/2时间复杂度为O(n2)。
(2)m=0;for(k=1;k<=n;k++)for(j=1;j<=k/2;j++)m=m+j;解:设n=2u+1,语句m=m+1的执行频数为s=1+1+2+2+3+3+…+u+u=u(u+1)=(n−1)(n+1)/4设n=2u,语句m=m+1的执行频数为s=1+1+2+2+3+3+…+u=u2=n2/4时间复杂度为O(n2)。
(3)t=1;m=0;for(k=1;k<=n;k++){t=t*k;for(j=1;j<=k*t;j++)m=m+j;}解:因s=1+2×2!+ 3×3!+…+ n×n!=(n+1)!−1时间复杂度为O((n+1)!).(4)for(a=1;a<=n;a++){s=0;for(b=a*100−1;b>=a*100−99;b−=2){for(x=0,k=1;k<=sqrt(b);k+=2)if(b%k==0){x=1;break;}s=s+x;}if(s==50)printf("%ld \n",a);break;}}解:因a循环n次;对每一个a,b循环50次;对每一个b,k2次。
典型例题解析(2)一、填空题1.以顺序输入模式打开“c:\source1.txt”文件的命令是(1);以输出方式打开“c:\source2.txt”文件的命令是(2)。
分析:Print # 语句用于将把数据写入文件中。
Print语句格式为:Open 文件名 [For模式] As [#] 文件号“For 模式”为指定打开文件的模式是数据的输入模式还是输出模式。
结论:答案应为:(1)Open "c:\source1.txt" For Input As #1(2)Open "c:\source2.txt" For Output As #22.在Visual Basic中,文件系统控件包括(1)、(2)和文件列表框()。
三者协同操作可以访问任意位置的目录和文件,可以进行文件系统的人机交互管理。
分析:在Visual Basic中,文件系统控件包括驱动器列表框(DriveListBox)、目录列表框(DirListBox)和文件列表框()。
驱动器列表框可以选择或设置一个驱动器,目录列表框可以查找或设置指定驱动器中的目录,文件列表框可以查找指定驱动器指定目录中文件信息,三者协同操作可以访问任意位置的目录和文件,可以进行文件系统的人机交互管理。
结论:答案应为:(1)驱动器列表框(DriveListBox)(2)目录列表框(DirListBox)3.每次重新设置驱动器列表框的Drive属性时,都将引发(1)事件。
可在该事件过程中编写代码修改目录列表框的路径,使目录列表框内容随之发生改变。
分析:在Visual Basic中,每次重新设置驱动器列表框的Drive属性时,都将引发Change 事件。
可在Change事件过程中编写代码修改目录列表框的路径,使目录列表框内容随之发生改变。
驱动器列表框的默认名称为Drive1,其Change事件过程的开头为Drive1_Change()。
结论:答案应为:(1)Change4.目录列表框用来显示当前驱动器下目录结构。
刚建立时显示(1)的顶层目录和当前目录,如果要显示其他驱动器上的目录信息,必须改变路径,即重新设置目录列表框的(2)属性。
分析:在Visual Basic中,目录列表框用来显示当前驱动器下目录结构。
刚建立时显示当前驱动器的顶层目录和当前目录,如果要显示其他驱动器上的目录,必须改变路径,即重新设置目录列表框的Path属性。
结论:答案应为:(1)当前驱动器(2)Path5.对驱动器列表框来说,每次重新设置驱动器列表框的(1)属性时,将引发Change 事件;对目录列表框来说,当(2)属性值改变时,将引发Change事件;对于文件列表框,重新设置的(3)属性,将引发Change事件。
分析:在Visual Basic中,对驱动器列表框来说,每次重新设置驱动器列表框的Drive属性时,将引发Change事件;对于目录列表框和文件列表框改变路径,即重新设置列表框的Path属性,将引发Change事件。
结论:答案应为:(1)Drive(2)Path(3)Path6.以下程序段简要说明驱动器列表框、目录列表框及文件列表框三者协同工作的情况。
将程序段补充完整。
Private Sub Drive1_Change()(1)End SubPrivate Sub Dir1_Change()(2)End Sub分析:首先设置目录列表路径随驱动器列表路径改变而改变:每当改变驱动器列表框的Drive属性时,将产生驱动器列表框的Change事件,执行Drive1_Change事件过程,使驱动器列表框和目录列表框同步,即将目录列表框中的目录(Dir1.Path属性)变为该驱动器的目录(Drive1.Drive属性)。
然后,设置文件列表路径随目录列表路径改变而改变:当目录列表框Path属性的改变时,将产生目录列表框的Change事件,执行Dir1_Change事件过程,使目录列表框和文件列表框同步,即在文件列表框(属性)中显示目录驱动器所指目录下的文件信息(Dir1.Path属性)。
这样三个文件系统控件就协同工作了。
结论:答案应为:(1)Dir1.Path=Drive1.Drive(2)7.为了在运行时把当前路径下的图形文件pictureg装入图片框Picture1,所使用的语句为(1)。
分析:可以使用LoadPicture语句,必须先确定图片的位置,在本例中路径为当前路径可以采用默认路径;也可以在Picture1的Picture属性中直接设置打开文件对话框,在对话框中选择图片进行设置。
结论:答案应为:Picture1. Picture = LoadPrcture(“pic ture”)8.窗体Form1的左上角坐标为(0,600)窗体Form1的右下角坐标为(800,-200)。
X 轴的正向向(1),Y轴的正向向(2)。
分析:窗体右下角坐标为负值,说明Y轴的正向向上。
结论:答案应为:(1)右(2)上9.执行指令"Line(200,200,)-Step(500,500,)"后,CurrentX=。
分析:语句中Step(500,500)的意思是相对于当前点(200,200)的坐标,则当前坐标CurrentX=700。
结论:答案应为70010.执行指令"Line(200,200,)-(500,500,)"后,CurrentX=。
分析:语句中(500,500)即为当前点坐标,CurrentX=500。
结论:答案应为50011.要使图像框能够自动调整大小以适应其中的图形,应将图像框属性设置为。
分析:Stretch属性设置为False时,图像框可自动改变大小以适应其中的图形,设置为True时,加载到图像框的图形可自动调整尺寸以适应图像框的大小。
结论:答案应为(1)Stretch (2)False12.ADO模型中一般可通过Connection对象的(1)方法执行增加、删除、修改操作。
使用ADO模型时,建立Recordset和Connection对象连接的属性是(2)。
分析:应记住结论:Execute ActiveConnection13.Winsock控件主要用来编制TCP/IP或协议的通讯协议。
分析:应记住结论:UDP14.VB中设置断点的按键是,逐语句调试的语句是。
结论:答案应为F9 F815. On Error Resume Next语句表示:当发生错误时,VB程序将忽略引发错误的语句,并。
结论:继续执行下一条语句。
二、选择题1.()函数判断文件指针是否到了文件结束标志;()函数返回文件的字节数;()语句用于设置对文件“锁定”;()语句用于设置对文件“解锁”。
A.EOF、LOF、Lock、Unlock B.LOF、EOF、Lock、UnlockC.EOF、LOF、Unlock、Lock D.LOF、EOF、Unlock、Lock分析:EOF函数判断文件指针是否到了文件结束标志;LOF函数返回文件的字节数;Lock 语句用于设置对文件“锁定”;Unlock语句用于设置对文件“解锁”。
结论:答案应选A。
2.顺序文件的读操作通过下列()语句可以实现。
A.Input #和Read# B.Read#和Get#C.Get#和Input ## D.LineInput #和Input #分析:Input#语句和LineInput#语句实现顺序文件的对数据的读操作;随机文件的读操作通过Get语句来实现;VB中无Read语句。
结论:答案应选D。
3.如果准备读文件,打开顺序文件"text.dat"的正确语句是()A.Open"text.dat"For Write As #1 B.Open "text.dat" For Input As #1 C.Open "text.dat" For Binary As #1 D.Open "text.dat" For Random As #1 分析:以读方式打开顺序文件的语法格式为:Open <文件名> For Input As [#] <文件号>。
上述选项只有B满足条件。
结论:答案应为B4.如果准备向随机文件中写入数据,正确的语句是()A.Print #1, rec B.Write #1, recC.Put #1, , rec D.Get #1, , rec分析:随机文件写操作的语法格式为:Put[#]<文件号>,[记录号],<变量名>上述C选项是正确的。
结论:答案应为C5.当改变驱动器列表框中的驱动器时,为了使目录列表框中的内容同步跟着改变,应当()A.在Dir1_Change()事件中加入代码Dir1.Path=Drive1.DriveB.在Dir1_Channge()事件中加入代码Drive1.Drive =Dir1.Path C.在Dirve1_Channge()事件中加入代码Dir1.Path=Drive1.DriveD.在Dirve1_Channge()事件中加入代码Drive1.Drive =Dir1.Path分析:当改变驱动器列表框Drive1中的驱动器时,就会触发channge事件,执行Drive1_Change()过程,在过程执行时,要使目录列表框同步显示选定的驱动器目录结构,应将刚选定的驱动器目录结构赋给目录列表框(Dir1)的Path属性。
应选C 结论:答案应为C6.目录列表框Path属性的作用是()A.显示当前驱动器或指定驱动器上的目录结构B.显示当前驱动器或指定驱动器上的某目录下的文件C.显示根目录下的文件名D.显示路径下的文件分析:目录列表框Path属性的作用是显示当前驱动器或指定驱动器上的目录结构。
结论:答案应为A7.在下列选项中,不能将图像装入图片框和图像框的是()A.在界面设计时,通过Picture属性装入B.在界面设计时,手工在图像框和图片框中绘制图形C.在界面设计时,利用剪贴板把图像粘贴上D.在程序运行期间,用LoadPicture函数把图形文件装入分析:在设计时,将图像添加到图片框和图像框中有两种方法:即①使用对象的Picture 属性添加图片;②使用剪贴板,将图形粘贴到对象中。
在程序运行时添加图片通常也有两种方法,①使用LoadPicture函数加载图形文件,②使用Picture属性在对象间相互复制。
在界面设计时和程序运行期间,均不能手工在图像框和图片框中绘制图形。
所以上述选项中,B是错误的。
结论:答案应为B8.下面错误的语句是()A.Line (200, 200)-(400, 400), RGB(255, 0, 0)B.Line (200, 200)-(400, 400), , BC.Line (200, 200)-(400, 400), , FD.Circle (600, 600), 300, RGB(255, 0, 0)分析:Line方法可以画直线和矩形,Line方法的语法格式为:[对象].Line[[Step] (X1,Y1)]- [Step] X2,Y2)] [,[Color][,B[F]]。