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

下载本文档

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

文档简介

C语言期末测试卷(含详细答案)适用:大学本科/专科C语言期末统考满分:100分考试时间:90分钟一、单项选择题(每题2分,共20分)1、以下不属于C语言基本数据类型的是()A、intB、charC、floatD、array2、下列变量定义合法的是()A、int1a;B、inta_1;C、inta-b;D、inta#b;3、C语言中,char型变量占用的字节数是()A、1字节B、2字节C、4字节D、8字节4、表达式3+5%2的运算结果是()A、0B、4C、1D、35、if和else的配对原则是()A、缩进对齐配对B、随机配对C、else与上方最近未配对的if配对D、从上到下依次配对6、以下关于for循环说法正确的是()A、for循环三个表达式都不能省略B、for循环可以嵌套使用C、for循环只能用于计数循环D、for循环执行顺序是先执行循环体再判断条件7、在C语言中,数组下标合法范围是()A、从1开始B、从0开始C、任意整数D、负数也可以8、以下关于局部变量说法正确的是()A、全局有效B、程序运行全程存在C、函数结束后自动释放D、存储在全局数据区9、字符串"abc"在内存中占用的字节数是()A、3B、4C、5D、210、scanf函数读取字符时,会接收的字符是()A、仅字母数字B、不接收空格C、空格、回车都会接收D、仅回车二、判断题(每题1分,共10分,对的打√,错的打×)1、C语言语句必须以分号结尾。()2、变量可以先使用后定义。()3、inta=3.9;变量a的值为3。()4、switch语句中default必须放在最后。()5、数组名是一个常量地址,不能被赋值。()6、while(1)是死循环。()7、全局变量默认初始值为0。()8、局部变量默认初始值为0。()9、指针变量存放的是内存地址。()10、字符串结束标志是'\n'。()三、填空题(每空2分,共20分)1、C语言程序的入口函数是________。2、表达式5/2的结果是________,5.0/2的结果是________。3、inta=10;a+=5;执行后a的值为________。4、逻辑表达式中,0代表________,非0代表________。5、数组intarr[5]最多可以存放________个整型数据。6、函数调用时,不改变实参内容的传递方式是________。7、清空字符串末尾的结束符是________。8、break语句的作用是跳出________或________。四、程序阅读题(每题5分,共20分)1、写出以下程序运行结果c

#include<stdio.h>

intmain()

{

inta=3,b=5;

if(a>b)

{

printf("%d",a);

}

else

{

printf("%d",b);

}

return0;

}2、写出以下循环执行结果c

#include<stdio.h>

intmain()

{

inti,s=0;

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

{

s=s+i;

}

printf("%d",s);

return0;

}3、写出数组输出结果c

#include<stdio.h>

intmain()

{

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

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

return0;

}4、分析函数调用结果c

#include<stdio.h>

voidfun(intx)

{

x=100;

}

intmain()

{

inta=10;

fun(a);

printf("%d",a);

return0;

}五、程序填空题(每空3分,共15分)1、输入两个整数,输出最大值c

#include<stdio.h>

intmain()

{

inta,b,max;

scanf("%d%d",_______);

if(a>b)

{

max=a;

}

else

{

max=b;

}

printf("max=%d",_______);

return0;

}2、输出1~10所有偶数c

#include<stdio.h>

intmain()

{

inti;

for(i=1;i<=10;_______)

{

if(_______==0)

{

printf("%d",i);

}

}

return0;

}六、编程题(第1题7分,第2题8分,共15分)1、编写程序:输入一个整数,判断该数是正数、负数还是零。2、编写程序:利用循环计算1~100的累加和并输出结果。【参考答案及详细解析】一、单项选择题答案1、D解析:array是数组,属于构造类型,不是基本类型。2、B解析:变量名只能由字母、数字、下划线组成,不能以数字开头、不能含特殊符号。3、A解析:char固定1字节。4、B解析:先取余5%2=1,再加3,结果为4。5、C解析:else遵循就近匹配原则。6、B解析:for循环表达式可省略,可嵌套,用途广泛。7、B解析:C语言数组下标从0开始。8、C解析:局部变量在栈区,函数结束自动释放。9、B解析:字符串末尾自带'\0'结束符,3个有效字符+1个结束符=4字节。10、C解析:%c读取时空格、回车、换行均会被当作有效字符读入。二、判断题答案1、√2、×3、√4、×5、√6、√7、√8、×9、√10、×解析:局部变量无默认初值,是随机脏数据;字符串结束符是'\0'不是'\n';default可以放在任意位置。三、填空题答案1、main()2、2;2.53、154、假;真5、56、值传递7、'\0'8、循环;switch分支四、程序阅读题答案1、运行结果:5解析:a=3,b=5,条件不成立,执行else输出b。2、运行结果:15解析:1+2+3+4+5=15。3、运行结果:2解析:数组下标从0开始,arr[1]为第二个元素。4、运行结果:10解析:普通变量是值传递,函数内修改的是副本,不影响外部实参。五、程序填空题答案1、第一空:&a,&b第二空:max2、第一空:i++第二空:i%2六、编程题参考答案1、判断正负零c

#include<stdio.h>

intmain()

{

intnum;

scanf("%d",&num);

if(num>0)

{

printf("正数\n");

}

elseif(num<0)

{

printf("负数\n");

}

else

{

printf("零\n");

}

return0;

}2、1~10

温馨提示

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

评论

0/150

提交评论