上海海洋大学C语言考试试卷(共六卷).docx

上传人:李司机 文档编号:6805127 上传时间:2024-02-25 格式:DOCX 页数:74 大小:202.78KB
返回 下载 相关 举报
上海海洋大学C语言考试试卷(共六卷).docx_第1页
第1页 / 共74页
上海海洋大学C语言考试试卷(共六卷).docx_第2页
第2页 / 共74页
上海海洋大学C语言考试试卷(共六卷).docx_第3页
第3页 / 共74页
上海海洋大学C语言考试试卷(共六卷).docx_第4页
第4页 / 共74页
上海海洋大学C语言考试试卷(共六卷).docx_第5页
第5页 / 共74页
点击查看更多>>
资源描述

《上海海洋大学C语言考试试卷(共六卷).docx》由会员分享,可在线阅读,更多相关《上海海洋大学C语言考试试卷(共六卷).docx(74页珍藏版)》请在三一办公上搜索。

1、break;)B、inti,sum=O;for(i=l;i+)sum=sum+l;Cxintk=0;do+k;while(k=0);Dxints=3379;while(s+%2+3%2)s+;【答案】A【解析】分析各个选项。选项A中,当变量i的值等于20时,会执行break;语句,即退出整个WhiIe循环体。所以选项A的循环语句不是死循环。其他各个选项的循环语句中,没有循环退出点,所以都是死循环。5、有语句CharStrl10,str210=l,china,;则能将字符串China赋给数组Strl的正确语句是.A、strl=,china);B、strcpy(str1,str2);Cxstrl=

2、str2;D、strcpy(str2,strl);【答案】B6、若已定义X和y为double类型,则表达式x=l;y=(x+3)2的值是。A、1B、2C、2.00000D、2.50000【答案】C【解析】()的优先级较高,先计算x+3,结果为4.0,再4.0/2结果为2.0。7、下列哪个数组定义是正确的OA、 inta5)5;B、 INTa10;Cxintan;Dxinta3+2;【答案】D8、按照数的进位制概念,下列各个数中正确的八进制数是_。A、HOlB、 7081C、 1109C语言考试试卷(一)(总分100分.专设时长6。分钟)一、单项选择题(每小题2分,共100分)1、以下选项中不合

3、法的标识是OA、&aB、FORC、printD、_00【答案】A2、下列不属于整型变量的类型是oA、 byteB、 shortC、 floatD、 long【答案】C3、与y=(x0?l:x0)y=l;elseif(x0)y=l;elseif(x0)y=l;elseif(x=0)y=0;elsey=-l;E、 y=0;if(x=O)if(xO)y=l;elsey=-l;【答案】A4、下列各循环语句中,不是死循环的是oA、inti=100;while(i)i=i%100+l;if(i=20)D、实参顺序与形参顺序无关。【答案】B13、下列程序的运行结果是ovoidfun(int*a,int*b)

4、(int*k:k=a;a=b;b=k;)main()inta=3,b=6,*x=&a,*y=Ab;fun(x,y);printf(%d%d,a,b):)A、63B、36C、编译出错D、00【答案】B【解析】在C语言中,调用函数时是将实参复制一份给形参,所以无论怎么改变形参的值,都不会影响到实参,即传值调用。即使形参是指针变量,也没有改变C语言传值调用这个事实,实参指针也还是复制了一份给形参指针,无论怎么改变形参指针的内容(注意:不是形参指针所指向的内容),也不会影响实参指针的内容。但它们两个现在的值一样,BP;指向的是同一个内存地址,所以改变形参指针所指向的内容,也就改变了实参指针所指向:的内

