《C语言程序设计》综合复习资料_第1页
《C语言程序设计》综合复习资料_第2页
《C语言程序设计》综合复习资料_第3页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

1、C 语言程序设计综合复习资料1 3 章8 章、10 章(4 节11 章(6 节3 章8 10 章(4 节)810章(4节考试题型:选择题(填空题(2)读程序题(40)1 章 C 语言概述一、选择题能将高级语言编写的源程序转换为目标程序的软件是 A)汇编程序B)编辑程序C)解释程序D)编译程在一个C程序中A)main函数必须出现在所有函数之前B)main函数可以在任何地方出现C)main函数必须出现在所有函数之后D)main 函数必须出现在固定位置3C 语言中用于结构化程序设计的三种基本结构是A)顺序结构、选择结构、循环结构B)if、switch、C)for、while、do-whileD)if

2、、for、continue语言程序的基本单位是函数B) 过程C) 子例程D)子程序二、填空题1C 语言程序总是从main 函数开始执行。2C 语言是种面的程序设计语言,其程序的基本单位函。.3C 语言中的函数由、两部分组成。第 1 页(共 23 页)3 章 数据类型、运算符与表达式一、选择题下列关于C 语言用户标识符的叙述中正确的是A)用户标识符中可以出现下划线和中划线(减号) B)用户标识符中不可以出现中划线,但可以出现下划线 C)用户标识符中可以出现下划线,但不可以放在用户标识符的开头 D)2C 语言中基本数据类型有A)整型、实型、逻辑型B)整型、字符型、逻辑型C)整型、实型、字符型D)整

3、型、实型、字符型、逻辑3在计算机中,一个字节所包含二进制位的个数是A)2B)4C)8D)16 4用 8 A)127B)128C)255D)256在计算机系统中,存储一个汉字的国标码所需要的字节数A) 1B) 2C) 3D) 4在C语言中,char型数据在内存中的存储形式是A)原码B)补码C)反码D)ASCII 7十六进制数100转换为十进制数为A)256B)512C)1024D)647A 转化成八进制数是A)123B)122C)173D)172十进制数32 转化成十六进制数是A)20B)ffC)10511等值的十六进制数为1FFB)2FFC) 1FED) C语言合法整数的是A)10110BB)

4、0386C)0XffaD)x2a2以下选项中合法的实型常数是A)5E2.0B) E-3C) .2E0D) 1.3E依据C语言的语法规则,下列()是用户定义的合法标识符。intB)INTC)jin#2D)8f 14依据C A)ElseB)elseC)user$215以下不正确的字符常量是A)8B)xff C)887D) 以下不正确的字符常量是A) 0B) xgg C) 0D) a以下选项中不合法的八进制数是A) 01B) 077C) 028D) 00下列运算符优先级最高的是A)B) +C) &D) !=第 2 页(共 23 页)若有说明 s1=067, s2=1 ; 则变量s1,s2 在内存中各

5、占的字节数是A)11B)41C)31D)12以下不能定义为用户标识符的是A)scanfB)VoidC)_3com_D)inte在C语言中,可以作为用户标识符的一组标识符是voiddefineWORDB)as_b3_224ElseC)Switch-wercaseD)4bDOSIG若有intx=1,n=5;则执行语句x%=(n%2)后,x的值为A)3B) 2C)1D) 0 (a=2,b=5,a+,b+,a+b)A)10B)9C)8D)724已知: char a=a; int b=0; float c= -1.2; double d=0; 执行语句:c=a+b+c+d; 后,变量 c 的类型是A)c

6、harB)intC)double25表示x0 x1的正确的表达式是A)x=1|x1 | x=1or x=1 | x0;已定义c为字符型变量,则下列语句中正确的是A)c=97;B)c=97;C)c=a;执行int j,i=1; j=-i+; j的值是A)-1B)-2C)1D)2以下选项中非法的表达式是A)(a+2)+B)i=j=0C)(char)(65+3)D)x+1=x+1 32已知小写字母的ASCII 97int a=99, b=b; printf(“%c,%d”, a , 的结果是A)99,bB)c, 98C)99, 98D)c, b33以下选项中非法的表达式是A)0=x100B)i=j=

