欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    C语言系列复习题精简版.docx

    • 资源ID:17502469       资源大小:46.91KB        全文页数:57页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C语言系列复习题精简版.docx

    1、C语言系列复习题精简版C程序设计复习题二九年十月 目 录 1第一部分 C语言基础题(选择与程序分析) 31常量与变量 31.1常量 31.2变量 31.3变量作用域 41.4 static变量 52宏定义、宏包含 73转义字符 74.运算符 84.1逗号运算符 84.2复合运算符 84.3 +,-运算符 95表达式 95.1算术表达式 95.2关系表达式 95.3逻辑表达式 96.顺序结构 107.选择结构 108.循环结构 119.continue、break 1210.数组 1310.1 数据数组 1310.2字符数组 1511.函数 1611.1函数定义 1611.2函数参数传递 171

    2、1.3数据处理函数 1811.4字符处理函数 2111.5递归函数 2312.指针 2412.1指向变量的指针 2412.2指向数组的指针 2512.3其它指针 2712.5 main函数 2813.结构体 2814.枚举 3015.文件 3016.位操作 31第二部分 C语言完成程序题 311.常规算法 311.1数据处理 311.2字符处理 342.排序算法 363.查找算法 374.插入、删除 395.公式计算 396.文件 40第一部分 C语言基础题(选择与程序分析)1常量与变量1.1常量1. (2001_1)以下四个选项中,均为非法常量的是 CA. 0x18,01177,0xf B.

    3、 ,01,12,456 C. as,-0fff,0xa D. 0xabc,0,”a”2 (2000_2)以下常量中正确的是 DA. abc B.x123 C. 3.14e-1.2 D.”a”1.2变量1. (1999_2_2)设有说明:int y;float x;则执行语句x=y=4.8; 后x的值为 4.02. (2003_8)若有声明:int k,a,b;unsigned long y=5;double x=1.23;则表达式中正确的是 DA.x%(-5) B. x=y6 C. k=(a=1,b=2,&a+&b) D. a+=a-=(b=2)*(a=3) 3. (2003_2_1)在声明变

    4、量时,类型修饰符unsigned 一般用于修饰基本类型中的int和 ;char4.(1998_6)在C语言中,下面符号串中,能用作变量名的标识符为 BA. auto B.puts C. 1 * num D. 2 - and5. (2002_2_5)在函数内部声明局部变量时缺省了存储类型,该变量的存储类型为 auto6. (2002_5)已知在某C语言编译系统中表达式sizeof(int)的值为2,如果希望将常量-70000正确的保存在一个变量a中,则该变量声明语句应当是 BA. int a; B. long int a; C. unsigned int a; D. unsigned long

    5、int a;7. (2003_2_3)已有声明:float x; double y; int a; long b; char c; ,则表达式x+y*a/x+b/y+c值的类型为 double8.(1993_4)在C的表达式中,可以将某一类型的变量a强制转换成具有类型b的值,可以为 A A(b)a Ba(b) Cb(a) D(a)b1.3变量作用域2.(1993_3)外部变量对程序中的任一函数而言,它们是 BA存在的 B可直接存取的 C不可见的 D不可直接存取的3.(1994_5)对于extern 型变量和static 型变量的初始化 A A在编译时进行 B在程序开始运行时进行 C在程序运行过

    6、程中使用到它们时进行72 D不能确定在何时进行7. (2002_2_8)执行以下程序后,输出x的值为 0 ,y的值为 2 ;int x;int f(int x) if(x=3) int x=2; return x; else return x;void main(void) int y,k; y=f(3); printf(%dn%d,x,y);8. (2000_2_3)下列程序的运行结果为 void main(void) extern int x; printf(%d,x+=2); fun1(2);int x=1;void fun1(int x) printf(%d,x+); fun2(2);

    7、void fun2(void) printf(%d,x); int x=5; printf(%d,x); 1.4 static变量1. (1994_2_3)运行该程序,第一行的输出是 ;第三行的输出是 ;将程序中标有/*change*/的注释行改为:int a2=1;则第五行的输出是 。int f() static int a1=0; static int a2=1; /*change*/ a1=a2; return(a2+=2*a1+1);main() int i,sum,f(); for(i=sum=0;i5;i+) printf(n sum=%d,sum+=f();2. (1996_2_

    8、9)以下程序输出的第一行是 ;输出的第二行是 .int abc() static int i; i+=10; return(i+);main() printf(%dn,abc(); printf(%dn,abc();5.(2001_2_7)以下程序的运行结果为 int fun(int m) static int k=1; while(m) k*=m-; return(k);void main(void) int i,j; i=fun(3); j=fun(5); printf(%d,%dn,i,j);2宏定义、宏包含3.(1997_2)若有宏定义和变量说明如下: define X 5 defin

    9、e Y X+1 define Z Y*X/ 2 int a; a = Y; 则执行以下printf语句后输出的结果是 。 printf(”ddn”,Z, - - a); A.7 5 B. 12 6 C. 12 5 D.7 6 8. (2003_2_6)以下程序的运行结果是 ;#define PT 3.14#define S(x) PT*x*xvoid main(void) int a=2; printf(%4.1f,6.28/S(a);3转义字符1.(1999_1)char *str=tcLanguagen; printf(n%d,strlen(str);的值为 2. (1998_2_4)执行

    10、以下程序后,程序输出为 #include string.hmain() printf(%dn,strlen(ab034x89);3. (1999_2_4)如下程序的输出结果是 printf(%dn,strlen(abc0defg);4.(1997_1)执行语句printf(”字串为:is c:too1s book.txt);后的输出是 A.字串为:is c:toolsbook.txt B. 字串为:is c:too1s book.txt C.字串为:is c:toolsbook.txt D.字串为:is c:too1sbook.txt4.运算符1. (1999_2_3)在C语言中,任一语句必定

    11、以字符 结束。2. (1996_2_5)运算符“”有二种含义:一种是 ,另一种是: 4.1逗号运算符1.(1998_2)设有变量说明:int x;则表达式(x=4*5,x*5),x+25 的值为 。A. 20 B. 45 C.100 D. 1252.(1997_5)设a和b为整型变量,执行语句: b=(a=2+3,a*4),a+5; 后,a和b的值为 。 A. 5,10 B. 20,25 C. 5,25 D. 5,203.(2002_2)表达式(a=4*5,b=a*2),b-a,a+=2的值是 4.2复合运算符1. (2000_2_1)若有 int a=5; a+=a-=-a*a; print

    12、f(n%d,a);则a的值为 2.(1996_2)设a是整型变量,初值是12,执行完表达式a+a-a*a后,a的值是 A. 144 B. -264 C. 264 D. 04.3 +,-运算符1.(1993_2_1)设有如下的说明: int i=3,j=5,m;问:执行语句m=(i+)-(-j);后,m的值是 ,j的值是 。5表达式5.1算术表达式1.(1994_3)int a1=10,a2=3;float a3=8.0;若程序中,有表达式a1/a2*a2*a3,结果值为 A80 B80.0 C72 D72.03.(2000_1) int k=11;k=1/3*k+;printf(n%d,k);

    13、 5.2关系表达式1. (1999_2_1)在C语言中,当关系表达式的关系成立时,关系表达式的值为 2. (2000_3)设有int a;以下不能正确表达数学式10a15的是 A. 10a10&a15 D.!(a10)5.3逻辑表达式1.(1993_1)当a的值为5,b的值为4时,逻辑表达式a8的值为 C Atrue Bfalse C非0整型值 D整型值03.(1996_10)若x,y,z的初值均为1,则执行表达式w=+x|+y&+z 后,x,y,z的值为 D Ax=1,y=1,z=2 Bx=2,y=2,z=2 Cx=1,y=2,z=1 Dx=2,y=1,z=15. (1999_5) int

    14、a=4,b=5,c=6,d=7,m=1,n=1,e; c=(m=ab)&(n=cd); printf(n%dt%d,m,n); 6.顺序结构1. (2003_10)在缺省情况下,标准C的编译系统中预定义的标准输出流stdout直接连接的设备是 A. 软盘 B. 硬盘 C. 键盘 D. 显示器3. (1996_2_13)若输入数据为:345 2456 ABCDCR,其中为回车,则程序的输出结果为 a=3,b=4,s=5,c= ,d=2456 main() int d; char a,b,c,s10; scanf(%c%c%s%d%c,&a,&b,s,&d,&c); printf(a=%c,b=%

    15、c,s=%s,c=%c,d=%dn,a,b,s,c,d);7.选择结构1. (2000_5)关于if语句描述,错误的是 A. 条件表达式可以是任意的表达式B. 条件表达式只能是关系表达式或逻辑表达式C. 条件表达式的括号不可以省略D. 与else配对的if语句是其之前最近的未配对的if语句2.(1997_8)对下面三条语句(其中s1和s2为内嵌语句),正确的论断是 (1)if(a)sl;else s2 (2)if(a = = 0)s2;else sl (3)if(a!= 0)s1;else s2 A. 三者相互等价 B. (1)和(2)等价,但与(3)不等价 C. 三者互不等价 D. (1)和

    16、(3)等价但与(2)不等价 3.(2002_2_6)以下程序运行后,x,y,z的值分别为 int x=0,y=3,z=2; if(x+&y+) z-; else if(x+1=6|y-) z+;4. (1997_2_7)程序输出的最后一行是 #includemain() int i=-5; while(i+) switch(i+5) case 1: switch(-i-3) case 1:printf(%dn,i); case 2:printf(%dn,i); case 2: printf(%dn,i);break; case 3: printf(%dn,i); 8.循环结构1.(1998_7

    17、)设整型变量x的当前值为3,执行以下循环语句后,输出的结果是 doprintf(“%dt”,x= - 2); while (! ( - - x); A. 0 B. 1 -2 C.3 0 D.死循环2.(1999_6)循环语句: for(x=0,y=0;y!=150|x4;x+) y+=50;执行了多少次? 3. (1997_2_1)有int a,b;则对于下面“for循环中的scanf语句最少可执行 次。最多可执行 次。for(a=0,b=0; b!=30&a3; a+)scanf(%d,&b).4.(1996_4)设i和s都是整型变量,执行如下语句:for(i=0,s=0; i+s10; i

    18、+, s+);printf(“%d, %dn”,i,s);输出的i和s的值分别为: A. 11,11 B. 5,5 C. 6,6 D. 10, 105. (1996_2_12)以下程序的输出结果为 。main() int i,j; for(i=1;i10;i+) for(j=i+1;j10;j+,i+) printf(*); printf(n); 5. (2001_2_5)下列程序的运行结果为 void main(void) int i=0,j=10,k=2,s=0; for(;i=j;) i+=k+; s=s+i; printf(%dn,s);9.continue、break2.(2003_

    19、9)以下跳转语句中,只有 可以选择不唯一的跳转目的地。A. continue B. break C. goto 标识符 D. return3. (2001_2_1)任何函数返回值都是通过函数体中的 语句返回的, 类型的函数没有返回值,因此它的调用形式不能作为表达式的运算分量;5. (2001_2_9)执行以下程序时输出第二行是 第三行是 ;void main(void) int a44=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,i,j; for(i=0;i4;i+) for(j=0;jj+1) continue; if(i2!1 B. s20 C. s1 D

    20、. s3. (1999_4)设有说明:int a44;与数组元素a33不等价表示的是 A. (a3+3) B.(*(a+3)+3) C. &a33 D. (*(*(a+3)+34. (2002_10)设有声明语句:int a33=1,2,3,4,5,6,7,8,9;以下语句中不是a12表达形式的是 A. *(*(a+1)+2) B. *(&a20-1) C. *(a1+2) D. *(a+1)2;9. (2002_2_9)执行以下程序时输出第一行是 ,第二行是 ;void main(void) int a33=1,2,3,4,5,6,7,8,9,m,k,t; for(m=0;m3;m+) fo

    21、r(k=0;k=m;k+) if(m+k)%2) t=amk,amk=akm,akm=t; for(m=0;m3;m+) for(k=0;k3;k+) printf(%d,amk); printf(n); 10.2字符数组1. (1999_3)static char x=12345; static char y=1,2,3,4,5; 关于以上两语句说法正确的是: A. x数组和y数组的长度相同 B. x数组长度大于y数组长度C. x数组长度小于y数组长度 D. x数组等价于y数组2. (2002_1)若有声明语句char s110=0,s210=”books”;则能将字符串”books”赋给数

    22、组s1保存的表达式是 A. s1=”books”; B. strcpy(s2,s1); C. s1=s2; D. stract(s1,s2);3.(1998_9)判断两个字符串s1 s2是否相等,应当使用 A . if(s1= =s2) B.if(s1=s2) C. if(strcmp(s1,s2) D. if(! strcmp(s1,s2)5. (1997_2_5)设输入的字符串为: The WinXP Operating system 则执行程序后,输出的第一行和最后一行分别是 和 #includemain() char a410,i,j; for(i=0;i4;i+) scanf(%s,

    23、ai); for(i=0;i4;i+) j=i; printf(%sn,ai+j); 11.函数11.1函数定义1. (2003_1)在定义任何一个函数时,下列选项中 是不可缺少的。A. 函数名前的数据类型 B. 函数名后的圆括号 C. 形参声明 D. 函数体中的语句2.(1998_10)C语言中函数返回值的类型是由 决定的。 A.return语句中的表达式类型 B.调用该函数的主调函数类型 C.定义函数时所指定的函数类型 D.传递给函数的实参类型3. (1994_2)若对一个函数执行在先,说明在后,C语言将视其返回值为 A非法 B无返回值 C浮点值 D整型值 4. (2002_2_4)当 语

    24、句被执行时,程序的执行流程无条件地从一个函数跳转到另一个函数。5. (2002_3)以下自定义函数的头部,正确的是 A. int fun(int a,b) B. int fun(int a,int a) C. int fun(int *a,int b) D. int fun(char a,int b)6. (1998_1)数学式在C程序中对应正确的表达式为 。 A. sqrt(x*x+y*y)/x*y B.sqrt(x*x+y*y)/x*yC.sqrt(x*x+y*y)/x/yD, sqrt(x*x+y*y)/(x*y)7. (2000_6)设有以下函数定义,则返回的函数值是 int *fun

    25、(int *a) int *t; *a=99; t=a; return t;void main(void) int x,*y; y=fun(&x); -A. 无确定值 B. 形参a的地址 C. 主程序中变量x的地址 D. 函数中变量t的地址11.2函数参数传递1. (1997_3)C语言规定,调用一个函数时,实参变量和形参变量之间的数据传递是 。 A.地址传递 B.值传递 C.由实参传给形参,并由形参传回来给实参。 D.由用户指定传递方式 2. (2001_7)在以下程序的main函数中需要调用search函数的位置,填入正确的是 A. search(c34,12,8) B. search(&

    26、c00,12,8) C. search(&c,12,8) D. search(*c,12,8)int search(int x,int n,int k) int i; for(i=0;in;i+) if(xi=k) return i; return -1;void main(void) int k,c34=1,2,3,4,5,6,7,8,9,10,11,12; if( !=-1) printf(found); else printf(not found);11.3数据处理函数1. (1998_2_5)执行以下程序后,第一行输出是 ,第二行的输出是 ,最后一行的输出是 。void f(int b

    27、,int t) int m; if(bt) m=(b+t)/2; printf(%dn,m); f(b,m-1); f(m+1,t); main() f(1,6);2. (1999_2_8)执行以下程序时输出第一行是 ,第二行是 ,第三行是 ;int i,j=2;void p(void) for(i=0;i4;i+) printf(%d,+j); if(i+1)%2=0) printf(n); void main(void) for(i=0;i3;i+) p(); printf(%dn,i);3. (2000_2_7)以下程序的运行结果为 int *swap(int *a,int *b) int *p; p=a;a=b


    注意事项

    本文(C语言系列复习题精简版.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开