5、容,C语言就是这样实现传址调用的。本题中fun()函数的形参就是两个指针,但函!数中没有任何语句改变这两个指针所指向的内容,只是交换了两个参数的内容,所以该函!数不会对传递给它的实参以及实参所指向的内容造成任何影响,故a,b初始化时为3,:6,输出结果亦为3和6。应该选择B。14、设intf(int);和intg(int);是函数f和g的原形,以下将f作为语句调用的是:IA、g(f(3)B、f(g(3);C、g(f(3)+2);D、p=f(g(3)+1);【答案】D【解析】P=f(g(3)+1):函数f被作为一个语句调用。15、下面程序的输出结果是:mainOD、B03【答案】A【解析】八进制

6、的数字为。7。9、下列字符串中可以用作C标识符的是。A、 2009varB、 gotoC、 test-2009D、 -123【答案】D【解析】在C中,变量标识符必须以大小写字母或下画线开始,是由数字或者字母下画线等组成的一个字符串,其中C+关键字不能作为标识符,不能包含-、+、*、/等运算符号。C+变量区分大小写。10、执行下列语句后,i和n的值为()inti=10;intn=i+%5;A、 10,0B、 10,1C、 11,0D、 11,1【答案】C【解析】本题考查了+和两个运算符。+运算符在前是先使用操作数的值参与表达式的计算,然后将操作数的值加1;%是求余。该题参与运算的i的值是10,而

7、运算完后i的值就变为11,n=0o所以本题选C。11、以下程序的输出结果为omain()(inta=l,b=2,c=3,d=4,e=5;printf(R%dnw,func(a+b,b+c,c+a),(d+e);)intfunc(intx,inty)return(x+y);)A、15B、13C、9D、函数调用出错【答案】B12、以下说法正确的是A、实参类型不必同形参类型一致。B、实参可以是常量、变量和表达式。C、形参可以是常量、变量和表达式。intn,k;floatscore,sum,ave;sum=0.0;for(n=l;n=10;n+)for(k=l;k=4;k+)scanf(%fw,&sc

8、ore);sum+=score:ave=sum4.0;printf(,no%d%fn,n,ave);)上述程序运行后结果不正确,调试中发现有一条语句出现在程序的位置不正确。这条语句是。A、sum=0.0;B、sum+=score;Cxave=sum4.0;D、Printf(N0%D%fn,n,ave);【答案】A19、以下语句或语句组中,能正确进行字符串赋值的是一。Axchai*sp;*sp=nright!:B、chars10;s=right!w;Cxchars10;*s=right!D、chai*sp=right!【答案】D【解析】本题考查了考生对字符串常量的理解。字符串常量是一段以双引号括

9、起来的字符序列,它既可以出现在对字符数组的初始化中,也可以出现在表达式中。当它用于对字符数组的初始化时,应注意系统自动为其添加的结束标志0.而当它出现在表达式中时,应该将其看作一个COnStChar*类型的指针常量。在选项A中,首先定义了一个字符指针SP,然后将一个字符串赋给甲所指的地址,这是错误的。因为SP是一个未经初始化的野;指针,不知其指向哪儿,往一个不确定的地址中写数据很容易让程序出错。选项B首先定:义了一个字符数组,然后将一个字符串就给数组名,这是错误的。因为数组名是一个指针:常量,不可以被改变。选项C首先定义了一个字符数组,然后将一个字符串赋给数组的第:一个元素,这也是错误的。因为

10、字符串在表达式中相当于一个常字符指针,将一个指针值,赋给一个字符型变量是行不通的。选项D是定义一个字符指针sp,同时使其指向一个字!符串常量,即将一个常字符型指针赋给sp。这是可行的。所以,4个选项中选项D符合惠;inta=-l,b=4,k;k=(a+l;i-)for(j=l;ji;j+)PUtChar(#);A、无B、#C、#D、#【答案】B17、若有以下说明和定义Uniondt(inta;charb;doublec;)data;以下叙述中错误的是OA、data的每个成员起始地址都相同B、变量data所占的内存字节数与成员c所占字节数相等C、程序段data,a=5;Printf(5fn,da

11、ta.;输出结果为5.OOOOOOD、data可以作为函数的实参【答案】C【解析】UniOn是表示共用体的关键字,成员a,b,c共占用同一个内存空间,data的每个成员起始地址都相同;共用体变量所占的内存长度等于最长的成员的长度,故变量data所占的内存字节数与成员C所占字节数相等;执行data.a=5;printfC%fnw,data.c);wprintf函数只是将内存中的数据以不同的类型输出,而不能将内存中的整型数据自动转换为等值的浮点数,故C是错误的。18、以下程序的功能是:按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下:main()4);x+),y!=99&

