C语言上机题库百科园!南信大!_第1页
C语言上机题库百科园!南信大!_第2页
C语言上机题库百科园!南信大!_第3页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、第六章单选若已定义chars10;则在下面表达式中不表示s1的地址是()&s1&s0+1s+1s+下面程序段的运行结果是()。chara=”language”,*p;p=a;while(*p!=u)printf(“C,*p-32);p+;languagelangUAGELANGUAGELANGchars5=A,B,C,D,E;chars5=ABCDE;char*s;s=ABCDE;char*s;scanf(%s,s);设pl和p2是指向同一个字符申的指针变量,c为字符变量,则以下能正确执行并得到有意义的结果的赋值语句是()。p2=c;c=*p1+*p2;p1=p2;c=*p1*(*p2);已有

2、函数max(a,b),为了让函数指针变量p指向函数ma*正确的赋值方法是()。A*p=max(a,b);*p=max;p=max;p=max(a,b);C语言允许main函数带形参,且形参个数和形参名均可由用户指定当main函数带有形参时,传给形参的值只能从命令行中得到若有说明:intmain(intargc,char*argv),则argc的值必须大于1C语言允许main函数带形参,形参名只能是argc和argv若有定义:int(*p)4;则标识符p()。是一个指针数组名定义不合法是一个指向整型变量的指针是一个指针,它指向一个含有四个整型元素的一维数组设有程序段:chars=china;ch

3、ar*p;p=s;则下面叙述正确的是()。*p与s0相等数组s中的内容和指针变量p中的内容相等s数组长度和p所指向的字符申长度相等s和p完全相同下面程序段的运行结果是()。s+=2;printf(%S,s);字符c的地址不确定cde字符c下面判断正确的是()。charstr10=china;等价于charstr10;str=china”;charc4=abc”,d4=abc”;等价于charc4=d4=abc”;char*a=china”;等价于char*a;*a=china”;char*s=china;等价于char*s;s=china;设有程序段:chars=”china;char*p;p

