就业数据资源平台
当前位置:首页 > 笔试题目
计算机经典笔试题


1       编程基础

1.1    基本概念

1.         的理解:const char*, char const*, char*const的区别问题几乎是C++面试中每次    都会有的题目。 事实上这个概念谁都有只是三种声明方式非常相似很容易记混。 Bjarne在他的The C++ Programming Language里面给出过一个助记的方法: 把一个声明从右向左读。 const

char  * const cp; ( * 读成 pointer to )

cp is a const pointer to char

const char * p;

p is a pointer to const char;

char const * p;

同上因为C++里面没有const*的运算符,所以const只能属于前面的类型。

2.         指针c

int *p[n];-----指针数组,每个元素均为指向整型数据的指针。

int (*)p[n];------p为指向一维数组的指针,这个一维数组有n个整型数据。

int *p();----------函数带回指针,指针指向返回的值。

int (*)p();------p为指向函数的指针。

3.         数组越界问题

下面这个程序执行后会有什么错误或者效果:

#define MAX 255

int main()

{

    unsigned char A[MAX],i;

    for (i=0;ihigh) return -1;

  mid=(low+high)/2;

  if(x==a[mid]) return mid;

  if(x2

解:

int f(int n)

{

        int i,s,s1,s2;

        s1=1;/*s1用于保存f(n-1)的值*/

        s2=1;/*s2用于保存f(n-2)的值*/

        s=1;

        for(i=3;ix[j+1].key) 

                {

                    temp=x[j];

                    x[j]=x[j+1];

                    x[j+1]=temp;

                }

}

}

6.         语言 文件读写c

#include "stdio.h"

main()

{

        FILE *fp;

        char ch,filename[10];

        scanf("%s",filename);

        if((fp=fopen(filename,"w")==NULL)

        {

printf("cann't open file\n");

exit(0);

  }

  ch=getchar();

  while(ch!='#')

  {

       fputc(ch,fp);

       putchar(ch);

       ch=getchar();

  }

  fclose(fp);

}

7.         编程winsocket

#include

#include

void main()

{

       WORDwVersionRequested;

       WSADATA wsaData;

       int err;

       wVersionRequested = MAKEWORD(1,1);

       err = WSAStartup(wVersionRequested,&wsaData);

       if( err != 0)

{

           return; 

       }

       if(LOBYTE( wsaData.wVersion ) != 1||

           HIBYTE( wsaData.wVersion) != 1)

{

            WSACleanup();

            return;

        }

       SOCKET sockSrv=socket(AF_INET,SOCK_STREAM,0);

       SOCKADDR_IN addrSrv;

       addrSrv.sin_addr.S_un.S_addr=htonl(INADDR_ANY);

       addrSrv.sin_family=AF_INET;

       addrSrv.sin_port=htons(6000);

       bind(sockSrv,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));

       listen(sockSrv,5);



就业数据资源平台