12C语言期末复习资料_第1页
12C语言期末复习资料_第2页
12C语言期末复习资料_第3页
12C语言期末复习资料_第4页
12C语言期末复习资料_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、12级C语言期终复习资料 一选择题 1. C语言源程序的基本单位是( A过程 B函数 C子程序 D标识符 2. 下列程序的输出结果是( mai n() int a=7,b=5; prin tf(”dn,b=b/a); D不确定值 3. 假设变量a,b均为整型,表达式 (a=5,b=2,ab?a+:b+,a+b)的值是( 4、C程序的执行特点是 A、从程序的main函数开始,到程序的最后一个函数结束 B、从程序的第一个函数开始,到程序的最后一个函数结束 C、 从程序的main函数开始,到程序的main函数结束 D、 从程序的第一个函数开始,到程序的main函数结束 5、字符型(char)数据在微

2、机内存中的存储形式是 C、补码 A、EBCDIC 码B、ASCII 码 6、以下不合法的用户标识符是 A、W32 KER B、double ASA4 D、反码 _10_ 7.设a为int型变量,执行下列赋值语句后, a的取值分别是( a=52; D 125.534,2,20 a=125.534; a=(i nt)125.521%4; A 125,31,1 B 125,1,20 C 125,31,20 8. 设有如下程序段,下面描述中正确的是 int k=10; while(k=0) k=k-1; A循环执行一次B循环是无限循环C循环体语句一次也不执行D循环体语句执行一 9. 以下程序的输出结果

3、为( int i; void prt() for(i=5;i8;i+)prin tf(%c,*); prin tf(t); mai n() for(i=5;ib) do x=x*x; while(!x); A、循环体将执行一次 C、循环体将执行无限次 27、设有定义: B、循环体将执行两次 D、系统将提示有语法错误 int a10;以下对a数组元素正确引用的是 C、a(5) A、a10B、a3,5 若用数组名作为函数的实参,传递给形参的是 A、数组的首地址 C、数组中全部元素的值 D、a10-10 28 B、数组第一个元素的值 D、数组元素的个数 32、 A) B) C) D) 33、 34、

4、 有以下程序 void mai n() int a10=1,2,3,4,5,6,7,8,9,10; int *p=int *q=p+2; printf ( %dn, *p +*q ); 程序运行后的输出结果是 _ A)16B)10 多选题以下程序段执行后, A) B) C) D) C)8 a的值为1的是一 int a=0,b=1,c; b=c;b=a;c=a; int a=0,b=1; a=a+b;b=a-b;a=a-b; int a=0,b=1,c; c=a;a=b;b=c; int a=0,b=1,c; c=a;b=a;b=c; 29、 C语言允许函数类型缺省定义,此时函数值隐含的类型是

5、A、 float B、 intC、 long D、 double 30、 若有语句:char *line51:,以下叙述中正确的是 A) 疋义line 是- 一个数组,每个数组元素是一 -个基本类型为 char的指针变量 B) 疋义line是 一个指针变量,该变量可以指向一个长度为 5的字符型数组 C) 定义line 是- 一个指针数组,语句中的 *号称为间址运算符 D) 定义line 是- 一个指向字符型函数的指针 31、 若有定义 “int x5=1,2,3,4,6; int *p= ,则以下表达式中值为 4的是 A) *(p+2) B) *(p+1) C) p+1 D) *p+2 下列字

6、符数组初始化语句中,正确的是 char c311=Ch in a, Gua nzhou, Uni versity; char c410=Chi na, Gua nzhou, Uni versity; char c310=Chi na, Gua nzhou, Uni versity; char c411= Chi na, Gua nzhou, Uni versity; 35、 多选题以下叙述中正确的是 A) B) C) 在一个函数内定义的变量只在本函数范围内有效 在不同的函数中可以使用相同名字的变量 在一个函数内的复合语句中定义的变量在本函数范围内有效 D)函数中的形式参数是局部变量 A) B)

7、 C) D) 36、多选题以下不能对数组a进行正确初始化的语句是 int a=; int a4=1,2,3; int a6=0,1,2,3,4; int a=1; 37、多选题下述对C语言字符数组的描述正确的是 A) B) C) D) 不可以用关系运算符对字符数组中的字符串进行比较 字符数组可以存放字符串 字符数组中的字符串可以整体输入、输出 可以在赋值语句中通过赋值运算符=对字符数组整体赋值 38、多选题若有定义int y =0,1,2,3,4,5; int *p =y ,则对y数组元素地址的正确引用是 则表达式 x+a%3*(int)(x+y)%2/4 的值是 _ 6、 C语言程序设计的基

