欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    C语言上机题库百科园第5章!南信大!(58页).doc

    • 资源ID:34800672       资源大小:109KB        全文页数:60页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C语言上机题库百科园第5章!南信大!(58页).doc

    -第五章单选有以下程序,程序运行后的输出结果是( )#include <stdio.h>#include <string.h>int main()char a20=”ABCD0EFG0”,b=”IJK”;strcat(a,b); printf(“%sn”,a);return 0;A.ABCDE0FG0IJKB.ABCDIJKC.EFGIJKD.IJK有以下程序,程序运行后的输出结果是 ( )#include<stdio.h>int main()char s="012xy08s34f4w2"int i, n=0;for(i=0;si!=0;i+)if(si>='0'&&si<='9') n+;printf("%dn",n); return 0;A.7B.0C.8D.3下列选项中,能够满足"若字符串s1等于字符串s2,则执行ST"要求的是 ( )A.if(strcmp(s2,s1)=0)ST;B.if(s1-s2=0)ST;C.if(strcpy(s1,s2)=1)ST;D.if(s1=s2)ST;以下选项中正确的语句组是( )A.char s;s="BOOK!"B.char s;s="BOOK!"C.char s10;s="BOOK!"D.char s="BOOK!"以下数组定义中错误的是( )A.int x23=1,2,3,4,5,6;B.int x23=1,2,3,4,5,6;C.int x3=0;D.int x3=1,2,3,4,5,6;若有定义语句:int m=5,4,3,2,1,i=4;则下面对m数组元素的引用中错误的是 ()A.mm0B.m2*2C.m-iD.mmi下列选项中,能正确定义数组的语句是( )A.int num;B.int N=2008;int numN;C.int num02008;D.#define N 2008int numN;有以下程序,程序运行时若输入:how are you? I am fine<回车>则输出结果是( )#include<stdio.h>int main()char a30,b30;scanf("%s",a);gets(b);printf("%sn %sn",a,b);return 0; A.how are you? I am fine B.how are you? I am fineC.howare you?I am fineD.how are you?下面是有关C语言字符数组的描述,其中错误的是( )A.不可以用赋值语句给字符数组名赋字符串B.可以用输入语句把字符串整体输入给字符数组C.字符数组中的内容不一定是字符串D.字符数组只能存放字符串有以下程序,程序运行后的输出结果是( )#include <stdio.h>#include <string.h>int main()char x=”STRING”;x0=0;x1='0'x2='0'printf(“%d %dn”,sizeof(x),strlen(x);return 0;A.7 0B.6 1C.7 1D.6 3若要定义一个具有5个元素的整型数组,以下错误的定义语句是( )A.int a5=0;B.int b=0,0,0,0,0;C.int i=5,di;D.int c2+3;有以下程序,程序运行后的输出结果是 ( )#include<stdio.h>#include<string.h>int main() char a510=“china”,”beijing”,”you”,”tiananmen”,”welcome”;int i,j; char t10;for(i=0;i<4;i+) for(j=i+1;j<5;j+) if(strcmp(ai,aj)>0) strcpy(t,ai); strcpy(ai,aj); strcpy(ai,t); puts(a3);return 0;A.chinaB.beijingC.welcomeD.tiananmen程序设计/*编写函数int fun(int lim, int aaMAX),该函数的功能是求出小于或等于lim的所有素数并放在aa数组中,该函数返回所求出的素数的个数。 注意:部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: */#include<stdio.h>#include<stdlib.h>#define MAX 100int fun(int lim, int aaMAX)/*Begin*/*End*/ int main() FILE *wf; int limit,i,sum; int aaMAX; printf("输入一个整数"); scanf("%d",&limit); sum=fun(limit,aa); for(i=0;i<sum;i+) if(i%10=0&&i!=0) /*每行输出10个数*/ printf("n "); printf("%5d ",aai); /*/ wf=fopen("debug2.out","w"); sum=fun(15,aa); for(i=0;i<sum;i+) fprintf(wf,"%dn",aai); fclose(wf);/*/return 0;【参考代码】 int i,j,k=0; for(i=2;i<=lim;i+) for(j=2;j<i;j+) if(i%j=0) break; if(j>=i) aak+=i; return k; /*请编写函数fun,函数的功能是:求出二维数组周边元素之和,作为函数值返回。二维数组中的值在主函数中赋予。 例如,若二维数组中的值为 1 3 5 7 9 2 9 9 9 4 6 9 9 9 8 1 3 5 7 0 则函数值为61。 注意:部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序:*/#include<stdio.h>#include<stdlib.h>#define M 4#define N 5int fun( int a MN) /*Begin*/ /* End */void main() FILE *wf; int aaMN=1,3,5,7,9,2,9,9,9,4,6,9,9,9,8,1,3,5,7,10; int i, j, y; printf ("The original data is :n "); for(i=0; i<M;i+) for (j=0; j<N;j+) printf("%6d ",aaij); printf("n "); y=fun(aa); printf("nThe sun: %dn ",y); printf("n ");/*/ wf=fopen("debugout10.dat","w"); fprintf (wf,"%d",y); fclose(wf);/*/ 【参考代码】 int i,j,sum=0; for(i=0;i<M;i+) for(j=0;j<N;j+) if(i=0|i=M-1|j=0|j=N-1) sum=sum+aij; return sum; /*编写一个函数,从传入的num个字符中找出最长的一个字符串,并通过形参指针max传回该串地址(用*作为结束输入的标志)。注意:部分源程序给出如下。请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:*/#include<stdio.h>#include<string.h>#include<stdlib.h>void fun(char a81, int num, char max)/*Begin*/* End */void main() FILE *wf; char ss1081,ps81; char s381="abcd","deg","diegns",p81; int i=0,n; printf("输入若干个字符串:"); gets(ssi); puts(ssi); while(!strcmp(ssi, "*")=0) /*用4个星号作为结束输入的标志*/ i+; gets(ssi); puts(ssi); n=i; fun(ss,n,ps); printf("nmax=%sn",ps);/*/ wf=fopen("debugout15.dat","w"); fun(s,3,p); fprintf(wf,"%s",p); fclose(wf);/*/【参考代码】int i=0; strcpy(max,a0); /*找出最长的一个字符串*/ for(i=0;i<num;i+) if(strlen(max)<strlen(ai) strcpy(max,ai); /*请编写一个函数fun,它的功能是:求出1到m(含m)之内能被7或11整除的所有整数放在数组a中,通过n返回这些数的个数。 例如,若传给m的值为50,则程序输出: 7 11 14 21 22 28 33 35 42 44 49 注意:部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: */#include<stdio.h>#include<stdlib.h>#define M 100int fun(int m, int a) /*Begin*/ /* End */void main() FILE *wf; int aaM,n,k; n=fun(50,aa); for(k=0;k<n;k+) if(k+1)%20=0) /*每行输出20个数*/ printf("%4d",aak); printf("n"); else printf("%4d",aak); printf("n");/*/ wf=fopen("debugout4.dat","w"); for(k=0;k<n;k+) fprintf(wf,"%dn",aak); fclose(wf);/*/【参考代码】 int i,j=0; for(i=1;i<=m;i+) if(i%7=0|i%11=0) aj+=i; return j; /*返回这些数的个数*/ /*请编写一个函数fun,它的功能是:将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转为整数的函数)。例如,若输入字符串"-1234",则函数把它转换为整数值-1234。注意:部分源程序给出如下。请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:*/#include <stdio.h>#include <string.h>long fun(char p) /*Begin*/ /* End */void main() FILE *wf; char s6; long n; printf("Enter a string:n"); gets(s); n=fun(s); printf("%ldn",n);/*/ wf=fopen("debugout13.dat","w"); fprintf (wf,"%ld",fun("-1234"); fclose(wf);/*/【参考代码】long n=0,i=0; int flag=1; if(pi='-') /*负数时置flag为-1*/ i+;flag= -1; else if(pi='+') /*正数时置flag为1*/ i+; while(pi!='0') n=n*10+pi-'0'/*将字符串转成相应的整数*/ i+; return n*flag; /*请编写一个函数void fun(char ss),其功能是:将字符串ss中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。例如,若输入abc4EFg,则应输出aBc4EFg。 注意:部分源程序给出如下。请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:*/#include <stdio.h>#include <string.h>void fun ( char ss) /*Begin*/ /* End */void main()char tt100;FILE *out,*in;printf("Please enter an character string within 50 characters:n");gets(tt);printf("nnAfter changing,the stringn%s",tt);fun(tt);printf("nbecomesn %s",tt);/*/in=fopen("in.dat","r");out=fopen("debugout14.dat","w");fgets(tt,16,in);strcat(tt,"After changing the string");fun(tt);fprintf(out,"%s",tt);fclose(in);fclose(out);/*/【参考代码】 int i,n=0; while(ssi) n+; i+; for(i=0;i<n;i+) if(ssi>='a'&&ssi<='z')&&i%2!=0) /*将下标为奇数位置的字母转换成大写*/ ssi=ssi-32; ssi='0'/*编写一个函数fun,它的功能是:实现两个字符串的连接(不使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串后。例如,分别输入下面两个字符串: FirstString SecondString 则程序输出:FirstStringSecondString注意:部分源程序给出如下。请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序:*/#include<stdio.h>#include<stdlib.h>void fun(char p1,char p2) /*Begin*/ /* End */void main() FILE *wf,*in; char s180,s240; char p180="FirstString",p240="SecondString" printf("Enter s1 and s2:n") ; scanf("%s%s",s1,s2); printf("s1=%sn",s1); printf("s2=%sn",s2); printf("Invoke fun(s1,s2):n"); fun(s1,s2); printf("After invoking:n"); printf("%sn",s1);/*/ in=fopen("in.dat","r"); wf=fopen("debugout16.dat","w"); fscanf(in,"%s %s",p1,p2); fun(p1,p2); fprintf(wf,"%s",p1); fclose(in); fclose(wf);/*/【参考代码】 int i,j; for(i=0;p1i!='0'i+); for(j=0;p2j!= '0'j+) p1i+=p2j; p1i= '0'/*请编写函数fun,其功能是:将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过k传回。 例如,输入17,则应输出4 6 8 9 10 12 14 15 16。注意:部分源程序给出如下。请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序: */#include<stdio.h>#include<stdlib.h>int fun(int m, int xx) /*Begin*/ /* End */void main() FILE *wf; int m, n, zz100; printf("nPlease enter an integer number between 10 and 100: "); scanf("%d",&n); m=fun(n,zz); printf("nnThere are %d non-prime numbers less than %d: ",m,n); for(n=0;n<m;n+) printf("n %4d",zzn);/*/ wf=fopen("debugout7.dat","w"); m=fun(30,zz); for(n=0;n<m;n+) fprintf(wf,"%dn",zzn); fclose(wf);/*/【参考代码】int i,j,n=0; for(i=4;i<m;i+) /*找出大于1小于整数m的非素数*/ for(j=2;j<i;j+) if(i%j=0) break; if(j<i)xxn+=i; return n; /*返回非素数的个数*/ /*请编写一个函数 void fun(char tt,int pp),统计在tt字符串中"a"到"z"26个字母各自出现的次数,并依次放在pp所指数组中。例如,当输入字符串abcdefghabcdeabc后,程序的输出结果应该是:3 3 3 2 2 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 注意:部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:*/#include <stdio.h>#include <stdlib.h>void fun(char tt,int pp ) /*Begin*/ /* End */void main( ) FILE *wf; char aa1000; int bb26, k; system("CLS"); printf("nPlease enter a char string : ") ; scanf("%s",aa); fun(aa,bb); for (k=0 ;k<26 ; k+) printf("%dn",bbk) ;/*/ wf=fopen("debugout2.dat","w"); fun ("abcdefgabcdeabc",bb) ; for (k=0 ;k<26 ; k+) fprintf(wf,"%dn",bbk) ; fclose(wf);/*/【参考代码】 int i; for(i=0;i<26;i+) ppi=0; i=0; for(;tti!='0'i+) if(tti>='a'&&tti<='z') pptti-'a'+; 程序改错/*下列给定程序中,函数fun的功能是:删除字符串s中所有空白字符(包括Tab符、回车符及换行符)。输入字符串时用"#"结束输入。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序:*/#include <string.h>#include <stdio.h>#include <ctype.h>fun(char *p) int i, t; char c80; for(i=0,t=0;pi;i+) if(!isspace(*(p+i) ct+=pi;/*ERROR*/ ct="0" strcpy(p,c);void main()char c,s80; int i=0; printf("Input a string: "); c=getchar(); while(c!='#') si=c;i+;c=getchar(); si='0' fun(s); puts(s);【参考答案】ct=0;ct='0'/*下列给定程序中,函数fun的功能是:求出数组中最大数和次最大数,并把最大数和a0中的数对调、次最大数和 a1 中的数对调。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序:*/#include<stdio.h>#define N 20/*ERROR*/void fun(int a,int n); int i, m, t, k; for(i=0; i<n;i+) /*ERROR*/ m=0; for(k=i+1; k<n; k+) if(ak>am) m=k; t=ai; ai=am; am=t; void main() int bN=11,5,12,0,3,6,9,7,10,8,n=10,i; for(i=0; i<n; i+) printf("%d ",bi); printf("n"); fun(b,n); for(i=0; i<n; i+) printf("%d ", bi); printf("n");【参考答案】void fun(int a,int n)【参考答案】m=i;/*下列给定程序中,函数fun的功能是:先从键盘上输入一个3行、3列的矩阵的各个元素的值,然后输出主对角线元素之和。请改正函数fun中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:*/#include <stdio.h>void fun() int a33,sum; int i,j;/*ERROR*/ sum=1; for (i=0;i<3;i+) for (j=0;j<3;j+)/*ERROR*/ scanf("%d",aij); for(i=0;i<3;i+) sum=sum+aii; printf("Sum=%dn",sum);void main()fun();【参考答案】sum=0;【参考答案】scanf("%d",&aij);请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序: */#include <stdio.h>double fun(int x)/*ERROR*/ int sum=0.0; int c=0, I=0; while(xI!=0) if(xI>0) sum+=xI; c+; I+; /*ERROR*/ sum=sumc; return sum;void main() int x1000; int i=0; printf("nPlease enter some data(end with 0) :"); do scanf("%d",&xi); while(xi+!=0); printf("%fn",fun(x);【参考答案】double sum=0;double sum=0.0;float sum=0;float sum=0.0;【参考答案】sum=sum/c;sum/=c;程序填空/*请补充函数fun,该函数的功能是:求一维数组xN的平均值,并对所得结果进行四舍五入(保留两位小数)。例如,当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 <stdlib.h>#include <stdio.h>double fun(double x10) int i; long t; double avg=0.0; double sum=0.0; for(i=0;i<10;i+)/*FILL*/ 1 ; avg=sum/10;/*FILL*/ avg= 2 ;/*FILL*/ t= 3 ; avg=(double)t/100; return avg;void main() double avg,x10=15.6,19.9,16.7,15.2,18.3,12.1,15.5,11.0,10.0,16.0; int i; printf("nThe original data is :n"); for(i=0;i<10;i+)printf("%6.1f",xi); printf("nn"); avg=fun(x); printf("average=%fnn",avg);【参考答案】sum+=xi;sum=sum+xi;【参考答案】avg*1000;1000*avg;【参考答案】(avg+5)/10 ;(5+avg)/10;/*请补充函数fun,该函数的功能是:整除x且是偶数的数,把这些数保存在数组bb中,并按从大到小的顺序输出。例如当x=20时,依次输出:20 10 4 2。注意:部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。试题程序:*/#include <stdio.h>void fun(int k,int bb) int i; int j=0;/*FILL*/ for( 1 ;i<=k;i+) /*FILL*/ if( 2 )bbj+=i; printf("nn");/*FILL*/ for(i= 3 ;i>=0;i-)printf("%d ",bbi);int main() int k=1; int bb100; printf("nPlease input X="); scanf("%d",&k); fun(k,bb); return 0;

    注意事项

    本文(C语言上机题库百科园第5章!南信大!(58页).doc)为本站会员(1595****071)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开