c语言程序设计练习5_第1页
c语言程序设计练习5_第2页
c语言程序设计练习5_第3页
c语言程序设计练习5_第4页
c语言程序设计练习5_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1、以下正确的说法是:在C语言中(A)oA、实参和与其对应的形参各占用独立的存储单元B、形参是虚拟的,不占用存储单元C、只有当实参和与其对应的形参同名时才共占用存储单元D实参和与其对应的形参共占用一个存储单元 下列程序段的输出结果是 Bint a=1234;float b=123.456;double c=12345.54321;printf ( %2d,%2.1f,%2.1f,a,b,c) ;A、1234,123.4,1234.5B、1234,123.5,12345.5C、12,123.5,12345.5D无输出若有double *p,x10;int i=5;使指针变量p指向元素x5的语句为(

2、D)。A、p=x;B、p=xi;C、p=&(x+i)D、p=ξ指针变量p进行自加运算(即执行p+;)后,地址偏移值为2,则其数据类型为( A)。A、intB、doubleC、floatD、char若有定义 :int *p3; ,则以下叙述中正确的是( C)。A、定义了一个名为*p的整型数组,该数组含有三个int类型元素B、定义了一个可指向一维数组的指针变量 p,所指一维数组应具有三 个int类型元素C、定义了一个指针数组p,该数组含有三个元素,每个元素都是基类 型为int的指针D定义了一个基类型为int的指针变量p,该变量具有三个指针表达式 18/4*sqrt(4.0)/8 值的数据类型

3、为( B)。A、floatB、doubleC、不确定D、int以下合法的C语言赋值语句是CA、a=b=58B、a=58,b=58C、-iD、k=int(a+b)若二维数组a有m列,则在aij 前的元素个数为(B)oA、j*m +iB、i*m+jC、i*m+j+1D、i*m+j-1若执行以下程序时从键盘上输入 3和4,则输出结果是 B main()int a, b, s;scanf( “ %d%d” , &a, &b);s = a;if(a 0) y = 1;else y = 0;A、r o (x n;B、r 1 (X 映f- -1 (x 0)i-1 (Z) y= J 0 (x = 0)-1 (

4、x0)设C语言中,int类型数据占2个字节,则long类型数据占(C)A、2个字节B、1个字节C、4个字节D 8个字节C语言中要求对变量作强制定义的主要理由是(B)。A、便于编辑预处理程序的处理B、便于确定类型和分配空间C、便于移植D便于写文件p的正确语句是若已定义x为int类型变量,下列语句中说明指针变量(A)。A、int *p=&x;B、int p二&x;C、*p=*x;D int *p=x;以下程序段的输出结果是(C)。char *alp=ABC,DEF,GHI; int j; puts(alp1);A、AB、BC、DEFD D根据以下定义,能输出字母 M的语句是Bstruct pers

5、 on char n ame9;Int age;structpers onclass4=“ John ” ,17, “Paul ” ,19, “ Mary ” ,18, “ Adam” ,16;A、 printf(“%cn”,1);B、 printf(“%cn”,0);C、 printf(“%cn”,1);D、 printf(“%cn”,);若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是(B)。A、1B、2.0C、2.5D、2以下非法的赋值语句是 DA、j+B、x=j0C、n=(i=

6、2,+i)D、+(i+1)若变量已正确说明为int类型,要给a、b、c输入数据,以下正确的输 入语句是 AA、scanf( “%d%d%”,d&a,&b,&c);B、scanf( “%d%d%”,da,b,c);C、read(a,b,c)D、scnaf( “%D%D%”,&Da,&b,&C);fgetc 函数的作用是从指定文件读入一个字符,该文件的打开方式 必须是( D)。A、答案B和C都正确B、只写C、追加D读或读写下列四个选项中,均是C语言关键字的选项是(B)。A、if struct typeB、switch typedef continueC、signed union scanfD、au

7、to enum include 下列定义不正确的是( C)。A、static char c;B、#define S 345C、int max(x,y); int x,y; D、#define PI 3.141592 以下叙述中正确的是( A)。A、宏替换不占用运行时间,只占编译时间B、在以下定义中C R是称为宏名的标识符 #define C R 045C、在程序的一行上可以出现多个有效的预处理命令行D使用带参的宏时,参数的类型应与宏定义时的一致 下面说明不正确的是( A)。A、char a10,*p;p=a=chinaB、char a10,*p=a;p=chinaC、char *a;a=chi

8、na;D、char a10=china;char *match(char c)是( C)。A、函数调用B、函数预说明C、函数定义的头部D指针变量说明若有 char s1=abc,s220,*t=s2;gets(t); 则下列语句中能够实现当字符串si大于字符串S2时,输出s2的语句是(B)。A、if(strcmp(s2,s1)0)puts(s2);B、if(strcmp(s1,t)0)puts(s2);C、if(strcmp(s1,s1)0)puts(s2);D、if(strcmp(s2,t)0)puts(s2);若以a+方式打开一个已存在的文件,则以下叙述正确的是(D。A、文件打开时,原有文

9、件内容不被删除,位置指针移到文件开头,可作 重写和读操作B、以上各种说法皆不正确C、文件打开时,原有文件内容被删除,只可作写操作D文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可作添加和读操作数组名作为实参数传递给函数时,数组名被处理为(C)A、该数组的长度B、该数组的元素个数C、该数组的首地址D该数组中各元素的值下列程序的输出结果是( A)。main() int x=1,y=0,a=0,b=0;switch(x)case 1:switch(y)case 0:a+;break;case 1:b+;break;case 2:a+;b+;break;case 3:a+;b+;break;

10、printf(a=%d,b=%dn,a,b);A、a=2,b=1B、a=1,b=0C、a=2,b=2D、a=1,b=1 以下程序的输出结果是 Cmain() int w = 4, x = 3, y = 2, z = 1;printf(“n%”d, (w x) ? w: z y ? z: x);A、2B、4C、1D、3 以下叙述中不正确的是( A)。A、在C程序中,赋值运算符的优先级最低B、在C程序中,j+;是一条赋值语句C、 C程序中的#inelude和#define均不是C语句D个好的程序应该有详尽的注释通过return语句,函数可以带回一个或一个以上的返回值。错字符处理函数 strcpy(

11、str1,str2) 的功能是把字符串 1接到字符串 2的 后面.错int a34=1,5,9;它的作用是将数组各行第一列 的元素赋初值,其余元素值为 0。对 如果想使一个数组中全部元素的值为 0,可以写成 int a10=0*10; 错若有 # define S(a,b) a*b 则语句 area二S(3,2);area 的值为 6。对若i =3,贝S printf(%d,-i+);输出的值为-4。错两个字符串中的字符个数相同时才能进行字符串大小的比较 错C语言本身不提供输入输出语句,输入和输出操作是由函数来实现的。 对函数 strle n(ASDFGn) 的值是 7。错int i=20;s

12、witch(i/10)case 2:printf(A);case 1:printf(B); 的输出结果为 A。 错【程序设计】功能:编写函数判断一个整数能否同时被 3和5整除,若能 则返回值为 1,否则为 0。调用该函数求出 15300之 间能同时被 3和5整除的数的个数。*/#include void bky();int sum(int n)/*Begin*/* End *main()int i,s=0;for(i=15;i=300;i+)if(sum(i)=1) s=s+1;printf(s=%dn,s);bky();void bky()FILE *IN,*OUT;int n;int i1

13、2;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;n5;n+)fscanf(IN,%d,&in);for(n=0;n5;n+)o = sum(in);fprintf(OUT,%dn,o);fclose(IN);fclose(OUT);【参考代码】if(n%3=0&n%5=0) return(1);return(0);【程序设计】功能:产生 20个30,120 上的随机整数放入二维数组 a54

14、中,求每行元素的和。*/#include stdlib.h#include void bky();void row_sum(int a54,int b5)*/* End */main()void row_sum();int a54,b5,i,j;for(i=0;i5;i+)for(j=0;j4;j+)aij=random(120-30+1)+30;for(i=0;i5;i+)for(j=0;j4;j+)printf(%5d,aij);printf(n);row_sum(a,b);for(i=0;i5;i+)printf(%6d,bi);printf(n);bky(); void bky()FI

15、LE *IN,*OUT;int m,n;int i54;int o5;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;m5;m+)for(n=0;n4;n+)fscanf(IN,%d,&imn);row_sum(i,o);for(n=0;n5;n+)fprintf(OUT,%dn,on);fclose(IN);fclose(OUT);【参考代码】int i,j;for(i=0;i5;i+) bi=0;f

