1楼:想把你忘了
if(语句1) 语句2;
语句=true 执行 语句2
a. k%2 当他不等于0 时 为true 为0 时为falseb. k%2=1 赋值语句 为true (好比陈述句,不存在疑问c.
(k%2)!=1 k对2求余不等于1 为trued. !
k%2==1 注意优先级先做!k 在% !k对2求鱼等于1 为 true
这题 怎么说了 很模糊 应该选d 不过很勉强
2楼:原来的我
我觉得你的选项有错吧 你再检查一下选项 下面有这几种情况k%2无非只有两个结果0和1
(a)k%2
放在if语句中表示结果是1 为真 结果是0 为假(b)k%2==1(b选项应该这样写吧)
放在if语句中表示只要k%2的结果为1就是返回真,其他就是假 所以这个是跟a一样的
(c)(k%2)!=0(c选项可能应该这样写)放在if语句中表示k%2的结果只要不等于0就返回真 否则为假这跟结果等于1是真是一样的 所以abc相同(d)的表达式的意思是将k%2的结果取反 如果取反后的记过等于1就是真否则就是假 换种说法就是如果k%2结果为0就是真 否则就是假 那这个选项跟其他三个选项是不一样的 所以选d
3楼:
b 选项是否是 k%2 == 1,如果是 k%2 = 1, 那 if(k%2 = 1)无论如何都为真了……
那么,我猜是你打错了。
只提一点,!的优先级比%高。
4楼:匿名用户
这样的,前三个都是计算式,比如k % 2 = 1,是计算出k的值,c答案也一样,a答案是k % 2如果有一个k值,那么这个if语句也成立。而最后一个是做比较,是判断==号左边的值是否等于右边的,是,则if语句满足,否则就不满足
如果满意,请采纳
5楼:匿名用户
b肯定不行,这是赋值不是判断
a和c的用意是一样的
d中,先对k取反(!的优先级高),再模2进行判断
6楼:王海洺
a选项...就这样?
c语言一道选择题求详解
7楼:匿名用户
这个程序就是求50~60之间的素数并输出。
一共找到两个素数53、59,因此输出为5359选a
c语言选择题,求详解
8楼:匿名用户
答案:a.123
详解抄:首先题目定义了
一个bai字符数组s,其中存du放了字符串"123",随后定义了字符型指zhi针p,并且dao使p指向字符串s.
之后,题目开始输出结果,注意输出方式*p++,这是本题关键所在,根据运算符结合顺序,先输出*p,也就是字符串第一个字符"1",之后执行p++,指针后移指向字符"2",之后的两次输出同理。
希望能帮助到你。
9楼:金城杞人
答案就是a,说b的上个运行结果截图啊
后自增是先使用再增加。
p开始指向字符数组第一项 s[0]。
修改一下,编译器不同结果不同。
10楼:现实梦幻者
答案源是b
原因就是,printf的执
bai行顺序,因为它的执行顺序是从右向左,再du从左往右输zhi出
并且后dao置++,会重新开起一块内存来存放原值,所以前面的值直接读取存放的,如果不是指针,是数值需要注意
当然这里是指针,每个都有它的地址,直接是把结果保存了所以3 2 1
11楼:
数组指针没有任何变化,输出都是111。。
因为指针p是指向了第一个字符1,而%c是读入并打印出来一回个字符。。而printf中*p意思是答s第一个值,读入到打印函数,打印到屏幕完了然后把这个读入值+1,而数组指针值还是没有变的,总是指在1的位置。
可以用下面更改程序验证:把其中一个变成前++#include
main()
++*p,读入数值+1·,最后结果是2,1,1。。说明*p只是第一个字符值,而原数组指针是没有变化的。
12楼:
应该选b。
程序结果:
解析:*p 表示p是一个储存地址的变量
在这个程序中专当运行完p=a;时,*p为属"1",*p++也为"1"
*p++和*(p++)相同
printf的运行顺序是从左到右
*p++是把*p存储的地址+1,而p的存储地址是数组的第一个,所以相当于把p的指针往后移一位,也就是说把p指向的数组的位置往后移一位。所以就是321
13楼:三天打鱼
321 选b
p指向字符串s首地址
那个调用函数是从右到左执行的 所以先执行最右边的*p++ 得到1函数的参数压栈是从右向左执行的……
一个简单的c语言选择题求详解
14楼:
全是错误的。
a——虽然书写格式没有错,但既然有空的,就得初始化,以使编译器知道应该是几。
b——只可以靠近数组名的那一个空着,就是说书写格式都错了。
c——道理同b。
d——除了靠近数组名的可以空着,其他的都不能空着。
c语言一道选择题求详解!!
15楼:_指间的忧伤丶
x,y定义的是double型的,也就是双精度的,所以你输入的时候格式也要是双精度的,就是%lf了,%f对应单精度的float型,用scanf输入时,里面变量取地址。
16楼:匿名用户
b、c选项不正确,因为scanf函数的参数要是地址,这样才能正确赋值给变量,d选项的控制字符格式不对,应为
scanf("%lf%le",&x,&y);
c语言选择题一个,求详解
17楼:半世迷离的沉浮
a 是对的,换行会看的更加清晰。
#define size 10 //把size的宏定义为10
char str1[size]的意思
就是char str1[10]
char str2[size+2]的意思就是char str2[12]
b,char str;里面应该要放入具体的容量,比如 char str[10];
c,int num['10']是错误的,int num[10]是对的。
d是错误的,c语言不允许这种写法,不允许定义的变量出现在数组里,因为变量值的改变,就会导致数组的破坏,这样会破坏程序的健壮性。
C语言选择题,求详解,C语言,题目中的选择题,求详细解析
1楼 匿名用户 正确答案是a a p是字符串指针,用法没有问题 b a是字符数组,不能作为左值被赋值,语法错误 c和d p a是字符类型,不是指针类型,却被赋了一个指针类型的值,肯定得不到预期的结果 2楼 拥抱 选项a是正确的。 解释如下 p是字符串指针,它是一个变量,可以被赋值,指向新的地址。 a...
c语言一道题跪求大神,C语言一道题,跪求大神!
1楼 书气纵横 void movenode snode head int m snode last head while last next null last last next c语言编程,一道题不会,求大神!!! 2楼 狂在骨子里范情 include stdio h include math ...
C语言求详解,C语言求详解 50
1楼 匿名用户 最主要的一个拷贝函数memmove 原型 void memmove void dest const void src size t count 头文件 功能 由src所指内存区域复制count个字节到dest所指内存区域。 相关函数 memset memcpy c语言,求详解,谢谢!...