浙江理工大学 C程序设计试卷12_第1页
浙江理工大学 C程序设计试卷12_第2页
浙江理工大学 C程序设计试卷12_第3页
浙江理工大学 C程序设计试卷12_第4页
浙江理工大学 C程序设计试卷12_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

浙江理工大学C程序设计试题(十二)单选题(本题共20分,每小题2分)(1)以下定义语句中正确的是()。[A]chara='A'b='B'; [B]floata=b=10.0;[C]inta=10,*b=&a; [D]float*a,b=&a;(2)若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|<10的是()。[A]fabs(x-y)<10 [B]x-y>-10&&x-y<10[C]x-y>-10||x-y<10 [D](x-y)*(x-y)<100(3)函数调用:strcat(strcpy(str1,str2),str3)的功能是()。[A]将串str2复制到串str1中后再将串str3连接到串str1之后[B]将串str2连接到串str1之后再将串str1复制到串str3中[C]将串str1复制到串str2中后再连接到串str3之后[D]将串str1连接到串str2之后再复制到串str3之后(4)设有语句chara='\72';则变量a()。[A]包含1个字符 [B]包含2个字符[C]包含3个字符 [D]声明不合法(5)在C语言中,要求运算数必须是整型的运算符是[A]! [B]/ [C]< [D]%(6)若有声明和语句:inta=5;a++;则此处表达式a++的值是()。[A]7 [B]6 [C]5 [D]4(7)以下程序段的输出结果是()。intx=3;do{printf("%d",x-=2);}while(!(--x));[A]1 [B]30 [C]1-2 [D]死循环(8)不能把字符串“Hello!”赋给数组b的语句是()。[A]charb[10]={'H','e','l','l','o','!'}; [B]charb[10];b="Hello!";[C]charb[10];strcpy(b,"Hello!"); [D]charb[10]="Hello!";(9)设有如下的程序段:charstr[]="Hello";char*ptr;ptr=str;执行上面的程序段后,*(ptr+5)的值为()。[A]'o' [B]'\0' [C]不确定的值 [D]'o'的地址(10)以下对C语言函数的有关描述中,正确的是()。[A]C程序中有调用关系的所有函数必须放在同一个源程序文件中[B]C函数既可以嵌套定义又可以递归调用[C]函数必须有返回值,否则不能使用函数[D]在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参程序填空题(本题共30分,每小题2分)阅读下列程序说明和程序代码,在每小题提供的若干可选项中,挑选一个最佳的选项。(1)【程序说明】判定某一年year是否为闰年。闰年的判断方法:一个年份如果能被4整除但不能被100整除,或者能被400整除,则该年为闰年。【程序代码】#include<stdio.h>voidmain(){intyear,leap;scanf((11));if(year%4==0){if((12)){(13);}elseleap=1;}else(14);if(leap)printf("(15)is",year);elseprintf("(15)isnot",year);printf("aleapyear.\n");}【选项】(11)[A]year [B]&year[C]"%d",&year [D]"%d",year(12)[A]year%100!=0 [B]year%100==0[C]year%400==0 [D]year%100=0(13)[A]leap=0 [B]leap=1[C]leap=(year%400==0)?0:1 [D]leap=(year%400==0)?1:0(14)[A]leap=0 [B]leap=1[C]printf("%dis",year) [D]leap=(year%100==0)?1:0(15)[A]%d [B]%f[C]%c [D]%s(2)【程序说明】输入一个字符串,当输入回车时表示输入完毕,然后判断该字符串中数字字符的个数、大写字母字符的个数、小写字母字符的个数及其它字符的个数。【程序代码】#include<stdio.h>#include<(16)>voidmain(){intn=0,l=0,u=0,o=0;charc;printf("Pleaseinputastring:\n",n);c=(17);while((18)){if((19))n++;elseif(islower(c))l++;elseif(isupper(c))u++;else(20)(17);}printf("Countofdigitis:%d\n",n);printf("Countoflowercaseletteris:%d\n",l);printf("Countofuppercaseletteris:%d\n",u);printf("Countofothercharacteris:%d\n",o);}【选项】(16)[A]ctype.h [B]math.h[C]string.h [D]stdlib.h(17)[A]c=gets() [B]gets(c)[C]c=getchar() [D]scanf("%s",&c)(18)[A]c=='\0' [B]c!='\0'[C]c=='\n' [D]c!='\n'(19)[A]isdigit(c) [B]isalpha(c)[C]iscntrl(c) [D]isgraph(c)(20)[A]if(isspace(c))++o; [B]o++;[C]if(isspace(c))o++; [D];(3)【程序说明】在N行M列的二维数组中,选出一个最大值作为函数值返回,并通过形参传回此最大值所在的行下标。程序运行结果如右图所示:【程序代码】#include<stdio.h>#defineN3#defineM3intselect(inta[N][M],int*n){inti,j,row=0,colum=0;for(i=0;i<N;i++)for((21))if(a[i][j]>a[row][colum]){row=i;colum=j;}(22);return(23);}main(){inta[N][M]={9,11,23,6,1,15,9,17,20},max,n;max=select((24),(25));printf("max=%d,line=%d\n",max,n);}【选项】(21)[A]j=0;j<=M;j++ [B]j=1;j<=M;++j[C]j=0;j<M;++j [D]j=1;j<M;j++(22)[A]n=&row [B]n=row[C]*n=row [D]row=*n(23)[A]n [B]a[][][C]a[i][j] [D]a[row][colum](24)[A]a [B]a[][M][C]a[N][M] [D]a[][](25)[A]*n [B]&n[C]*&n [D]n程序阅读题(本题共20分,每小题2分)阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确的答案。(1)【程序说明】输入一组整数数组,然后判断各数组中的元素是否能组成回文。【程序代码】#include"stdio.h"intcircle(int*a,intl){intm=0,n=l-1;for(;m<=n;m++,n--)if(a[m]!=a[n])break;return(m>n)?1:0;;}intmain(){intx[3],a[5],temp,i,l;for(i=0;i<3;i++)scanf("%d",&x[i]);for(i=0;i<3;i++){temp=x[i];l=0;while(temp!=0&&l<5){a[l]=temp%10;temp/=10;l++;}if(circle(a,l))printf("%d",x[i]);}printf("\n");}【选项】(26)程序运行时,输入812121221,输出(26)。[A]812121221 [B]12121221[C]8 [D]81221(27)程序运行时,输入1111222221234321,输出(27)。[A]1111222221234321 [B]111122222[C]1234321 [D]1111(2)【程序说明】输入两个整数,根据条件选择计算结果并输出。【程序代码】#include<stdio.h>main(){intx,y=0,a=0,b=0;scanf("%d",&x);scanf("%d",&y);switch(x){case1:switch(y){ case0:a++;break;case1:b++;break;}case2:a++;b++;break;default:++a;++b;}printf("a=%d,b=%d\n",a,b);}【选项】(28)程序运行时,输入10,输出(28)。[A]a=2,b=1 [B]a=1,b=1[C]a=2,b=0 [D]a=1,b=0(29)程序运行时,输入11,输出(29)。[A]a=0,b=1 [B]a=0,b=2[C]a=1,b=2 [D]a=1,b=1(30)程序运行时,输入21,输出(30)。[A]a=0,b=0 [B]a=0,b=2[C]a=1,b=1 [D]a=1,b=2(31)程序运行时,输入35,输出(31)。[A]a=2,b=2 [B]a=3,b=3[C]a=0,b=0 [D]a=1,b=1(3)【程序说明】输入三个整数,分别表示年份、月、日,然后计算该输入是当年的第几天。【程序代码】#include<stdio.h>struct{ intyear;intmonth;intday;}date;intday(intyear,intmonth,intday){intday_sum=0,i;intday_tab[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};for(i=1;i<month;i++)day_sum+=day_tab[i];day_sum+=day;if((year%4==0&&year%100!=0||year%400==0)&&month>2)day_sum+=1;return(day_sum);}main(){intdays;scanf("%d,%d,%d",&date.year,&date.month,&date.day);days=day(date.year,date.month,date.day);printf("%d\n",days);}【选项】(32)程序运行时,输入2006,7,1,输出(32)。[A]183 [B]182[C]181 [D]184(33)程序运行时,输入2008,7,1,输出(33)。[A]183 [B]182[C]181 [D]184(4)【程序说明】向文件写入一组字符,然后判断文件中的内容。【程序代码】#include<stdio.h>voidfun(char*fname,char*st){FILE*myf;inti;myf=fopen(fname,"w");for(i=0;i<strlen(st);i++)fputc(st[i],myf);fclose(myf);}main(){intiCase;scanf("%d",&iCase);if(i

温馨提示

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

评论

0/150

提交评论