5.下面运算符优先级最高的是 [ ]
A)<= B)= C)% D)&&
6.以下程序的输出结果是 [ ]
main()
{ int a,b;
printf("%d\n",(a=2)&&(b= -2));
}
A)无输出 B)1 C)-1 D)结果不确定
16.在C语言中,函数的隐含存储类别是 [ ]
A)auto B)static C)extern D)无存储类别
17.下列叙述中正确的是 [ ]
A)C语言编译时不检查语法 B)C语言的子程序有过程和函数两种
C)C语言的函数可以嵌套定义 D)C语言所有函数都是外部函数
27.输入一个无符号整数后求出它的各位数之和并输出。例如若输入123,则将各位之和6(即1+2+3)输出。
unsiged int f(unsigned int num;)
{ unsigned int k=0;
do
{ k+=______;
num/=10;
} while(num);
______;
}
main( )
{ unsigned int n;
scanf(〃%d〃,&n);
printf(〃%u\n〃,f(n));
}
28.输入一段英文,统计其中单词的个数,句中各单词用空格分开。程序如下:
main()
{ char a[1000],i,w=0,n=0;
printf("Input char a[1000]=");
_______________;
for(i=0; a[i]!='\0'; i++)
if(a[i]==' ') w=0;
else if(____________)
{ w=1; n++;
}
printf("There are %d words in the line\n",n);
}
29.下列程序对一元函数 求在不同的区间定积分。
main()
{ float f1(float x);
float f2(float x);
;
float y1,y2;
y1=intg(f1, 0., 1.);
y2=intg(f2, 0., 2.);
printf("y1=%.2f y2=%.2f \n",y1,y2);
}
float f1(float x)
{ float f;
f=1+x*x;
return(f);
}
float f2(float x)
{ float f;
f=1+x+x*x+x*x*x;
return(f);
}
float intg(float (*fun)(float),float a,float b)
{ int n=1000,i;
float h=(b-a)/n,
s=___________;
for(i=0; i<n; i++)
s=s+(*fun)(a+i*h)*h;
return(s);
}
本人学习不是很好 请高手给我解答 我真的很是感谢
如不能直接回答 是否可发我的油箱molitianping@126.com 谢谢
几道c语言题目 菜鸟望高手解答
第一道题:输出的是:0 1 3 4 \/\/因为for循环 i从0到4 但是当i等于2的时候执行了continue,也就是直接跳转到下一次循环,所以2没有输出 第二题:t为2 因为 if-else 结构中的else是和最近一个if相匹配的,又因为if(x<y)不成立,所以直接执行输出语句,即输出2 第三题:3 6 9 因为x被...
几道c语言题目,还请高手不吝赐教,谢谢!不要嫌烦哈……
答案:A 我认为是C,求教……if(a>b) 是不成立的,后面的语句不运行!a,b,c值不变
几个C语言问题
1. A语句,首先执行 b = 34 ,接着执行 a = b 语句本身无错误。B语句,实际上是一个表达式,但没有接收该值。C语句,实际上是一个表达式,但没有接收该值。2. 很明显, 029带0前缀而且无后缀。3. 100!结果溢出了。4. 常识性问题。
c语言几个小小的问题 高手帮个忙
1. C 逗号在这里不合法 2. 输出2,虽然x是浮点型,但是10和4都是整型,所以先按整型运算,再将结果转换为浮点型 3. (++x, y++)表示这是一个逗号表达式,逗号表达式取最后一个表达式的值,也就是y++的值,所以输出结果是3和3 4. printf("%8.4g\\n",b); 这句输出8756,%g表示按%e或者%...
一些C语言题目!求高手答疑!谢谢了!!!
int a,b,c;如果这样 c=a,b;,c是a,如果是这样c=(a,b),c就是b 所以(x--,--y)是4 而x++是输出printf后再执行的,所以是2 5,(!x || y--),!x说明第一个是假了,x才是真,所以会判断下一个,y=1,所以或表达式中有一个语句是true,即整个表达式的逻辑值为true,所以你输出的...
C语言菜鸟求高手解答...
第一个问题只能说是一个判定条件,不知道你要的结果是什么。。2.m++>5这个判定是先取值后运算,m=5>5这个是不成立的,所以结果为假,然后m自增m=6,接着运行else printf("%d\\",m--);同样先取值运行,m=6所以输出6,之后再自减m=5但这是没有输出的,如果运行这个 main(){ int m=5;i...
C语言高手 请告诉我几道简单的题! 我想搞明白 谢谢
第二个题,sum没有初始化,所以答案就选c了。记住一点哦,永远不要使用未初始化的变量!第三个题,选c,关键是那个static int d,这个地址分配以后,里面的内容直到程序执行结束才释放,这是变量生存期的问题了。最后多说一句,这些题,最好是自己动手敲到编译器里面执行一下,然后,用调试的功能,...
c语言问题,高手请进谢谢!!!
即i+i--->这两个i些时都是3;而不是一个2,一个3;4。再一个++i 此时i加1得到i,i=3+1=4;由上面的理解知道i此时已经是4,5、由上面四步得到一个i=4,i+i+i的式子,写入数据得到12 今天上课还在纠结这个问题,一看到你的问题突然想起来了!呵呵 ...
C语言高手 请告诉我几道简单的题! 我想搞明白 谢谢
1 . 首先我们定义的是一个指针数组,pt[3] 它和数组类似,数组名表示的是第一个字符,而指针名则表示第一个指针,所以pt应该是pt[0],而pt[0]对应的是t[0][]在 *(*(pt+l)+2) 中 先看pt+l 对于数组来说,每一行的内存是连续分配的, 所以pt+l就是pt当前这一行的下一行,即t[1][]...
C语言问题,求大神解决,谢谢啦,我是小白,最好能够解释下原因..
第三项 第一项的结果不正确。第二项和第四项结果等同都是指向指针的指针操作。可以将二维数组看成一个双重指针,第一个中括号是一个一重指针。比如说a[n][m]中a[0]是一个指向a[0][m]数组首位a[0][0]的指针,而a则是指向指针数组*a[n]的首位a[0]的指针。这样我们来看B选项,*(a+2)...