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

下载本文档

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

文档简介

C语言程序设计期末试题(含详细答案解析)适用场景:大学计算机公共课、C语言入门期末考核、专升本基础测试考试时长:90分钟满分:100分说明:试题贴合课本基础考点,无偏题怪题,解析通俗易懂,适合零基础复盘复习一、单项选择题(共15题,每题2分,共30分)1.以下不属于C语言基本数据类型的是()A.int  B.float  C.string  D.char2.在C语言中,合法的标识符是()A.1_num  B.num_1  C.num-1  D.int3.若定义inta=5;则执行a+=a-=a*a;后,a的值为()A.-15  B.-40  C.0  D.-204.C语言中,逻辑运算结果为真时,对应的数值是()A.0  B.1  C.非0任意数  D.-15.已知intx=3,y=4;则表达式x&&y的值是()A.0  B.1  C.3  D.46.以下if语句语法正确的是()A.if(a>b);printf("%d",a);  B.if(a>b){printf("%d",a)}C.ifa>bprintf("%d",a);  D.if(a>b)printf("%d",a)7.设有循环语句for(i=0;i<10;i++);则循环体执行次数为()A.0次  B.9次  C.10次  D.11次8.在C语言中,数组名代表的是()A.数组全部元素的值  B.数组第一个元素的地址C.数组元素的个数  D.数组首元素的值9.定义数组inta[5];则数组中合法的最大下标是()A.4  B.5  C.0  D.610.以下关于函数的说法,正确的是()A.函数可以嵌套定义  B.函数可以嵌套调用C.主函数可以被其他函数调用  D.函数必须有返回值11.C语言中,变量的默认存储类型是()A.auto  B.static  C.extern  D.register12.指针变量char*p;中,p存放的是()A.字符变量的值  B.字符变量的地址C.字符串的内容  D.无意义13.预处理命令#include的作用是()A.定义变量  B.包含头文件C.编译程序  D.执行函数14.若有宏定义#defineN5,则程序中N会被替换为()A.变量5  B.常量5  C.不确定  D.无替换15.C语言程序的入口和出口是()A.main函数  B.第一个函数  C.最后一个函数  D.任意函数二、填空题(共10空,每空2分,共20分)1.C语言中,一条语句结束的标志是________。2.表达式3/2的结果是________,3.0/2的结果是________。3.设有inta=10;a%=3;执行后a的值为________。4.while循环和do-while循环的核心区别是________。5.二维数组inta[3][4]中,共有________个元素,行下标最大值为________。6.函数返回值类型为void时,表示该函数________。7.指针变量的本质是________。8.字符串"abc"在内存中占用的字节数是________。三、程序阅读题(共3题,每题6分,共18分)1.写出以下程序的运行结果c

#include<stdio.h>

intmain()

{

inti,s=0;

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

{

if(i%2==0)

continue;

s+=i;

}

printf("%d",s);

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+10;

}

intmain()

{

intn=5;

fun(n);

printf("%d",n);

return0;

}四、程序填空题(共2空,每空4分,共8分)以下程序功能:计算1~100的累加和,补充完整代码。c

#include<stdio.h>

intmain()

{

inti,sum=0;

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

{

________;

}

printf("%d",sum);

return0;

}五、编程题(共2题,每题12分,共24分)1.编写C语言程序,输入一个整数,判断该数是否为偶数,是则输出“偶数”,否则输出“奇数”。2.编写C语言程序,利用数组实现:输入5个整数,求这5个数的平均值并输出。参考答案及详细解析一、单项选择题答案及解析1.答案:C解析:C语言基础数据类型为int(整型)、float(单精度浮点型)、double(双精度浮点型)、char(字符型),没有string字符串类型,字符串需通过字符数组或指针实现。2.答案:B解析:C语言标识符规则:由字母、数字、下划线组成,不能以数字开头,不能是关键字。A以数字开头、C含减号、D是关键字,均不合法。3.答案:B解析:复合赋值运算符从右往左运算。原式拆解:先算a*a=25,再算a-=25,即a=5-25=-20;最后算a+=-20,即a=-20+(-20)=-40。4.答案:B解析:C语言规定,逻辑运算结果真为1,假为0;而判断条件时,非0数值都视为真,二者需要区分。5.答案:B解析:&&是逻辑与,两边操作数均为非0(真),结果为1。x=3、y=4均为真,故表达式值为1。6.答案:A解析:B选项大括号后缺少分号;C选项if条件缺少小括号;D选项语句末尾缺少分号;A选项if后空语句,语法合法。7.答案:C解析:for语句后有分号,代表循环体为空语句。i从0到9,满足i<10共10次,空语句执行10次。8.答案:B解析:数组名是常量指针,固定指向数组第一个元素的内存地址,不能被赋值修改。9.答案:A解析:C语言数组下标从0开始,inta[5]下标为0、1、2、3、4,最大合法下标为4。10.答案:B解析:C语言函数不能嵌套定义,但可以嵌套调用;main函数是程序入口,不能被调用;void类型函数无返回值。11.答案:A解析:局部变量默认存储类型为auto(自动变量),程序运行时分配空间,结束后释放。12.答案:B解析:指针变量专门存放内存地址,char*p表示p指向一个字符型数据的内存地址。13.答案:B解析:#include是预处理指令,作用是引入系统或自定义头文件,调用库函数必须对应头文件。14.答案:B解析:宏定义是简单文本替换,编译前将代码中所有N替换为5,N是常量,值不可修改。15.答案:A解析:C语言程序唯一入口为main()主函数,程序从main函数开始执行,执行完毕后结束。二、填空题答案及解析1.分号(;)解析:C语言所有执行语句必须以分号结尾,作为语句结束标识。2.1、1.5解析:整数相除结果取整,3/2=1;浮点数参与运算,结果保留小数。3.1解析:%为取余运算符,10除以3商3余1,a最终赋值为1。4.do-while至少执行一次循环体,while可能一次都不执行解析:while先判断后执行,do-while先执行后判断。5.12、2解析:3行4列共12个元素,行下标0~2,最大值为2。6.没有返回值解析:void为空类型,修饰函数表示函数执行完毕后不返回任何数据。7.存放内存地址的变量解析:指针变量本质是地址变量,存储其他数据的内存编号。8.4解析:字符串末尾自动隐藏结束符'\0',"abc"包含a、b、c、\0,共4个字节。三、程序阅读题答案及解析1.运行结果:9解析:循环遍历1-5,遇到偶数执行continue跳过累加,只累加奇数1、3、5,1+3+5=9。2.运行结果:a=5,b=2解析:通过临时变量t完成两个数交换,初始a=2、b=5,交换后a=5、b=2。3.运行结果:5解析:C语言函数参数传递为值传递,形参x的修改不会影响主函数实参n的值,n始终为5。四、程序填空题答案第一空:i<=100第二空:sum=sum+i(或sum+=i)解析:循环需要遍历1到100,每次循环将i的值累加至sum,最终得到1~100累加和。五、编程题参考答案(完整可运行代码)1.判断奇偶性程序c

#include<stdio.h>

intmain()

{

intnum;

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

scanf("%d",&num);

if(num%2==0)

{

printf("偶数\n");

}

else

{

printf("奇数\n");

}

return0;

}解析:利用取余运算,整数对2取余为0即为偶数,否则为奇数,基础分支结构应用。2.求5个整数平均值程序c

#include<stdio.h>

intmain()

{

inta[5],i,sum=0;

floatavg;

printf("请输入5个整数:")

温馨提示

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

评论

0/150

提交评论