软件设计人才选拔赛试题_第1页
软件设计人才选拔赛试题_第2页
软件设计人才选拔赛试题_第3页
软件设计人才选拔赛试题_第4页
软件设计人才选拔赛试题_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

1、全国软件专业人才设计与开发大赛选拔赛试题一、基础篇( 50 分)1 、单选(每题 1 分, 10 小题共 10 分)1 ) .执行下列程序中的输出语句后,x 的值是 .main ()intx ;printf (“ %dn”,(x=5*6 , x*2 , x+20 ) ; a) 30b) 60c) 50d) 802 ) .在 c 语言中,下列选项属于合法的长整型常数的是 .a) 0lb) 1234567c) 0.0234567 d ) 3.14159e33 ).若有定义:inta , b; charx , y;并有以下输入数据:1422xxyy (回车)则 能给a赋整数14 ,给b赋整数22 ,

2、给x赋字符x,给y赋字符y的正确程序段 是.a) scanf (“%d%d”, &a , &b ) ; x=getchar () ; y=getchar() ;b) scanf (“%d%d%c%c”, &a , &b , &x , &x , &y , &y ) ;c) scanf (“%d%d%c%c%c%c”,&a , &b , &x , &x , &y , &y ) ;d) scanf (“%d%d%c%c”,&a , &b , &x , &y ) ;4 ) .当 c 的值不为 0 时,下列选项中能正确将c 的值赋给变量a、 b 的是 a) c=b=a ; b ) (a=c) ii (b

3、=c ); c ) (a=c) & (b=c); d) a=c=b ;5 .语句printf ( “ %d n ”, strlen (“ asd”; 的输出结果是a 9 b 11 c 7 d 86 .下列程序的运行结果是.main (inty=10 ;doy- ; while ( -y ;printf (“ %dn ”,y- ; a -1 b 1 c 8 d 07 .阅读下面程序,该程序段的功能是.#includemain (intc=23 , 1 , 56 , 234 , 7 , 0, 34 , i , j, t;for ( i=1 ; i=0&tcjcj+1=cj; j- ; cj+1=t

4、 ;for ( i=0 ; i2 ; c2=c1a0236 ;printf (“%x,n ”, c1 , c2 ) ;a) 0x3f , 0xa1 b) 3f , a1c) ffff , 61 d ) 3f , a110 ) .有以下程序:#includemain ()file*fp ; inti=20 , j=30 , k, n; ffp=fopen (“ d1.dat ”,“w; ”)fprintf (fp ,“ %dn”, i ) ; fprintf (fp ,“ %dn ”, j) ;fclose ( fp ) ;fp=fopen (“ d1.dat ”,“;r ”)fscanf (f

5、p ,“%d%d”,&k , &n ) ; printf (“ %d%d n ”, k , n ) ;fclose ( fp ) ;该程序运行后的输出结果是.a) 2030 b) 2050c) 3050 d) 30202 、多选(每题 2 分,共 10 题,共 20 分,错选,漏选均不得分)1 ) .下列符号串中,不属于 c 语言合法标识符的有.a ) _1_2_3 b) a-b-cc) intd) 9cd2 ) .下列选项中,没有构成死循环的程序段有.a) inti=100 ;b) for (; ;);while ( 1)i=i%100+1 ;if (i=100 ) break ; c) i

6、ntk=0 ;d) ints=36 ;do+k ; while ( k=0 ) ;while ( s) ; -s ;3 ) .下列判断正确的是a ) char*a= “ china ”;等价于 char*a ; *a= “ chinab) charstr6= china ” ;chotstr= china ” ;c) char*s= “ china ”;等价于 char*s ; s= “ chinaabc ”;d ) charc4= “ abc ”, d4=“ abc ”;等价于 charc4=d4=4 ) .设有如下定义:char*s2=“ abcd ”,“abcd” ;则下列说法正确的有.

7、a) s数组元素的值分别是“ abcd a bcd两个字符串的首地址b) s 是指针数组名,它含有两个元素分别指向字符型一维数组c) s 数组的两个元素分别存放的是含有四个字符的一维字符数组中的元素d) s数组的两个元素中分别存放了字符a和a的地址a+i (jai+j.若有定义:char*st=howareyou.chara11*p ; strcpy ( p=a+1 ,&st4 ;chara11strcpy ( +a , st ;chara11strcpy ( a , st ;chara ,*p ; strcpy ( p=&a1 ,st+2 ;.设有以下说明语句:structstuinta ;

8、 floatb ; stutype ;则下列叙述正确的有struct 是结构体类型的关键字structstu 是用户定义的结构体类型stutype 是用户定义的结构体类型名a 和 b 都是结构体成员名.设有定义语句:intx6=2 , 4 , 6 , 8 , 5 , 7 , *p=x ,i;要求依次输出 x 数组 6 个元素中的值,下列选项中能完成次操作的语句有5若有以下说明 :a59; 则下列选项中对数组元素 aij 的引用错误的有a * ( &a00+9*i+jc * ( * ( a+i +ja )for( i=0;i6;i+)b) for( i=0;i6;i+)c) for( i=0;i

9、6;i+)d )for( i=0;i6;i+)9 ) .下列叙述正确的有.printf(“%2d ”,* ( p+ ) ;printf(“%2d ”,* ( p+i ) );printf(“%2d ”,*p+ ) ;printf(“%2d”,(*p ) +) ;a)函数可以嵌套定义,但不能嵌套调用b)函数可以嵌套调用,也可以嵌套定义c)函数不可以嵌套定义,但可以递归调用d )函数可以嵌套调用,但不能嵌套定义10 ) .下列选项中可以将变量n 清零的表达式有d) n=n|na) n=n&nb) n=n&0 c) n=nan3 、程序填空(每空2 分,共 10 空,共 20 分)1 )、请补充函数

