以下程序的输出结果是________。#include<stdio.h>mam(){inta,b,d=241;a=d/100%9;b=(-1)&amp;&amp

题目
以下程序的输出结果是________。includemam(){inta,b,d=241;a=d/100%9;b=(-1)&&

以下程序的输出结果是________。 #include<stdio.h> mam() { inta,b,d=241; a=d/100%9; b=(-1)&&(-1); printf("%d,%d\n",a,B) ; }

A.6,1

B.2,1

C.6,0

D.2,0

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

以下程序的输出结果是【 】。include main() {int j,a[]={1,3,5,7,9,11,13,15},*P=a+5; f

以下程序的输出结果是【 】。

include <stdio.h>

main()

{ int j,a[]={1,3,5,7,9,11,13,15},*P=a+5;

for(j=3; j;j-)

{ switch(i)

{ case 1:

case 2: printf("%d",*p++); break;

case 3: printf("%d",* (-p));

}

}

}


正确答案:9911
9911 解析:switch语句的一般格式如下:
switch(表达式)
{case 常量表达式 1:语句1
case 常量表达式 2:语句2

case 常量表达式 n:语句n
default:语句n+1}
switch语句在执行的先计算表达式的值,当表达式的值与某—个case后面的常量表达式的值相等时,就执行此case后面的语句系列。由于“case常量表达式”只是起语句标号作用,并不是在该处进行条件判断,所以当根据switch后面表达式的值找到匹配的入口标号时,就从此标号开始执行下去,不再进行判断,直到在执行某个case分支后,遇到break语句才会跳出switch结构,即终止switch语句的执行。
本题定义并初始化了一个一维数组a,同时将指针变量p指向了a[5]的地址。在for循环中,首先j=3,执行case3后面的语句,由于--p是将p的地址前移一位,所以*(--p)的值为a[4]的值,即输出9;当j=2时,执行case2后面的语句。由于 *p++中++与*同优先级,结合方向为自右而左,因此它等价于*(p++),作用是先得到p指向的变量的值(即*p),然后再使p+1赋给p,所以j=2时先输出a[4]的值9,再使得p指向a[5]的地址;当j=1时,执行case1后面的语句,由于case1后面没有终业语句,所以继续执行case2后面的语句,此时*p的值即a[5]的值,所以输出11,然后p地址后移。故本程序的输出结果为9911。

第2题:

有以下程序:include main(){ inta=1,b=2,c=3,x; x=(ab)&c; printf("%d\n",x);}程

有以下程序: #include <stdio.h> main() { int a=1,b=2,c=3,x; x=(ab)&c; printf("%d\n",x); } 程序的运行结果是( )。

A.0

B.1

C.2

D.3


正确答案:D
解析:在C语言中,整型数据在内存中是按二进制形式存放的,位运算就是直接对这些二进制进行操作的一系列运算符。例如题目中a、b、c的值分别为1、2、3,那它们在内存中存放的样子就是;0001、0010、0011(由于数据不大,int类型本来要占4字节也就是32位二进制的,这里就省写为4位了)。“^”运算符的作用是:按位异或。意思是:两个操作数对应的二进制位如果相异,则结果对应的二进制位为1,否则结果对应二进制位为0。所以00010011=0011。“&”运算符的作用是:位与。意思是:如果两个操作数对应的二进制位同时为1,则结果对应的二进制位为1,否则结果对应二进制位为0。所以0011&0011=0011,也就是十进制的3,故本题最终输出结果为3,应该选择D。

第3题:

以下程序的输出结果是 【7】 。

#include "stdio.h"

main()

{int a=065;

printf( "%d\n",--a);

}


正确答案:
52

第4题:

有以下程序:include main(){ printf("%d\n",NULL);}程序运行后的输出结果是()。A.0B.1C

有以下程序: #include<stdio.h> main() { printf("%d\n",NULL);} 程序运行后的输出结果是( )。

A.0

B.1

C.-1

D.NULL没定义,出错


正确答案:A
解析:在C语言中NULL的ASCII码值为0,而输出函数要求以整形格式输出,故最后的输出数为0。所以,4个选项中选项A符合愿意。

第5题:

有以下程序 include main( ) { printf("%d\n",NULL); } 程序运行后的输出结果是

有以下程序

#include <stdio.h>

main( )

{ printf("%d\n",NULL); }

程序运行后的输出结果是

A.0

B.1

C.-1

D.NULL没定义,出错


正确答案:A
解析:因为在头文件stdio.h中,已对NULL作了宏定义,其值为0。

第6题:

以下程序运行后的输出结果是( )。 include main(){ int a=1, b=7; do { b=b/2; a+=b

以下程序运行后的输出结果是( )。

include<stdio.h>

main()

{ int a=1, b=7;

do {

b=b/2; a+=b;

} while(b>1);

printf("%d\n",A);

}


正确答案:5
5 解析:该程序考查do-while循环。循环共进行两次。第一次循环b=3,a=4;第二次循环b=1,a=5。输出a的值为5。

第7题:

以下程序的输出结果是() include main( ) { int a,b; for(a=1,b=1,a<=50;a+ +)

以下程序的输出结果是 ( ) # include<stdio.h> main( ) { int a,b; for(a=1,b=1,a<=50;a+ +) { if(b>=10) break; if (b%2==1) { b+=2; continue } b+=2; } printf("%d\n",a); }

A.4

B.5

C.6

D.7


正确答案:C

第8题:

下面程序:#include“stdio.h“#includestdlib.hfut(int**s,intp[2][3]){**s=p[1][1];}voidmain(){inta[2][3]={1,3,5,7,9,11},*p;p=(int*)malloc(sizeof(int));fut(printf(“%d\n“,*p);getch();}输出结果是()

A、1

B、7

C、9

D、11


参考答案:C

第9题:

执行以下程序的输出结果是【 】。include main()[ inti, n[4]={1};for(i= 1 ;i<=3 ;i++){

执行以下程序的输出结果是【 】。

include <stdio.h>

main()

[ int i, n[4]={1};

for(i= 1 ;i<=3 ;i++)

{ n[i]=n[i-1]*2+1; printf("%d",n[i]); }


正确答案:3 715
3 715 解析:本题考查的知识点是:for循环。本题主函数中的for循环从1递增到3,所以将循环3次。循环体中,n[i]=n[i-1]*2+1;语句使数组n从第2个元素开始,后一个元素等于前一个元素的2倍加1;print("%d",n[i]);输出刚计算出的数组n的元素。故结果应该是1*2+1=3、3*2+1:7、7*2+1=15。即输出结果为3 715。

第10题:

以下程序的输出结果是()。includeincludemam(){charb1[8]="abcdefg",b2[8],

以下程序的输出结果是( )。 #include <stdio.h> #include<string.h> mam() { char b1[8]="abcdefg",b2[8],*pb=b1+3; while(--pb>=b1) strcpy(b2,pB) ; printf("%d\n",strlen(b2)); }

A.8

B.3

C.1

D.7


正确答案:D
解析:首先定义了两个字符数组b1和b2,并用一个字符串给b1赋初值,然后定义了一个字符型指针变量pb,通过赋初值使它指向b1[3]。接着执行while循环,该循环执行了3次:第一次判断条件“--pb>=b1”,使pb的值为“b1+2”,执行“strepy(b2,pB);”后,b2中的内容为“cdefg”:第二次判断条件“--pb>=b1”,使pb的值为“b1+1”,执行“strcpy(b2,pB);”后b2的内容为“bedefg”第三次判断条件“--pb>=b1”使pb的值为“b1”,执行“strcpy(b2,pB):”后b2的内容为“abcdefg”。最后输出b2数组中存放的字符串长度,显然是7。(这里还有一个关键点:就是每当执行—次while循环判断条件,就执行一次“--pb”,他使得指针pb自减1,即前移一位)所以,4个选项中D为所选。

更多相关问题