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

    C语言复习题带答案.docx

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

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

    C语言复习题带答案.docx

    1、C语言复习题带答案一、C语言概述练习题选择1 一个C程序的执行是从 。A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序文件的第一个函数开始,到本程序main函数结束D) 本程序的main函数开始,到本程序文件的最后一个函数结束2 以下叙述不正确的是 。A) 一个C源程序必须包含一个main函数 B)一个C源程序可由一个或多个函数组成C) C程序的基本组成单位是函数 D) 在C程序中,注释说明只能位于一条语句的后面3 以下叙述正确的是 。A) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误B) 在C程序中,ma

    2、in函数必须位于程序的最前面C) C语言本身没有输入输出语句 D) C程序的每行中只能写一条语句4 一个C语言程序是由 。A)一个主程序和若干个子程序组成 B) 函数组成 C) 若干过程组成 D) 若干子程序组成5 计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是 。A) C语言程序仅可以编译执行 B) C语言程序仅可以解释执行C) C语言程序既可以编译执行又可以解释执行 D) 以上说法都不对6 以下叙述中错误的是 。A) C语言的可执行程序是由一系列机器指令构成的 B)用C语言编写的源程序不能直接在计算机上运行C)通过编译得到的二进制目标程序需要连接才可以运行D)在没

    3、有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件7 以下叙述正确的是 。A) C语言程序是由过程和函数组成的 B) C语言函数可以嵌套调用,例如:fun(fun(x)C) C语言函数不可以单独编译 D) C语言中除了main函数,其他函数不可作为单独文件形式存在二、数据类型、运算符与表达式选择. 1 若x、i、j、k都是int型变量,则计算下面表达式后,x的值为 x=(i=4,j=16,k=32) A) 4 B) 16 C) 32 D) 522 下列四组选项中,均不是C语言关键字的选项是 。A)define IF type B)getc char printf C)inclu

    4、de case scanf D)while go pow3 下列四组选项中,均是不合法的用户标识符的选项是 。A) W P_0 do B) b-a goto int C) float la0 _A D) -123 abc TEMP4 下列四组选项中,均是合法转义字符的选项是 。A)”n B)017” C)018fxab D)0101xlf5 下面不正确的字符常量是 。A) “c” B) C) D) K6 以下叙述不正确的是 。A) 在C程序中,逗号运算符的优先级最低 B) 在C程序中,MAX和max是两个不同的变量C) 若a和b类型相同,在计算了赋值表达式a=b后,b中的值将放入a中,而b中的

    5、值不变D) 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值7 以下叙述正确的是 。A) 在C程序中,每行只能写一条语句B) 若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数 C) 在C程序中,%是只能用于整数运算的运算符(字符型也可以)D) 在C程序中,无论是整数还是实数,都能被准确无误地表示8 已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2A+6-3后,c2中的值为 。A) D B) 68 C) 不确定的值 D) C9 sizeof(float)是 。A) 一个双精度型表达式 B) 一个整型表达式 C) 一种函数表

    6、达式 D) 一个不合法的表达式 sizeof()是测试长度的函数,得出来的结果应该是float占的字节数,所以应该是整型表达式其他回答sizeof(float)表示在float在内存中所占的字节数注意和strlen进行区别,strlen表示一个字符串的长度举个例子:char a10=string;sizeof(a)=10;strlen(a)=6;10设C语言中,一个int型数据在内存中占2个字节,则unsigned int 型数据的取值范围为 。A) 0255 B) 032767 C) 065535 D) 0214748364711设有说明:char w; int x; float y; do

    7、uble z;则表达式w*x+z-y值的数据类型为 。A) float B) char C) int D) double12设以下变量均为int类型,则值不等于7的表达式是 。A) (x=y=6,x+y,x+1) B) (x=y=6,x+y,y+1) C) (x=6,x+1,y=6,x+y) D) (y=6,y+1,x=y,x+1)13下列变量定义中合法的是 。A) short _a=015; B) double b=e2.5; C) long do=0xfdaL; D) float 2_and=1e-3;14有以下程序#include main() int x=011; printf(%dn

    8、,+x);程序运行后的输出结果是 。A)12 B)11 C)10 D)9填空1 若有以下定义,int m=5,y=2;则计算表达式y+=y-=m*=y后的y值是【1】。-162. 在C语言中,一个int型数据在内存中占2个字节,则int型数据的取值范围为【2】。-32768327673 若s是int型变量,且s6,则下面表达式s%2+(s+1)%2的值为【3】。14. 若a是int型变量,则下面表达式(a=4*5,a*2),a+6的值为【4】。265 若x和a均是int型变量,则计算表达式(1)后的x值为【5】,计算表达式(2)后的x 值为【6】。4 12 (1) x=(a=4,6*2) (2

    9、) x=a=4,6*2 6. 若a是int型变量,则计算下面表达式a=25/3%3后a的值为【7】。 27 若x和n均是int型变量,且x和n的初值均为5,则计算表达式后x的值为【8】,n的值为【9】。10 6x+=n+ /若改为x+=+n 则计算后X为 ,n为 11 68. 若有定义:char c=010;则变量c中包含的字符个数为【10】。19 若有定义:int x=3,y=2;float a=2.5,b=3.5;则下面表达式(x+y)%2+(int)a/(int)b的值为【11】。 1 10.已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式ch=a+8-3的值为【1

    10、2】。 f三、简单的C程序设计选择 1 putchar函数可以向终端输出一个 。A) 整型变量表达式 B) 实型变量值 C) 字符串 D) 字符或字符型变量值2 printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式 B ;如果字符串长度小于5,则输出按方式 C 。A) 从左起输出该字符串,右补空格 B) 按原字符长从左向右全部输出C) 右对齐输出该字符串,左补空格 D) 输出错误信息3 阅读以下程序,当输入数据的形式为:25,13,10(注:表示回车),则正确的输出结果为 。 main() int x,y,z; scanf(“%d%d%d”

    11、,&x,&y,&z); printf(“x+y+z=%dn”,x+y+z); A) x+y+z=48 B) x+y+z=35 C) x+z=35 D) 不确定值4 根据下面的程序及数据的输入和输出形式,程序中输入语句的正确形式应该为 。main() char ch1,ch2,ch3; 输入语句 printf(“%c % %c”,ch1,ch2,ch3); 输出形式:A B C 输入形式:A B CA) scanf(“%c%c%c”,&ch1,&ch2,&ch3); B) scanf(“%c,%c,%c”,&ch1,&ch2,&ch3);C) scanf(“%c %c %c”,&ch1,&ch2

    12、,&ch3); D) scanf(“%c%c”,&ch1,&ch2,&ch3);5 已知ch是字符型变量,下面不正确的赋值语句是 。A) ch=a+b; B) ch=0; C) ch=7+9; D) ch=5+9;6 以下关于结构化程序设计的叙述中正确的是 。 A)一个结构化程序必须同时由顺序、分支、循环三种结构组成 B)结构化程序使用goto语句会很便捷C)在C语言中,程序的模块化是利用函数实现的D)由三种基本结构构成的程序只能解决小规模的问题7 有以下程序#include main()int a1,a2; char c1,c2;scanf(“%d%c%d%c”,&a1,&c1,&a2,&c

    13、2);printf(“%d,%c,%d,%c”,a1,c1,a2,c2);若想通过键盘输入,使得a1的值为12,a2的值为34,c1的值为字符a,c2的值为字符b,程序输出结果是:12,a,34,b则正确的输入格式是(以下_代表空格,代表回车) A)12a34b B)12_a_34_b C)12,a,34,b D)12_a34_b填空 1. 以下的输出结果是【1】。c:dec=120,oct=170,hex=78,ASCII=xmain() char c=x; printf(“c:dec=%d,oct=%o,hex=%x,ASCII=%cn”,c,c,c,c);2以下的输出结果是【2】。 ma

    14、in() int x=1,y=2; printf(“x=%d y=%d * sum * =%dn”,x,y,x+y); printf(“10 Squared is : %dn”,10*10); x=1 y=2 * sum * =310 Squared is : 1003. 假设变量a和b均为整型,以下语句可以不借助任何变量把a、b中的值进行交换。请填空。 a+=【3】; b=a-【4】; a-=【5】; b b b4 若x为int型变量,则执行以下语句x=7; x+=x-=x+x;后的x 值为【6】。 -14 5. 有一输入语句scanf(“%d”,k);则不能使float类型变量k得到正确数

    15、值的原因是【7】和【8】。格式控制符应为%f;变量k前缺少&四、逻辑运算与判断选取控制选择 1 逻辑运算符两侧运算对象的数据类型 。A) 只能是0和1 B) 只能是0或非0正数 C) 只能是整型或字符型数据 D) 可以是任何类型的数据2 判断char型变量ch是否为大写字母的正确表达式是 。A)A=ch=A)&(ch=A)&(ch=Z) D) (A= ch)3 若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是 。 A) A%2=1 B) !(A%2=0) C) !(A%2) D) A%24 设有:int a=1,b=2,c=3,d=4

    16、,m=2,n=2;执行(m=ab)&(n=cd)后n的值为 。 A) 1 B) 2 C) 3 D) 45 以下程序的运行结果是 。main() int a,b,d=241; a=d/100%9; b=(-1)&(-1); printf(“%d,%d”,a,b); A) 6,1 B) 2,1 C) 6,0 D) 2,06 已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是 。 if(xy) z=x; x=y; y=z;A) x=10, y=20, z=30 B) x=20, y=30, z=30 C) x=20, y=30, z=10 D) x=20, y=30, z=20

    17、7 以下程序的运行结果是 。main() int m=5; if(m+5) printf(“%dn”,m); else; printf(“%dn”,m-); A) 4 B) 5 C) 6 D) 78 若运行时给变量x输入12,则以下程序的运行结果是 。main() int x,y; scanf(“%d”,&x); y=x12 ? x+10 : x-12; printf(“%dn”,y); A) 4 B) 3 C) 2 D) 09if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是 。A)必须是逻辑值 B)必须是整数值 C)必须是正数 D)可以是任意合法的数值10有以下

    18、程序#include main()int a=1,b=0;if(!a) b+;else if(a=0) if(a) b+=2;else b+=3;printf(“%dn”,b);程序运行后的输出结果是 。A)0 B)1 C) 2 D)311有以下程序#include main()int c=0,k;for(k=1;k3;k+)switch(k)default:c+=k;case 2:c+;break;case 4:c+=2;break;printf(“%dn”,c);程序运行后的输出结果是 。 A)3 B)5 C)7 D)9五、循环控制选择1设有程序段 int k=10; while(k=0)

    19、k=k-1; 这下面描述中正确的是_. a)while循环执行10次 b)循环是无限循环 c)循环体语句一次也不执行 d)循环体语句执行一次2语句while(!E);中的表达式!E等价于_. a)E=0 b)E!=1 c)E!=0 d)E=13下面程序段的运行结果是_ c _.循环次数为_ b _. int n=0; while(n+=2);printf(%d,n); a)2 b)3 c)4 d)有语法错/若改为while(+n=2);printf(%d,n);结果又如何? 4下面程序的运行结果是_ _. #include main() int num=0; while(num=2) num+

    20、; printf(%dn,num); a)1 b)1 c)1 d)1 2 2 2 3 3 45以下程序段_. x=-1; dox=x*x; while(!x); a)是死循环 b)循环执行二次 c)循环执行一次 d)有语法错误6若有如下语句 int x=3; doprintf(%dn,x-=2); while(!(-x); 则上面程序段_. a)输出的是1 b)输出的是1和-2 c)输出的是3和0 d)是死循环7下面程序的运行结果是_. #includemain() int y=10;doy-; while(-y);printf(%dn,y-);a)-1 b)1 c)8 d)08若i为整型变量

    21、,则以下循环执行次数是_. for(i=2;i=0;)printf(%d,i-); a)无限次 b)0次 c)1次 d)2次9执行语句for(i=1;i+4; );后变量i的值是_. a)3 b)4 c)5 d)不定10以下正确的描述是_.a)continue语句的作用是结束整个循环的执行 b)只能在循环体内和switch语句体内使用break语句c)在循环体内使用break语句或continue语句的作用相同 d)从多层循环嵌套中退出时,只能使用goto语句11有以下程序main() char b,c; int i; b=a; c=A; for(i=0;i=0&c=9_)n+; c=getc

    22、har(); 2下面程序的功能是用辗转相除法求两个正整数的最大公约数。请填空。 #include main() int r,m,n; scanf(%d%d,&m,&n); if(mn)_ r=m;m=n;n=r;_ r=m%n; while(r)m=n;n=r;r=_ m%n _; printf(%dn,n); 3下面程序的运行结果是_s=254_. #include main() int a,s,n,count; a=2;s=0;n=1;count=1; while(count=7)n=n*a;s=s+n;+count; printf(s=%d,s); 4下面程序段的运行结果是_ a=-5_

    23、. i=1;a=0;s=1; doa=a+s*i;s=-s;i+;while(i=10); printf(a=%d,a);5下面程序段的运行结果是_ _8_ _. i=1;s=3; dos+=i+; if(s%7=0)continue; else +i; while(s15); printf(%d,i);六、数组1.以下为一维整型数组a的正确说明是_. a)int a(10); b)int n=10,an; c)int n; d)#define SIZE 10 scanf(%d,&n); int aSIZE; int an;2以下对二维数组a的正确说明是_.a)int a3; b)float

    24、a(3,4); c)double a14 d)float a(3)(4);3若二维数组a有m列,则计算任一元素aij在数组中位置的公式为_ .(假设a00位于数组的第一个位置上。) a)i*m+j b)j*m+i c)i*m+j-1 d)i*m+j+14若二维数组a有m列,则在aij前的元素个数为_. a)j*m+i b)i*m+j c)i*m+j-1 d)i*m+j+15若有以下程序段: int a=4,0,2,3,1,i,j,t; for(i=1;i=0&taj) aj+1=aj;j-; aj+1=t; . . 则该程序段的功能是_.a)对数组a进行插入排序(升序) b)对数组a进行插入排

    25、序(降序) c)对数组a进行选择排序(升序) d)对数组a进行选择排序(降序)6有两个字符数组a、b,则以下正确的输入语句是_. a)gets(a,b); b)scanf(%s%s,a,b); c)scanf(%s%s,&a,&b); d)gets(a),gets(b);7下面程序段的运行结果是_. char a7=abcdef;char b4=ABC; strcpy(a,b); printf(%c,a5); a)空格 b)0 c)e d)f8判断字符串s1是否大于字符串s2,应当使用_.a)if(s1s2) b)if(strcmp(s1,s2) c)if(strcmp(s2,s1)0) d)

    26、if(strcmp(s1,s2)0)9下面程序的功能是从键盘输入一行字符,统计其中有多少个单词,单词之间用空格分隔,请选择填空。 #include main() char s80,c1,c2= ; int i=0,num=0; gets(s); while(si!=0) c1=si; if(i=0)c2= ; else c2=si-1; if(_)num+; i+; printf(There are %d words.n,num);a)c1= &c2= b)c1!= &c2= c)c1= &c2!= d)c1!= &c2!= 10下面程序的运行结果是_. #include main() char str=SSSWLIA,c; int k; for(k=2;(c=strk)!=0;k+) switch(c) case I:+k;break; case L:continue; default:putchar(c);continue; putchar(*); a)SSW* b)SW* c)SW*A d)SW填空 1 若有定义:double x35;则x数组中行下标的下限为_0_,列下标的上限为_4_.


    注意事项

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

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




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

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

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


    收起
    展开