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

下载本文档

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

文档简介

C语言程序设计期末测试题(含详细答案)适用场景:大学专科/本科C语言基础期末考核、计算机入门摸底测试总分:100分考试时长:90分钟一、单项选择题(每题3分,共30分)1.以下不属于C语言基本数据类型的是()A.intB.floatC.stringD.char2.以下合法的C语言变量名是()A.123abcB.abc_123C.abc-123D.int3.表达式3+5%2的运算结果是()A.4B.3C.1D.54.C语言中if和else的配对规则是()A.随机配对B.缩进对齐配对C.else与最近的未配对if配对D.最先的if配对5.执行语句inta=5;a+=a*2;后,a的值为()A.10B.15C.20D.56.以下关于for循环说法正确的是()A.for循环不能嵌套B.for循环的三个表达式都可以省略C.for循环只能循环固定次数D.for循环不能替代while循环7.数组定义intarr[5];该数组可存储的元素个数是()A.4B.5C.6D.不确定8.C语言函数返回值类型由()决定A.函数参数B.return语句的值C.函数定义时的类型D.调用方式9.字符串"abcde"在内存中占用的字节数是()A.5B.6C.7D.410.以下能够结束本次循环,直接进入下一次循环的语句是()A.breakB.continueC.returnD.exit二、填空题(每题2分,共20分)1.C语言程序的入口函数是________。2.整型常量012是________进制数,转换为十进制是________。3.表达式5>3&&2<1的结果是________(填真/假或1/0)。4.switch语句中,用于跳出分支结构的关键字是________。5.定义一个可以存储10个字符的字符数组的语句是________。6.全局变量的作用域是________,局部变量的作用域是________。7.指针变量的本质是存储________的变量。8.结构化程序设计的三种基本结构是顺序结构、________、________。9.执行inta=3,b=2;a=b++;后,a=________,b=________。10.数组名代表数组的________地址。三、程序阅读题(每题5分,共20分)1.写出以下程序的运行结果c

#include<stdio.h>

intmain()

{

inti,s=0;

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

{

s+=i;

}

printf("%d",s);

return0;

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

#include<stdio.h>

intmain()

{

inta=10,b=20;

if(a>b)

{

intt=a;

a=b;

b=t;

}

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

return0;

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

#include<stdio.h>

intfun(intn)

{

if(n==1)

return1;

returnn+fun(n-1);

}

intmain()

{

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

return0;

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

#include<stdio.h>

intmain()

{

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

int*p=arr;

printf("%d",*(p+2));

return0;

}四、编程题(每题15分,共30分)1.编写C语言程序,输入一个整数,判断该数是否为偶数,若是偶数输出“是偶数”,否则输出“是奇数”。(15分)2.编写C语言程序,利用循环计算1~100之间所有偶数的累加和,并输出最终结果。(15分)参考答案及详细解析一、单项选择题答案及解析1.答案:C解析:C语言基础数据类型包含int整型、float单精度浮点型、double双精度浮点型、char字符型,没有string字符串类型,字符串通过字符数组实现。2.答案:B解析:C语言变量名命名规则:由字母、数字、下划线组成,不能以数字开头,不能使用系统关键字。A以数字开头,C包含非法字符,D是关键字,均不合法。3.答案:A解析:运算符优先级:取模%高于加法+,先计算5%2=1,再计算3+1=4。4.答案:C解析:C语言语法规定,else始终与离它最近、且未配对的if语句配对,与代码缩进无关。5.答案:B解析:复合赋值运算符运算规则:a+=a*2等价于a=a+a*2,代入a=5,得5+10=15。6.答案:B解析:for循环的初始化、条件判断、更新表达式均可省略(分号不能省);for循环支持嵌套,可替代while循环,也可实现不定次数循环。7.答案:B解析:数组定义intarr[5]表示定义长度为5的数组,下标为0~4,共5个有效元素。8.答案:C解析:函数返回值类型由函数定义时首部的类型决定,return语句的值类型需与函数类型匹配。9.答案:B解析:C语言字符串末尾自动隐藏结束符'\0',占用1个字节,"abcde"共5个有效字符,总占用6字节。10.答案:B解析:continue结束本次循环,直接进入下一次循环;break跳出整个循环或switch结构;return用于结束函数。二、填空题答案及解析1.main()解析:C语言程序固定从main函数开始执行。2.八、10解析:以0开头的整型常量为八进制,012=1×8¹+2×8⁰=10。3.0解析:逻辑与运算,两边条件全真才为真,2<1不成立,整体结果为假,即0。4.break解析:switch中break用于终止当前分支,防止穿透。5.charstr[10];解析:定义长度为10的字符数组,可存放字符数据。6.整个程序、定义它的代码块内部解析:全局变量定义在函数外,全程有效;局部变量定义在函数/代码块内,仅当前代码块有效。7.内存地址解析:指针变量专门用于存放变量的内存地址。8.选择结构、循环结构解析:结构化程序设计三大核心结构。9.2、3解析:后置自增先赋值后自增,先将b=2赋值给a,再b自增为3。10.首(起始)解析:数组名是常量指针,代表数组首个元素的内存地址。三、程序阅读题答案及解析1.运行结果:6解析:循环执行3次,i=1、2、3,s依次累加1、2、3,最终s=6。2.运行结果:10,20解析:判断条件a>b(10>20)不成立,if内部交换语句不执行,a、b数值保持不变。3.运行结果:10解析:递归求1~4累加和,fun(4)=4+fun(3)、fun(3)=3+fun(2)、fun(2)=2+fun(1)、fun(1)=1,总和为10。4.运行结果:3解析:p指向数组首元素arr[0],p+2指向arr[2],取值为3。四、编程题参考答案(完整可运行代码)1.判断奇偶性程序c

#include<stdio.h>

intmain()

{

intnum;

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

scanf("%d",&num);

//偶数能被2整除,余数为0

if(num%2==0)

{

printf("是偶数\n");

}

else

{

printf("是奇数\n");

}

return0;

}评分标准:头文件包含(3分)、变量定义(3分)、输入语句(3分)、判断逻辑(4分)、输出结果(2分)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

提交评论