7、0C)(char)(65+3)D)x+1=x+1 34下列错误的表达式是A)-x+B)(-x)+C)x+yD)+x+y对于int x=12, y=8;printf (“%d%d%d”, !x, x | y, x&y); 输出的结果是A)0 1 1B)0 1 0C)0 0 0D)1 1 1设a,b,c均为int型变量,且a=3,b=4,则下面的表达式中,值为0的表达式A)a&bB)0|1C)a|b+c&( (aB)11, 回车回回车12设a=3,b=4,c=5 | b+c & b=c 的值是A)1B)0C)非0D)语法错已知 char ch=A; 且表达式 ch=(ch=A & ch=Z) ?(

8、ch+32) ::ch的值是( )A) AB)aC) ZD)出错如下程序段:int x=2005, y=2006;printf(%dn,(x,y);则以下叙述中正确的是 A)B)运行时产生出错信息200550设有如下程序段:int x=2, y=3; printf(%dn,(x,y);则以下叙述中正确的是A)输出语句中格式说明符的个数少于输出项的个数,不能正确输出B)运行时产生出错信息23二、填空题1C 语言中逻真”用表示,逻辑假”用表示。第 4 页(共 23 页)在C 语言中,整数可用进制、进制和进制3 种数制表示。十进制数52转化成八进制数是。十六进制数7A转化成八进制数是。十进制数47转

9、化成八进制数是。在C语言中,101是种特殊的字符常量,它称为,其表示的字符为。在C语言程序中,整型数可用十进制、进制和进制3 种数制表示070个合法的整型数。字符串 “ab034x79”的长度为。十六进制数7A转化成八进制数是。10语句: printf(%d,(a=-10)&(b=0); 的输出结果为。若w=1,x=2,y=3,z=4,则条件表达式w x ? w : y 0 ? p/10 : p%3);main() int x,y=0;printf(“%cn”, x=99) ;printf(“%dn”, (x+ , +y , x+y) ;5 章 选择结构程序设计一、读程序,写出程序执行结果vo

10、id main()intx= - 9, y ; if(x0) y=10 else if(x= =0) y=0; else if(xb)if(b0) c=0; else c+;printf(“%dn”,c);main() int x=100,a=20,b=10; int v1=5;if(ab)if(b!=15)第 6 页(共 23 页)if(!v1)x=1;elsex=10;x=-1;printf(“%d”,x);main() int a=4,b=3,c=5,t=0;if (ab) t=a; a=b; b=t; if (a0; k-=3) putchar(*);输出是A)*B)*C)*D)无限循

11、环若有如下程序段,其中sab、c均已定义为整型变,且a、c均已赋值大于0) s=a;for(b=1;b=c;b+) s=s+1;则与上述程序段功能等价的赋值语句是A)s=a+b;B)s=a+c;C)s=s+c;D)s=b+c;3设有inti,x; 则循环语:for(i=0,x=0;i=9&x!=876;i+)A)最多执行10次B)最多执行9 次C)是无限循环D)循环体一次也不执行二、读程序,写出程序执行结果main()intn=4 ;while(n- -) printf(%2d,- -n) ;2main() int i;for (i=0; i3; i+) switch ( i ) case 1

12、: printf(%d , i);case 2: printf(%d , i);default : printf(%d , i);main() int i,m=0,n=0,k=0; for(i=9; i1; i- -) for(j=0;j11-2*i;j+)putchar( );for(j=0;j2*i-1;j+) putchar(9);第 8 页(共 23 页)main() int a;for(a=1;a0 ; y - - )j=j*x;printf(“j=%dn”,j);void main()intn= -5 while(+n)printf(%2d, +n) ;main() int x=1

13、5;while(x10 & x50) x+;if(x/3)x+;break; else continue;printf(“%dn”,x)void main() int x,y;for(x=1,y=1; y=10) break;if(x%2=1) x+=5; continue ; x-=3;printf(%d%dn,x,y);10main() int k=4,n=0; for( ; nk ; ) n+;if(n%3!=0) continue;第 9 页(共 23 页)k-; printf(%d,%dn,k,n);void main() int i=1; while if(+i%5!=3) con

14、tinue ; else printf(%d ,i);main() int k=0,m=0; int i,j;for(i=0;i2;i+)for(j=0;j0); printf(“%dn”, t);void main()int n1,n2; n2=5678;while(n2!=0)n1=n2%10;n2=n2/10; printf(%d,n1);7 章 数组一、选择题1在执行int a 3=1,2,3,4; a12的值是第 10 页(共 23 页)A、B、C、D、2已知:int a 3=1,2,3,4,5,6,7,8,9,0; 则数组a 的第一维的大小A)2B)3C) 4D)无法确;以下能正确

15、定义数组并正确赋初值的语句是A)int N=5,bNN;B)int a12=1,3; C)int c2= 1,2,3,4;D)int d32=1,2,34;以下不能正确定义二维数组的选项是A)int a22=1,2;B)int a2=1,2,3,4;C)int a22=1,2,3;D)int a2=1,2,3,4;有语:char s110,s210=books; 则能将字符串books 赋给数组s1 的正确语句A)s1=books ;B)strcpy(s1,s2);C)s1=s2;D)strcpy(s2,s1);6C 语言标准函数 strcpy(s3,strcat(s1,s2) 的功能是A)将

