C语言程序设计复习大纲20081225_第1页
C语言程序设计复习大纲20081225_第2页
C语言程序设计复习大纲20081225_第3页
C语言程序设计复习大纲20081225_第4页
C语言程序设计复习大纲20081225_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

各位同学圣诞节快乐!期末取得好成绩!1精选课件1.基本要求熟练掌握C语言的基本知识具备基本的C程序设计能力,能熟练地阅读、理解和编制简短的C程序。C语言程序设计总复习2精选课件2.基本内容2.1数据的定义2.2运算及流程控制2.3程序结构和函数2.4常用算法3精选课件2.1数据的定义数据的定义包括数据类型和存储类别1、基本类型基本类型指整型、实型和字符型(主要是int,float,double,char;还包括long,unsigned,short)4精选课件(1)常量熟练掌握各种表示形式的整数、实数、和字符(串)常量,符号常量的定义和使用。包括整数的十进制、八进制和十六进制的表示形式、长整型常量的表示形式,实数的浮点表示法和科学记数法,字符的转义序列(2)变量熟练掌握变量的定义和初始化5精选课件2、构造类型构造类型包括数组和结构(1)数组熟练掌握一维和二维数组的定义和初始化,数组元素的引用。包括一维字符数组和字符串,二维字符数组和字符串数组6精选课件数组定义为inta[3][2]={1,2,3,4,5,6},数组元素

的值为6。不正确的赋值或赋初值的方式是______。A、charstr[]="string";B、charstr[7]={'s','t','r','i','n','g'};C、charstr[10];str="string";D、charstr[7]={'s','t','r','i','n','g',’\0’};表达式strcmp(“box”,“boss”)的值是一个____.A、正数B、负数C、0D、不确定的数a[2][1]7精选课件#include<stdio.h>inta[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};voidmain(){ints,k;for(s=0,k=0;k<3;k++)s+=a[k][k];printf("%d--",s);for(s=0,k=0;k<3;k++)s+=a[k][3-k];printf("%d--",s);}

18--21--8精选课件3、指针(1)熟练掌握指针和地址的概念(2)熟练掌握指针变量的定义和初始化(3)熟练掌握通过指针引用指向实体9aint*pa,a;pa=&a;printf("%d,%d",*pa,a);printf("%x,%x",pa,&a);pa20009精选课件若变量已正确定义并且指针p已经指向某个变量x,则(*p)++相当于_____。A、p++B、x++C、*(p++)D、&x++若p1、p2都是整型指针,p1已经指向变量x,要使p2也指向x,_____是正确的。A、p2=p1;B、p2=**p1;C、p2=&p1;D、p2=*p1;10精选课件下列语句定义pf为指向float类型变量f的指针,_____是正确的。A、floatf,*pf=f;B、floatf,*pf=&f;C、float*pf=&f,f;D、floatf,pf=f;对于如下说明,语法和语义都正确的赋值是_____。intc,*s,a[]={1,3,5};A、c=*s;B、s[0]=a[0];C、s=&a[1];D、c=a;11精选课件4、构造类型和指针类型的混合定义及应用(1)熟练掌握指针、数组和地址间的关系intc[]={1,3,5};int*k=c+1;printf("%d",*++k);charstr[]="hello\tworld\n";printf("%c\n",*(str+10));5d12精选课件(2)熟练掌握指针数组写出下列程序段的输出结果。char*st[]={"one","two","three","four"};printf("%s\n",*(st+3)+1);our13精选课件5、变量的存储类别、作用域和生存期(1)掌握变量的存储类别auto自动型、static静态型、extern外部参照型(2)掌握全局变量和局部变量注意区分:自动局部变量和静态局部变量、全局变量和静态全局变量、外部变量14精选课件C语言中,形参的缺省的存储类说明是______。A、autoB、staticC、registerD、extern15精选课件对于以下函数f,计算f(f(2))的值。

intf(intx){staticintk=0;x+=k++;returnx;}316精选课件2.2运算及流程控制1、基本运算熟练掌握运算符的功能熟练掌握运算符的优先级、结合性和目数熟练掌握隐式类型转换和强制类型转换2、表达式熟练掌握各类表达式的组成规则和计算过程17精选课件若变量已正确定义且k的值是4,计算表达式(j=k--)后,j和k的值分别是_____。已知字符‘a’的ASCII码为97,执行下列语句的输出是_____。printf("%d,%c",’b’,’b’-1);4和398,a18精选课件判断i和j至少有一个值为非0的表达式是_____。A、i!=0&&j!=0B、i||jC、!(i==0||j==0)D、i&&j19精选课件若x是单精度实型变量,表达式(x=10/4)的值是_____。A、2.5B、2.0C、3D、2写出下列程序段的输出结果。floatx1,x2;x1=3/2;x2=x1/2;printf("%d,%.1f",(int)x1,x2);1,0.520精选课件下列运算符中,优先级最低的是_____。A、*B、!=C、+D、=算术运算符、赋值运算符和关系运算符的运算优先级按从高到低的顺序依次为_____。A、算术运算、赋值运算、关系运算B、关系运算、赋值运算、算术运算C、算术运算、关系运算、赋值运算D、关系运算、算术运算、赋值运算21精选课件3、语句(1)熟练掌握表达式语句、空语句、复合语句;(2)熟练掌握简单控制语句

break、continue、return(3)熟练掌握选择控制语句if、switch(4)熟练掌握重复控制语句

for、while、do—while22精选课件C语言程序的三种基本结构是顺序结构、选择结构和______结构。A、循环B、递归C、转移D、嵌套23精选课件写出下列程序段的输出结果。

