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

下载本文档

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

文档简介

C语言基础期末考试试题(含答案解析)考试时长:90分钟满分:100分适用:C语言零基础入门学习者一、单项选择题(共15题,每题2分,共30分)1.以下不属于C语言基本数据类型的是()A.intB.floatC.stringD.char2.在C语言中,定义符号常量必须使用的关键字是()A.defineB.constC.staticD.auto3.若已定义inta=5;则执行语句a+=a-=a*a;后,a的值为()A.-15B.-40C.0D.-204.C语言中if和else的配对原则是()A.缩进对齐配对B.随机配对C.就近配对D.依次顺序配对5.以下合法的C语言标识符是()A.3abcB.abc_3C.abc-3D.int6.while和do-while循环的主要区别是()A.循环次数不同B.do-while先执行后判断,while先判断后执行C.语法结构不同D.没有区别7.数组intarr[5]中,合法的数组下标最大值是()A.5B.4C.6D.08.以下关于函数的说法,正确的是()A.函数可以嵌套定义B.函数可以嵌套调用C.主函数可以被其他函数调用D.函数必须有返回值9.运算符sizeof(int)在32位系统下的结果是()A.1B.2C.4D.810.若有定义int*p,a=10;以下正确的赋值语句是()A.p=a;B.*p=a;C.p=&a;D.&p=a;11.switch语句中,break语句的作用是()A.结束整个程序B.跳出当前case分支,结束switch语句C.跳过本次循环D.无作用12.字符串"hello"在内存中占用的字节数是()A.5B.6C.7D.413.以下循环语句的循环次数是()

for(inti=0;i<3;i++){}A.2B.3C.4D.014.C语言中,全局变量的作用域是()A.整个源文件B.所在函数C.所在代码块D.所有工程文件15.以下能够实现变量x自增1的语句,错误的是()A.x++;B.++x;C.x=x+1;D.x+1;二、填空题(共10空,每空2分,共20分)1.C语言程序的入口函数是________。2.浮点型变量分为float和________两种。3.逻辑表达式中,代表“并且”的运算符是________,代表“或者”的运算符是________。4.二维数组inta[3][4]共有________个元素。5.指针变量的本质是存储变量的________。6.结束本次循环、直接进入下一次循环的语句是________。7.C语言中,注释分为单行注释和________注释。8.若inta=3,b=5;则a&&b的结果是________。三、程序阅读题(共3题,每题6分,共18分)1.写出以下程序的运行结果PlainText

#include<stdio.h>

intmain()

{

inti,sum=0;

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

{

sum+=i;

}

printf("%d",sum);

return0;

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

#include<stdio.h>

intmain()

{

inta=10,b=20;

if(a>b)

{

intt=a;

a=b;

b=t;

}

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

return0;

}3.写出以下程序的运行结果PlainText

#include<stdio.h>

intfun(intn)

{

if(n==1)

return1;

returnn+fun(n-1);

}

intmain()

{

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

return0;

}四、编程题(共2题,第1题16分,第2题16分,共32分)1.编写C语言程序,输入一个整数,判断该数是否为偶数,若是偶数输出“是偶数”,否则输出“是奇数”。2.编写C语言程序,利用循环计算1~100之间所有偶数的和,并输出最终结果。参考答案及详细解析一、单项选择题答案及解析1.答案:C

解析:C语言基础数据类型为整型int、浮点型float/double、字符型char,没有string字符串类型,字符串需通过字符数组实现。2.答案:B

解析:const用于定义常量,define是预处理指令,不属于关键字,static定义静态变量,auto定义自动变量。3.答案:B

解析:赋值运算符从右向左运算,原式拆解:先算a*a=25,再算a-=25,a=5-25=-20,最后算a+=-20,a=-20-20=-40。4.答案:C

解析:C语言中else遵循就近匹配原则,与上方最近的、未配对的if结合,和缩进格式无关。5.答案:B

解析:标识符规则:以字母/下划线开头,由字母、数字、下划线组成,不能使用关键字。A数字开头,C含非法字符,D是关键字。6.答案:B

解析:while是先判断条件、后执行循环体,条件不成立则一次都不执行;do-while先执行一次循环体、再判断条件,至少执行一次。7.答案:B

解析:C语言数组下标从0开始,arr[5]包含下标0~4共5个元素,最大合法下标为4。8.答案:B

解析:C语言函数不能嵌套定义,但可以嵌套调用;主函数是程序入口,不能被调用;无返回值函数需定义为void类型。9.答案:C

解析:32位系统中,int整型占用4个字节,char占1字节,double占8字节。10.答案:C

解析:指针变量存储的是内存地址,&a是变量a的地址,赋值给指针p;A数值赋值地址错误,Bp未初始化,D地址赋值变量错误。11.答案:B

解析:break用于跳出当前switch结构或循环结构;结束程序用exit(),跳过本次循环用continue。12.答案:B

解析:C语言字符串末尾自动隐藏结束符'\0',"hello"包含5个有效字符+1个结束符,共6字节。13.答案:B

解析:i取值0、1、2,满足条件执行3次循环,i=3时条件不成立,循环结束。14.答案:A

解析:全局变量定义在所有函数外部,作用域为当前整个源文件;局部变量仅作用于所在代码块。15.答案:D

解析:x+1只是运算表达式,不会改变变量x本身的值,其余三种写法均可实现x自增1。二、填空题答案及解析1.main()解析:C语言程序固定从main函数开始执行。2.double解析:浮点型分为单精度float、双精度double。3.&&、||解析:逻辑与&&、逻辑或||,是C语言标准逻辑运算符。4.12解析:3行4列二维数组,元素总数=3*4=12。5.内存地址解析:指针变量专门存放其他变量的内存地址。6.continue解析:continue终止当前单次循环,进入下一次循环;break终止整个循环。7.多行解析://为单行注释,/**/为多行注释。8.1解析:C语言中非0数值代表真,3和5均为真,逻辑与结果为真,输出1。三、程序阅读题答案及解析1.运行结果:15

解析:程序实现1~5累加,sum=1+2+3+4+5=15,循环结束后输出累加结果。2.运行结果:10,20

解析:判断条件a>b(10>20)不成立,if内部交换代码不执行,a、b数值保持不变。3.运行结果:10

解析:递归实现累加,fun(4)=4+fun(3)、fun(3)=3+fun(2)、fun(2)=2+fun(1)、fun(1)=1,最终结果4+3+2+1=10。四、编程题参考答案1.判断奇偶性程序PlainText

#include<stdio.h>

intmain()

{

intnum;

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

scanf("%d",&num);

//对2取余,余数为0是偶数,否则为奇数

if(num%2==0)

{

printf("是偶数\n");

}

else

{

printf("是奇数\n");

}

return0;

}解析:利用取余运算符%的特性,整数对2取余结果只有0和1两种情况,以此区分奇偶。2.1~100偶数求和程序PlainText

#include<stdio.h>

intmain()

{

inti,sum=0;

//遍历1到100所有整数

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

温馨提示

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

评论

0/150

提交评论