2019年计算机软件水平考试初级程序员精选模拟试题

合集下载

2019年上半年软件水平考试(初级)程序员下午(应用技术)真题试卷含答案解析

2019年上半年软件水平考试(初级)程序员下午(应用技术)真题试卷含答案解析

流程图题---为题目类型1.阅读以下说明和流程图,填写流程图中的空缺,将解答填入对应栏内。

【说明】如果 n 位数(n≥2)是回文数(从左到右读与从右到左读所得结果一致),且前半部分的数字递增(非减)、后半部分的数字递减(非增),则称该数为拱形回文数。

例如,12235753221 就是一个拱形回文数。

显然,拱形回文数中不含数字 0。

下面的流程图用于判断给定的 n 位数(各位数字依次存放在数组的各个元素 A[i]中,i=1,2,…,n)是不是拱形回文数。

流程图中,变量 T 动态地存放当前位之前一位的数字。

当 n 是奇数时,还需要特别注意中间一位数字的处理。

【流程图】C 语言题---为题目类型2.阅读以下说明和 C 代码,回答问题,将解答写入对应栏内。

【说明】函数 bubbleSort(int arr[],int n,int(*compare)(int,int))的功能是根据调用时传递的比较函数 compare 对数组 arr 的前n 个元素进行排序。

【C 代码】 #define swap(a,b) {a=a^b;b=a^b;a=a^b;} //交换 a 与b 的值 int less(int x, int y) { return ((x<y) ? 1 :0); } int larger(int x,int y) { return ((x>y) ? 1 :0); } void bubbleSort(int arr[],int n,Int(*compare)(int,int)) { int i,j; int swapped=1; for(i=0;swapped;i++){ swapped=0; for(j=0;j<n-1-i;j++) if(compare(arr[j+1],arr[j])){ swap(arr[j+1],arr[j]); swapped=1; } } }【问题】设有如下数组定义: int data1[]={4,2,6,3,1}; int data2[]={4,2,6,3,1}; int data3[]={4,2,6,3,1};请分别给出下面的函数调用执行后,数组data1、data2 和data3 各自的元素序列。

2019年计算机软考程序员模拟试题及答案2

2019年计算机软考程序员模拟试题及答案2

2019年计算机软考程序员模拟试题及答案2试题四阅读下列函数说明和C函数,将应填入 n 处的字句写在答题纸的对应栏内。

[函数2.1说明]函数strcat(char s[], char t[])的功能是:将字符串t复制连接字符串s的尾部,并返回新字符串的首地址作为函数值。

例如:若s=“abcd”,t=“efg”,则新字符串应该是“abcdefg”。

[函数2.1]char *strcat(char s[], char t[]){ char *p;p = s + strlen(s)-1while( (1) ) {(2) ;}*p = ‘\0’;return s;}[函数2.2说明]函数f(char *str, char del)的功能是:将非空字符串str中的指定字符del删除,形成一个新字符串仍存放在str所指内存单元中。

例如若str的值为“33123333435”,del的值为‘3’,调用此函数后,新字符串为:“1245”。

[函数2.2]void f(char *str, char del){int i, j, len;len=strlen(str);i=j=0;while(i if ( (3) )(4) = str[i];i++;}(5) ;}试题五阅读以下说明和C代码,将应填入 n 处的字句写在答题纸的对应栏内。

[说明]下面程序中函数fun的功能是:在含有10 个元素的s数组中查找数,及数所在位置 (即,下标值),数可能不止一个。

数作为函数值返回,数的个数通过指针变量n传回,所在位置由数组pos传回。

例如:若输入 2 8 5 7 8 4 5 3 2 8则应输出:The max: 8Total: 3 //数出现次数The positions: 1 4 9#include#define M 10int fun(int *a, int *n, int pos[]) { int i, k, max=-32767;(1)for(i=0; i if( (2) ) max=a[i]; for(i=0; i if( (3) ) pos[k++]=i; *n=k;return max;}main(){ int a[M], pos[M], i=0, j, n; printf("Enter 10 number :");for(i=0; i j=fun( (5) );printf("The max: %d\n", j);printf("Total: %d",n); printf("The position:"); for(i=0; i printf("\n"); }。

2019年计算机软考程序员考试部分真题

2019年计算机软考程序员考试部分真题

