ImageVerifierCode 换一换
格式:DOC , 页数:12 ,大小:66KB ,
资源ID:6164250      下载积分:10 金币
验证码下载
登录下载
邮箱/手机:
图形码:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/6164250.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请。


权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4009-655-100;投诉/维权电话:18658249818。

注意事项

本文(c语言面试题攻略.doc)为本站上传会员【xrp****65】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

c语言面试题攻略.doc

1、C语言试题大全 试题1 · 1. 写一函数,实现删除字符串str1中含有的字符串str2.   /* 用递归做 */ void deletesubstr(char* str1, const char* str2) {          int len=strlen(str1);          char* newstr;          char* sp;          if(str1==NULL||str2==NULL)                return;          if(strlen(str1)

2、        return;          if(sp=strstr(str1,str2))          {                 newstr=malloc(len+1);                 strncpy(newstr,str1,sp-str1);//保存str1中含有字符串str2以前的字符串                 strcpy(newstr+(sp-str),sp+strlen(str2));//将含有字符串str2以后的字符串保存                 strcpy(str1,newstr);           

3、       free(newstr);                 deletesubstr(str1,str2);//递归继续查找删除存在的str2            }            else                 return; }   2.雅虎笔试题(字符串操作) 给定字符串A和B,输出A和B中的最大公共子串。 比如A="aocdfe" B="pmcdfa" 则输出"cdf"   答案: //Author: azhen #include #include #include

4、   char *commanstring(char shortstring[], char longstring[]) {         int i, j;         char *substring=malloc(strlen(shortstring)+1);         if(strstr(longstring, shortstring)!=NULL) //如果……,那么返回shortstring                   return shortstring;         for(i=strlen(shortstring)-1;i>0; i

5、)  //否则,开始循环计算      {               for(j=0; j<=strlen(shortstring)-i; j++) {                      memcpy(substring, &shortstring[j], i);    // 从最长的字符串开始                     substring[i]='\0';                     if(strstr(longstring, substring)!=NULL)                            ret

6、urn substring;              }      }      return NULL; } 试题2 · 1. 请编写一个 C 函数,该函数在给定的内存区域搜索给定的字符,并返回该字符所在位置索引值。   答案: int search(char *cpSource, int n, char ch) { int i; for(i=0; i

7、点,问如何删除这个指针指向的节点?   答案: 将这个指针指向的next节点值copy到本节点,将next指向next->next,并随后删除原next指向的节点。   3. 写一个函数比较两个字符串str1和str2的大小,若相等返回0,若str1大于str2返回1,若str1小于str2返回-1   答案: int strcmp ( const char * src,const char * dst) { int ret = 0 ; while( ! (ret = *(unsigned char *)src - *(unsigned c

8、har *)dst) && *dst)         { ++src;                 ++dst;         } if ( ret < 0 ) ret = -1 ; else if ( ret > 0 ) ret = 1 ; return( ret ); } 试题3 · 1.(1)读文件file1.txt的内容(例如):   12   34   56 输出到file2.txt:  

9、 56   34   12 (逆序) 答案: 注意可增长数组的应用. #include #include int main(void) {       int MAX = 10;       int *a = (int *)malloc(MAX * sizeof(int));       int *b;           FILE *fp1;       FILE *fp2;       fp1 = fopen("a.txt","r");       if(fp1 == NULL)       {      

10、    printf("error1");          exit(-1);       }       fp2 = fopen("b.txt","w");       if(fp2 == NULL)       {          printf("error2");          exit(-1);       }     int i = 0;     int j = 0;     while(fscanf(fp1,"%d",&a[i]) != EOF)    {       i++;       j++;       if(i >= MAX)   

11、    {            MAX = 2 * MAX;            b = (int*)realloc(a,MAX * sizeof(int));            if(b == NULL)            {                printf("error3");                exit(-1);            }            a = b;     } } for(;--j >= 0;)    fprintf(fp2,"%d\n",a[j]); fclose(fp1); fclose(fp2

12、); free(a); return 0; }     2. 分析下面的代码: char *a = "hello"; char *b = "hello"; if(a= =b) printf("YES"); else printf("NO"); "hello"是一个常量字符串。位于静态存储区,它在程序生命期内恒定不变。如果编译器优化的话,会有可能a和b同时指向同一个hello的。则地址相同。如果编译器没有优化,那么就是两个不同的地址,则不同   3. 两个字符串,s,t;把t字符串插入到s字符串的第i个位置前,s字符串有足够的空间存放t字符串   答案:

