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

下载本文档

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

文档简介

大学C语言期末考试试卷(含详细答案)适用专业:计算机、机电、电子、经管类通识课程考试时长:90分钟满分:100分考试说明:闭卷考试,禁止携带资料,所有代码均可在标准C99环境运行一、单项选择题(每题2分,共20分)1.以下不属于C语言基本数据类型的是()A.intB.floatC.stringD.char2.以下合法的C语言变量名是()A.123abcB.abc_123C.abc-123D.int3.执行语句inta=5;a+=a*2;后,变量a的值为()A.10B.15C.20D.254.C语言中while循环和do-while循环的主要区别是()A.while循环先判断后执行,do-while先执行后判断B.while循环可以嵌套,do-while不能嵌套C.循环条件写法不同D.循环次数限制不同5.数组intarr[5]中,数组下标最大为()A.0B.4C.5D.66.以下关于if语句的描述正确的是()A.else可以单独使用B.if嵌套不能超过两层C.if语句可以省略大括号(单语句时)D.条件表达式必须为等式7.函数return语句的作用是()A.暂停程序B.结束当前函数,返回指定值C.结束整个程序D.循环终止8.指针变量int*p中,p表示的是()A.变量的值B.变量的地址C.指针变量自身地址D.无意义9.以下不能实现循环终止的语句是()A.breakB.continueC.returnD.goto(合法跳转)10.结构体类型的主要作用是()A.定义统一类型数据B.存储不同类型的关联数据C.提高运算速度D.简化变量命名二、填空题(每空2分,共20分)1.C语言程序的入口函数是________。2.intx=10,y=3;则x%y的结果是________。3.逻辑表达式中,“并且”的运算符是________,“或者”的运算符是________。4.定义长度为10的整型数组的语句是________。5.字符常量使用________包裹,字符串常量使用________包裹。6.全局变量的作用域是________,局部变量的作用域是________。7.指针访问指向变量的值需要使用________运算符。三、程序阅读题(每题6分,共18分)1.写出以下程序的运行结果c

#include<stdio.h>

intmain()

{

inti,s=0;

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

{

if(i%2==0)

s+=i;

}

printf("%d",s);

return0;

}2.写出以下程序的运行结果c

#include<stdio.h>

intmain()

{

inta=3,b=5,t;

t=a;

a=b;

b=t;

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

return0;

}3.写出以下程序的运行结果c

#include<stdio.h>

voidfun(intx)

{

x=x*2;

}

intmain()

{

intnum=10;

fun(num);

printf("%d",num);

return0;

}四、程序填空题(每空3分,共12分)以下程序功能:输入n,计算1~n的累加和,补充完整代码。c

#include<stdio.h>

intmain()

{

intn,i,sum=0;

scanf("%d",&n);

for(i=1;______;i++)

{

______;

}

printf("sum=%d",sum);

return0;

}五、编程大题(每题15分,共30分)1.编写程序,输入一个百分制成绩(0~100),输出对应的等级:90~100为优秀,80~89为良好,70~79为中等,60~69为及格,0~59为不及格。(15分)2.编写程序,定义整型数组存储5个学生成绩,输入5个成绩,求出最高分、最低分和平均分并输出。(15分)参考答案及详细解析一、单项选择题答案及解析1.C解析:C语言基本数据类型为整型、浮点型、字符型,没有string字符串类型,字符串通过字符数组实现。2.B解析:变量名只能由字母、数字、下划线组成,不能以数字开头,不能使用关键字。A数字开头,C含非法符号,D是关键字。3.B解析:复合赋值运算符优先级低于算术运算符,先算a*2=10,再算a=a+10=15。4.A解析:while是先判断条件,条件成立才执行循环体;do-while先执行一次循环体,再判断条件,至少执行一次。5.B解析:C语言数组下标从0开始,长度为5的数组下标为0~4。6.C解析:else必须和if配对,不能单独使用;if可以多层嵌套;条件表达式可以是任意合法逻辑表达式。7.B解析:return用于结束当前调用的函数,并向主调函数返回指定数值,不影响主程序其他代码。8.B解析:指针变量p存储的是所指向变量的内存地址,*p代表变量的值。9.B解析:continue的作用是结束本次循环,直接进入下一次循环,不能终止整个循环。10.B解析:结构体可以整合多个不同数据类型的成员,用来描述一组关联的属性数据。二、填空题答案及解析1.main()解析:C语言程序从main函数开始执行,是程序唯一入口。2.1解析:%为取余运算符,10除以3商3余1。3.&&;||解析:逻辑与、逻辑或的标准运算符。4.intarr[10];解析:数组定义格式:数据类型数组名[长度]。5.单引号('');双引号("")解析:单个字符用单引号,字符串(字符序列)用双引号。6.整个源文件;定义它的代码块内部解析:全局变量定义在函数外,局部变量定义在函数或代码块内,出作用域失效。7.*解析:解引用运算符*,通过指针获取对应内存的数据值。三、程序阅读题答案及解析1.运行结果:12解析:循环遍历1~5,累加偶数,即2+4=12。2.运行结果:a=5,b=3解析:通过临时变量t完成a、b两个数值的交换。3.运行结果:10解析:函数参数为值传递,形参x的修改不会影响主函数中实参num的数值。四、程序填空题答案第一空:i<=n第二空:sum=sum+i(或sum+=i)解析:循环条件控制遍历1到n,每次循环将i累加到sum中,实现求和功能。五、编程大题参考答案(可直接运行)1.成绩等级判断程序c

#include<stdio.h>

intmain()

{

intscore;

printf("请输入百分制成绩:");

scanf("%d",&score);

if(score>=90&&score<=100)

{

printf("优秀\n");

}

elseif(score>=80&&score<=89)

{

printf("良好\n");

}

elseif(score>=70&&score<=79)

{

printf("中等\n");

}

elseif(score>=60&&score<=69)

{

printf("及格\n");

}

elseif(score>=0&&score<=59)

{

printf("不及格\n");

}

else

{

printf("输入成绩不合法\n");

}

return0;

}评分要点:合法成绩判断、多分支条件准确、输出对应等级、容错非法输入。2.成绩最值与平均值计算程序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];

温馨提示

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

最新文档

评论

0/150

提交评论