12、xV4即循环条件当y不等于99以及V4时,执行循环语句,当有一个条件不成立时,均结束循环,因此循环4次,B选项正确。25、若有以下的定义:intta2;,能正确表示t数组元素地址的表达式的是。A、&.t32B、 t3C、 tlDxt22【答案】C26、在C语言中,能表示无符号长整型常数的是一。A、OLB、49627IOUC、912374uD、2UL【答案】D27、若有inta10f*p=a;,且a数组已赋值,则与a4不等价的表达式为oA、p+4B、 *(p+4)C、 *(a+4)D,p4【答案】A【解析】请仔细阅读交规难度:简单28、若已定义:inta9,*p=a;并在以后的语句中未改变P的值

13、,不能表示al地址的表;达式是OAp+1Bxa+1C、&alD、 *pl【答案】D29、字符串指针变量中存入的是oA、字符串B、字符串的首地址C、第一个字符D、字符串变量【答案】B30、以下叙述中错误的是oA、C语言的可执行程序是由一系列机器指令构成的B、用C语言编写的源程序不能直接在计算机上运行C、通过编译得到的二进制目标程序需要连接才可以运行D、在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件20、表达式*(int*)(p+l)+2)的值时.staticstruct(intx,y3;)a3=1,2,3,4,5,6,7,8,9,10,11,12),*p;P=a+1;A、

