二级C语言两道选择题 求详细解答!

作者&投稿:时法 (若有异议请与网页底部的电邮联系)
国家二级C语言考试两道选择题求详细解答~!~

对于scanf("%2d%f%s",&j,&y,name);,"%2d"只接收2位整数,也就是55,接下来的"%f"接收一个浮点数(可以有符号和有小数点),空格会结束"%f"的读入过程,所以f的值是566.000000,接下来的7777abc会赋给name。所以答案是B。

第一次调用函数fun()时,函数返回2,静态变量x保持2的值,不会因为函数结束而改变。第二次调用函数fun()时,x的值是2,返回4,第三次调用函数fun()时,x的值是4,函数返回8。

1 * 2 * 4 * 8 = 64。所以答案是B。

选B

n统计数组中大于等于0小于等于9数字的个数.

s[i]!=0,就是说遇到\0结束.则统计了"012"就是3个

而如果是s[i]!=1的话.查看ascall码表得1的字符值为SOH

如此程序就永远不会停止-..就会卡了..

如果是012xy08s34f4w2,这样子的话,会一直统计到最后.

那结果会变为9

系统会自动在最后一个字符后面加一个\0这是你看不到的.作为字符结束符

30)、"%2d"只读入2位整数,故接下来的数566赋给y,余下部分7777abc赋给字符数组name,故答案为556,选择A。
33)、这里考察的是局部静态变量的生存期问题。静态变量保存在静态区,其生存期与整个代码相同,一般来说长于定义该变量的函数(该函数退出时,静态变量仍然有效,但不能在函数外存取)。
函数fun()返回2^n,n是调用次数,第一次调用后,返回2,s = 1 * 2 = 2,第二次调用后,返回4,s = 2 * 4 = 8,第三次调用后返回8,s = 8 * 8 = 64,即程序输出为64,选择B。

关于第一题,根据输入数据,j是两位整数,因此,将55赋给j,即j=55;紧接着将后面的数据赋给y,直达第一个空格出现位置,即将数据566赋给y,因为y的数据类型是浮点数,因此,y=566.0。故选答案A。

第二题答案是错的。原因是x是静态变量,fun()中的static 定义x只有第一次调用有用,
第一次调用fun()返回值x=2,,s=1*2=2;
第二次调用fun()返回值x=4;s=2*4=8;
第三次调用fun()返回值x=8,s=8*8=64.
故最终结果s=64,答案是B.

第一题 %2d指定第一个输出站2位,也就是说j=55,剩下的字符为566 7777abc
%f要求指定输入为浮点数,那么从输入流读取数据读到空格结束,即566
剩下的就是name

第二题选B

30)566.000000。所以没有选项正确,因为这里考的是代码输出,而不是数学。
33)64。应该选B

第一题答案是对的
第二题答案是错的


还是关于c语言的题目啊,有几道选择题,希望众亲们能给点详解啊
{int a=6,b=2,c;c=f(a)\/f(b);printf(“%d\\n”,c);} A. 9 B. 6 C. 36 D. 18 解释:看到答案以后,我把这个题目编程测试了,答案确实为9;15、以下对二维数组a进行正确初始化的是(B)A. int a[2][3]={{1,2},{3,4},{5,6}}; B. in...

c语言的选择题 麻烦讲得详细一点
sum=pad=5;\/\/这个时候sum和pad都被赋值为5 pad=sum++,pad++,++pad;\/\/其实就和你图上写的一样,这是一个逗号表达式,分成三个部分(pad=sum++)(pad++)(++pad)\/\/最后的答案就是A7。就像我们老师说的,这种蛋疼问题直接运行一下就哦了。第二题:这个必然选c,d啊;str1是在声明数组的...

C语言程序两道题目
第二次循环,x=4,x%2=4%2=0,结果false,因此输出格式为##%d\\n,也就是##4并换行 第三次循环,x=5,x%2=5%2=1,非0即真,因此输出格式为**%d,也就是**5,至此循环结束。第二题:答案i=0,j=4,k=6 初始化完毕,a=10,b=c=d=5,i=j=k=0 for(;a>b;++b)i++;没有初始...

两道C语言选择题
我刚刚调试了一下,你提问的题目出了问题,是通不过的,我想你的意思应该是这样的:1.已知一运行正常的程序中有这样2个语句:int p1,*p2=&a;p1=b;由此可知,变量a和b的类型分别是()A.int 和int B.int *和int C.int 和int * D.int *和int 2.已知一运行正常的程序中有这样2个语句:int...

C语言的选择题 高手帮我做下给我答案 我对下 我自己的答案对不_百度知...
6.A 长整型常量的表示形式一般在后面加个L.占4个字节,取数范围在-2147483648--2147483647 7.C 宏定义一般形式#define N 3 这题中A选项N与3间没空格;B选项无#号;C选项标识符是N_1;D选项1和3之间不能有空格.8.B 宏替换就是将字符串原样代入,如果你想得到(2+3)*(2+3)就必须改为...

C语言题目 多项选择(至少两个正确答案)
1. 以下选项是C语言关键字的是(A、C、D)。A.main B.FOR C.break D.void 2. 以下选项可作为C语言合法整数的是(A、B、C)。A.12345L B.0xabff C.0678 D.x3f0 3. 代数式ae\/(bc) 的正确C语言表达式是( A、B、D)。A.a\/b\/c*e B.a*e\/b\/c C.a*e\/b*c...

计算机二级c语言选择题多少分及格
2.c语言通过技巧:选择题一般分为:正面试题和反面试题。设问是正确观点的题称为正面试题;设问是是错误观点的题称为反面试题。选择题为单选题。试题覆盖面广。我们复习时,一般不可能对每道题目都掌握十分清楚。因此,考试是我们会遇到自己不会的,我们要学会放弃。我们可以暂时放弃。等到做完所有题目...

