试卷编号:11829所属语言:C语言试卷方案:gl1试卷总分:100分共有题型:6种━━━━━━━━━━━━━━━一、填空共10题(共计20分)━━━━━━━━━━━━━━━第1题(2.0分)题号:1543C语言中调用【1】函数来关闭文件.答案:=======(答案1)=======fclose=========或=========fclose()第2题(2.0分)题号:1741设有inta[2][2]={{1,2},{2,1}},则a[1][1]的值为【1】.答案:=======(答案1)=======1第3题(2.0分)题号:1574已知a=13,b=6,a&&b的十进制数值为【1】.答案:=======(答案1)=======1第4题(2.0分)题号:1505已知a=13,b=6,a2的十进制数值为【1】.答案:=======(答案1)=======3第5题(2.0分)题号:1204表达式a+=b相当于表达式【1】.答案:=======(答案1)=======a=a+b=========或=========a=b+a第6题(2.0分)题号:308当a=3,b=2,c=1;时,执行以下程序段后a=【1】.if(ab)a=b;if(bc)b=c;elsec=b;c=a;答案:=======(答案1)=======2第7题(2.0分)题号:644设x=44-!0,x的值为【1】.答案:=======(答案1)=======0第8题(2.0分)题号:677intx=2,y=3,z=4;则表达式x+y!z的值为【1】.答案:=======(答案1)=======1第9题(2.0分)题号:1732说明变量时,若省略存储类型符,系统默认其为【1】答案:=======(答案1)=======自动型=========或=========auto第10题(2.0分)题号:501数组在内存中占一段连续的存储区,由【1】代表它的首地址.答案:=======(答案1)=======数组名━━━━━━━━━━━━━━━二、判断共10题(共计10分)━━━━━━━━━━━━━━━第1题(1.0分)题号:1553算术运算符*与/的优先级不同.答案:N第2题(1.0分)题号:1551设有数组定义:chara[]=abde;则数组a所占的空间为4.答案:N第3题(1.0分)题号:1577循环结构中的continue语句是使整个循环终止执行。答案:N第4题(1.0分)题号:7在C语言中,此定义和语句是合法的:enumaa{a=5,b,c}bb;bb=(enumaa)5;答案:Y第5题(1.0分)题号:13char*p=girl;的含义是定义字符型指针变量p,p的值是字符串girl。答案:N第6题(1.0分)题号:1573C语言本身不提供输入输出语句,输入和输出操作是由函数来实现的。答案:Y第7题(1.0分)题号:1095函数调用语句:func(rec1,rec2+rec3,(rec4,rec5));中,含有的实参个数是5.答案:N第8题(1.0分)题号:1555若a为一维数组名,则*(a+i)表示数组元素a[i].答案:Y第9题(1.0分)题号:1113如果被调用函数的定义出现在主调函数之前,可以不必加以声明.答案:Y第10题(1.0分)题号:26inta[3][4]={{1},{5},{9}};它的作用是将数组各行第一列的元素赋初值,其余元素值为0。答案:Y━━━━━━━━━━━━━━━━━三、单项选择共15题(共计30分)━━━━━━━━━━━━━━━━━第1题(2.0分)题号:4587要使以下程序段输出10个整数,请填入一个整数.for(i=0;i=___;printf(%d\n,i+=2));A:17B:18C:20D:21答案:B第2题(2.0分)题号:4611已有定义intx;f1oaty;且执行scanf(%d,%f,&x,&y);语句,若从第一列开始输入数据123,45.678(回车),则x的值为()。A:12345B:123C:45D:345答案:B第3题(2.0分)题号:568一个C语言程序是由()。A:一个主程序和若干子程序组成B:函数组成C:若干过程组成D:若干子程序组成答案:B第4题(2.0分)题号:4579以下对一维数组a的正确说明是:A:chara(10);B:inta[];C:intk=5,a[k];D:chara[3]={'a','b','c'};答案:D第5题(2.0分)题号:98以下标识符中,不能作为合法的C用户定义标识符的是()。A:ForB:PrintfC:WORDD:sizeof答案:D第6题(2.0分)题号:517若chara[10];已正确定义,以下语句中不能从键盘上给a数组的所有元素输入值的语句是()。A:gets(a);B:scanf(%s,a);C:for(i=0;i10;i++)a[i]=getchar();D:a=getchar();答案:D第7题(2.0分)题号:208下列各m的值中,能使m%3==2&&m%5==3&&m%7==2为真的是()。A:8B:23C:17D:6答案:B第8题(2.0分)题号:4557设floata=2,b=4,c=3;,以下C语言表达式与代数式(a+b)c/2计算结果不一致的是()A:(a+b)*c/2B:(1/2)*(a+b)*cC:(a+b)*c*1/2D:c/2.0*(a+b)答案:B第9题(2.0分)题号:170关于return语句,下列正确的说法是()。A:不能在主函数中出现且在其他函数中均可出现B:必须在每个函数中出现C:可以在同一个函数中出现多次D:只能在除主函数之外的函数中出现一次答案:C第10题(2.0分)题号:711下列选项中正确的语句组是()。A:chars[8];s={Beijing};B:char*s;s={Beijing};C:chars[8];s=Beijing;D:char*s;s=Beijing;答案:D第11题(2.0分)题号:712若有说明:intn=2,*p=&n,*q=p;,则以下非法的赋值语句是()。A:p=q;B:*p=*q;C:n=*q;D:p=n;答案:D第12题(2.0分)题号:178以下对C语言函数的描述中,正确的是()。A:C程序必须由一个或一个以上的函数组成B:C函数既可以嵌套定义又可以递归调用C:函数必须有返回值,否则不能使用函数D:C程序中有调用关系的所有函数必须放在同一个程序文件中答案:A第13题(2.0分)题号:540指针变量p进行自加运算(即执行p++;)后,地址偏移值为2,则其数据类型为()。A:intB:floatC:doubleD:char答案:A第14题(2.0分)题号:671C语言规定:简单变量做实参时,它和对应形参之间的数据传递方式是()。A:地址传递B:单向值传递C:由实参传给形参,再由形参传回给实参D:由用户指定的传递方式答案:B第15题(2.0分)题号:147执行下列语句后,a和b的值分别为()。inta,b;a=1+'a';b=2+7%-4-'A';A:-63,-64B:98,-60C:1,-60D:79,78答案:B━━━━━━━━━━━━━━━━四、程序填空共2题(共计20分)━━━━━━━━━━━━━━━━第1题(10.0分)题号:443/*-------------------------------------------------------【程序填空】---------------------------------------------------------功能:企业发放的奖金根据利润提成。利润(i)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润i,求应发放奖金总数?-------------------------------------------------------*/#includestdio.hmain(){longinti;doublebonus1,bonus2,bonus4,bonus6,bonus10,bonus;scanf(%ld,&i);bonus1=100000*0.1;bonus2=bonus1+100000*0.75;bonus4=bonus2+200000*0.5;bonus6=bonus4+200000*0.3;bonus10=bonus6+400000*0.15;if(i=100000)bonus=i*0.1;/***********SPACE***********/elseif(【?】)bonus=bonus1+(i-100000)*0.075;/***********SPACE***********/elseif(【?】)bonus=bonus2+(i-200000)*0.05;/***********SPACE***********/elseif(【?】)bonus=bonus4+(i-400000)*0.03;elseif(i=1000000)bonus=bonus6+(i-600000)*0.015;elsebonus=bonus10+(i-1000000)*0.01;/***********SPACE***********/【?】(bonus=%d,bonus);}答案:=======(答案1)=======i=200000=========或=========200000=i=======(答案2)=======i=600000=========或=========600000=i=======(答案3)=======i=1000000=========或=========1000000=i=======(答案4)=======printf第2题(10.0分)题号:18/*-------------------------------------------------------【程序填空】---------------------------------------------------------功能:将一个数组中的元素按逆序存放。-------------------------------------------------------*/#includestdio.h#defineN7main(){staticinta[N]={12,9,16,5,7,2,1},k,s;printf(\ntheoriganalarray:\n);for(k=0;kN;k++)printf(%4d,a[k]);/***********SPACE***********/for(k=0;kN/2;【?】){s=a[k];/***********SPACE***********/【?】;/***********SPACE***********/【?】;}printf(\nthechangedarray:\n);for(k=0;kN;k++)/***********SPACE***********/【?】(%4d,a[k]);}答案:=======(答案1)=======k++=========或=========k=k+1=========或=========k+=1=========或=========++k=======(答案2)=======a[k]=a[N-k-1]=========或=========a[k]=a[N-1-k]=========或=========a[k]=a[6-k]=========或=========*(a