计算机二级C语言程序设计专项训练题库及答案_第1页
计算机二级C语言程序设计专项训练题库及答案_第2页
计算机二级C语言程序设计专项训练题库及答案_第3页
计算机二级C语言程序设计专项训练题库及答案_第4页
计算机二级C语言程序设计专项训练题库及答案_第5页
已阅读5页,还剩24页未读, 继续免费阅读

下载本文档

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

文档简介

计算机二级C语言程序设计专项训练题库及答案第1页共1页计算机二级C语言程序设计专项训练题库及答案一、单项选择题(共10小题,每题2分)(每小题只有一个选项符合题意,请把正确选项的字母填在题后括号内)1.以下哪个语句在C语言中是合法的变量名?A.2timesB.pointerC.int32D._temp参考答案:D2.C语言中,`#include`指令的作用是?A.定义常量B.声明函数C.包含头文件D.分配内存参考答案:C3.在C语言中,`if(ab)`和`if(a=b)`的区别是?A.前者检查a是否大于b,后者检查a是否大于或等于bB.两者完全相同C.前者检查a是否小于b,后者检查a是否小于或等于bD.前者只能用于整数,后者只能用于浮点数参考答案:A4.C语言中,`for(inti=0;i5;i++)`循环会执行多少次?A.4次B.5次C.6次D.无限次参考答案:B5.以下哪个是C语言中正确的字符串常量?A."HelloWorld"B.'HelloWorld'C.HelloWorldD."Hello\0World"参考答案:A6.C语言中,`return0;`语句通常用在什么情况下?A.返回一个整数B.表示程序成功执行C.表示程序出错D.终止当前函数参考答案:B7.在C语言中,数组名代表什么?A.数组的第一个元素的地址B.数组的长度C.数组的所有元素的地址D.数组的内存占用大小参考答案:A8.C语言中,`switch`语句可以与哪种语句一起使用来实现多分支逻辑?A.`if-else`B.`for`C.`while`D.`do-while`参考答案:A9.以下哪个是C语言中动态内存分配的函数?A.`malloc`B.`free`C.`calloc`D.`realloc`参考答案:A10.C语言中,结构体和联合体的主要区别是什么?A.结构体可以包含多个数据类型,联合体只能包含一个数据类型B.结构体占用内存大于联合体C.联合体可以包含多个数据类型,结构体只能包含一个数据类型D.结构体和联合体没有区别参考答案:A二、填空题(共10小题,每题2分)(请把正确答案直接填写在题中横线上,填写不完整的不得分)1.在C语言中,用于动态分配内存的库函数是______。参考答案:malloc2.C语言中,表示逻辑非运算的符号是______。参考答案:!3.若有定义:`intarr[5]={1,2,3,4,5};`,则数组元素`arr[3]`的值是______。参考答案:44.C语言中,用于退出当前函数并返回调用函数的语句是______。参考答案:return5.若有定义:`charc='A';`,则变量`c`的数据类型是______。参考答案:char6.C语言中,用于判断两个值是否相等的运算符是______。参考答案:==7.若有定义:`intp=NULL;`,则指针变量`p`的初始值是______。参考答案:NULL8.C语言中,用于声明结构体类型的关键字是______。参考答案:struct9.若有定义:`floatf=3.14;`,则变量`f`的数据类型是______。参考答案:float10.C语言中,用于包含头文件的指令是______。参考答案:#include三、判断题(共10小题,每题2分)(正确的打“√”,错误的打“×”,把判断符号填在题后括号内)1.C语言中,`#includestdio.h`指令用于包含标准输入输出库的头文件。A.正确B.错误参考答案:√2.在C语言中,`if(a==b)`与`if(a!=b)`逻辑等价。A.正确B.错误参考答案:×3.C语言中,`for(inti=0;i5;i++)`循环会执行5次。A.正确B.错误参考答案:√4.以下字符串常量`"123"`与整型常量`123`在内存中存储方式相同。A.正确B.错误参考答案:×5.C语言中,`return;`语句与`return0;`语句在函数返回时作用完全相同。A.正确B.错误参考答案:×6.在C语言中,数组名代表该数组的第一个元素的地址。A.正确B.错误参考答案:√7.C语言中,`switch`语句的`case`分支必须用`break`语句结束。A.正确B.错误参考答案:×8.以下函数声明`voidmyFunc();`与`voidmyFunc(void);`等价。A.正确B.错误参考答案:√9.C语言中,结构体和联合体的内存占用一定相同。A.正确B.错误参考答案:×10.在C语言中,指针变量`intp;`初始化为`p=malloc(sizeof(int));`后,`p`的值不为`NULL`。A.正确B.错误参考答案:√四、简答题(共8小题,每题2分)(请分点作答,语言简明、要点齐全,写在对应题目下方的横线上)1.简述C语言中`switch`语句的基本语法结构。A.`switch`(表达式){case常量1:语句1;break;case常量2:语句2;break;...default:语句n;}B.`switch`(变量){if(变量==常量1){语句1;}if(变量==常量2){语句2;}...}C.`switch`(条件){case条件1:语句1;break;case条件2:语句2;break;...}D.`switch`(值){when(值==常量1){语句1;}when(值==常量2){语句2;}...}参考答案:A2.说明C语言中`#define`指令的作用。A.用于定义常量B.用于包含头文件C.用于动态分配内存D.用于声明函数参考答案:A3.简述C语言中指针变量的基本概念。A.指针变量存储的是内存地址B.指针变量存储的是变量值C.指针变量存储的是函数名D.指针变量存储的是文件名参考答案:A4.解释C语言中`for`循环语句的执行流程。A.先执行初始化,再判断条件,最后执行循环体B.先判断条件,再执行初始化,最后执行循环体C.先执行循环体,再判断条件,最后执行初始化D.先执行循环体,再执行初始化,最后判断条件参考答案:A5.简述C语言中结构体与联合体的区别。A.结构体占用内存大于联合体B.联合体占用内存大于结构体C.结构体和联合体占用内存相同D.结构体和联合体不能嵌套使用参考答案:A6.说明C语言中`return`语句的两种用法。A.`return;`返回函数调用者,不返回值;`return表达式;`返回表达式的值B.`return`必须与函数名一起使用;`return`只能用于主函数C.`return`只能返回整数类型;`return`不能用于递归函数D.`return`用于定义函数;`return`用于声明函数参考答案:A7.简述C语言中`malloc`函数的作用。A.用于动态分配内存B.用于释放内存C.用于声明变量D.用于定义函数参考答案:A8.解释C语言中`const`关键字的作用。A.定义常量B.定义变量C.定义函数D.定义数组参考答案:A五、程序阅读与编程操作题(共8小题,每题3分)(先阅读下面材料,再根据材料内容作答,答案写在对应题目下方的横线上)1.阅读以下C语言代码片段,选择其功能描述正确的选项。```c#includestdio.hintmain(){inti,j;for(i=1;i=5;i++){for(j=1;j=i;j++){printf("");}printf("\n");}return0;}```A.打印一个5行5列的实心矩形B.打印一个5行5列的空心矩形C.打印一个直角三角形的空心图形D.打印一个直角三角形的实心图形参考答案:D2.阅读以下C语言代码片段,选择其功能描述正确的选项。```c#includestdio.hintmain(){inti,j;for(i=5;i=1;i--){for(j=1;j=i;j++){printf("");}printf("\n");}return0;}```A.打印一个5行5列的实心矩形B.打印一个5行5列的空心矩形C.打印一个直角三角形的空心图形D.打印一个直角三角形的实心图形参考答案:C3.阅读以下C语言代码片段,选择其功能描述正确的选项。```c#includestdio.hintmain(){inti,j;for(i=1;i=5;i++){for(j=1;j=5;j++){if(i==j){printf("");}else{printf("");}}printf("\n");}return0;}```A.打印一个5行5列的实心矩形B.打印一个5行5列的空心矩形C.打印一个直角三角形的空心图形D.打印一个直角三角形的实心图形参考答案:B4.阅读以下C语言代码片段,选择其功能描述正确的选项。```c#includestdio.hintmain(){inti,j;for(i=1;i=5;i++){for(j=1;j=5;j++){if(i+j==6){printf("");}else{printf("");}}printf("\n");}return0;}```A.打印一个5行5列的实心矩形B.打印一个5行5列的空心矩形C.打印一个直角三角形的空心图形D.打印一个直角三角形的实心图形参考答案:D5.阅读以下C语言代码片段,选择其功能描述正确的选项。```c#includestdio.hintmain(){inti,j;for(i=1;i=5;i++){for(j=1;j=i;j++){printf("%d",i);}printf("\n");}return0;}```A.打印一个5行5列的实心矩形B.打印一个5行5列的空心矩形C.打印一个直角三角形的空心图形D.打印一个直角三角形的实心图形参考答案:D6.阅读以下C语言代码片段,选择其功能描述正确的选项。```c#includestdio.hintmain(){inti,j;for(i=5;i=1;i--){for(j=1;j=i;j++){printf("%d",j);}printf("\n");}return0;}```A.打印一个5行5列的实心矩形B.打印一个5行5列的空心矩形C.打印一个直角三角形的空心图形D.打印一个直角三角形的实心图形参考答案:C7.阅读以下C语言代码片段,选择其功能描述正确的选项。```c#includestdio.hintmain(){inti,j;for(i=1;i=5;i++){for(j=1;j=5;j++){if(i%2==0){printf("");}else{printf("");}}printf("\n");}return0;}```A.打印一个5行5列的实心矩形B.打印一个5行5列的空心矩形C.打印一个直角三角形的空心图形D.打印一个直角三角形的实心图形参考答案:B8.阅读以下C语言代码片段,选择其功能描述正确的选项。```c#includestdio.hintmain(){inti,j;for(i=1;i=5;i++){for(j=1;j=5;j++){if(j%2==0){printf("");}else{printf("");}}printf("\n");}return0;}```A.打印一个5行5列的实心矩形B.打印一个5行5列的空心矩形C.打印一个直角三角形的空心图形D.打印一个直角三角形的实心图形参考答案:D标准答案与解析一、单项选择题1.参考答案:D解析:本题考查C语言中变量名的命名规则。选项A中的变量名以数字开头,不符合规则;选项B中的变量名以特殊符号开头,不符合规则;选项C中的变量名与关键字冲突,不符合规则;选项D中的变量名以下划线开头,符合规则。故正确答案为D。2.参考答案:C解析:本题考查C语言中`#include`指令的作用。`#include`指令用于包含头文件,将头文件中的内容添加到当前文件中。故正确答案为C。3.参考答案:A解析:本题考查C语言中`if`语句的条件判断。`if(ab)`检查a是否大于b,而`if(a=b)`检查a是否大于或等于b。故正确答案为A。4.参考答案:B解析:本题考查C语言中`for`循环的执行次数。`for(inti=0;i5;i++)`循环从i=0开始,每次i增加1,当i=5时循环结束。因此,循环会执行5次。故正确答案为B。5.参考答案:A解析:本题考查C语言中字符串常量的表示方法。字符串常量用双引号`"`括起来,可以包含空格。选项B使用单引号,选项C没有使用引号,选项D使用了转义字符`\0`,都不符合字符串常量的表示方法。故正确答案为A。6.参考答案:B解析:本题考查C语言中`return`语句的作用。`return0;`语句通常用在主函数中,表示程序成功执行。故正确答案为B。7.参考答案:A解析:本题考查C语言中数组名的含义。数组名代表数组的第一个元素的地址。故正确答案为A。8.参考答案:A解析:本题考查C语言中`switch`语句的用法。`switch`语句可以与`if-else`语句一起使用来实现多分支逻辑。故正确答案为A。9.参考答案:A解析:本题考查C语言中动态内存分配的函数。`malloc`函数用于动态分配内存。故正确答案为A。10.参考答案:A解析:本题考查C语言中结构体和联合体的区别。结构体可以包含多个数据类型,而联合体只能包含一个数据类型。故正确答案为A。二、填空题1.参考答案:malloc解析:本题考查C语言中动态内存分配的知识点。在C语言中,`malloc`函数用于动态分配内存,其原型为`voidmalloc(size_tsize)`,用于分配指定大小的内存块并返回指向该内存块的指针。这是C语言中动态内存分配的核心函数。2.参考答案:!解析:本题考查C语言中逻辑运算符的知识点。在C语言中,`!`是逻辑非运算符,用于对逻辑值进行取反操作。例如,`!true`的结果是`false`,`!false`的结果是`true`。3.参考答案:4解析:本题考查C语言中数组元素访问的知识点。在C语言中,数组元素的索引从0开始。若有定义:`intarr[5]={1,2,3,4,5};`,则数组元素`arr[3]`的值是4。4.参考答案:return解析:本题考查C语言中函数返回语句的知识点。在C语言中,`return`语句用于退出当前函数并返回调用函数。可以带有返回值,也可以不带返回值(对于`void`类型的函数)。5.参考答案:char解析:本题考查C语言中字符类型的知识点。在C语言中,`char`类型用于存储单个字符。若有定义:`charc='A';`,则变量`c`的数据类型是`char`。6.参考答案:==解析:本题考查C语言中关系运算符的知识点。在C语言中,`==`是等于运算符,用于判断两个值是否相等。例如,`3==3`的结果是`true`,`3==4`的结果是`false`。7.参考答案:NULL解析:本题考查C语言中指针的知识点。在C语言中,`NULL`是一个宏定义,表示空指针。若有定义:`intp=NULL;`,则指针变量`p`的初始值是`NULL`。8.参考答案:struct解析:本题考查C语言中结构体类型的声明知识点。在C语言中,用于声明结构体类型的关键字是`struct`。例如:`structStudent{intid;charname[50];};`。9.参考答案:float解析:本题考查C语言中浮点数类型的知识点。在C语言中,`float`类型用于存储单精度浮点数。若有定义:`floatf=3.14;`,则变量`f`的数据类型是`float`。10.参考答案:#include解析:本题考查C语言中包含头文件的指令知识点。在C语言中,`#include`指令用于包含头文件,其语法为:`#include头文件名`或`#include"头文件名"`。三、判断题1.参考答案:√解析:本题考查C语言头文件包含。`#includestdio.h`指令用于包含标准输入输出库的头文件,该头文件提供了`printf`、`scanf`等常用输入输出函数的声明。该指令格式正确,表述无误。2.参考答案:×解析:本题考查C语言逻辑运算符。`if(a==b)`判断`a`是否等于`b`,而`if(a!=b)`判断`a`是否不等于`b`,两者逻辑相反,因此不等价。3.参考答案:√解析:本题考查C语言循环控制。`for(inti=0;i5;i++)`循环中,变量`i`从`0`开始,每次自增`1`,当`i`达到`5`时循环结束,因此执行次数为`0`到`4`,共5次。4.参考答案:×解析:本题考查C语言常量类型。字符串常量`"123"`在内存中以字符数组形式存储(每个字符占用1字节),而整型常量`123`以数值形式存储(通常占用4字节),存储方式不同。5.参考答案:×解析:本题考查C语言函数返回。`return;`语句直接返回调用函数,不返回任何值(隐式返回`int`类型`0`),而`return0;`明确返回整数值`0`,两者在返回值上有区别。6.参考答案:√解析:本题考查C语言数组名。数组名在C语言中代表该数组的地址,即第一个元素的地址,因此该表述正确。7.参考答案:×解析:本题考查C语言`switch`语句。`switch`语句的`case`分支若不使用`break`语句,会继续执行后续`case`分支,称为“穿透”现象,因此并非必须用`break`结束。8.参考答案:√解析:本题考查C语言函数声明。`voidmyFunc();`与`voidmyFunc(void);`两者等价,`void`在参数列表中用于显式表示无参数,两者语义相同。9.参考答案:×解析:本题考查C语言结构体与联合体。结构体和联合体的内存占用取决于其成员的最大内存需求,不同结构体或联合体成员类型和数量不同,内存占用可能不同。10.参考答案:√解析:本题考查C语言动态内存分配。`malloc(sizeof(int));`函数调用成功时返回非`NULL`的内存地址,并将其赋值给指针`p`,因此`p`不为`NULL`。四、简答题1.参考答案:A解析:本题考查C语言`switch`语句的基本语法结构。C语言中`switch`语句用于根据表达式的值执行不同的语句块,其基本语法结构为`switch`(表达式){case常量1:语句1;break;case常量2:语句2;break;...default:语句n;}。选项B、C、D均不符合`switch`语句的语法规则。2.参考答案:A解析:本题考查C语言`#define`指令的作用。`#define`指令用于定义宏常量,即预处理器会将其后的文本替换为指定的值。选项B描述的是`#include`指令的作用;选项C描述的是动态内存分配函数;选项D描述的是文件操作。3.参考答案:A解析:本题考查C语言指针变量的基本概念。指针变量存储的是内存地址,通过该地址可以访问内存中的数据。选项B描述的是普通变量的作用;选项C描述的是函数指针;选项D描述的是文件指针。4.参考答案:A解析:本题考查C语言`for`循环语句的执行流程。`for`循环语句的执行流程为:先执行初始化语句,再判断条件表达式,若条件成立则执行循环体语句,最后执行迭代语句,然后重复上述过程。选项B、C、D均不符合`for`循环的执行流程。5.参考答案:A解析:本题考查C语言结构体与联合体的区别。结构体占用内存等于其所有成员占用内存之和;联合体占用内存等于其最大成员占用内存。因此,结构体占用内存通常大于联合体。选项B、C、D均不符合结构体与联合体的特性。6.参考答案:A解析:本题考查C语言`return`语句的两种用法。`return;`语句用于返回函数调用者,不返回值;`return表达式;`语句用于返回表达式的值。选项B、C、D均不符合`return`语句的用法。7.参考答案:A解析:本题考查C语言`malloc`函数的作用。`malloc`函数用于动态分配内存,其原型为`voidmalloc(size_tsize)`。选项B描述的是`free`函数的作用;选项C描述的

温馨提示

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

最新文档

评论

0/150

提交评论