4、=s;则下面叙述正确的是(数组s中的内容和指针变量p中的内容相等*p与s0相等s数组长度和p所指向的字符申长度相等s和p完全相同已有变量定义和函数调用语句:inta=25;print_value(&a);voidprint_value(int*x)(printf(“dn,+*x);24232526若有说明:int*p,m=5,n;以下程序段正确的是()p=&n;*p=m;p=&n;scanf(%d”,&p);p=&n;scanf(%d,*p);scanf(%d”,&n);*p=n;变量的指针,其含义是指该变量的()值地址一个标志名已有定义intk=2;int*ptr1,*ptr2;且ptrl和

5、ptr2均已指向变量k,下面不能正确执行的赋值语句是()ptr2=k;k=*ptr1+*ptr2;k=*ptr1*(*ptr2);ptr1=ptr2程序设计/*请编写函数fun,该函数的功能是:判断字符申是否为回文,若是则函数返回1,主函数中输出YES,否则返回0,主函数中输出NO。回文是指顺读和倒读都一样的字符申。例如,字符申LEVE星回文,而字符申1233125ft不是回文。注意:部分源程序给出如下。请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若十语句。试题程序:*/#include#defineN80intfun(charstr)/*Begin*/*E

6、nd*/voidmain()(charsN;FILE*out;chartest80=1234321,123421,123321,abcdCBA;inti;printf(Enterastring:);gets(s);printf(nn);puts(s);if(fun(s)printf(YESn);elseprintf(NOn);/*/out=fopen(debugout12.dat,w);for(i=0;i4;i+)if(fun(testi)fprintf(out,YESn);elsefprintf(out,NOn);fclose(out);/*【参考代码】intfun(charstr)inti

7、,n=0,fg=1,j=0;(n+;j+;for(i=0;in/2;i+)/*循环比较字符*/if(stri=strn-1-i);/*相同,什么都不作*/else/*不同,直接跳出循环*/(fg=0;break;returnfg;/*请编写函数fun,该函数的功能是:统计一行字符申中单词的个数,作为函数值返回。一行字符申在主函数中输入,规定所有单词由小写字母组成,单词之间有若十个空格隔开,一行的开始没有空格。注意:部分源程序给出如下。请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若十语句试题程序:*/#include#include#defineN80intf

8、un(char*s)/*Begin*/*End*/FILE*wf;charlineN;intnum=0;printf(Enterastring:n);gets(line);num=fun(line);printf(Thenumberofwordis:%dnn,num);/*/wf=fopen(d:out19.dat,w);fprintf(wf,%d,fun(Thisisabigcar);fclose(wf);/*/【参考代码】for(i=0;si!=0;i+)if(si!=&(si+1=|si+1=0)/*如果一个字母的下一个字符为空格或者结束标记,则表示一个单词结束*/j+;returnj;

9、/*返回单词个数*/*假定输入的字符申中只包含字母和*号。请编写函数fun,它的功能是:除了字符申前导的*号之外,将申中其他*号全部删除。在编写函数时,不得使用C语言提供的字符申函数。例如,若字符申中的内容为*a*BC*DEF*G*,删除后,字符申中的内容则应当是*ABCDEFG注意:部分源程序给出如下。请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若十语句。试题程序:*/#include#includevoidfun(char*a)/*Begin*/*Em*/voidmain()(chars81;FILE*in,*out;inti;printf(Entera

10、string:n);gets(s);fun(s);printf(Thestringafterdeleted:n);puts(s);/*/in=fopen(in21.dat,r);out=fopen(debugout21.dat,w);for(i=0;i8;i+)(fscanf(in,%s,s);fun(s);fprintf(out,%sn,s);fclose(in);fclose(out);/*【参考代码】inti=0;char*p=a;while(*p&*p=*)ai=*p;i+;p+;while(*p)(if(*p!=*)(ai=*p;i+;p+;ai=0;/*假定输入的字符申中只包含字母

11、和*号。请编写函数fun,它的功能是:将字符申中的前导*号全部删除,中间和后面的*号不删除。例如,若字符申中的内容为*A*BC*DEF*G*,删除后,字符申中的内容则应当是A*BC*DEF*G*。注意:部分源程序给出如下。请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若十语句。试题程序:*/#includevoidfun(char*a)/*Begin*/*End*/voidmain()(FILE*wf,*in;inti;chars81,t81=*A*BC*DEF*G*;printf(Enterastring:n);gets(s);fun(s);printf(T

12、hestringafterdeleted:n);puts(s);/*/in=fopen(in18.dat,r);wf=fopen(debugout18.dat,w);for(i=0;i8;i+)fscanf(in,%s,t);fun(t);fprintf(wf,%sn,t);fclose(in);fclose(wf);/*/【参考代码】char*p=a;while(*p=*)p+;/*指针p指向字符申第一个字母*/for(;*p!=0;p+,a+)*a=*p;*a=0;/*请编一个函数fun(char*s),该函数的功能是把字符申中的内容逆置。例如,字符申中原有的字符申为abcdefg,则调用

13、该函数后,申中的内容为gfedcba。注意:部分源程序给出如下。请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若十语句。试题程序:*/#include#include#defineN81voidfun(char*s)/*Begin*/*Em*/voidmain()(charaN;FILE*out;printf(Enterastring:);gets(a);printf(Theoriginalstringis:);puts(a);fun(a);printf(n);printf(Thestringaftermodified:);puts(a);strcpy(a,H

14、elloWorld!ThisisafirstCprogram!);fun(a);/*/out=fopen(d:out17.dat”,w”);fprintf(out,%s,a);fclose(out);/*/【参考代码】charch;inti,m,n;i=0;m=n=strlen(s)-1;while(i(n+1)/2)ch=si;sm=ch;i+;m-;/*请编写函数fun,其功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位依次放在c数的千位和十位上数的十位和个位依次放在c数的白位和个位上。例如,当a=45,b=12,调用该项函数后,c=4152。注意:部分源程序给出如下。请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若十语句。试题程序:*/#include#includevoidfun(inta,intb,long*c)/*Begm*/*End*/voidmain()inta,b;longc;

温馨提示

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

评论

0/150

提交评论