C上机综合试题及答案指南_第1页
C上机综合试题及答案指南_第2页
C上机综合试题及答案指南_第3页
C上机综合试题及答案指南_第4页
C上机综合试题及答案指南_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

C上机综合试题及答案指南考试时间:______分钟总分:______分姓名:______一、单项选择题(本大题共10小题,每小题1分,共10分)1.在C语言中,下列关于整型常量和变量的说法中,正确的是()。A.字符常量可以赋值给整型变量B.变量必须先定义后使用C.整型常量只能是十进制数D.变量名区分大小写2.设有定义:inta=3,b=4,c=5;,则表达式!a+b<c&&b==c的值为()。A.0B.1C.-2D.23.下列循环语句中,循环体最少执行一次的是()。A.while(0)B.for(;;)C.do{...}while(0)D.while(1)4.下列定义数组的语句中,正确的是()。A.inta[10];a={1,2,3};B.inta[10]={1,2,3};C.chara[5]="Hello";D.inta[10]=(1,2,3);5.若有定义:char*p="hello";,则下列说法正确的是()。A.p是指向字符‘h’的指针B.p可以修改为指向其他地址C.*p可以修改为‘H’D.p的值在程序运行期间不能改变6.C语言中,函数返回值的类型由()决定。A.return语句中的表达式类型B.调用该函数的主调函数类型C.定义函数时指定的函数类型D.系统默认类型7.下列关于预处理命令的说法,错误的是()。A.#defineMAX100是定义一个名为MAX的符号常量B.#include<stdio.h>是将stdio.h文件的内容复制到当前文件中C.预处理命令必须以分号结尾D.#definePI3.14可以定义圆周率8.若有以下结构体定义,则sizeof(structStudent)的值是()。structStudent{charname[20];intage;floatscore;};A.20B.24C.28D.329.下列关于文件操作的函数中,用于向文件末尾追加数据的是()。A.fopenB.fcloseC.fwriteD.fseek10.若指针变量p指向数组a的首地址,则a[p]等价于()。A.p[a]B.*(p+a)C.*(a+p)D.&p[a]二、多项选择题(本大题共5小题,每小题2分,共10分。每小题有多个正确选项,多选、少选、错选均不得分)1.下列运算符中,优先级最高的是()。A.!B.%C.+=D.==2.下列关于break语句和continue语句的说法,正确的是()。A.break语句只能用于switch语句中B.break语句可以用于循环语句中,用于跳出当前循环C.break语句可以用于多层嵌套循环的最外层D.continue语句用于结束本次循环,继续执行下一次循环3.下列关于指针的说法,正确的是()。A.指针变量的值可以是NULLB.两个指针变量可以相加C.两个指针变量可以相减D.指针变量只能指向同一个类型的数据4.下列关于函数调用的说法,正确的是()。A.实参和形参的个数必须相同B.实参和形参的类型必须一致C.实参的值传递给形参后,形参的变化不影响实参D.函数可以没有返回值5.下列关于结构体数组的说法,正确的是()。A.结构体数组中的每个元素都是一个结构体变量B.结构体数组可以初始化C.结构体数组不能作为函数的参数D.可以通过指针遍历结构体数组三、填空题(本大题共10小题,每空1分,共10分)1.若x=5,y=3,则表达式x/y的值是________。2.设有inta=10,b=20;,执行语句a+=b;b=a-b;a-=b;后,a的值是________。3.设有inta[5]={1,2,3,4,5};,则a[2]的值是________。4.在C语言中,字符串“Hello”在内存中占用________个字节的存储空间。5.若有定义int*p;p=(int*)malloc(10*sizeof(int));,则该语句动态分配了________个整型元素的存储空间。6.函数fun(intx,inty){returnx+y;}中,形参x和y的作用域是________。7.若要打开一个已经存在的二进制文件“data.dat”用于读取,正确的函数调用是________。8.结构体变量所占内存长度是________的长度之和。9.在循环结构中,语句`break`的作用是________。10.若要交换两个整型变量a和b的值,可以使用指针参数,函数原型可以定义为voidswap(int*p1,int*p2);,调用时需传入________的地址。四、程序改错题(本大题共2小题,每题10分,共20分。请指出错误所在的行号或语句,并给出正确的代码)1.以下程序的功能是计算数组中所有元素的和,请改正程序中的错误。```c#include<stdio.h>intmain(){intarr[5]={10,20,30,40,50};inti,sum=0;for(i=0;i<=5;i++){sum=sum+arr[i];}printf("Sum=%d\n",sum);return0;}```2.以下程序的功能是通过指针交换两个整数的值,请改正程序中的错误。```c#include<stdio.h>voidswap(int*x,int*y){inttemp;temp=*x;*x=*y;*y=temp;}intmain(){inta=5,b=10;swap(&a,&b);printf("a=%d,b=%d\n",a,b);return0;}```五、编程题(本大题共1小题,共30分)请编写一个C程序,实现以下功能:1.从键盘输入一个整数n(1<n<=10)。2.定义一个长度为n的整型数组,通过循环语句为数组元素随机赋值(范围在10到100之间)。3.调用一个自定义函数`sort(int*p,intn)

温馨提示

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

评论

0/150

提交评论