16、or(j=0;j4;j+)bi=bi+aij;【程序改错】功能:将一个正整数分解质因数。例如:输入 90,打印出 90=2*3*3*5*/#include stdio.h main()int n,i;printf(nplease input a number:n); scanf(%d,&n);printf(%d=,n);for(i=2;i=n;i+)*ERROR*while(n=i)*ERROR*if(n%i=1)printf(%d*,i);*ERROR*n=n%i;elsebreak; printf(%d,n);【参考答案】 while(n!=i)【参考答案】 if(n%i=0) if (!

17、(n%i)【参考答案】 n=n/i;【程序改错】功能:输入字符序列,字符序列以特殊字符 “#”结束。程序从前向后依次读入字符,并翻译出新的字符输出。翻译的规则是:如果当前读入的字符是数字符,如果该字符的面值为 n,则它的后一个字符(包括数字符)需重复输出n+1次如果当前 读入的字符不是数字符,则输出该字符。输出时,以上述一 次翻译为一组,不同组间输出用一个空白字符隔开。翻译 直至当前读入的字符为字符 ,#?,结束翻译和输出。*/#include void main()char ch,nch; int count;int k;printf(Enter string.n); scanf(%c,&c

18、h);*ERROR*while(ch=#)if(ch=0&ch=9)*ERROR*count=ch-0-1;scanf(%c,&nch);for(k=0;kcount;k+) printf(%c,nch);else*ERROR*printf(%f,ch);printf( );scanf(%c,&ch);printf(#n);【参考答案】 while(ch!=#) 【参考答案】 count=ch-0+1;【参考答案】printf(%c,ch);/*程序填空】功能:以下程序的功能如 ( 图1)*/ #include #include main() int f;*FILL*double t,pi;t=1;pi=t;f=1;n=1.0;*FILL*while()n=n+2;*FILL*t=f/n;pi=pi+t;*FILL*printf(pi=%10.6fn,pi);【参考答案】float n double n【参考答案】fabs(t)=1e-6 fabs(t)=0.0000011e-6=fabs(t)0.000001=fabs(t)【参考答案】f=-ff=-1*ff=f*(-1)f=f*-1f=(-1)*f【参考答案】pi=pi*4pi=4*pi pi*=4/*【程序填空】功能:对任一整数N(NMO),它都可以分解成1(或

温馨提示

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

评论

0/150

提交评论