14、3B、7C、10D、11【答案】D21、下列符号中,可以作为变量名的是。A、+cB、*XC、 _DAYD、 next-day【答案】C22、下列选项中,合法的变量名是oA、 printB、 printttlC、print1D、9printl【答案】C【解析】变量的命名规则为,变量名必须以字母开头;不能在变量名中出现句点、空格或者嵌入下列字符“!,$,乐&”;变量名不能和关键字同名,根据上述规则可得本题答案为C。23、对于void类型函数,调用时不可作为()。A、自定义函数体中的语句B、循环体里的语句C、if语句的成分语句D、表达式【答案】D24、若变量已正确定义:for(x=0,y=0;(y!

15、=99&xV4);x+)则以上for循环()A、执行3次B、执行4次C、执行无限次D、执行次数不定【答案】B【解析】本题重点考查for语句的循环次数,for(x=0,y=0;(y!=99&xnumB、p+C、(*p).numD、p=&stu.age【答案】D【解析】考查对结构体成员的引用方法。解题要点结构体成员的引用可以用“结构体,变量名,成员名”或者“结构体变量指针-成员名”两种方式来引用。考点链接f;构体类型的变量、数组和指针变量的定义。35、下面的程序main()(intx=3,y=0,z=0:if(x=y+z)printf(n*);elsepiintf(#);)A、有语法错误不能通过编

16、译B、输出*。C、可以通过编译,但是不能通过连接,因而不能运行。D、输出#。【答案】D36、已知:inta.b;下列SWitCh语句中,()是正确的。A、 switch(a)casea:a+;break;caseb:b+;break;B、 switch(a+b)case1:a+b;break;【答案】D31、以下程序中函数scmp的功能是返回形参指针Sl和s2所指字符串中较小字符串的首地址#include#includechar*scmp(char*sl,char*s2)if(strcmp(s1,s2)0)return(si);elsereturn(s2);)mainO(inti;charst

17、ring20,str320;for(i=0:i3;i+)gets(stri);strcpy(string,scmp(str0,strl);*库函数StrCPy对字符串进行复制*/strcpy(string,scmp(string,str2);Printf(%sn,string):)若运行时依次输入:abed、abba和abc三个字符串,则输出结果为A、 abedB、 abbaC、abcD、abca【答案】B32、若已定义:inta9,*p=a;并在以后的语句中未改变P的值,不能表示al地址的表达式为()oA、p+1B、a+1C、a+D、+p【答案】C33、以下能正确定义一维数组的选项是oA、

18、inta5=0,1,2,3,4,5;B、chara=1,2,3,4,5,6;C、chara=s,d,k;D、inta5=ff0123;D、charnlyString12=,Hello-World!n;【答案】A【解析】选项C、D的数组下标超界;对于选项B,不能将字符串赋值给字符,可以将一个!字符串赋值给字符指针,指针指向字符数组的首地址。40、设有以下说明语句:typedefstructstuinta;floatb;stutype;则下面叙述中错误的是OA、StrUCt是结构类型的关键字B、structStU是用户定义的结构类型C、a和b都是结构成员名D、StUtyPe是用户定义的结构体变量名

19、【答案】C41、以下选项中不属于字符常量的是oA、CB、C、 xCC0D、 072【答案】B42、若有定义inta=-5,b=7;,则表达式a%=(b%2)运算后,a的值为A、0B、1C、11D、3【答案】A43、设变量a、b、c、d和y都已正确定义并赋值。若有以下if语句:if(ab)if(c=d)y=O;Jelsey=l;该语句所表示的含义是。A、 y=0,ay=l,abBxy=0,ay=l,ab且cdC、 y=0,ay=l,aVB且CrDD、 y=0,ay=l,cd【答案】C44、下面有关for循环的正确描述是()。case1:a-bC、 switch(a*a)case1,2:+a;ca

20、se3,4:+b:D、 switch(a10+b)case5:a/5:break:default:a+b;【答案】D37、下列数据中为字符串常量的是。A、AB、9C、HowdoyoudoD.Sabd【答案】B38、有以下程序voidchange(intk)(k0=k5:)main()intx10=L2,3,4,5,6,7,8.9,10,n=0;while(n=4)(change(&xn);n+;)for(n=0;n5;n+)printf(w%d,xn);Printf(n);)程序运行后输出的结果是。A.678910B. 13579C. 12345D. 62345【答案】A39、下列语句中正确的

21、是A、 char*myString=HeIlo-World!;B、 charInyString=nHello-World!;C、charInyString11=Hello-World!,;voidmain()charst*=abc,*p=str;printf(%dn,*(p+3);A、67B、0C、字符C的地址D、字符C【答案】B【解析】先定义了一个指向字符型数组str的指针P,指针P指向数组str的首地址,p+3;将指针指向str3,又因为字符型数组在存放字符串时会自动在末尾加上0,所以:*(p+3)=Oo48、下列关于指针运算的描述中,错误的是。A、在一定条件下,两个指针可以相加B、在一定

22、条件下,两个指针可以进行逻辑判断C、在一定条件下,指针可以为空值D、在一定条件下,两个指针可以相互赋值【答案】A【解析】本题考核指针的赋值和运算。在C语言中,指针可以进行赋值运算、算术运算、,比较运算(逻辑判断)。但是在任何条件下,两个指针都不能允许相加。因为地址相加后可:能会对内存进行不合法的访问。所以选项A的描述是错误的。49、下列关于bo。Iean类型的叙述中,正确的是。A、可以将boolean类型的数值转换为int类型的数值B、可以将boolean类型的数值转换为字符串C、可以将b。Oiean类型的数值转换为Char类型的数值D、不能将b。Iean类型的数值转换为其他基本数据类型【答案

23、】D50、关于fgets()函数,下列描述中正确的是oA、从文件fp中读取长度为n的字符串存入Str指向的内存B、从文件fp中读取长度不超过nT的字符串存入Str指向的内存C、从文件fp中读取n个字符存入Str指向的内存D、从str读取至多n个字符到文件fp中【答案】B【解析】fgets()是从文件fp中读取长度不超过nT的字符串存入Str指向的内存A、for循环只能用于循环次数已经确定的情况B、for循环是先执行循环循环体语句,后判断表达式C、在for循环中,不能用break语句跳出循环体D、for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来【答案】D45、以下程序中函数f的功

24、能是:当flag为1时,进行由小到大排序;当flag为0时,进行由大到小排序。voidf(intb,intn,intflag)(inti,j,t;for(i=0;in-l;i+)for(j=i+l;jbj:bibj)(t=bi;bi=bj;bj=t;)main()inta10=5,4,3,2,l,6,7,8,9,10,i;f(fta2,5,0);f(a,5,1);for(i=0:i10;i+)printf(%d,ai);)程序运行后的输出结果是A、1,2,3,4,5,6,7,8,9,10,B、3,4,5,6,7,2,1,8,9,10,C、5.4,3,2,L6,7.8,9,10,D、10,9,8

25、,7,6,5,4,3,2,1,【答案】B46、若fahr为整型变量,则能正确表示以下数学式的C语言表达式是A、 5*(fahr-32)9B、 59*(fahr-32)C、 5(fahr-32)9D、 (fahr-32)9*5【答案】A47、下列程序段的运行结果是,ttinclude程序的运行结果是A、 7,4,2B、 8,7,5,2C、 9,7,6,4D、 8,5,4,2【答案】D5、若程序中定义了以下函数doublemyadd(doublea,doubleb),、return(a+b);)并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明:是。A、doublemy

26、add(doublea,b);B、 doublemyadd(double,double);C、 doublemyadd(doubleb,doublea);D、 doublemyadd(doublex,doubley);【答案】A6、下列语句中,正确的是一。A、 staticcharstr=nChina;B、 staticcharstr口;Str=China”;C、 staticcharstrl5,str2=wChinaw;strl=str2;D、 staticcharstrl,str2;str2=China;strcpy(strl,str2);【答案】A7、下面程序输出数组中的最大值,由s指针

27、指向该元素.voidmain()(inta10=6,7,2,9,1,10,5,8,4,3,*p,*s;for(p=a,s=a;p-asB、*p*sC、apasD、p-ap-s【答案】B8、以下说法错误的是oA、C语言中的常量是指在程序运行过程中经常被用到的变量B、C语言中的常量是指在程序运行过程中其值不能被改变的量C语言考试试卷(二)(总分100分.考试时长60分钟)一、单项选择题(每小题2分,共100分)1、下列4种不同数制表示的数中,数值最小的一个是OA、八进制数52B、十进制数44C、十六进制数2BD、二进制数101001【答案】D【解析】:解答这类问题,一般都是将这些非十进制数转换成十

28、进制数,才能进行统一地对比。非十进制转换成十进制的方法是按权展开。2、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为OA、a0B、!aC、a=0D、a!=0【答案】D3、C语言中,关系表达式和逻辑表达式的值是oA、0B、0或1C、1D、T或F【答案】B4、有以下程序#includemain()(intx=8;for(;x0;X)(if(x%3)printf(*%d,x-);continue;)printf(%d,-x);【答案】D【解析】本题考核函数的原型声明格式。解析此题时,要注意函数定义和函数声明的区别。:C中每一个函数的定义都是由4个部分组成的,即函数类型

29、、函数名、函数参数表和!函数体。函数的声明是为了消除函数定义的位置影响。不管函数是在何处定义的,只要在调用:前进行函数的声明,就可保证函数调用的合法性。函数原型的说明格式为:V类型V函数名(V形参表);12、以下叙述中不正确的是一。A、表达式a&=b等价于a=abB、表达式a=b等价于a=abC、表达式a!=b等价于a=a!bD、表达式a=b等价于a=ab【答案】C13、请选出正确的程序段A、 int*p;scanf(w%d,p);B、 int*s,k;*s=100;C、 int*s,k;char*p,c;s=&k;P=&c;r,a,:D、 int*s,k;char*p,e;S=&k;p=&c

30、;s=p;T,:【答案】C【解析】本题的选项A)和B)犯了一个同样的错误,即指针变量P定义后并没有指向具体;的变量。也就是说,p中没有确定的地址值,它的值是不可预见的,所指向的单元也是不:可预见的,因此不能进行赋值操作。另外,在选项D)中,S是int型指针变量,p是ChaR型指针变量,所指向的内存单元所占用的字节数是不同的,因而不能将字符指针变量P的;值赋给整型指针变量s。C、C语言中的常量可以用一个符号名来代表D、C语言中的常量可以用宏来定义【答案】A【解析】C语言中的常量是指在程序运行过程中其值不能被改变的量,它可以用宏来定义,用一个符号名代表,选项A错误,选项BCD正确,本题答案A9、以

31、下程序运行后的输出结果是main()(chars=BCD,*p;for(p=s+l;ps+4jp+)printf(%sn,p);)A、ABCDBCDCDDB、ABCDC、BCDD、BCDCDD【答案】D【解析】本题考查指向字符串指针的运算方法。执行p=s+l后,指针变量P就指向字符串中的第二个字符B,然后输出字符串BCD并换行;继续执行循环语句,指针变量P指向下一个字符c,输出字符串CD,最后一次循环,P指向字符D,输出字符串D。10、设intx=;执行语句x+=x-=x*x;后,X的值是。A、-60B、0C、6D、36【答案】A11、在函数声明中,下面哪项是不必要的oA、函数参数的类型和参数

32、名B、函数名C、函数的类型D、函数体A、12B、15C、6D、5【答案】D【解析】字符0为字符串结束标识位。18、有以下程序:main()charch;ch=,a+5,-3;printf(*d,%cn,ch,ch);)程序的输出结果是OA、67,CB、B,CC、c,DD、不确定的值【答案】A19、下列哪个语句是声明一个含有IO个String对象的数组()A、charstr;B、charstr;C、 Stringstr=newString10;D、 Stringstr10;【答案】C20、设有以下语句typedefstructSintg:charh;)t;则下面叙述中正确的是OA、可用S定义结构

33、体变量B、可以用T定义结构体变量C、S是StrUCt类型的变量D、T是StrUCtS类型的变量【答案】A21、微机中的32指的是oA、微机型号码14、若已定义实参数组inta34=2,4,6,8,10);则在被调用函数f的下述定义中,对形参数组b定义正确的选项是.A、f(intb6)B,f(b)intb4;C、f(intb3);D、f(b)intb45;【答案】B15、有以下程序main()(chaia=abcdefg,b10=wabcdefgw;printf(*%d%dn,sizeof(a),sizeof(b);)执行后输出结果是。A、77B、88C、810D、1010【答案】C16、与下面

34、程序段等价的是ofor(n=100;n=200;n+)(if(n%3=0)continue;printf(%4d,n);)A、for(n=100;(n%3)&n=200;n+)printf(%4d,.n);B、for(n=100;(n%3)|n=200;n+)printf(%4dw,n);C、for(n=100;n=200;n+)if(n%3!=0)printf(w%4d,n);D、for(n=100;n=200:n+)if(n%3)printf(w%4d,n);Elsecontinue;Break;)【答案】C17、有以下程序:ttincludemain()(char*p=abcde0ghj

35、ik0;printf(w%dn,*,strlen(p);程序运行后的输出结果是25、对两个数组a和b进行下列初始化:charm=n1234567;charIn口=l,2,3,4,5,6,7;则下列叙述正确的是。A、数组in与数组n完全相同B、数组In与数组n长度相同C、数组In比数组n长ID、数组m与数组n中都存放字符串【答案】C26、以下四个选项中,不能看作一条语句的是。A、;Bxa=5,b=2.5,c=3.6;C、if(a5);D、if(b!=5)x=2;y=6;【答案】D【解析】选项D)为两条语句,每条语句以分号结束。27、在定义inta56;后,数组a中的第10个元素是(设a00为第一

36、个元素)A、 a25B、 a24C、al3D、al5【答案】C28、对于ascii码在机器中的表示,下列说法正确的是0A、使用8位二进制代码,最右边一位是0B、使用8位二进制代码,最右边一位是1C、使用8位二进制代码,最左边一位是0D、使用8位二进制代码,最左边一位是1【答案】C【解析】计算机内部用一个字节(8位二进制位)存放一个7位ASCn码,最高位置0。29、有以下程序ttincludemain()(chars=012xy08s34f4w2:inti,n=0;for(i=0;si!=0;i+)if(si=,0&si=9)n+;Printf(%dn,n);)程序运行后的输出结果是OA、0B、

37、3R、机器字长C、内存容量D、存储单位【答案】B【解析】字长越长,计算机一次处理的信息位就越多,精度就越高,字长是计算机性能的一个重要指标。目前,微机的字长以32位、64位为主。22、设有以下语句:inta=l,b=2,c;c=a(bVV2);执行后,c的值为。A、6B、7C、8D、9【答案】D23、以下叙述中正确的是oA、C语言的源程序不必通过编译就可以直接运行B、C语言中的每条可执行语句最终都将被转换成二进制的机器指令C、C源程序经编译形成的二进制代码可以直接运行D、C语言中的函数不可以单独进行编译【答案】B24、以下程序的功能是计算s=l+12+123+1234+12345ottincl

38、udemain()(intt=0,s=0,i;for(i=l;i=5;i+)t=i+;s=s+t;printf(s=%dn,s);则部分是OA、tB、 t*10C、 t*100D、 t+10【答案】B【解析】1、12、123、1234、12345可以写成1=0*10+1、12=1*10+2、123=12*10+3、123=123*10+4.12345=1234*10+5.按照这种规律后一项可以等于前一项乘以10再加上循环变量。这属于循环里面比较难的题目,需要考生找出其数据的内在规律,并转化为计算机语言,基本上都是累加和累积两种。Axhow8、 howareyouC、hD、howareyou【答

39、案】A【解析】当从键盘输入bowareyou时,由于SCanf输入函数的特点是遇到空格时结束读;入字符,因此,该程序只将how这3个字符送到了字符数组Str中,并在其后自动加上结?束符a0,o34、下列关共用体类型变量的描述中,正确的是。A、可以对共用体变量直接赋值B、一个共用体变量可以同时存放其所有的成员C、一个共用体变量中不可以同时存放其所有的成员D、共用体类型定义中,不能出现结构体类型的成员【答案】C35、以下程序的输出结果是OdefineM(x,y,z)x*y+znain()inta=l,b=2,c=3;printf(%dn,m(a+b.bc,c+a);qA、19B、17C、15D、1

40、2【答案】D36、有以下程序main()inti=0,s=0;for(;;)if(i=3Ili=5)continue;if(i=6)break;i+;s+=i;printf(%dn,*,s);C、7D、8【答案】B【解析】阅读本程序可知,字符串S的前三个字符满足if语句,所以n+,当遇到0时,for循环终止,所以最后输出n值为3。30、以下叙述中错误的是oA、c语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令B、C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件C、用C语言编写的程序称为源程序,它以ASCIl代码形式存放在一个文本文件中D、C语言源程序经编译后生成后缀为.obj的目标程序【答案】A31、分析下面函数,以下说法正确的是oswap(int*pl,int*p2)(int*p;*p=*pl;*pl=*p2;*p2=*p;)A、交换*pl和*p2的值B、正确,但无法改变*pl和*p2的值C、交换*pl和*p2的地址D、可能造成系统故障,因为使用了空指针【答案】D32、下列字符中,ascii码值最小的是oA、aB、AC、XD、Y【答案】B【解析】a、A、x、Y对应的ASCIl码值分别是OoOlIl0、0001100.1000111.100110

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号