C语言题库1.pdf
《C语言题库1.pdf》由会员分享,可在线阅读,更多相关《C语言题库1.pdf(72页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、目录目录 1单元练习题一 C 语言基础知识3一、判断题3二、单项选择题4三、读 程 序 选 择 题 7四、程序填空题 8五、编程题 10单元练习题二C 语言程序结构10一、判断题10二、单项选择题11三、读 程 序 选 择 题 18四、程序填空题30五、编程题35单元练习题三数组36一、判断题36二、单项选择题37三、读 程序选择题39四、程序填空题 43五、编程题 49单元练习题四函数49一、判断题49二、单项选择题50三、读程序选择题52四、程序填空题 60五、编程题 63单元练习题五预处理63一、判断题63二、单项选择题64三、读程序选择题64四、程序填空题 65五、编程题 65单元练习
2、题六指针66一、判断题66二、单项选择题66三、读 程序选择题67四、程序填空题 74五、编程题 77单元练习题七结构体与共用体78一、判断题78二、单项选择题78三、读 程序选择题79四、程序填空题 83五、编程题 83单元练习题八文件84一、判断题84二、单项选择题84三、读 程 序 选 择 题 84四、程序填空题 85五、编程题 87第 一 章 C 语言基础知识(C 语言概述、算法、数据类型运算符表达式、位运算)一、判断题R 1.在 C 语言中,逗号运算符的优先级最低。2.在 C 语言可执行程序的开始执行点是程序中第一个函数。3.“5ch”是合法的变量名。R4.C 语言程序书写格式自由,
3、一行内可以写几个语句,一个语句可以分写在多行上。5.当输入数据时,必须指明变量的地址,如 scanf(,&f)N 6.表达式i+与+i在任何场合功能完全相同。7.在赋值表达式中,赋值号左边的变量和右边的表达式之值的数据类型可以不相同。R8.C语言程序中,语句以逗号结尾。()9.在 C 程序中,A PH 和 ap h 代表不同的变量。()10.a-=7 等价于 a=a-7。()Nil.printf函数中用到格式符5s,其中数字5 表示输出的字符串占用5 歹人如果字符串长度大于5,则输出按原字符长从左向右全部输出。()12.如果xy为真或ay)&(a=y)&(y=z)C)(x=y=z)13.不合法
4、的八进制数是_ _ _ _ _ _ _ _B)(x=y)AND(y=z)D)(x=y)&(y=z)A)0 B)02814、以下不能定义为用户标识符是C)077 D)01A Main B _0 C15.若 x=5,y=4 贝 Uy*=x+5;y 的值为_int D sizeof()oA.40 B.20 CB.15 D.3016、组成C 语言程序的基本单位是()。A)过程 B)子程序C)函数 D)主程序和子程序17.下列哪个标识符是C 语言合法的标识符()。A)a*b B)-xyzC)ba2 D)5iN18.若有定义:int a=7;float x=2.5,y=4.7;则表达式 x+a%3*(in
5、t)(x+y)/4 的值是()。A)2.75 B)3.5C)2.5 D)019.设 int m=l,n=2;则+m=n 的结果是()A、0 B、1 C、2 D、3N 20.若变量已定义并赋值,下列符合C 语法的表达式是:()A、a:=b+l B、a=b=c+2C、int 18.5%3D、a=a+7=c+bR(3)在 C 程序中,设一表达式中包含有int,long,unsigned和 chai类型的变量和数据,则表达式最后的运算结果类型是()A.int B.char C.unsigned D.longR21.C 语 言 中 基 本 的 数 据 类 型 包 括。A)整型、实型、逻辑型 B)整型、实
6、型、字符型C)整型、字符型、逻辑型 D)整型、实型、逻辑型、字符型N 22.若定义x 和 y 为 double类型,则表达式:x=2,y=x+5/2的值是A)4 B)4.5 C)4.0 D)3.023.在以下运算符中,优先级最高的运算符是A)?:B)+C)&D)+=24.C 语言中基本的数据类型不包括 oA)整型 B)字符串型C)字符型 D)实型25.若定义int x=7,y=5,z;则表达式:z=x+5/2*y的值是A)7 B)7.5 C)17 D)19.56.以下说法中正确的是()A、C 语言程序总是从第一个定义的函数开始执行B、在 C 语言程序中,要调用的函数必须在main。函数中定义C
7、、C 语言程序总是从main。函数开始执行D、C 语言程序中的main。函数必须放在程序的开始部分(1)设 inta=2,b;则执行b=a&l;语句后,b 的结果是()A.O B.l C.2 D.3N(2)逗号表达式(a=3*5,a*4),a+15的值是()A.15 B.60 C.30 D.757.若已经定义了一个字符型变量为a,下面哪个表达式的含义跟其余表达式不同:A)a=0 B)a!=0 C)a D)!a8.在以下运算符中,优先级最高的运算符是A),B)C)&D)+=9.在 C 语言中,逻 辑 值“真”用 表示。A)true B)大于0 的数 C)非 0 的 整 数 D)非 0 的数10.
8、表达式 是满足:当 c 的值为1、3、5 三个数中任意一个时值为“真”,否则值 为“假”的表达式A)(c=l)ll(c=3)ll(c=5)B)(c!=l)&(c!=3)&(c!=5)C)(c=1 )&(c=3)&(c=5)D)(c=l)|(c=3)ll(c=5)l.C 语言中,int类型数据占2 个字节,则 long类型数据占()A、1个字节 B、2 个字节 C、3 个字节 D、4 个字节1.下列字符串是合法的标识符的是()。A、_HJ B 9_student C、long D、LINE 12.下列说法中正确的是()oA、C 程序书写时,不区分大小写字母B、C 程序书写时,一行只能写一个语句C
9、、C 程序书写时,一个语句可分成几行书写D、C 程序书写时每行必须有行号3.在C 语言中,要求参加运算的数必须是整数的运算符是()。A、/B、!C、%D、=4.C 语言中,逻 辑”真”等 价 于()。A、大于零的数 B、大于零的整数C、非零的数 D、非零的整数6.假设在程序中a,b,c均被定义为整型,并且已赋大于1 的值,则下列能正确表示代数式1/abc的表达式是()。A、l/a*b*c B、l/(a*b*c)C、l/a/b/(float)c D、1.0/a/b/c1.下列合法的字符常量是()oA、,084 B、143 C ab*D、”02.在C 语言提供的合法的关键字是()A、switch
10、B、cher C、Case D、sturct3.若已定义x 和 y 为 double类型,则表达式:x=l,y=x+3/2的值是A、2 B、1 C、2.0 D、2.5三、程序填空题1以下程序不用第三个变量实现两个数对调的操作。#includ“stdio.hmain()(int a,b;scanf(%d,%d,&a,&b);a=;(三个字符)b=va-b;(三个字符)a=a-b;printf(M%d,%d,a,b);)2、选择程序的运行结果。main()int x=l,y=2,z,a,b,c,d;z=+xll+y;printf(x=%dn,x);printf(y=%dn,y);/*输出结果vy=
11、2(三个字符)*/a=-l;b=-2;c=+a&b+;printf(b=%dnu,b);/*输出结果vb=2(三个字符)*/3以下程序的结果为main()(unsigned int a=3,b=10;printf(dn”,av*/printf(dn”,a 2&b l);/*输出结果*/)4若x=3,y=z=4,则下列表达式的值是。(1)(z=y=x)?1:0/*值为*/(2)z=y&y=x/*值为 vl*/5已知float x=4.3,int y;执行语句y=(int)x后,x为vint型(填写小写英文字母),且y=(填写阿拉伯数字);6表达式c&d 的值为vl(填写阿拉伯数字),c&d 11
12、!(3+4)的值为vl(填写阿拉伯数字)。7若x为int类型,则与逻辑表达式“x”等价的表达式是,与逻辑表达式“!x”等价的表达式是vx=0 o8表 示“整数x的值大于5 时逻辑值为“真”的表达式是v x 5 ,逻辑值为“假”的表达式是vx9 已知字母A 的 ASCII码为十进制数6 5,且设c h 为字符型变量,则表达式ch=,A-4+9 的值为v F (一个字符常量):若定义:charc=72;则变量c 中包含的字符个数为 1 (数字)。10、C 语言所提供的基本数据类型的整型类型包括:短整型、整型、长整型。(按每种类型所占字节数,从小到大排列)第 二 章 C 语言程序结构(顺序程序设计、
13、选择结构程序设计、循环控制)一、判断题1.do-while语句中的条件为非。时,就结束该循环。2.在switch-case语句中,不是每个case后都要使用break语句。()3.Break语句只能用于循环结构中。()4 8.未给变量赋初值,只是运行结果不正确,不会有其他不良影响。()5、switch语句中,可以不使用break语句;6、for语句中,三个表达式都可以省略;7(7)在 for循环中使用break语句的目的是使流程跳出循环体,终止当前循环8.continue语句只能用于循环语句中。()9.while语句中的条件为0 时,就结束该循环。10.在循环体内使用break语句或conti
14、nue语句的作用相同。()在 C 语言中,逻辑值“真”用 表 示。11)1 12)大于0 的数 13)非 0 的 整 数 14)非 0 的数在循环语句的循环体中,continue语句的作用是()。15)立即终止整个循环 16)继续执行continue语句之后的循环体17)结束本次循环 18)结束本次循环并跳出循环语句while(!e);中,条件!e 等价于()19.e=0 20.e!=0 21.e!=l 22.e=l设 int c=5 和 int a;a=2+(c+=c+,c+8,+c),贝 ij a=23)15 24)14 25)13 26)16若要表示if(a 不等于0)这一关系式,则能正
15、确表示这一关系的表达式为if()27)aoO 28)!a 29)a=0 30)a二、单项选择题N1、以下不是死循环的语句是while(1)x+;for(;x+i);for(i=10;i-)sum+=i;for(;(c=getchar()!=n ;)2.设有程序段int k=10;printf(%c”,c);while(k=0)k=k-1 ;以下描述正确的是()。A.循环体语句一次也不执行。C.w hile循环语句执行十次。N 3.对下述程序,正确的判断是(main()B.循环是无限循环。D.循环体语句执行一次。int a,b;scanf(d,%d”,&a,&b);if(ab)a=b;b=a;e
16、lse a+;b+;printf(%d,%d,a,b);main()(A.有语法错误不能通过编译C.若输入5,4 则输出4,5R 4.以下程序B.若输入4,5 则输出5,6D.若输入5,4 则输出5,5int i=010,j=10,k=Ox 10;printf(n%d,%d,%dn,i,j,k);有语法错误不能通过编译输出结果是()R 5.若变量已正确说明为血 类型,要给a,b,c输入数据,以下语句正确的是一A)read(a,b,c);B)scanf(%d%d%d,a,b,c);C)scanf(D%D%D,&a,%b,%c);D)scanf(d%d%d,&a,&b,&c);R6.已知在ASCI
17、I字符集中,数字0 的序号为4 8,下面程序的输出结果为main()A.8,10,16 B.8,10,10C.10,10,10 D.10,10,16char x,y;x=O;y=9;pirntf(d,%dn”,x,y);)A)因输出格式不合法,输出错误信息 B)48,57C)0,9 D)48,587.语句 for(k=0;k=y=z,应使用C 语言表达式_ _ _ _ _ _ _ _ _ _ _A)(y=z)Q(x=y=z)B)(x=y)AND(y=z)D)(x=y)&(y=z)6.若变量已正确定义,语 句“if(ab)k=O;elsek=l;和 等价。A、k=(ab)?l:O;C、k=ab;
18、D、a=b?0:1;9.以下程序的输出结果是void main()ini a=2,b=5;printf(a=%d,b=%d”,a,b);)A)a=%2,b=%5 B)a=2,b=5C)a=%d,b=%d D)a=%d,b=%dN10.以下程序的输出结果是void main()int x=10,y=10;printf(%d%dn”,x-,-y);)A)10 10 B)9 91L若要表示if(a 不等于0)这一关系式,if()A)a0 B)!aR12对于循环语句while(1 );下 面(A、死循环C、不进入循环体13.下面程序的输出是(假设in t数据是void main()int a=3276
19、8;printf(a=%dn”,a);)A)a=32768 B)a=3276714.表达式 是满足:当 c 的值:为“假”的表达式0 9 10 D)10 9则能正确表示这一关系的表达式为C)a=0 D)a)是正确的B、循环一次D、编译有错2 个字节)C)a=-32768 D)a=-11、3、5 三个数中任意一个时值为“真”,否则值A)(c=l)ll(c=3)ll(c=5)C)(c=l)&(c=3)&(c=5)N 15.以下程序段的输出结果是int x=3;doB)(c!=l)&(c!=3)&(c!=5)D)(c=l)ll(c=3)ll(c=5)printf(M%3d,x-=2;while(!(
20、x);A)B)3 0C)1 -2 D)死循环1 6、数字字符0的ASCH值为4 8,若有以下程序m a i n()(c h a r a=r,b=2,;p r i n t f(G”,b+);p r i n t f(d n”,b-a);)程序运行后的输出结果是A 3,2 B 5 0,2 C 2,2 D 2,5 01 7、有以下程序m a i n()(i n t a,b,d=2 5;a =d/1 0&(-l);b =a&(-1);p r i n t f(d,%d n”,a,b);)程序运行后的输出结果是A 6,1 B 2,1 C 6,0 D 2,01 8 .若定义f lo a t a;现要从键盘输入
21、a的数据,其整数位为3位,小数位为2位,则选用()oA)s c a n f(*%f ,&a);B)s c a n f(%5.2 f ,a);C)s c a n f(6.2 f ,&a);D)s c a n f(n%f ,a);1 9.若 定义i n t i;则以下循环语句的循环执行次数是()of o r(i=2;i=0;)p r i n t f(,%du,i-);A)无限次 B)0次C)1次 D)2次2 0 .下面程序段x=3;d o(y=x-;i f(!y)p r i n t f(Hx);c o n t i n u e;p r i n t f(M#M);)wh i le(l=x=2);A)将
22、输出#B)将输出#*C)是死循环 D)含有不合法的控制表达式2 1.以下程序中,wh i le循环的循环次数是()。#i n c lu d e “s t d i o.h main()i n t i=0;while(i10)if(i5)printf(%d,x);else printf(,r%dn”,x-l);A.7 和 5 B.6 和 3 C.7 和 4 D.6 和 4(6)语句while(!e);中,条件!e 等价于()A.e=O B.e!=O C.e!=l D.e=OR25下面程序的输出是main()(int k=ll;printf(nk=%d,k=%o,k=%xnn,k,k,k);A)k=
23、ll,k=12,k=13C)k=ll,k=013,k=oXbB)k=ll,k=13,k=13D)k=ll,k=13,k=b26(7)下面程序的运行结果是()m a i n()int i=l,sum=O;lop:sum=sum+i;i=i+2;if(i6)goto lop;printf(u sum=%dn,r,sum);A.sum=4 B.sum=9 C.sum=16D.sum=252 7.以下程序的输出结果是void main()int a=2,b=5;printf(a=%d,b=%d,a,b);)A)a=%2,b=%5 B)a=2,b=5C)a=%d,b=%d D)a=%d,b=%d28执行
24、下面的程序后,a 的值为main()int a,b;for(a=l,b=1 ;a=20)break;if(b%3=l)b+=3;continue;b-=5;)A)7 B)8C)9 D)102930.下面的程序会()main()int x=3,y=0,z=0;if(x=y+z)printf(*”);else printf(#);)A、有语法错误不能通过编译 B、输出*C、可以通过编译,但不能通过连接,因而不能运行 D、输出#4.以下程序的输出结果是()main()int x=10,y=10,i;for(i=0;x8;y=+i)printf(u%d%d,x-,y);)A 10 1 9 2 B、9
25、8 7 6 C 10 9 9 0 D 10 10 9 11.下面程序的输出是main()(int k=ll;printf(,k=%d,k=%o,k=%xn,k,k,k);)A)k=11 ,k=12,k=13 B)k=ll,k=13,k=l3C)k=ll,k=013,k=oXb D)k=ll,k=13,k=b2.两次运行下面的程序,如果从键盘上分别输入6 和 4,则输出结果是一main()(int x;scanf(n%d,&x);if(x+5)printf(%dn,x)else printf(n%dn,x);)A)7 和 5 B)6 和 3C)7 和 4 D)6 和 43.读程序#include
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 题库
限制150内