16、字符串s1 复制到s2 中,再连接到s3 之后B)将字符串s2 连接到s1 之后,再将s1 复制到s3 中C)将字符串s2 复制到s1 中,再将s1 连接到s3 之后D)将字符串s2 连接到s1 之后,再将s3 复制到s1 中二、读程序,写出程序执行结果main() int aa44=1,2,3,4,5,6,7,8,3,9,10,2,4,2,9,6;int i,s=0 ;for(i=0;i4;i+) s+=aai3;printf(“%dn”,s);main() int a44=1,2,-3,-4,0,-12,-13,14,-21,23,0,-24,-31,32,-33,0;int i, j,

17、s=0;for (i=0; i4; i+) for (j=0; j4; j+) if (aij 0) continue;if (aij = 0) break;s+=aij;printf(%dn, s);main() int p7=11,13,14,15,16,17,18, i=0,k=0;while(i7 & pi%2) k =k+ pi; i+; printf(%dn, k);main() int i,n=0,0,0,0,0;第 11 页(共 23 页)for(i=1;i=4;i+) ni=ni-1*2+1;printf(%d ,ni);void main()intstr3 3=1,2,3,

18、4,5,6,7,8,9, i,j,t;for(i=0;i3;i+) for(j=0;ji;j+)t=strij;strij=strji;strji=t;for(i=0;i3;i+) for(j=0;j0 ? x : -x);void main()int a=-5;printf(“%d, %dn”,a,fun(a);ex ( )static int x=5 ;- -x ;printf(“%d”,x) ;voidmain ( )ex ( );ex ( );ex ( );fun(int a, int b) if(ab) return(a); else return(b); main() int x=

19、3, y=8, z=6, r;r =fun(fun(x,y), 2*z);printf(%dn, r);第 13 页(共 23 页)int f(int x) int y=0; static z=3; y+;return(x+y+z) ;main() int w=2,k; for(k=1;k3;k+) w=f(w);printf(%dn,w);void f(int x, int y) int t;if (xy) t=x; x=y; y=t; main() int a=4,b=3,c=5; f(a,b); f(a,c); f(b,c);printf(%d,%d,%dn,a,b,c);intb=2;

20、fun(int *a) b+=*a;main() int a=2, res=2; res+=fun(&a); printf(“%dn”,res)int d=1;void fun(int p) int d=5; d+=p+;printf(“%d”,d);main() int a=3;fun(a);printf(%dn, d);int d=2 ;int fun(int p)第 14 页(共 23 页) static int d=3 ; d+=p; printf(%3d , d) ; return(d) ;void main( ) printf(%3dn , fun(2+fun(d) ; int f

21、( ) int s=1; static int s+=i;i+;returns ;void main() int i,a=0; for(i=0;i5;i+) a+=f( );printf(%dn,a);int f( ) int s=1; static int s+=i;i+;returns ;main() int i,a=0; for(i=0;ib) return(a); else return(b);main() int x=3, y=8, z=6, r; r=fun(fun(x,y), 2*z);printf(%dn, r);14 int voidf( ) printf(“%d,%dn”,

22、a,b);a=1;b=2;void main()int a=5,b=7 ;f( );printf(“%d,%dn”, a,b) ;15 fun( int x)static int a+=x ;return a ;voidmain ( )int k=2,m=1,n; n=fun(k) ;n=fun(m); printf(“%dn”,n) ;10 章 指针一、选择题1设有定义 int a =1,5,7,9,11,13, *p=a+3; 则*(p-2) , *(a+4) 的值是A)511B)19C)59D)有错误2 设有定义 int a =1,5,7,9,11,13, *p=a+3; 则*(p-3)

23、 , *(a+2) 的值是A)511B)17C)59D)有错误3对于inta=1,2,3,4,5,6,p;p=a;*(p+3)+=2; 则*p,*(p+3)的值A) 15B) 13C) 14D) 16设有定义 char *p=“abcdeOfghjik0”; printf(“%dn”,strlen(p);输出结果是A) 12B) 15C) 6D) 5: char s20 =abcd, *sp=s; strcat(sp,ABCD); 的输出结果是第 16 页(共 23 页)A)abcdABCDB)ABCDabcdC)ABCDD)abcd str20=Hello,Beijing,*p=str;pr

24、intf(%dn,strlen(p+20); 输出结果是A)0B) 5C)77能正确运用指针变量的程序段是A)int *i=NULL;B) float*f=NULL; scanf(%d,i);*f=10.5;C)char t=m, *c=&t;D) long *L;*c=&t;L=0;8以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。#define N 10void arrin(int xN) int i=0; while(iN)scanf(%d,);在下划线处应填入的是A)x+iB)&xi+1C)x+(i+)D)&x+i 9若有以下定义和语句a=4,b=3,*p,*q,*w;p=

