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

下载本文档

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

文档简介

C语言期末考试试题(含详细答案解析)适用场景:大一期末、计算机基础测试、入门考级模拟总分:100分考试时长:90分钟一、单项选择题(共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.随机匹配B.就近匹配C.最远匹配D.顺序匹配7.以下循环语句中,至少会执行一次循环体的是()A.for循环B.while循环C.do-while循环D.以上都不对8.数组intarr[5]中,最大的下标值是()A.0B.4C.5D.69.C语言中函数返回值的关键字是()A.breakB.continueC.returnD.exit10.指针变量的本质是()A.数值变量B.内存地址C.字符串D.数组11.以下不能作为循环结束条件的是()A.a>10B.1C.0D.以上都可以12.结构体变量的定义关键字是()A.defineB.structC.typedefD.include13.预处理命令#include的作用是()A.定义变量B.引入头文件C.声明函数D.编译程序14.表达式!(3>5)的结果是()A.0B.1C.真D.假15.break语句的作用是()A.结束本次循环B.跳出当前循环或switch语句C.结束程序D.跳转语句二、填空题(共10空,每空2分,共20分)1.C语言中,整型常量、浮点型常量、字符型常量和______是四种基本常量。2.定义双精度浮点型变量的关键字是______。3.表达式10/3的结果是______,10.0/3的结果是______。4.switch语句中,用于结束分支的关键字是______。5.数组名代表数组的______地址。6.函数分为库函数和______函数。7.指针变量p指向变量a,则*p代表______。8.宏定义的关键字是______。三、程序填空题(共5空,每空3分,共15分)1.以下程序实现:输入两个整数,输出最大值,请补全代码PlainText

#include<stdio.h>

intmain()

{

inta,b,max;

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

if(______)

max=a;

else

max=b;

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

return0;

}2.以下程序实现1~100累加求和,补全循环条件PlainText

#include<stdio.h>

intmain()

{

inti=1,sum=0;

while(______)

{

sum=sum+i;

i++;

}

printf("sum=%d",sum);

return0;

}3.遍历输出数组所有元素,补全代码PlainText

#include<stdio.h>

intmain()

{

intarr[3]={1,2,3};

for(inti=0;i<______;i++)

{

printf("%d",arr[i]);

}

return0;

}四、程序阅读题(共3题,每题5分,共15分)写出以下程序的运行结果1.PlainText

#include<stdio.h>

intmain()

{

inta=2,b=3;

a=a+b;

b=a-b;

a=a-b;

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

return0;

}2.PlainText

#include<stdio.h>

intmain()

{

inti,s=0;

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

{

if(i%2==0)

s++;

}

printf("%d",s);

return0;

}3.PlainText

#include<stdio.h>

intfun(intx)

{

returnx*x;

}

intmain()

{

inta=3;

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

return0;

}五、编程题(共2题,每题10分,共20分)1.编写程序,判断输入的整数是否为偶数,是则输出“是偶数”,否则输出“是奇数”。2.编写程序,利用循环输出1~10之间所有的平方数。完整答案+详细解析一、单项选择题答案及解析1.C解析:C语言基础数据类型只有int、float、double、char,没有string字符串类型,字符串需用字符数组实现。2.B解析:变量名规则:字母/下划线开头,由字母、数字、下划线组成,不能使用关键字。A数字开头、C含非法符号、D是关键字。3.A解析:char字符型固定占用1个字节,int占4字节,float占4字节,double占8字节。4.B解析:取模运算优先级高于加法,5%2=1,3+1=4。5.C解析:a+=3等价于a=a+3,5+3=8。6.B解析:if嵌套遵循就近匹配原则,else永远和离它最近的未配对if匹配。7.C解析:do-while是先执行后判断,循环体至少执行一次;while和for先判断后执行,可能一次都不执行。8.B解析:数组下标从0开始,arr[5]下标为0、1、2、3、4,最大下标4。9.C解析:return用于函数返回值;break跳出循环,continue结束本次循环,exit退出程序。10.B解析:指针变量专门用来存放内存地址,本质是地址变量。11.D解析:C语言中非0即真,0即假,表达式、数字都可以作为循环条件。12.B解析:struct是结构体定义关键字,define宏定义,typedef类型重命名。13.B解析:#include是预处理指令,作用是导入系统或自定义头文件。14.B解析:3>5结果为假(0),!0取反为真,C语言中真值用1表示。15.B解析:break跳出当前循环或switch分支;continue仅结束本次循环,进入下一次循环。二、填空题答案及解析1.字符串常量解析:C语言四大基础常量:整型、浮点型、字符型、字符串常量。2.double解析:float单精度浮点,double双精度浮点。3.3、3.333333解析:两个整数相除结果为整数,直接舍去小数;有浮点数参与运算,结果为浮点数。4.break解析:switch中break用于终止当前分支,防止case穿透。5.首元素解析:数组名是常量,代表数组第一个元素的内存地址。6.自定义解析:函数分为系统提供的库函数(printf、scanf)和用户编写的自定义函数。7.变量a的值解析:p保存a的地址,*p是解指针操作,取出地址中存储的数据。8.#define解析:宏定义格式:#define宏名常量/表达式。三、程序填空题答案1.a>b解析:判断a是否大于b,成立则最大值为a,否则为b。2.i<=100解析:循环遍历1到100,累加所有数值。3.3解析:数组共3个元素,下标0-2,循环条件小于3可遍历全部元素。四、程序阅读题答案及解析1.运行结果:32解析:利用加减法互换两个数的值,不使用临时变量。初始a=2,b=3;a=5,b=5-3=2,a=5-2=3,完成互换。2.运行结果:2解析:循环1-5,判断偶数,偶数为2、4,满足条件执行s++,最终s=2。3.运行结果:9解析:自定义函数实现平方计算,传入a=3,返回3*3=9。五、编程题标准答案(可直接运行)1.判断奇偶性程序PlainText

#include<stdio.h>

intmain()

{

intnum;

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

scanf("%d",&num);

if(num%2==0)

{

printf("是偶数\n");

}

else

{

printf("是奇数\n");

}

return0;

}解析:利用取模运算,整数对2取余,余数为0是偶数

温馨提示

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

评论

0/150

提交评论