C语言程序设计期末考试试题(含详细答案)_第1页
C语言程序设计期末考试试题(含详细答案)_第2页
C语言程序设计期末考试试题(含详细答案)_第3页
C语言程序设计期末考试试题(含详细答案)_第4页
C语言程序设计期末考试试题(含详细答案)_第5页
已阅读5页,还剩3页未读, 继续免费阅读

下载本文档

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

文档简介

C语言程序设计期末考试试题(含详细答案)适用专业:计算机、机电、大数据等理工科专业考试时长:90分钟满分:100分考试说明:闭卷考试,禁止携带资料,答案全部写在答题纸上一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出。1.以下不属于C语言基本数据类型的是()A.intB.floatC.stringD.char2.以下合法的C语言变量名是()A.123abcB.abc_123C.abc-123D.int3.若定义inta=5;则表达式a++的值和a最终的值分别是()A.5、6B.6、6C.5、5D.6、54.C语言中if和else的配对原则是()A.缩进对齐配对B.随机配对C.就近配对D.优先和外层配对5.以下循环语句中,循环体执行次数为0的是()A.for(inti=0;i<5;i++){}B.inti=5;while(i<5){i++;}C.inti=0;do{i++;}while(i<5);D.以上都不对6.数组intarr[5]中,数组最后一个元素的下标是()A.5B.4C.0D.67.以下关于C语言函数的说法正确的是()A.函数可以嵌套定义B.函数可以嵌套调用C.主函数可以被其他函数调用D.函数必须有返回值8.若有定义int*p,a=10;以下正确的赋值语句是()A.p=a;B.*p=a;C.p=&a;D.&p=a;9.switch语句中,break语句的作用是()A.结束整个程序B.结束当前case分支,跳出switchC.跳过本次循环D.继续下一次判断10.字符串"hello"在内存中占用的字节数是()A.5B.6C.4D.711.以下运算符中优先级最高的是()A.=B.+C.&&D.!12.若inta=3,b=4;则a&&b的结果是()A.0B.1C.3D.413.结构体类型的关键字是()A.defineB.structC.typedefD.union14.C语言中预处理命令以()开头A.//B./*C.#D.;15.以下不能作为循环结构的是()A.forB.whileC.ifD.do-while二、填空题(本大题共10小题,每空2分,共20分)1.C语言程序的入口函数是__________。2.浮点型数据分为单精度float和__________。3.表达式7%2的结果是__________。4.定义长度为10的整型数组的语句是__________。5.指针变量的本质是存放__________的变量。6.结束本次循环、进入下一次循环的语句是__________。7.C语言中逻辑真用__________表示,逻辑假用0表示。8.函数调用时,实参和形参的__________、类型必须一致。9.字符常量使用__________包裹,字符串常量使用双引号包裹。10.宏定义#definePI3.14的作用是__________。三、程序阅读题(本大题共3小题,每小题6分,共18分)写出下列程序的运行结果。1.c

#include<stdio.h>

intmain()

{

inta=10,b=20,t;

t=a;

a=b;

b=t;

printf("a=%d,b=%d",a,b);

return0;

}2.c

#include<stdio.h>

intmain()

{

inti,sum=0;

for(i=1;i<=5;i++)

{

sum+=i;

}

printf("%d",sum);

return0;

}3.c

#include<stdio.h>

intfun(intn)

{

if(n==1)return1;

returnn+fun(n-1);

}

intmain()

{

printf("%d",fun(4));

return0;

}四、程序填空题(本大题共2空,每空4分,共8分)以下程序功能:输出1~100之间所有的偶数,请补充完整代码。c

#include<stdio.h>

intmain()

{

inti;

for(i=1;i<=100;i++)

{

if(__________)//判断偶数条件

{

printf("%d",i);

}

}

return0;

}五、编程大题(本大题共2小题,第1题10分,第2题14分,共24分)1.编写C语言程序,输入两个整数,求两个数的最大值并输出。(10分)2.编写C语言程序,利用数组实现:输入5个学生的成绩,计算并输出平均分、最高分、最低分。(14分)参考答案及详细解析一、单项选择题(每题2分,共30分)1.C解析:C语言基本数据类型为整型int、浮点型float/double、字符型char,string字符串类型不属于基本数据类型。2.B解析:变量名命名规则:由字母、数字、下划线组成,不能以数字开头,不能使用关键字。A以数字开头、C含非法字符、D是关键字。3.A解析:a++是后置自增,先使用变量原值参与运算,运算结束后变量自增1,所以表达式值为5,a最终为6。4.C解析:C语言规定else始终与离它最近的、未配对的if配对,和缩进无关。5.B解析:while循环先判断后执行,初始i=5,条件i<5不成立,循环体一次不执行;do-while至少执行一次。6.B解析:C语言数组下标从0开始,长度为5的数组下标为0~4,最后一个元素下标为4。7.B解析:C语言函数不允许嵌套定义、允许嵌套调用;主函数不能被调用;无返回值函数使用void修饰。8.C解析:指针变量存放变量地址,&a为a的地址,p=&a是合法赋值。9.B解析:break用于switch时,终止当前case,跳出整个switch结构;用于循环时跳出循环。10.B解析:字符串末尾自动隐藏结束符'\0',"hello"含5个有效字符+1个结束符,共6字节。11.D解析:运算符优先级:逻辑非(!)>算术运算(+)>逻辑与(&&)>赋值(=)。12.B解析:C语言中非0数值即为真,3和4均为真,逻辑与结果为真,用1表示。13.B解析:struct为结构体关键字,define用于宏定义,typedef用于类型重定义,union为共用体。14.C解析:所有预处理命令(宏定义、头文件包含)均以#开头。15.C解析:if是分支判断语句,不属于循环结构,循环结构为for、while、do-while。二、填空题(每空2分,共20分)1.main函数2.double(双精度浮点型)3.1(解析:取余运算,7除以2商3余1)4.intarr[10];5.内存地址6.continue7.非0数值(或1)8.个数9.单引号10.用标识符PI替代数值3.14,简化代码、便于修改三、程序阅读题(每题6分,共18分)1.运行结果:a=20,b=10解析:通过临时变量t完成a、b两个数值的交换,最终a、b的值互换。2.运行结果:15解析:循环累加1~5的和,1+2+3+4+5=15。3.运行结果:10解析:递归计算1~4累加和,fun(4)=4+3+2+1=10。四、程序填空题(每空4分,共8分)填空答案:i%2==0解析:偶数能被2整除,对2取余结果为0,该条件可筛选出所有偶数。五、编程大题(共24分)1.参考答案(10分)c

#include<stdio.h>

intmain()

{

inta,b,max;

//输入两个整数

printf("请输入两个整数:");

scanf("%d%d",&a,&b);

//判断最大值

if(a>b)

{

max=a;

}

else

{

max=b;

}

//输出结果

printf("最大值为:%d\n",max);

return0;

}评分标准:头文件、主函数完整(3分),输入语句正确(2分),判断逻辑正确(3分),输出结果正确(2分)。2.参考答案(14分)c

#include<stdio.h>

intmain()

{

intscore[5];

inti,max,min,sum=0;

floatavg;

//输入5个成绩

printf("请输入5个学生的成绩:");

for(i=0;i<5;i++)

{

scanf("%d",&score[i]);

sum+=score[i];//累加总成绩

}

//初始化最高分和最低分

max=min=score[0];

//遍历数组找最值

for(i=1;i<5;i++)

{

if(score[i]>max)

{

max=score[i];

}

if(score[i]<min)

{

min=score[i];

}

}

//计算平均分

avg=sum/

温馨提示

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

评论

0/150

提交评论