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

下载本文档

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

文档简介

C语言期末考试机考试卷(含详细答案)考试说明:1.本试卷满分100分,考试时间90分钟,为上机闭卷考试;2.所有代码均可在Dev-C++、VS、CodeBlocks等主流编译环境运行;3.答题规范:选择题、填空题直接作答,程序题书写完整可运行代码。一、单项选择题(共20题,每题2分,共40分)1.以下不属于C语言基本数据类型的是()A.intB.floatC.stringD.char2.以下合法的C语言变量名是()A.123abcB.abc_123C.abc-123D.int3.C语言中int类型数据占用的字节数为()(32位系统)A.1字节B.2字节C.4字节D.8字节4.表达式3+5%2的运算结果是()A.4B.3C.5D.65.若定义inta=5;则执行a+=3;后,a的值为()A.5B.3C.8D.26.C语言中if语句的条件表达式结果为()时,表示条件成立A.0B.非0C.负数D.空值7.以下循环语句中,属于死循环的是()A.for(i=0;i<10;i++)B.while(0)C.while(1)D.do-while(0)8.数组intarr[5]中,合法的数组下标最大值是()A.0B.4C.5D.69.C语言中函数返回值的关键字是()A.breakB.continueC.returnD.exit10.字符串"hello"在内存中占用的字节数是()A.5B.6C.7D.411.以下运算符中优先级最高的是()A.+B.%C.=D.&12.若inta=2,b=3;则a&&b的结果是()A.0B.1C.2D.313.break语句的作用是()A.结束本次循环B.跳出当前循环或switch结构C.结束程序运行D.无作用14.C语言中自定义函数的返回值类型默认是()A.voidB.intC.floatD.char15.定义字符数组chars[]="123";数组长度为()A.3B.4C.5D.216.以下能正确输出整型变量a的语句是()A.printf("%c",a);B.printf("%d",a);C.printf("%f",a);D.printf(a);17.do-while循环与while循环的主要区别是()A.do-while先执行后判断B.do-while循环次数更多C.while循环效率更高D.无区别18.指针变量的作用是存储()A.变量的值B.变量的地址C.常量D.字符串19.以下不能作为循环条件的是()A.1B.0C.3>5D.变量定义20.C语言源程序的后缀名是()A..exeB..cC..hD..txt二、填空题(共10空,每空2分,共20分)1.C语言程序的入口函数是________。2.浮点型数据分为float和________两种。3.表达式10/3的结果是________,10.0/3的结果是________。4.若inta=10;a%=3;执行后a的值为________。5.二维数组inta[3][4]共有________个元素。6.continue语句的作用是________。7.输出换行的转义字符是________。8.定义无返回值的函数需要使用________关键字修饰返回值类型。9.逻辑或运算符是________。三、程序阅读题(共2题,每题8分,共16分)1.写出以下程序的运行结果c

#include<stdio.h>

intmain()

{

inti,sum=0;

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

{

if(i%2==0)

sum+=i;

}

printf("%d",sum);

return0;

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

#include<stdio.h>

intmain()

{

inta=1,b=2,c;

c=a+b;

a=c;

b=a-b;

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

return0;

}四、编程题(共2题,每题12分,共24分)1.编写程序,输入一个整数,判断该数是正数、负数还是零,并输出对应结果。2.编写程序,计算1~100之间所有奇数的和并输出结果。参考答案及详细解析一、单项选择题答案及解析1.C解析:C语言基本数据类型为整型int、浮点型float/double、字符型char,string是C++字符串类型,不属于C语言基础类型。2.B解析:变量名只能由字母、数字、下划线组成,不能以数字开头,不能使用关键字。A以数字开头、C含非法符号、D是关键字。3.C解析:32位操作系统中,int类型固定占用4个字节。4.A解析:取模运算符优先级高于加法,先算5%2=1,再算3+1=4。5.C解析:a+=3等价于a=a+3,5+3=8。6.B解析:C语言中,非0数值代表真,0代表假。7.C解析:while(1)条件恒为真,无限循环;其余选项循环条件为假或有终止条件。8.B解析:数组下标从0开始,长度为5的数组下标为0~4。9.C解析:return用于函数返回值;break跳出循环,continue结束本次循环,exit退出程序。10.B解析:字符串末尾默认隐藏结束符'\0',5个有效字符+1个结束符,共6字节。11.B解析:运算符优先级:算术运算符(%、+)>逻辑运算符(&&)>赋值运算符(=)。12.B解析:a、b均为非0,逻辑与结果为真,C语言中真用1表示。13.B解析:break跳出当前循环或switch结构,continue仅结束本次循环。14.B解析:C语言自定义函数未声明返回值类型时,默认返回int类型。15.B解析:字符串初始化自动添加'\0',数组实际长度为4。16.B解析:%d为整型格式符,%c为字符型,%f为浮点型。17.A解析:do-while先执行一次循环体,再判断条件;while先判断条件再执行。18.B解析:指针变量专门用于存储变量的内存地址。19.D解析:循环条件必须是表达式,变量定义不属于表达式,不能作为循环条件。20.B解析:.c是C语言源文件后缀,.exe是可执行文件,.h是头文件。二、填空题答案及解析1.main()解析:main函数是C语言程序唯一入口,程序从该函数开始执行。2.double解析:C语言浮点型分为单精度float、双精度double。3.3、3.333333解析:整数相除结果为整数,小数相除结果为浮点数。4.1解析:a%=3等价于a=a%3,10对3取模余数为1。5.12解析:3行4列二维数组,元素总数=3*4=12。6.结束本次循环,直接进入下一次循环判断解析:continue仅跳过本次循环剩余语句,不终止整体循环。7.\n解析:\n为换行转义字符,是编程最常用的转义字符。8.void解析:void修饰函数表示函数无返回值。9.||解析:逻辑或运算符为||,逻辑与为&&,逻辑非为!。三、程序阅读题答案及解析1.运行结果:12解析:程序遍历1~5的数字,累加所有偶数。偶数为2、4,求和2+4=12。2.运行结果:a=3,b=1解析:初始a=1,b=2;c=3,a赋值为3;b=3-2=1,最终完成两个变量数值交换。四、编程题参考答案(完整可运行代码)1.判断整数正负零程序c

#include<stdio.h>

intmain()

{

intnum;

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

scanf("%d",&num);

if(num>0)

{

printf("该数是正数\n");

}

elseif(num<0)

{

printf("该数是负数\n");

}

else

{

printf("该数是零\n");

}

return0;

}评分标准:正确输入数据(3分)、完整if-else分支判断(6分)、正确输出结果+代码规范(3分)2.计算1~100奇数和程序c

#include<stdio.h>

intmain()

{

inti,sum=0;

//遍历1到100所有数字

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

{

//判断是否为奇数

if(i%2!=0)

温馨提示

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

评论

0/150

提交评论