2011年计算机二级考试-C语言试题
一、选择题 1.一个C语言程序是由( )构成。A.语句 B.行号 C.数据 D.函数 2.下面标识符中正确的是( )。A.a#bc B.123ABC C.sime D.Y·M·D 3.在C语言中,存储一个整型、字符型、双精度实型变量所需的字节数是( )。 )。 )。 )。A.2、1、8 B.4、1、4 C.4、1、4 D.2、2...

超简单二级C语言选择题,求解析
先给你加2个括号,分分行,便于理解,还有你那个C++那有个分号吧?main(){ int a=2,b=-1,c=2;if(a<b){ if(b<0)c=0;else c++;} printf("%d\\n",c);}这样就能理解怎么个流程了吧,A<B这是假的,所以第一个IF语句就不执行啦,直接执行printf 所以直接输出C的原值,上边给C的赋值为2,...

C语言选择题
答案是000122,选c,我假设你理解for语句和switch语句,这个都不懂的话自己先看看书(你switch打错了)那么下面开始解释,首先i的取值由for语句决定了可以取0,1,2,三个数值一个一个的分析 当i=0时,进入switch语句,case 0,由printf输出i=0,然而由于case后面没有break,程序不会跳出switch语句...

连山壮族瑶族自治县13157178917: C语言2级简单选择题2道
融胡复方: 楼主,你好! 第一题选C A选项后面不加B B选项前面有o 所以是八进制,八进制中没有8这个数 D选项完全不对,十六进制前要加上ox 第二题选B 因为B是特殊的符号,是C语言中规定了含义的,不能做变量和标识符. 希望可以帮到楼主.

连山壮族瑶族自治县13157178917: C语言2级简单选择题2道2
融胡复方: 上一题选 A 要想输出 \ 应这样:ch=47; 因为 \ 对应的ASC II 码为47; B选项ASC II 码65对应A; C选项为空; D选项中 \xaa 表示1~2位16进制数所代表的字符. 下一题选C A正确应为:char a='A',b='B';少一逗号, B正确应为:float a=10.0,b=10.0;不能连等, D正确应为:float *a,b=*a; 或float *a,*b=a;

连山壮族瑶族自治县13157178917: 求助2道C语言选择题!!求详细过程!! -
融胡复方: 第一题选D,函数形参不能为函数 第二题 A选项有问题,PI后面带个空格 C选项后面要带int D选项表示看不懂

连山壮族瑶族自治县13157178917: 超简单二级C语言选择题,求解析 -
融胡复方: C . 很明显,x=2.0 ,执行else if(x<10.0) y=1.0/x; 所以y= 0.500000------------0.00000=0 ,0.500000=0.5,这里和精度有关,如果你用printf(“%8f\n”,y); 那样输入应该是精确到小数点后8位,即0.50000000

连山壮族瑶族自治县13157178917: 求解两道C语言的选择题
融胡复方: 第一题: 选“M!=0". (M)?(a++);(a--)的意思就是: M如果是真(就是说M不是0,就是M!=0),那么执行a++; M如果是假(就是说M是0,就是说M==0),那么执行a--. 所以很明显,M跟M!=0是等价的. 第二题: 如果不知道a和A的ASCII码值,可以用以下语句观察:cout<<(int)'a'<<endl; cout<<(int)'A'<<endl; 然后因为a的的ASCII码值是大于A的. 所以执行代码y='a'<'A'?x--:x++;时: 1,判断'a'<'A'是假; 2,选择x++赋值:先把x的值赋给y,也就是y变成了1,再进行自增运算,也就是x变成了2.

连山壮族瑶族自治县13157178917: 关于计算机2级C的题目(求详解) -
融胡复方: 1.定义一个int数组 int aa[10]={1,2,3,4,5,6,7}2.调用函数fun(aa,7); 在函数里对数组aa元素的改变会保存下来.3.关于fun函数 函数功能:将数组aa中位置为奇数的元素(所以每...

连山壮族瑶族自治县13157178917: c语言选择题,这两道题求c语言大哥解答,详细点哈,谢谢 -
融胡复方: 第一题*和++运算优先级相等,运算自右向左*p++; 相当于p++后再*p,所以p指向&a[1], *p等于11*比+的运算优先级高*p+=1;相当于*p=*p + 1;答案为C第二题答案为AS是数组首地址,不是指针,不可移动

连山壮族瑶族自治县13157178917: 求教几道C语言选择题(详细解答)! -
融胡复方: 第一题:A. 解析:首先得到一个静态数组a[],指针p指向a[0], *(p+3)+=4可写为*(p+3)=*(p+3)+4, p+3的意思是指针移动至a[3]所在单元,*(p+3)是取值,即为9,那么运算*(p+3)+=4得*(p+3)的最终值为13,p由于指向数组初位置则*p为1....

连山壮族瑶族自治县13157178917: 两道简单的C语言选择题.求解析 -
融胡复方: 第一、1. A c[k++]=a[i++];2. D c[k++]=b[j++];3. A a[i] =='\0', 这题A、D都是一样的.说明了字符串a已经读完了,如果a没有读完,那么b一定读完了, 到一步的时候,a,b两个串最多只有一个串还未读完. p = b+j 是表示把指针p指像b数组的第j个...

连山壮族瑶族自治县13157178917: 求解这2道关于C语言的选择题 -
融胡复方: 19、因为先判断再执行循环体,所以本题是B20、循环体条件语句后有分号,表示循环体为空,另外y=0时是要判断的,所以判断完y为0后,还要执行y--,所以最后结果是B.y=-1

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网