C语言 选择题
1)有以下程序main(){inta=0,b=0;a=10;/*给a赋值b=20;给b赋值*/printf("a+b=%d\n",a+b);/*输出计算结果*/}程序运行...
1)有以下程序
main()
{ int a=0, b=0;
a=10; /* 给a赋值
b=20; 给b赋值 */
printf("a+b=%d\n",a+b); /* 输出计算结果 */
}
程序运行后的输出结果是
A)a+b=10 B)a+b=30 C)30 D)出错
### 补充 ### :想问 这个是 A还是B啊 ~~ 因为前面没有做a+b的计算,是不是用printf函数的时候默认输出的%d就是后面逗号后的第一个字符的值(也就是输出a的值)啊?
2)若有定义int x,y; 并已正确给变量赋值,则以下选项中与表达式(x-y)?(x++) : (y++)中的条件表达式(x-y) 等价的是
A)(x-y>0) B)(x-y<0)
C)(x-y<0||x-y>0) D)(x-y==0)
这个就没明白……
3)以下选项中,值为1的表达式是
A)1 –'0' B)1 - '\0'
C)'1' -0 D)'\0' - '0'
与字符、数,有关的吧……这个不大确定。
4)有以下程序
main()
{ int a=1, b=3, c=5;
int *p1=&a, *p2=&b, *p=&c;
*p =*p1*(*p2);
printf("%d\n",c);
}
执行后的输出结果是
A)1 B)2 C)3 D)4
我对指针什么的不太熟悉,能不能细说说关于*p 和 &p的事儿。谢谢~~
5)有以下程序
# include
# define N 5
# define M N+1
# define f(x) (x*M)
main()
{ int i1, i2;
i1 = f(2) ;
i2 = f(1+1) ;
printf("%d %d\n", i1, i2);
}
程序的运行结果是
A)12 12 B)11 7 C)11 11 D)12 7
f(1+1)是代入之后是按 (1+1)*M 算还是按 1+1*M 算?谢谢
先这些吧。。还会有的。。。
辛苦了~~~十分感谢~~~ 展开
main()
{ int a=0, b=0;
a=10; /* 给a赋值
b=20; 给b赋值 */
printf("a+b=%d\n",a+b); /* 输出计算结果 */
}
程序运行后的输出结果是
A)a+b=10 B)a+b=30 C)30 D)出错
### 补充 ### :想问 这个是 A还是B啊 ~~ 因为前面没有做a+b的计算,是不是用printf函数的时候默认输出的%d就是后面逗号后的第一个字符的值(也就是输出a的值)啊?
2)若有定义int x,y; 并已正确给变量赋值,则以下选项中与表达式(x-y)?(x++) : (y++)中的条件表达式(x-y) 等价的是
A)(x-y>0) B)(x-y<0)
C)(x-y<0||x-y>0) D)(x-y==0)
这个就没明白……
3)以下选项中,值为1的表达式是
A)1 –'0' B)1 - '\0'
C)'1' -0 D)'\0' - '0'
与字符、数,有关的吧……这个不大确定。
4)有以下程序
main()
{ int a=1, b=3, c=5;
int *p1=&a, *p2=&b, *p=&c;
*p =*p1*(*p2);
printf("%d\n",c);
}
执行后的输出结果是
A)1 B)2 C)3 D)4
我对指针什么的不太熟悉,能不能细说说关于*p 和 &p的事儿。谢谢~~
5)有以下程序
# include
# define N 5
# define M N+1
# define f(x) (x*M)
main()
{ int i1, i2;
i1 = f(2) ;
i2 = f(1+1) ;
printf("%d %d\n", i1, i2);
}
程序的运行结果是
A)12 12 B)11 7 C)11 11 D)12 7
f(1+1)是代入之后是按 (1+1)*M 算还是按 1+1*M 算?谢谢
先这些吧。。还会有的。。。
辛苦了~~~十分感谢~~~ 展开
5个回答
展开全部
第一个选择题,当然是输出a+b的值,结果为B,而不是楼主说的前面没有进行a+b的计算就只输出a的值!这是种稍微高级点的写法,这样写也不不错哦!
第二个选择题,考的就是一个条件表达式,它的基本构成形式为 表达式1?表达式2:表达式3,并且表达式1必须是一个可以判断真假的语句,而你上面的所诉的表达式1当x-y=0时,判断为假,当大于或则小于零时都为真,所以x-y就相当于你先面选项C!
第三题,这个你就需要明白字符数据和整型数据是可以进行运算的,在运算过程中把字符型数据按ASCII的规则转化为相应的整型数据,再进行计算。楼上的大难肯定是B,因为'\0',转化为ASCII为整型数据0,所以1-0=1啊!
第四题,首先你得知道什么是指针,如果你不知道,我在这里多说也无意。所以简单给你解释。&是取地址运算符,比如a变量,则&a则是它的地址,指针是专门用来存地址的,所以你可以令定义好的指针来存放某个变量的地址比如上面的p=&a,这样,变量a的地址就存放在指针p里面了,然后就是指针与变量的关系,则p=&a,那么*p=a,所以上面的*p=*p1*(*p2),也相当于,c=a*b,结果楼主就可想而知是C啦!
第五题,第五题逻辑看起来有些问题,所以我也不好分析。
就这些了,希望帮帮助到你
第二个选择题,考的就是一个条件表达式,它的基本构成形式为 表达式1?表达式2:表达式3,并且表达式1必须是一个可以判断真假的语句,而你上面的所诉的表达式1当x-y=0时,判断为假,当大于或则小于零时都为真,所以x-y就相当于你先面选项C!
第三题,这个你就需要明白字符数据和整型数据是可以进行运算的,在运算过程中把字符型数据按ASCII的规则转化为相应的整型数据,再进行计算。楼上的大难肯定是B,因为'\0',转化为ASCII为整型数据0,所以1-0=1啊!
第四题,首先你得知道什么是指针,如果你不知道,我在这里多说也无意。所以简单给你解释。&是取地址运算符,比如a变量,则&a则是它的地址,指针是专门用来存地址的,所以你可以令定义好的指针来存放某个变量的地址比如上面的p=&a,这样,变量a的地址就存放在指针p里面了,然后就是指针与变量的关系,则p=&a,那么*p=a,所以上面的*p=*p1*(*p2),也相当于,c=a*b,结果楼主就可想而知是C啦!
第五题,第五题逻辑看起来有些问题,所以我也不好分析。
就这些了,希望帮帮助到你
展开全部
1.A VC6.0运行结果
2.A 和x-y等价的就是x-y的值为真,即x-y>0
3.B A -47, B 1, C 49, D -48
4.C VC6.0运行结果
5.B i1=f(2)即i1=x*M即i1=x*N+1=2*5+1=11
i2=f(1+1)即i2=1+1*M=1+1*N+1=7
2.A 和x-y等价的就是x-y的值为真,即x-y>0
3.B A -47, B 1, C 49, D -48
4.C VC6.0运行结果
5.B i1=f(2)即i1=x*M即i1=x*N+1=2*5+1=11
i2=f(1+1)即i2=1+1*M=1+1*N+1=7
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一题选B,程序把a+b做为一个数输出
第三题选B,'\0'的整数编码是0,1是int 1, 1-0值就为1。其他字符'1'是0x31,‘0’是0x30.楼主可以算算
第四题选C,指的是*p1=&a,指p1指向a的地址。
p指向的C内存里的值被改成了a*b=3了。所以c是3.
第五题选C,按(1+1)*M算。
第二题实在很迷惑
第三题选B,'\0'的整数编码是0,1是int 1, 1-0值就为1。其他字符'1'是0x31,‘0’是0x30.楼主可以算算
第四题选C,指的是*p1=&a,指p1指向a的地址。
p指向的C内存里的值被改成了a*b=3了。所以c是3.
第五题选C,按(1+1)*M算。
第二题实在很迷惑
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一题 B +的优先值高
第二题 C if (n)就是判断u是否等于0,如果不等于零,执行if中的语句
第三题 B '\0'的ASC码是0,1-'\0'=1
第四题 C *p=&c的意思是指针p指向c的地址
第五题 B 按1+1*M 算
第二题 C if (n)就是判断u是否等于0,如果不等于零,执行if中的语句
第三题 B '\0'的ASC码是0,1-'\0'=1
第四题 C *p=&c的意思是指针p指向c的地址
第五题 B 按1+1*M 算
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1--B 会自动计算a+b的值再输出
自己打字不行,等高手给你细讲吧
自己打字不行,等高手给你细讲吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询