C语言设计(专)1410_模拟卷2

  • 格式:doc
  • 大小:69.50 KB
  • 文档页数:3

第 1 页 共 3 页
华东理工大学
网络教育学院

C语言设计(专)1410_模拟卷2
一、根据提问填空
1.在C语言中,表达式2+1/2的结果为 (1) 。
2.在函数内部定义的变量称为 (2) 。
3.若函数的形式参数为数组名,则函数调用时,实在参数向形式参数传 (3) 。
4.sizeof是用于测试数据类型长度的运算符,sizeof(char)的函数值为 (4) 。
5.说明语句char s[16];将s定义为 (5) 。
6.文件类型是C编译系统预定义的一种结构类型,其类型标识符为 (6) 。
7.printf("\n");语句的功能是 (7) 。
8.设有说明语句:int a[10],*p( ); 则指针P被定义为 (8) 。

二、根据题目要求解答问题
1.用C语言的for语句,实现下列级数求和。

10099...43322
1
1sum

2.用C语言的do-while结构描述下面级数求和,要求当通项小于0.00001时结束累加。
sum=1+)1(1...3*212*11nn

3.写出下面函数的功能。
long rfact(int n)
{ int i; long y=1;
for(i=2;i<=n;i++)
y*=i;
return y;
}

4.定义一个名字为struct products的结构类型,描述一种商品信息,结构包含的成员有:
num (商品代号,长整型)、name(商品名称,字符串型,长度为20)、price(单价,单
精度实型)。

三、从所给的答案组中单选一个正确的答案
1.设:char c; 则能够正确判断c为小写字母的表达式是( )。
A 'a'<=c<='z' B (c>='a')||(c<='z')
C (c>'a') && (c<'z') D (c>='a')&&(c<='z')

2.设: int x,y,z,k; 则执行表达式x=(y=4,z=16,k=32)后,x的值为( )。
A 4 B 16 C 32 D 52
3.设:int n=9;以下循环语句的输出结果是( )。
while(n>6)
{ n--;
printf("%d",n);
}
A 987 B 876 C 8765 D 9876
4. 设 int x=1,y=3 ; 则表达式x/y的值为( )。
A 0.3333 B 0.3 C 0 D 出错

5. 以下表达式中,( )的值为0。
A 5 % 6 B 5/6 C 5 && 6 D 5!= 6
6.设:int a=8,b; 则执行下列语句以后,x被赋值为( )。
a-=b=-3;
A 5 B 3 C 11 D -11
7.以下四项中,( )与其它三个表达式的含义不同。
A x++ B ++x C x+=1 D x+1
8.设int x,y; 则语句序列:x=x+y;y=x-y;x=x-y;的功能是( )。
A 将x和y按从大到的顺序排列 B 将x和y按从小到的顺序排列
C 将x和y的内存值进行交换 D 无确定结果
9.在C语言中,局部变量的存储类别自动默认为( )。
A static B auto C extern D register

10.设数组说明语句:long x[10]={2,4,6,8,10},则数组x在内存开销为( )字节。
A 5 B 10 C 20 D 40

四、阅读程序,写出程序的输出值
1.#include
main()
{ int k,s1=0;
long s2=1;
for(k=1;k<=6;k++)
{ s1+=k;
s2*=k;
}
printf("s1=%d\ns2=%ld\n", s1, s2);

}
2.#include
main()
第 2 页 共 3 页

{ int x=0,j=0;
for(;;)
{ j++;
if(j%2==0) continue;
if(x>15) break;
x+=j;
}
printf("j=%d x=%d\n",j,x);
}
3.#include
int i=2;
int change(int i)
{ i=1;
}
main()
{ printf("i=%d\n",i);
change(i) ;
printf("i=%d\n",i);
}
4.int wid(int n)
{ int c=0 ;
do
{ c++;
n/=10;
} while(n!=0);
return c;
}
main()
{ int x=10086;
printf("The digit of %d is %d\n", x , wid(x));
}

五、阅读程序说明,在划线处填空,使程序达到预期功能
1.以下程序中,函数long f(int n)的功能是求n!,main函数通过调用f函数实现下面公式
的计算。
sum=1!+2!+3!+…+6!

#include
long f(int n)

{ int i;long y=1;
for(i=2;i<=n;i++)
y*=i;
return (1) ;
}
main()
{ int k; long sum=1;
for(k=2; (2) ;k++)
sum+= (3) ;
printf("sum=%d\n",sum);
}

2.以下程序中,函数f(int x[],int n)的功能是对数组x的n个数中的正数求和,main函数
通过调用f函数对x数组实现相关功能。
#include
#include
int f(int x[],int n)
{ int i,sum=0;
for(i=0;i if( (4) ) sum+=x[i];
return (5) ;
}
main( )
{ int x[10]={2,9,-7,4,-3,0,12,-41,6,-23};
printf("sum=%d\n", (6) );
}

3.创建一个名字为myfile.txt的文本文件,由键盘输入若干字符(以控制字符ctrl+z结
束输入),将它们存入该文件中。
#include
main()
{ (7) *fp;
char c;
if((fp=fopen("myfile.txt", ___(8) ))==NULL)
{ printf("File not open!!\n");
exit(0);
}
第 3 页 共 3 页

for( ; ; )
{ c=getchar();
if(c==EOF) break;
______(9) ;
}
fclose(fp);
}

4.以下程序中,函数f(int x[],int n)的功能是对数组x的n个数中的绝对值小于10的数求
和,main函数通过调用f函数对x数组实现相关功能。
#include
#include
int f(int x[],int n)
{ int i,sum=0;
for(i=0;i if( (10) ) sum+=x[i];
return (11) ;
}
main()
{ int x[10]={2,9,-7,4,-3,0,12,-41,6,-23};
printf("sum=%d\n", (12) );
}