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

下载本文档

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

文档简介

.1设int a34=7.5,8.2,2.3,3.7,1.2,1.0,3.4;,则a21的值是_。2文件使用方式“rb+”的含义是 。3设typedef structint a;char s10;TYPE; TYPEu1;则printf(“%dn”,sizeof(u1);的输出是 。4若定义:m=2,n=3,i=4,j=5,a=8,b=9,执行(a=mn)&(b=ij)后,b的值是 。 5设有char *a=”ABCD”,则printf(“%c”*a)的输出是 6请写出数学式 的C 语言表达式是 。 7调用系统函数strcmp(),必须在程序的开头写上一条文件包含命令是_。8设char a20=NANJING”,*p=a+2;,则*(p+2)的值是_。9. 有下面的程序段,请问输出结果是 。#define N 8*x+x*x x=2; s=5*N; printf(“%d”,s)10执行以下程序后a的值为 。 int a,k=16,m=3,*p1=&k,*p2=&m;a=(*p1)/(*p2);11设有宏定义#define X(n) 3*n,则printf(“fn”,6.0/X(2));的输出结果是_。12下面函数要求计算两个整数x,y之和,并通过形参z传回结果值,请填空, void add( int x,int y, ) *z=x+y;13下面程序的输出结果为 。int k;char *str6=“abcd”,“efgh”,“ijkl”,“mnop”,“qrst”,“uvwx”,*p=str;printf(“%sn”, *(p+3);14设有定义语句“struct int x;int y;d2=1,3,2,7;”,则printf(“%dn”,d1.x);的输出是 15函数中未指定存储类型的局部变量,其隐含的存储类型是 。16设float a34=7.5,8.2,2.3,3.7,1.2,1.0,3.4;,则a21的值是_。17以下程序的输出结果是 char s120=”abcw12d”,s2=”123”;main( ) strcpy(s1,s2);printf(“%sn”, s1); 18char *p=”string”; 则prinf(“%c”,*p)的结果是 。19设有char*s5=“forturn”,”C+”,”basic”,执行prinf(“%s”,*(s+2);将输出_ _。20下面程序的输出结果第一行为 。int k;char *str6=“abcd”,“efgh”,“ijkl”,“mnop”,“qrst”,“uvwx”,*p=str;printf(“%cn”,*(p1);printf(“%sn”, *(p+3);21若文件型指针fp已指向某文件的末尾,则函数feof(fp)的返回值是_。1合法的C语言常量是( )A ox3T B 039 C T D t2设int a=7; float x=2.5, y=4.7;, 则表达式x+3(int)(x+y)/4的值是( )A. 2.75B. 3.25C. 2.5 D. 0.03下面语句或声明,正确的是( )A a=-2=4 B int c=(a+b)+ C a%=3.1 D fload a=b+=c4设有定义:double x10,*p=x;,以下能给数组x下标为6的元素读入数据的正确语句是( )A. scanf(%f,&x6); B. scanf(%lf,x6);C. scanf(%lf,p+6); D. scanf(%lf,p6);5定义如下变量及数组: int k,y23=2,4,6,8,10,12;则下面语句的输出结果是( )for(k=0;k2;k+)printf(“%d”,y1-kk+1);A.10,4B.8,12 C.6,10D.10,66设int a=2,b=5;,结果为0的表达式是( )A. a%bB. a&b C.!(a=b)D. a!=b7若有以下定义,则值为4的表达式是()。int a34=1,2,3,4,5,6,(*p)4=a;Ap11 Bp+,*(p+1) Ca22 D*(p+1*4+1)8若有如下结构定义:structstu int n,char m20;x1;则下面正确的语句是( )A.scanf(“%d,%c”,x1);B.scanf(“%d,%c”,&x1);C.scanf(“%d”,x1.n);D.scanf(“%s”,x1.m);9下面程序的输出结果是( )#include main () int a=1,2,3,4,5 ,y,*p=&a2; y=*p-; printf (%d,%d, *p,y ); A. 2,2 B. 3,3 C. 2,3 D. 3,210设int a=7; float x=2.5, y=4.7;, 则表达式x+3(int)(x+y)/4的值是( )A. 2.75B. 3.25C. 2.5 D. 0.011设int i=l, k=2;, 则错误的循环语句是( )A. for(i=0,k=k-1;i+,k+) s; B. for(;k-1;i+) s;C. for(i=1,k=4;k-;i+) s; D. for(;k-;) s;12设int m=5;,语句while (m=0)printf (%d,m-=2);的循环体执行的次数是( )A. 0B. 1C. 2D. 无限13设char sl =“string1”,s28, *s3, *s4=“string2”;,则对系统函数strcpy的错误调用是( )A. strcpy(s1, s4); B. strcpy(s4, “string2”);C. strcpy(“string2”,s2); D. strcpy(s4,s1);14下列程序段正确的是( )A. char s =xyz;B. float *p,i;scanf(s”,s);p=*p+i;C. char s5=word;D. int a5=0,*p=a;puts(s);*p=*(p+1);15若有以下定义,则数值为4的表达式是()。int a34=1,2,3,4,5,6,(*p)4=a;Ap11 Bp+,*(p+1) Ca22 D*(p+1*4+1)16正确的数组定义及初始化的是( )A. char a10=“string”;B. int a5=0,1,2,3,4,5;C. char a=“string”;D. int a =x,y,z;17下列语句组中,正确的是( )A. char *s;s=Olympic; B. char s7;s=Olympic;C. char *s;s=Olympic; D. char s7;s=Olympic;18 设有定义:double x10,*p=x;,以下能给数组x下标为6的元素读入数据的正确语句是( )A. scanf(%f,&x6);B. scanf(%lf,*(x+6);C. scanf(%lf,p+6);D. scanf(%lf,p6);19 若有定义语句:char s310,(*k)3,*p;,则以下赋值语句正确的是( )A. p=s; B. p=k;C. p=s0; D. k=s;20对如下的结构定义,则正确的语句是( )struct student char name20; char sex; int age; Li;AL=”Li”; BLi=“Li”,M,20; CLi.age=20; Dstruct Li=“Li”,M,20;21有说明 struct char name15,sex; int age;float score;stu,*p=&stu;以下语句中正确的是( )。 Ascanf(“%c”,p-sex); Bscanf(“%s”,);Cscanf(“%d”,stu.age); Dscanf(“%f”,p-score);22下列关于函数定义正确的是( )A. fun(int x,y)int z;return z;B. void fun(int x,int y)return x+y;C. fun(x,y)int x,y;double z;z=x+y;return z;D. double fun(int x,int y) double z;z=x+y;return z;)1程序的运行结果为 void c_d(int a,int n,int *c,int *d);main() int i,a=2,4,1,6,7,32,45,75,45,90,c,d; c_d(a,10,&c,&d); printf(c=%d d=%d,c,d);void c_d(int a, int n, int *c, int *d) int i; *c=*d=a0; for(i=0;in;i+) if(*cai) *d=ai; 2程序的运行结果为 f( int b) static int y=3;return(b+y+);main() int a=2,i,k;for(i=0;i2;i+)printf(“%dt”,f(a);3程序的运行结果为 main() int i=1; while(i5) switch(i+) case 1: case 2: printf(“%d”,i+); default: printf(“ABC”);case 4: printf(“%d”,i+);break; 4程序的运行结果为 int f1(int x) switch(x)case 0: x+=1; break; case 1: x+=2; return x;case 2: x+=3;case 3: x+=4; break;return x; void f2(int *p,int n) int k;for(k=0;kn;k+) pk=f1(k);main()int a4,x;f2(a,4);for(x=0;x4;x+) printf(“%d”,ax);5程序的运行结果为 int y=2;void fun(int y) static int x=2;x=x*y; y=x+y;printf(“%3d%3dn”,x,y); main()int i,x=2;for(i=0;i2;i+) fun(x+y); 6程序的运行结果为 #include #define N 6void main ()int a N=2,-3, 4,5,-6,9, i,s=0,n=0;for (i=0;iN;i+)if(ai0) continue;s=s+ai;n+;printf (“%fn”,s/(float)n);7程序的运行结果为 #includeint fun(int *a,int *b,int c) *a=(*b)*c ;*b=2*c;c=*a+(*b); return(-c); main()int a=1, b=2, c=3, d=4; d=f(&a,&b,c); printf(“%d, %d, %d, %dn”,a,b,c,d);8程序输出结果为 。void fun(char *s1,char *s2) int j;char *p=s1,*q; while(*p) if(*p=0&*p=9) *s2=*p; s2+; q=p; while(*q) *q=*(q+1); q+; else p+; *s2=0;main() char str120=A12D34ef5,str220; fun(str1,str2); printf(%s,%sn ,str1,str2);1编一个程序实现下面的功能:从键盘输入2个字符串,不用系统函数,将第二个字符串连接在第一个字符串后,再输出该字符串。 #include void main() char s80,t40; int i=0,j=0; gets(s); gets(t); while(si) i+; while(tj) si= ;i+;j+;si= ;puts(s); 2 已知:一位数码a 和要组成的最大重码数tn的位数n。求:各重码数的累加和sn =a+aa+aaa+。main() int sn,a,n,i,tn; long sn,tn; scanf(%d%d,&a,&n);for(tn=0,sn=0,i=1;i=n;i+) tn= ; sn+=tn; printf(na+aa+.=%ld, ); 3 用循环语句求下面数列前20项之和。s=2/1+3/2+5/3+8/5+13/8+21/13+void main ( )float s=0,t1,t2,t3;int n=0;t3=2;t2=1;do t1=t3;s+= ; n+; t3= ; t2=t1; while(nt) ; else r=m-1;m=(l+r)/2; if( lnum!=key)&(p-next!=NULL)pre=p; if(p-num= =key) if( )head=head-next;else free(p);else printf(“num=%ld not been found!n”,key);return head; 6有如下结点定义,且已知head指向单链表的表头,函数find在单链表中查找学号为x的学生成绩,如找不到返回值-1。请在空白处填入正确的内容。#include struct student int num; float score; struct student *next;float fi

温馨提示

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

评论

0/150

提交评论