神州数码软件测试高级工程师工资,神州数码软件测试工程师笔试C语言题目详解.docx…

神州数码软件测试工程师笔试C语言题目详解

神州数码软件测试工程师笔试C语言题目详解

最近天天就是一个忙,忙着工作,忙着锻炼身体,忙着学习PHP。

前段时间,看到有些学员到神州数码面试软件测试工程师,其中有几道C题目把学员难倒了。呵呵,因为本人是教C语言的。所以给这位学员做了下解答。

void fun(void)

int count=0;

int m=9999;

while(m)

count++;

m=m&(m-1);

printf(count);

这道题目考察的是10进制到2进制的转换以及按位与运算。9999转换成2进制为:

[1**********]111

打印的count应该是8。

这个count的值与9999化成2进制时1的个数有关,9999中2进制有8个1。所以count的值是8.

这个题目考察的知识点在DC课堂上都重点讲过,所以不会应该是自己的责任。

2.在双向链表存储结构中,删除p所指的结点时须修改指针

A:(p->llink)->rlink=p->rlink;

(p->rlink)->llink=p->llink;

B:p->llink=(p->llink)->llink;

(p->llink)->rlink=p

(p->rlink)->llink=p

p->rlink=(p->rlink)->rlink

p->rlink=(p->llink)->llink;

p->llink=(p->rlink)->rlink;

这个题目应该选A

在我们的DC课堂上对与单向链表以及其上的操作都讲了,双向链表没有讲。但如果单向链表会,双向也可以推理出来,何况这是个选择题目。

如果这个没做对,情有可原。但是如果下次再做错,自己就要好好想想了。

3.定义一个结构体:

完成由Node类型结点构成的一个单向链表的正向排序(由小到大)

#include

#include

struct Node

struct Node *next;

int value;

struct Node* InsertSort(void)

struct Node *Head=NULL,*New,*Cur,*Pre;

for(i=0;i

if((New=(struct Node*)malloc(sizeof(struct Node)))==NULL)

printf(“申请空间失败n”);

return NULL;

printf(“请输入节点的valuen”);

scanf(“%d”,&New->value);

New->next=NULL;

if(Head==NULL)

Head=New;

continue;

if(New->valuevalue)

{//head之前插入节点

New->next=Head;

Head=New;

continue;

Cur=Head;

while(New->value>Cur->value && Cur->next!=NULL)

Pre=Cur;

Cur=Cur->next;

if(Cur->value>=New->value)

Pre->next=New;

New->next=Cur;

//if(Cur!=New)

Cur->next=New;

return Head;

void print(struct Node* Head)

struct Node* Cur;

Cur=Head;

while(Cur!=NULL)

printf(“Cur->value=%dn”,Cur->value);

Cur=Cur->next;

void main(void)

struct Node* head;

head=InsertSort();

print(head);

程序已经调试通过,大家可以试试。

这个题目也应该会,这个在课堂上要求过。插入一个有序单链表。

这个题目只是笔试题,如果写出来的程序不能完全执行,这个可以原谅的。

如果大体的程序框架都写不出来,这个可要自己仔细想想了。

其实这个题目我在204班做了试验,效果也不好。但通过1堂课的练习,不

文章知识点与官方知识档案匹配,可进一步学习相关知识C技能树首页概览114437 人正在系统学习中 相关资源:不慌不忙小软件-系统安全文档类资源-CSDN文库

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年6月22日
下一篇 2021年6月22日

相关推荐