《》试卷第1页共6页**市中职中学2015—2016年度(下)期末《C语言程序设计基础》试卷(考试时间:60分钟总分:100分适应班级:级班)注:1、答题前,务必将自己的班级、姓名、学号填写在相应的位置上。2、请将答案按照题号顺序在各题目的答题区域内作答;保持答题卷清洁。3、超出答题区域书写的答案无效。一、填空题(每题2分,共30分)1、C语言源程序是由函数组成的,人们称C语言为高级语言,一个函数由函数头、函数体两部分组成。2、定义值为2016的符号常量VER的命令是:#defineVER2016。3、实型常量的十进制小数形式要求小数点两边至少一边有数字,而指数形式中E(或e)的前后必须有数字,后边的数必须为整数。4、表达式5/2的值和表达式(double)5/2的值分别是2、2.500000。5、连续输入多个数值型数据时,数据之间用空白字符分隔。6、格式转换说明符要与输入地址列表中的变量一一对应。7、C语言规定,为了在程序中能够正确使用输入输出函数,需要在源程序开始写上#include“stdio.h”预处理命令。8、程序设计的初期一般用自然语言、流程图、伪代码等工具来表示算法,其中流程图表示具有直观、易于交流的特点。9、模块化程序设计的思路是自顶而下,逐步细化。在C语言中实现程序化模块的工具是函数。10、C语言规定,逻辑真用1表示,逻辑假用0表示。设x为整形变量,值为1,则表达式(x&&1)==(x%2)的值为1。11、与数学表达式|x|10意思相同的C语言表达式为x10||x-10。题号一二三四五总分题型填空题选择题程序填空题程序阅读题程序编写题——应得分30分30分15分15分10分100分实得分----○---○---装○--定○--密○--封○--线○--○--○---○--○班级姓名学号×××××××××××××××密×封×线×内×不×得×答×题×××××××××××××××-《》试卷第2页共6页二、单项选择题(每题3分,共30分)(注:表示空格)1.下面正确的整型常量是()。A.009B.x789C.2e3D.9002.在C语言中,要求运算数必须是整型的运算符是()。A、/B、++C、*=D、%3.有如下程序,若要求x1、x2、y1、y2的值分别为10、20、A、B,正确的数据输入是()。intx1,x2;chary1,y2;scanf(“%d%d”,&x1,&x2);scanf(“%c%c”,&y1,&y2);A.1020ABB.1020ABCC.10AB20ABD1020AB4.根据下面的程序及数据的输入和输出的形式,程序中输入语句的正确形式应该为()。#include“stdio.h”main(){chars1,s2,s3;输出语句;printf(“%c%c%c”,s1,s2,s3);}输入形式:ABC回车输出形式:ABA.scanf(“%c%c%c”,&s1,&s2,&s3);B.scanf(“%c%c%c”,&s1,&s2,&s3);C.scanf(“%c,%c,%c”,&s1,&s2,&s3);D.scanf(“%c%c”,&s1,&s2);5.输入字符正确的语句是()。A、scanf(“%c”,ch);B、scanf(“%c”,&ch);C、&ch=getchar();D、getchar(ch);6.下面无效的表达式语句是()。A.x+1;B.x+=1;C.x++;D.++x;7.所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是()。A.7B.8C.6D.28.已知各变量的类型说明如下:intk,a,b;longw=5;doublex=1.42;则以下不符合C语言语法的表达式是()。A.x%(-3)B.w+=-2C.k=(a=2,b=3,a+b)D.a+=a-=(b=4)*(b=3)12345678910DDDABABACC《》试卷第3页共6页9.下列程序段的输出结果是()。#include”stdio.h”main(){inta,b,d=241;a=d/100%9;b=(-1)&&(1);printf(“%d,%d”,a,b);}A.6,1B.6,-1C.2,1D.2,-110.下列程序运行结果是()。#include”stdio.h”main(){inta=5;if(a++=5)printf(“%d\n”,a);elseprintf(“%d\n”,a--);}A.4B.5C.6D.7三、程序填空题(每空3分,共15分)1.输入两个整数,求他们的平均值。#include”stdio.h”main(){inta=5;floatav;printf(“请输入两个整数并用逗号分隔”);scanf(“%d,%d”,&a,&b);av=(a+b)/2printf(“整数%d和%d的平均值为%f\n”,a,b,av);}2.任意输入一个字符,要求输出该字符和她得ASCII码,格式为“字符x的ASCII码是xx”。#include”stdio.h”main(){charch;scanf(“%c”,&ch);printf(“字符%c的ASCII码是%d”,ch,ch);}《》试卷第4页共6页四、阅读程序,写程序结果(每题5分,共15分)1、#include”stdio.h”main(){inta=3,b=6,s;charch=’B’;s=a-b;ch+=2;printf(“s=%d,ch=%c\n”,s,ch);}程序结果:s=3,ch=D。2、#include”stdio.h”main(){intx=2,y=-1,z=2;if(xy)if(y0)z=0;elsez++;printf(“z=%d\n”,z);}程序结果:z=3。3、#include”stdio.h”main(){inta=2,b=3,c,d;c=a+++b++;d=--a-b--;printf(“a=%d,b=%d\n”,a,b);printf(“c=%d,d=%d\n”,c,d);}a=2,b=3程序结果:c=5,d=6。《》试卷第5页共6页五、编写程序(第一题4分,第二题6分,共10分)1.输入一个整数k,输出它的绝对值。请画出程序流程图。参考答案(不唯一,正确即可):0.51110.5或者:----○---○---装○--定○--密○--封○--线○--○--○---○--○班级姓名学号×××××××××××××××密×封×线×内×不×得×答×题×××××××××××××××-开始输入整数kk0输出-k输出-k结束开始输入整数kk0k=-kk=k结束输出k《》试卷第6页共6页2.编写程序:假设m一个三位整数,则将m的个位、十位、百位反序而组成一个新的三位整数,并输出该新的整数。(例如123反序为321)参考答案(不唯一,正确即可)#include”stdio.h”main(){intm,d1,d2,d3;scanf(“%d”,&m);d1=m%10;d2=m/10%10;d3=m%100;m=d1*100+d2*10+d3;printf(“反序后,新的三位数为%d\n”,m);}预处理命令和主函数格式,正确得1分定义变量,正确得1分输入函数,正确得1分分解三个位上的数的算法,正确得2分新三位数算法,正确得1分