2019年计算机软考程序员考试部分真题试题 1A. 最有可能成为国际上操作系统的标准的操作系统.B. 在当前,用于保证软件质量的主要手段.C. 进入80年代后,已迅速成为常用的程序设计语言之一.D. 在软件开发中,有利于发挥集体智慧的一种做法.E. 在开发软件时,可用来提升程序员的工作效率.供选择的答案:A. (1)MS-DOS (2)VMS (3)VM (4)UNIXB. (1)准确性证明 (2)测试 (3)自动程序设计 (4)符号执行C. (1)Smalltalk-80 (2)Ada (3)C (4)PROLOGD. (1)设计评审 (2)模块化 (3)主程序员组 (4)进度控制E. (1)程序开发环境 (2)操作系统的作业管理功能(3)编译程序的优化功能 (4)并行运算的大型计算机试题 2最初的软件开发方式是(A), 人们用笔和纸编写程序. 从60年代后期开始, *软件开发方式逐步发展成为使用终端设备编写程序的(B), 从80年代初开始, 发*达国家的软件开发方式正在向(C)转变.在结构化程序设计思想提出以前, 在程序设计中以前主要强调程序的(D). *现在, 与程序的(D)相比, 人们更重视程序的(E).供选择的答案:A,B,C: 1.实时方式 2.分时方式 3.批方式 4.并行方式 5.工作站方式 6.阵列方式D,E: 1.安全性 2.专用性 3.一致性 4.合理性 5.可理解性 6.效率试题 3从下列叙述中选出5条准确的叙述.(1) 每种程序设计语言都有它特定的语法.(2) 结构化的程序设计语言中没有 GOTO 语句.(3) 定义程序设计语言时用的字符集各种语言不完全相同.(4) 在汇编语言中, 用调用指令, 返回指令和转移指令改变程序中指令的执行顺序.(5) 因为 FORTRAN 语言的结构是块结构, 所以它特别适合于模块化程序设计.(6) PASCAL 语言允许用户定义结构化的数据结构.(7) 一般来说, 语言级别越高, 用它编出的程序越短.(8) 结构化程序设计能够大大提升程序的执行效率.(9) 编译程序是一种常用的应用软件.(10) 编译程序在实行优化时有时需要用到源程序的注释.试题 4(1) 按逻辑结构分, 文件主要有两类: (A) 和 (B) . UNIX 中的文件系统采用(B).(2) 文件系统的主要目的是 (C).(3) 文件系统中用 (D) 管理文件.(4) 为了允许不同用户的文件具有相同的文件名, 通常在文件系统中采用 (E).A,B : (1) 网状文件 (2) 只读文件 (3) 读写文件(4) 记录式文件 (5) 索引文件 (6) 流式文件C : (1) 实现对文件的按名存取 (2) 实现虚拟存贮器(3) 提升外部设备的输入输出速度 (4) 用于存贮系统文档D : (1) 堆栈结构 (2) 指针 (3) 目录 (4) 页表E : (1) 重名翻译 (2) 多级目录 (3) 约定 (4) 路径试题 5排序的方法有很多种, (A) 法从未排序序列中依次取出元素, 与已排序序列中(初始时为空)的元素作比较, 将其放入已排序序列的准确位置上;(B) 从未排娦蛐蛄兄刑粞≡*, 并将其依次放入已排序序列的一端; 交换排序法是对序列中的元素实行一系列比较, 当被比较的两元素逆序时, 实行交换.(C) 和 (D) 是基于这类方法的两种排序方法, 而(D) 是比 (C) 效率更高的方法. 利用某种算法,根据元素的关键值计算出排序位置的方法是 (E).(1) 选择排序 (2) 快速排序 (3) 插入排序 (4) 冒泡排序 (5) 合并排序(6) 二分排序 (7) 杂凑排序 (8) 基数排序试题6下列流程图用于从数组K中找出一切满足:K(I)+K(J)=M的元素对(K(I),K(J))(1 结束│ ┌───K(I)+K(J):M ────┐│ ↓ ↓= ↓│ (C) 输出I,J,K(I),K(J) (D)│ │ ↓ ││ │ (C) ││ │ ↓ ││ │ (D) │└──┴─────┴───────┘此流程图中,比较“K(I)+K(J):M"最少执行次数约为 (E) 。

2019年计算机软考程序员模拟测习题及答案

2019年计算机软考程序员模拟测习题及答案

2019年计算机软考程序员模拟测习题及答案1.下列设备中,既能向主机输入数据又能接收主机输出数据的设备是A.CD-ROMB.显示器C.软磁盘驱动器D.光笔2.在计算机领域中,通常用英文单词"BYTE"来表示A.字B.字长C.二进制位D.字节3.某工厂的仓库管理软件属于A.应用软件B.系统软件C.工具软件D.字处理软件4.微型计算机的主机包括A.运算器和显示器B.CPU和内存储器C.CPU和UPSD.UPS和内存储器5.下面四条常用术语的叙述中,有错误的一条是A.光标是显示屏上指示位置的标志B.汇编语言是一种面向机器的低级程序设计语言,用汇编语言编写的源程序计算机能直接执行C.总线是计算机系统中各部件之间传输信息的公共通路D.读写磁头是既能从磁表面存储器读出信息又能把信息写入磁表面存储器的装置参考答案:1-5 CDABB6.下列字符中,其ASCII码值的是A.9B.DC.aD.y7.下列四个无字符十进制整数中,能用八个二进制位表示的是A.257B.201C.313D.2968.计算机病毒是指A.编制有错误的计算机程序B.设计不完善的计算机程序C.计算机的程序已被破坏D.以危害系统为目的的特殊的计算机程序9.在计算机应用中,"计算机辅助设计"的英文缩写为A.CADB.CAMC.CAED.CAT10.WINDOW98系统安装并启动后,由系统安排在桌面上的图标是A.资源管理器B.回收站C.MICROSOFTWORDD.MICROSOFTFOXPRO参考答案:6-10 DBDAB11.在WINDOW98中,有两个对系统资源实行管理的程序组,它们"资源管理器"和A."回收站"B."剪贴板"C."我的电脑"D."我的文档"12.在WINDOW98中,下列准确的文件名是A.MYPRKGRAMGROUP.TXTB.FILE1|FILE2C.A<>B.CD.A?B.DOC13.WINDOW98中,不能在"任务栏"内实行的操作是A.设置系统日期的时间B.排列桌面图标C.排列和切换窗口D.启动"开始"菜单14.word主窗口的标题栏右边显示的按钮是A.最小化按钮B.还原按钮C.关闭按钮D.化按钮15.在word的编辑状态,单击按钮后能够A.将指定的文档打开B.为指定的文档打开一个空白窗口C.使当前窗口还原D.使当前窗口极大化参考答案:10-15 CABBA16.在word的哪种视图方式下,能够显示分页效果A.普通B.大纲C.页面D.主控文档17.在word的编辑状态,执行"文件"菜单中的"保存"命令后将所有打开的文档存盘A.将所有打开的文档存盘B.只能将当前文档存储在原文件夹内C.能够将当前文档存储在已有的任意文件内D.能够先建立一个新文件夹,再将文档存储在该文件夹内18.在word的编辑状态,连续实行了两次"插入"操作,当单击一次"撤消"按钮后A.将两次插入的内容全部取消B.将第一次插入的内容全部取消C.将第二次插入的内容全部取消D.两次插入的内容都不被取消19.下列属于微机网络所特有的设备是A.显示器B.UPS电源C.服务器D.鼠标器20.CPU中有一个程序计数器(又称指令计数器),它用于存放A.正在执行的指令的内容B.下一条要执行的指令的内容C.正在执行的指令的内存地址D.下一条要执行的指令的内存地址参考答案:11-20 CBCCD。

2019年软考程序员考试模拟预测习题及答案

2019年软考程序员考试模拟预测习题及答案

2019年软考程序员考试模拟预测习题及答案1.在Word的编辑状态打开了一个文档,对文档没作任何修改,随后单击Word主窗口标题栏右侧的“关闭”按钮或者单击“文件”菜单中的“退出”命令,则A.仅文档窗口被关闭B.文档和Word主窗口全被关闭C.Word主窗口被关闭D.仅文档和Word主窗口全未被关闭2.在Word的编辑状态,文档窗口显示出水平标尺,拖动水平标尺上沿的“首行缩进”滑块,则A.文档中各段落的首行起始位置都重新确定B.文档中被选择的各段落首行起始位置都重新确定C.文档中各行的起始位置都重新确定D.插入点所在行的起始位置被重新确定3.在Word的编辑状态,打开了“wl.doc”文档,若要将经过编辑后的文档以“w2.doc”为名存盘,理应执行“文件”菜单中的命令是A.保存B.另存为HTMLC.另存为D.版本4.在word的编辑状态,被编辑文档中的文字有“四号”、“五号”、“16”磅、“18”磅四种,下列关于所设定字号大小的比较中,准确的是A.“四号”大于“五号”B.“四号”小于“五号”C.“16”磅大于“18”磅D.字的大小一样,字体不同5.OSI(开放系统互连)参考模型的层是A.表示层B.网络层C.应用层D.会话层6.微型计算机中使用最普遍的字符编码是A.EBCDIC码B.国标码C.BCD码D.ASCII码7.微型计算机中的内存储器,通常采用A.光存储器B.磁表面存储器C.半导体存储器D.磁芯存储器8.微型计算机键盘上的Tab键是A.退格键B.控制键C.交替换档键D.制表定位键9.下列四种软件中,属于系统软件的是A.WPSB.WordC.DOSD.Excel310.“计算机辅助制造”的常用英文缩写是A.CADB.CAIC.CATD.CAM参考答案:1-5 BBCAC6-10 DCDCD。

2019年下半年软件水平考试(初级)程序员下午(应用技术)真题试卷含答案解析

2019年下半年软件水平考试(初级)程序员下午(应用技术)真题试卷含答案解析

流程图题---为题目类型1.阅读以下说明和流程图,填写流程图中的空缺,将解答填入答题纸的对应栏内。

【说明】某系统中有 N 个等长的数据记录,其主键值为随机排序且互不相等的正整数编号,表示为K(0),K(1),…,K(N-1)。

现采用杂凑法将各数据记录存入区域 S(0),S(1), S(2),…,S(M-1)中(M≥N),以加快按主键值检索的效率(初始时各区域都是空的)。

下面流程图中,选用适当的质数P(N≤P≤M),对每个主键值先计算出它除以 P 的余数j。

如果区域 S(j)己占用,则考查下一个区域 S(j+1),……,直到发现某个区域为空时,则将该主键值相应的数据记录存入该区域(注意,S(M-1)的下一个区域是 S(0))。

为了标记每个区域是否己占用,采用了 M 个标记位 F(0),F(1),…,F(M-1)。

初始时所有的标记位都为 0,每当一个区域被占用时,将相应的标记位置 1。

例如,设 6 个记录的主键值分别为 31、 15、20、35、18、10,取质数 P=7,用上述杂凑法将这些记录存入区域 S(0)~S(7)后,各区域中记录的主键值依次为 35、15、空、31、18、10、20、空。

【流程图】C 语言题---为题目类型阅读以下 C 代码,回答下列问题,将解答写入答题纸的对应栏内。

【C 代码 1】 #include <stdio.h> int main() { int num=5; printf("%d\n", ++num); printf("%d\n", num++); printf("%d\n", num-); printf("%d\n", num); return 0; } 【C 代码 2】 void func(char ch) { while(ch<'f'){ printf("%c:%d\n",ch,ch); ch+=2; } } 【C 代码 3】 #define CHARS 5 const int ROWS=5; void test() { int row; char ch; for(row=0; row<ROWS; row++) { for(ch='B'+row; ch<('B'+CHARS);ch++) putchar(ch); printf("\n"); } }2.请给出C 代码1 运行后的输出结果。

2019年计算机软考程序员模拟题及答案

2019年计算机软考程序员模拟题及答案

2019年计算机软考程序员模拟题及答案6. main(){ int i,a[5];for(i=0;i2))%5;for(i=4;i>=0;i--)printf("=",a[i]);}【分析】我们能够按照程序中语句执行的顺序,记录各个变量及数组元素值的方法来解决这种阅读程序写运行结果的问题。

