江苏省计算机二级C语言试题及答案.docx

上传人:b****8 文档编号:28029975 上传时间:2023-07-07 格式:DOCX 页数:12 大小:19.49KB
下载 相关 举报
江苏省计算机二级C语言试题及答案.docx_第1页
第1页 / 共12页
江苏省计算机二级C语言试题及答案.docx_第2页
第2页 / 共12页
江苏省计算机二级C语言试题及答案.docx_第3页
第3页 / 共12页
江苏省计算机二级C语言试题及答案.docx_第4页
第4页 / 共12页
江苏省计算机二级C语言试题及答案.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

江苏省计算机二级C语言试题及答案.docx

《江苏省计算机二级C语言试题及答案.docx》由会员分享,可在线阅读,更多相关《江苏省计算机二级C语言试题及答案.docx(12页珍藏版)》请在冰豆网上搜索。

江苏省计算机二级C语言试题及答案.docx

江苏省计算机二级C语言试题及答案

江苏省计算机二级C语言试题及答案

江苏省计算机2级考试

-学年第学期c程序设计试卷()

题号

总分

得分

一、选择题(本题共20道小题,共40分。

1.表示关系x≤y≤z的c语言表达式为

A)(X<=Y)&&(Y<=Z)

B)(X<=Y)AND(Y<=Z)

C)(X<=Y<=Z)

D)(X<=Y)&(Y<=Z)

2.以下程序的输出结果是

main()

{

inta=12,b=12;

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

}

A)1010B)1212C)1110D)1113

3.以下的for循环

for(x=0,y=0;(y!

=123)&&(x<4);x++);

A)是无限循环B)循环次数不定C)执行4次D)执行3次

4.有以下程序

main()

{

chara[]="programming",b[]="language";

char*p1,*p2;

inti;

p1=a;p2=b;

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

if(*(p1+i)==*(p2+i))

printf("%c",*(p1+i));

}

输出结果是

A)gmB)rgC)orD)ga

5.以下说法中正确的是

A)#define和printf都是C语句B)#define是C语句,而printf不是

C)printf是C语句,但#define不是D)#define和printf都不是C语句

6.下面的程序

main()

{intx=3;

do{

printf("%d\n",X-=2);

}while(!

(--x));}

A)输出的是1B)输出的是1和-2C)输出的是3和0D)是死循环

7.下面能正确进行字符串赋值操作的语句是

A)chars[5]={"ABCDE"};B)chars[5]={'A'、'B'、'C'、'D'、'E'};

C)char*s;s="ABCDEF";D)char*s;scanf("%s",s);

8.以下程序的输出结果是

main()

{inti,x[3][3]={9,8,7,6,5,4,3,2,1},*p=&x[1][1];

for(i=0;i<4;i+=2)printf("%d",p[i]);

}

A)52B)51C)53D)97

9.若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为

A)a<>0B)!

a

C)a=0D)a

10.下面各语句行中,能正确进行赋字符串操作的语句行是

A)charst[4][5]={"ABCDE"};B)chars[5]={'A','B','C','D','E'};

C)char*s;s="ABCDE";D)char*s;scanf("%s",s);

11.若fp是指向某文件的指针,且已读到该文件的末尾,则C语言函数feof(fp)的返回值是

A)EOFB)-1C)非零值D)NULL

12.设p1和p2是指向同一个int型一维数组的指针变量,k为int型变量,则不能正确执行的语句是

A)k=*p1+*p2;

B)p2=k;

C)p1=p2;

D)k=*p1*(*p2);

13.下面程序的输出是

main()

{inta=-1,b=4,k;

k=(a++<=0)&&(!

(b--<=0));

printf("%d%d%d\n",k,a,b);}

A)003B)012C)103D)112

14.若x是整型变量,pb是基类型为整型的指针变量,则正确的赋值表达式是

A)pb=&xB)pb=x;C)*pb=&x;D)*pb=*x

15.设有

staticcharstr[]="Beijing";

则执行

printf("%d\n",strlen(strcpy(str,"China")));

后的输出结果为

A)5B)7C)12D)14

16.以下程序的输出结果是

A)10192B)9876C)10990D)101091

main()

{intx=10,y=10,I;

for(i=0;x>8;y=++i)

printf("%d,%d",x--,y);

}

17.设有如下函数定义:

intf(char*s)

{char*p=s;

while(*p!

='\0')p++;

return(p-s);}

如果在主程序中用下面的语句调用上述函数,则输出结果为

printf("%d\n",f("goodbey!

"));

A)3B)6C)8D)0

18.若执行下面的程序时从键盘上输入3和4,则输出是

main()

{inta,b,s;

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

s=a;

if(a

s=s*s;

printf("%d\n",s);}

A)14B)16C)18D)20

19.下面四个选项中,均是C语言关键字的是:

A.autoenumincludeBswithtypedefcontinue

CsignedunionscanfDifstructtype

20.有以下程序

viodfun(inta,intb,intc)

{a=456;b=567;c=678;}

main()

{

intx=10,y=20,z=30;

fun(x,y,z);

printf("%d,%d.%d",x,y,z);

}

输出结果是

A)30,20,10

