软考程序员上午题型有哪些?

软考程序员上午题型有哪些?,第1张

软考程序员上午考试为基础知识科目,考试题型为客观选择题,共计75道选择题,每小题1分,总分为75分,合格标准基本上稳定在45分,需各科目都及格才算合格。

软考初级程序员上午考试科目为基础知识,题型为客观选择题,共计75道选择题。程序员考试需要在一次考试中各科目都及格才算合格,单科及格成绩不予保留,也不能转移到下次考试时使用。

程序员各科目考试题型

1、计算机硬软件基础知识,考试时间为150分钟,笔试。

2、程序设计,考试时间为150分钟,笔试。

温馨提示:因考试政策、内容不断变化与调整,猎考网提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!

下方免费复习资料内容介绍:希赛2021网络工程师考前必备5页纸(内部资料)

格式:PDF大小:1233.24KB 2023年软件设计师备考知识点集锦

格式:DO大小:11864.19KB

资格考试有疑问、不知道如何总结考点内容、不清楚报考考试当地政策,点击底部咨询猎考网,免费领取复习资料

试题1:

void test1()

{

char string[10]

char* str1 = "0123456789"

strcpy( string, str1 )

}

试题2:

void test2()

{

char string[10], str1[10]

int i

for(i=0i<10i++)

{

str1[i] = 'a'

}

strcpy( string, str1 )

}

试题3:

void test3(char* str1)

{

char string[10]

if( strlen( str1 ) <= 10 )

{

strcpy( string, str1 )

}

}

解答:

试题1字符串str1需要11个字节才能存放下(包括末尾的’\0’),而string只有10个字节的空间,strcpy会导致数组越界

对试题2,如果面试者指出字符数组str1不能在数组内结束可以给3分如果面试者指出strcpy(string, str1)调用使得从str1内存起复制到string内存起所复制的字节数具有不确定性可以给7分,在此基础上指出库函数strcpy工作方式的给10分

对试题3,if(strlen(str1) <= 10)应改为if(strlen(str1) <10),因为strlen的结果未统计’\0’所占用的1个字节。

考查对基本功的掌握:

(1)字符串以’\0’结尾

(2)对数组越界把握的敏感度

(3)库函数strcpy的工作方式,

(4)对strlen的掌握,它没有包括字符串末尾的'\0'。

试题4:

void GetMemory( char *p )

{

p = (char *) malloc( 100 )

}

void Test( void )

{

char *str = NULL

GetMemory( str )

strcpy( str, "hello world" )

printf( str )

}

解答:

试题4传入中GetMemory( char *p )函数的形参为字符串指针,在函数内部修改形参并不能真正的改变传入形参的值,执行完

char *str = NULL

GetMemory( str )

后的str仍然为NULL

试题5:

char *GetMemory( void )

{

char p[] = "hello world"

return p

}

void Test( void )

{

char *str = NULL

str = GetMemory()

printf( str )

}

试题5中

char p[] = "hello world"

return p

的p[]数组为函数内的局部自动变量,在函数返回后,内存已经被释放。这是许多程序员常犯的错误,其根源在于不理解变量的生存期。

试题6:

void GetMemory( char **p, int num )

{

*p = (char *) malloc( num )

}

void Test( void )

{

char *str = NULL

GetMemory( &str, 100 )

strcpy( str, "hello" )

printf( str )

}

试题6的GetMemory避免了试题4的问题,传入GetMemory的参数为字符串指针的指针,但是在GetMemory中执行申请内存及赋值语句

*p = (char *) malloc( num )

后未判断内存是否申请成功,应加上:

if ( *p == NULL )

{

...//进行申请内存失败处理

}

试题7:

void Test( void )

{

char *str = (char *) malloc( 100 )

strcpy( str, "hello" )

free( str )

... //省略的其它语句

}

试题7存在与试题6同样的问题,在执行

char *str = (char *) malloc(100)

后未进行内存是否申请成功的判断另外,在free(str)后未置str为空,导致可能变成一个“野”指针,应加上:

str = NULL

试题6的Test函数中也未对malloc的内存进行释放。

剖析:

试题4~7考查面试者对内存 *** 作的理解程度,基本功扎实的面试者一般都能正确的回答其中50~60的错误。但是要完全解答正确,却也绝非易事。

对内存 *** 作的考查主要集中在:

(1)指针的理解

(2)变量的生存期及作用范围

(3)良好的动态内存申请和释放习惯。

再看看下面的一段程序有什么错误:

swap( int* p1,int* p2 )

{

int *p

*p = *p1

*p1 = *p2

*p2 = *p

}

在swap函数中,p是一个“野”指针,有可能指向系统区,导致程序运行的崩溃。在VC++中DEBUG运行时提示错误“Access Violation”。该程序应该改为:

swap( int* p1,int* p2 )

{

int p

p = *p1

*p1 = *p2

*p2 = p

}

预处理器(Preprocessor)

1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)

#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL

2. 写一个“标准”宏MIN,这个宏输入两个参数并返回较小的一个。

#define MIN(A,B) ((A) <= (B)?(A) : (B)) 12

一、选择题(每题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+yD. 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、zB. 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=xibr>return z

}

8.以下程序段打开文件后,先利用fseek函数将文件位置指针定位在文件末尾,然后调

用ftell函数返回当前文件位置指针的具体位置,从而确定文件长度,请填空。

FILE *myfling 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=1I<=5I++ printf("%d\n",ff(i))

)

10. 以下程序运行后的输出结果是_____。

main()

{ int i=10, j=0

do

{ j=j+ii-

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),请编程排序(升降序皆可),语言不限,算法不限,但须注明是何种算法。

wf11119@sina.com


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7988190.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存