首先执行第1个for循环。

i=0, i2))%5=9*(-2)%5=-18%5=-3i=1,12))%5=9*(-1)%5=-9%5=-41=2,i2))%5=9*(0)%5=0%5=0i=3,i2))%5=9*(5)%5=45%5=01=4,12))%5=9*(6)%5=54%5=4i=5,12”是关系运算,结果只能为1或0;“x%5”是模运算,结果是x除5的余数,且余数的符号和x符号相同。

再执行第2个for循环。

i=4,i>=0的条件成立,执行循环体。

输出数组元素a[4]的值,等于4i=3,i>=0的条件成立,执行循环体。

输出数组元素a[3」的值,等于0i=2,1>=0的条件成立,执行循环体。

输出数组元素a[2」的位,等于0i=1,i>=0的条件成立,执行循环体。

输出数组元素a[1]的值,等于-4i=0,1>=0的条件成立,执行循环体。

输出数组元素a[0]的值,等于-3i=-1,i>=0的条件不成立,退出第2个for循环。

【参考答案】 4 0 0 -4 -37.main(){ char s[][6]={”1234”,”56789”},*p[2];int i,sum=0;p[0]=s[0],p[1]=s[1];for(i=0;p[0][i」!=’\0’;i++,i++)sum=10*sum+p[0][i]-’0’;for(i=1;p[1]「i」!=’\0’;i++,i++)sum=10*sum+p[1][i]-’0’;printf("%d",sum);}【解析】本程序的第1条语句是定义2行5列的二维字符型数组s,并且赋了初值如下:s[0][0]='1's[0][1]='2's[0][2]='3's[0][3]='4's[0][4]='\0's[1][0]='5's[1][1]='6's[1][2]='7's[1][3]='8's[1][4]='9'S[1][5]='\0'此外还定义了字符型指针数组p,利用第3条语句赋了值,结果如下:p[0]指向以“s[0][i]”为数组名的一维数组首地址,即p[0][i]就相当于s[0][i]p[1]指向以“s[1][i]”为数组名的一维数组首地址,即p[1][i]就相当于s[1][i]第2条语句定义了整型变量i(用于单重循环的控制变量)和sum,并对sum清0。

2019年计算机软件水平考试程序员练习习题

2019年计算机软件水平考试程序员练习习题

2019年计算机软件水平考试程序员练习习题试题一【说明】该程序的功能是从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,以行为单位对行中以空格或标点符号为分隔的所有单词实行倒排。

最后把已处理的字符串(应不含标点符号)仍按行重新存入字符串数组xx中,最后把结果xx输出到文件OUT6.DAT中。

例如:原文:You He MeI am a student.结果:Me He Youstudent a am I原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。

【函数】#include#include#include#includechar xx[50][80];int maxline=0;/*文章的总行数*/int ReaaDat(void);void WriteDat(void);void StrOL(void){char*pl,*p2,t[80];int i;for(i=0;i {p1=xx[i];t[0]=0;while(*p1)p1++;while(p1>=xx[i]){while(!isalpha(*p1)&&p1!=xx[i])p1--; p2=p1;while( (1) )p1--;if(p1==xx[i])if(isalpha(*p1))p1--;else if(!isalpha(*(p1+1)))break;p2++;(2) ;strcat(t,p1+1);strcat(t," ");}strcpy(xx[i],t);}}{if( (3) ){printf("数据文件in.dat不能打开!\n\007");return;}StrOL();writeDat();getch();}int ReadDat(void){FILE*fp;int i=0;char*p;if((fp=fopen("e:\\a\\in.dat","r"))==NULL)return 1; while(fgets(xx[i],80,fp)!=NULL){p=strchr(xx[i],′\n′);if(p)*p=0;i++;}fclose(fp);return 0;}void WriteDat(void){FILE*fp;int i;fp=fopen("e:\\a\\out6.dat","w");> for(i=0;idata (4) ;∥小于查找左子树else if(tree->data (5) ;∥大于查找左子树else return tree;}return tree;}【答案】(1)p=p->left(2)p=p->right(3)return P(4)return SearchSortTree(tree->left)(5)return SearchSortTree(tree->right)试题三假设以带头结点的单循环链表作非递减有序线性表的存储结构。

2019年下半年软件水平考试(初级)程序员上午(基础知识)真题试卷含答案解析

2019年下半年软件水平考试(初级)程序员上午(基础知识)真题试卷含答案解析

中文选择题---为题目类型1.以下关于信息的描述,错误的是。

(A)信息具有时效性和可共享性(B)信息必须依附于某种载体进行传输(C)信息可反映客观事物的运动状态和方式(D)无法从数据中抽象出信息2.通常,不做全体调查只做抽样调查的原因不包括。

(A)全体调查成本太高(B)可能会破坏被调查的个体(C)样本太多难以统计(D)总量太大不可能逐一调查3.在Excel 中,“工作表”是由行和列组成的表格,列和行分别用标识。

(A)字母和数字(B)数字和字母(C)数字和数字(D)字母和字母4.在Excel 的A1 单元格中输入公式“=MIN(SUM(5,4),AVERAGE(5,11,8))”,按回车键后,A1 单元格中显示的值为。

(A)4(B)5(C)8(D)95.服务器的主要作用是提供文件的上传和下载服务。

(A)Gopher(B)FTP(C)Telnet(D)E-mail6.虚拟存储技术使密切配合来构成虚拟存储器。

(A)寄存器和主存(B)主存和辅存(C)寄存器和 Cache(D)硬盘和Cache7.若计算机字长为32,则采用补码表示的整数范围为。

(A)[-231,231)(B)(-231,231)(C)[-232,231)(D)[-231,232)8.CPU 执行指令时,先要根据程序计数器将指令从内存读取出并送入,然后译码并执行。

(A)数据寄存器(B)累加寄存器(C)地址寄存器(D)指令寄存器9.以下关于CPU 与I/O 设备交换数据所用控制方式的叙述中,正确的是。

(A)中断方式下,CPU 与外设是串行工作的(B)中断方式下,CPU 需要主动查询和等待外设(C)DMA 方式下,CPU 与外设可并行工作(D)DMA 方式下,CPU 需要执行程序来传送数据10.衡量系统可靠性的指标是。

(A)周转时间和故障率λ(B)周转时间和吞吐量(C)平均无故障时间 MTBF 和故障率λ(D)平均无故障时间 MTBF 和吞吐量11.某计算机的主存储器以字节为单位进行编址,其主存储器的容量为 1TB,也就是。

2019年计算机软考程序员模拟选择试题

2019年计算机软考程序员模拟选择试题

2019 年计算机软考程序员模拟选择试题46. 设有定义:"char s[12]={"string"};" 则printf("%d\n" ,strlen(s)); 的输出是( )A. 6B. 7C. 11D. 12【解析】在 C 语言中,字符串是指在有效字符之后有字符率结束标记符的字符列,并约定字符串的长度是指字符率中有效字符个数,不包括字符串的结束标记符。

存放于字符数组s 中的字符串是“string ”,该字符串的长度为6,所以输出该字符串的长度应是6。

准确的解答是A。

【参考答案】A47. 下列语句中,准确的是( )A. char a[3][]={'abc" ,'1'};B. char a[][3]={'abc' ,'l'};C. char a[3][]={'a' ,"1"};D. char a[][3]={"a","1"};【解析】如定义数组时有初始化,其维的长度能够省缺,由系统根据初始化时的初值个数确定,而其它维的长度是不能够缺省的。

对二维字符数组的初始化,能够按行用字符串对其初始化,也能够按二维数组元素的存储顺序逐一用字符对其元素初始化。

在供选择解答 A. 和 C. 中,有不是维的长度被缺省,所以是错误的。

在供选择解答 A. 和B. 中,还将字符串常量写作'abc' ,这也是错误的。

只有D. ,用字符率按行给二维字符数组初始化,这才是准确的。

准确构解答是D。

【参考答案】D48. 合法的数组定义是( )A. int a[]={"string"}B. int a[5]={0,1,2,3,4,5};C. char a={"string"}D. char a[]={0,1,2,3,4,5};【解析】A.错误的原因是整数数组不能够用字符串对其初始化。

软件水平考试(初级)程序员上午(基础知识)模拟试卷20(题后含答

软件水平考试(初级)程序员上午(基础知识)模拟试卷20(题后含答

软件水平考试(初级)程序员上午(基础知识)模拟试卷20(题后含答案及解析)题型有:1. 选择题选择题(每小题1分,共75分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将此选项涂写在答题卡相应位置上,答在试卷上不得分。

1.在下列有关Windows菜单命令的说法中,不正确的是(1)。

A.带省略号(…)的命令被执行后会打开一个对话框,要求用户输入信息B.命令前有对勾符号代表该命令有效C.当鼠标指向带有黑色箭头符号的命令时,会弹出一个子菜单D.灰色字符所显示的命令表示相应的程序被破坏正确答案:D2.逻辑表达式..+..Z+.Y.Z+X.+X.Y.Z可以化简为(11)。

A.X++ZB.Y+C.+ZD.+Z正确答案:D解析:3.文件系统对文件的保护常采用存取控制方式进行,下列各项中不属于存取控制方法的是(17)。

A.存取控制矩阵B.用户权限表C.密码与口令D.数字签名正确答案:D解析:存取控制就是不同的用户对文件的访问有不同的权限,以防止文件被未经文件所有者同意的用户访问。

存取控制采用的方式有:存取控制矩阵、存取控制表、用户权限表、密码与口令等方式。

数字签名技术是对电子形式的消息进行签名的一种方法,它在数据单元上附加一些数据,或是对数据单元进行加密变换。

这种数据或变换允许数据单元的接收者用以确认数据单元的来源和数据单元的完整性并保护数据,防止被人(例如接收者)进行伪造。

4.设有一成绩关系SC(Sno,Cno,Grade),其中的属性分别表示学号、课程号、成绩。

为了查询课程髓的最高分和最低分之差,可以使用语句:SELECT(24)FROM SC WHERE Gno=‘C1’A.MAX-MIN(Grade)B.(Grade)MAX-MINC.MAX(Grade)-MIN(Grade)D.MAX-MIN正确答案:C5.国内某行业协会在制定行业标准时,把国际标准采纳到行业标准中,使之在技术内容上与国际标准相同,仅有编辑性修改,则称该行业标准(25)国际标准。

2019年计算机软考程序员模拟试题及答案1

2019年计算机软考程序员模拟试题及答案1

2019年计算机软考程序员模拟试题及答案1试题一【说明】该程序的功能是从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,以行为单位对行中以空格或标点符号为分隔的所有单词实行倒排。

最后把已处理的字符串(应不含标点符号)仍按行重新存入字符串数组xx中,最后把结果xx输出到文件OUT6.DAT中。

例如:原文:You He MeI am a student.结果:Me He Youstudent a am I原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。

【函数】#include#include#include#includechar xx[50][80];int maxline=0;/*文章的总行数*/int ReaaDat(void);void WriteDat(void);void StrOL(void){char*pl,*p2,t[80];int i;for(i=0;i {p1=xx[i];t[0]=0;while(*p1)p1++;while(p1>=xx[i]){while(!isalpha(*p1)&&p1!=xx[i])p1--; p2=p1;while( (1) )p1--;if(p1==xx[i])if(isalpha(*p1))p1--;else if(!isalpha(*(p1+1)))break;p2++;(2) ;strcat(t,p1+1);strcat(t," ");}strcpy(xx[i],t);}}void main(){if( (3) ){printf("数据文件in.dat不能打开!\n\007");return;}StrOL();writeDat();getch();}int ReadDat(void){FILE*fp;int i=0;char*p;if((fp=fopen("e:\\a\\in.dat","r"))==NULL)return 1; while(fgets(xx[i],80,fp)!=NULL){p=strchr(xx[i],′\n′);if(p)*p=0;i++;}。

2019年计算机软考程序员考前模拟试题及答案

2019年计算机软考程序员考前模拟试题及答案

2019年计算机软考程序员考前模拟试题及答案二、程序分析1.main(){ char str[]="1234567";int i;for(j=0;i=2)conv(b/2);printf("%d",b%2);return;}main(){ int d;scanf("%d",&d);conv(d);}说明:本程序执行时从键盘上输入:22后跟回车键。

【解析】主函数中输入整数22存入变量d中,然后调用函数。

conv()。

此时将把实参d中的22传递给形参b。

然后再执行函数体,函数体中前面一条语句是单分支语句,当b>=2时再用“b/2”调用自己,显然这是一个递归调用的函数。

下面我们来详细分析递归调用的过程:第1次调用函数(b=22),满足条件,引起第2次调用自己(b/2=11)第2次调用函数(b=11),满足条件,引起第3次调用自己(b/2=5)第3次调用函数(b=5),满足条件,引起第4次调用自己(b/2=2)第4次调用函数(b=2),满足条件,引起第2次调用自己(b/2=1)第5次调用函数(b=1),不满足条件,执行输出语句,输出结果为 b%2=1%2=1执行第5次调用的返回,执行第今次调用时的输出语句,输出结果为b%2=2%2=0执行第4次调用的返回,执行第3次调用时的输出语句,输出结果为b%2=5%2=1执行第3次调用的返回,执行第2次调用时的输出语句,输出结果为b%2=11%2=1执行第2次调用的返回,执行第1次调用时的输出语句,输出结果为b%2=22%2=0执行第1次调用的返回,将返回主函数,结束程序的运行。

所以程序运行的输出结果是:10110。

【参考答案】10110。

5.void f(p1,p2)int *p1,*p2;{ int i,j;*p2=0;for(i=0;i<3;i++)for(j=i;j<3;j++)*p2+=*(pl+i*3+j);return;}main(){ int a[3][3]={{1,2},{3,4},{5,6}};int s;f(a,&s);printf("%d",s);}【解析】本程序是由一个无返回值的函数f()和主函数组成的。

2019年上半年(初级)初级程序员真题+答案解析(上午选择+下午案例完整版)全国计算机软考

2019年上半年(初级)初级程序员真题+答案解析(上午选择+下午案例完整版)全国计算机软考

最新上半年程序员真题+答案解析(上午选择+下午案例完整版)1、在Windows资源管理器中,如果选中的某个文件,再按Delete键可以将该文件删除,但需要时还能将该文件恢复。

若用户同时按下Delete和()组合键时,则可删除此文件且无法从“回收站”恢复。

A. CtrlB. ShiftC. AltD. Alt和Ctrl答案:Bdelete键删除是把文件删除到回收站;需要手动清空回收站处理掉,shift + delete 删除是把文件删除但不经过回收站的;不需要再手动清空回收站。

2、计算机软件有系统软件和应用软件,下列()属于应用软件。

A. LinuxB. UnixC. Windows7D. Internet Explorer答案:DInternet Explorer,是微软公司推出的一款网页浏览器。

国内网民计算机上常见的网页浏览器有,QQ浏览器、Internet Explorer、Firefox、Safari,Opera、Google Chrome、百度浏览器、搜狗浏览器、猎豹浏览器、360浏览器、UC浏览器、傲游浏览器、世界之窗浏览器等,浏览器是最经常使用到的客户端程序。

Linux、Unix和Windows都是操作系统。

3、某公司2016年10月员工工资表如下所示。

若要计算员工的实发工资,可先在J3单元格中输入(3),再向垂直方向拖动填充柄至J12单元格,则可自动算出这些员工的实发工资。

若要将缺勤和全勤的人数统计分别显示在B13和D13单元格中,则可B13和D13中分别填写(4)。

A. =SUM(D$3:F$3)-(H$3:I$3)B. =SUM(D$3:F$3)+(H$3:I$3)C. =SUM(D3:F3)-SUM(H3:I3)D. =SUM(D3:F3)+SUM(H3:I3)答案:C4、 A. =COUNT(E3:E12,>=0)和=COUNT(E3:E12,=300)B. =COUNT(E3:E12,“>=0”)和COUNT(E3:E12,“=300”)C. =COUNTIF(E3:E12,>=0)和COUNTIF(E3:E12,=300)D. =COUNTIF(E3:E12,“=0”)和COUNTIF(E3:E12,“=300”)答案:D5、统一资源地址(URL) /index.html中的http和index.html分别表示()。

2019年计算机软考程序员部分真题

2019年计算机软考程序员部分真题

2019年计算机软考程序员部分真题●消息传递是对象间通信的手段,一个对象通过向另一个对象发送消息来请求其服务。

一个消息通常包括__(1)__。

(1)A.发送消息的对象的标识、调用的发送方的操作名和必要的参数B.发送消息的类名和接收消息的类名C.接收消息的对象的标识、调用的接收方的操作名和必要的参数D.接收消息的类名●采用面向对象技术开发的应用系统的特点是__(2)__。

(2)A.重用性更强 B.运行速度更快 C.占用存储量小 D.维护更复杂●扩展名为DLL的动态链接文件的特点是__(3)__。

(3)A.能够自由地插入到其他的源程序中使用B.本身是一个数据文件,能够与其他程序动态地链接使用C.本身能够独立运行,也能够供其他程序在运行时调用D.本身不能独立运行,但能够供其他程序在运行时调用●将一个三对角矩阵A[l..100,1..100]中的元素按行存储在一维数组B[l..298]中,矩阵A中的元素A[66,65]在数组B中的下标为___(4)___。

(4)A.195 B.196 C.197 D.198●给定一个有n个元素的线性表。

若采用顺序存储结构,则在等概率前提下,向其插入一个元素需要移动的元素个数平均为__(5)__。

(5)A.n+l B.n/2 C.(n+l)/2 D.n●__(6)__是线性结构的数据结构。

(6)A.列表 B.高维数组 C.双端队列 D.二叉树●结论“___(7)__”是准确的。

(7)A.二叉树的度为2 B.树中结点的度能够小于2C.二叉树中至少有一个结点的度为2 D.二叉树中任何一个结点的度都为2●某线性表最常用的运算是插入和删除,插入运算是指在表尾插入一个新元素,。

删除运算是指删除表头第一个元素,那么采用__(8)___存储方式最节省运算时间。

(8)A.仅有尾指针的单向循环链表 B.仅有头指针的单向循环链表C.单向链表 D.双向链表●表达式采用逆波兰式表示时能够不用括号,而且能够用基于___(9)___的求值过程实行计算。

2019年计算机软件水平考试初级程序员精选模拟试题

2019年计算机软件水平考试初级程序员精选模拟试题

1.假定a和b为int型变量,则执行下述语句组后,b的值为( )。

a=1;b=10;do{b-=a;a++;} while (b--20)break;} while (a=14);printf("a=%d\n",a);}答案:a=12 y=12a=16 y=28a=16提示:首先第一次的结果不用说了?需要的话,请先把C的书再读一遍先!a=12 y=12接着大家要看仔细,if(y>20) break;难点在此,意思是当上面的Y>20时结束这个段,再去判断While的条件,所以这里会接着加,a=12+2=14 y=14+12=26 ok!26>20,我们去判断while的条件吧,a=14,此时a就正好=14,再次循环·a=14+2=16 y=12+16=28,然后28>20跳出,a不等于14再次跳出,执行最后一句输出,a=16.#includemain(){static int a[5][5]={{1,2,3,4,0},{2,3,4,0,6},{3,0,1,7,5},{0,0,2,4,1},{8,4,3,2,7} };int i,j;for (i=0;i<5;i++){for (j=0;j<5;j++){if (a[j]==0)break;printf("M",a[j]);}printf("\n");}答案:1 2 3 42 3 438 4 3 2 7个人解析下:首先我们从for (j=0;j<5;j++)看起,往下是{if (a[j]==0)break;printf("M",a[j]);}提示:把a[5][5]二维数组中的每列中从左至右第一个为零的数之前的数输出!for (i=0;i<5;i++) 就是5行#include#includefun(char *w,int n){char t,*sl,*s2;s1=w;s2=w+n-1;while (s1 {t=*s1++*s1=*s2--*s2=t;}}main(){char *p;p="1234567";fun (p,strlen(p));puts(p);}答案:1711717提示:主要是认清楚S1=? S2=? 首先 S1=W,这S1存的是字符串W的首地址,而S2=W+N-1=P+7-1 OK,也就是W中最后一个字符的地址·阅读下列函数说明和C函数,将应填入__(n)__处的字句写在答题纸的对应栏内。

2019年计算机软件水平考试程序员模拟练习题

2019年计算机软件水平考试程序员模拟练习题

2019年计算机软件水平考试程序员模拟练习题试题1从供选择的答案中,选出应填入__n__内的准确答案,把编号写在答卷的对应栏内。

软件可移植性是用来衡量软件的 __A__ 的重要尺度之一。

为了提升软件的可移植性,应注意提升软件的 __B__ 。

采用 __C__ 有助于提升 __B__ 。

为厂提升可移植性,还应 __D__ 。

使用 E 语言开发的系统软件具有较好的可移植性。

供选择的答案A:① 通用性② 效率③ 质量④ 人—机界面B:① 使用的方便性② 简洁性③ 可靠性④ 设备独立性C:① 优化算法② 专用设备③ 表格驱动方式④ 树型文件目录D:① 有完备的文档资料② 选择好的宿主计算机③ 减少输入/输出次数④ 选择好的操作系统E:① Cobol ② APL ③ C④ PL/1试题2从供选择的答案中,选出应填入__n__内的准确答案,把编号写在答卷的对应栏内。

虚拟存贮管理系统的基础是程序的局部性理论。

此理论的基本含义是 __A__ 。

局部性有两种表现形式:时间局部性和 __B__ 。

它们的意义分别为 __C__ 和 __D__ 。

根据局部性理论。

Denning提出了__E__ 。

供选择的答案A,B:① 程序执行时对主存的访问是不均匀的② 代码的顺序执行③ 变量的连续访问④ 指令局部性⑤ 数据局部性⑥空间局部性C,D:① 最新被访问的单元,很可能在不久的将来还要被访问。

② 最近被访问的单元,很可能它附近的单元也即将被访问。

③ 结构化程序设计,很少出现转移语句④ 程序中循环语句的执行时间一般很长⑤ 程序中使用的数据局部于各子程序E:① Cache结构的思想② 工作集理论③ 最近最少使用 (LRU) 页面置换算法④ 先进先出 (FIFO) 页面置换算法试题3从下列关于数据库系统的特点的叙述中,选出五条准确的叙述,把编号依次写在答卷的对应栏内。

①数据库避免了一切数据重复。

②数据库减少了数据冗余。

③各类用户程序均可随意地使用数据库中的各种数据。

2019年计算机软件水平考试初级程序员模拟试题

2019年计算机软件水平考试初级程序员模拟试题

2019年计算机软件水平考试初级程序员模拟试题阅读以下程序说明和C程序,将应填入__(n)__ 处的字句,写在答卷的对应栏内。

[程序说明]本程序中的函数factor( m,fac,cp )用来计算正整 m ( m > 2 )的除自身以外的所有不同因子的和。

该函数返回因子和,并把各因子从小到大依次存放在数组 fac 中,其因子个数存入在 cp 所指的变量中。

例如 m=16,求得的因子为(1,2,4,8)提示:因子和为15,因子个数为4。

程序假定正整数 m 的不同因子个数不会超过100个。

[程序]# include# define N 100long factor (int m,int fac[],int *cp){int c1, c2 , i, k;long s;fac[0] = 1;for(c1 = s = 1,c2 = N-1,____(1)____;;){k = m/i;if (____(2)____) if (____(3)____) { fac[c1++] = i; fac[c2--] = k;s + = i+k;}else {fac[c1++] = i;s + = i;}i++;if(i>=k) brdak; }for (c2++;c2 100) break;}(2)for (;;);(3)int k=1000;do{++k;}while (k>=10000);(4) int s=36;while (s);--s;答案:1.(2)2.(2)3.(1)4.(3)5.(3)1.假定a和b为int型变量,则执行下述语句组后,b的值为( )。

a=1;b=10;do{b-=a;a++;} while (b--<0);(1)9 (2)-2 (3)-1 (4)82.设有变量说明语句int a=1,b=0;则执行以下程序段的输出结果为( )。

switch (a){case 1:switch (b){case 0:printf("**0**");break;case 1:printf("**1**");break;}case 2:printf("**2**");break;}printf("\n");(1)**0** (2)**0****2** (3)**0****1****2** (4)有语法错误3.以下合法的数组说明是( )。

2019年计算机软件水平考试初级程序员练习题

2019年计算机软件水平考试初级程序员练习题

2019年计算机软件水平考试初级程序员练习题初级程序员练习题(上午考试)一、从供选择的答案中,选出应填入下面叙述中 ? 内的最确切的解答,把相对应编号写在答卷的对应栏内。

数据结构反映了数据元素之间的结构关系。

链表是一种 A ,它对于数据元素的插入和删除 B 。

通常查找线性表数据元素的方法有 C 和 D 两种方法,其中 C 是一种只适合于顺序存储结构但 E 的方法;而 D 是一种对顺序和链式存储结构均适用的方法。

供选择的答案A:①顺序存储线性表②非顺序存储非线性表③顺序存储非线性表④非顺序存储线性表B:①不需移动结点,不需改变结点指针②不需移动结点,只需改变结点指针③只需移动结点,不需改变结点指针④既需移动结点,又需改变结点指针C:①顺序查找②循环查找③条件查找④二分法查找D:①顺序查找②随机查找③二分法查找④分块查找E:①效率较低的线性查找②效率较高的线性查找③效率较高的非线性查找④效率较低的非线性查找二、从下列关于文字处理或计算机安全的叙述中,选出五条最确切的叙述,把相对应编号依次写在答卷的对应栏内。

(1)任一扩展名为TXT的纯文字文本文件均可直接在WPS、WORD下或用EDIT命令实行编辑。

(2)编辑文稿时,由段落重排或自动换行产生的空格称为软空格。

(3)打印汉字时出现“花字”,必定是由计算机病毒或汉字字模损坏造成的。

(4)在WPS或中文WORD6下重新定义段落边界后,全篇文章能够自动按此值完成重新排版。

(5)字处理软件中定义的块是以块首和块尾标记为对角的矩形区域。

(6)WPS、WORD等常见字处理软件能够由“模拟显示”或“打印预览”命令来实现“所见即所得”功能。

(7)中文WORD6下的“复制”命令与“剪切”命令都可完成将选定文件块内容放在剪贴板上。

(8)印刷中常用的计量单位“磅”,又称为“点”,与通常汉字处理中的“点阵”一词的含义相同。

(9)使用DOS命令也能够显示WPS下编辑的文件内容。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2019年计算机软件水平考试初级程序员精选模拟试题
1.假定a和b为int型变量,则执行下述语句组后,b的值为( )。

a=1;
b=10;
do
{
b-=a;
a++;
} while (b--20)
break;
} while (a=14);
printf("a=%d\n",a);
}
答案:
a=12 y=12
a=16 y=28
a=16
提示:首先第一次的结果不用说了?需要的话,请先把C的书再读一遍先!
a=12 y=12
接着大家要看仔细,if(y>20) break;难点在此,意思是当上面
的Y>20时结束这个段,再去判断While的条件,所以这里会接着加,a=12+2=14 y=14+12=26 ok!26>20,我们去判断while的条件吧,a=14,此时a就正好=14,再次循环·a=14+2=16 y=12+16=28,然后28>20跳出,a不等于14再次跳出,执行最后一句输出,a=16.
#include
main()
{
static int a[5][5]={
{1,2,3,4,0},
{2,3,4,0,6},
{3,0,1,7,5},
{0,0,2,4,1},
{8,4,3,2,7} };
int i,j;
for (i=0;i<5;i++)
{
for (j=0;j<5;j++)
{
if (a[j]==0)
break;
printf("M",a[j]);
printf("\n");
}
答案:
1 2 3 4
2 3 4
3
8 4 3 2 7
个人解析下:
首先我们从for (j=0;j<5;j++)看起,往下是
{
if (a[j]==0)
break;
printf("M",a[j]);
}
提示:把a[5][5]二维数组中的每列中从左至右第一个为零的数之前的数输出!
for (i=0;i<5;i++) 就是5行
#include
#include
fun(char *w,int n)
char t,*sl,*s2;
s1=w;
s2=w+n-1;
while (s1 {
t=*s1++
*s1=*s2--
*s2=t;
}
}
main()
{
char *p;
p="1234567";
fun (p,strlen(p));
puts(p);
}
答案:1711717
提示:主要是认清楚S1=? S2=? 首先 S1=W,这S1存的是字符串W的首地址,而S2=W+N-1=P+7-1 OK,也就是W中最后一个字符的地址·
阅读下列函数说明和C函数,将应填入__(n)__处的字句写在答
题纸的对应栏内。

[函数1.1说明]
函数palindrome(chars[])的功能是:判断字符串s是否为回文字符串,若是,则返回0,否则返回-1。

若一个字符串顺读和倒读都一样时,称该字符串是回文字符串,例如:“LEVEL”是回文字符串,而“LEVAL”不是。

[函数1.1]
int palindrome(char S[])
{ char *pi,*pj;
pi=S;pj=s+strlen(S)-1:
while ( pi pi++; pj--;
}
if(__ (2)__)return-1;
else return 0;
}
[函数1.2说明]
函数f(char *str,char del)的功能是;将非空字符串str分割成若干个子字符串并输出,del表示分割时的标志字符。

例如若str的值为“33123333 435”,del的值为‘3’,调用此函数后,将输出三个子字符串,分别为“12”、“4”和“5”。

[函数1.2]
void f(char*str,char del)
{ int i,j,len;
len = strlen(str);
i = 0;
while (i while (__(3)__) i++; /*忽略连续的标志字符*/
/*寻找从str开始直到标志字符出现的一个子字符串*/
j = i + 1;
while (str[j] !=del && str[j] !=’\0’) j++;
__ (4)__="\0"; /*给找到的字符序列置字符串结束标志*/
printf(" %s\t",&str):’
__ (5)__;
}
}
答案:
(1)*pi == *pj
(2)pi (3)str== del
(4)str[j]
(5) i = j+1
提示:首先看第一题条件:pi=S;pj=s+strlen(S)-1:pi就是首地址啦,pj就是末地址啦,我们需要把第一个和最后一个比较,第二和倒二比···....OK,那while ( pi 第二题,有注释哦·不懂就提出来·不过偶想大家都会滴·。

相关文档
最新文档