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

下载本文档

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

文档简介

C语言上机考试题库(通用期末版)适用场景:大学期末C语言上机考试、计算机基础补考、零基础上机实训考核题库说明:本题库贴合真实高校上机考试题型,难度循序渐进,包含选择题、填空题、程序改错题、程序设计题四大核心题型,所有题目均为常规考试经典题型,无偏题怪题,适配主流院校上机考核标准。所有代码均可直接在Dev-C++、VC++、CodeBlocks等上机软件编译运行。考试须知:上机考试重点考察代码语法规范、逻辑思维、基础算法、输入输出格式,答题时需严格区分大小写、中英文符号,保证程序可正常编译运行、结果输出准确。第一部分单项选择题(20题)答题要求:每题只有一个正确答案,重点考察C语言基础语法、数据类型、运算符、流程控制、数组、函数基础知识点。1.以下不属于C语言基本数据类型的是()A.intB.floatC.stringD.char2.在C语言中,定义常量的关键字是()A.defineB.constC.staticD.extern3.以下变量命名合法的是()A.1_numB.num_1C.num-1D.num@14.C语言中char类型变量占用的内存字节数是()A.1字节B.2字节C.4字节D.8字节5.表达式3%2的运算结果是()A.0B.1C.1.5D.26.以下运算符中优先级最高的是()A.+B.*C.&&D.=7.若inta=5;a+=2;执行后a的值为()A.5B.7C.3D.28.C语言中if语句的条件表达式必须使用()包裹A.方括号[]B.圆括号()C.大括号{}D.单引号''9.以下能够实现循环至少执行一次的语句是()A.ifB.forC.whileD.do-while10.结束本次循环,直接进入下一次循环的语句是()A.breakB.continueC.returnD.exit11.在C语言中,数组下标起始值为()A.1B.0C.随机D.自定义12.定义一维数组intarr[5];该数组最多可存储的元素个数是()A.4B.5C.6D.不确定13.C语言函数返回值类型由()决定A.函数参数B.函数名C.函数定义时的类型D.return语句14.以下关于局部变量说法正确的是()A.整个程序生效B.仅所在函数内生效C.必须初始化D.存储在全局区15.printf函数的功能是()A.键盘输入数据B.屏幕输出数据C.文件读写D.程序暂停16.格式化输出整型数据的格式符是()A.%cB.%fC.%dD.%s17.能正确表示“a大于0且小于10”的表达式是()A.0<a<10B.a>0&&a<10C.a>0||a<10D.a>0&a<1018.switch语句中,用来跳出分支的关键字是()A.continueB.breakC.gotoD.return19.以下不能作为循环条件的是()A.常量B.变量C.表达式D.函数语句20.C语言源程序的后缀名是()A..txtB..cC..exeD..h第二部分填空题(10题)答题要求:根据C语言语法规则补全代码,保证程序完整可运行,填写内容严格贴合语法规范。1.C语言程序的入口函数是________。2.浮点型数据的两种基本类型是float和________。3.实现键盘输入整型数据的函数是________。4.逻辑或的运算符是________。5.二维数组inta[3][4],共有________个元素。6.for循环的三个表达式分别负责初始化、________、更新变量。7.定义无返回值的函数需要使用关键字________。8.字符型数据的格式输出符是________。9.语句if(a>b)max=a;elsemax=b;的功能是________。10.break语句可以跳出循环语句和________语句。第三部分程序改错题(6题)答题要求:每段代码均有2-3处语法或逻辑错误,找出并修改,修改后程序可正常编译运行、输出正确结果。改错题1:输入两个整数,输出两数之和c

#include<stdio.h>

intmain()

{

inta,b

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

printf("和为:%d",a+b)

return0;

}改错题2:判断一个数是否为正数c

#include<stdio.h>

intmain()

{

intnum;

scanf("%d",&num);

if(num>0)

printf("正数");

else

printf("负数");

return0;

}改错题3:利用循环输出1-10所有整数c

#include<stdio.h>

intmain()

{

inti;

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

{

printf("%d",i);

}

return0;

}改错题4:求1-100的累加和c

#include<stdio.h>

intmain()

{

inti,sum;

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

{

sum=sum+i;

}

printf("sum=%d",sum);

return0;

}改错题5:数组遍历输出所有元素c

#include<stdio.h>

intmain()

{

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

inti;

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

{

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

}

return0;

}改错题6:自定义函数求两数最大值c