25、&a; q=&b; w=q; q=NULL;则以下选项中错误的语句是A)*q=0;B)w=p;C)*p=a;10下列选项中正确的语句组是A)char s8; s=Beijing;B)char *s; s=Beijing; C)char s8=Beijing;D)char *s; s=Beijing; inta10,*p=&a0;,关于数组名aA)a是个数组指针B)数组名a表示数组的首地址C)数组名a 与a0等价D)a和p都指向同一个存储单12已定义以下函数fun(int *p) return *p; 该函数的返回值是A)不确定的值B)形参p中存放的C)形参p所指存储单元中的值D)形参p的地址值

26、二、填空题char str110,str210=books则能将字符串books赋给数组str1的标准函数是。若有说明 s14=12 , *ptr=s1; 则我们称指针变量ptr指向数组s1的,而*(ptr+1)的值是对于char str = “1234”, *=t+ )的结果是。4已知:inta5=1,2,3,4,5,*p=a+2; 则*P的值是。第 17 页(共 23 页)若有说明*s=ABCDEFG; 则我们称指针变量S指向字符串的而S2的值是三、读程序,写出程序执行结果void main()char *p, str20=xyz p= ABCDEFG ;strcpy(str+1 , p+

27、1) ; printf(%s, str) ;void main()char *p=”abcdba”,*q; intflag=1; q=p+strlen(p)-1;while(pq) if(*p+!=*q- -) flag=0; if(flag) puts(“yes”);else puts(“no”) ;void fun(char *a, char *b)a=b;(*a)+;main() char c1=A,c2=a,*p1,*p2; p1=&c1; p2=&c2; fun(p1,p2); printf(%c%cn,c1,c2);void f(int *s , int n1 , int n2)

28、int i , j , t ; i=n1;while(ij) t=*(s+i) ; *(s+i)=*(s+j) ; *(s+j)= t ; i+ ; j- - ; main() int a=11,55,66,77,88,99,i; f(a,1,5);for(i=0;i6;i+)printf(“%3d”,ai);f(int *x,int n) int *p, *s;for(p=x,s=x;p-xn;p+)第 18 页(共 23 页)if(*si;i+,j-)c=*(a+i); *(a+i)=*(a+j); *(a+j)=c;puts(a);main() int a,k,*p=&a; a=6;fo

29、r(k=1;k=(*p);k+) if(*p)%k!=0)printf(“%5d”,k);void main() charchar *ptr;for(ptr=&x2;ptrx+6;ptr+) printf(%sn,ptr);void main()chara=language, int k=0;while(*p)if(*pf) +k ; p+; printf(“%s%dn”,a,k) ;voidmain()intk,a10,*p=a; for(k=1;k10;k+) *(p+k-1)=k; for(k=0;k5;k+) *(p+9-k)=*(p+k); for(k=0;k10;k+) void

30、main()char *p=”China University of Petroleum!”, *p1; int n=1;第 19 页(共 23 页)p1=p; while(*+p)n+;printf(%s ,%dn”,p1+20,n);void fun(char *c,intd) *c=*c+1;d=d+1;printf(“%c,%c,”,*c ,d);main() char a=A,b=a;fun(&b,a); printf(%c,%cn,a ,b);fun(char *w, int n) chart, *s1, s1=w;s2=w+n-1;while(s1s2) t=*s1+;*s1=

31、*s2- ; *s2= t;main() char *p=1234567; fun(p, strlen(p); puts(p);int fun(char *s1,char *s2) int i=0;while(s1i=s2i & s2i!=0) i+;return (s1i=0 & s2i=0);main() char p10=”abcdef”, q10=”ABCDEF” printf(“%dn”,fun(p,q);main() int a10,*p,*s,i; for(i=0;i10;i+)scanf(%d”,a+i);for(p=a,s=a;p-a*s)s=p;printf(“max=%d

32、,index=%dn”,*s, s-a);简述上列程序完成的功能:fun(char *p2, char *p1) while(*p2=*p1)!=0) p1+;p2+; 简述此函数完成的功能:第 20 页(共 23 页)11 章 结构体一、选择题若有以下说明,则对结构体变量stu1 中成员age 的不正确的引用方式structstudentintage;intnum;stu1, *p; p=&stu1;)stu1.ageB)student.age)(*p).age)p-age设有如下定义struct ss char name10; int age;char sex; std3,*p=std;下面各输入语句中错误的是A)scanf(%d,&(*p).age);B)scanf(%s,&);C)scanf(%c,&std0.sex);D)scanf(%c,&(p-sex)3 Ming”的方式

温馨提示

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

最新文档

评论

0/150

提交评论