C语言笔试常考题目和参考答案_第1页
C语言笔试常考题目和参考答案_第2页
C语言笔试常考题目和参考答案_第3页
C语言笔试常考题目和参考答案_第4页
C语言笔试常考题目和参考答案_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

C语言笔试常考题目和参考答案考试时间:______分钟总分:______分姓名:______一、单项选择题1.在C语言中,下列关于整型常量的描述中,正确的是A.012是八进制整型常量B.0x12是十进制整型常量C.12L是长整型常量D.12.0是短整型常量2.若有定义inta=3,b=2,c=1;则表达式a>b&&a>c的值是A.1B.0C.trueD.false3.下列关于数组的描述中,错误的是A.数组名代表数组的首地址B.在C语言中,数组元素下标的最小值是0C.可以定义一个长度为0的数组D.字符数组可以用来存储字符串4.若有定义charstr[]="Hello";则sizeof(str)的值是A.5B.6C.4D.75.若有定义inta[5]={1,2,3,4,5},*p=a;则表达式p[3]的值是A.3B.4C.5D.66.下列关于函数的描述中,正确的是A.实参和形参的名字必须相同B.函数调用时,实参的值会传递给形参,形参的值不会改变实参C.C语言中所有的函数定义都可以放在一个文件中D.函数必须有返回值,否则调用时会出错7.若有定义inti=10;while(i--);则循环执行的次数是A.0B.1C.10D.118.下列关于预处理命令的描述中,错误的是A.#defineMAX100定义了一个宏B.宏定义中的参数必须加括号C.#include可以包含用户自定义的头文件D.宏替换是在编译之前进行的9.若有定义struct{charc;inti;}s;则sizeof(s)的值通常是A.2B.3C.4D.510.下列关于指针的描述中,错误的是A.空指针的值是NULLB.两个指针可以相加运算C.指针变量可以指向不同的变量D.指针变量的值是它所指向变量的地址二、多项选择题11.下列标识符中,合法的C语言变量名包括A.intB._userC.2ndD.name_2E.#define12.下列关于main函数的描述中,正确的包括A.main函数是程序的入口B.main函数可以没有参数C.main函数必须有返回值D.一个程序只能有一个main函数E.main函数的返回值类型必须是void13.下列关于指针运算的描述中,正确的包括A.两个指针相减的结果是有符号整数B.指针可以与整数进行加法或减法运算C.指针可以与指针进行比较运算D.指针与指针相加是有意义的E.指针的自增运算是指向下一个同类型数据14.下列关于动态内存分配的描述中,正确的包括A.malloc函数分配的内存默认是未初始化的B.free函数只能释放由malloc分配的内存C.使用malloc和free必须包含stdlib.h头文件D.如果malloc分配失败,返回NULL指针E.realloc可以改变已分配内存的大小15.下列关于switch语句的描述中,正确的包括A.switch后面的表达式可以是整型或字符型B.case后的常量表达式必须互不相同C.switch语句中必须有default分支D.break语句用于跳出switch结构E.case后的语句执行完毕后必须包含break三、填空题16.若有定义inta[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};则a[1][2]的值是\_\_\_\_\_\_。17.若有定义intx=10;inty=++x;则y的值是\_\_\_\_\_\_。18.已知inta=10,*p=&a;则表达式\*\_p+1的值是\_\_\_\_\_\_。19.函数intfunc(inta,intb){returna>b?a:b;}的功能是求\_\_\_\_\_\_。20.若有定义char*p="HelloWorld";则p[5]的值是\_\_\_\_\_\_。试卷答案一、单项选择题1.A、C解析:-A正确:0开头的数字是八进制,012即十进制的10。-B错误:0x开头是十六进制。-C正确:L后缀表示长整型。-D错误:12.0是浮点数,不是短整型。2.A解析:-a=3,b=2,c=1。表达式a>b&&a>c的计算过程是先计算3>2(结果为真/1),再计算1>3(结果为假/0),最后1&&0结果为0。但在选项中,通常考察逻辑运算符的短路特性,此处结果为假(0)。3.C解析:-A正确:数组名代表数组的首地址。-B正确:C语言数组下标从0开始。-C错误:C语言中数组定义时长度必须为常量且必须大于0,不能定义长度为0的数组。-D正确:字符数组可以用来存储字符串(通常以\0结尾)。4.B解析:-数组`str`包含字符'H','e','l','l','o'共5个字符,以及末尾隐式的空字符'\0'。`sizeof`计算的是占用内存的字节数,所以是6。5.B解析:-`p`初始化指向`a[0]`。`p[3]`等同于`*(p+3)`,即访问`a[3]`。根据初始化,`a[3]`的值是4。6.B、C、D解析:-A错误:实参和形参的名字可以不同,只要类型和顺序一致即可。-B正确:值传递机制,形参的改变不影响实参。-C正确:C语言允许将函数定义在不同文件中(需配合头文件声明)。-D正确:C语言允许定义无返回值的函数(返回类型为void),此时调用函数不期望获取返回值。7.C解析:-`i`初始为10。进入循环时,`i--`先取当前值10进行判断(非0),执行循环体(空),然后`i`变为9。-循环6次后`i`变为4,判断4(非0),`i`变为3。-循环3次后`i`变为0,判断0(0),循环结束。-总共执行了10-0=10次。8.A、B、C、D解析:-A正确:`#define`是预处理命令。-B正确:为了防止宏替换时发生优先级错误,宏参数通常建议加括号,且这是标准教学中的正确做法。-C正确:`#include`可以包含用户自定义的头文件。-D正确:预处理发生在编译之前。9.C解析:-结构体的大小取决于成员类型和对齐方式。通常`char`占1字节,`int`占4字节。编译器为了内存对齐,可能会在`char`后面填充3个字节,使总大小为4的倍数。所以通常是4字节。10.A、C、D解析:-A正确:空指针定义为`NULL`。-B错误:两个指针相加没有实际的内存意义,通常只允许指针与整数加减。-C正确:指针变量存储的是地址,可以指向不同的变量。-D正确:指针变量的值是它指向变量的地址。二、多项选择题11.B、D解析:-A错误:`int`是C语言的关键字,不能作为变量名。-B正确:`_user`以字母或下划线开头,合法。-C错误:标识符不能以数字开头。-D正确:`name_2`符合格式。-E错误:`#define`是预处理命令关键字,不能做变量名。12.A、B、C解析:-A正确:`main`函数是程序执行的唯一入口。-B正确:`main`函数可以无参数。-C正确:C语言规定`main`函数有返回值(通常为int),返回0表示程序正常结束,但也可以不写返回值(隐式返回0)。-D错误:一个程序有且只有一个入口函数(main函数),不能有多个。13.A、B、C、E解析:-A正确:两个指针相减结果是有符号整数,表示元素个数。-B正确:指针可以与整数加减。-C正确:两个指针可以比较大小(前提是它们指向同一个数组)。-D错误:指针与指针相加通常没有意义。-E正确:指针自增是指向下一个同类型数据。14.A、B、C、D、E解析:-A正确:`malloc`分配的内存未初始化。-B正确:`free`只能释放`malloc`申请的内存。-C正确:使用这些函数需要包含`stdlib.h`头文件。-D正确:`malloc`失败返回`NULL`。-E正确:`realloc`可以调整已分配内存的大小。15.A、B、D解析:-A正确:switch表达式可以是整型或字符型。-B正确:case后的常量表达式必须互不相同。-C错误:default分支是可选的。-D正确:break用于跳出switch结构。-E错误:case后的语句执行完毕后,如果不加break会继续执行下一个case(穿透),所以break不是必须的语法结构。三、填空题16.7解析:-`a[1][2]`表示第1行(索引1)第2列(索引2)的元素。-第1行数据是:`{5,6,7,8}`。-索引0是5,索引1是6,索引2是7。17.11解析:-`++x`是前置自增运算符,先让x的值加1,然后再使用x的值。-x从10变为11,y接收11。18.11解析:-`*p`表示解引用,取出p指向的变量的值,即a的

温馨提示

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

最新文档

评论

0/150

提交评论