#include<stdio.h>

voidmax(intx,inty)

{

intres;

if(x>y)res=x;

elseres=y;

}

intmain()

{

inta=10,b=20;

max(a,b);

return0;

}第四部分程序设计题(8题,由易到难)答题要求:根据题目需求编写完整可运行代码,包含头文件、主函数,输入输出格式规范,逻辑正确。编程题1(基础):编写程序,实现输入三个整数,输出三个数中的最大值。编程题2(基础):编写程序,计算圆的面积,已知圆周率取3.14,半径由键盘输入。编程题3(循环):编写程序,输出所有100以内的偶数,每行输出10个数字。编程题4(分支):编写程序,输入学生成绩(0-100),判断并输出成绩等级:90-100为优秀,80-89为良好,70-79为中等,60-69为及格,60以下为不及格。编程题5(循环进阶):编写程序,计算1!+2!+3!+...+10!的累加结果。编程题6(数组):定义一个长度为6的整型数组,键盘输入6个整数,统计数组中正数、负数、零的个数并分别输出。编程题7(函数):自定义一个判断素数的函数,主函数中输入一个整数,调用函数判断该数是否为素数,输出对应结果。编程题8(综合):编写程序,实现冒泡排序,对键盘输入的5个整数进行从小到大排序,并输出排序后的结果。第五部分参考答案一、单项选择题答案1.C2.B3.B4.A5.B6.B7.B8.B9.D10.B11.B12.B13.C14.B15.B16.C17.B18.B19.D20.B二、填空题答案1.main()2.double3.scanf()4.||5.126.循环条件判断7.void8.%c9.取出a、b两个数中的最大值10.switch三、程序改错题答案(核心错误+修正)改错题1:错误1:inta,b末尾缺少分号;错误2:scanf参数未加取地址符&;错误3:printf语句末尾缺少分号修正:inta,b;scanf("%d%d",&a,&b);printf("和为:%d",a+b);改错题2:错误:未考虑num=0的情况,0既不是正数也不是负数修正:增加elseif(num==0)printf("零");改错题3:错误:循环条件i<10,无法输出10修正:for(i=1;i<=10;i++)改错题4:错误:变量sum未初始化,初始值为随机垃圾值修正:定义时初始化intsum=0;改错题5:错误:数组下标从0开始,循环范围错误,会出现越界访问修正:for(i=0;i<3;i++)改错题6:错误1:自定义函数无返回值,无法传递最大值;错误2:主函数调用后无输出修正:修改函数为intmax(intx,inty),增加returnres;主函数接收返回值并打印四、程序设计题参考代码编程题1参考代码c

#include<stdio.h>

intmain()

{

inta,b,c,max;

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

max=a;

if(b>max)max=b;

if(c>max)max=c;

printf("最大值:%d",max);

return0;

}编程题2参考代码c

#include<stdio.h>

#definePI3.14

intmain()

{

floatr,s;

scanf("%f",&r);

s=PI*r*r;

printf("圆的面积:%.2f",s);

return0;

}编程题3参考代码c

#include<stdio.h>

intmain()

{

inti,count=0;

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

{

printf("%d",i);

count++;

if(count%10==0)

printf("\n");

}

return0;

}编程题4参考代码c

#include<stdio.h>

intmain()

{

intscore;

scanf("%d",&score);

if(score>=90)

printf("优秀");

elseif(score>=80)

printf("良好");

elseif(score>=70)

printf("中等");

elseif(score>=60)

printf("及格");

else

printf("不及格");

return0;

}编程题5参考代码c

#include<stdio.h>

intmain()

{

inti,j;

longlongsum=0,temp=1;

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

{

temp=1;

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

{

temp*=j;

}

sum+=temp;

}

printf("累加和:%lld",sum);

return0;

}编程题6参考代码c

#include<stdio.h>

intmain()

{

intarr[6],i;

intpositive=0,negative=0,zero=0;

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

{

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

if(arr[i]>0)positive++;

elseif(arr[i]<0)negative++;

elsezero++;

}

printf("正数个数:%d\n负数个数:%d\n零的个数:%d",positive,negative,zero);

return0;

}编程题7参考代码c

#include<stdio.h>

intisPrime(intn)

{

inti;

if(n<2)return0;

for(i=2;i*i<=n;i++)

{

if(n%i==0)

return0;

}

return1;

}

intmain()

{

intnum;

温馨提示

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

评论

0/150

提交评论