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

下载本文档

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

文档简介

C语言期末考试试卷(含详细答案解析)考试时长:90分钟满分:100分适用专业:计算机、机电、经管等通识C语言课程考试说明:本试卷满分100分,共五大题型,全部为闭卷笔试,禁止携带资料入场。一、单项选择题(每题2分,共20分)1.以下不属于C语言基本数据类型的是()A.intB.floatC.stringD.char2.以下合法的C语言变量名是()A.123abcB.abc_123C.abc-123D.int3.执行语句inta=5;a+=3;后,变量a的值为()A.5B.8C.3D.24.C语言中if、else语句的配对规则是()A.缩进对齐配对B.随机配对C.else与最近的未配对if配对D.与最外层if配对5.以下循环语句中,循环体执行次数为0的是()A.for(inti=0;i<5;i++)B.inti=5;while(i<0)C.do{}while(i<0)D.for(inti=5;i>0;i--)6.数组定义intarr[5];该数组的合法下标最大值是()A.0B.4C.5D.67.C语言中函数返回值类型由()决定A.return语句B.函数定义时的返回值类型C.调用函数D.自动默认8.以下运算符中优先级最高的是()A.+B.&&C.!D.=9.字符串"abc"在内存中占用的字节数是()A.3B.4C.5D.210.指针变量的作用是存放()A.变量的值B.变量的地址C.字符串D.数组全部内容二、填空题(每空2分,共20分)1.C语言程序的入口函数是________。2.整型常量、浮点型常量、字符型常量统称为________常量。3.表达式3+5%2的运算结果是________。4.结构化程序设计的三种基本结构是顺序结构、________、________。5.定义一维整型数组存放10个数据,数组定义语句为________。6.C语言中,终止整个循环的语句是________,结束本次循环进入下一次循环的语句是________。7.若有定义inta=10,*p=&a;,则*p的值为________。三、程序阅读题(每题6分,共18分)1.写出以下程序的运行结果PlainText

#include<stdio.h>

intmain()

{

inta=2,b=5,c;

c=a+b;

printf("%d",c);

return0;

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

#include<stdio.h>

intmain()

{

inti,s=0;

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

{

s=s+i;

}

printf("%d",s);

return0;

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

#include<stdio.h>

intmain()

{

inta=8;

if(a%2==0)

printf("偶数");

else

printf("奇数");

return0;

}四、程序填空题(每空3分,共12分)以下程序功能:输入两个整数,输出两个数中的最大值,请补全代码。PlainText

#include<stdio.h>

intmain()

{

intx,y,max;

scanf("%d%d",____1____);

if(____2____)

max=x;

else

max=y;

printf("最大值:%d",____3____);

return0;

}五、编程题(每题15分,共30分)1.编写C语言程序,输入一个正整数n,计算并输出1~n的累加和。2.编写C语言程序,定义一个包含5个元素的整型数组,手动输入5个整数,求出数组中的最大值并输出。参考答案及详细解析一、单项选择题答案及解析1.C解析:C语言基础数据类型为int、float、double、char,string是C++和部分高级语言的字符串类型,C语言无此基础类型。2.B解析:变量名规则:由字母、数字、下划线组成,不能以数字开头,不能使用关键字。A以数字开头、C含非法字符、D是关键字。3.B解析:a+=3等价于a=a+3,5+3=8。4.C解析:C语言else遵循就近匹配原则,与上方最近的未配对if语句配对,与缩进无关。5.B解析:while先判断条件后执行循环体,i初始为5,i<0条件不成立,循环一次不执行;do-while至少执行一次循环。6.B解析:数组下标从0开始,长度为5的数组,下标为0、1、2、3、4,最大值为4。7.B解析:函数返回值类型由函数首部定义的类型决定,return仅负责返回具体数值。8.C解析:优先级:逻辑非(!)>算术运算符(+)>逻辑与(&&)>赋值运算符(=)。9.B解析:C语言字符串末尾自动隐藏结束符'\0',"abc"包含3个有效字符+1个结束符,共4字节。10.B解析:指针变量专门用于存储内存地址,普通变量存储数据值。二、填空题答案及解析1.main()解析:C语言程序固定从main函数开始执行。2.基本解析:整型、浮点型、字符型均属于基本数据类型常量。3.4解析:取模优先级高于加法,5%2=1,3+1=4。4.选择结构、循环结构解析:结构化程序设计三大核心结构。5.intarr[10];解析:数组定义格式:数据类型数组名[长度]。6.break、continue解析:break终止整体循环,continue仅跳过本次迭代。7.10解析:p指向变量a的地址,*p为取地址对应的值,即a的值10。三、程序阅读题答案及解析1.运行结果:7解析:定义a=2、b=5,c=a+b=7,最终输出c的值。2.运行结果:6解析:循环执行3次,s依次累加1、2、3,最终s=1+2+3=6。3.运行结果:偶数解析:8对2取模余数为0,满足偶数判断条件,执行对应输出语句。四、程序填空题答案1.&x,&y(scanf输入变量必须加取地址符)2.x>y(判断x是否大于y)3.max(输出最大值变量)五、编程题参考答案(完整可运行代码)1.1~n累加和程序PlainText

#include<stdio.h>

intmain()

{

intn,i,sum=0;

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

scanf("%d",&n);

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

{

sum=sum+i;

}

printf("1到%d的累加和为:%d\n",n,sum);

return0;

}解题思路:定义累加变量初始值为0,通过循环遍历1到n,逐个累加数值,最后输出结果。2.数组求最大值程序PlainText

#include<stdio.h>

intmain()

{

intarr[5];

inti,max;

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

//输入数组元素

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

{

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

}

//假设第一个元素为最大值

max=arr[0];

//遍历比较

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

{

if(arr[i]>max)

{

max=arr[i];

}

}

温馨提示

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

评论

0/150

提交评论