《C语言题库1.pdf》由会员分享,可在线阅读,更多相关《C语言题库1.pdf(72页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
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
26、 stdio.hmain()int a;float b,c;scanf(n%2d%3f%4f;&a,&b,&c);printf(,na=%d,b=%f,c=%fn,a,b,c);)若运行时从键盘上输入9876543210vCR(表示回车),则上面程序的输出结果是A)a=98,b=765,c=4321B)a=l,b=432,c=8765C)a=98,b=765.000000,c=4321.000000D)a=98,b=765.0,c=4321.05.下面程序的输出是一main()int x=3,y=6,a=0;while(x+!=(y-=l)(a+=l;if(yx)break;)printf(n
27、x=%d,y=%d,a=%dn,x,y,a);)A)x=4,y=4,a=l B)x=5,y=5,a=lC)x=5,y=4,a=3 D)x=5,y=4,a=l6.7.8.8.三、程序填空题F l.以下程序可判断输入的一个整数是否能被3 或 7 整除,若能整除,输 出“yes”,否则输出“no”。请填空。#include stdio.hvoid main()(int k;printf(u Enter a int number:);scanf(a%dff,);if()printf(yesn);elseprintf(nonn);)N2.下面程序的功能是计算1-3+5-7+-99+101的值。main(
28、)(int i,t=l,s=O;for(i=l;i=101;i+=2)(t=;s=s+t;t=;printf(dn”,s);F3.卜面程序的功能是从键盘上输入若干学生的学习成绩,统计并输出最高成绩和最低成绩,当输入为负数时结束输入。m a i n()f lo a t x,a m a x,a m i n;s c a n f(H%r,&x);a m a x=x;a m i n=x;wh i le(=0 )i f(x a m a x)a m a x=x;i f(x)a m i n=x;s c a n f(u%r,&x);)p r i n t f(,n a m a x=%f n a m i n=%f
29、n,a m a x,a m i n);)F 4.下面程序的功能是计算1 0 0至1 0 0 0之间有多少个数其各位数字之和是5。#i n c lu d e “s t d i o.h vo i d m a i n()(i n t i,s,k,c o u n t=0;f o r(i=1 0 0;i =1 0 0 0;i+)s=0;k=i;wh i le(k)(s=s+k%1 0;k=;)i f()c o u n t+;)p r i n t f(%d”,c o u n t);)F5下列程序功能是求数组中主对角线元素之和,请补充完成m a i n()i n t a 3 3 ,i,j,s=0;f o r
30、(i=0;i 3;i+)f o r(j=0;j 3;j+)s c a n f(u%dn,);f o r(i=0;i 3;i+)f o r(j=0;j 3;j+)i f()s+=a i j|jj;p r i n t f(ns=%d nM,s);)R 6.下面程序的功能是:输入一个字符,如果它是一个大写字母,则把它变成小写字母,如果它是一个小写字母,则把它变成大写字母,其它字符不变,请将程序补充完整:main()char ch;scanf(%c,&ch);if(ch=A&ch=,Z,)ch=ch+32;else if(=a&ch v二z);printf(,ch);R7.请将用户输入的x,y,z三个
31、整数按照从小到大的顺序排列main()(int x,y,z,t;scanf(%d,%d,%d,&x,&y,&z);if(xy)t=y;y=x;x=t;if(z)t=z;z=x;x=t;if(z)t=y;y=z;z=t;printf(small to big:%d,%d,%dn,x,y,z);)F 8.以下程序从读入的整数数据中,统计大于零的整数个数和小于零的整数个数。用输入零来结束输入,程序中用i统计大于零的个数,用变量j统计小于零的整数。请填空。void main()int n,i,j;i=0;j=0;printf(a Enter INT numbers,with 0 to endn n);
32、scanf(“%d”,&n);while()if(n0)i=i+:if(n0)j=j+;;)printf(i=%4dj=%4dn,i,j);)F 9.以下程序用“辗转相除法”来求出两个正整数的最大公约数。请填空。若两个数分别放在m和n中,求最大公约数的算法如下:(1)将两数中最大的那个放在m中,小的放在n中。(2)求出m被n除后的余数r。(3)若余数为0 则执行步骤(7);否则执行步骤(4)。(4)把除数作为新的被除数;把余数作为新的除数。(5)求出新的余数r。(6)重复步骤到(5)。(7)输出n,n 即为最大公约数。void main()int r,m,n;printf(Eulerscanf
33、(d%d”,v&m,&n);printf(a m=%d n=%dn,m,n);if(mn)r=m;m=n;n=r;r=;while(r!=0)m=n,n=r,r=m;printf(uH.C.F=%dn,n);)R IO,以下程序可判断输入的个字符是否为小写字母,如果是,则转换为对应的大写字母并输出;否则,就原样输出。请填空。#include stdio.h void main()char k;printf(u Enter a character here:w);scanf(a%c9f,);if(=,a&kv二 z)printf(cn”,k32);elseprintf(%cn,k);1.程序打印
34、如下形式的图形*main()fbr(int i=l;i=4;i+)fo r(in tj=l;j+)p r in tf();p r in tf();)2.充下列程序,找 出 100200之间的全部素数#include math.hmain()int m,k,i,n=0;for(m=101;m=200;m=m+2)(k=sqrt(m);for(i=2;(6);i+)if(7)_ _)break;if(8)printf(%d,m);n=n+1;if(n%10=0)printf(“n );printf(n”);I3.第三章数组一、判断题1.字符串“girl”大于字符串“good”。2.C 语言中有字符
35、串变量,与字符数组等价。()R3.同一数组可以存储不同类型的值。()N4.若有:inta23;则 a+1 和 a l 的值以及类型都一样。()R5.字符A0的值就是0。)6.C 语言中是用字符串变量来存放字符串。()7.表达式 sizeof(abc)的值是 4。()N 8.同数组的名字一样,函数的名字也是一种指针。()9、C 语言中在定义数组时,一个数组的数组元素的数据类型可以不相同;10、char al0;al0=9;上述语句编译不会出错;R11.数组元素的下标是从1 开始标号的。()N12.若a 为 一维数组 名,则*(a+i)与 ai等价。()13.循环语句中的continue语句的作用
36、是结束整个循环。()14.字符串That小于字符串the。()15.字符个数多的字符串比字符个数少的字符串大。()有以下语句:int b;charc10;,则正确的输入语句是16)scanf(%d%s,&b,&c);17)scanf(%d%s,&b,c);18)scanf(%d%s,b,c);19)scanf(%d%s,b,&c);已有定义:char a=xyz,b=x,y,z,;,以下叙述中正确的是2 0 数组a 和 b 的长度相同 21 a 数组长度小于b 数组长度22 a 数组长度大于b 数组长度设有数组定义:c ha r a r r a y =C hi n a ;则数组a r r a
37、y所占的存贮空间为 个字节.2 3 4 2 4 5 2 5 6 2 67若定义i n t x 10;则T u r b o C编译系统为该数组分配个字节存储单元。2 7.1 0 2 8 .1 12 9 .2 0 3 0 .2 1二、单项选择题R1、对两个数组a和b进行如下初始化c ha r a =A B C D EF ;c ha r b =A,;BC DE P ;则以下叙述正确的是()A)a与b数组完全相同 B)a与b长度相同C)a和b中都存放字符串 D)a数组比b数组长度长R2.若有说明:i n t a 3 4 ;则对a数组元素的正确引用是()A.a 2 4 B.a l,3 R3.合法的数组定
38、义是()C.a l+U 0 D.a(2)(l)A、i n t a =s t r i n g ;B、i n t a 5 =0,l,2,3,4,5 ;C、v hs t s=,s t r i n gu;D、c ha r a口=0,1,2,3,4,5 ;4.以下正确的声明是()oA.i n t a l 4 =l,2,3,4,5);C.l o n g b 2 3 =l ,1,2 ,1,2,3);5下列语句的执行结果是()。s t a t i c c ha r s t r 1 0 =w c hi n a w ;p r i n t f(%dv,st r l en(st r);B.fl oa t x 3 =l
39、 ,2 ,3 );D.d oub l e y 3 =0 ;A.1 0 B.6C.5 D.OR6、以下能正确定义一维数组的选项是A int a 5 J=0,1,2 3,4,5 ;B c ha r 叫=0,1,2,3,4,5 ;C c ha r a=A?B?C ;D int a 5 =0 1 2 3;7 .下面程序段的运行结果是()oc ha r a 7 =,?a b c d ef,;c ha r b 4 =w A BC”;st r c p y(a,b);p r int f(%c,a 5 );A.空格 B A OC.e D.f8定义如下变量和数组,则输出结果是(int i;int x 3 3 =1
40、,2,3,4,5,6 7,8,9);for(i=0;i3;i+)p r int f(n%d,x i 2-i);A.l 5 9 B.l 4 7 C.3 5 7)。D.3 6 99,下列对一维数组a的正确说明语句为()oA)int a(1 0);B)int n=1 0,a n;C)int n;sc a nf(”d”,&n);int a n;D)#d efine S I ZE 1 0 int a S I ZE ;1 0 .下列二维数组的说明中,不正确的是()A、fl oa t a 3*8J7-3 B、fl oa t a JL 3 J=0 J,8;C、#d efineL 3 fl oa t a L 3
41、 D、int a 6 ,7 1 1 .执行以下程序段后,s的值是int a =5,3,7,2/5 40 ;int s=0,k;for(k=0;k 8;k+=2)s+=*(a+k);A、1 7 B、2 7 C、1 3 D、无定值1 2 .若有定义:c ha r c 1 0 ;从键盘输入“L iF a ng”,则正确的函数引用是()A.sc a nf(,&c 1 0 );B.get s(c);C.sc a nf(%s ,&c);D.get s(c 1 0 );N13.以下程序的输出结果是 om a in()c ha r si2 0 =uC hina ,s2 2 0 =for”if(st r c m
42、 p(sl,s2)p r int f(%s n ,st r c a t(s2,sl);el sep r int f(%dn ,st r ien(sl);)A)C hina for B)5 C)for C hina D)31 4选择下面程序运行的结果:#inc l ud e“st d io.hint m 3 3 =l ,2 ,3 );int n3 3 =1,2,3);m a in()(p r int f(,%d n,m l 0 +n0 f0 );p r int f(n%d nn,m l O J 1 J+n 1 JI O J);第1条p r int f语句行输出的结果为()A、0 B、1 C、3
43、D、2R 1 5 (9)以下对维数组a中的所有元素进行正确初始化的是()A.int a 1 0 =(0,0,0,0);B.int a 1 0 =;C.int a =0 ;D.int a 1 0 =1 0*2);1 6 (1 0)(8)若定义int x 1 0 J厕T ur b o C编译系统为该数组分配()个字节存储单元。A.1 0 B.l l C.2 0 D.2 11 7 (9)以下对一维数组a中的所有元素进行正确初始化的是()A.int a 1 0 1=(0,0,0,0);B.int a 1 0 =;C.int a =0 ;D.int a 1 0 =1 0*2);N1 8.有如下程序m a
44、 in()int a 3 3 =l,2),3,4 ,5,6 ,i,j,s=O;for(i=l;i3;i+)for(j=0;j4 5 6 空格7 89 回车,输出结果是()。#inc l ud e st d io.hm a in()c ha r s 1 0 0 ;int c,i;sc a nf(c”,&c);sc a nf(%d,&i);sc a nf(u%sM,s);p r int f(M%c,%d,%s n,c,i,s);)A、1 2 3,4 5 6,7 89 B、1,4 5 6,7 89 C、1,2 3,4 5 6,7 89 D、1,2 3,4 5 62 0.以下程序的输出结果是m a i
45、n()c ha r st r 1 2 =,s,;t;r V i;n V g,);p r int f(n%d nn,st r l en(st r);(st r l en 不算 0,siz eof 算 0)A)6 B)7C)1 1 D)1 22 1.合法的数组定 义 是()A、int a =nst r ing;B、int a 5 =0,l,2,3,4,5);C、v hst s=nst r ingu;D c ha r a =0,1,2,3,4,5 ;2 2.以下正确的声明是 oA.int a l 4 =l,2,3,4,5);B.fl oa t X3 =1 ,2 ,3 ;C.l ong b 2 3 =
46、l ,1,2 ,1,2,3 ;D.d oub l e y 3 =0 ;N23.阅读下面程序,回答问题。#include a stdio.h*void main()(int i,j row,column,m;static int array33=100,200,300),28,72,-30,-850,2,6;m=array00;for(i=0;i3;i+)for(j=0;j3;j+)if(arrayijm)(m=arrayij;row=i;column=j;)printf(%d,%d,%d”,m.row.column);)该程序的功能是()oA、计算二维数组的元素和B、求二维数组的最小值及其下标
47、C、对二维数组进行排序D、求二维数组的最大值及其下标2 4.若有以下程序段:int a=4,0,2,3,l,k,j,t;for(j=l;j=O&tak)ak+l=ak;k-;)a|k+1 =t;)则该程序段的功能是_(8)A)对数组a 进行插入排序(升序)。B)对数组a 进行插入排序(降序)。C)对数组a 进行选择排序(升序)。D)对数组a 进行选择排序(降序)。N 25.执行如下程序段,当输入为I amW,输出的结果是。char str(80J;scanf(%s”,str);strcat(str,n sad!);printf(u%sn,str);A)I am sad!B)Isad!C)I s
48、ad!D)sad!8.9.4.4、3.main()int a 10=1,2,3,-4,5,6,7,-8,9,10,s=0;for(int i=0;i10;i+)if(ai0)break;s+=ai;)printf(%d,s);)(3)下面程序的输出是#include“stdio.h#include stdlib.h main()char strl20,str220;scanf(%s ,strl);/从键盘输入 hello worldprintf(s,strl);输出结果 1fflush(stdin);gets(str2);从键盘输入 crazy englishprintf(%s*str2);输
49、出结果 2输出结果1是:(A)Hello(B)World(C)Hello World(D)World Hello输出结果2是:(A)Hello(B)World(C)Hello World(D)World Hello7.1.选择下面程序运行的结果:#include“stdio.hint m33=l,2,3);int n33=1,2,3);main()printf(n%dnn,ml0+n00);printf(n%dnH,mO 1+n 1 0);第1条printf语句行输出的结果为()A、0 B、1 C、3D、22.还是刚才1题那个程序,第 2 条 printf语句行输出的结果为()A、2 B、4
50、C、6 D、05.函数调用:strcat(strcpy(strl,str2),str3)的功能是()A、将串strl复制到串str2中后再连接到串str3之后;B、将串strl连接到串str2之后再复制到串str3之后;C、将 串 str2复制到串strl中后再将串str3连接到串strl之后;C、将串strl复制到串str2中后再将串str3连接到串str2之后;三、程序填空题F1整型数组求和int al0=0,1,2,3,4,5,6,7,8,9,sum=0,*pa;pa=a;for(pa=a;(pa-a);()sum=sum+*pa;F2.下面函数的功能是将一个字符串逆序存放,请填空。#i