charc,k;c=’b’;k=4;switch(c){

case‘a’:k=1;case‘b’:k=2;case‘c’:k=3;}printf("%d\n",k);324精选课件写出下列程序段的输出结果。intk,x;for(k=0,x=0;k<=9&&x!=10;k++)x+=2;printf("%d,%d",k,x);5,1025精选课件输入12345#后,写出下列程序的输出结果。voidmain(){charc;for(c=getchar();getchar()!=’#’;c=getchar())putchar(c);

}intk;char*s=“ABC”;for(k=10;k!=0;k--);printf("%d",k);while(*s++)putchar(*s);1,30BC26精选课件2.3程序结构和函数1、程序结构熟练掌握main函数与其他函数之间的关系包括标准库函数和自定义函数27精选课件2、函数的定义(1)熟练掌握函数的定义格式(2)熟练掌握函数的参数(形式参数和实在参数)及参数传递,包括指针作为函数的参数(3)熟练掌握函数的返回值28精选课件要调用数学函数时,在#include命令行中应包含_____。A、”stdio.h”B、”string.h”C、”math.h”D、”ctype.h”在C语言程序中,若对函数类型未加显式说明,则函数的隐含类型是

.int29精选课件intz;voidp(int*x,inty){++*x;y--;z=*x+y+z;printf("%d,%d,%d#",*x,y,z);}voidmain(){intx=1,y=5,z=9;p(&x,y);printf("%d,%d,%d#",x,y,z);}2,4,6#2,5,9#30精选课件3、函数的调用(1)函数调用的一般格式(2)掌握函数的嵌套调用和递归调用31精选课件

intf(intk){return((k<0)?1:f(k-2)+2);}532精选课件输入m和n(m≥n≥0)后,计算下列表达式的值并输出。

m!n!(m-n)!要求将计算阶乘的运算写成函数fact(n),函数返回值的类型为float。33精选课件#include<stdio.h>floatfact(intk);voidmain(){intm,n;scanf("%d%d",&m,&n);printf("%f\n",fact(m)/fact(n)/fact(m-n));}34精选课件floatfact(intk){floaty=1;inti;for(i=2;i<=k;i++)y*=i;returny;}35精选课件1、熟练掌握编译预处理的基本概念2、掌握宏定义3、掌握文件包含写出下列程序段的输出结果。#defineT16#defineS(T+10)-7printf("%d\n",S*2);1236精选课件以下说法中正确的是()

A)C语言程序总是从第一个定义的函数开始执行

B)在C语言程序中,要调用一个定义的函数必须在main()函数中定义

C)C语言程序总是从main()函数开始执行

D)C语言程序中的main()函数必须放在程序的开始部分37精选课件

以下叙述中正确的是()

A)C程序中注释部分可以出现在程序中任意合适的地方

B)花括号“{”和“}”只能作为函数体的定界符

C)构成C程序的基本单位是函数,所有函数名都可以由用户命名

D)分号是C语句之间的分隔符,不是语句的一部分

38精选课件例1、以下选项中不正确的整型常量是_____A、0x1B、01C、20L例2、以下选项中不正确的字符常量是_____A、’\t’B、’a’C、”1”D、‘1’例3、已知i、j、k为int型变量,若从键盘输入:1,2,3〈回车〉,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是()

A)scanf("%2d%2d%2d",&i,&j,&k);B)scanf("%d%d%d",&i,&j,&k);C)scanf("%d,%d,%d",&i,&j,&k);D)scanf("i=%d,j=%d,k=%d",&i,&j,&k);D、12.34D、12.34C、”1”39精选课件例4.若有以下程序:main(){intk=2,i=2,m;m=(k+=i*=k);printf("%d,%d\n",m,i);}

执行后的输出结果是()

A)8,6

B)8,3

C)6,4

D)7,4例5.以下4个选项中,不能看作一条语句的是()

A){;} B)a=0,b=0,c=0;

C)if(a>0); D)if(b==0)m=1;n=2;40精选课件运行结果:6,11输入:6,11swap(int*p1,int*p2){int*p;p=p1;p1=p2;p2=p;}main(){inta,b;int*pointer_1,*pointer_2;scanf("%d,%d",&a,&b);

pointer_1=&a;pointer_2=&b;if(a<b)swap(pointer_1,pointer_2);printf("%d,%d",*pointer_1,*pointer_2);}41精选课件#include"stdio.h"voidmain(){inta=3,b=4;printf("%d\n",(a=b,b,a+3));/*输出序列是一个逗号表达式*/printf("%d\n",a=b,b,a+3);/*输出第一个参数变量a的值*/}输出结果为:

7442精选课件例4、表达式(2==2==2)的值为_____。例5、下列程序段的输出是_____。intk,a=1,b=2;k=(a++==b)?2:3;printf("%d",k);0343精选课件例、写出下列程序段的输出结果。intz;voidp(int*x,inty){*x=10;y=50;z=1;printf("%d,%d,%d",*x,y,z);}voidmain(){intx=1,y=5,z=9;p(&x,y);printf("%d,%d,%d",x,y,z);}10,50,110,5,944精选课件以下函数用于找出一个n×4矩阵中的最大元素。请填空。max_value(intarr[][4],intn){inti,j,max;max=arr[0][0];for(i=0;

;i++)for(j=0;

;j++)if(arr[i][j]>max)max=

;returnmax;}i<nj<4arr[i][j]

45精选课件编写一个函数s

温馨提示

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

评论

0/150

提交评论