C语言期末考试题库(完整版)_第1页
C语言期末考试题库(完整版)_第2页
C语言期末考试题库(完整版)_第3页
C语言期末考试题库(完整版)_第4页
C语言期末考试题库(完整版)_第5页
已阅读5页,还剩4页未读, 继续免费阅读

下载本文档

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

文档简介

C语言期末考试题库(完整版)适用范围:大学本科/专科C语言期末统考、补考题型说明:选择题、填空题、程序阅读题、程序设计题(含基础、进阶考点,贴合课本重难点)答题须知:所有代码默认环境为VS、Dev-C++、VC6.0通用标准,遵循C89基础语法规范一、单项选择题(共40题,每题2分,共80分)说明:每小题只有一个正确答案,将正确选项填入括号内1.以下不属于C语言基本数据类型的是()A.intB.floatC.stringD.char2.C语言源程序文件的后缀名是()A..cB..cppC..hD..exe3.以下合法的C语言变量名是()A.123aB.a_123C.intD.a-b4.C语言中,常量012对应的十进制数值是()A.12B.10C.18D.245.以下运算符中优先级最高的是()A.&&B.++C.+D.==6.设有定义inta=5;执行a+=a-=a*a;后a的值为()A.-15B.-40C.0D.-207.C语言中if和else的配对原则是()A.随机配对B.缩进对齐配对C.就近配对D.依次顺序配对8.以下关于switch语句说法正确的是()A.case后必须为常量表达式B.default必须放在最后C.每个case后必须加breakD.switch表达式可以是浮点型9.循环语句for(;;)的执行情况是()A.不执行循环B.无限循环C.执行一次D.语法报错10.结束本次循环,进入下一次循环的语句是()A.breakB.continueC.returnD.exit11.以下数组定义合法的是()A.inta[];B.inta[3]={1,2,3,4};C.inta[3]={1};D.intn=3,a[n];12.设有inta[5]={1,2,3};则a[4]的值为()A.3B.0C.随机值D.413.C语言中字符串结束标志是()A.\nB.\0C.''D.\t14.charstr[]="abc";数组str占用的字节数是()A.3B.4C.5D.215.以下关于指针的说法错误的是()A.指针变量存储的是地址B.可以对空指针进行解引用C.指针可以进行加减运算D.两个同类型指针可以比较大小16.设有inta=10,*p=&a;则*p的值是()A.10B.a的地址C.p的地址D.随机值17.函数的返回值类型由()决定A.函数参数B.函数名C.函数定义时的类型D.return语句18.C语言中函数调用时,参数传递的默认方式是()A.地址传递B.值传递C.引用传递D.双向传递19.以下不能作为函数实参的是()A.常量B.变量C.数组名D.函数定义20.局部变量的存储类型默认是()A.autoB.staticC.externD.register21.静态局部变量的特点是()A.程序运行期间始终占用内存B.函数调用结束后立即释放C.只能赋值一次D.全局所有函数都可访问22.宏定义#definePI3.14中,PI是()A.变量B.常量C.符号常量D.函数23.以下结构体定义正确的是()A.structstu{intid;charname;};B.structstu{intid,charname;}C.structstu{intid;charname;}stu;D.struct{intid;charname;}stu;24.结构体变量占用内存大小是()A.各成员字节数之和B.最大成员字节数C.按内存对齐规则计算的总字节数D.固定大小25.C语言中,位运算中按位与的运算符是()A.||B.&&C.&D.|26.表达式3&5的运算结果是()A.1B.3C.5D.727.以下关于文件操作说法正确的是()A.fopen函数打开文件失败返回0B.w模式会清空原有文件内容C.r模式可以创建新文件D.文件使用后无需关闭28.读取单个字符的文件函数是()A.fscanfB.fgetsC.fgetcD.fread29.若有定义inta=3,b=4;则a>b?a:b的值是()A.3B.4C.0D.130.逻辑表达式!0||1的结果是()A.0B.1C.2D.-131.以下循环执行次数是()for(inti=0;i<5;i++){if(i==2)continue;}A.4次B.5次C.3次D.无限次32.二维数组inta[3][4]的元素个数是()A.7B.12C.9D.633.字符串处理函数中,计算字符串长度的是()A.strcpyB.strcatC.strlenD.strcmp34.指针数组char*p[5]的含义是()A.指向数组的指针B.包含5个字符指针的数组C.长度为5的字符串D.指针变量35.递归函数的核心是()A.循环调用B.有终止条件和递归公式C.无返回值D.参数固定36.以下关键字中用于定义无符号整型的是()A.signedB.unsignedC.longD.short37.表达式sizeof(char)的值是()A.0B.1C.2D.438.以下能够实现变量交换的代码段是()A.a=b;b=a;B.t=a;a=b;b=t;C.a=a+b;b=a-b;D.以上都不对39.do-while循环与while循环的主要区别是()A.do-while先判断后执行B.do-while至少执行一次C.while循环效率更高D.无区别40.预处理指令的执行时机是()A.程序运行时B.编译之前C.编译之后D.链接时二、填空题(共15空,每空2分,共30分)说明:请将正确答案填写在横线上1.C语言程序的入口函数是________。2.整型常量分为十进制、________和十六进制三种形式。3.表达式10%3的结果是________,10/3的结果是________。4.条件表达式a>b?1:0的功能是判断a是否________b。5.数组下标从________开始,下标越界会造成________错误。6.定义无返回值的函数需要使用关键字________。7.全局变量的作用域是________,局部变量的作用域是________。8.指针变量p指向变量a,则取a地址的写法是________,取a值的写法是________。9.关闭文件的函数是________。10.结构体属于________数据类型,不属于基本数据类型。三、程序阅读题(共5题,每题6分,共30分)说明:阅读完整程序,写出程序运行输出结果1.以下程序输出结果为:________c

