综合测试卷二-【单招零距离】计算机专业综合(卷下)

2025-04-23
| 2份
| 15页
| 121人阅读
| 0人下载
江苏华阅万卷教育科技有限公司
进店逛逛

资源信息

学段 中职
学科 职教专业课
课程 C语言程序设计
教材版本 -
年级 -
章节 -
类型 作业-单元卷
知识点 C语言概述
使用场景 中职复习
学年 2025-2026
地区(省份) 全国
地区(市) -
地区(区县) -
文件格式 ZIP
文件大小 1.11 MB
发布时间 2025-04-23
更新时间 2025-04-23
作者 江苏华阅万卷教育科技有限公司
品牌系列 -
审核时间 2025-04-23
下载链接 https://m.zxxk.com/soft/51747944.html
价格 2.00储值(1储值=1元)
来源 学科网

内容正文:

综合测试卷一 一、理论题  1.①平方根 ②函数声明 ③判断是否是数字字符 ④4 5 2  2.i=6 s=16 k=4  3.b=10,a=5 b=19,a=4 c=9  4.①"%f",&score[i][j] ②score[i][0] ③j=i;j<=mm;j++ ④avestu[j+1]  5.①(fp=fopen("file.dat","w"))==NULL ②ch,fp ③(ch=getc(fp)) ④ch=='||ch=='\t' 二、技能题  1.(1)++i (2)a[j]<10  2.(1)if(i<=n/2) (2)a[i][j]=a[n-i-1][j]; (3)}while(n%2==0||n>=30);  3.参考程序如下:  intfind(inta[])  {inti,j,head,p,t;   for(head=0,i=N-1;i>=head;)    {  p=a[i];      t=0;      while(p)      { t=t∗10+p%10;        p/=10;      }      if(t==a[i])      { for(j=i-1;j>=0;--j)          a[j+1]=a[j];        a[0]=t;        ++head;      }      else --i;    }    returnhead;  }  voidchange(inta[],intn)  { inti,right,left;    for(i=n;i<N;++i)    { left=8; right=16;      while(right<a[i])      { left=right;        right∗=2;      }      a[i]=(a[i]-left<=right-a[i]? left: right);    }  } 综合测试试卷二 一、理论测试题  1.①isdigit() ②220 ③Prime()函数的声明 ④12 9 34  2.Olympics sum=23  3.①chars[] ②s[i]==s[i+1] ③count1==w ④ToSeeOrder(str)  4.①strmaxlen ②num>maxlen ③ch[k--] ④left++,right--  5.alpha=C A或a出现次数为3 B或b出现次数为2 C或c出现次数为4 X或x出现次数为1 二、技能测试题  1.(1)i+=2 (2)i∗j<=N  2.(1)if(s[i-1]=='-')sign=-1;elsesign=1; (2)sum=sum∗10+s[i++]-'0'; (3)p=p∗0.1;  3.voidabstract(charstr[][30],inta[][30],intcount[])  {  /∗∗∗∗∗∗∗∗∗∗∗∗Program∗∗∗∗∗∗∗∗∗∗∗∗/  inti,j,sum,n,k; 􀅰7􀅰 总复习方案􀅰参考答案  for(i=0;i<4;i++)    {k=0; for(j=0;str[i][j];j++) { if(str[i][j]=='#') {j++; sum=0;n=0; while(str[i][j]>='0'&&str[i][j]<='9'||str[i][j]>='A'&&str[i][j]<='F'||str[i] [j]>='a'&&str[i][j]<='f') {if(str[i][j]>='0'&&str[i][j]<='9') sum=sum∗16+str[i][j]-'0'; elseif(str[i][j]>='A'&&str[i][j]<='E') sum=sum∗16+str[i][j]-'A'+10; else sum=sum∗16+str[i][j]-'a'+10; j++;n++; if(! (str[i][j]>='0'&&str[i][j]<='9'||str[i][j]>='A'&&str[i][j]<='F'||str [i][j]>='a'&&str[i][j]<='f')) break; if(n==2)break; } if(n! =0)a[i][k++]=sum; } } count[i]=k; }  /∗∗∗∗∗∗∗∗∗∗∗∗ End ∗∗∗∗∗∗∗∗∗∗∗∗/  }  intjudgeprime(inta[][30],intcount[],intprime[30])  {  /∗∗∗∗∗∗Program∗∗∗∗∗∗/  inti,j,flag,k,num=0;  for(i=0;i<4;i++)    for(j=0;j<count[i];j++) {flag=1; for(k=2;k<a[i][j];k++) {if(a[i][j]%k==0) {flag=0;break; } } if(flag==1) prime[num++]=a[i][j]; }  returnnum; 􀅰8􀅰 单招零距离􀅰计算机专业综合测试卷􀅰下册  /∗∗∗∗∗∗∗∗∗∗∗∗ End ∗∗∗∗∗∗∗∗∗∗∗∗/  } 综合测试试卷三 一、理论测试题  1.(1)嵌套 (2)长整型 (3)静态 (4)s=13  2.a=2 b=7 c=4  3.1∗1=1 1∗2=2 2∗2=4 1∗3=3 2∗3=6 3∗3=9 1∗4=4 2∗4=8 3∗4=12 4∗4=16 1∗5=5 2∗5=103∗5=15 4∗5=20 5∗5=25  4.20 23 24 27  5.①(st=fopen(“D:\\test\\score.txt”,”r+”)) ②strcpy(name[j],name[j+1]) ③j>=0&&at>avestu[j] ④fprintf(st,”%f ”,avestu[i]) 二、技能测试题  1.①intcat(longintc[]); ②cat(catlan); ③s=s+c[j]∗c[i-1-j]; ④s<=2e6或s<=2000000  2.(1)pos=LEN-2; (2)s[pos--]='-'; (3)s[pos]=';或s[pos]=32;  3.intfind(intx,intn) { inti,j,k; x=(x%2==0?x+1:x+2); for(i=0;i<n;x+=2) { k=(int)(sqrt(x)); for(j=3;j<=k&&x%j;j+=2); if(j>k)++i; } returnx-2; } voidcut(intp[]) { intj=0,k,q=1; k=p[2]/10; while(k>10) { j=j+k%10∗q; k/=10; q∗=10; } p[3]=j; } 􀅰9􀅰 总复习方案􀅰参考答案 综合测试卷二 综合测试卷二 一、理论测试题(每小题12分,共5小题,共60分) 1. 阅读下列程序,回答下列问题 10 #include "stdio.h" 20 #include "math.h" 30 #include"ctype.h" 40 #defineN5o 50 int Prime(int x); 60 int main() 70 (char ch[N]-(" 12AC,7hj37gf 9jk34kljjhg29"); 80 int a2o],i,sum,count=0; 90 i-0; 100 while(chi]) 110 (if(isdigit(ch[i门)) 120 (sum-0; 130 while(isdigit(ch[i])) 140 sum=sum*10+ch[i++]-0; 150 acount十十-sum 160 ) 170 elsei+十; 180 ) 190 for(i-0:i<count;i十十) 200 if(Prime(ai门)) 210 printf("%5d",ai) 220 230 int Prime(int x) 240 (int i; 250 for(i-2;i<=sart(x);i++) 2600 if(x%i--0) 270 break; 280 return i-sart(x); 290) .69· 单招零距离·计算机专业综合测试卷·下册 ①ctype.h头文件是上述程序的哪个函数要用 ②该程序从哪一行结束 ③50句的作用是 ④该程序的执行结果是 2. 阅读下列程序写出程序运行结果。 共include <stdio.h> #include<ctype.h> int mainO) char words[2o]="Olympics",ch int sum=0,i; for(i-0;words i];i++) (ch=toupper(words[i]); switch((ch-65)/5) {case 0:sum十-5;break case 1:sum+-4:break; case 2:sum+-3:break case 3:sum+-2;break case 4:sum+-1;break; default:sum+=-1; ~ ~ printf("%s\t",words); printf("sum=%d",sum); ) 3. 阅读下列程序,完成所缺代码。程序实现判断数组中的字符是否有序存放。 #include<stdio.h> #include<string.h> 共define N 20 int ToSeeOrder(①) _ int i.countl,count2: int w- strlen(s)-1; count1-count2-0: for(i-0:i<w:i十+) .70. 综合测试卷二 if( ② count1十十;count2+十; ) else if(si<si+1] count1十十; else count2十十; if( ③ ))return 1; else if(count2<w)return0; else return -1; ___ int maino) _ char strN:int f gets(str); f puts(str); if(f>0)printf("升序 ”); else if(f<0)printf("降序n”) elseprintf("无序n"); ) 4. 本程序从键盘上输入一串单词,单词之间有一空格,求出最长单词、单词数及最长单词 的字母数。 如输人:I lovechina. 则输出:maxlenword- china count-3,maxlen-5 (1)函数intcountword(charch,charstrmaxlen);求出单词数,且把最长单词的字母 放入strmaxlen中。 (2)函数yoidreverse(char ch);把ch中的字符逆序 完成下列所缺代码。 共include"stdio.h" 共include"string.h" 共define N 100 .71) 单招零距离·计算机专业综合测试卷·下册 int countword(char ch[,char strmaxlen); void reverse(char ch) int maino) (char str N],strmaxlen[ 10] int count; printf(”请输入一串单词,单词之间有一空格隔开:”) gets(str); count=countword(str, strmaxlen); reverse(_①); printf("maxlenword-%s",strmaxlen) printf(" ncount-%d,maxlen=%d",count,strlen(strmaxlen)) ) int countword(char ch[,char strmaxlen[) int i,num,count,k,newnum,next,maxlen=0 count-0,num-0; for(i-0;chi;i十十) (if(ch[i]!一)num十十; ifchi]!=&&(ch[i+1== ch[i+1]==o llch i+1=) (count十十; if(②) {maxlen-num k-i;newnum-num; next-0; while(newnum) (strmaxlennext+十1= ③ newnum--; ) strmaxlennext -0' ~_ num-0; (__ )1 return count: .72· 综合测试卷二 void reverse(char ch) (int left,right; char temp; left-0; right-0; while(chright )right++; right--; while(left<right) temp=ch left ]; ch[left ]=ch[right]; ch[right]-temp; 4 ) 5. 阅读下面程序写出程序输出屏幕结果。假如:in.txt中内容为:ab12c1ab16caCxc 井include"stdio.h" 井include"ctype.h" 井include."stdlib.h" #define N 100 void ReadFile(char str): void Count(char str],int a]); int Max(int a); void WriteFile(int a) int mainO) (int a[26]-(0,i,k,maxp; char ch[N]; ReadFile(ch); Count(ch,a); maxp-Max(a); printf("alpha-%c ",maxp十A); WriteFile(a); ) void ReadFile(char strT) .73 单招零距离·计算机专业综合测试卷·下册 (FILE*fpr if((fpr=fopen("c:\in.txt","r”))==NULL) (printf("open in.txt error") exit(o); ) fgets(str,N,fpr) fclose(fpr); ) void Count(char str[],int a] fint i,k-0; for(i-0;stri!=o';i十+) if(stri>=a'&.&stri<=z) k=toupper(stri)-A: else k=stri]一A; ak]十十; ) ) int Max(int a[) fintp-0,i; for(i-0;i<26;i++) if(ai]>ap])p-i; return p; ~ void WriteFile(int a) (FILE*fpw; int i; if((fpw=fopen("c: out.txt","w”))=-NULL) (printf("open out.txt error"); exit(0); .74· 综合测试卷二 _~ for(i-0:i<26;i+十) if(ai]!-0) (printf("%c或%c出现次数为%dn”,i十A',i十a',a[i]); fprintf(fpw,"%c或%c出现次数为%d ”,i十A',i十a',a[i) ) fclose(fpw); ) 二、技能测试题(第1题20分,第2、3题各30分,共80分) 1. 程序填空题:函数Search(intpre)的功能是:找出[2,N之间的素数,存放在pre中. 函数最终返回pre中的素数个数。 例如:当N为50时,程序运行结果如下: 2 35711 13 1719 23 29 31 37 41 43 47 #include<stdio.h> 共include<string.h> #include<math.h> #include<ctype.h> #include<stdlib.h #define N 50 int Search(int pre]) inti,j,h-0; int flag[N+1]; for(i-0:i<-N:+十i) flagi]-1; preo]-2; for(i-3;i<-N; if(flagi]) (_ pre十十]-i; .75) 单招零距离·计算机专业综合测试卷·下册 /*关*关*******¥* *SPACE* 关 苦 关 关 关 关 关 关 关 关 for(i-2; ;j十-1) flagi*j]-0; _ _ return k+1: ~ int mainO) _ int i,prime N/2 int n; n=Search(prime); for(i-0;in;++i) ,_ printf("%4d",primeli) if(0==(i+1)%5) printf(" "); __ printf(" "); return0; _ 2. 程序改错题:从字符串s中提取所有的正负号、数字和小数点等组成的子串,将其转换 为实数存储到数组a中,然后对其排序。排序规则为:按照整数部分绝对值升序排序,整数部 分绝对值相等时,按小数部分绝对值降序排序 例如:字符串s为”abc34.5y-3.8-.03hh-a125-0.55ASgf-3共" 程序运行结果为 -0.5500 -0.0300 -3.8000 -3.0000 34.5000 125.0000 函数intfun(chars,doublea)功能为:将字符串s中提取所有的正负号、数字和小数 点等组成的子串转换为实数存储到数组a中,函数返回提取的实数个数。 #include<stdio.h> #includestring.h> #includemath.h> 共include<ctype.h> #include<stdlib.h> .76. 综合测试卷二 int fun(char s,double a) (_→ int i,k-0; double sum,p, sign; i-0; while(si]) (if(isdigit(s[i])) (sum-0; /*关 * FO$UND* * *关 *$ if(si]-=.-)sign--1;else sign=1; if((si-1]==:&8si-2]-=-)) (sign--1;goto 1;) while(isdigit(si)) /* 关* 关关*FOUND* **关 关关* sum=sum*10+si++]; if(s[i十十]-=:) (1:p-0.1; while(isdigit(si)) (sum=sum十(si十十]-0)*p; /*关¥¥*关 * $* **FOUND* 关 关$关*关* *$* ** p-p*10; ~ ) ak十十]-sum*sign; ) elsei十十; ~ return k; _ int maino) char s1-"abc34.5y-3.8-,03hh-a125-0.55ASgf-3+” int i,j,n; FILE*fp; if((fp-fopen("DATA.dat","w"))--NULL) (_ .77· 单招零距离·计算机专业综合测试卷·下册 printf("File open error "); exit(0); ) double a10]-0),t n-fun(s,a); for(i-0;i-n-2;i++) for(i-i计1;j<-n-1;j+十) if((int)fabs(a[i])>(int)fabs(a[j]) | l(int) fabs(ai])==(int)fabs(a[j])&.&.fabs(a [i)-(int)fabs(ai)<fabs(a[i)-(int)fabs(ai)) _ t-ali]; ai]-a□i门; ai]-t; ~ for(i-0;i<n;i十十) printf("%.4f ",a[i]); fprintf(fp,"%.4f ",a[i]); __ fclose(fp); return0; _ 3. 程序设计题:主函数二维数组str4门[30中存放了4行字符串,程序将str中每行的字 符串中以共开头的1一2位十六进制字符转换成十进制数。 如:技4Ad,则十六进制字符为4A,转换为十进制数为74 共5,则十六进制字符为5,转换为十进制数为5 技b4df,则十六进制字符为b4,转换为十进制数为180 G2,则不认为是十六进制字符; 编写函数: 1. void abstract(char str[][3o],int a[][3o],int count[])对str中的字符串按上述要求 转换成十进制数,放入二维数组a相应的行中。每行转换后产生的十进制数个数放入数组 count中。 2. int judgeprime(inta[][30],intcount[,int prime[30])统计出二维数组a中的素数放 入prime数组中,函数返回素数的个数,count数组元素值为数组a中每行含有的数据个数。 程序运行结果如下: .78.

资源预览图

综合测试卷二-【单招零距离】计算机专业综合(卷下)
1
综合测试卷二-【单招零距离】计算机专业综合(卷下)
2
综合测试卷二-【单招零距离】计算机专业综合(卷下)
3
综合测试卷二-【单招零距离】计算机专业综合(卷下)
4
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。