还剩6页未读,继续阅读
文本内容:
江苏省计算机等级考试
一、选择题本题共20道小题,共40分.表示关系xWy《z的c语言表达式为X=YY=ZX=YANDY=ZX=Y=ZX=YY=Z.以下程序的输出结果是main{inta=12b=12;printfC%d%d\n*--a++b;}A1010B1212Oil10Dll
13.以下的for循环forx=0y=0;y!=123x4;x++;A是无限循环B循环次数不定C执行4次D执行3次.有以下程序main{chara[]=*programming*b[]=*language*;char*pl*p2;inti;pl=a;p2=b;fori=0;i7;i++if*pl+i==*p2+iprintf*pl+i;输出结果是AgmBrgCorDga.以下说法中正确的是A#define和printf都是C语句B#define是C语句,而printf不是Cprintf是C语句,但#16直联不是D#define和printf都不是C语句.下面的程序mainO{intx=3;doprintf%d\n”X-=2;}whiled—x;}A输出的是1B输出的是1和-2C输出的是3和0D是死循环.下面能正确进行字符串赋值操作的语句是Achars
[5]={*ABCDE*;Bchars
[5]={A、B、C、D、E};Cchar*s;s=ABCDEF”;Dchar*s;scanf%s”s;.以下程序的输出结果是main{intix
[3]
[3]={987654321}*p=x[l][l];fori=0;i4;i+=2printf%dp[i];}A52B51C53D
97.若要求在if后一对圆括号中表示a不等于0的关系则能正确表示这一关系的表达式为Aa0B!aCa=0Da
10.下面各语句行中,能正确进行赋字符串操作的语句行是Acharst
[4]
[5]={*ABCDE*};Bchars
[5]={ABCDE};Cchar*s;s=ABCDE”;Dchar*s;scanfs;.若fp是指向某文件的指针,且已读到该文件的末尾,则C语言函数feoffp的返回值是AEOFB-1C非零值DNULL.设pl和p2是指向同一个int型一维数组的指针变量k为int型变量则不能正确执行的语句是Ak=*pl+*p2;Bp2=k;Cpl=p2;Dk=*pl**p2;.下面程序的输出是mainO{inta=-lb=4k;k=a++=0!b—=0;printf%d%d%d\n”kab;}A003B0120103D
112.若x是整型变量,pb是基类型为整型的指针变量,则正确的赋值表达式是Apb=xBpb=x;C*pb=x;D*pb=*x.设有staticcharstr[]=Beijing”;则执行printf%d\nstrlenstrcpystrChina;后的输出结果为A5B7C12D
14.以下程序的输出结果是A10192B9876010990D101091main{intx=10y=10I;fori=0;x8;y=++iprintf*%d%d”x一y;.设有如下函数定义intfchar*s{char*p=s;while*p!=\0*p++;returnp-s;}如果在主程序中用下面的语句调用上述函数则输出结果为printffgoodbey!;A3B6C8D
0.若执行下面的程序时从键盘上输入3和4则输出是mainO{intabs;scanfC%d%d”ab;s=a;ifabs=b;s=s*s;printf*%d\n*s;}A14B16018D
20.下面四个选项中,均是C语言关键字的是A.autoenumincludeBswithtypedefcontinueCsignedunionscanfDifstructtype.有以下程序viodfunintaintbintc{a=456;b=567;c=678;mainO{intx=10y=20z=30;funxyz;printf%d%d.%d”xyz;}输出结果是3020101020300456567678D678567456
二、填空题(每空1分,共10分).为表示关系xWyWz应使用的C语言表达式是.字符串是以为结束标志的一维字符数组有定义char则a数组的长度是o.设inta;floatf;doublei;则表达式10+a+i*f值的数据类型是.设有说明语句〃int@
[3]
[4]={{12}{345}{678}};〃则a
[0]
[2]的初始化值为a
[2]
[2]的初始化值为o.假定p所指对象的值为25p+1所指对象的值为46则执行〃(*p)++;”语句后,p所指对象的值为.程序由主要由、组成.有函数调用funl(x+y(yz)10fun((xy—1)));函数funl有个参数
三、判断题(本题共10道小题,共10分).在C中,外部变量的隐含类别是自动存储类别().实参和与其对应的形参共占用一个存储单元().在不得已的情况下(例如提高程序运行效率),才使用goto语句().条件表达式可以取代if语句,或者用if语句取代条件表达式().函数中的静态变量在函数每次调用时,都会重新设置初值().全局变量都是静态存储().如果在所有函数定义之前,在函数外部已做了声明,则各个主调函数不必再做函数原型声明.系统不允许用户重新定义标准库函数.若调用一个函数,且此函数中没有return语句,则该函数没有返回值.函数调用strcatstrcpystrlstr2str3的功能是将串str2连接到串strl之后再将串strl复制到串str3中
四、程序填空本题共5道小题,每题4分,共20分.以下fun函数把ch中的大写字母转换成字母序列中的下一个大写字母,字母Z转换成字母A其它字符不变,返回转换后的字母或其它字符请填空charfuncharchifch==Zch=;elseifch=Ach=Y*ch=;returnch;}.以下sstrcpy函数实现字符串复制,即将t所指字符串复制到s所指向内存空间中形成一个新的字符串So请填空voidsstrcpychar*schar*t{while*s++=;}main{charstrl
[100]str2[]=*abcdefgh*;sstrcpystrlstr2;printf%s\n”strl;.以下程序段用于构成一个简单的单向链表structSTRU{intxy;floatrate;P;}ab;x=0;a.y=0;a.rate=0;a.p=b;x=0;b.y=0;b.rate=0;b.p=NULL;.电话990拨号上网费率白天是每小时
4.20元,夜间是每小时
2.70元使用的分钟整数minute和费率含小数fei变量由键盘输入,请补上语句main{intminute;floatfei;scanf;printf上网费=%
8.2f元\n;.以下程序中,for循环体执行的次数是#defineN2^defineMN+lttdefineKM+l*M/2main{inti;fori=l;iK;i++{...
五、编程题(本题共2道小题,共20分).打印出所有的“水仙花数所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身例如153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方.请编写函数fun函数的功能是在字符串中所有数字字符前加一个$字符例如,输入A1B23CD45则输出为A$1B$2$3CD$4$5江苏省计算机等级考试学年第一学期C程序设计试卷(参考答案)
一、选择题(本题共20道小题,共40分)ADCDDBCCDCDBCAADCBBA
二、填空题(每空1分,共10分)(x=y)(y=z)\00double0826数据结构,算法4
三、判断题(本题共10道小题,共10分).对.错.错.错.错.错.对.对.错
10.
四、程序填空本题共5道小题,每题4分,共20分Ach+1*t++StructSTRU*%d%f*minutefeifei*minute/604
五、编程题本题共2道小题,共20分mainintijkn;printf**waterflower*numberis:;forn=100;n1000;n++i=n/100;/*分解出百位*/j=n/10%10;/*分解出十位*/k=n%10;/*分解出个位*/ifi*100+j*10+k=i*i*i+j*j*j+k*k*kprintfn;printf\n;}^includestdio.hvoidfunchar*s{chara
[100];inti=0;while*sif*s=*s=9{a[i++]=;a[i++]=*s++;}elsea[i++]=*s++;ai\T;strcpysa;}mainO{chars
[80];printfenterastring:*;scanfs;funs;printf*theresult:%s\ns;题号—*一三四五七八九总分得分题号—一四五七八九总分得分。