‘壹’ 软考程序员上午题型有哪些
软考程序员上午考试为基础知识科目,考试题型为客观选择题,共计75道选择题,每小题1分,总分为75分,合格标准基本上稳定在45分,需各科目都及格才算合格。
软考初级程序员上午考试科目为基础知识,题型为客观选择题,共计75道选择题。程序员考试需要在一次考试中各科目都及格才算合格,单科及格成绩不予保留,也不能转移到下次考试时使用。
程序员各科目考试题型
1、计算机硬软件基础知识,考试时间为150分钟,笔试。
2、程序设计,考试时间为150分钟,笔试。
温馨提示:因考试政策、内容不断变化与调整,猎考网提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!
下方免费复习资料内容介绍:希赛2021网络工程师考前必备5页纸(内部资料)
格式:PDF大小:1233.24KB 2023年软件设计师备考知识点集锦
格式:DO大小:11864.19KB
资格考试有疑问、不知道如何总结考点内容、不清楚报考考试当地政策,点击底部咨询猎考网,免费领取复习资料
‘贰’ 急需程序员笔试题,附带答案
一、选择题(每题1分,共20分)
1. 下列那种语言是面向对象的(C)
A. C B. PASCAL C. C++ D. FORTRAN77
2.在 Windows9x 下,可以进入 MS-D0S 方式。当在 DOS 提示符下键入 (B ) 命令后,
系统将退出 MS-DOS方式,返回到 WIndows 方式。
A. CLOSE B. EXIT C. QUIT D. RETURN
3.下面哪些是面向对象的基本特性:(A,B,C )
A 多态 B 继承 C 封装 D 接口
4.在C++中经常要进行异常处理,下面哪些是异常处理常用到的关键词:(A,B,C)
A try B catch C throw D break E contiue
5.数据库技术中的“脏数据',是指(D)的数据。
A.错误 B.回返 C.未提交 D.未提交的随后又被撤消
6.TCP/IP是一种(A,B)
A.标准 B.协议 C.语言 D.算法
7. 下面有关计算机操作系统的叙述中,不正确的是( )
A 操作系统属于系统软件
B 操作系统只负责管理内存储器,而不管理外存储器
C UNIX 是一种操作系统
D 计算机的处理器、内存等硬件资源也由操作系统管理
8.微机上操作系统的作用是( D)
A 解释执行源程序 B 编译源程序
C 进行编码转换 D 控制和管理系统资源
9.下列存储器中存取速度最快的是(A )
A 内存 B 硬盘 C 光盘 D 软盘
10.在计算机中,—个字节是由多少个二进制位组成的( )
A. 4 B. 8 C. 16 D. 24
11. 存储16×16点阵的一个汉字信息,需要的字节数为( )
A 32 B 64 C 128 D 256
12. 以下选项中合法的字符常量是(C)
A."B" B. '\010' C. 68 D. D
13. 假定x和y为double型,则表达式x=2,y=x+3/2的值是()
A. 3.500000 B. 3 C. 2.000000 D. 3.000000
14. 以下合法的赋值语句是()
A. x=y=100 B. d--; C. x+y; D. c=int(a+b);
15. 设正x、y均为整型变量,且x=10 y=3,则以下语句
pprintf("%d,%d\n",x--,--y); 的输出结果是()
A.10,3 B. 9,3 C. 9,2 D.10,2
16. x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是()
A .INPUT x、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);
17.以下数组定义中不正确的是()
A) int a[2][3]; B) int b[][3]={0,1,2,3};
C) int c[100][100]={0}; D) int d[3][]={{1,2},{1,2,3},{1,2,3,4}};
18. 以下程序的输出结果是()
main()
{
int a[4][4]={{1,3,5},{2,4,6},{3,5,7}};
printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0];
}
A) 0650 B) 1470 C) 5430 D) 输出值不定
19 以下程序的输出结果是()
main()
{
char st[20]= "hello\0\t\\\";
printf(%d %d \n",strlen(st),sizeof(st));
}
A) 9 9 B) 5 20 C) 13 20 D) 20 20
20. 当调用Windows API函数InvalidateRect,将会产生什么消息()
A:WM_PAINT B:WM_CREATE
C:WM_NCHITTEST D:WM_SETFOCUS
二、填空题(每题3分,共30分)
1.请列举当前一些当前流行的数据库引擎__________
2. 为了将当前盘当前目录中的所有文本文件(扩展名为.TXT)的内容打印输出,正确
的单条DOS命令为______。
3. 计算机网络分为局域网和广域网,因特网属于 广域网。
4. 设y是int型变量,请写出判断y为奇效的关系表达_______。
5. 设有以下程序:
main()
{ int n1,n2;
scanf("%d",&n2);
while(n2!=0)
{ n1=n2%10;
n2=n2/10;
printf("%d",n1);
}
}
程序运行后,如果从键盘上输入1298;则输出结果为____。
6.以下程序运行后的输出结果是______。
main()
{ char s[ ]="9876",*p;
for ( p=s ; pbr>}
7.以下函数的功能是:求x的y次方,请填空。
double fun( double x, int y)
{ int i;
double z;
for(i=1, z=x; ibr>return z;
}
8.以下程序段打开文件后,先利用fseek函数将文件位置指针定位在文件末尾,然后调
用ftell函数返回当前文件位置指针的具体位置,从而确定文件长度,请填空。
FILE *myf; ling f1;
myf= ______("test.t","rb");
fseek(myf,0,SEEK_END); f1=ftel(myf);
fclose(myf);
printf("%d\n",f1);
9. 以下程序输出的最后一个值是______。
int ff(int n)
{ static int f=l;
f=f*n;
return f;
}
main()
{ int i;
for(I=1;I<=5;I++ printf("%d\n",ff(i));
)
10. 以下程序运行后的输出结果是_____。
main()
{ int i=10, j=0;
do
{ j=j+i; i-;
while(i>2);
printf("%d\n",j);
}
三、判断题(每题2分,共20分)
1:动态链结库不能静态调用。
2:UDP是面向无连接的网络连接
3:ASP是一种数据库引擎
4:队列是先进后出。
5:Weblogic是分布式应用服务器。
6:TCP,UDP都是传输层的协议。
7: 两个线程不能共存于同一地址空间
8: JAVA是一种跨平台的开发工具
9.在WINDOWS操作系统中对外设是以文件的方式进行管理
10. 虚拟内存实际是创建在硬盘上的
四、问答题(每题10分,共30分)
1. 写出从数据库表Custom中查询No、Name、Num1、Num2并将Name以姓名显示、计算出
的和以总和显示的SQL。
Select No、Name、Num1、Num2 from custom;
2. 何为“事务处理”,谈谈你对它的理解。
3. 常用的数据结构有哪些?请枚举一些。(不少于5个)
4. 什么是OOP?什么是类?请对比类和对象实例之间的关系。
5. 有一组数字(3,10,6,8,98,22),请编程排序(升降序皆可),语言不限,算法不限,但须注明是何种算法。
[email protected]
‘叁’ Delphi程序员笔试题目,该怎么解决
Delphi程序员笔试题目
一. 选择题
1. 某函数如下:
Function check(n,k:Integer):Integer; Var m:Integer; Begin
Repeat
m:=n mod 10; n:=n div 10; K:=k-1
Until k=0; Check:=m End;
若调用语句y:=check(3725,3),运行后y值为:() A、 7 B、 5 C、 2 D、 0
2. 一个对象类可以继承和直接使用它的父类的所有成员,除了:() A、 public域 B、 private域
C、 protected域和private域 D、 protected域和方法 E、 private域和方法
3. 下面关于属性的论述正确的是()。 A、 属性能实现write方法 B、 属性能实现read方法 C、 属性可以只读或只写 D、 属性可以公开或非公开 E、属性不能直接存取
4. 设a是布尔变量,其它是整型变量,下面正确的赋值语句是( ) A、 x=y div 7 B、 x:=y:=z+1 C、 a:=x=y mod z D、 x+y:=z E、x+y=a
‘肆’ 程序员算法基础——贪心算法
贪心是人类自带的能力,贪心算法是在贪心决策上进行统筹规划的统称。
比如一道常见的算法笔试题---- 跳一跳 :
我们自然而然能产生一种解法:尽可能的往右跳,看最后是否能到达。
本文即是对这种贪心决策的介绍。
狭义的贪心算法指的是解最优化问题的一种特殊方法,解决过程中总是做出当下最好的选择,因为具有最优子结构的特点,局部最优解可以得到全局最优解;这种贪心算法是动态规划的一种特例。 能用贪心解决的问题,也可以用动态规划解决。
而广义的贪心指的是一种通用的贪心策略,基于当前局面而进行贪心决策。以 跳一跳 的题目为例:
我们发现的题目的核心在于 向右能到达的最远距离 ,我们用maxRight来表示;
此时有一种贪心的策略:从第1个盒子开始向右遍历,对于每个经过的盒子,不断更新maxRight的值。
贪心的思考过程类似动态规划,依旧是两步: 大事化小 , 小事化了 。
大事化小:
一个较大的问题,通过找到与子问题的重叠,把复杂的问题划分为多个小问题;
小事化了:
从小问题找到决策的核心,确定一种得到最优解的策略,比如跳一跳中的 向右能到达的最远距离 ;
在证明局部的最优解是否可以推出全局最优解的时候,常会用到数学的证明方式。
如果是动态规划:
要凑出m元,必须先凑出m-1、m-2、m-5、m-10元,我们用dp[i]表示凑出i元的最少纸币数;
有 dp[i]=min(dp[i-1], dp[i-2], dp[i-5], dp[i-10]) + 1 ;
容易知道 dp[1]=dp[2]=dp[5]=dp[10]=1 ;
根据以上递推方程和初始化信息,可以容易推出dp[1~m]的所有值。
似乎有些不对? 平时我们找零钱有这么复杂吗?
从贪心算法角度出发,当m>10且我们有10元纸币,我们优先使用10元纸币,然后再是5元、2元、1元纸币。
从日常生活的经验知道,这么做是正确的,但是为什么?
假如我们把题目变成这样,原来的策略还能生效吗?
接下来我们来分析这种策略:
已知对于m元纸币,1,2,5元纸币使用了a,b,c张,我们有a+2b+5c=m;
假设存在一种情况,1、2、5元纸币使用数是x,y,z张,使用了更少的5元纸币(z<c),且纸币张数更少(x+y+z<a+b+c),即是用更少5元纸币得到最优解。
我们令k=5*(c-z),k元纸币需要floor(k/2)张2元纸币,k%2张1元纸币;(因为如果有2张1元纸币,可以使用1张2元纸币来替代,故而1元纸币只能是0张或者1张)
容易知道,减少(c-z)张5元纸币,需要增加floor(5*(c-z)/2)张2元纸币和(5*(c-z))%2张纸币,而这使得x+y+z必然大于a+b+c。
由此我们知道不可能存在使用更少5元纸币的更优解。
所以优先使用大额纸币是一种正确的贪心选择。
对于1、5、7元纸币,比如说要凑出10元,如果优先使用7元纸币,则张数是4;(1+1+1+7)
但如果只使用5元纸币,则张数是2;(5+5)
在这种情况下,优先使用大额纸币是不正确的贪心选择。(但用动态规划仍能得到最优解)
如果是动态规划:
前i秒的完成的任务数,可以由前面1~i-1秒的任务完成数推过来。
我们用 dp[i]表示前i秒能完成的任务数 ;
在计算前i秒能完成的任务数时,对于第j个任务,我们有两种决策:
1、不执行这个任务,那么dp[i]没有变化;
2、执行这个任务,那么必须腾出来(Sj, Tj)这段时间,那么 dp[i] = max(dp[i], dp[ S[j] ] ) + 1 ;
比如说对于任务j如果是第5秒开始第10秒结束,如果i>=10,那么有 dp[i]=max(dp[i], dp[5] + 1); (相当于把第5秒到第i秒的时间分配给任务j)
再考虑贪心的策略,现实生活中人们是如何安排这种多任务的事情?我换一种描述方式:
我们自然而然会想到一个策略: 先把结束时间早的兼职给做了!
为什么?
因为先做完这个结束时间早的,能留出更多的时间做其他兼职。
我们天生具备了这种优化决策的能力。
这是一道 LeetCode题目 。
这个题目不能直接用动态规划去解,比如用dp[i]表示前i个人需要的最少糖果数。
因为(前i个人的最少糖果数)这种状态表示会收到第i+1个人的影响,如果a[i]>a[i+1],那么第i个人应该比第i+1个人多。
即是 这种状态表示不具备无后效性。
如果是我们分配糖果,我们应该怎么分配?
答案是: 从分数最低的开始。
按照分数排序,从最低开始分,每次判断是否比左右的分数高。
假设每个人分c[i]个糖果,那么对于第i个人有 c[i]=max(c[i-1],c[c+1])+1 ; (c[i]默认为0,如果在计算i的时候,c[i-1]为0,表示i-1的分数比i高)
但是,这样解决的时间复杂度为 O(NLogN) ,主要瓶颈是在排序。
如果提交,会得到 Time Limit Exceeded 的提示。
我们需要对贪心的策略进行优化:
我们把左右两种情况分开看。
如果只考虑比左边的人分数高时,容易得到策略:
从左到右遍历,如果a[i]>a[i-1],则有c[i]=c[i-1]+1;否则c[i]=1。
再考虑比右边的人分数高时,此时我们要从数组的最右边,向左开始遍历:
如果a[i]>a[i+1], 则有c[i]=c[i+1]+1;否则c[i]不变;
这样讲过两次遍历,我们可以得到一个分配方案,并且时间复杂度是 O(N) 。
题目给出关键信息:1、两个人过河,耗时为较长的时间;
还有隐藏的信息:2、两个人过河后,需要有一个人把船开回去;
要保证总时间尽可能小,这里有两个关键原则: 应该使得两个人时间差尽可能小(减少浪费),同时船回去的时间也尽可能小(减少等待)。
先不考虑空船回来的情况,如果有无限多的船,那么应该怎么分配?
答案: 每次从剩下的人选择耗时最长的人,再选择与他耗时最接近的人。
再考虑只有一条船的情况,假设有A/B/C三个人,并且耗时A<B<C。
那么最快的方案是:A+B去, A回;A+C去;总耗时是A+B+C。(因为A是最快的,让其他人来回时间只会更长, 减少等待的原则 )
如果有A/B/C/D四个人,且耗时A<B<C<D,这时有两种方案:
1、最快的来回送人方式,A+B去;A回;A+C去,A回;A+D去; 总耗时是B+C+D+2A (减少等待原则)
2、最快和次快一起送人方式,A+B先去,A回;C+D去,B回;A+B去;总耗时是 3B+D+A (减少浪费原则)
对比方案1、2的选择,我们发现差别仅在A+C和2B;
为何方案1、2差别里没有D?
因为D最终一定要过河,且耗时一定为D。
如果有A/B/C/D/E 5个人,且耗时A<B<C<D<E,这时如何抉择?
仍是从最慢的E看。(参考我们无限多船的情况)
方案1,减少等待;先送E过去,然后接着考虑四个人的情况;
方案2,减少浪费;先送E/D过去,然后接着考虑A/B/C三个人的情况;(4人的时候的方案2)
到5个人的时候,我们已经明显发了一个特点:问题是重复,且可以由子问题去解决。
根据5个人的情况,我们可以推出状态转移方程 dp[i] = min(dp[i - 1] + a[i] + a[1], dp[i - 2] + a[2] + a[1] + a[i] + a[2]);
再根据我们考虑的1、2、3、4个人的情况,我们分别可以算出dp[i]的初始化值:
dp[1] = a[1];
dp[2] = a[2];
dp[3] = a[2]+a[1]+a[3];
dp[4] = min(dp[3] + a[4] + a[1], dp[2]+a[2]+a[1]+a[4]+a[2]);
由上述的状态转移方程和初始化值,我们可以推出dp[n]的值。
贪心的学习过程,就是对自己的思考进行优化。
是把握已有信息,进行最优化决策。
这里还有一些收集的 贪心练习题 ,可以实践练习。
这里 还有在线分享,欢迎报名。
‘伍’ 计算机软考——程序员,是发白纸试卷我们用笔做还是题目在电脑上,让我们在电脑上做啊
上午考的是客观题,下午考试内容是主观题目,都是笔试。(以下作为参考)
1、 考试用具早早准备。
考试前当晚准备好两支2B的铅笔,检查准考证、身份证等是否全部备齐,避免第二天早上慌慌张张。
·2B铅笔,注意要把笔尖削成扁的,这样填涂的时候,只要画一道就能涂满整个框了,非常节省时间。
·橡皮擦,买专用的绘图橡皮,擦的比较干净。
·身份证、准考证
·表,现在很多人都习惯使用手机当表用,而考场中手机必须关机,一旦关机以后就不知道时间了,无法合理分配自己的做题时间!
2、 晚上早入睡
考场上的正常发挥,与考试前晚上的休息有关。晚上早点睡觉、不要熬夜看书,以免第2天考试的时候无精打采。
3、 白天早起提前到考场
掌握好考试时间。第2天早点起来,打的去考场,以免路上颠簸,一年也就两次考试,打的吧,图个愉快轻松的心情,同时,早点出发避免塞车。早到后,在考场附近解决早餐问题。少喝水,早餐后上厕所,考试时想上厕所是一件非常痛苦的事情。
4、 试卷下发后第一件事
试卷发下来后,监考老师会要求考生检查卷面是否完整,清晰,要求考生填写姓名、准考证号等。所以,第一件事情不是看题做题,而是填写姓名、准考证等相关信息。并检查是否填涂正确(注意:填涂都是用2B铅笔,而需要写字的地方一定要用圆珠笔或钢笔,千万别弄混。),避免出错,而导致几个月的努力付之一炬。
5、 做题前先总览
一般来说,考试都给我们充分的时间,所以,考生拿到考卷后,不要急忙做卷,先总览一遍,然后动笔;尤其是有论文的题目,先构思,避免想到哪写到哪。
6、 答题
拿到试题,仔细看题,不要匆忙做答,尤其是有论文的,先要酝酿好,但是时间也要把握好。
答题卡一定要边答边填涂,不要等到最后一起涂!万一没时间了,上午题就没分了!
不会的问题不要总是在想,只需要在卷上做个记号,如果有时间的话再回头看!不要因为捡芝麻而丢西瓜!
下午主观题,卷面整洁、清晰是最基本要求。想想看,老师批改那么多的试卷都要晕头转向了,再揣摩、猜测考生试卷上写的什么字,怎会有好心情?字写的不好没关系,但总得让老师看起来不费劲。做题时,碰到不会做或没把握的简答题、问答题,我们建议在卷子上写一些相关文字,能得一分算一分,得不到也不会有什么损失。对非常确定的题目大可不必多此一举,这有可能让老师没发现关键答题点,出现失分现象。
7、 一遍搞定勿反复
上午题,争取一遍搞定,根据自己以往的经验和成功率来决定是否要检查一遍,因为有些考生第一遍准确率还高些,反到在第二遍检查的时候把对的改成错的,所以,自己要掂量好,是否要检查(对上午考试而言)。
8、 不对答案
上午考试完成后,不要对答案,找个地方吃饭,中午休息一下,然后轻松对付下午的考试;如果考的不好,也没有时间沮丧或埋怨,更不要跟同学对答案,或打开书本查答案,这除了自讨苦吃外,对整个考试没有任何好处。考完一门后,应及时调整心态,以更饱满的精神投入到下一门考试中。
9、 不交白卷,题题做答
下午考试题目可能有点难,不要急,你觉得难的地方,其它考生也觉得难,这个时候,不要放弃,或者交空白卷,运用自己的想象力,根据自己的理解来回答,尽量写满,阅卷老师会给你些辛苦分的。
10、 交卷前检查
做完后,检查是试卷中是否有遗漏的问题。有的考生碰到简单的题目心情高兴,往往答了题目的第一问,而忘记回答第二问。
最后,检查考号,姓名是否有误。交卷!
考个好成绩,与君共勉!!!!!!!!!!
‘陆’ 程序员考试有上机题吗
程序员考试没有上机题,采用笔试形式。以下是关于程序员考试形式的详细说明:
因此,对于准备参加程序员考试的考生来说,应重点复习笔试相关的知识内容,并进行充分的模拟练习以提高应试能力。