C语言的几道填空题给详细说明

作者&投稿:徐克 (若有异议请与网页底部的电邮联系)
几道C语言填空题,要具体解释~

^^不好意思,看错了,现在改正了,第一题的结果没有影响,第3题0||-1,因为-1是非零值,在C中就表示的是真,所以0与-1的逻辑或运算结果为1

第1题:x+a%3*(int)(x+y)%2/4,先计算优先级最高的表达式,也就是小括号中的x+y得到x+a%3*(int)(6.7)%2/4=x+a%3*6%2/4,运算符%,*,/优先级相同,从左向右计算,
x+a%3*(int)(7.2)%2/4
=x+a%3*7%2/4 //7.2被强制转换为整型7。
=x+7%3*7%2/4
=2+1*7%2/4 //7%3的余数为1,%是取的余数。
=2+7%3/4
=2+1/4 //因为1和4都是整数,所以结果0.25被转换为int型,也就是值0
=2

第2题
i=5,i+=012
把8进制的12转换为10进制,也就是10,八进制的12用二进制表示就是001 010就是10进制的10,也以i+=012的值为15

第3题
33-!0逻辑运算符的优先给低于关系运算符,关系运算符的优先级低于算术运算符,而逻辑运算符又是使用的短路规则计算表达式,因此应首先计算逻辑运算符左边的表达式,再计算右边。因此
33-!0
=0||-1&&4>3-!0 //先计算||左边表达式,如果其值为1,则整个表达式的值为1
=1&&4>3-!0 //先计算&&左边的表达式,若值为0,则右边无论为什么值,整个
表达式的值都为0,因此就没必要计算右边的表达式了,这就是
短路规则。对因为-1是非零值,所以结果是1
=1&&4>3-1
=1&&4>2
=1&&1
=1

第4题
a+=a-=a*a先计算优先级最高的a*a=9,因为这里并未对a赋值,所以a的值仍为3
a+=a-=9,再计算a-=9,变换得a=a-9=3-9=-6,这里把a的值重新赋值为-6
再计算a+=-6变换得a=a-6=-6-6=-12,最后a=-12

第5题
因为if(a>c)不成立,所以不执行b=a;
因此最后c的值就是b的值,也就是c=b=2,最后c的值为2。

第6题
x||y+z结果为1
同样先计算左边表达式,也就是x,因为x为非0所以其值为真,对于||运算符来说,只要表达式中任意一个值为真,其结果就为真,在C中非零值都为真,只有0才为假,因此对于x||y+z表达式的值为1。

第一题:有点绕,楼主仔细看哈!
while(++i)的意思是当“++I”这个表达式的值不为0的时候就执行循环体。
先了解 ++i是表达式“++i”先加1然后 i 再加1的,也就是说在第一次进行while中的判断时,判断语句“++i” 等于-4,然后i的值也加1变成了-4,再然后s=0+(-4)。
以此类推,当执行判断“++i”的值为0的时候将不再执行s+=i;在这之前i的值不难推出为-1。所以s最终是(-4) + (-3) + (-2) + (-1) = -10;
那 i 的值最终又咋会为0呢?
原来在最后执行判断“++i ” 这一步还是要执行的,既然执行,i 的值便要再加1,即为0,只是不再执行循环里面的语句罢了。(这边需要楼主好好查看while语句的基本执行步骤,(while语句的最后一步是判断语句哦),很重要的基础知识哦)

第二题:
楼主需要了解C语言的define语句
#define s(r) PI*r*r
PI*r*r使用的时候外面是不带括号的,使用起来需特别注意(个人感觉这是C语言的缺陷)。

先去吃饭,回来继续解答,希望楼主采纳我的解答呀!

1. 运算符左到右 1<0<5 ==> ((1<0)<5) (1<0)返回假,即0 ;(0<5)为真
2. ~(10>>(1^ (~5))) 1^ (~5)=-5 10>>-5肯定为0
~(10>>1^ ~5)=-1
3. 12345678 如果你用的编译器的int是俩位的话结果会是5678 %x打印整形改为%lx就能打印long型了
4. 100 宏是替代的 30/MD ==》30/3*T ==》 30/3*10=100
5. f(str)+1 str地址对应的内容在子函数中给修改了 str = "fun" f(str)+1 表示str+1是str字符串首地址加一 "un"
*f(str)+1==>(*f(str))+1 将str地址里的第一个字符加一 'f'+1='g';
结果是 un g
6 typedef int (*PF)();