10、fun() ,该函数的功能是:把从主函数中输入的字符串 str2 接在字符串 str1 的后面。例如: str1= “ howdo ”, str2= “ youdo? ”,结果输 出: howdoyoudo?注意:部分源程序给出如下。请勿改动主函数main 和其他函数中的任何内容, 仅在函数 fun 的横线上填入所编写的若干表达式或语句。试题程序:#include #include#definen40voidfun(char*str1,char*str2) inti=0;char*p1=str1;char*p2=str2;while( 【 1 】 )i+;for(; 【2 】 ;i+)*(p1

11、+i)=【3】 ;*(p1+i)=0;main() charstr1n,str2n;clrscr();printf(*inputthestringstr1&str2*n);printf(nstr1:);gets(str1);printf(nstr2:);gets(str2);printf(*thestringstr1&str2*n);puts(str1);puts(str2);fun(str1,str2);printf(*thenewstring*n);puts(str1);2 )、请补充函数fun() ,该函数的功能是求一维数组 xn 的平均值,并对所得结果进行四舍五入(保留两位小数)。例如

12、:当x10=15.6,19.9,16.7,15.2,18.3,12.1,15.5,11.0,10.0,16.0 ,结果为:avg=15.030000 。注意:部分源程序给出如下。请勿改动主函数main 和其他函数中的任何内容,仅在函数fun 的横线上填入所编写的若干表达式或语句。试题程序:#include#includedoublefun(doublex10) inti;longt;doubleavg=0.0;doublesum=0.0;for(i=0;i10;i+)【 1 】 ;avg=sum/10;avg= 【2 】 ;t= 【 3】 ;avg=(double)t/100;returnav

13、g;main()doubleavg,x10=15.6,19.9,16.7,15.2,18.3,12.1,15.5,11.0,10.0,16.0;inti;clrscr();printf(ntheoriginaldatais:n);for(i=0;i10;i+)printf(%6.1f,xi);printf(nn);avg=fun(x);printf(average=%fnn,avg);3)、请补充函数fun() ,该函数的功能是:从 a 到 z 统计一个字符串中所有字母字符各自出现的次数,结果保存在数组alf 中。注意:不区分大小写,不能使用字符串库函数。例如,输入:abc+5*c ”,结果为

14、: a=2,b=1,c=2注意:部分源程序给出如下。请勿改动主函数main 和其他函数中的任何内容,仅在函数fun 的横线上填入所编写的若干表达式或语句。试题程序:#include#include#definen100voidfun(char*tt,intalf) inti;char*p=tt;for(i=0;i=a&*p=a&*p=z)alf*p-a+;p+;main() charstrn;chara=a;intalf26,k;clrscr();printf(npleaseenteracharstring:);scanf(%s,str);printf(n*theoriginalstring*

15、n);puts(str);fun(str,alf);printf(n*thenumberofletter*n);for(k=0;k26;k+)if(k%5=0)printf(n);printf(%c=%d,a+k,alfk);printf(n);4)从键盘上输入两个整数 m和n,求其最大公约数main() inta,b,num1,num2,temp;scanf(%d,%d,&num1,&num2);if( 【1】 ) temp=num1;num1=num2;num2=temp;a=num1;b=num2;while(b!=0) temp= 2;a=b;b=temp;printf(%d,%d,a

16、,num1*num2/a);二、奥数题(填空每小题2分,共10分)1)给你8颗小石头和一架托盘天平。有7颗石头的重量是一样,另外一颗比其 它石头略重,除此之外,这些石头完全没有分别。请问:最少要称量一次,你才能把那颗较重的石头找出来?2)六年级有3个班,在一次数学竞赛中,至少有 人获奖才能保证在获奖 的同学中一定有4名学生同班。3) 1块钱一瓶汽水,喝完后两个空瓶换一瓶汽水。问:你有20块钱,最多可以喝到 瓶汽水?4)有一牧场,已知养牛27头,6天把草吃尽;养牛23头,9天把草吃尽。如 果养牛21头,那么 天能把牧场上的草吃尽呢?并且牧场上的草是不断生长的。5)有四个人要在深夜通过一座桥。这座桥最多只能承受两个人的重量,而且必 须打着手电筒才能通过。四个人只有一把手电筒,并且每个人的行走速度也不一 样:第一个人通过这座桥要花1分钟,第二个人要花2分钟,第三个人要花5 分钟,第四个人要花10分钟;如果两人同行,他们就只能以比较慢的那个人的 速度前进。这四个人全部通过这座桥的最短时间是 分钟?三、编程题(每题20分,共40分)1、在西方,星期五和数字13都代表着坏运气,两个不幸的个体最后结合成超 级不幸的一

温馨提示

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

评论

0/150

提交评论