13、void insert(char *s, const char *t, int i) {     int j,len;     int k=strlen(s)-1;     if(i<0||i>strlen(s))        return;     len=strlen(s)+strlen(t);     for(j=len-1;k>=i;k--,j--)      {        s[j]=s[k];     }     for(k=i;k

14、n]='\0'; } 试题4 · 1.分析输出结果 int arr[] = {6,7,8,9,10}; int *ptr = arr; *(ptr++)+=123; printf(“ %d %d ”, *ptr, *(++ptr));   输出:8 8 过程:对于*(ptr++)+=123;先做加法6+123,然后++,指针指向7;对于printf(“ %d %d ”, *ptr, *(++ptr));从后往前执行,指针先++,指向8,然后输出8,紧接着再输出8     2 分析输出结果 void g(int**); int main() { int

15、line[10],i; int *p=line;  for (i=0;i<10;i++) { *p=i; g(&p); //数组对应的值加1 } for(i=0;i<10;i++) printf("%d\n",line[i]); return 0; } void g(int**p) { (**p)++; (*p)++;// }     输出: 1 2 3 4 5 6 7 8 9 10     3 用递归算法判断数组a[N]是否为一个递增数组。   答案: 递归的方法,记录当前最大的,并且判断当前的是否比这个还大,大则继续,否则

16、返回false结束: bool fun( int a[], int n ) { if( n= =1 ) return true; if( n= =2 ) return a[n-1] >= a[n-2]; return fun( a,n-1) && ( a[n-1] >= a[n-2] ); } 试题5 1. 分析: struct bit {   int a:3;     int b:2;     int c:3; }; int main() {   bit s;   char *c=(char*)&s;    cout<

17、

18、同理 b = 3 位域 :   有些信息在存储时,并不需要占用一个完整的字节,而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态,用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几个不同的区域,并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。这样就可以把几个不同的对象用一个字节的二进制位域来表示。一、位域的定义和位域变量的说明位域定义与结构定义相仿,其形式为:     struct 位域结构名     { 位域列表 };    其中位域列表的形

19、式为: 类型说明符位域名:位域长度     例如:     struct bs    {    int a:8;    int b:2;    int c:6;    };    位域变量的说明与结构变量说明的方式相同。可采用先定义后说明,同时定义说明或者直接说明这三种方式。例如:     struct bs    {    int a:8;    int b:2;    int c:6;    }data;    说明data为bs变量,共占两个字节。其中位域a占8位,位域b占2位,位域c占6位。对于位域的定义尚有以下几点说明:    1. 一个位域必须存储在

20、同一个字节中,不能跨两个字节。如一个字节所剩空间不够存放另一位域时,应从下一单元起存放该位域。也可以有意使某位域从下一单元开始。例如:     struct bs    {    unsigned a:4    unsigned :0 /*空域*/    unsigned b:4 /*从下一单元开始存放*/    unsigned c:4    }    在这个位域定义中,a占第一字节的4位,后4位填0表示不使用,b从第二字节开始,占用4位,c占用4位。    2. 由于位域不允许跨两个字节,因此位域的长度不能大于一个字节的长度,也就是说不能超过8位二进位。    3. 位

21、域可以无位域名,这时它只用来作填充或调整位置。无名的位域是不能使用的。例如:     struct k    {    int a:1    int :2 /*该2位不能使用*/    int b:3    int c:2    };    从以上分析可以看出,位域在本质上就是一种结构类型,不过其成员是按二进位分配的。    二、位域的使用位域的使用和结构成员的使用相同,其一般形式为:位域变量名•位域名位域允许用各种格式输出。    main(){    struct bs    {    unsigned a:1;    unsigned b:3;    uns

22、igned c:4;    } bit,*pbit;    bit.a=1;    bit.b=7;    bit.c=15;    2.int (*s[10])(int) 表示的是什么   答案: int (*s[10])(int) 函数指针数组,每个指针指向一个int func(int param)的函数。   3. c和c++中的struct有什么不同?   答案: c和c++中struct的主要区别是c中的struct不可以含有成员函数,而c++中的struct可以。c++中struct和class的主要区别在于默认的存取权限不同,struct默认为pub

23、lic,而class默认为private 最新C语言题 1. sizeof("")   是多少    sizeof("\0") 是多少   答案:1,2   2.class A { public:         virtual void  func(A &a)         {                 cout << "aa" << endl;         } }; class B:public A {          virtual void func(B &b)         {       

24、          cout << "bb" << endl;         } }; int main() {    B b;    A &a = b;    a.func(b);   } 输出结果是什么 为什么?   答案: aa   3.struct C {         union ui         {                 char c;                 double d;         };         char a; }; struct D {         union         {                 char c;                 double d;         };         char a; };   sizeof(C) = ? sizeof(D) = ?   答案:1,16

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服