版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
该变量已正确定义为整型,则表达式n=i=2,++i,i++[<3>]o已知字母A的ASCH值为65,下列程序运行后的输出结果是[v67g>|《批注:应为G》main(){chara,b;a='A'+'5'・3;b=a+6・2;printf(,,%d%c,,,a,b);)2下列isprime函数的功能是判断形参a是否为素数,是素数,函数返回1,否则返回0。请填空。intisprime(inta){inti;for(i=2;i<=a/2;i++)if(a%i==0)[<retum(0)>];[<retum(l)>];}3设有定义:floatx=123.4567;,则执行下列语句后的输出结果是《123.460000>]printf(n%Ann,(int)(x*100+0.5)/100.0);若有定义:inta=4,b=5,c=6;接着顺序执行下列语句后,变量b中的值是c=(a-=(b-5));c=(a%3)+(b=l);4若a的值为1,则表达式!all++a的值是5下列程序的功能是:求出数组x中各相临两个元素的和依次存放到数组a中,然后输出。请填空。main(){intx[10],a[9],i;for(i=0;i<10;i++)scanf(”%d”,&x[i]);for([<i=l>J;i<l0;i++)a[i-l]=x[i]+[<x[i-l]>];for(i=0;i<9;i++)printf("%d”,a[i]);printf(M\nM);6设有定义语句:intaU[3]={{0},{1},{3}},则数组元素a[l][2]^[<0>]7下列程序中的数组a包括10个整数元素,从a中第二个元素起,分别将后项减前项之差存入数组b,并按每行4个输出,请填空。main(){inta[10],b[10],i;fdr(i=0;i<10;i++)scanf(M%dn,&a[i]);for(i=l;i<10;i++)[<b[i-l]=a[i]-a[i-l]>];for(i=l;i<10;i++){printf(M%dM,b[i-l]);if(i%4==0)printf(,'\nH);8下面程序将二维数组a的行和列互换后存放到一个二维数组b中,请填空。main(){inta[2][3]={{l,23},{4,5}),b[3][2],ij;for(i=0;i<2;i++)(for(j=0;j<3;j++)[<bUl[i]=a[i]Ul>]###9下列叙述中错误的是().算法正确的程序最终一定会结束。算法正确的程序可以有零个输出。算法正确的程序可以有零个输入。算法正确的程序对于相同的输入一定有相同的结果。-B10 1下列叙述中错误的是()。C程序必须由一个或一个以上的函数组成。函数调用可以作为一个独立的语句存在。若函数有返回值,必须通过return语句返回。函数形参的值也可以传回给对应的实参。-DUC语言源程序名的后缀是()».exe,obj.cp-B12下列叙述中错误的是().用户定义的标示符允许使用关键字。用户定义的标示符应做到''见名知意二用户定义的标示符必须以字母或下划线开头。用户定义的标示符中大、小写字母代表不同标示。〜A13下列关于函数的叙述正确的是()。每个函数都可以被其他的函数调用(包含main函数)。每个函数都可以被单独编译。每个函数都可以单独运行。在一个函数内部可以定义另一个函数。-B14下列不合法的用户标示符是()。j2_key_int4d_8一~C15下列定义变量的语句中错误的是()。int_int;doubleint_;charfor;floatus$;〜D16按照C语言规定的用户标示符命名规则,不能出现在标示符中的是()。大写字母连字符数字字符下划线-B17对于一个正常运行的C程序,下列叙述正确的是()o程序的执行总是起止于main函数。程序的执行总是从第一个函数开始,结束于main函数程序的执行总是从main函数开始,在最后一个函数结束程序的执行总是从第一个函数开始,在最后一个函数结束〜A18下列叙述正确的是().C语言程序从源程序中第一个函数开始执行可以在程序中由用户指定一个函数作为主函数,程序将从此开始执行C语言规定必须用main作为主函数名,程序从此开始执行,在次结束main可作为用户标示符,可以命名任意一个函数作为主函数-C下列叙述正确的是()。C程序中的注释只能出现在程序的开始位置C程序书写格式严格,要求一行只能写一个语句C程序书写格式自由,一行可以写多条语句用C语言编写的程序只能放在一个程序文件中-C下列不合法的数值常量是()。011lei8.0e0.5Oxabc~C可在C程序中用作用户标识符的一组是()。and_2007datey-m-dhidr.tomcasebig1~A下列关于long、int和short类型数据占用内存大小的叙述正确的是()。均占4个字节根据数据的大小来决定所占内存的字节数由用户自己定义由C语言编译系统决定-D设变量已正确定义并赋值,以下正确的表达式是()«x=y*5=x+zint(15.8%3)x=y+z+3,++yx=25%5.0~C设有定义:intk=l;floatf=7;则下列选项中错误的表达式是()。k=k>=k-k++k%int(f)k>=f>=m~C表达式36・5/2+L2+5%2的值是()。3.8~D下列叙述中错误的是()oC程序中的#布日艮6和#(10行起行均不是C语句除逗号运算符外,赋值运算符的优先级最低C程序中,j++;是赋值语句C程序中,+、・、*、%是算术运算符,可用于整型数和实型数的运算~D下列选项中,当x为大于1的奇数时,值为0的表达式是()ox%2=lx/2x%2!=0x%2=0~D下列叙述中错误的是()oC语句必须以分号结束复合语句在语法上被看作一条语句空语句出现在任何位置都不会影响程序运行赋值表达式加上分号就构成赋值语句~c下列正确定义且赋初值的语句是().intnl=n2=10;charc=32;floatf=f+1.1;doublex=12.3E2.5~B若变量已正确定义并赋值,卜.列合法的语句是()ox=y==5x=n%2.5x+n=ix=5=l+4〜A以下定义正确的是()ointa=b=O;charA=65+1,b='b';floata=l/'b=&a,Mc=&b;doublea=0.0;b=1.1;〜B有下列程序:*main()*{charal=M\a2='m';*printf(H%c\nM,(al,a2));*}下列叙述正确的是()»程序输出M程序输出m格式说明符不足,编译出错程序运行时产生出错信息〜B有下列程序:*main()*{intx,y,z;*x=y=1;*z=x++,y++,++y;*printf(,,%d,%d,%d\n,',x,y,z);*}*程序运行的结果是()o2,3,32,3,22,3,12,1~C设有定义:intk=0;下列选项的4个表达式中与其他3个表达式的值不同的是()。k++k=k+l++kk+1〜A在C语言中,以下说法不正确的是()o在C程序中,整数和实数都能被准确无误的表示出来在C程序中,任何一个变量名都代表存储器的一个位置静态变量的生存周期与整个程序的运行期相同C语言中,任何变量都必须先声明才能进行引用〜A若有以下定义和语句:*inta=010,b=Ox10,c=10;*printf("%d,%d,%d\n”,a,b,c);*则输出结果是()o8,10,1010,10,108,8,108,16,10〜D设C语言中,float类型数据占4个字节,则double类型数据占()个字节。1284〜C以下正确的实型常量()o 《批注:B是正确答案吗?》E3.4-123452.2e0.84〜B设ini类型的数据长度为2个字节,则unsignedim类型数据的取值范围是()。0-2550〜65535■32768〜32767-256〜255〜B设a和b均为int型变量,且a=6,b=U,则能使值为3的表达式是()。b%(a%4)b%(a-a%5)b%a-a%5(b%a)-(a%4)〜D已定义变量a为整型,则不能正确表示9vavl4的表达式是()。!(9<a&&a<14)a==10lla==lllla==12lla==13a>9&&a<14!(a<=9)&&!(a>=14)~A以下程序运行的结果是()o*#include<stdio.h>*main()*{inta=3,b=4,c=8,d=4,m=1,n=3;*printf(M%d\n',,(m=a>b)&&(n=c>d))23~A能正确表示“当x的取值范围在[1,10]和[100,110]范围内为真,否则为假''的表达式是()o(x>=!)&&(x<=10)&&(x>=100)&&(x<=110)(x>=l)ll(x<=10)ll(x>=100)ll(x<=110)(x>=1)&&(x<=10)ll(x>=100)&&(x<=110)(x>=l)l|(x<=10)&&(x>=100)ll(x<=110)~C若有定义:inta=4,b=5;floatx=3.4,y=2.l;则下面表达式的值为()。*(float)(a+b)/2+(int)x%(int)y5.5555.50000055.00000~C若a为int型变量,则执行以下语句后,a的值为()。*a=5;a+=a-=a*a;25-4040-14〜B若已定义x和y为整型变量,且x=7,则表达式y=2.3+x/2的值是()。655.06.0-B有以下程序:*main()*{inty=l,x=2,z=3;*printf("%d,%d\n”,(++x,y++),z+2);n*执行后的输出结果是()o5531,5〜D以下程序的输出结果是()o*main()*{inta=l,b=2;*printf(H%d,%d\nM,—a,++b);*}1,21,30,20,3~DC语言程序的执行是(),从程序的主函数开始,到程序的主函数结束从程序的主函数开始,到程序的最后一个函数结束从程序的第一个函数开始,到程序的最后一个函数结束从程序的第一个函数开始,到程序的主函数结束-A下面说法正确的是(),{一个C程序可以有多个函数)《批注:也是对的》一个C语言的函数中只允许有一对花括号C语言一个语句可以写在一行内,也可以写在多行内在对C程序进行编译时,可以发现注释行中的拼写错误-C以下说法正确的是()o 《批注:应为“不正确的是"》C程序是以函数为基本单位的,整个程序由函数组成c语言程序的一条语句可以写在不同的行上C程序的注释行对程序运行不起作用,所以注释应该尽可能少写C程序的每个语句都以分号结束〜C以下标示符不是关键字的是()obreakcharSwitchreturn〜C若要求定义具有10个int型元素的一维数组a,则下列定义语句中错误的是()o#defineN10*inta[N]#definen5*inta[2*n]inta[5+5]intn=10,a[n]~D〜〜〜7下设有如下程序段*chars[20]=HBeijing,r,*p;*p=s;率则执行p=s;语句后,以下叙述正确的是()o可以用*p表示s[0]S数组中元素的个数和p所指字符串长度相等S和P都是指针变量数组S中的内容和指针变量P中的内容相同-A〜〜〜7下列数组定义中错误的是()。intx[][3]={0};intx[2][3]={{l,2},{3,4},{5,6}};intx[][3J={{I,2,3},{4,5,6});intx⑵[3]={1,2,34,5,6};~B有以下程序:*main()*{inti,t[][3]={9,8,7,6,5,4,3,2,l};*for(i=0;i<3;i++)printf("%d",t[2-i][i]);*)
*程序执行后的输出结果是()。753357369751~B若有定义语句:inta[3][6];,按内存中的存放顺序,a数组的第10元素是().a[0][4]a[l][3]a[0][3]a[l][4]~B以下错误的定义语句是()。intx[][3]={{0},{1},{1,2,3));intx[4][3]={{1,2,3},{1,2,3},{1,2,3}};intx[4][]={{l,2,3},{l,2,3},{1.2,3)};intx[][3]={l,2,3,4);~C以下不正确的定义语句是()。doublex[5]={1.0,2.0,30,4.0,5.0};intcharchar〜By[5]={0,1,2,3,4,5}};c[]={'r,'2','3V4';5');c2l]={'a'intcharchar〜B若有以下定义,则正确引用数组元素的是()»*inta[5],*p=a;*&a[5]*a+2*(P+5)*(a+2)~D若有说明:inta口网={0,0};则不正确的叙述是().数组a的每个元素的初值都是0数组a的第一维大小为1数组a的行数为1只有元素a[0]⑼和初值为0,其余元素得不到初值0-DF列二维数组初始化语句中,不正确的是()。intb[][2]={1,23,4,5,6,7);intb[3][5]={0,0,0);intb[][4]={{l,2},{3,4,5},{6});intb[3H2]={(l,2),(3,4),(5,6)};〜D有以下程序:*main(){intaa[5][5]={{1,2,3,4},{5,6,1,8),{5,9,10,2},{1,2,5,6}};ints=0,i;for(i=0;i<4;i++)s+=aa[i][2];printf(M%dn,s);}程序运行后的输出结果是()o26191020〜B###若已知:a=l,b=2,则表达式:!(avb)的值为若s是int型变量,且s=8,则s%3+(s+l)%3表达式的值为[<2>]0若x和n均是int型变量,且x=12,n=5,则执行y=x%=(n%=2)表达式后y的值为###以下说法中正确的是()。C语言程序的执行都是从程序的第一个函数开始在C语言程序中,要调用的函数必须在main。函数中声明任何C语言程序的执行都是从main。函数开始C语言程序中的main。函数必须放在程序的最前面〜C以下合法的标识符是()o123#256a.55abhjl_2_3-D以下程序的运行结果是()o#include<stdio.h>*main()*{inta=3,b=4,c=8,d=4,m=1,n=3;*printf(M%d\nn,(m=a>b)&&(n=c>d));*}0123〜A有定义语句:intb;char则正确的输入语句是()。scanf(H%d%s",&b,&c);scanf(M%d%s",&b,c);scanf("%d%s,',b,c);scanf(M%d%s\b,&c);〜B有下列程序:*main()*{intm,n,p;scanf("m=%dn=%dp=%d",&m,&n,&p);printf(,,%d%d%d,,,m,n,p);町*若想从键盘上输入数据,使变量m的值为123,n的值为456,p的值为789,则正确的输入是()om=123n=456p=789m=123n=456p=789m=123,n=456,p=789123456789〜A要求当A的值为奇数时,表达式的值为“假二A的值为偶数时,表达式的值为“真二则以下能满足要求的是()oA%2==1!(A%2==0)!(A%2)A%2~C当把四个表达式用作if语句的控制表达式时,有一个选项与其他三个选项含义不同,这个选项是()ok%2k%2=l(k%2)!=0!k%2=l〜A 《批注:应为D》下列不能正确计算代数式(l/3)sin2(l/2)值的C语言表达式是()。l/3*sin(U2)*sin(l⑵sin(0.5)*sin(0.5)/3pow(sin(0.5),2)/3l/3.0*pow(sin(1.0/2),2)〜A在printf的格式字符中,e格式字符的作用是()。以十六进制无符号形式输出整数以带符号的十进制形式输出整数以指数形式输出实数以字符形式输出,且只输出一个字符〜C若要从键盘读入含有空格字符的字符串,应使用函数()ogetc()gets()getchar()scanf()〜B当a=4,b=5,c=7,d=6时,执行下面•段程序:*if(a<b)if(c<d)x=l;elseif(a<c)if(b<c)x=2;elsex=3;elsex=4;*elsex=5;*执行后,x的值为()o1234~B下面4个关于C语言的结论中错误的是(可以用do...while语句实现的循环一定可以用while语句实现可以用for语句实现的循环一定可以用while语句实现可以用while语句实现的循环一定可以用for语句实现do...while语句与while语句的区别是关键字“while”出现的位置不同-D关于字符常量,以下叙述正确的是()»空格不是一个字符常量字符常量能包含大于一个的字符单引号中的大写字母和小写字母代表的是相同的字符常量所有的字符常量都可以作为整型量来处理-D有以下函数定义:*intfun(doublea,doubleb)*{returna*b;}*若以下选项中所有变量都一经定义并赋值,错误的函数调用是()oif(fun(x,y)){……}z=fun(fun(x,y),fun(x,y));z=fun(fun(x,y)x,y);fun(x,y);~C执行以下语句段后,xy的值是()o*int*pt,xy;*xy=200;*pt=&xy;♦xy=*pt+30;200170260230~D下面各语句行中,能正确进行赋值字符串操作的是()ochars[5J={,aVbVc,;d,;e,};char*s;gets(s);char*s;s=MABCDEFM;chars[5];scanf(M%sH,&s);~B 《批注:B、C选项均可》以下有关宏的不正确的是()o宏名无类型宏定义不做语法检查宏名必须用大写字母表示双引号中出现的宏名不进行替换~c下面说法正确的是()o一个C程序可以有多个主函数一个C语言的函数中只允许有一对花括号C程序的书写格式是自由的,一个语句可以写在一行上,也可以写在多行内在对C程序进行编译时,可以发现注释行中的拼写错误~c若a为int型变量,则执行以下语句后,a的值为()。*a=5;*a+=a-=a*a;25-4040-14~B能正确表示逻辑关系“a>=5或av=0”的C语言表达式是()。a>=5ora<=0a>=0IIa<=5a>=5&&a<=0a>=5IIa<=0~D以下能正确表示x在・5到5(含・5和5)内,值为“真”的表达式是()o(x>=-5)&&(x<=5)!(x>=-5llx<=5)x<5&&x>-5(x<-5)ll(x<5)~A以下关于运算符优先顺序描述中正确的是()»算术运算符〈关系运算符(赋值运算符〈逻辑运算符赋值运算符〈逻辑运算符(关系运算符〈算术运算符逻辑运算符〈关系运算符(算术运算符〈赋值运算符关系运算符〈算术运算符(赋值运算符〈逻辑运算符-B以下合法的C语言赋值语句是().a=b=la=inta+ba=2,b=3i++;~D若i、j已定义成int型,则以下程序段中内循环体的总执行次数是()o*for(i=6;i>0;i—)*for(j=0;j<4;j++){...}20242530〜B以下选项中非法的字符常量是()。N「0201\xAA'U〜B如果在一个函数的复合语句中定义了一个变量,则该变量()o在该复合语句中有效,在该复合语句外无效在该函数内都有效在本程序的原文件范围内均有效此定义方法错误,其变量为非法变量〜A以下不正确的定义语句是()odoublex[5]={1.0,2.03.0,4.0,5.0};inty[5]={0,1,2,3A5};charcl[]={,172737475,};charc2[]={"a'/b';c,);〜BC语言中,凡未指定存储类别的局部变量的隐含存储类别是()o自动(auto)静态(static)外部(extern)寄存器(register)〜A如果要打开一个已经存在的非空文件“FILE”并进行修改,正确的语句是()。fp=fopen(TILE,,,,,rn);fp=fopen(MFILE,',',a+n);fp=fopen(,,FILE,',,,w+n);fp=fopen(“FILE“Jr+”);〜D###下列程序中,fun。函数的功能是计算x八2-2x+6,主函数中将调用fun()函数计算:yl=(x+8)A2-2(x+8)+6y2=sinA2(x)-2sin(x)+6请填空。include"math.hMdoublefun(doublex){return(x*x-2*x+6);}main(){doublex,yl,y2;printf(nEnterx:M);scanf(n%ir,&x);yl=fun([<x+8>]);y2=fun([<sin(x)>]);printf(Hyl=%lf,y2=%lf\nH,y1,y2);}有下列程序:intsub(intn){return(n/10+n%10);}main(){intx,y;scanf(”%d”,&x);y=sub(sub(sub(x)));printf(',%d\n,',y);)若运行时输入:1234<CR>,程序的输出结果是###在C语言中,函数返回值的类型最终取决于()。函数定义时在函数首部所说明的函数类型return语句中表达式值的类型调用函数时主调函数所传递的实参类型函数定义时形参的类型~A若各选项中所用变量已正确定义,fun()函数中通过return语句返回一个函数值,下列选项中错误的程序是()。main(){x=fun(2,10);)floatfun(intajntb){}floatfun(inta,intb){}main(){x=fun(ij);}floatfun(int,int);main(){x=fun(2,10);}floatfun(inta,intb){}main(){floatfun(inti,intj);x=fun(i,j);)floatfun(inta,intb){}~A若函数调用时的实参为变量时,下列关于函数形参和实参的叙述中正确的是()。函数的实参和其对应的形参共占同一个存储单元形参只是形式上的存在,不占用具体的存储单元同名的实参和形参占同一个存储单元函数的形参和实参分别占用不同的存储单元-D在一个C源程序文件中所定义的全局变量,其作用域为()。所在文件的全部范围所在程序的全部范围所在函数的全部范围由具体定义位置和extern说明来决定范围-DC语言规定,函数返回值的类型是()。由调用该函数时的主调函数类型所决定山return语句中的表达式类型所决定由调用该函数时系统临时决定山定义该函数时所指定的数值类型决定-D~~~6以下叙述中,错误的是()。在同一个C程序文件中,不同函数中可以使用名字相同的变量在main。函数体内定义的变量是全局变量形参是局部变量,函数调用完成即失去意义若同一文件中全局和局部变量同名,则全局变量在局部变量作用范围内不起作用-B以下函数值的类型是()。fun(doublex){floaty;y=3*x-4;returny;int不确定voidfloat〜A有以下程序:intfl(doublea){returna*a;}intf2(intx,inty){doublea,b;a=fl(x);b=fl(y);returna+b;}main(){doublew;w=f2(2.1,4.0);变量w的值是()。20.212020.00.0~C调用函数时,当实参和形参都是简单变量时,它们之间数据传递的过程是()。实参将其值传递给形参,调用结束时形参再将其值回传给实参实参将其地址传递给形参,调用结束时形参再将其地址回传给实参实参将其地址传递给形参,并释放原先占用的存储单元实参将其值传递给形参,调用结束时形参并不将其值回传给实参~D下面说法不正确的是()。调用函数时,实参可以是表达式调用函数时,实参和形参可以共用内存单元调用函数时,将实参的值复制给形参,使实参变量和形参变量在数值上相等调用函数时,实参与形参的类型必须一致-B下面函数调用语句含有实参的个数为()。func((exp1,exp2),(exp3,exp4,exp5));5〜B在C语言中,函数调用时()。实参和形参各占独立的存储单元实参和形参共用存储单元由系统自动确定实参和形参是否共用存储单元由用户指定实参和形参是否共用存储单元-AC语言规定,程序中各函数之间()。既允许直接递归调用也允许间接递归调用既不允许直接递归调用也不允许间接递归调用允许直接递归调用不允许间接递归调用不允许直接递归调用允许间接递归调用〜A下列能正确定义维数组的选项是()。inta[5]={0,123,4,5};chara[]={0,l,2,3,4,5);chara={'A',,B','C};inta[5]="0123";~B下列叙述中错误的是(对于double类型数组,不可以直接用数组名对数组进行整体输入或输出数组名代表的是数组所占存储区的首地址,其值不可改变在程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出''下标越界”的出错信息可以通过赋初值的方式确定数组元素的个数-C有下列程序:#include<string.h>main(){charptX'a'^Vc-},qll0]={'a';b','c');printf("%d%d\n",strlen(p),strlen(q));下列叙述中正确的是()。在给p和q数组赋初值时,系统会自动添加字符串结束符,故输出的长度都为3由于p数组中没有字符串结束符,长度不能确定,但q数组中字符串长度为3由于q数组中没有字符串结束符,长度不能确定,但p数组中字符串长度为3由于p和q数组中都没有字符串结束符,故长度都不能确定〜A若要求从键盘读入含有空格字符的字符串,应使用函数()。getc()gets()getchar()scanf()-B当用户要求输入的字符串中含有空格时,应使用的输入函数是()。scanf()getchar()gets()getc()〜C当有定义语句:char若要从终端给s输入5个字符,错误的输入语句是()。gets(&s[O]);scanf("%s'\s+l);gets(s);scanfC'%s';s[l]);〜D当以下叙述中错误的是()。gets函数用于从终端读入字符串getchar函数用于从磁盘文件读入字符fputs函数用于把字符串输出到文件fwrite函数用于以二进制形式输出数据到文件〜B下列关于字符串的叙述中正确的是()。C语言中有字符串类型的常量和变量两个字符串中的字符个数相同时才能进行字符串大小的比较可以用关系运算符对字符串的大小进行比较空串一定比空格打头的字符串小〜D下面能正确进行字符串赋值的是()。chars[5]={nABCDE");chars[5]={,A,;BVC,;D,,,E,};chads;s=nABCDEn;char*s;printf("%sM,s);〜C字符串"\\\"ABCDEFV\\"的长度是()。15108〜B下面各语句行中,能正确进行赋值字符串操作的是()。chars[5]={,a';b7c7d';e,};char*s;gets(s);char*s;*s=nABCDEFn;chars[5];scanf(M%su,&s);〜B设J执行预编译命令#皿411加vstring.h>,以下程序段的输出结果是()。chars[]=Mabcdefgn;printf(M%d\nn,strlen(s));78910〜A若已包括头文件vstring.h>且已有定义charsl[18],s2={”ABCDE”}和inti,现要将字符串“ABCDE”赋给si,下述语句错误的是()。strcpy(s1,s2);strcpy(sl,“ABCDE");sl=nABCDEn;for(i=0;i<6;i++)sl[i]=s2[i];〜C###*以下程序的输出结果是*#include<stdio.h>*main()*{*inta[5]={2,4,6,8,10),*p;p=a;p++;printf(,'%d,',*p);*}*以下程序的输出结果是[v35>]o*#include<stdio.h>*voidswap(int*a,int*b)*{int*t;t=a;a=b;b=t;*}*main()*{inti=3,j=5,*p=&i,*q=&j;swap(p,q);printf(M%d%dM,*p,*q);*}*下面程序段的运行结果是[v68>]。*charstr[]="ABCDH,*p=str;*printf(M%d\nM,*(p+3));###设已有定义:floatx;,则下列对指针变量p进行定义且赋初值的语句中正确的是().float*p=1024;int*p=(float)x;floatp=&x;float*p=&x;~D设有定义语句int(*f)(int);,则以下叙述正确的是().f是基类型为int的指针变量f是指向函数的指针变量,该函数具有一个int类型的形态f是指向int类型一维数组的指针变量f是函数名,该函数的返回值是其类型为int类型的地址-B 7设有定义:intnl=0,n2,*p=&n2,*q=&nl;,以下赋值语句中与n2=nl;语句等价的是()。*p=*qp=q*p=&n1;p=*q—A在16位编译系统上,若有定义intaU={10,20,30),*p=&a;,当执行p++;后,下列说法错误的是()°p向高地址移了一个字节p向高地址移了一个存储单元p向高地址移了两个字节p与n+1等价~A若有定义语句:intk⑵[3],*pk[3];,则下列语句中正确的是()。pk=k;pk[0]=&k[l][2];pk=k[O];pk[l]=k;~B若有定义:char(*p)[6];则标识符p()。是一个指向字符型变量的指针是一个指针数组名是一个指针变量,它指向一个含有6个字符型元素的一维数组定义不合法-C下面程序段的运行结果是()«#include<stdio.h>voidmain(){charstr[]=,,abc,,,*p=str;printf("%d\n”,*(p+3));}670字符C的地址字符C~B若有以下定义,则对a数组元素的正确引用是()。inta[5],*p=a;*&a[5]*a+l*(P+5)*(a+2)〜D###〜〜〜3C语言中用[<非0>]表示逻辑"真",用[<0>]表示逻辑值“假"。~~~3C语言中逻辑运算符[<!>]的优先级高于算术运算符。~~~3当a=Lb=2,c=3时,以下if语句执行后,a、b、c中的值分别为[v3>]、[<2>]>[<2>]oif(a>c)b=a;a=c;c=b;以卜程序段的输出结果是[v死循环>]intk,n,m;n=10;m=l;k=l;while(k<=n)m*=2;printf("%d\n”,m); 3以下程序的输出结果是[<」>]main()(intx=2;while(x—);printf(n%d\nu,x);)〜〜〜3以下程序段:s=1.0;for(k=l;k<=n;k++)s=s+1.0/(k*(k+l))请填空,使下面的程序段的功能完全与之等同。s=0.0[<d=1.0>]k=0;do(s=s+d;[<k++>]d=l.O/(k*(k+l));}while[<k<=n>]printf(n%Anu,s); 3以下程序功能是:从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。请填空。main()(floatx,amax,amin;scanf(n%r,&x);amax=x;amin=x;while[<x>=0>](if(x>amax)amax=x;if[<x<amin>]amin=x;scanf(n%f',&x);}printf(',\namax=%f'\namin=%f\n,,,amax,amin);)~~~5若有定义inta[3][5];则排列在数组中的第九个元素是~~~5strlen(MHowareyou'n")的值是~~~5C语言中字符串结束的标志是~~~5写出一个名为s的单精度实型一维数组,长度是6,所有元素初值均为0,其数组定义语句是[〈floats[6]={0};>]~~~5strcmp("how","How")的值是[<32或者>0>]C语言程序执行的开始处是《main函数>]C程序中的•个函数由两部分组成,即[<声明部分>]和《执行部分>]为了保证被调用函数不返回任何值,其函数定义的类型应为[<void>]下面Pi函数的功能是,根据以下公式返回满足精度e要求的n的值。请填空。n/2=1+1/3+(1/3)*(2/5)+(1/3)*(2/5)*(3/7)+(1/3)*(2/5)*(3/7)*(4/9)+...doublepi(doubleeps){doubles=O.O,t=1.0;intn;for([<n=l>];t>eps;n++)s+=t;t=n*t/(2*n+l);}return(2.0*[<s>J);}以下函数用以求x的y次方。请填空。doublefun(doublex,inty)(inti;doublez;for(i=1;i[«=y>];i++)z=[<Z*x>];returnz;以下程序的功能是计算s=0!+l!+2!+3!+...+n!o请填空。longf(intn){inti;longs;s=[<lL>];for(i=l;i<=n;i++)s=[<S*i>];returns;)main()(longs;intk,n;scanf(”%d*&n);s=[<0>];for(k=0;k<=n;k++)s=s+[<f(k)>];printf(',%ld\n,,,s);}###~~~3下列运算符中优先级最高的运算符是0。!%■=&&~A~~~3下列运算符中优先级最低的运算符是0。II!二<=4-—A 3为表示关系x2y2z,应使用的C语言表达式是()。(x>=y)&&(y>=z)(x>=y)AND(y>=z)(x>=y>=z)(x>=y)&(y>=z)~A 3设a、b和c都是int型变量,且a=3,b=4,c=5;则以下的表达式中,值为。的表达式是0。a&&ba<=ballb+c&&b-c!(a<b)&&!clll-D~~~5若有ints[4]={1,234};则s[s[0]+2*s⑵的值是()。1234〜D~~~5对数组的描述正确的是()。数组一旦定义去大小是固定的,数组一旦定义去大小是固定的,数组一旦定义去大小是可变的,数组一旦定义去大小是可变的,但数组元素的类型可以不同但数组元素的类型必须相同但数组元素的类型可以不同但数组元素的类型必须相同~B~~~5对字符串“Boy”进行完整赋值的操作是()chars[3]={,B7o\y)chars[]=nBoyMchars[3]={uBoyH}chars[3];s=MBoyM〜B—~5在C语言中引用数组元素时,其数组下标的数组类型允许是0整型常量整型表达式整型常量或整型表达式任何类型的表达式-C~~~5对以下说明语句的正确理解是()*inta[10]={6,7,8,9,10}将5个初值依次赋给a⑴至a[5]将5个初值依次赋给a[0]至a[4]将5个初值依次赋给a[6]至a[10]因为数组长度与初值的个数不相同,所以此语句不正确-B~~~5以下程序段给数组所有元素输入数据,应在下划线处填入的是()*main()*{*inta[10],i=0;*while(i<10)scanf("%dH,.*•*}a+(i++)&a(i+l)a+i&a[++i]~D〜〜〜5以下程序的输出结果是()*main()*1inta[]={2,4,6,8},y=l,x,*p;p=&a[l];*for(x=0;x<3;x++)y+=*(p+x);*printf(M%d\nM,y);n17181920〜C下述函数定义形式正确的是()intf(intx;inty)intf(intx,y)intf(intx,inty)intf(x,y:y)〜C关于函数参数,说法正确的是o实参与其对应的形参各自占用独立的内存单元实参与其对应的形参共同占用一个内存单元只有当实参和形参同名时才占用同一个内存单元形参是虚拟的,不占用内存单元—A用数组名作为函数的实参时,传递给形参的是()数组的首地址数组的第一个元素数组中的全部元素数组的元素个数-A复合语句中定义的变量的作用范围是()整个源文件整个函数整个程序所定义的复合语句-D一个函数的返I回值由()确定return语句中的表达式调用函数的类型系统默认的类型被调用函数的类型-D以下说法正确的是()C语言程序总是从第一个定义的函数开始执行在C语言程序设计中,要调用的函数必须在main函数中定义C语言程序总是从main函数开始执行C语言程序中的main函数必须放在程序的开始部分-C以下函数的类型是()*fff(floatx)*{*printf(H,,,x*x);町与参数x的类型相同void类型血类型无法确定~C以下程序的输出结果是0*fun(inta,intb){intc;c=a+b;retutnc;}main(){intx=6,y=7,z=8,r;*r=func((x—,y++,x+y),z-);*printf(H%d\nM,r);202131〜C**t•〜10当说明一个结构体变量时,系统分配给它的内存是0各成员所需内存总量的总和结构中第一个成员所需内存量成员中占内存量最大者所需的容量结构中最后一个成员所需内存量-A〜〜〜10设有以下说明语句:*structstu{inta;floatb;*}stutype;*则下面叙述不正确的是()strut是结构体类型的关键字strutstu是用户定义的结构体类型stutype是用户定义的结构体类型名a和b都是结构体成员名-C〜〜〜10C语言结构体类型变量在执行期间()所有成员一直驻留在内存中只有一个成员驻留在内存中部分成员驻留在内存中没有成员驻留在内存中〜A〜〜〜11若想对文本文件只进行读操作,打开此文件的方式为0T"a"〜A如果要打开C盘file文件夹下的abc.dat文件,fopen函数中第一个参数应为()c:file\abc.datc:\file\abc.datk:\file\abc.dat”,,c:\\file\\abc.datM〜D用fopen函数打开文件,操作完毕后用()函数关闭它fopenopenfcloseclose~C以下可作为函数fopen中第一个参数的正确格式是()c:user\test.txtc:\user\test.txt,,c:\user\test.txt,,“c:\\user\\test.txt”~D若执行fopen函数时发生错误,则函数的返回值是0地址值01EOF〜B若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写,则文件方式字符串应是()“ab++”“wb+”“rb+”“ab”〜B若以“a+”方式打开一个已存在的文件,则以下叙述正确的是0文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可作添加和读操作文件打开时,原有文件内容不被删除,位置指针移到文件开头,可作重写和读操作文件打开时,原有文件内容不被删除,只可作写操作以上各种说法皆不正确-A###下列程序的功能时:给r输入数据后计算半径为r的圆面积s。程序在编译时出错。main(){intr;floats;scanf(H%d,\&r);s=pi*r*r;printf("s=%f\nn,s);出错的原因是()。注释语句书写位置错误存放圆半径的变量r不应该定义为整型输出语句中格式描述符号非法计算圆面积的赋值语句中使用了非法变量-D以下叙述错误的是()。在程序中凡是以“#”开始的语句行都是预处理命令行预处理命令行的最后不能以分号表示结束#defineMAX是合法的宏定义命令行C程序对预处理命令行的处理是在程序执行的过程中进行的-C下列叙述中正确的是()。预处理命令行必须位于源文件的开头在源文件的一行上可以有多条预处理命令宏名必须用大写字母表示宏替换不占用程序的运行空间-D若程序中有宏定义行:#defineN100,则下列叙述中正确的是()。宏定义中定义了标识符N的值为整数100在编译程序对C源程序进行预处理时用100替换标识符N对C源程序进行编译时用100替换标识符N在运行时用100替换标识符N-B程序#include<stdio.h>#defineM5#defineNM+Mmain(){intk;k=N*N*5;printf("%d\n",k);}的输出结果是()。100505545~C下列叙述中正确的是()。预处理命令行必须位于C源程序的起始位置在C语言中,预处理命令行都以#开头每个C程序必须在开头包含预处理命令行:#include<stdio.h>C语言的预处理不能实现宏定义和条件编译的功能-BC语言的编译系统对宏命令的处理是()。在系统对源程序进行编译前和其他语句的编译同时进行在程序连接时进行在程序运行时进行〜A以下叙述中不正确的是()。预处理命令行都必须以“铲’号开始,结尾不加分号在程序中凡是以“#”开始的语句行都是预处理命令行C程序在执行过程中对预处理命令进行处理预处理命令可以放在程序的任何位置-C下面叙述中正确的是C语言中预处理是指完成宏替换和文件包含指定的文件的调用预处理命令只能位于C源程序文件的首部预处理命令可以放在程序中的任何位置预处理命令结尾需要加分号-C以下有关宏替换的叙述不正确的是()。使用宏定义可以嵌套宏定义仅仅是符号替换双引号中出现的宏名不替换宏名必须用大写字母表示-D在“文件包含”预处理语句的使用形式中,当#include后面的文件名用尖括号(o)括起时,寻找被包含文件的方式是()。仅仅搜索当前目录仅仅搜索源程序所在目录在标准目录下查找指定文件先在源程序所在目录搜索,如没找到,再按系统指定的标准目录查找〜C〜〜〜10下列对结构体类型变量td的定义中,错误的是()。typedefstructaa structaa
{intn; {intn;floatm; floatm;}AA; }td;AAtd;struct struct{intn; {intn;floatm; floatm;)aa; }td;structaatd;〜C〜〜〜10下列叙述错误的是()。可以通过typedef增加新的类型可以用typedef将已存在的类型用一个新的名字来代表用typedef定义新的类型名后,原有的类型名仍有效用typedef可以为各种类型起别名,但不能为变量起别名-A〜〜〜10设有以下语句:typedefstructTT{charc;inta[4];}CIN;则下列叙述中正确的是()。可以用TT定义结构体变量TT是struct类型的变量可以用CIN定义结构体变量CIN是structTT类型的变量-C〜〜〜10下列关于typedef的叙述错误的是()。用typedef可以增加新的类型typedef只是将已存在的类型用一个新的名字来代表用typedef可以为各种类型说明一个新名,但不能用来为变量说明一个新名用typedef为类型说明一个新名,通常可以增加程序的可读性-A〜〜〜10有以下结构体类型说明和变量定义中正确的是()。typedefstruct structREC{intn;charc;}REC; {intn;charc;};RECtl,t2; RECtl,t2;{intn;charc;}REC;RECtl,t2;typedefstruct{intn;charc;}REC;RECtl,t2;{intn=0;charc=A';)tl,t2;~~~10定义以下结构体数组:structst{charname[15];intage;}a[l0]={“ZHAO”,14JWANG”,15JLIU”,16JZHANG”,17};执行语句p^intf("%d,%c”a⑵.age,*(a[3].name+2)))的输出结果为O。15,A16,H16,A17,H~C设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为()。EOF非。值0NULL~B读取二进制文件的函数调用形式为:fread(buffer,size,count,fp);,其中buffer代表的是()。一个文件指针,指向待读取的文件一个整型变量,代表待读取的数据的字节数一个内存块的首地址,代表读入数据存放的地址一个内存块的字节数-C如果需要打开一个已经存在的非空文件“FILE"并进行修改,正确的语句是()。fp=fopen("FILE","r");fp=fopen("FILE","a+");fp=fopen("FILE","w+");fp=fopen("FILE","r+");~D若以"a+"方式打开一个已存在的文件,则以下叙述正确的是()。文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可作添加或读操作文件打开时,原有文件内容不被删除,只能进行读操作文件打开时,原有文件内容被删除,只能进行写操作以上各种说法都不正确~A使用fgets(str,n,p)函数从文件中读入一个字符串,以下叙述错误的是()。字符串读入后会自动加入fp是指向该文件的文件型指针fgets函数将从文件中最多读入n-1个字符fgets函数将从文件中最多读入n个字符~D###~~~3下列程序运行后的输出结果是《10200>]omain(){inta,b,c;a=10;b=20;c=(a%b<l)ll(a/b>1);printf(M%d%d%d\nH,a,b,c);)~~~3下列程序用于判断a、b、c能否构成三角形,若能输出YES,否则输出NO。请填空。main(){floata,b,c;if([<(a+b>c)&&(a+c>b)&&(b+c>a)>])printf(MYES\nM);elseprintfC'NO*');)~~~3已有定义:charc=";inta=l,b;执行b!=c&&a;后b的值为~~~3下列程序的输出结果是main(){inta=l,b=2,c=3;if(c=a)printf(M%d\nn,c);elseprintf(M%d\nM,b);下列程序的输出结果是main(){intx,a=l,b=2,c=3,d=4;x=(a<b)?a:b;x=(x<c)?x:c;x=(d>x)?x:d;printf("%d\n”,x);)—〜3下列程序的输出结果是[<O235>]main(){intk=5,n=0;do{switch(k){case1:case3:n+=l;k-;break;default:n=O;k—;case2:case4:n+=2;k—;break;)primf("%d”,n);}while(k>0&&n<5);) 3下列程序的输出结果是[<25>]main(){inti;for(i=l;i<=10;i++){if((i*i>=20)&&(i*i<=100))break;}printf("%d\n”,i*i);)~~~3下列程序的输出结果是[<2,2,0>]main(){inta=-5,b=l,c=l;intx=0,y=2,z=0;if(c>0)x=x+y;if(a<=0){if(b>0)if(c<=0)y=x-y;)elseif(c>0)y=x-y;elsez=y;printf(M%d,&d,&d\nH,x,y,z);)有下列程序段,且变量已正确定义和赋值:for(s=1,0,k=1;k<=n;k++)s=s+1.0/(k*(k+1));prmtf(Ms=%f\n\nH,s);请填空,使下列程序段的功能与之完全相同。s=1.0;k=l;while([<k<=n>]){s=s+1.0/(k*(k+l));[<k++>];}printf(,,s=%f\n\n,',s);下列程序的功能是:将输入的正整数按逆序输出。例如,如输入135则输出531,请填空。main(){intn,s;scanf(H%d",&n);do{s=n%10;printf(M%d,',s);[<n=n/10>];}while(n!=0);}下列程序的功能是计算:s=1+12+123+1234+12345.请填空。main(){intt=O,s=O,i;for(i=l;i<=5;i++){t=i+[<t*10>];s=s+t;}printf("%d\n”,s);下列程序的运行结果是[v32>)。main(){inti=O,a=O;while(i<20){for(;;){if(i%10=0)break;elsei-;i+=ll;a+=i;printf("%d\n”,a);}###~~~3在下列给出的表达式中,与while(E)中的(E)不等价的表达式是()。(!E==0)(E>0IIE<0)(E==0)(E!=0)《批注:应为C》已知字母A的ASCII值为65,若变量kk为char型,以下不能正确判断出kk的值为大写字母的表达式是()。kk>='A'&&kk<=(Z,!(kk>='A'llkkv=Z)(kk+32)>='a,&&(kk+32)<='z,isalpha(kk)&&(kk<91)~B~~~3设有定义:inia=2,b=3,c=4;,则下歹ij选项中值为0的表达式是()。(!a=l)&&(!b==O)(a<b)&&!cllla&&ball(b+b)&&(c-a)〜A〜〜〜3下列关于逻辑运算符两侧运算对象的叙述中正确的是()。只能是整数。或1只能是整数0或非0可以是结构体类型的数据可以是任意合法的表达式-D〜〜〜3当变量c的值不为2、4、6时,值也为真的表达式是()。(c==2)ll(c==4)ll(c==6)(c>=2&&c<=6)ll(c!=3)ll(c!=5)(c>=2&&c<=6)&&!(c%2)(c>=2&&c<=6)&&(c%2!=1)〜C〜〜〜3在嵌套使用if语句时,C语言规定else总是()。和之前与其具有相同缩进位置的if配对和之前与其最近的if配对和之前与其最近的且不带else的if配对和之前的第一个if配对-C〜〜〜3设变量x和y均已正确定义并赋值。下列if语句中,在编译时将产生错误信息的是()。if(x++);if(x>y&&y!=O)if(x>0)x—elsey++if(y<0){;}elsex++;〜C〜〜〜3若变量已正确定义,有以下程序段:*inta=3,b=5,c=7;*if(a>b)a=b;c=a;*if(c!=a)c=b;*printf(M%d,%d,%d\nM,a,b,c);*其输出结果是()。程序段有语法错误3,5,33,5,53,5,7~B 3下列叙述中正确的是()。break只能用于switch语句switch语句中必须使用defaultbreak必须与switch语句中的case配对使用在switch中,不一定使用break~D 3若变量已正确定义,以下表达式错误的是()。a/b+ca%(5.0)a=l/3*(x=y=10,x*2)a=b=c〜B~~~3下列程序运行后的输出结果是()。*main()*{inta=4,b=3,c=2,d=1;*printf(1,%d',,a<b?a:d<c?d:b);*}1324~A~~~3若a=3,b=4,c=5,d=6,则条件表达式a<b?a:c<d?c:d的值是()。4321~B~~~3执行下面程序中的输出语句后,a的值是()。*main()*{inta;*printf(H%d\nM,(a=2*3,a*5,a+7));n1737613当a=l,b=2,c=3,d=4时,执行下面程序段后,x的值是()。*if(a<b)*if(c<d)x=l;*elseif(a<c)if(b<d)x=2;elsex=3;elsex=6;elsex=7;1236〜A有下列程序:*main()*{intk=5;*while(-k)printf("%d”,k-=3);*printf("\nn);*}*执行后的输出结果是()。124死循环〜A有下列程序段:intn,t=l,s=O;scanf(H%d'\&n);do{s=s+t;t=t-2;}while(t!=n);为使此程序不陷入死循环,从键盘输入的程序应该是()。任意正奇数任意负偶数任意正偶数任意负奇数-D若变量已正确定义,有下列程序段:*i=0*doprintf("%d,",i);while(i++);*printf("%d\n",i);其输出结果是()。0,00,11,1程序进入无限循环〜B有下列程序:*main(){intij,m=55;for(i=l;i<=3;i++)for(j=3;j<=i;j++)m=m%j;*printf(,T%d\n'\m);程序的运行结果是()。0123〜B下列程序的运行结果是()。*main(){inta=l,b;for(b=l;b<=10;b++){if(a>=8)break;*if(a%2==l)*{a+=5continue;}*a=3;*}*printf("%d\n'b);}3456〜B下列叙述中正确的是break语句只能用于switch语句中continue的作用是使程序的执行流程跳出包含它的所有循环break语句只能用于循环体内和switch语句中在循环体内使用break语句和continue语句的作用相同~C设有程序段:*intk=12;*while(k=l)k=k-l;*则下面描述中正确的是()。while循环执行10次循环是无限循环循环体语句一次也不执行循环体语句执行一次〜C 《批注:应为B》下列程序段的运行结果是()。*x=y=0;*while(x<25)*{y++;*x+=++y;*printf(M%d,%dM,y,x);30,99,303410,30〜Dwhile和dowhile循环的主要区别是(dowhile循环的循环体不能是复合语句dowhile循环允许从循环体外转到循环体内while循环的循环体至少被执行一次dowhile循环的循环体至少被执行一次〜D下面的for语句的循环次数是()。*for(x=l,y=0;(y!=19&&(x<6);x++);无限循环循环次数不定最多执行6次最多执行5次-D下面结论中错误的是()。可以用dowhile语句实现的循环一定可以用while语句实现可以用for语句实现的循环一定可以用while语句实现可以用while语句实现的循环一定可以用for语句实现dowhile语句和while语句的区别仅是while出现的位置不同-D若i,j一定义成int型,则以下程序段中内循环体的总执行次数是()。*for(i=6;i>0;i-)*for(j=0;j<4;j++){...}20242530~B以下循环体的执行次数是()。*main()*{inti,j;*for(i=0,j=1;i<j+l;i+=1j—)*printf(M%d\nM,j);)3210~c下列叙述中正确的是()。只能在循环体内和switch语句内使用break语句continue的作用是结束整个循环的执行在循环体内使用break和continue的作用相同从多层循环嵌套中退出时,只能使用got。语句~A判断计算机的一切操作都是由程序控制的,离开了程序,计算机将•事无成。~y所谓程序就是一组计算机能识别和执行的指令。~y由于计算机能直接识别和接受机器指令,所以机器语言是最适合人们编程的语言。〜n编译程序可以把用高级语言写的程序转换为机器指令的程序。~y一般而言,我们把用高级语言编写的程序称为目标程序。~n在生成可执行程序前,应该先编译再连结。〜y高级语言之所以高级,就在于用它来编写程序可以不遵循任何形式。c语言程序设计自由度大,所以属于非结构化语言。〜nC语言属于高级语言,不允许直接访问物理地址。〜n函数是C程序的主要组成部分。〜y 3若使用TC2.0编译器,则编译系统分配给int、char、float分别为2、1、4个字节〜y 3下列是合法的变量名:day、sum、_pint〜y 3若定义chare;则c="c”;〜n〜〜~3C语言可以使用一个符号名称代表一个常量〜y〜〜〜3如下程序段floatx=3.6;inti;i=(int)x;则x=3,i=3〜n 3在C语言中字符型数据可以和整型数据进行算术运算〜y〜〜〜3使用scanf输入数据时可以规定其精度〜n〜〜〜3C语言中的(++,・・)运算符只能用于变量〜yC语言中floata=b=c=1.0是正确的〜n〜〜〜3putchar(c)中c可以是转义字符一yif语句无论写在儿行上,都是一个整体,属于同一个语句。〜y整个if语句可以写在多行上,也可以写在一行上。〜y在if语句中,有if必须有else。在if语句中,有else必须有if。〜yelse子句不能作为语句单独使用,必须与if配对使用。〜yC语言编译系统在表示逻辑运算结果时,以数值1代表“真”,以。代表“假二〜y算术运算符优先级高于关系运算符。〜V逻辑非是逻辑运算符中优先级最高的。〜yswitch语句是多分支选择语句。〜y在判断一个量是否为“真”时,以o代表“假”,以非o代表“真:〜y〜〜〜5C语言中实现循环结构的3个语句是for语句、while语句和do-while语句。〜y 5for(;;)和while⑴构成的都是无限循环。~y〜〜〜5C语言中实现循环结构的while语句和do-while语句是完全等价的。〜n〜〜〜5执行语句for(i=l;i++<4;);后变量i的值是4〜n〜〜〜5for语句只能用于循环次数已经确定的情况。
-n~~~5现有定义intk=l;则执行语句while(++kv4);后,k的值为4#include<stdio.h>intint#include<stdio.h>intinti=O,j=10,k=2,s=0;for(;;){i+=k;if(i>j){printf("%d”,s);break;}s+=i;}}中,判断i>j共执行了6次。〜y~~~5ints=36;while(s)构成的是死循环。〜n~—5程序段int=O;while(t=l){printf("%d\n”,t);}在运行时,printf语句的执行次数是0次。~n~~~5程序#include<stdio.h>intmain(){intx=23;odo{printf(',%d,,,x—);while(!x);}运行时的输出结果是23〜y在定义数组时,数组下标可以用变量表示〜n在引用数组中的元素时,数组下标可以用变量表示〜y~~~6inta[8];〜y~~~6inta[8];定义了一个整型数组,〜ninta[6];定义了一个整型数组,~ninta[2][3];定义了一个数组,数组中的最后一个元素是a[8]数组中的第一个元素是a[l]该数组中共有6个元素~y假设s[10]是一个字符数组,通过scanf("%d”,s);可以输入一个字符串给该数组~yinta[6]={0};定义了一个数组a,并且该数组中每个元素的初值均为0~yinta[2][3]={{l},{2},{3}};是正确的数组赋初值的方法~y比较两个字符串的大小,可以用strcpy函数〜n连接两个字符串,可以用strcat函数~y测试一个字符串的长度,可以使用strlen函数~y如果被调用函数的定义出现在主调函数之前,可以不必加以声明。-yc语言不能嵌套定义函数,也不可以嵌套调用函数,也就是说,在调用一个函数的过程中,不可以调用另一个函数~n主函数中定义的变量也只在主函数中有效,而不因为在主函数中定义而在整个文件或程序中有效。主函数也不能使用其他函数中定义的变量。~y不同函数中可以使用相同名字的变量,它们代表不同的对象,互不干扰。~y在一个函数内部,可以在复合语句中定义变量,这些变量只在本复合语句中有效,这种复合语句也称为“分程序”或“程序块”。~y函数内定义的变量是外部变量,而在函数之外定义的变量称为局部变量,外部变量是全局变量(也称全程变量)。~n局部变量可以为本文件中其他函数所共用。它的有效范围为从定义变量的位置开始到本源文件结束。~n 7从变量值存在的时间角度来分,又可以分为静态存储方式和动态存储方式。〜y所谓动态存储方式是指在程序运行期间由系统分配固定的存储空间的方式。〜n 7静态存储方式则是在程序运行期间根据需要进行动态的分配存储空间的方式。〜nC语言中,如果用指针变量作实参调用函数,先使指针变量有确定值,指向一个已定义的单兀。〜yc语言中,函数的调用只可以得到一个返回值,而运用指针作函数参数可以得到多个变化的值。〜yC语言中,用输入输出I语句来输入输出数据。〜n使用putchar函数时,必须在之前包含头文件stdio.ho〜y使用putchar函数可以向终端输出一个字符串。〜n使用printf函数可以按一定位数输出。〜yprintf函数中,%(:和%$都可以输出字符串。〜n用scanf函数向已定义的变量中输入数据时,在变量名前面必须加&。〜y用scanf函数向已定义的变量中输入数据时,当遇非法输入时,该数据输入结束。〜y有关输入输出函数的使用,putchar(getchar());语句是错误(正确)的。〜n所谓数组元素的指针就是指数组元素的地址。〜y交换两个指针变量pl和p2的程序是temp=*pl;*pl=*p2;*p2=temp;〜nprimf("%d”,a[i])与printf(”%d”,*(a+i))语句起到的作用相同,前者执行的效率高。〜n作形参的数组名不是一个国定的地址,而是按指针变量处理。~y定义指向函数的指针的格式是im*p(int,int);o-n程序段int*p,a=2;p=&a;printf(H%dM,*(p++));的输出结果是2〜y。"—8C99中可定义基类型为void的指针变量,这是能指向任何类型的变量。〜n将p指向字符串"China”的程序段是char*p;p="China”;〜y程序段inta,m=4,n=6,*pl=&m,*p2=&n;a=(*pl)/(*p2)+5;执行后a的值为5〜V程序voidf(int*n){while((*n)-);printf(a%d",++(*n));}main(){inta=l;f(&a);}没有输出结果〜nC语言允许用户自己建立由不同类型数据组成的组合型的数据结构,它称为结构体。〜y结构体类型的名字就是结构体的名字。〜n在定义结构体时,成员的类型必须指定,既可以是简单的数据类型,还可以是构造的数据类型。〜y若程序中含有结构体类型,则结构体成员的名字不能与程序中的变量名相同。〜n对结构体变量的成员可以像普通变量一样进行各种运算。〜y结构体数组中每个数组元素都是类型相同的结构体,可以对每个数组元素整体进行输入和输出的操作。〜n〜〜〜10文件标识包含三部分内容,即文件路径、文件名主干和文件后缀。文件名主干的命名规则遵循标识符的命名规则,后缀用来表示文件的性质,由3个字母构成。〜n〜〜〜10根据数据的组织形式,数据文件分为ASCII文件(文本文件)和二进制文件(映像文件),ASCII文件比二进制文
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026浙江嘉兴海盐农村商业银行股份有限公司专业化人才岗位常态化招聘笔试参考题库及答案解析
- 四川天府新区兴隆街道2026年公开招聘专职网格员(14人)考试模拟试题及答案解析
- 2026吉安市担保集团有限公司招聘派遣人员4人考试参考题库及答案解析
- 2026年及未来5年市场数据中国塑料编织包袋行业市场竞争格局及投资前景展望报告
- 子女共同抚养离婚协议书
- 调解员操作技能能力考核试卷含答案
- 2026青海黄南州同德县紧密型县域医共体招聘2人考试备考试题及答案解析
- 2026年及未来5年市场数据中国远程协作办公行业市场发展数据监测及投资战略咨询报告
- 进货检验验收制度
- 塑料家具制作工测试验证强化考核试卷含答案
- MOOC 中医基础理论-河南中医药大学 中国大学慕课答案
- 装饰装修工程施工组织设计完整版
- 特种加工第六版白基成课后习题答案
- 《滚动轴承 汽车用等速万向节及其总成》
- 左洛复心内科-解说词版
- 多唱魔镜ext4格式的母盘制作和权限修改方法
- BVI企业性公司章程汉语版
- GB/T 6003.3-1999电成型薄板试验筛
- 高三化学人教版2016二轮复习专题八 电化学原理
- GB/T 26392-2011慢回弹泡沫复原时间的测定
- GB/T 15055-2021冲压件未注公差尺寸极限偏差
评论
0/150
提交评论