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

下载本文档

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

文档简介

C语言期末考试试卷(含详细答案)考试时长:90分钟满分:100分适用专业:计算机、电子信息、机电等相关专业答题说明:1、本试卷共五大题,全部为必答题;2、所有代码书写规范,大小写、符号严格遵循C语言语法;3、编程题可自由选用while、for、if等常规语句,逻辑正确即可得分。一、单项选择题(每题2分,共20分)1、以下不属于C语言基本数据类型的是()A、intB、floatC、stringD、char2、在C语言中,合法的标识符是()A、123abcB、abc_123C、abc-123D、int3、表达式3+5%2的运算结果是()A、4B、3C、5D、64、if和else语句的配对规则是()A、随机配对B、缩进对齐配对C、else与最近的未配对if配对D、else与最远if配对5、while(1)循环的特点是()A、执行1次B、无限循环C、不执行D、执行2次6、定义数组inta[5];以下说法正确的是()A、数组下标范围0~5B、数组下标范围1~5C、数组下标范围0~4D、数组有4个元素7、C语言中函数返回值类型由()决定A、return语句B、函数定义时的类型C、调用方式D、参数类型8、指针变量char*p;中,p存储的是()A、字符数据B、变量的地址C、字符串D、随机值9、以下能够结束本次循环,直接进入下一次循环的语句是()A、breakB、continueC、returnD、exit10、结构体变量的成员访问运算符是()A、.B、*C、&D、->二、填空题(每空2分,共20分)1、C语言程序的入口函数是__________。2、整型常量012是__________进制数,0x12是__________进制数。3、表达式a=3,a+=5,a*2的值是__________。4、for循环的三个表达式分别用于__________、__________、__________。5、二维数组inta[3][4]共有__________个元素。6、全局变量的作用域是__________,局部变量的作用域是__________。三、程序阅读题(每题5分,共20分)1、写出以下程序的运行结果PlainText

#include<stdio.h>

intmain()

{

inta=10,b=20;

if(a>b)

printf("%d",a);

else

printf("%d",b);

return0;

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

#include<stdio.h>

intmain()

{

inti,s=0;

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

{

s=s+i;

}

printf("%d",s);

return0;

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

#include<stdio.h>

intmain()

{

inta[]={1,2,3,4,5};

printf("%d",a[2]);

return0;

}4、写出以下程序的运行结果PlainText

#include<stdio.h>

voidfun(intx)

{

x=x+10;

}

intmain()

{

inta=5;

fun(a);

printf("%d",a);

return0;

}四、程序填空题(每空3分,共15分)以下程序功能:计算1~100所有偶数的和,补全代码。PlainText

#include<stdio.h>

intmain()

{

inti,sum=0;

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

{

if(__________)

{

sum=__________;

}

}

printf("偶数和为:%d",sum);

return0;

}五、编程题(第1题10分,第2题15分,共25分)1、编写C语言程序,输入两个整数,输出两个数中的最大值。(10分)2、编写C语言程序,利用数组实现:输入5个学生的成绩,计算并输出平均分、最高分、最低分。(15分)参考答案及详细解析一、单项选择题答案及解析1、C解析:C语言基础数据类型为int、float、double、char,无string字符串类型,string是C++、Java等语言类型。2、B解析:标识符规则:由字母、数字、下划线组成,不能以数字开头,不能是关键字。A以数字开头、C含减号、D是关键字。3、A解析:取模运算优先级高于加法,5%2=1,3+1=4。4、C解析:C语言else遵循就近匹配原则,与最近的未配对if结合,与缩进无关。5、B解析:while循环条件为真(非0)则循环,1为恒真,构成死循环(无限循环)。6、C解析:数组长度为5,下标从0开始,合法下标为0、1、2、3、4,共5个元素。7、B解析:函数返回值类型由函数首部定义的类型决定,return语句返回值必须与类型匹配。8、B解析:指针变量的核心作用是存储内存地址,char*p为字符指针,存储字符变量地址。9、B解析:continue结束本次循环,进入下一次循环;break跳出整个循环。10、A解析:结构体普通变量用.访问成员,结构体指针变量用->访问成员。二、填空题答案1、main()2、八、十六解析:0开头为八进制,0x开头为十六进制。3、16解析:逗号表达式从左至右运算,a=3,a+=5后a=8,8*2=16。4、变量初始化、循环条件判断、变量更新5、12解析:3行4列,3*4=12个元素。6、整个程序、定义它的代码块内部三、程序阅读题答案及解析1、运行结果:20解析:a=10,b=20,条件a>b不成立,执行else语句,输出b的值。2、运行结果:15解析:循环累加1+2+3+4+5,最终s=15。3、运行结果:3解析:数组下标从0开始,a[2]对应第三个元素,值为3。4、运行结果:5解析:C语言函数参数为值传递,形参x修改不会影响实参a的值。四、程序填空题答案第一空:i<=100第二空:i%2==0第三空:sum+i完整逻辑:遍历1~100,判断偶数,累加所有偶数数值。五、编程题参考答案(标准满分代码)1、求两个整数的最大值PlainText

#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;

}评分标准:输入输出正确4分,判断逻辑正确4分,代码规范2分。2、学生成绩统计(平均分、最高分、最低分)PlainText

#include<stdio.h>

intmain()

{

intscore[5];

inti,max,min,sum=0;

floatavg;

//输入5个成绩

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

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

{

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

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

}

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

max=score[0];

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/5.0;

//输出结果

printf(

温馨提示

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

评论

0/150

提交评论