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

下载本文档

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

文档简介

大一C语言期末模拟试题(含详细答案解析)适用专业:大一计算机、机电、经管等通识C语言课程考试时长:90分钟满分:100分考试说明:闭卷考试,题型包含选择题、填空题、程序阅读题、编程题,所有代码均可在标准C语言编译器(Dev-C++、VC6.0、VS)运行。一、单项选择题(共15题,每题2分,共30分)每小题只有一个正确答案,将正确选项填入括号内1.以下不属于C语言基本数据类型的是()A.intB.floatC.stringD.char2.以下合法的C语言变量名是()A.123abcB.abc_123C.abc-123D.int3.C语言中,char型数据在内存中占用的字节数是()A.1B.2C.4D.84.表达式3+5%2的运算结果是()A.0B.4C.5D.65.若定义inta=5;则执行a+=3;后,a的值为()A.3B.5C.8D.156.C语言中if语句的条件表达式结果为()时,表示条件成立A.仅为1B.非0C.0D.任意整数7.以下循环语句中,循环体执行次数为无限次的是()A.for(i=0;i<10;i++)B.while(1)C.do{}while(0)D.for(;;)8.在C语言中,数组下标合法的取值范围是()A.1~长度B.0~长度-1C.0~长度D.任意整数9.若定义intarr[5]={1,2};则数组arr中未初始化的元素值为()A.随机值B.0C.1D.210.C语言中函数返回值的类型由()决定A.return语句后的表达式类型B.函数定义的返回值类型C.调用函数的变量类型D.自动识别11.以下关于switch语句说法正确的是()A.必须有default分支B.case分支必须加breakC.case常量值不能重复D.表达式可以是浮点型12.已知inta=2,b=3;表达式a&&b的值是()A.0B.1C.2D.313.字符串"abc\n123"的有效长度是()A.6B.7C.8D.914.以下能够正确定义一维整型数组的是()A.intn=5;intarr[n];B.intarr[5];C.intarr[];D.intarr[5]={1,2,3,4,5,6};15.C语言程序的入口函数是()A.main()B.start()C.begin()D.run()二、填空题(共10空,每空2分,共20分)1.C语言中,单行注释的符号是__________,多行注释的结束符号是__________。2.表达式10/3的结果是__________,10.0/3的结果是__________。3.若inta=7;则a%2的结果是__________。4.结构化程序设计的三种基本结构是顺序结构、__________、__________。5.在C语言中,定义符号常量需要使用__________关键字。6.二维数组inta[3][4]中,最多可以存放__________个元素。7.函数调用时,实参和形参的__________、类型、顺序必须一致。三、程序阅读题(共3题,每题6分,共18分)写出下列程序的运行结果1.程序代码:c

#include<stdio.h>

intmain()

{

inti,s=0;

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

{

s+=i;

}

printf("%d",s);

return0;

}运行结果:__________2.程序代码:c

#include<stdio.h>

intmain()

{

inta=10,b=20,t;

t=a;

a=b;

b=t;

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

return0;

}运行结果:__________3.程序代码:c

#include<stdio.h>

intfun(intn)

{

if(n==1)

return1;

returnn*fun(n-1);

}

intmain()

{

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

return0;

}运行结果:__________四、编程题(共3题,第1题10分,第2题16分,第3题6分,共32分)1.编写程序,输入两个整数,计算并输出两个数的和、差、积、商(整除)。(10分)2.编写程序,求1~100之间所有偶数的和,并输出结果。(16分)3.编写自定义函数,判断一个整数是否为正数,主函数完成数据输入和结果输出。(6分)参考答案及详细解析一、单项选择题答案及解析1.C解析:C语言基本数据类型为整型int、浮点型float/double、字符型char,没有string字符串类型,字符串通过字符数组实现。2.B解析:变量名规则:由字母、数字、下划线组成,不能以数字开头,不能使用关键字。A以数字开头,C含非法字符,D是关键字。3.A解析:标准C语言中char字符型固定占用1个字节内存。4.B解析:取模运算优先级高于加法,5%2=1,3+1=4。5.C解析:a+=3等价于a=a+3,5+3=8。6.B解析:C语言中逻辑值非0为真,0为假。7.B解析:while(1)条件恒为真,无限循环;for(;;)无循环条件,也是死循环,但本题高校常规考题标准答案为B(最典型死循环)。8.B解析:C语言数组下标从0开始,长度为n的数组下标范围0~n-1。9.B解析:数组部分初始化时,未手动赋值的元素系统自动初始化为0。10.B解析:函数返回值类型由函数头部定义的类型决定,与return表达式无关,类型不匹配会自动转换或报错。11.C解析:switch的case常量必须唯一,不可重复;default可选,break可选,表达式只能是整型、字符型,不能是浮点型。12.B解析:&&为逻辑与,a、b均非0,结果为真,逻辑真输出1。13.A解析:\n为一个转义字符,字符串有效字符为a、b、c、\n、1、2、3?修正:正确计数:abc\n123共7个?标准答案:A错误,正确答案B,解析:转义字符算1个字符,总长度7,不含结束符\0。14.B解析:C语言标准不支持变长数组(A错误);数组定义必须指定长度(C错误);初始化元素个数不能大于数组长度(D错误)。15.A解析:C语言程序固定从main函数开始执行。二、填空题答案1.//、*/2.3、3.333333(整数相除取整,浮点相除保留小数)3.14.选择结构、循环结构5.#define6.12(3行4列,3*4=12)7.个数三、程序阅读题答案及解析1.15解析:循环累加1+2+3+4+5=15,最终输出15。2.a=20,b=10解析:借助中间变量t完成a、b数值交换。3.24解析:递归求阶乘,fun(4)=4*3*2*1=24。四、编程题参考答案(可直接运行)1.两数四则运算程序c

#include<stdio.h>

intmain()

{

inta,b,sum,diff,mul,div;

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

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

sum=a+b;

diff=a-b;

mul=a*b;

div=a/b;//整除运算

printf("和:%d\n",sum);

printf("差:%d\n",diff);

printf("积:%d\n",mul);

printf("商(整除):%d\n",div);

return0;

}评分标准:头文件、主函数完整(3分)、输入输出语句正确(3分)、四则运算逻辑正确(4分)2.1~100偶数求和程序c

#include<stdio.h>

intmain()

{

inti,sum=0;

//遍历1到100所有数字

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

{

//判断是否为偶数

if(i%2==0)

{

sum=sum+i;

}

}

printf("1~100所有偶数的和为:%d\n",sum);

return0;

}运行结果:2550评分标准:变量初始化(2分)、循环结构正确(5分)、偶数判断条件正确(5分)、输出结果正确(4分)3.自定义函数判断正数c

#include<stdio.h>

//自定义函数:判断正数

intisPositive(intn)

{

if(n>0)

return1;//是正数返回1

else

return0;//不是正数返回0

}

intmain()

{

intnum,res;

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

scanf("%d",&num);

res=isPositive(num);

if(res==1)

温馨提示

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

评论

0/150

提交评论