《c语言题库全.pdf》由会员分享,可在线阅读,更多相关《c语言题库全.pdf(143页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、下列叙述中错误的是()算法正确的程序最终定会结束。算法正确的程序可以有零个输出。算法正确的程序可以有零个输入。算法正确的程序时于相同的输入一定有相同的结果。B下列叙述中错误的是()。C程序必须由个或个以上的函数组成。函数调用可以作为一个独立的语句存在。若函数有返回值,必须通过return语句返回。函数形参的值也可以传回给对应的实参。DC语言源程序名的后缀是()。.exe.c.obj.cpB下列叙述中错误的是()。用户定义的标示符允许使用关键字。用户定义的标示符应做到“见名知意”。用户定义的标示符必须以字母或下划线开头。用户定义的标示符中大、小写字母代表不同标示。A下列关于函数的叙述正确的是()
2、o每个函数都可以被其他的函数调用(包含main函数)。每个函数都可以被单独编译。每个函数都可以单独运行。在一个函数内部可以定义另一个函数。“B下列不合法的用户标示符是()。j2_key_int4d8_.C下列定义变量的语句中错误的是()oint _ in t;double int;char for;float us$;D按照C语言规定的用户标示符命名规则,不能出现在标示符中的是(大写字母连字符数字字符下划线 B对于一个正常运行的C程序,下列叙述正确的是()。程序的执行总是起止于m a i n函数。程序的执行总是从第一个函数开始,结束于m a i n函数程序的执行总是从m a i n函数开始,在
3、最后个函数结束程序的执行总是从第一个函数开始,在最后一个函数结束A下列叙述正确的是()oC语言程序从源程序中第一个函数开始执行可以在程序中由用户指定一个函数作为主函数,程序将从此开始执行C语言规定必须用m a i n作为主函数名,程序从此开始执行,在次结束m a i n可作为用户标示符,可以命名任意一个函数作为主函数飞下列叙述正确的是()。C程序中的注释只能出现在程序的开始位置C程序书写格式严格,要求一行只能写一个语句C程序书写格式自由,一行可以写多条语句用C语言编写的程序只能放在一个程序文件中 c下列不合法的数值常量是()。0 1 1l e i8.O e O.5O x a b c可在C程序中
4、用作用户标识符的一组是()。a n d 2 0 0 7d a t e y-m-dh i d r.t o mc a s e b i g l A下列关于l o n g、i n t和s h o r t类型数据占用内存大小的叙述正确的是()。均占4个字节根据数据的大小来决定所占内存的字节数由用户自己定义由C语言编译系统决定 D设变量已正确定义并赋值,以下正确的表达式是()。x=y*5=x+zi n t(1 5.8%3)x=y+z+3,+yx=25%5.0C设有定义:int k=l;float f=7;则下列选项中错误的表达式是()。k=k=k-k+k%int(f)k=f=mC表达式3.6-5/2+1.
5、2+5%2的值是()。4.34.83.33.8“D下列叙述中错误的是()oC程序中的#111(:11116和#define行均不是C语句除逗号运算符外,赋值运算符的优先级最低C程序中,j+;是赋值语句C程序中,+、-、*、%是算术运算符,可用于整型数和实型数的运算D下列选项中,当x为大于1的奇数时,值为0的表达式是()ox%2=lx/2x%2!=0 x%2=0 D下列叙述中错误的是()oC语句必须以分号结束复合语句在语法上被看作一条语句空语句出现在任何位置都不会影响程序运行赋值表达式加上分号就构成赋值语句飞下列正确定义且赋初值的语句是()oint nl=n2=10;char c=32;floa
6、t f=f+l.1;double x=12.3E2.5B若变量已1E确定义并赋值,下列合法的语句是()ox=y=5x=n%2.5x+n=ix=5=l+4A以下定义正确的是()。i n t a=b=0;c h a r A=6 5+l,b=b;f l o a t a=1,b=&a,c=&b;d o u b l e a=0.0;b=l.1;B有下列程序:*m a i n()*c h a r a l=,M,a.2-m;S p r i n t f(z/%c nz,,(a l,a 2);*卜.列叙述正确的是()。程序输出M程序输出m格式说明符不足,编译出错程序运行时产生出错信息 B有下列程序:*m a i
7、 n()*i n t x,y,z;*x=y=l;*z=x+,y+,+y;*p r i n t f (z,%d,%d,%d n”,x,y,z);*)*程序运行的结果是()o2,3,32,3,22,3,12,2,1飞设有定义:i n t k=0;下列选项的4 个表达式中与其他3 个表达式的值不同的是()。k+k=k+l+kk+1 A在 C 语言中,以下说法不正确的是()。在 C 程序中,整数和实数都能被准确无误的表示出来在 C 程序中,任何一个变量名都代表存储器的一个位置静态变量的生存周期与整个程序的运行期相同C 语言中,任何变量都必须先声明才能进行引用A若有以下定义和语句:*i n t a=01
8、0,b=0 x 10,c=10;*printf(绘d,%d,%dn,z,a,b,c);*则输出结果是()o8,10,1010,10,108,8,108,16,10 D设C语言中,flo a t类型数据占4个字节,则double类型数据占()个字节。1284C以下正确的实型常量()0E3.4-123452.2e0.84B设in t类型的数据长度为2个字节,则unsigned in i类型数据的取值范围是()。0255065535-3276832767-256255 B设a和b均为in i型变量,且a=6,b=ll,则能使值为3的表达式是()。b%(a%4)b%(a-a%5)b%a-a%5(b%a
9、)-(a%4)D已定义变量a为整型,则不能正确表示9a14的表达式是()。!(9a&a9&a14!(a=14)A以下程序运行的结果是()o*#include*main()*int a=3,b=4,c=8,d=4,m=l,n=3;*printf(/%dn/,(m=ab)&(n=cd)*0123A能正确表示“当x的取值范围在 1,10和 100,110范围内为真,否则为假”的表达式是()。(x=l)M(x=100)&(x=l)|(x=100)|(x=l)&(x=100)&(x=l)|(x=100)|(x=110)若有定义:int a=4,b=5;float x=3.4,y=2.1;则下面表达式的值
10、为()*(float)(a+b)/2+(int)x%(int)y5.5555.50000055.00000飞若a为in i型变量,则执行以口语句后,a的值为()。*a=5;a+=a-=a*a;25-4040-14B若已定义x和y为整型变量,且x=7,则表达式y=2.3+x/2的值是()。655.06.0“B有以下程序:*main()*int y=l,x=2,z=3;*printf(%d,%dn”,(+x,y+),z+2);*执行后的输出结果是()o3,52,53,31,5 D以卜.程序的输出结果是()o*main()*int a=1,b=2;*p r i n t f C%d,%d n?/,a,
11、+b);*1,21,30,20,3、DC语言程序的执行是()。从程序的主函数开始,到程序的主函数结束从程序的主函数开始,到程序的最后一个函数结束从程序的第一个函数开始,到程序的最后一个函数结束从程序的第一个函数开始,到程序的主函数结束A下面说法正确的是()。一个C程序可以有多个函数一个C语言的函数中只允许有一对花括号C语言一个语句可以写在一行内,也可以写在多行内在对C程序进行编译时、可以发现注释行中的拼写错误c以下说法正确的是()。C程序是以函数为基本单.位的,整个程序由函数组成c语言程序的条语句可以写在不同的行上C程序的注释行对程序运行不起作用,所以注释应该尽可能少写C程序的每个语句都以分号
12、结束c以下标示符不是关键字的是(b r e a kc h a rS w i t c hr e t u r n飞若要求定义具有10个i n t型元素的一维数组a,则下列定义语句中错误的是()。4d e f i n e N 10*i n t a N#d e f i n e n 5*i n t a 2*n i n t a 5+5 i n t n=10,a n D卜设有如下程序段*c h a r s 20=B c i j i n g,*p;*P=s;*则执行P=S:语句后,以下叙述正确的是()o可以用*P表示s 0S数组中元素的个数和P所指字符串长度相等s和P都是指针变量数组S中的内容和指针变量P中的
13、内容相同A下列数组定义中错误的是().i n t x 3=0;i n t x 2 3=(1,2,3,4,5,6 ;i n t X 3=1,2,3,4,5,6 );i n t x 2 3 =1,2,3,4,5,6);B有以下程序:*m a i n()t i n t i,t 3 =(9,8,7,6,5,4,3,2,1);*f o r(i=0;i 3;i+)p r i n tf t 2-i i );*程序执行后的输出结果是()o7 5 33 5 73 6 97 5 1B若有定义语句:i n t a 3 6 ;,按内存中的存放顺序,a数组的第10元素是()。a 0 4 a l 3 a 0 3 a l
14、4“B以卜错误的定义语句是()oi n t x 3 =0),1,1,2,3);i n t x 4 3 =1,2,3,1,2,3,1,2,3);i n t x 4 =(l,2,3),(1,2,3),(1,2,3);i n t x 3 =l,2,3,4):飞以下不正确的定义语句是().d o ub l e x 5 =l.0,2.0,3.0,4.0,5.0);i n t y 5 =0,1,2,3,4,5);c h a r c =l,2,3,4,5;c h a r c 2 =a,b,c;B若有以下定义,则正确引用数组元素的是()*i n t a 5 ,*p=a;*&a 5*a+2*(p+5)*(a+2
15、)D若有说明:i n t a 3 =0,0;则不正确的叙述是()。数组a的每个元素的初值都是0数组a的第一维大小为1数组a的行数为1只有元素a 0 0 和a 0 1初值为0,其余元素得不到初值01)下列二维数组初始化语句中,不正确的是()oi n t b 2 =l,2,3,4,5,6,7);i n t b 3 5 =(0,0,0;i n t b 4 =l,2,3,4,5,6;i n t b 3 2 =(1,2),(3,4),(5,6);“D有以下程序:*m a i n()*i n t a a 5 5 =(l,2,3,4),(5,6,1,8 1,5 9,10,2),(1,2,5,6;*i n t
16、 s=0,i;*f o r(i=0;i 4;i+)*s+=a a i 2 ;print fs);*)*程序运行后的输出结果是()o2 619102 0B*以卜程序的输出结果是*#i n c l ud e*m a i n()*i n t a 5 =2,4,6,8,10,*p;*p=a;p+;*p r i n tf C%d ,*p);*)*以卜程序的输出结果是 o*#i n c l ud e*v o i d swa p(i n t*a,i n t*b)*(*i n t*t;*t=a;a=b;b=t;*)*m a i n()*(*i n t i=3,j=5,*p=&i,*q=&j;*swa p (p
17、,q);p r i n tf (z,%d%d”,*p,*q);*下面程序段的运行结果是 。*c h a r str =A B C D ,*p=str;*p r i n tf(%d n”,*(p+3);设已有定义:f l o a t x;,则下列对指针变量p 进行定义且赋初值的语句中正确的是()。f l o a t*p=10 2 4;i n t*p=(f l o a t)x;f l o a t p=&x;f l o a t*p=&x;“D设有定义语句i n t(*f)(i n t);,则以下叙述正确的是()of 是基类型为i n t的指针变量f 是指向函数的指针变量,该函数具有一个i n t类型
18、的形参f 是指向i n i 类型一维数组的指针变量f 是函数名,该函数的返回值是其类型为i n t类型的地址“B设有定义:i n t n l=0,n 2,*p=&n 2,*q=&n l;,以下赋值语句中与n 2=n l;语句等价的是()。*p 二*qP=q*p=&n l;P=*qA在 16 位编译系统上,若有定义i n t a:10,2 0,3 0),*p=&a;,当执行p+;后,下列说法错误的是()。P 向高地址移了一个字节P 向高地址移了一个存储单元P 向高地址移了两个字节P 与 n+1等价A若有定义语句:i n t k 2 3 ,*p k 3 则下列语句中正确的是()。p k 二 k;p
19、 k 0 =&k l 2 ;p k=k 0 ;p k l =k;B若有定义:c h a r(*p)6 ;则 标 识 符 口()。是一个指向字符型变量的指针是一个指针数组名是一个指针变量,它指向一个含有6 个字符型元素的一维数组定义不合法下面程序段的运行结果是()。#includevoid main()char str 口=“abc,*p二 s tr;p rintf(drT,*(p+3);670字符C 的地址字符cB若有以下定义,则对a 数组元素的正确引用是()oint a5,*p=a;*&a5*a+l*(p+5)*(a+2)D若变量a 和 b 已定义为in t类型并赋值21和 5 5,要求用p
20、 rin tf函数以a=21,b=55的形式输出,请写出完整的输出语句(prinlf(a=%d,b=%d,a,b)*执行下列程序时,输入1234567,则输出结果是。*#include*main()*int a=l,b;*scanf(%2d%2d”,&a,&b);p rinlf(d%dn”,a,b);*数字字符0 的ASC|值为4 8,运行下列程序的输出结果是()。main()char a-T,b=,2;printf(线c,b+);printf(*dn,b-a);)3,250,22,22,50飞卜.列不合法的字符常量是()0018,、,xcc、A下列能正确定义字符串的语句是()。char st
21、r=;064;char str=kx43;char str=,;char s tr=0;D下列合法的字符型常量是()oxl3 08165 nA已知大写字母A的ASC|1码是6 5,小写字母a 的ASC|码是97。卜.列不能将变量c 中的大字字母转换为对应小写字母的语句是()。c二(cA)%26+ac=c+32c=c,A +a,c=C A,+C)%26-aD己知字符A的ASC|码值是65,字符变量c l的值是A,c2的值是D。执行语句printfCd,%d,cl,c2-2);后,输出结果是()oA,BA,6865,6665,68C下列正确的字符串常量是()o abcOlympic GamesD要
22、求通过while循环不断读入字符,当读入字母N时结束循环。若变量己正确定义,下列正确的程序段是()owhile(ch=getchar()!=,N*)printf(%c”,ch);while(ch=getchar()!=N)printf(z/%c/z,ch);while(ch=getchar()=,N,)printf(绘c”,ch);while(ch=getchar()=N)printf(%c,ch);A有以卜.程序段()ochar ch;int k;ch=a);k=12;p r i n tf (%c,%d,”,c h,c h,k);p r i n tf (k二%d n”,k);己知字符a的A
23、SC I卜卜进制代码为9 7,则执行上述程序段后输出结果是因变量类型与格式描述符的类型不匹配输出无定值输出项与格式描述符个数不符,输出为零值或不定值a,9 7,12 k=12a,9 7,k=12有定义语句:i n t b;c h a r c 10 ;,则正确的输入语句是()。sc a n f&b,&c);sc a n f (%d%s”,&b,c);sc a n f (z,%d%s/,b,c);sc a n f b,&c);“B设有定义:i n t a;f l o a t b;,执行sc a n f (螺2 d%f,&a,&b);语句时,若从键盘输入8 7 6 5 4 3.0 ,a和b的值分别是
24、()。8 7 6 和 5 4 3.0 0 0 0 0 08 7 和 6.0 0 0 0 0 08 7 和 5 4 3.0 0 0 0 0 07 6 和 5 4 3.0 0 0 0 0 0B设变量均已正确定义,若要通过sc a n f(%d%c%d%c,&a l,&c l,&a 2,&c 2);语句为变量a l和a 2赋数值10和2 0,为变量c l和c 2赋字符X和Y。下面的输入形式中正确的是()(注:口代表空格字符)。10 D XD 2 0 n Yionx2ony10 D X 2 0 Y10 X 2 0 QYA有下列程序段:i n t j;f l o a t y;c h a r n a m
25、e 5 0 ;sc a n f (飞2 d%f%s”,&j,&y,n a m e);当执行上述程序段,从键盘上输入5 5 5 6 6 7 7 7 7 a b e后,y的值为()。5 5 5 6 6.05 6 6.07 7 7 7.05 6 6 7 7 7.0B以下选项中不是字符常量的是()。W x 2a a,0 D以卜.选项中非法的字符常量是()。020”x AA 0,、B在执行完下面的C语句段之后,则B的值是()0char a=A;in t b;B=(34&56)&(a N )p u t char(ch);w hil e(ch=get char ()=,n)p u t char (ch);w
26、 hil e(ch=get char ()!=N )p u t char (ch);w hil e(ch=get char()!=,n)p u t char(ch);D若变量已正确定义,下面程序段的输出结果是()。#in cl u dem ain Ofl o at x=l.236547;p r i n t f(i n t)(x*1 0 0 0+0.5)/(fl o at)1000);1.237000输出格式说明与输出项不匹配,输出无定值1.2360001.24A设已定义x为do u bl e类型变量:#in cl u dem ain()fl o at x=323.82631;p r in t
27、f(*%.2e n ,x);)则以上语句()。输出格式描述符的域宽不够,不能输出输出为32.38e+01输出为3.24e+002输出为3.24e2 C若有以下定义和语句:int u=011,v=Oxll,w=ll;printf(%o,%x,%dn”,u,v,w);则输出结果是()o9,17,119,11,1111,11,1111,17,11C语句printf(abhow are5 yboun);的输出结果是()。abhow,are ybouabhow*are*ybouhow*are youahow*are ybou飞若变量已正确定义,要求通过scanf(%c%d%c%d,&cl,&a,&c2,
28、&b)语句给变量a 和 b 赋数值32和 4 5,给变量 c l 和 c2赋字符A和 B;以卜选项中数据从第1列开始输入,正确的输入形式是()oA32 回车 B45 回车A45 回车 B32 回车A32B45 回车)A 32 B 45 回车D若有double a;,则正确的输入语句是()0scanf a);scanf&a);scanf(琳 If,&a);s c a n f&a);D已知i、j、k 为 in i型变量,若要从键盘输入2,3,4 回车),使 i、j、k 的值分别为2、3、4,以下正确的输入语句是()oscanf C%3d,%3d,%3d,&i,&j,&k);scanf C%d,%d
29、,%d,&i,&j,&k);scanf(*%d%d%d/z,&i,&j,&k);scanf(i=%d,j=%d,k=%d,z,&i,&j,&k);B下列程序中,fun()函数的功能是计算x、2-2x+6,主函数中将调用fu n()函数计算:yl=(x+82-2(x+8)+6y2=sin2(x)-2sin(x)+6请填空。#include math.hdouble fun(double x)return(x*x-2*x+6);mainO double x,yl,y2;printf(Enter x:);s c a n f&x);y l=fu n();y 2=fu n();p r in t ffy
30、l=%l f,y 2=%l f n”,y l,y 2);有下列程序:in t s u b(in t n)r et u r n (n/10+n%10);m ain()in t x,y;s can f(*%d/z,&x);y=s u b(s u b(s u b(x);p r in t f(版 l n ,y);若运行时输入:1234 CR,程序的输出结果是 0卜.列运算符中优先级最高的运算符是()。j%_=&A卜列运算符中优先级最低的运算符是()。=y)&(y=z)(x=y)AN D(y=z)(x=y=z)(x =y)&(y =z)A设 a、b 和 c 都是in t 型变量,且 a=3,b=4,c=
31、5;则以卜.的表达式中,值为0 的表达式是0。a&ba=ba|b+cft&b-c!(ab)&!ci 1 D若有 in t s 4 =l,2,3,4;则 s s 0+2*s 2-s 3 的值是()。1234D对数组的描述正确的是()。数组一旦定义去大小是固定的,但数组元素的类型可以不同数组旦定义去大小是固定的,但数组元素的类型必须相同数组一旦定义去大小是可变的,但数组元素的类型可以不同数组旦定义去大小是可变的,但数组元素的类型必须相同、B对字符串“Bo y 进行完整赋值的操作是()char s 3 =B,o ,y char s 口=“Bo y char s 3=Bo y”char s 3;s=B
32、o y”B在c语言中引用数组元素时,其数组卜标的数组类型允许是()整型常量整型表达式整型常量或整型表达式任何类型的表达式飞对以卜.说明语句的正确理解是()*in t a 10 =6,7,8,9,10)将5个初值依次赋给a l 至a 5将5个初值依次赋给a 0至a 4将5个初值依次赋给a 6至a 10因为数组长度与初值的个数不相同,所以此语句不正确 B以下程序段给数组所有元素输入数据,应在下划线处填入的是0*m ain()*in t a 10,i=0;*w hil e(i10)s can f(d,_);*:*:*a+(i+)&a(i+l)a+i&a+i D以下程序的输出结果是()*m ain()
33、*in t a =2,4,6,8,y=l,x,*p;*p=&a l ;*fo r(x=0;x 3;x+)y+=*(p+x);*p r in t f(%d n”,y);*17181920C下述函数定义形式正确的是0int f(in t x;int y)int f(int x,y)int f(int x,int y)int f(x,y:y)“C关于函数参数,说法正确的是()实参与其对应的形参各自占用独立.的内存单元实参与其对应的形参共同占用一个内存单元只有当实参和形参同名时才占用同一个内存单元形参是虚拟的,不占用内存单元A用数组名作为函数的实参时,传递给形参的是()数组的首地址数组的第一个元素数组
34、中的全部元素数组的元素个数A复合语句中定义的变量的作用范围是0整个源文件整个函数整个程序所定义的复合语句D一个函数的返回值由()确定return语句中的表达式调用函数的类型系统默认的类型被调用函数的类型D以下说法正确的是0C语言程序总是从第一个定义的函数开始执行在 C语言程序设计中,要调用的函数必须在main函数中定义C语言程序总是从main函数开始执行C语言程序中的main函数必须放在程序的开始部分以下函数的类型是()*fff(float x)*p r i n t f x*x);*与参数x的类型相同void类型int类型无法确定C以下程序的输出结果是()*f un(int a,int b)*
35、int c;*c=a+b;*re tutn c;*ma in()*int x=6,y=7,z=8,r;*r=f unc(x-,y+,x+y),z-);*printf(%d n”,r);*1 12 02 13 1当说明一个结构体变量时,系统分配给它的内存是()各成员所需内存总量的总和结构中第一个成员所需内存量成员中占内存量最大者所需的容量结构中最后一个成员所需内存量“A设有以下说明语句:*s truc t s tu*int a;*f loa t b;*s tutype;*则下面叙述不正确的是()s trut是结构体类型的关键字s trut s tu是用户定义的结构体类型s tutype是用户定义
36、的结构体类型名a和b都是结构体成员名飞C语言结构体类型变量在执行期间()所有成员一直驻留在内存中只有一个成员驻留在内存中部分成员驻留在内存中没有成员驻留在内存中A若想对文本文件只进行读操作,打开此文件的方式为()旷 a A如果要打开C盘 f ile 文件夹下的a b c.d a t文 件,f ope n函数中第一个参数应为()c:f ile a b c.d a tc:f ile a b c.d a t“c:f ile a b c.d a t”c:f ile a b c.d a t”D用 f ope n函数打开文件,操作完毕后用()函数关闭它f ope nope nf c los ec los
37、e飞以卜.可作为函数f ope n中第一个参数的正确格式是()c:us e r te s t.txtc:us e r te s t.txt“c:us e r te s t.txt”*c:us e r te s t.txt*D若执行f ope n函数时发生错误,则函数的返回值是()地址值01EOFB若要用f ope n函数打开一个新的二进制文件,该文件要既能读也能写,则文件方式字符串应是()a b+”rb+B若以a+”方式打开一个已存在的文件,则以卜.叙述正确的是()文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可作添加和读操作文件打开时,原有文件内容不被删除,位置指针移到文件开头,可
38、作重写和读操作文件打开时,原有文件内容不被删除,只可作写操作以上各种说法皆不正确、A在C语言中,函数返回值的类型最终取决于()。函数定义时在函数首部所说明的函数类型re turn语句中表达式值的类型调用函数时主调函数所传递的实参类型函数定义时形参的类型A若各选项中所用变量已正确定义,f un()函数中通过re turn语句返回个函数值,下列选项中错误的程序是()。main()x=fun(2t 1 0);)float fun(int a,int b)float fun(int a,int b)ma in()x=f un(i,j);f loa t f un(int,int);ma inO x=f
39、un(2,1 0);f loa t f un(int a,int b)ma in()f loa t f un(int i,int j);x=f un(i,j);f loa t f un(int a,int b)()A若函数调用时的实参为变量时,卜.列关于函数形参和实参的叙述中正确的是()。函数的实参和其对应的形参共占同一个存储单元形参只是形式上的存在,不占用具体的存储单元同名的实参和形参占同一个存储单元函数的形参和实参分别占用不同的存储单元D在一个C源程序文件中所定义的全局变量,其作用域为()。所在文件的全部范围所在程序的全部范围所在函数的全部范围由具体定义位置和e xte rn说明来决定范围
40、DC语言规定,函数返回值的类型是()。由调用该函数时的主调函数类型所决定由re turn语句中的表达式类型所决定由调用该函数时系统临时决定由定义该函数时所指定的数值类型决定D以卜.叙述中,错误的是()。在同一个C程序文件中,不同函数中可以使用名字相同的变量在ma in。函数体内定义的变量是全局变量形参是局部变量,函数调用完成即失去意义若同文件中全局和局部变量同名,则全局变量在局部变量作用范围内不起作用、B以下函数值的类型是f un (d oub l e x)f l oa t y;y=3*x-4;re turn y;in t不确定voidf l oa tA有以卜.程序:in t f l (d o
41、ub l e a)re turn a*a;in t f 2(in t x,in t y)d oub l e a,b;a=f 1(x);b=f 1(y);re turn a+b;ma in O d oub l e w;w=f 2 1,4.0);变量w的值是()。20.212020.00.0飞调用函数时,当实参和形参都是简单变量时,它们之间数据传递的过程是()。实参将其值传递给形参,调用结束时形参再将其值回传给实参实参将其地址传递给形参,调用结束时形参再将其地址I可传给实参实参将其地址传递给形参,并释放原先占用的存储单元实参将其值传递给形参,调用结束时形参并不将其值回传给实参、D下面说法不正确的是
42、()。调用函数时,实参可以是表达式调用函数时,实参和形参可以共用内存单元调用函数时,将实参的值复制给形参,使实参变量和形参变量在数值上相等调用函数时,实参与形参的类型必须致下面函数调用语句含有实参的个数为f un c(e xpl,e xp2),(e xp3,e xp4,e xp5);1235、B在 C 语言中,函数调用时()。实参和形参各占独立的存储单元实参和形参共用存储单元由系统自动确定实参和形参是否共用存储单元由用户指定实参和形参是否共用存储单元AC 语言规定,程序中各函数之间()。既允许直接递归调用也允许间接递归调用既不允许直接递归调用也不允许间接递归调用允许直接递归调用不允许间接递归调
43、用不允许直接递归调用允许间接递归调用A下列能正确定义一维数组的选项是()。in t a 5 =0,1,2,3,4,5 ;c h a r a =0,1,2t 3,4,5 ;c h a r a=A ,B ,C ;in t a 5=0123;B下列叙述中错误的是()。对于d oub l e 类型数组,不可以直接用数组名对数组进行整体输入或输出数组名代表的是数组所占存储区的首地址,其值不可改变在程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息可以通过赋初值的方式确定数组元素的个数C有下列程序:in c l ud e ma in O c h a r p 二 a ,b ,
44、c ,q 10=a ,b ,c ;prin tf strl e n(p),strl e n (q);下列叙述中正确的是()。在给P和q数组赋初值时,系统会自动添加字符串结束符,故输出的长度都为3由于P数组中没有字符串结束符,长度不能确定,但q数组中字符串长度为3由于q数组中没有字符串结束符,长度不能确定,但P数组中字符串长度为3由于P和q数组中都没有字符串结束符,故长度都不能确定A若要求从键盘读入含有空格字符的字符串,应使用函数()。g e t c()g e t s ()g e t c h a r ()s c a n f ()B当用户要求输入的字符串中含有空格时,应使用的输入函数是()。s c
45、 a n f ()g e t c h a r ()g e t s ()g e t c OC当有定义语句:c h a r 若要从终端给s输入5个字符,错误的输入语句是()。g e t s(&s O);scanfs+1);g e t s(s);s c a n f s l );D当以下叙述中错误的是()。g e t s函数用于从终端读入字符串g e t c h a r函数用于从磁盘文件读入字符f p u t s函数用于把字符串输出到文件f wr i t e函数用于以二进制形式输出数据到文件“B下列关于字符串的叙述中正确的是()。C语言中有字符串类型的常量和变量两个字符串中的字符个数相同时才能进行字符
46、串大小的比较可以用关系运算符对字符串的大小进行比较空串一定比空格打头的字符串小D下面能正确进行字符串赋值的是()。c h a r s 5=A B C D E ;c h a r =c h a r*s;s=A B C D E”;c h a r*s;p r i n t f s);字符串 A B C D E F 的长度是()。1 51078B下面各语句行中,能正确进行赋值字符串操作的是()。char s=a,,,b,,,c,,,d,,,e,;char*s;gets(s);char*s;*s=ABCDEF;char s5;s c a n f&s);B设一执行预编译命令#include,以下程序段的输出结
47、果是()。char s 口=“abcdefg”;printf(%dn,strlen(s);78910 A若已包括头文件string.h且已有定义char s i18,s2=“ABCDE)和int i,现要将字符串“A BCD E赋给s i,下述语句错误的是()。strcpy(si,s2);strcpy(si,ABCDE);slABCDEfor(i=0;i6;i+)sli=s2i;下列程序运行后的输出结果是omain()int a,b,c;a=10;b=20;c=(a%bl);printf(d%d%dn”,a,b,c);下列程序用于判断a、b、c能否构成三角形,若能输出Y E于 否则输出NO。请
48、填空。main()float a,b,c;scanf&a,&b,&c);i f(c)&(a+cb)&(b+ca)printf(YESn);else prinlf(NO);已有定义:char c=r,;int a=1,b;执行 b!二c&a;后 b 的值为。下列程序的输出结果是main()int a=l,b=2,c=3;if(c=a)printf(%dn,c);e l s e p r i n t f (%d n”,b);)下列程序的输出结果是k i .m a i n Oi n t x,a=l,b=2,c=3,d=4;x=(a b)?a:b;x=(xx)?x:d;p r i n t f(%d n
49、,x);下列程序的输出结果是 m a i n Oi n t k=5,n=0;d os wi t c h(k)(c a s e 1:c a s e 3:n+=l;k-;b r e a k;d e f a u l t:n=O;k ;c a s e 2:c a s e 4:n+=2;k-;b r e a k;)p r i n t f (%d ,n);wh i l e(k 0&n 5);)卜.列程序的输出结果是 m a i n Oi n t i;f o r(i=l;i=2 0)&(i*i=1 0 0)b r e a k;p r i n t f C%d n ,i*i);下列程序的输出结果是 m a i
50、n Oi n t a=-5,b=l,c=l;i n t x=0,y=2,z=0;i f(c 0)x=x+y;i f (a 0)i f(c 0)y=x-y;e l s e z=y;p r i n t f (%d,&d,&d n”,x,y,z);)有卜.列程序段,且变量已正确定义和赋值:f o r(s=l.0,k=1;k=n;k+)s=s+1.0/(k*(k+D);p r i n t f (*s=%f n n,z,s);请填空,使下列程序段的功能与之完全相同。s=l.0;k=l;wh i l e(k )s=s+l.0/(k*(k+l);p r i n t f(s 二%f n n ,s);下列程序的