企业c笔试题及答案_第1页
企业c笔试题及答案_第2页
企业c笔试题及答案_第3页
企业c笔试题及答案_第4页
企业c笔试题及答案_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

企业c笔试题及答案一、单选题(每题1分,共20分)1.以下哪个不是企业C语言笔试常考的数据类型?()A.intB.floatC.stringD.double【答案】C【解析】C语言基本数据类型包括int、float、double等,string不是C语言的数据类型。2.若x=5,y=3,则表达式x+y-z的结果是?()A.7B.8C.9D.10【答案】A【解析】根据运算顺序,先进行加法运算,再进行减法运算,x+y=8,8-3=5。3.以下哪个运算符的优先级最高?()A.B.+C.-D.=【答案】A【解析】在C语言中,乘法运算符()的优先级高于加法运算符(+)、减法运算符(-)和赋值运算符(=)。4.以下哪个是正确的C语言变量命名?()A.2numB.num_2C.num-2D.2_num【答案】B【解析】C语言变量命名规则:只能由字母、数字和下划线组成,且不能以数字开头。5.以下哪个语句是正确的?()A.if(x==y)thenprintf("Equal");B.if(x==y)printf("Equal");C.if(x==y);printf("Equal");D.if(x==y){printf("Equal");}【答案】B【解析】C语言中if语句的条件判断后直接跟执行语句,不需要then。6.以下哪个循环语句会无限循环?()A.for(;;);B.while(1);C.do{}while(0);D.以上都不是【答案】A【解析】for(;;);是一个无限循环,因为它的条件永远为真。7.以下哪个函数用于动态分配内存?()A.mallocB.freeC.callocD.以上都是【答案】D【解析】malloc和calloc用于动态分配内存,free用于释放内存。8.以下哪个是C语言中的宏定义?()A.defineB.includeC.ifdefD.pragma【答案】A【解析】define用于宏定义,include用于包含头文件,ifdef用于条件编译,pragma用于特定编译器的指令。9.以下哪个是正确的C语言注释?()A./Thisisacomment/B.//ThisisacommentC.BothAandBD.NeitherAnorB【答案】C【解析】C语言支持单行注释(//)和多行注释(//)。10.以下哪个是正确的C语言数组定义?()A.intarr[5];B.intarr(5);C.intarr{5};D.intarr[]={1,2,3,4,5};【答案】A【解析】C语言数组定义格式为:数据类型数组名[大小]。11.以下哪个是正确的C语言函数定义?()A.voidfunc();B.voidfunc();C.voidfunc();D.voidfunc();【答案】A【解析】C语言函数定义格式为:返回值类型函数名(参数列表)。12.以下哪个是正确的C语言指针定义?()A.intptr;B.intptr;C.intptr;D.intptr;【答案】A【解析】C语言指针定义格式为:数据类型指针名。13.以下哪个是正确的C语言结构体定义?()A.structPerson{intage;charname[10];};B.struct{intage;charname[10];}Person;C.structPerson{intage;charname[10];}Person;D.structPerson{intage;charname[10];};【答案】A【解析】C语言结构体定义格式为:struct结构体名{成员列表}。14.以下哪个是正确的C语言结构体变量定义?()A.structPersonperson;B.structPersonperson;C.structPersonperson[];D.structPersonperson[];【答案】A【解析】C语言结构体变量定义格式为:结构体名变量名。15.以下哪个是正确的C语言结构体指针定义?()A.structPersonperson;B.structPersonperson;C.structPersonperson;D.structpersonPerson;【答案】A【解析】C语言结构体指针定义格式为:struct结构体名指针名。16.以下哪个是正确的C语言结构体嵌套定义?()A.structPerson{intage;structAddress{charstreet[20];intzip;};};B.structAddress{charstreet[20];intzip;};structPerson{intage;structAddress};C.structPerson{intage;structAddress{charstreet[20];intzip;};};D.structAddress{charstreet[20];intzip;};structPerson{intage;};【答案】A【解析】C语言结构体嵌套定义格式为:struct结构体名{成员列表,包括其他结构体}。17.以下哪个是正确的C语言联合体定义?()A.unionData{inti;floatf;charc;};B.union{inti;floatf;charc;}Data;C.unionData{inti;floatf;charc;}Data;D.unionData{inti;floatf;charc;};【答案】A【解析】C语言联合体定义格式为:union联合体名{成员列表}。18.以下哪个是正确的C语言联合体变量定义?()A.unionDatadata;B.unionDatadata;C.unionDatadata[];D.unionDatadata[];【答案】A【解析】C语言联合体变量定义格式为:联合体名变量名。19.以下哪个是正确的C语言联合体指针定义?()A.unionDatadata;B.unionDatadata;C.unionDatadata;D.uniondataData;【答案】A【解析】C语言联合体指针定义格式为:union联合体名指针名。20.以下哪个是正确的C语言联合体嵌套定义?()A.unionData{inti;unionAddress{charstreet[20];intzip;};};B.unionAddress{charstreet[20];intzip;};unionData{inti;unionAddress};C.unionData{inti;unionAddress{charstreet[20];intzip;};};D.unionAddress{charstreet[20];intzip;};unionData{inti;};【答案】A【解析】C语言联合体嵌套定义格式为:union联合体名{成员列表,包括其他联合体}。二、多选题(每题4分,共20分)1.以下哪些是C语言的基本数据类型?()A.intB.floatC.charD.stringE.double【答案】A、B、C、E【解析】C语言的基本数据类型包括int、float、char、double。2.以下哪些是C语言的运算符?()A.+B.-C.D./E.%【答案】A、B、C、D、E【解析】C语言的运算符包括加法(+)、减法(-)、乘法()、除法(/)和取模(%)。3.以下哪些是C语言的循环语句?()A.forB.whileC.do-whileD.ifE.switch【答案】A、B、C【解析】C语言的循环语句包括for、while和do-while,if和switch是条件语句。4.以下哪些是C语言的控制语句?()A.ifB.switchC.forD.whileE.break【答案】A、B、C、D、E【解析】C语言的控制语句包括if、switch、for、while、break等。5.以下哪些是C语言的函数定义方式?()A.voidfunc();B.intfunc(intx,inty);C.floatfunc();D.voidfunc(intx);E.intfunc();【答案】A、B、C、D、E【解析】C语言的函数定义方式包括各种返回值类型和参数列表的组合。三、填空题(每题2分,共16分)1.C语言中,用于动态分配内存的函数是______和______。【答案】malloc、calloc2.C语言中,用于释放动态分配内存的函数是______。【答案】free3.C语言中,用于宏定义的关键字是______。【答案】define4.C语言中,用于包含头文件的关键字是______。【答案】include5.C语言中,用于单行注释的符号是______。【答案】//6.C语言中,用于多行注释的符号是______。【答案】//7.C语言中,用于结构体定义的关键字是______。【答案】struct8.C语言中,用于联合体定义的关键字是______。【答案】union四、判断题(每题2分,共20分)1.两个正数相加,和一定比其中一个数大。()【答案】(√)【解析】两个正数相加,和一定比其中一个数大。2.两个负数相加,和一定比其中一个数小。()【答案】(√)【解析】两个负数相加,和一定比其中一个数小。3.C语言中的变量命名可以包含空格。()【答案】(×)【解析】C语言中的变量命名不能包含空格。4.C语言中的if语句可以嵌套使用。()【答案】(√)【解析】C语言中的if语句可以嵌套使用。5.C语言中的for循环可以没有条件判断。()【答案】(√)【解析】C语言中的for循环可以没有条件判断,形成无限循环。6.C语言中的while循环可以没有循环体。()【答案】(×)【解析】C语言中的while循环必须有循环体,否则编译错误。7.C语言中的do-while循环至少执行一次。()【答案】(√)【解析】C语言中的do-while循环至少执行一次,因为先执行循环体再判断条件。8.C语言中的switch语句可以嵌套使用。()【答案】(√)【解析】C语言中的switch语句可以嵌套使用。9.C语言中的函数可以嵌套定义。()【答案】(×)【解析】C语言中的函数不能嵌套定义,但可以嵌套调用。10.C语言中的结构体和联合体可以嵌套定义。()【答案】(√)【解析】C语言中的结构体和联合体可以嵌套定义。五、简答题(每题2分,共10分)1.简述C语言中的基本数据类型及其特点。【答案】C语言的基本数据类型包括int、float、char、double等。int用于整数,float用于单精度浮点数,char用于字符,double用于双精度浮点数。每种数据类型都有其固定的存储空间和取值范围。2.简述C语言中的循环语句及其特点。【答案】C语言中的循环语句包括for、while和do-while。for循环适用于已知循环次数的情况,while循环适用于条件为真时重复执行的情况,do-while循环至少执行一次,适用于条件为真时重复执行的情况。3.简述C语言中的控制语句及其特点。【答案】C语言中的控制语句包括if、switch、for、while、break等。if语句用于条件判断,switch语句用于多分支判断,for和while语句用于循环,break语句用于跳出循环。4.简述C语言中的结构体和联合体及其特点。【答案】C语言中的结构体用于组合不同类型的数据,联合体用于共享内存空间。结构体每个成员都有独立的内存空间,联合体所有成员共享同一内存空间。5.简述C语言中的宏定义及其作用。【答案】C语言中的宏定义使用define关键字,用于定义常量或简单的表达式,编译时会被替换为实际值,可以提高代码的可读性和可维护性。六、分析题(每题10分,共20分)1.分析以下C语言代码的错误并改正:```cinclude<stdio.h>intmain(){intx=5;inty=3;printf("x+y=%d",x-y);return0;}```【答案】错误:printf函数中的表达式错误,应该是x+y而不是x-y。改正:```cinclude<stdio.h>intmain(){intx=5;inty=3;printf("x+y=%d",x+y);return0;}```2.分析以下C语言代码的错误并改正:```cinclude<stdio.h>intmain(){intx=5;intptr=&x;ptr=10;printf("x=%d",ptr);return0;}```【答案】错误:printf函数中的输出项错误,应该是x而不是ptr。改正:```cinclude<stdio.h>intmain(){intx=5;intptr=&x;ptr=10;printf("x=%d",x);return0;}```七、综合应用题(每题25分,共50分)1.编写一个C语言程序,实现以下功能:-输入一个整数n,判断n是否为偶数。-如果n为偶数,输出"n是偶数";如果n为奇数,输出"n是奇数"。【答案】```cinclude<stdio.h>intmain(){intn;printf("请输入一个整数n:");scanf("%d",&n);if(n%2==0){printf("%d是偶数\n",n);}else{printf("%d是奇数\n",n);}return0;}```2.编写一个C语言程序,实现以下功能:-定义一个结构体Person,包含姓名(charname[20])、年龄(intage)和性别(chargender)。-创建一个结构体数组,包含3个Person元素。-输入3个Person的信息,并输出所有Person的信息。【答案】```cinclude<stdio.h>structPerson{charname[20];intage;chargender;};intmain(){structPersonpeople[3];for(inti=0;i<3;i++){printf("请输入第%d个人的姓名:",i+1);scanf("%s",people[i].name);printf("请输入第%d个人的年龄:",i+1);scanf("%d",&people[i].age);printf("请输入第%d个人的性别:",i+1);scanf("%c",&people[i].gender);//注意前面的空格,用于消除前一个输入的回车}printf("所有Person的信息:\n");for(inti=0;i<3;i++){printf("姓名:%s,年龄:%d,性别:%c\n",people[i].name,people[i].age,people[i].gender);}return0;}```八、标准答案一、单选题1.C2.A3.A4.B5.B6.A7.D8.A9.C10.A11.A12.A13.A14.A15.A16.A17.A18.A19.A20.A二、多选题1.A、B、C、E2.A、B、C、D、E3.A、B、C4.A、B、C、D、E5.A、B、C、D、E三、填空题1.malloc、calloc2.free3.define4.include5.//6.//7.struct8.union四、判断题1.√2.√3.×4.√5.√6.×7.√8.√9.×10.√五、简答题1.C语言的基本数据类型包括int、float、char、double等。int用于整数,float用于单精度浮点数,char用于字符,double用于双精度浮点数。每种数据类型都有其固定的存储空间和取值范围。2.C语言中的循环语句包括for、while和do-while。for循环适用于已知循环次数的情况,while循环适用于条件为真时重复执行的情况,do-while循环至少执行一次,适用于条件为真时重复执行的情况。3.C语言中的控制语句包括if、switch、for、while、break等。if语句用于条件判断,switch语句用于多分支判断,for和while语句用于循环,break语句用于跳出循环。4.C语言中的结构体用于组合不同类型的数据,联合体用于共享内存空间。结构体每个成员都有独立的内存空间,联合体所有成员共享同一内存空间。5.C语言中的宏定义使用define关键字,用于定义常量或简单的表达式,编译时会被替换为实际值,可以提高代码的可读性和可维护性。六、分析题1.错误:printf函数中的表达式错误,应该是x+y而不是x-y。改正:```cinclude<stdio.h>intma

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论