#include<stdio.h>

intmain()

{

inta=2,b=5;

a=a+b;

b=a-b;

a=a-b;

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

return0;

}2.以下程序输出结果为:________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;

}3.以下程序输出结果为:________c

#include<stdio.h>

intmain()

{

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

int*p=a;

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

return0;

}4.以下程序输出结果为:________c

#include<stdio.h>

intfun(intx)

{

staticints=0;

s+=x;

returns;

}

intmain()

{

printf("%d",fun(2)+fun(3));

return0;

}5.以下程序输出结果为:________c

#include<stdio.h>

intmain()

{

charstr[]="hello";

printf("%d",strlen(str));

return0;

}四、程序设计题(共4题,每题15分,共60分)说明:根据题目要求编写完整可运行的C语言程序,代码规范、逻辑清晰即可得分1.基础题:输入两个整数,计算并输出两个数的和、差、积、商(整除)、余数。2.分支循环题:输入一个百分制成绩,输出对应的等级。90-100为A,80-89为B,70-79为C,60-69为D,0-59为E。3.数组应用题:定义一个长度为10的整型数组,输入10个整数,求出数组中的最大值、最小值和平均值。4.函数应用题:编写一个函数,判断一个整数是否为素数,在主函数中输入一个整数,调用该函数并输出判断结果。附:参考答案(完整版)一、单项选择题答案1.C2.A3.B4.B5.B6.B7.C8.A9.B10.B11.C12.B13.B14.B15.B16.A17.C18.B19.D20.A21.A22.C23.D24.C25.C26.A27.B28.C29.B30.B31.B32.B33.C34.B35.B36.B37.B38.B39.B40.B二、填空题答案1.main()2.八进制3.1、34.大于5.0、运行6.void7.整个程序、所在函数内部8.&a、*p9.fclose()10.构造三、程序阅读题答案1.5,22.93.24.75.5四、程序设计题参考代码1.两数运算程序c

#include<stdio.h>

intmain()

{

inta,b;

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

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

printf("和:%d\n",a+b);

printf("差:%d\n",a-b);

printf("积:%d\n",a*b);

printf("商:%d\n",a/b);

printf("余数:%d\n",a%b);

return0;

}2.成绩等级判断程序c

#include<stdio.h>

intmain()

{

intscore;

printf("请输入成绩:");

scanf("%d",&score);

if(score>=90&&score<=100)

printf("A\n");

elseif(score>=80)

printf("B\n");

elseif(score>=70)

printf("C\n");

elseif(score>=60)

printf("D\n");

else

printf("E\n");

return0;

}3.数组最值与平均值程序c

#include<stdio.h>

intmain()

{

inta[10],max,min,sum=0;

floatavg;

inti;

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

for(i=0;i<10;i++)

{

scanf("%d",&a[i]);

温馨提示

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

评论

0/150

提交评论