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

下载本文档

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

文档简介

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*a;后,a的值为()A.-15B.-40C.0D.-204.C语言中,char型数据在内存中占用的字节数是()A.1字节B.2字节C.4字节D.8字节5.以下关于if语句的描述,正确的是()A.if语句必须搭配else使用B.if后的表达式只能是关系表达式C.if后的表达式非0即为真D.if语句不能嵌套使用6.循环语句while(0)执行的次数是()A.0次B.1次C.无限次D.2次7.若有定义intarr[5]={1,2,3};则数组arr第4个元素的值为()A.3B.0C.随机值D.48.C语言函数返回值的类型由()决定A.return语句后的表达式类型B.函数定义时的返回值类型C.调用函数时的变量类型D.系统默认类型9.以下关于指针的说法,错误的是()A.指针变量存储的是内存地址B.可以通过指针修改变量的值C.指针变量没有数据类型D.同类型指针可以相互赋值10.字符串"hello"在内存中占用的字节数是()A.5B.6C.7D.411.switch语句中,break语句的作用是()A.结束整个程序B.跳出当前switch分支C.跳过本次循环D.继续下一次循环12.以下运算符中优先级最高的是()A.=B.+C.&&D.!13.若inta=3,b=4;则a&&b的值为()A.0B.1C.3D.414.结构体变量初始化时,以下说法正确的是()A.必须对所有成员赋值B.可以对部分成员赋值C.结构体成员不能初始化D.只能对第一个成员赋值15.C语言中,预处理指令的起始符号是()A.//B./*C.#D.二、填空题(共10空,每空2分,共20分)1.C语言程序的入口函数是________。2.表达式3/2的结果是________,3.0/2的结果是________。3.设有inta=10;则a%3的值是________。4.二维数组inta[3][4]中,最多可以存储________个元素。5.定义无返回值的函数,需要使用的关键字是________。6.指针变量p指向变量a,获取a的地址的写法是________,通过p修改a值的写法是________。7.for循环的三个表达式分别负责初始化、________和更新。8.C语言中,单行注释的符号是________。三、程序阅读题(共3题,每题6分,共18分)1.写出以下程序的运行结果c

#include<stdio.h>

intmain()

{

inti,sum=0;

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

{

if(i%2==0)

continue;

sum+=i;

}

printf("%d",sum);

return0;

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

#include<stdio.h>

intmain()

{

inta=2,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()

{

inta=10;

fun(a);

printf("%d",a);

return0;

}四、程序填空题(共2空,每空4分,共8分)以下程序功能:输入一个整数,判断该数是否为正数,是则输出“正数”,否则输出“非正数”,补全代码。c

#include<stdio.h>

intmain()

{

intn;

scanf("%d",&n);

if(_______1_______)

{

printf("正数\n");

}

else

{

_______2_______

}

return0;

}五、编程题(共2题,每题12分,共24分)1.编写C语言程序,求1~100之间所有偶数的和并输出结果。2.编写C语言程序,定义一个整型数组,存储5个学生的成绩,计算并输出这5个成绩的平均值(保留1位小数)。参考答案及详细解析一、单项选择题答案及解析1.C解析:C语言基本数据类型为整型、浮点型、字符型,string字符串类型不属于C语言基础类型,是C++拓展类型。2.B解析:变量名只能由字母、数字、下划线组成,不能以数字开头,不能使用关键字。A以数字开头、C含非法符号、D是关键字。3.B解析:赋值运算符从右向左运算,先算a*a=25,再算a-=25,a=5-25=-20,最后算a+=-20,a=-20-20=-40。4.A解析:标准C语言中char字符型固定占用1个字节内存。5.C解析:if语句可单独使用无else;表达式可以是任意数值、关系、逻辑表达式;支持嵌套使用。6.A解析:while循环先判断后执行,0代表假,条件不成立,循环一次都不执行。7.B解析:数组初始化时,未赋值的元素系统自动初始化为0。8.B解析:函数返回值类型由函数头部定义的类型决定,return表达式类型需与函数类型匹配。9.C解析:指针变量有明确类型,如int*、char*,类型决定指针寻址长度。10.B解析:字符串末尾自动隐藏结束符'\0',5个有效字符+1个结束符,共6字节。11.B解析:break用于跳出当前switch结构或循环结构,不影响外层代码执行。12.D解析:优先级:逻辑非(!)>算术运算(+)>逻辑与(&&)>赋值(=)。13.B解析:逻辑与运算,两边数值非0即为真,结果为1。14.B解析:结构体支持部分成员初始化,未赋值成员默认初始化为0。15.C解析:所有预处理指令(#include、#define等)均以#开头。二、填空题答案及解析1.main()解析:C语言程序从main函数开始执行,是唯一程序入口。2.1、1.5解析:整数相除结果为整数,小数相除结果为浮点型。3.1解析:取余运算10%3,商3余1。4.12解析:3行4列二维数组,元素总数=行数×列数。5.void解析:void关键字定义无返回值函数。6.p=&a、*p=新值解析:&取地址符,*解引用符,通过指针修改变量值需解引用。7.条件判断解析:for(初始化;条件判断;更新)为固定语法结构。8.//解析://用于单行注释,/**/用于多行注释。三、程序阅读题答案及解析1.运行结果:9解析:循环遍历1-5,遇到偶数执行continue跳过累加,只累加奇数1、3、5,总和为9。2.运行结果:a=5,b=2解析:通过临时变量t完成a、b两个数值的交换,最终a存储5,b存储2。3.运行结果:10解析:函数参数为值传递,仅将a的数值拷贝给形参x,函数内修改x的值不会影响主函数中a的原值。四、程序填空题答案1:n>02:printf("非正数\n");解析:判断正数的条件是数值大于0,不满足条件则输出非正数,补齐输出语句即可。五、编程题参考答案(完整可运行代码)1.1~100偶数求和c

#include<stdio.h>

intmain()

{

inti,sum=0;

//遍历1到100所有整数

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

{

//判断是否为偶数

if(i%2==0)

{

sum+=i;

}

}

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

return0;

}运行结果:1~100偶数和为:25502.计算5个学生成绩平均值c

#include<stdio.h>

intmain()

{

//定义数组存储5个成绩

intscore[5];

inti,sum=0;

floatavg;

//循环输入成绩

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

{

printf("请输入第%d个学生成绩:",i+1);

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

sum+=score[i];

}

//计

温馨提示

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

评论

0/150

提交评论