C语言习题级答案.doc_第1页
C语言习题级答案.doc_第2页
C语言习题级答案.doc_第3页
C语言习题级答案.doc_第4页
C语言习题级答案.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

测试题31.C语言中不合法的字符常量是 CA、65B、xffC、028D、&2.具有相同类型的指针变量p与数组a,不能进行的操作是(C)。A、p=&a0;B、p=a;C、p=&a;D、*p=a0;3.若有x=22,y=26,z=0;,则执行下面语句后,z的输出结果是(B )z=xy?x:yA、72B、26C、48D、224.对于建立函数的目的,正确的说法是 DA、提高程序的执行效率B、减少程序的篇幅C、减少程序文件所占的内存D、提高程序的可读性5.有定义:char*p1,*p2;则下列表达式中正确合理的是 CA、p1/=5B、p1+=5C、p1=&p2D、p1*=p26.以下程序的运行结果是(B)。main() int i=1,sum=0; while(i j共执行了多少次 C#include main() int i = 0, j = 10, k = 2, s = 0; for( ; ; ) i += k; if(i j) printf(“%dn”, s); break; s += i; A、4B、8C、6D、710.下列各m的值中,能使m%3=2&m%5=3&m%7=2为真的是(D)。A、8B、17C、6D、2311.下面判断正确的是(D)。A、char *a=china;等价于 char *a;*a=china;B、char str10=china;等价于char str10;str=china;C、char c4=abc,d4=abc;等价于 char c4=d4=abc;D、char *s=china;等价于 char *s;s=china;12.设 b的值为二进制数, b=00000010;表达式(b2)/(b1)的值是(A)。A、0B、2C、8D、413.以下叙述正确的是(A)。A、用do-while语句构成的循环,在while后的表达式为零时结束循环B、do-while语句构成的循环只能用break语句退出.C、do-while语句构成的循环不能用其它语句构成的循环来代替.D、用do-while语句构成的循环,在while后的表达式为非零时结束循环.14.以下正确的说法是(D)。A、如果形参与实参类型不一致,以实参类型为准B、return后边的值不能为表达式C、定义函数时,形参的类型说明可以放在函数体内D、如果函数值的类型与返回值类型不一致,以函数值类型为准15.已定义两个字符数组a,b,则以下正确的输入格式 B是A、scanf(%s%s, &a, &b);B、scanf(%s%s, a, b);C、gets(a),gets(b);D、get(a, b);16.宏定义#define PI 3.14中的宏名PI代替 CA、不确定类型的数B、一个单精度实数C、一个字符串D、一个双精度实数17.以下叙述中正确的是(A)。A、C程序中注释部分可以出现在程序中任意合适的地方B、分号是C语句之间的分隔符,不是语句的一部分C、花括号“和”只能作为函数体的定界符D、构成C程序的基本单位是函数,所有函数名都可以由用户命名18.若有说明:int a34;则数组a中各元素(A)。A、不能得到确定的初值B、可在程序的编译或运行阶段得到初值0C、可在程序的运行阶段得到初值0D、可在程序的编译阶段得到初值019.下面四个选项中,均是不合法的用户标识符的选项是(D)。A、_123 temp intB、A P_0 doC、float la0 _AD、b-a goto int20.以下不能对二维数组a进行正确初始化的语句是(B)。A、int a3=1,2,0;B、int a23=1,2,3,4,5,6;C、int a23=0;D、int a3=1,2,3,4,5,6;21.若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是(B)。A、9B、-12C、6D、-322.一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误的是(B)。A、有穷性B、有零个或多个输出C、可行性D、有零个或多个输入23.下列语句中,不正确的是(C)。A、static char a2=1;B、static char a2=1,2;C、static char a2=1,2,3;D、static int a2=1,2;24.若有下列定义,则对a数组元素地址的正确引用是(D)。int a5,*p=a;A、*(p+5)B、*&a5C、*p+2D、*(a+2)25.若有定义:char *p1,*p2,*p3,*p4,ch;则不能正确赋值的程序语句为(D)。A、p4=&ch;*p4=getchar();B、p2=(char *)malloc(1);scanf(%c,p2);C、p1=&ch; scanf(%c,p1);D、*p3=getchar();26.以下选项中合法的实型常数是(A)。A、.2E0B、E-3C、5E2.0D、1.3E27.若要说明一个类型名STP,使得定义语句STP s等价于char *s,以下选项中正确的是(A)。A、typedef char* STP;B、typedef *char STP;C、typedef stp *char;D、typedef STP char *s;28.sizeof(float)是(B)。A、一种函数调用B、一个整型表达式C、一个不合法的表达式D、一个双精度型表达式29.下面程序的输出结果是main(C)int a10=1,2,3,4,5,6,7,8,9,10,*p=a;printf(%dn,*(p+2);A、2B、4C、3D、130.以下四个程序中,不能对两个整型值进行交换的是 DA、B、C、D、判断1.C语言规定,必须用main作为主函数名 T2.如果想使一个数组中全部元素的值为0,可以写成 Fint a10=0*10;3.若i =3,则printf(%d,-i+);输出的值为-4 F4.在C 语言中,此定义和语句是合法的: Tenum aa a=5,b,cbb;bb=(enum aa)5;5.用fopen(file,r+);打开的文件file可以进行修改。 T6.循环结构中的continue语句是使整个循环终止执行 F7.在C语言中,对于数组的定义char a8=computer是错误的. T8.C语言本身不提供输入输出语句,输入和输出操作是由函数来 T实现的。9.共同体变量所占的内存长度等于最长的成员的长度。 T10.#define 和printf 都不是C语句。 T程序设计1./*-【程序设计】-功能:给定n个数据, 求最大值出现的位置(如果最大值出现多次,求出第一次出现的位置即可)。-*/#includeint station(int s,int n) /*Begin*/ /* End */main() int a100,n,i,t; scanf(%d,&n); for(i=0;in;i+) scanf(%d,&ai); t=station(a,n); printf(the max_value position is:%dn,t); TestFunc();TestFunc() FILE *IN,*OUT; int n; int i10; int o; IN=fopen(in.dat,r); if(IN=NULL) printf(Read File Error); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Write File Error); for(n=0;n10;n+) fscanf(IN,%d,&in); o=station(i,10); fprintf(OUT,%dn,o); fclose(IN); fclose(OUT);答案int i,k; k=0; for(i=1;isk) k=i; return(k+1);2./*-【程序设计】-功能:求n阶方阵主、副对角线上的元素之积。-*/#define N 4#include stdlib.h#include void bky(); float mul(int arrN) /*Begin*/ /* End */main() int aNN,i,j; for(i=0;iN;i+) for(j=0;jN;j+) aij=random(10); for(i=0;iN;i+) for(j=0;jN;j+) printf(%4d,aij); printf(n); printf(The sum is %dn,mul(a);bky();void bky() FILE *IN,*OUT; int m,n; int i44; float o; IN=fopen(in.dat,r); if(IN=NULL) printf(Read FILE Error); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Write FILE Error); for(m=0;m100;m+) for(n=0;n100;n+) fscanf(IN,%d,&imn); o=mul(i); fprintf(OUT,%fn,o); fclose(IN); fclose(OUT);答案【参考代码】int i,j; float t=1; for(i=0;iN;i+) for(j=0;j0.0) 累计营业额;输入下一笔交易额; 输出营业额;记一笔交易额为变量sale,营业额为sigma。-*/#includevoid main() /*ERROR*/ float sale,sigma sigma=0.0; printf(Enter sale data.n); /*ERROR*/ scanf(%f,sale); while(sale0.0) /*ERROR*/ sigma+=sale; printf(Enter next sale data(=0 to finish).n); scanf(%f,&sale); printf(Sigma of sale is %.2fn,sigma);答案【改错1】错误【学生答案】float sale,sigma【参考答案】float sale,sigma;=【改错2】错误【学生答案】scanf(%f,sale);【参考答案】scanf(%f,&sale);=【改错3】错误【学生答案】sigma+=sale;【参考答案】sigma+=sale;sigma=sigma+sale;2.【程序改错】-功能:m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将高于和等于平均分的人数作为函数值返回,将高于和等于平均分的分数放在above所指的数组中。程序中共有4条错误语句,请改正错误。-注意:不可以增加或删除程序行,也不可以更改程序的结构。-*/#include int fun(float score, int m, float above) /*ERROR*/ float av=1; int i,n=0; for(i=0;im;i+) av+=scorei; /*ERROR*/ av=m; for(i=0;im;i+) if (av=scorei) aboven+=scorei; /*ERROR*/ return above; main( ) int i, n; float score9 = 10, 20, 30, 40, 50, 60, 70, 80, 90 ,above9 ; /*ERROR*/ n =int fun(score, 9, above) ; printf( nAbove the average score are: ) ; for (i = 0 ; i n ; i+) printf(%f , abovei) ; 答案【改错1】错误【学生答案】float av=1; 【参考答案】float av=0;=【改错2】错误【学生答案】av=m; 【参考答案】av=av/m;av/=m;=【改错3】错误【学生答案】return above; 【参考答案】return n;return (n);=【改错4】错误【学生答案】n =int fun(score, 9, above) ; 【参考答案】n = fun(score,9,above) ;填空1.【程序填空】-功能:是将两个字符串连接为一个字符串,不许使用库函数strcat。-*/#include #include string.hJOIN(s1,s2)char s180,s240; int i,j; /*FILL*/ _ /*FILL*/ for (i=0; _0;i+) s1i+j=s2i; /*FILL*/ s1i+j= _;main ( ) char str180,str240; gets(str1);gets(str2); puts(str1);puts(str2); /*FILL*/ _ puts(str1);答案【空1】错误【学生答案】_【参考答案】j=strlen(s1)for(j=0;s1j!=10;j+);for(j=0;s1j;j+);=【空2】错误【学生答案】for (i=0; _0;i+)【参考答案】s2i!=*(s2+i)!=*(i+s2)!=【空3】错误【学生答案】s1i+j= _;【参考答案】0NULL0【空4】错误【学生答案】_【参考答案】JOIN(str1,str2)2.【程序填空】-题目:给定程序的功能是调用fun函数建立班级通讯录。通讯录中记录每位学生的编号、姓名和电话号码。班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。请在程序的下划线处填入正确的内

温馨提示

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

评论

0/150

提交评论