




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、高级语言程序设计总复习,第一章 C语言概述,掌握C语言的基本要素和程序的基本构成 掌握标识符构成规则,熟记关键字。 会用VC编辑、编译和运行简单的程序,共 38 页 第 3 页,C程序的基本结构,main( ) /* 主函数说明 */ 变量定义 /* 主函数体 */ 执行语句组 子函数名1(参数) /* 子函数说明 */ 变量定义 /* 子函数体 */ 执行语句组 子函数名2(参数) /* 子函数说明 */ 变量定义 /* 子函数体 */ 执行语句组,第一章习题,以下叙述中正确的是: A)构成C程序的基本单位是函数 B)可以在一个函数中定义另一个函数 C)main()函数必须放在其它函数之前
2、D)C程序语句以逗号作为结束标志,A,第二章 算法,掌握算法的概念和表示方法 会用流程图描述给定的算法 掌握C程序三大基本结构,一、程序的三种基本结构,特点: 一个入口,一个出口 顺序执行,顺序结构,选择结构,双选择,单选择,功能: 条件为真时执行语句 否则跳过语句,功能: 条件为真时执行语句1 否则执行语句2,多分支,功能: 从多个条件中选择满足的一个执行,循环结构,当型循环,直到型循环,先循环后判断,入口,出口,结构化程序设计的思想和方法: 自顶向下,逐步求精。模块化,第二章习题,算法的_特征是指:一个算法必须在执行有限个操作步骤后终止。 在三种基本结构中,先执行后判断的结构被称为_。 在
3、程序设计中,把解决问题确定的方法和有限的步骤称作为_,第三章 数据类型、运算符、表达式,掌握各类型变量定义方法、所占的空间、 存储形式、取值范围。 掌握各种运算符的功能、优先级和结合 性,掌握各种类型混用时的转换规则。 掌握数学表达式和C语言表达式的转换 重点掌握自增、自减运算符的使用,第三章习题,1、以下字符列中,能作为C程序自定义标识符的是 num(10) file_bak break class + 2 2、下列字符列中,不是C语言提供的合法关键字是 switch begin case default 3、已定义float x=-65.52;则 x0?(int)(x+0.5):(int)
4、(x-0.5)的值为_,66,4、以下选项中合法的用户标识符是(,A)long B)_2Test C)3Dmax 4)A.dat 5、以下选项中合法的实型常数是( ) A)5E2.0 B)E-3 C).2E0 D)1.3E 6、已知大写字母A的ASCII码的码值是65,小写字母a的ASCII码值是97,则用八进制表示的字符常量101是( ) A)字符A B)字符a C)字符e D)非法的字符常量,B,C,A,7、若a 是int 型变量,则表达式 (a=4*5,a*2),a+6的值为( ) 8、若a是int型变量,且a 的初值为6,则计算表达式后a 的值为( ) a+=a-=a*a 9、设a为5
5、,执行下列语句后,b的值不为2的是 b = a/2 b = 6-(-a) b = a%2 b = a 3 ? 3: 2,26,60,第四章 顺序程序设计,掌握语句的概念和赋值语句的使用。 掌握标准输入/输出和字符输入输出函数的使用。熟练使用不同格式符及其参数,C程序基本组成单位是函数,函数由语句组成。C中有四类语句:控制语句、表达式语句,空语句和复合语句。 C程序中出现最多的是赋值语句,它和输入输出结合就能进行顺序结构程序设计。应当注意,赋值运算符左侧代表存储单元,通常是变量,5=a+b;和a+b=5;都是错误的。 C语言没有提供输入输出语句,在标准库函数中提供了一组输入输出函数,本章仅介绍了
6、用于标准输入输出设备的函数:getchar( )、putchar( )用于输入输出一个字符;scanf( )、printf( )用于格式化输入输出各类数据。合理应用格式符,可以使输出规范美观,第四章 习题,1、以下非法的赋值语句是( ) A)n=(I=2,+I); B)j+; C)+(j+1); D)x=j0,C,2、设a和b均为double型变量,且a=5.5,b=2.5,则表达式(int)a+b/b的值是:( ) A)6.500000 B)6 C)5.500000 D)6.000000 3、与数学式子 对应的C语言表达式是:( ) A)3*xn/(2*x-1) B)3*x*n/(2*x-1
7、) C)3*pow(x,n)*(1/(2*x-1) D)3*pow(n,x)/(2*x-1,D,C,4、设有定义:long x=-123456L;则以下能够正确输出变量x值的语句是:( ) A)printf(“x=%dn”,x) B)printf(“x=%ldn”,x); C)printf(“x=%8dLn”,x); D)printf(“x=%LDn”,x,B,5、若有以下程序 main() int k=2,i=2,m; m=(k+=i*=k); printf(“%d,%dn”,m,i); 执行后的输出结果是:( ) A)8,6 B)8,3 C)6,4 D)7,4,第五章选择结构程序设计,根据
8、条件决定执行流程时应使用选择结构。选择结构分为简单分支和多分支,分别用if和switch语句实现。 if语句有3种形式。嵌套if语句也可以实现多分支结构,嵌套if语句中的else与它前面最近的同一复合语句内的不带else的if配对。 switch语句只有与break语句相结合,才能设计出正确的多分支结构程序。break语句的功能是退出它所在的switch语句,它还可以出现在循环语句中。 goto语句可以快速转到任意指定位置执行,但由于其任意性破坏了结构化程序的“自顶向下”的流程,故不提倡使用它,第五章,1、已有定义:int x=3,y=4,z=5;则表达式 !(x+y)+z-1 else if
9、(x=0) y=0; else y=-1; B) y=0; if (x0) y=1; else if(x0) y=-1,C)y=0; if(x=0) if(x0) y=1; else y=-1 D)if(x=0) if(x0) y=1; else y=0; else y=-1,3、以下选项中,与k=n+完全等价的表达式是:( ) A)k=n,n=n+1 B) n=n+1,k=n C) k=+n D) k+=n+1,A,4、有以下程序,Main( ) int a=15,b=21,m=0; switch(a%3) case 0:m+;break; case 1:m+; switch(b%2) de
10、fault:m+; case 0:m+;break; Printf(“%dn”,m); 程序运行后的结果是 ( ) A)1 B)2 C)3 D)4,A,5、以下程序的输出结果是(,Main() int a=4,b=5,c=0,d; d=!a A)1 B)0 C)非0的数 D)-1,A,6、以下程序运行后的结果是_,main() int x=10;y=20;t=0; if (x=y)t=x;x=y;y=t; Printf(“%d,%dn”,x,y);,20,0,第六章 循环程序设计,本章介绍的3种循环语句可以实现同一问题的求解,但它们各有特点。while、for语句属于“先判断,后执行循环”,而
11、do_while语句则“先执行循环,后判断”。 if和goto语句虽然能构造循环结构,但效率不如循环语句,而且goto语句会破坏结构化程序,通常不采用该方法实现循环结构。 break和continue语句能改变循环的执行流程,它们的区别在于: break语句终止整个循环的执行,而continue语句只结束本次循环,并开始下一次循环;break语句还可以出现在switch语句中,而continue语句只能出现在循环体中。 掌握累加、连乘、递推和穷举等基本算法,选择题,1、执行语句 for (i=1;i+3;); 后,变量i的值为_。 A)2 B)3 C)4 D)5 2、循环语句 “for(x=0
12、, y=0; (y!=123) | (x 4); x+);”的循环执行 无限次 不确定次 4次 3次,c,1 以下程序的功能是:按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下,main()int n,k;float score,sum,ave;sum=0.0;for(n=1;n=10;n+) for (k=1;k=4;k+) scanf(“%f,上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确,这条语句是(,A)sum=0.0; B)sum+=score; C)ave=sum/4.0; D)printf(“NO%d:%fn”,n,ave,A,2
13、 有以下程序段,int n=0,p;do scanf(“%d”,此处do while循环的结束条件是( ) A) p的值不等于12345,并且n的值小于3B) p的值等于12345,并且n的值大于等于3C) p的值不等于12345,或者n的值小于3D) p的值等于12345,或者n的值大于等于3,D,3 main() int a=5,b=4,c=6,d; printf(“%dn”,d=ab?(ac?a:c) :(b);A)5B)4 c)6 D)不确定,C,4 以下程序中,while循环的循环次数是(,main() int i=0; while (i10) if(i1) continue; if
14、(i=5) break; i+;A)1 B)10C)6 D) 死循环,不能确定次数,D,5、以下程序的输出结果是(,main() int a=0,i;for (i=1;i5;i+) switch(i) case 0; case 3:a+=2; case 1: case 2:a+=3; default:a+=5; printf(“%dn”,a);A)31 B)13 C)19 D)20,A,6、以下程序的输出结果是(,main() int i=0,a=0; while (i20) for(; ;) if (i%10)=0 break; else i-; i+=11;a+=i; printf(“%d
15、n:,a); A)21 B)32 C)33 D)11,B,7、以下程序运行后的输出结果是( )main() int x=15; while (x10,17,8、以下程序的输出结果是:(,main( ) int s,i; for(s=0,i=1;i3;i+,s+=i); printf(“%dn”,s);,5,9、 有以下程序段,int k=0while(k=1)k+;while 循环执行的次数是( )A) 无限次 B) 有语法错,不能执行C) 一次也不执行 D) 执行1次,A,10、 以下程序执行后sum的值是( )A)15 B)14 C)不确定 D)0,main() int i , sum;
16、for(i=1;i6;i+) sum+=i; printf(%dn,sum,C,11、 有以下程序段,int x=3do printf(“%d”,x-=2); while (!(-x);其输出结果是( ) 1 B) 3 0 C) 1 -2 D) 死循环,C,第七章 数组,数组的基本概念,主要是三个要素:元素是相同的类型,具有有限个成员个数,有序存储。 C一维数组的定义、初始化方式,数组元素引用方法。 二维数组的定义、初始化方式,按行存储方式。 常用数据的排序算法,1、下面程序段的输出结果是( ) Char s=141141abct; Printf(“%dn”,strlen(s); A)9 B)
17、12 C)13 D)14 2、以下程序的输出结果是( ) Main() char ch35=“AAAA”,”BBB”,”CC”; printf (“”%s”n”,ch1); A)”AAAA” B)”BBB” C”BBBCC” D)”CC,A,B,3、有以下程序 main( ) char a=a,b,c,d,e,f,g,h,0);int i,j; i=sizeof(a);j=strlen(a); printf(”%d,%dn”,i,j); 程序运行后的输出结果是( ) A)9,9 B)8,9 C)1,8 D)9,8,D,4、有以下程序 main( ) int aa44=1,2,3,4,5,6,7
18、,8,3,9,10,2,4,2,9,6; int i,s=0; for(i=0;i4;i+) s+=aai1; printf(“%dn”,s); 程序运行后的输出结果是( ) A)11 B)19 C)13 D)20,B,5、有以下程序 #include main() char a =“abcde0fghijk0”; printf(“%dn”,strlen(a); 程序运行以后的输出( ) A)12 B)15 C)6 D)5,D,6 、 下面程序的功能是:将字符数组a中下标值为偶数的元素从小到大排列,其它元素不变。请填空,include #include main() char a=clangu
19、age,t; int i, j, k; k=strlen(a); for(i=0; i=k-2; i+=2) for(j=i+2; j=k ; - ) if(- ) t=ai; ai=aj; aj=t; puts(a); printf(n);,j+=2,aiaj,7、以下程序的输出结果是(,A)1,5,9 B) 1,4,7 C) 3,5,7 D)3,6,9 main() int i, x33=1,2,3,4,5,6,7,8,9;for(i=0;i3;i+) printf(%d,xi2-i,C,8、以下程序的输出结果是(,A) ABCD B) ABCD C) EFG D) EFGH FGH EF
20、G JK IJKL KL IJ O M main( ) char w 10= ABCD,EFGH,IJKL,MNOP,k; for(k=1;k3;k+) printf(%sn,wk,D,9、当执行下面的程序时,如果输入ABC,则输出结果是( )A) ABC6789 B) ABC67 C) 12345ABC6 D) ABC456789 #include stdio.h#include string.hmain() char ss10=1,2,3,4,5;gets(ss); strcat(ss, 6789); printf(%sn,ss,A,10、以下程序的输出结果是(,A) 18 B) 19 C
21、) 20 D)21 main() int a33= 1,2,3,4,5,6 ,i,j,s=0;for(i=1;i3;i+) for(j=0;j=i;j+)s+=aij;printf(%dn,s,A,11、以下不能正确定义二维数组的选项是( D )。 A. int a22=3,1; B. int a2=1,2,3,4; C. int a22=5,6,7; D. int a2=8,9,10,11,一 有关概念,1。 函数是C中的最小功能单位,2。 源文件(*.c)是C中的最小编译单位,3。 程序的运行是从main()开始,4。 主函数main( )的位置是任意的,5。 函数之间是平行的,6。 函数
22、只能嵌套调用,不能嵌套定义,第八章 函数,二 有关函数的类型,1 函数的类型是函数返回值的类型 2 C要求函数定义的类型,说明的类型和函数定义类型一致 3 定义的类型与返回值类型不一致时,以定义为准 4 不定义函数类型,系统认为是int 5 当函数是int ,char型时,可以不作说明 6 无参函数可以不定义类型 7 不需返回任何值时,应定义无类型void,第八章 函数,三 有关函数的参数,1 定义函数时,括号内为形参 2 调用函数时,括号内为实参 3 实参与形参需类型相同,个数相等 4 形参在函数被调用时才分配存储空间,有值 5 实参在主调函数内有值,求值顺序是从右向左 6 实参与形参是单向
23、的数值传递 7 如果实参与形参都是数组名,是地址传递 8 实参数组与形参数组类型相同,元素个数可以不同,第八章 函数,1 函数可以作运算分量,作其他函数的参数,可构成语句 2 函数调用可以嵌套 3 函数中的return语句可以带回一个返回值,五 有关变量,从变量的作用域: 局部变量 全局变量 从变量值保留的期限: 动态存储变量 静态存储变量 从变量的存储位置: CPU寄存器 内存中静态区 内存中动态区,四 有关函数的调用,第八章 函数,共 140 页 第 58 页,六 存储特性总结,定义它的文件(静态全程,第八章 函数,第八章习题,1、以下程序的运行结果是 ( ) main( ) int k=
24、4, m=1, p; p=func(k,m); printf(%d“,p); p=func(k,m); printf(%d n,p); func(int a, int b) static int m=0, i=2; i+=m+1; m=i+a+b; return m;,8 17,int func(int a,int b) return(a+b); main() int x=2,y=5,z=8,r; r=func(func(x,y),z); printf(“%dn”,r); 该程序的输出的结果是( ) A) 12 B) 13 C) 14 D) 15,D,2、有如下程序,3、在C语言中,函数的隐含
25、存储类别是( ) A) auto B) static C) extern D) 无存储类别,A,4、设在主函数中有以下定义和函数调用语句,且fun函数为void类型;请写出fun函数的首部( ) 。要求形参名为b,main() double s1022; int n; fun(s);,void fun(double b1022,5、以下所列的各函数首部中,正确的是( )A) void play(var :Integer,var b:Integer)B) void play(int a,b)C) void play(int a,int b)D) Sub play(a as integer,b a
26、s integer,C,6、以下程序的输出结果是(,A) 0 B) 29 C) 31 D) 无定值 fun(int x, int y, int z) z=x*x+y*y; main( ) int a=31;fun(5,2,a);printf(%d,a,C,7 、以下程序的输出结果是( )A) 1 B) 2 C) 3 D) 4long fun( int n) long s;if(n= =1 | n= =2) s=2;else s=n-fun(n-1);return s; main() printf(%ldn, fun(3);,A,1 编译预处理是在编译之前进行 2 编译预处理是特殊命令,不是语句
27、 3 编译预处理以#开头,结尾无分号 4 宏替换不是赋值,仅替换 5 带参数的宏与函数的区别 6 文件包含不能包含可执行文件和目标文件(只是源程序,第九章 编译预处理,第九章习题,1、 有如下程序 #define N 2 #define M N+1 #define NUM 2*M+1 #main() int i; for(i=1;i=NUM;i+)printf(“%dn”,i); 该程序中的for循环执行的次数是 A) 5 B) 6 C) 7 D) 8,B,2 、以下程序的输出结果是(,16 B) 2 C) 9 D) 1 #define SQR(X) X*Xmain() int a=16, k
28、=2, m=1;a/=SQR(k+m)/SQR(k+m);printf(“%dn,a,B,第十章 指针,指针就是地址 指针可以指向任何数据类型,指向谁,就存谁的地址 必须用地址值为指针变量初始化( 数组元素的指针 *pa ,a10, pa=a, pa+i=a+i=,int,z,3、以下程序的功能是:将无符号八进制数字构成的字符串转换为十进制整数。例如,输入的字符串为:556,则输出十进制整数366。 请填空。 main( ) char *p, s6; int n; p=s; gets(p); n=*p-0; while(_ !=0)n=n*8+*p-0; printf(%d n,n);,p,4
29、、函数 void fun(float *sn, int n)的功能是:根据以下公式计算S,计算结果 通过形参指针sn传回;n通过形参传入,n的值大于等于0。请填空。 1 1 1 1 S=1- + - + 3 5 7 2n+1 void fun( float *sn, int n) float s=0.0, w, f=-1.0; int i=0; for(i=0; i=n; i+) f= _* f; w=f/(2*i+1); s+=w; _ =s;,1,sn,5、以下程序的输出结果是_,main() int x=0; sub(,7,程序运行演示,a=0,n=8,k=1 sub(int *a,in
30、t n,int k) if (k=n) sub(a,n/2,2*k); *a+=k;,a=0,n=4,k=2 sub(int *a,int n,int k) if (k=n) sub(a,n/2,2*k); *a+=k;,a=0,n=2,k=4 sub(int *a,int n,int k) if (k=n) sub(a,n/2,2*k); *a+=k;,a=*a+k *a=0+4=4,a=*a+k *a=4+2=6,a=*a+k *a=6+1=7,6、以下程序中函数sort的功能是对a所指数组中的数据进行由大到小的排序,程序运行后的输出结果是(,void sort(int a,int n)i
31、nt i,j,t; for(i=0;in-1;i+) for(j=i+1;jn;j+) if(aiaj) t=ai;ai=aj;aj=t; main() int aa10=1,2,3,4,5,6,7,8,9,10,i; sort(,1,2,3,8,7,6,5,4,9,10,7、若有说明,int n=2,8p=则以下非法的赋值语句是,A)p=q; B)*p=*q; C)n=*q; D)p=n,D,8、有以下程序,程序运行后的输出结果是(,void fun(char *c,int d) *c=*c+1;d=d+1; printf(%c,%c,*c,d); main() char a=A,b=a; fun(,b,B A,b,9、以下程序中函数reverse的功能是将a所指数组中的内容进行逆置。程序运行后的输出结果是(,22,void reverse(int a ,int n) int i,t; for(i=0;in/2;i+) t=ai;ai=an-1-i;an-1-i=t; main() int b10=1,2,3,4,5,6,7,8,9,10; int i,s=0; reverse(b,8); for(i=6;i10;i+)s+=bi; printf(%dn,s);,10、若有以下定
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年组织毒活苗项目立项申请报告
- 皮瓣患者护理查房
- 甘肃农场经营管理办法
- 甘肃电网风险管理办法
- 生产交易分配管理办法
- 生产防护用具管理办法
- 生态取水许可管理办法
- 生活污水责任管理办法
- 生鲜仓储会员管理办法
- 用户体验登记管理办法
- 中级注册安全工程师《法律法规》试题及答案
- 2025年汽车转向系统行业需求分析及创新策略研究报告
- 2025年四川省成都市高新区事业单位招聘考试综合类面试真题模拟试卷
- GB/T 7251.10-2025低压成套开关设备和控制设备第10部分:规定成套设备的指南
- 2025年秋统编版语文二年级上册全册课件(课标版)
- 七下期末人教版数学试卷
- 2025新疆巴音郭楞州和硕县面向社会招聘社区工作者7人笔试参考题库附答案解析
- 2025年六安市裕安区石婆店镇公开招考村级后备干部8名笔试备考试题及答案解析
- 2025年事业单位考试题库及参考答案
- 2025年公安机关人民警察(基本级)执法资格等级题库及答案
- 物流客服培训课件
评论
0/150
提交评论