8、本单位是 7、下面程序段中while循环语句执行 n=11; while( n=0) +n; 运算,使得x中的 8、设二进制x的值是11001101, y的值是00001111,可通过 低4位不变,高4位清零。 9、 有以下语句段:int n1=15, n2=30 ; printf (,” n1, n2); 要求按以下格式输出n1, n2的值,每个输出行从第一列开始,请填空。 n1=15 n 2=30 10、设int b=3;则表达式b4的值是. 11. 有一个3*4矩阵,求其中的最大元素。 max_value( (1) int array34(int array4) max=array00;

9、 for(i=0;i3;i+) for(j=0;jmax) max=arrayij; (2); return(max) mai n() int a34, i,j; for(i=0;i3;i+) for(j=0;j4;j+) (3); scanf( “ d”, 12.输入x、 y两个整数,按先大后小的顺序输出 #in clude“ stdio.h ” mai n() int x,y, * px,* py, (4) scanf( “ %d%d ”, (5) (6) if(xy) p=p x;px=p y;py=p; printf( “x=%d,y=%dn ”,x,y); printf( “ MAX

10、=%d,MIN=%dn ”,*px,*py); 三、阅读程序,写结果 1、以下主程序的输出结果是 void mai n() int a=1,2,3,4,5,6, * p,*q; p=a; q= printf( %d,%dn”,*(p+),*q); 2、以下函数与主程序 void swa p( char *x, char *y) char t; t=*x; .。 *x=*y; *y=t; void mai n() char *s1=abc,*s2=123; swap(s1, s2); printf(” s,% s n, s1, s2); 程序执行后的输出结果是 3.float average (

11、float array10) int i; float aver,sum=array0; for (i=1;i10;i+) sum=sum+arrayi; aver=sum/10; return(aver); mai n() float score10 = 89,67.5,78,91,56,82.5,65,70,79,88,aver; int i; aver=average (score); printf ( “average score is %5.2fn” ,aver); 程序执行后的输出结果是 4. mai n() char a5= A , B , C , D : E ,*p=a,*pa

12、; for(p=0;p a+5 ;p+) printf( “ %2c”,*p); prints “n” ); printf( “ %2cn” ,*(pa= 程序执行后的输出结果是 5、以下程序的输出结果是 void mai n() 9 , 3 , 4, 8 , 5, 6, 7 , i, s=0; s+=aii; int a33=1, 2, for(i=0 ; i3 ; i+) printf(” % drr , s); 6、 以下程序运行后的输出结果是一 void mai n() int a=1, b=2, c=3; if(c=a) printf ( %dn, c); else printf (

13、 %dn, b); 7、以下程序段的运行结果是 int i=1; do if (i+%2) prin tf( ); con ti nue; prin tf( *); while( i 6 ); int i,j; for(i=0;i n-1;i+ +) for(j=i+1;jsj0)t=si0;si0=sj0;sj0=t; void mai n() char ss510=bcc,bbcc,xy,aaaacc,aabcc; fun( ss,5); prin tf(%s,%sn,ss0,ss4);程序执行后的输出结果是 9.mai n() int a=012,b=0 x12,k=12; char c

14、= 102 ,d= r; printf( “a=%dtb=%dtk=%dn ”,a,b,k); pnntf( “c=%c,d=%c%on ”,c,d,a); a= A ;c=49; prints “a=%dtc=%cn ” ,a,c); 程序执行后的输出结果是 10、下列程序 #in clude #in clude char *fun( char *t) char *p=t; return (p+strle n( t)/2); void mai n() char *str=abcdefgh; str=fu n(str); puts(str);程序执行后的输出结果是 11.mai n() int

15、 a,b,s=0; for(a=1,b=1;a=20) break; if(b%3=1) b+=3;con ti nu e; b-=5; printf( “ a=%dtb=%dn ” ,a,b); 程序执行后的输出结果是 12.mai n() printf( “main( ) :%dn ” ,fact(5); fact(-5); fact(i nt value) int f; if(value0) pnntf( “Arg errorn); return(-1); else if(value=1|value=0) f=1; else f=value*fact(value-1)+1; printf

16、( “This called value=%dn ”,f); return f; 程序执行后的输出结果是 四、程序填空题 1.百马百担冋题:有100匹马,驮100担货,大马驮3担,中马驮2担,两匹小马驮 1担,问大、中、小马各多少匹 mai n() int hb,hm,hl, n=0; for(hb=0;hb=100;hb+= (1) for(hm=0;hm=100-hb;hm+= (2) _) hl=100-hb- (3); if(hb/3+hm/2+2* (3) =100) n+; prin tf(hb=%d,hm=%d,hl=%dn,hb/3,hm/2,2*hl); printf(n=%

17、dn ”, n); 7、将一字符数组中的字符串拷贝到另一字符数组中。请填空。 void mai n() char str115,str2 = C Lan guage ”; strc py(,);_ pu ts(str1); printf( h”); 3. 以下程序是一个函数, 功能是求二阶矩阵 (m行n列矩阵)的所有靠外侧的各元素值 之和。(本程序中二阶矩阵用一维数组来表示。) 例如,矩阵为: 则所有靠外侧的各元素值之和为3+0+0+3+2+3+1+0+4+2=18。 add(i nt m,i nt n ,i nt arr) int i,j,sum=O; for(i=0;im;i=i+m-1)

18、 for(j=0;j n;j+) sum=sum+ (7); for(j=0;j n;j=j+n-1) for(i=1; (8) ;i+) sum=sum+arri* n+j; return(sum); 4. 用指针作函数参数,编程序求一维数组中的最大和最小的元素值。 #defi ne N 10 mai n() void maxm in (i nt arr,i nt *p t1,i nt *p t2,i nt n); int arrayN=10,7,19,29,4,0,7,35,-16,21,* p1,* p2,a,b; p1= p2= maxm in(array,p1,p 2,N); pri

19、n tf(max=%d,mi n=%d,a,b); void maxm in (i nt arr,i nt *p t1,i nt *p t2,i nt n) int i; *p t1=* pt2=arr0; for(i=1;i* pt1)(9); if(arric, a+cb, b+ca。请将程序补充完整。 void mai n() float a, b, c; scanf(” f % f % f, if() printf( YES n ) ;/ *a、b、c 能构成三角形 * / else printf(NO n); / *a、b、c 不能构成三角形 * / 2.用“起泡法”对输入的 10个字符排序后按从小到大的次序输出。 #defi ne N 10 char strN; mai n() int i,flag; for(flag=1;flag=1;) sca nf(%s,str); flag=0; prin tf(n); sort(_. for(i=0;iN;i+) prin tf(%

温馨提示

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

评论

0/150

提交评论