辽工大c语言总复习.ppt_第1页
辽工大c语言总复习.ppt_第2页
辽工大c语言总复习.ppt_第3页
辽工大c语言总复习.ppt_第4页
辽工大c语言总复习.ppt_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

总复习,考试安排,考试时间 2010.6.28 19:0021:00 考试地点 尔雅201、205、209,笔试:100分 时间:120分钟,考试方法,选择题:20分 填空题:20分 3.编程题:60分,考题类型,考试范围,1.提高部分不在考试范围内 2.强调属于重点考查的范围,应熟练掌握 3.其他未特别说明而上课讲过的部分都属考试范围,1. C语言概述,C语言的特点 C程序的基本结构 运行C程序的方法和步骤,2. 数据类型、运算符和表达式,数据类型、常量和变量的定义 标识符的命名规则 运算符的种类、优先级和结合方向 表达式的类型和求值 算术、关系、逻辑、条件、逗号表达式 注意运算符的优先级、结合方向 注意整数除法、%、+、-、,3. 顺序程序设计,算法是程序的灵魂 程序的三种基本结构 赋值表达式和赋值语句 基本输入与输出 字符数据的输入输出 用putchar函数输出一个字符 用getchar函数输入一个字符 格式化输入输出 用printf函数输出数据 用scanf函数输入数据,4. 选择结构程序设计,条件判断 用if语句实现选择结构 1、if (表达式) 语句 2、if (表达式) 语句1 else 语句2 3、使用嵌套的if语句实现多层判断 switch语句(对于多条件的选择) 可使用break语句实现真正的多路分支,5.循环结构程序设计,C语言可实现循环的语句 用goto 和 if 构成循环 while 语句 do while 语句 for 语句 for循环的嵌套(要求掌握两层) 提前结束循环 用break语句提前退出循环 用continue语句提前结束本次循环,6. 利用数组处理批量数据,一维数组的定义和引用 二维数组的定义和引用 三维以上数组不作要求 字符数组 字符串处理函数 数组类型的应用 冒泡排序、简单选择排序,7. 用函数实现模块化程序设计,函数定义的一般形式 函数参数及其传递方式 函数的返回值 对被调用函数的声明 数组作为函数参数 函数的嵌套调用和递归调用 不考编程 变量的存储属性 局部变量、全局变量及动态和静态存储变量 内部函数和外部函数 (不作要求),8. 指针,指针概念 &与*运算符 指针变量的定义及初始化 指针变量必须先赋值,再使用 指针变量作为函数参数(地址传递) 指针与数组 指针的运算 通过指针引用数组元素 指针与字符串,9. 结构体,结构体类型的定义 定义结构体类型变量的方法 先声明结构体类型再定义变量名 在声明类型的同时定义变量 不指定类型名直接定义结构体类型变量 结构体变量的初始化 结构体数组和应用 指向结构体类型数据的指针 用结构体变量和指向结构体的指针作函数参数,10. 文件,文件类型指针 文件的打开与关闭 文件的读写 文件的定位 (不作要求),第一部分,选择题,1、 设有说明语句 int k,i=5,j=10;,则表达式 k=(+i)*(j-)的值是 A) 50 B) 60 C) 45 D) 55 2、 假设所有变量均为整型,则表达式(a=2, b=5, b+, a+b)的值是 A) 7 B) 8 C) 6 D) 2 3、 下列选项不正确的实型常量是 A) 0.23E1 B) 2.3E-1 C) 1E3.2 D) 2.3E0 4、 表达式的值为0的是 A) 3%5 B) 3/5.0 C) 3/5 D) 35,B,B,C,C,5、判断char型变量c1是否为小写字母,正确表达式为 A) a = a)&(cl=cl)|( z=a)&(cl=z) 6、在C语言中,char型数据在内存中的存储码的形式是 int型和float型是补码! A) 原码 B) 补码 C) ASCII码 D) 反码,D,C,7、以下程序的运行结果是 ? main() int a=1,b=0; switch(a) case 1: switch(b) case 0: printf(“0000n“); case 1: printf(“1111n“);break; case 2:printf(“2222n“);break; A) 0000 B)0000 C) 0000 D) 1111 1111 1111 2222 2222 2222,B,8、以下程序运行后,输出的结果是 func(int a) static int m=0; m += a; return( m ); main() int k=4, p; p=func(k); printf(“%d,“, p); p=func(k); printf(“%dn“, p); A) 4,4 B) 0,4 C) 4,8 D) 8,8,C,9、若执行以下程序时从键盘上输入9,则输出结果是 main( ) int n; scanf(“%d“, A) 11 B) 10 C) 9 D) 8,B,10、以下程序的运行结果是 main() void change_p( ); int *p,a=1,4,7,10; p= A) 7 B) 8 C) 5 D) 6,D,11、下面程序的运行结果是 #include main() int x, y=1; if (y!=0) x=5; printf(“%d”, x); if (y = = 0) x=3; else x=5; printf(“%dn”, x); A) 13 B) 35 C) 53 D) 55 12、设有:int a=1,b=2,c=3,d=4,m=2,n=2; 求执行(m=ab)&(n=cd)后n的值 A)0 B)2 C) 1 D) 4,D,B,13、若int型变量占两个字节,若有定义: int x10=0,2,4;则数组x在内存中所占字节数是 A)3 B)6 C)10 D)20 14、以下程序的输出结果是 int f(int x) return(x*x); main() int a=8,b=4,c ; c=f(a)/f(b) ; printf(“%dn”,c); A) 4 B) 8 C) 64 D) 16,D,A,15、以下程序的输出结果是 main() int n4=0, 0, 0, 0; int i; for(i=1; i4; i+) if(i=3) break; ni=ni-1+1; printf(“%d,%dn“, ni-1, ni); A) 4,3 B) 3,2 C) 2,1 D) 2,0,D,16、若有定义 int a7=12,10, *p=a; 则对数组元素a5地址非法引用的是 A) x=10,y=20,z=30 x=20,y=30,z=20 x=20,y=30,z=10 x=20,y=30,z=30,D,C,18、以下程序的输出结果是 main() int i,j,x=0; for(i=0;i2;i+) x+; for(j=0;j3;j+) if(j%2) continue; x+; x+; printf(“x=%dn”,x); (A) x=4 (B) x=8 (C) x=6 (D) x=12,B,19、C 语言中下列叙述正确的是 A) 实参与其对应的形参占用同一个的存储空间。 B) 形参是虚拟的,不占存储单元。 C) 实参与其对应的形参分别占用不同的存储空间。 D) 只有当实参与其对应的形参同名时,才共用同一个存储单元。 20、对两个数组a和b进行如下初始化, 则以下叙述 正确的是 char a=“ABCDEF“; char b=A,B,C,D,E,F; A) a与b数组完全相同 B) a与b长度相同 C) a和b中都存放字符串 D) a数组比b数组占用内存大,C,D,21、以下程序的输出结果是 #include “stdio.h” void main() int a=2,b=-1,c=2; if(ab) if(b0) c=0; else c+; printf(“%dn”,c); (A) 0 (B) 1 (C) 2 (D) 3,C,22、假定a和b为int型变量,则执行以下语句后 b的值为 a=1; b=10; do b-=a; a+; while(b-0); (A)9 (B) -2 (C) -1 (D) 8 23、在函数调用过程中,如果函数funA调用 函数 funB,函数funB又调用了函数funA,则 A)称为函数的直接递归调用 B)称为函数的间接递归调用 C)称为函数的循环调用 D)C语言中不允许这样的递归调用,D,B,24、在一个C程序中 main函数必须出现在所有函数之前 main函数可以在任何地方出现 main函数必须出现在所有函数之后 main函数必须出现在固定位置 25、如果在一个函数的复合语句中定义了一个变量,那么该变量 A) 只在复合语句中有效,在复合语句外无效。 B) 定义无效。 C) 在本程序的源文件范围内有效。 在该函数的任何位置有效。 26、有以下二维数组说明,则正确的引用是 int aa44; A) aa14 B) aa43 C) aa44 D) aa23,B,A,D,27、以下程序的输出结果是 main() int i,j,m=0,n=0; for(i=0;i=i) m=1; n+; printf(“%d”,n); (A)4 (B) 2 (C) 1 (D) 0,C,28、要求以下程序的功能是计算: s= 1+1/2+1/3+1/10 main() int n; double s; s=1.0; for(n=10;n1;n-) s=s+1/n; printf(“%6.4fn“,s); 程序运行后输出结果错误,导致错误结果的 程序行是 A)s=1.0; B)for(n=10;n1;n-) C)s=s+1/n; D)printf(“%6.4fn“,s);,C,29、C语言中函数返回值的类型是由 决定的。 A)return语句的表达式类型 B)调用函数时临时指定 C)对被调用函数声明时指定 D)定义函数时所指定的函数类型 30、有定义语句:int x, y;,若要通过scanf(“%d,%d”,语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,错误的是 A)11 12 B)11, 12 C)11,12 D)11,12,D,A,第二部分,填空题,1、以下程序的输出结果是 main() int n; for(n=10;n30;n+) if (n%5!=0) continue; printf(“%d ”, n); 2、以下程序的运行结果是 main( ) int i=5; printf(“%d”,sub(i); sub(int n) int a; if(n=1) return 1; a=n+sub(n-1); return(a); ,10152025,15,3、以下程序的输出结果是 main() int arr=30,25,20,15,10,5,*p=arr; p+; printf(“%dn“,*(p+4); 4、以下程序的输出结果是 main( ) int a,b,*pa= ,5,10,10,876,6、以下程序的运行结果是 #include “stdio.h” void 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; printf(“a=%d,b=%dn”,a,b); ,a=2,b=1,7、以下程序的运行结果是 main() char m; m=B+32; printf(“%cn“,m); 8、若有语句 int i=-19,j=i%4; printf(“%dn”,j); 则输出结果是 9、若有程序 main( ) int i,j; scanf(“i=%d,j

温馨提示

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

评论

0/150

提交评论