B)10,20,30

C)456,567,678

D)678,567,456

二、填空题(每空1分,共10分。

1.为表示关系:

x≤y≤z,应使用的C语言表达式是_____________。

2.字符串是以__________为结束标志的一维字符数组。

有定义:

chara[]="";则a数组的长度是____________。

3.设inta;floatf;doublei;则表达式10+'a'+i*f值的数据类型是___________。

4.设有说明语句"inta[3][4]={{1,2},{3,4,5},{6,7,8}};"则a[0][2]的初始化值为_____________,a[2][2]的初始化值为______________。

5.假定p所指对象的值为25,p+1所指对象的值为46,则执行"(*p)++;"语句后,p所指对象的值为___________

6.程序由主要由__________、_________组成。

7.有函数调用fun1(x+y,(y,z),10,fun((x,y―1)));函数fun1有_______

个参数

三、判断题(本题共10道小题,共10分。

1.在C中,外部变量的隐含类别是自动存储类别()

2.实参和与其对应的形参共占用一个存储单元()

3.在不得已的情况下(例如提高程序运行效率),才使用goto语句()

4.条件表达式可以取代if语句,或者用if语句取代条件表达式()

5.函数中的静态变量在函数每次调用时,都会重新设置初值()

6.全局变量都是静态存储()

7.如果在所有函数定义之前,在函数外部已做了声明,则各个主调函数不必再做函数原型声明()

8.系统不允许用户重新定义标准库函数()

9.若调用一个函数,且此函数中没有return语句,则该函数没有返回值()

10.函数调用:

strcat(strcpy(str1,str2),str3)的功能是将串str2连接到串str1之后再将串str1复制到串str3中()

四、程序填空(本题共5道小题,每题4分,共20分。

1.以下fun函数把ch中的大写字母转换成字母序列中的下一个大写字母,字母Z转换成字母A,其它字符不变,返回转换后的字母或其它字符。

请填空。

charfun(charch)

{

if(ch=='Z')ch=__________;

elseif(ch>='A'&&ch<='Y')ch=__________;

returnch;

}

2.以下sstrcpy()函数实现字符串复制,即将t所指字符串复制到s所指向内存空间中,形成一个新的字符串s。

请填空。

voidsstrcpy(char*s,char*t)

{while(*s++=_____________);}

main()

{charstr1[100],str2[]="abcdefgh";

sstrcpy(str1,str2);

printf("%s\n",str1);

}

3.以下程序段用于构成一个简单的单向链表。

structSTRU

{intx,y;

floatrate;

____________p;

}a,b;

a.x=0;a.y=0;a.rate=0;a.p=&b;

b.x=0;b.y=0;b.rate=0;b.p=NULL;

4.电话990拨号上网费率白天是每小时4.20元,夜间是每小时2.70元。

使用的分钟(整数minute)和费率(含小数fei)变量由键盘输入,请补上语句。

main()

{intminute;floatfei;

scanf(______________);

printf("上网费=%8.2f元\n",_____________);

}

5.以下程序中,for循环体执行的次数是______________。

#defineN2

#defineMN+1

#defineKM+1*M/2

main()

{inti;

for(i=1;i

{...}

...

}

五、编程题(本题共2道小题,共20分。

1.打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。

例如:

153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。

 

2.请编写函数fun,函数的功能是:

在字符串中所有数字字符前加一个$字符。

例如,输入:

A1B23CD45,则输出为:

A$1B$2$3CD$4$5。

 

江苏省计算机等级考试

-学年第学期c程序设计试卷(参考答案)

题号

总分

得分

 

一、选择题(本题共20道小题,共40分。

1.A

2.D

3.C

4.D

5.D

6.B

7.C

8.C

9.D

10.C

11.D

12.B

13.C

14.A

15.A

16.D

17.C

18.B

19.B

20.A

二、填空题(每空1分,共10分。

1.(x<=y)&&(y<=z)

2.'\0',0

3.double

4.0,8

5.26

6.数据结构,算法

7.4

三、判断题(本题共10道小题,共10分。

1.对

2.错

3.错

4.错

5.错

6.错

7.对

8.对

9.错

10.

四、程序填空(本题共5道小题,每题4分,共20分。

1.'A',ch+1

2.*t++

3.StructSTRU*

4."%d%f",&minute,&fei

fei*minute/60

5.4

五、编程题(本题共2道小题,共20分。

1.main()

{

inti,j,k,n;

printf("'waterflower'numberis:

");

 for(n=100;n<1000;n++)

 {

  i=n/100;/*分解出百位*/

j=n/10%10;/*分解出十位*/

  k=n%10;/*分解出个位*/

  if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)

   {

   printf("%-5d",n);

   }

 }

printf("\n");

}

2.#include

voidfun(char*s)

{chara[100];

inti=0;

while(*s)

if(*s>='0'&&*s<='9'){a[i++]='$';a[i++]=*s++;}

elsea[i++]=*s++;

a='\0';

strcpy(s,a);

}

main()

{chars[80];

printf("enterastring:

");

scanf("%s",s);

fun(s);

printf("theresult:

%s\n",s);

}

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 成人教育 > 专升本

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1