1. 1(或TRUE) (1<0)返回假,即0 ;0<5为真
2. 这题不现实,没有回答必要.我说说原理
~是取反,取反是有分位长的.对字节取反,对字取反,对双字取反,值都不同.
所以这一题没有做的必要.
而且取反后,值变的极大(无符号),右移的结果为0.

3. 12345678
4 100. 30/MD宏展开为:30/3*10
5 没有输出,程序错误 return str="fun";这句赋值没有通过!!
6.typedef int FP;


十几道C语言填空题
十几道C语言填空题 1.a数组定义如下,按照内存排列顺序,a数组中的所有元素是()。chara[3];2.设有以下宏定义,则执行赋值语句a=PP*20;(a为int型变量)后,a的值是( )。3.若有inta[3]={10,12,30... 1.a数组定义如下,按照内存排列顺序,a数组中的所有元素是( )。 char a[3];2.设有以下宏定义,则...

c语言考试填空题 求高手解答 【急】 100分!
1:当调用函数read从磁盘文件中读数据时,若函数的返回值为10,则表明读入了10个字符;若函数的返回值为0,则是();若函数的返回值为-1,则意味着(函数调用失败)。2:设x是一个整数(16bit),若要通过x|y使x低8位置1,高8位不变,则y的八进制数是 ( c ).3:在C语言中,文件的存取...

国考言语理解分值
国考言语理解分值如下:1、逻辑填空题 逻辑填空题是国考言语理解中常见的一种题型,其分值相对较高,每道题目分值一般在0.8-1分左右。这种题型主要考察考生的词汇量、语法知识和阅读理解能力,要求考生能够根据上下文语境和语义选择合适的词语填空。2、阅读理解题 阅读理解题也是国考言语理解中的重要题型...

几个简单C语言程序填空题,急!!
1、给以下程序输入3个数值给a,b,c,变量b中的值给a,变量c中的值给b,变量a中的值给 c,交换后输出a,b,c的值。include <stdio.h> main(){int a,b,c__n;___printf("enter a,b,c");scanf("%d%d%d",&a,&b,&c);___n = a___;___a = b___;___b = c___;__...

c语言程序填空题 1、如下程序的输出结果是 。 main( )
1、如下程序的输出结果是 c=3 。main( ){ int a=2,b=-1,c=3;if(a<b)if(b<0)c=0;else c++;printf(“c=%d”,c);} else 是与前面一个最近的if对应的,a=2,b=-1,a<b不成立,因此后面一个if--else---语句没有执行,c值没有改变。2、求 1! + 2!+3!+---+10...

C语言填空题
根据运算符优先级原式等价于 (~x) ^ (x<<2)0x3a: 00111010 --- ~0x3a: 11000101 0x3a<<2: 11101000 --- 取异或(^)00101101 即十六进制的0x2d 即八进制 055

C语言程序填空题
include <stdio.h>#include <math. h> int isPrime(int num){ 1判断num是否为质数 for(int i=2; i<num if( num%i==0return 1;(1分); i++) \/\/注意:空格外面已经有分号,格子里(2分)) return 0;int sumDigits(int num){ \/\/返回num各位数字之和 int sum;for( sum=0; num! =0...

二级c语言机试有多少题,填空、改错、编程各有几道?麻烦说清楚些,_百 ...
二级c 分笔试和上机 笔试分 40道选择和15道填空题 1-10,20-40 为2分题 11-19为1分题 共70分,其余为填空题,其中70分为c语言 30分为计算机公共基础知识 上机 共三道题 第一题为填空题30分 第二题 为改错题 30分第三题为 编程题40分 3道!而且不是很难,快的话10-20就可以全部做完...

问几道C语言的题啊~求高手解决~~
填空题:1.假设a=10,写出下面表达式中a的运行结果 (1)a+=a 结果为:20 (2)a-=2 结果为: 18 (3)a*=2+3 结果为: 50 (4)a\/=a+a 结果为: 如果你a是int的话,结果是0 (5)a%=(5%2) 结果为:0 (6)a+=a-=a*=a 结果为: 0 2.将下列各式写成C语言的表达式...

(C语言)大学填空题
9.若类Sample 中只有如下几个数据成员:const float f,const char c,则其构造函数应 定义为___ Sample ():f(0),c(‘0’){} 只能在构造函数初始化列表中初始化___ ___10. 如果派生类中没有给出纯虚函数的具体实现,这个派生类仍然是一个___抽象类___。11. 下面的程序向C 盘的new ...

八公山区19647058388: 几道C语言填空题,要具体解释 -
线梵百日: ^^不好意思,看错了,现在改正了,第一题的结果没有影响,第3题0||-1,因为-1是非零值,在C中就表示的是真,所以0与-1的逻辑或运算结果为1 第1题:x+a%3*(int)(x+y)%2/4,先计算优先级最高的表达式,也就是小括号中的x+y得到x+a%3*(...

八公山区19647058388: 求大家帮我详细点解析一下这几道简单的C语言填空选择题 -
线梵百日: 第一题:while中的条件表达是ch=getchar()=='A',按照运算符优先级先做getchar()=='A',输入字符'A'时表达式的值为真,也就是1,再做ch=1,ch得到时值为1,同时表达式1,继续循环,继续计算条件ch=getchar()=='A',接下来应是回车键,...

八公山区19647058388: 三道简单的C语言填空,2.c语言程序由函数组成.它的.(A)主函数必须在其他函数之前,函数内可以嵌套定义函数(B)主函数可以在其他函数之后,函数内... -
线梵百日:[答案] B,看几个实例记得牢固!函数可以嵌套调用,递归调用,谭书上的155页! B,谭浩强书上133页,加个大括号最好! B,谭浩强书上138也,测试字符串长度,指的是实际长度! 回答完毕,

八公山区19647058388: 求几道C语言程序填空题?1. 填写完整程序,使得能够求7! main() { int i,s=1; i=1; do {s=s*i; i++; }____________; printf("%d",s); } 2. 填写完整程序,使得该... -
线梵百日:[答案] 1. while(i'Z' 5. printf("yes\n") , else 由于没有装VC++软件 所以不能帮你运行了,你自己试试吧! 希望对你有帮助……

八公山区19647058388: 几道C语言的填空题 -
线梵百日: sum=cj; cj>maxcj cj<mincj k=i j=i+1 array[j]<array[i] f(n-1)*n f(k) str strcmp(s,str[i])

八公山区19647058388: 请帮我解析几道C语言填空题? -
线梵百日: 9.22——for(k=1;k<=N;k++) s[k]='A'+k+1;这一句的结果是s[0]未知、s[1]=='C'、s[2]=='D'、s[3]=='E'、s[4]=='F'、s[5]=='G'.fun(s,'E',N)这一句调用fun,fun中*s=a使s[0]=='E',然后j=n;使j==N也就是j==5.下面while(a<s[j]) j--;中a<s[j]就是'E'<s[j],s[5...

八公山区19647058388: C语言一些简单的填空题目! -
线梵百日: 1, 122,{ ,}3,int ,double4,float a1,a2;5,26,将10赋值给s 使s等于107,true ,false8,6.69,1,2,310,9,011,4,812,713,84 表示楼上的做错了 12题等于7

八公山区19647058388: C语言程序填空题 -
线梵百日: 依次填——10 sum+=x[i]; avg+0.5

八公山区19647058388: C语言的几个填空题!考试题!拜托啊! -
线梵百日: if() ch+=32; 这里括号里是 ch>='A'&&ch<='Z'字母循环偏移这题:if(c>='A'&&c<='W') c+=3;else if(c>='X'&&c<='Z') c-=23;

八公山区19647058388: C语言填空题,请解释
线梵百日: 第一次,a=0<5,判断a%2 == 0,真,结果b=0+1=1;++a; 第二次,a=1<5,判断a%2 == 0,假,结果b=1;++a; 第三次,a=2<5,判断a%2 == 0,真,结果b=1+3=4;++a; 第四次,a=3<5,判断a%2 == 0,假,结果b=4;++a; 第五次,a=4<5,判断a%2 == 0,真,结果b=4+5=9;++a; 第六次,a=5<5,退出循环; ++a,是在循环后面执行的,

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