二级c语言笔试考前突击讲座ppt.ppt_第1页
二级c语言笔试考前突击讲座ppt.ppt_第2页
二级c语言笔试考前突击讲座ppt.ppt_第3页
二级c语言笔试考前突击讲座ppt.ppt_第4页
二级c语言笔试考前突击讲座ppt.ppt_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

1、二级C等级考试讲座,夏欣,讲座内容,循环结构中的相关问题 数组 函数 文件,循环结构,三种循环语句: while语句 do-while语句 for语句 两种对循环流程进行改变的语句 break语句 continue语句 循环嵌套,容易出错的问题,循环条件 可以是任意表达式,只要能作出0和非0的判断 尤其注意:“”和“”的区别 break对循环流程的改变 只能跳出本层的循环或switch语句 常见题目,1. 以下不构成无限循环的语句或语句组是: A.n=0; B. n=0; do+n;while(n=0); while(1) n+; C. n=10; D. for(n=0,i=1; ;i+) w

2、hile(n);n-; n+=i; 答案:A,2. #include main( ) int x=8; for( ; x0; x-) if(x%3) printf(“%d,”,x-); continue; printf(“%d,”,-x); 程序的运行结果是: A. 7,4,2 B. 8,7,5,2 C. 9,7,6,4 D.8,5,4,2, 答案:D,数组,重点: 一维整型数组 一维字符型数组 一维数组与指针的联系 数组名作为函数参数进行传递(形参数组和实参数组之间的关系) 数组、指针最为函数参数进行传递 二维数组两维下标的不同变换 二维数组与指针,1.有以下程序: #include mai

3、n( ) int a =1,2,3,4,y,*p= 程序的运行结果为: A. y=0 B. y=1 C. y=2 D. y=3 答案:D,2. 有以下程序 #include main( ) int s12=1,2,3,4,4,3,2,1,1,1,2,3,c5=0,i; for(i=0;i12;i+) csi+; for(i=1;i5;i+) printf(“%d”,ci); printf(“n”); 程序的运行结果为: A. 1 2 3 4 B. 2 3 4 4 C. 4 3 3 2 D. 1 1 2 3 答案:C,3. 有以下程序 #include void fun(int *s,int n

4、1, int n2) int i,j,t; i=n1; j=n2; while(ij) t=si; si=sj; sj=t; i+,j-; main( ) int a10=1,2,3,4,5,6,7,8,9,0,k; fun(a,0,3); fun(a,4,9); fun(a,0,9); for(k=0;k10;k+) printf(“%d”,ak); 程序运行结果为: 0987654321 B. 4321098765 C. 5678901234 D. 0987651234,答案:C,4. 下面程序的输出结果为: #include #include main( ) char s10=“abcd

5、efg”,*sp=s; sp=sp+1; sp=“hh”; puts(s); 答案:abcdefg,5. 有以下程序 #include #include void fun(char *s,int n) char *t; int i,j; for(i=0;istrlen(sj) t=si; si=sj;sj=t; main( ) char *ss=“bcc”,”bbcc”,”xy”,”aaaacc”,”aabcc”; fun(ss,5); printf(“%s,%sn”,ss0,ss4); 程序运行结果为: A.xy,aaaacc B. aaaacc,xy C. bcc,aabcc D.aabc

6、c,bcc,答案:A,6. 有以下程序: #include void fun(char *a,char *b) while(*a=*) a+; while(*b=*a) b+; a+; main( ) char *s=“*a*b*”,t80; fun(s,t); puts(t); 程序的运行结果是 A. *a*b B. a*b C. a*b* D. ab 答案:C,7. 以下程序的功能是:求出数组x中各相邻两个元素的和依次存放到a数组中,然后输出。 #include main( ) int x10,a9,i; for(i=0;i10;i+) scanf(“%d”, 答案:(1)i=1 (2)x

