【简答题】
概括的说,一张符号表的每一项(或称入口)包含两大栏(或称区段、字域),即[填空1],信息栏。
【简答题】
如果一个文法存在某个句子对应两棵不同的语法树,则称这个[填空1]是二义的。
【单选题】
为了避免嵌套的if-else语句的二义性,C语言规定else总是与___组成配对关系.
【单选题】
以下叙述正确的是
①
continue语句的作用是结束整个循环的执行
②
只能在循环体内和switch语句体内使用break语句
③
在循环体内使用break语句或continue语句的作用相同
【简答题】
统计整数n的各个位上出现数字1、2、3的次数,并通过外部(全局)变量c1、c2、c3返回主函数。
例如,当n=123114350时,结果应该为:c1=3 c2=1 c3=2。
#includeint c1,c2,c3;
void fun(long n)
{
c1 = c2 = c3 = 0;
while (n)
{
/************found************/
switch([填空1])
{
case 1: c1++; break;
/************found************/
case 2: c2++;[填空2]
case 3: c3++;
}
n /= 10;
}
}
main()
{
int n=123114350;
fun(n);
printf(\nn=%d c1=%d c2=%d c3=%d\n,n,c1,c2,c3); }
【简答题】
查找n在数组a中最后一次出现的位置(数组首元素的位置为零)。
例如:如果a数组中的元素为:1,5,2,5,6,8,7,4,3,0,
当n=5时,程序的输出结果为:5 is No.3 。
当n=10时,程序的输出结果应为:10 not found !。
#includevoid main( )
{ int a[10]={1,5,2,5,6,8,7,4,3,0};
int i,k,n,f=0;
scanf(%d,
for(i=0;ii++)
/************found************/
if([填空1])
{ f=1;
/************found************/[填空2]
}
if(f)
printf(%d is No. %d\n, n,k);
else
printf( %d not found !\n
}
【简答题】
求二分之一的圆面积,函数通过形参得到圆的半径,函数返回二分之一的圆面积(注意:圆面积公式为:S=3.14159*r*r,在程序中定义的变量名要与公式的变量相同)。例如,输入圆的半径值:2.5,输出为s=9.817469。
#include/************found************/
double fun ( float[填空1] )
{
return 3.14159 * r*r/2.0 ;
}
main()
{
float
printf ( Enter x:
/************found************/
scanf ( %f,[填空2]
printf ( s = %f\n , fun ( x ) );
}
【简答题】
计算两个整数n和m(m1000)之间所有数的和。n和m从键盘输入。例如,当n=1,m=100时,sum=5050,当n=100,m=1000时,sum=495550。
#include#includemain()
{
int n,m;
int sum;
/************found************/[填空1]
printf(\nInput n,m\n
scanf(%d,%d,n,
while( n=m )
{
/************found************/[填空2]
n++;
}
printf(sum=%d \n,sum);
}