c语言上机春考考试试题及答案_第1页
c语言上机春考考试试题及答案_第2页
c语言上机春考考试试题及答案_第3页
c语言上机春考考试试题及答案_第4页
c语言上机春考考试试题及答案_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

c语言上机春考考试试题及答案

一、单项选择题(每题2分,共10题)1.在C语言中,合法的字符常量是()A.'\\084'B.'\x43'C.'ab'D."\0"答案:B2.若有定义:inta=5;则表达式a+=a-=aa的值是()A.-40B.40C.-25D.25答案:A3.以下不能正确定义二维数组的选项是()A.inta[2][2]={{1},{2}};B.inta[][2]={1,2,3,4};C.inta[2][2]={1,2,3};D.inta[2][]={{1,2},{3,4}};答案:D4.在C语言中,函数返回值的类型是由()决定的。A.return语句中的表达式类型B.调用该函数的主调函数类型C.定义函数时所指定的函数类型D.形参的数据类型答案:C5.若有定义:inta=1,b=2,c=3;则执行表达式(a=b+c)||(++b)后,b的值为()A.2B.3C.4D.5答案:A6.以下程序段的输出结果是()intx=10;while(x--);printf("%d",x);A.-1B.0C.1D.10答案:A7.以下叙述中正确的是()A.全局变量的作用域一定比局部变量的作用域范围大B.静态(static)类别变量的生存期贯穿于整个程序的运行期间C.函数的形参都属于全局变量D.未在定义语句中赋初值的auto变量和static变量的初值都是随机值答案:B8.若有定义:intp;则以下语句正确的是()A.scanf("%d",p);B.p=100;C.p=malloc(4);D.p=5;答案:C9.若有定义:structstudent{charname[20];intage;};structstudents={"Tom",20};则访问结构体成员age的正确方式是()A.student.ageB.s->ageC.s.ageD.s.age答案:C10.以下函数的功能是()voidfun(chars){chart=s;while(t!='\0')t++;while(s<t){charc=s;s=t;t=c;s++;t--;}}A.将字符串s中的字符逆序存放B.计算字符串s的长度C.比较字符串s和t的大小D.将字符串s复制到t答案:A二、多项选择题(每题2分,共10题)1.以下属于C语言基本数据类型的是()A.intB.floatC.charD.structE.union答案:ABC2.以下关于指针的叙述正确的是()A.指针变量可以指向任何类型的变量B.指针变量占用的内存空间大小与所指向变量的类型有关C.可以通过指针变量间接访问所指向变量的值D.指针变量在使用之前必须初始化E.可以将一个常量地址赋给指针变量答案:ACD3.在C语言中,以下关于函数的说法正确的是()A.函数可以嵌套定义B.函数可以没有返回值C.函数的参数可以是指针类型D.函数可以递归调用E.函数的形参在函数调用时才分配内存空间答案:BCDE4.以下关于数组的说法正确的是()A.数组名代表数组的首地址B.可以用一个已经定义的数组给另一个数组整体赋值(同类型)C.数组元素的下标从0开始D.二维数组在内存中是按行优先存储的E.数组的大小在定义后不能改变答案:ACDE5.若有定义:inta=5,b=3;则以下表达式的值为真的是()A.a>bB.a!=bC.a&&bD.a||bE.!(a>b)答案:ABCD6.以下关于结构体的叙述正确的是()A.结构体成员可以是不同类型的数据B.结构体变量在定义时可以初始化C.可以定义结构体数组D.结构体变量占用的内存空间是各成员占用空间之和E.可以用结构体变量直接给另一个结构体变量赋值(同类型)答案:ABCDE7.在C语言中,以下关于文件操作的说法正确的是()A.可以用fopen函数打开一个文件B.可以用fclose函数关闭一个文件C.可以用fread函数从文件中读取数据D.可以用fwrite函数向文件中写入数据E.可以用rewind函数将文件指针移到文件开头答案:ABCDE8.以下关于宏定义的叙述正确的是()A.宏定义是一种预处理命令B.宏名一般用大写字母表示C.宏定义在编译阶段进行替换D.可以用undef取消已定义的宏E.宏定义可以带参数答案:ABDE9.若有定义:inta[5]={1,2,3,4,5};则以下表达式中,合法的是()A.a[3]B.a+1C.&a[0]D.(a+2)E.a[5]答案:ABCD10.以下关于C语言程序的叙述正确的是()A.一个C语言程序可以由多个源文件组成B.每个源文件可以包含多个函数C.函数可以没有参数D.主函数是程序执行的入口点E.程序中的注释部分不参与编译答案:ABCDE三、判断题(每题2分,共10题)1.在C语言中,字符型数据在内存中以ASCII码形式存储。()答案:正确2.表达式1/2的值为0.5。()答案:错误3.函数的形参可以是常量。()答案:错误4.数组名作为函数参数传递时,传递的是数组的全部元素。()答案:错误5.在C语言中,所有变量都必须在定义时赋初值。()答案:错误6.结构体和联合体不能互相嵌套定义。()答案:错误7.指针变量可以进行加、减、乘、除运算。()答案:错误8.一个C语言源程序中只能有一个主函数。()答案:正确9.在C语言中,函数可以直接或间接调用自身。()答案:正确10.用fopen函数打开文件时,如果文件不存在则一定返回NULL。()答案:错误四、简答题(每题5分,共4题)1.简述C语言中局部变量和全局变量的区别。答案:局部变量在函数内部定义,作用域仅限于函数内部,函数执行结束后局部变量的内存空间被释放。全局变量在函数外部定义,作用域从定义点开始到整个源文件结束,可被多个函数访问,其生存期贯穿整个程序运行期间。2.写出C语言中动态内存分配函数malloc的基本用法。答案:malloc函数用于动态分配内存空间。例如:intp;p=(int)malloc(sizeof(int)n);其中n是要分配的元素个数,返回值为指向分配空间的指针,使用前需进行类型转换。3.简述C语言中函数递归的概念及使用场景。答案:函数递归是指函数直接或间接调用自身。使用场景如计算阶乘、斐波那契数列等具有重复结构且可分解为相同子问题的情况,可使代码简洁,但要注意防止栈溢出。4.说明C语言中结构体和联合体的主要区别。答案:结构体每个成员都有自己独立的内存空间,其大小为各成员所占空间之和。联合体所有成员共用一块内存空间,其大小为最大成员的大小,同一时刻只能存储一个成员的值。五、讨论题(每题5分,共4题)1.在C语言程序设计中,如何提高程序的可读性?答案:采用有意义的变量名和函数名,添加适当的注释,合理缩进代码,将功能模块用函数封装,遵循一致的代码风格等。2.讨论C语言中指针作为函数参数的优点和可能存在的风险。答案:优点是可在函数内部修改主调函数中的变量,实现多值返回。风险是容易产生野指

温馨提示

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

评论

0/150

提交评论