7、i-1,难点: 指向一维数组的指针变量 定义为:int a23,(*p)3; 指针数组 定义为:int a23,*p2; 两者均可与二维数组联系,使用区别: int a23,(*p)3,i,j; int a23,*p2,i,j; p=a; for(i=0;i2;i+) aij可表示为pij pi=ai; 或*(*(p+i)+j) aij可表示为pij 或*(*(p+i)+j),函数,重点与难点 传值调用(实参与形参之间发生单向值传递) 传址调用(可直接到相应地址的内存中修改变量的值) 数组名或指向数组的指针作为函数参数进行传递 函数的返回值是指针 函数的递归调用 变量的存储类型,1. 以下程序

8、的输出结果是: #include void swap(int *a,int *b) int *t; t=a; a=b; b=t; main( ) int i=3,j=5,*p= 答案:3 5,#include void fun(int a,int b) int t; t=a; a=b; b=t; main( ) int c10=1,2,3,4,5,6,7,8,9,0,i; for(i=0;i10;i+=2) fun(ci,ci+1); for(i=0;i10;i+) printf(%d,ci); printf(n); ,A.1,2,3,4,5,6,7,8,9,0 B.2,1,4,3,6,5,8

9、,7,0,9 C.0,9,8,7,6,5,4,3,2,1 D.0,1,2,3,4,5,6,7,8,9,答案:A,有以下程序: #include #include typedef struct char name9; char sex; float score2; STU; void f(STU a) STU b=“Zhao”,m,85.0,90.0; int i; strcpy(,); a.sex=b.sex; for(i=0;i2;i+) a.scorei=b.scorei; main( ) STU c=“Qian”,f,95.0,92.0; f(c); printf

10、(“%s,%c,%2.0f,%2.0f”, ,c.sex,c.score0,c.score1); ,Qian,f,95,92 Qian,m,85,90 Zhao,f,95,92 Zhao,m,85,90,答案:A,有以下程序: #include #include typedef struct char name9; char sex; float score2; STU; void f(STU *a) STU b=“Zhao”,m,85.0,90.0; int i; strcpy(a-name,); a-sex=b.sex; for(i=0;iscorei=b.scor

11、ei; main( ) STU c=“Qian”,f,95.0,92.0; f( ,Qian,f,95,92 Qian,m,85,90 Zhao,f,95,92 Zhao,m,85,90,答案:D,2. 以下程序运行后的输出结果是: #include char *ss(char *s) char *p,t; p=s+1; t=*s; while(*p) *(p-1)=*p; p+; *(p-1)=t; return s; main( ) char *p, str10=“abcdefgh”; p=ss(str); puts(p); ,答案:bcdefgha,3. 有以下程序: #include

12、int f(int x) int y; if(x=0|x=1) return (3); y=x*x-f(x-1); return y; main( ) int z; z=f(3); printf(“%dn”,z); 程序的运行结果是: A. 0 B. 9 C. 6 D. 8 答案:D,4. 有以下程序: int a=4; int f(int n) int t=0; static int a=5; if(n%2) int a=6; t+=a+; else int a=7; t+=a+; return t+a+; main( ) int s=a,i=0; for(; i2;i+) s+=f(i);

13、 printf(“%dn”,s); ,A. 24 B. 28 C. 32 D. 36,答案:B,文件,文件的基本概念 文件指针的定义:FILE *fp; 文件的打开:fopen函数的使用 文件的关闭:fclose函数的使用 文件的读写: fgetc和fputc fscanf和fprintf 文件的定位: rewind函数 fseek函数 文件指针测试函数:feof函数的使用,fgets和fputs fread和fwrite,1. 有以下程序 #include main( ) FILE *fp; int a10=1,2,3,i,n; fp=fopen(“d1.dat”,”w”); for(i=0;i3;i+) fprintf(fp,”%d”,ai); fprintf(fp,”n”); fclose(fp); fp=fopen(“d1.dat”,”r”); fscanf(fp,”%d”, 程序运行结果是: A. 12300 B. 123

温馨提示

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

评论

0/150

提交评论