首页>> 资料园地>> 试题资料 试题资料
全国2010年10月高级语言程序设计(一)试题课程代码:00342
发布时间:2012-06-06 浏览次数: 219
全国2010年10月高级语言程序设计(一)试题课程代码:00342
一、单项选择题(本大题共15小题,每小题2分,共30分)
1.用户自定义标识符正确的是(      )
A.3ab         B.int       C.fa2_a                 D.sin(x)
2.关于C语言程序描述正确的是(      )
A.函数必须要有return语句                      B.主函数必须位于程序的开头
C.程序中每行只能写一条语句                  D.一个程序中只能有一个主函数
3.设int i=8,a,b;double x=1.42,y=5.2;,正确的表达式是(      )
A.a+=(b=4)*(a=3)    B.a=a*3=2    C.x%(-3)+y* *3      D.y=float(i)
4.设int a[][2]={1,2,3,4,5,6,7};,其中缺省的行长度的最小值是(      )
A.2          B.3        C.4                D.5
5.设char c=′A′;int i=1,j;,执行语句j=!c&&i++;后,i和j的值分别是(      )
A.0和1      B.1和0        C.1和65             D.2和66
6.设typedef char STRING[255];STRING*s;,则s是(      )
A.字符数组       B.字符变量        C.字符指针数组         D.字符指针变量
7.设int x=6;,执行语句X+=X-=X*X;后,x的值是(      )
A.-60        B.0         C.6               D.36
8.设int i=3,j=3;,表达式i+++j的值是(      )
A.6          B.7         C.8              D.9
9.下列为C语言保留字的是(      )
A.real        B.long        C.pointer                   D.integer
10.设int a=2,b=6,c=8;,表达式(a,b),(c,10)的值是(      )
A.2          B.6           C.8                     D.10
11.变量定义并初始化正确的是(      )
A.int a=l,*p=a;   B.int a=2,p=*a;     C.int a=3,p=&a;     D.int a=4,*p=&a;
12.使用递归函数计算n!(n=0,1,2,,3,....)的是(      )
A. fac(int n)                                              B. fac(int n)
{int i,f=- 1;                                                 {
 if(n==0) return 1;                                       if(n==0‖n==1) return 1;
 else for(i=1 ;i<=n;i++) f*=i;                          else return n*fac(n-1);
 return f;                                                     }
}
C. fac(int n)                                              D. fac(int n)
{int i=l,f=l;                                               {int i=1,f=1;
 if(n==0) return l;                                       if(n==0) return 1;
 else while(i<=n) f*=i++;                           else do { f*=i;}while (i++<n)
 return f;                                                   return f;
}                                                              }
13.设struct{int age;int num;}stu,*p=&stu;
对结构型变量stu的成员age引用错误的是(      )
A.stu.age       B.p->age        C.*p.age        D.(*p).age
14.设int a[2]={1,2},*p=a;,则*p是(      )
A.元素a[0]的值      B.元素a[0]的地址       C.元素a[1]的值           D.元素a[1]的地址
15.设int a[10];,对数组元素引用正确的是(      )
A.a[10]        B.a[′0′]         C.a(6)           D.a[10-10]
二、填空题(本大题共10小题,每小题2分,共20分)
16.执行语句printf("%d\n",strlen("a\n\x41"));后,输出结果是_______。
17.设int a,b,c;,表达式a=2,b=5,b++,a+b的值是__________。
18.设int a=1,b=2,m=2,n=2;,执行表达式(m=a<b)||++n后,n的值是_______。
19.设int x=4,y=2;,表达式x<y?y:x++的值是_______。
20.执行下列程序段后,输出结果是____________。
int x=3;  do{ptintf("%5d",x-=2);}while(!(--x));
21.执行语句for(i=10;i>0;i--,);后,变量i的值是___________。
22.设int x,y;,循环语句for(x=0,y=0;(y!=10)&&(x<5);x++);执行的次数是______。
23.若函数内定义变量的存储类别是static,该变量被称为___________静态变量。
24.设int x=3;,执行语句printf((x%2)?("**%d\n"):("##%d\n"),x);后,输出结果是__________。
25.设char s[3]="AB",*p=s;,则*(p+2)的值是_______。
三、程序分析题(本大题共4小题,每小题4分,共16分)
26.
void main( )
{
int i=0,j =0,k=0;
while (i< 10) i++;
while (j++<l 0);
while (++k<l 0);
printf ("i=%d,j=%d,k=%d\n",i,j,k);
}
27.
int a;
fun(int i)
{
a+=2*i;
return a;
}
void main( )
{
int a=10;
printf("%d,%d\n",fun(a),a);
}
28.
void main( )
(
int a=0, b=0, d=0;
char *s="xcbc3abcd";
for(; *s!= ′\0′; s++)
switch(*s)
 {
case ′a′: a++; break;
case ′b′: b++; break;
default: d++;
 }
printf("a=%d,b=%d,d=%d\n",a,b,d);
}
29.
#define   M  2<3 ? 5:6
void main( )
{
int i=3, j, k;
j=i+M;
k=i+(M);
printf ("%d, %d\n", j, k);
}
四、程序填充题(本大题共3小题,每小题6分,共18分)
30.键入数据至二维数组,求出其中的最大值、最小值及所有元素之和。
void main( )
{
int i,j;
int a[3][4],max, min, sum=0;
for(i=0;i<3 ;i++)
for(j =0 ;j <4 ;j ++) scanf("%d",_______); /*第一空*/
max=min=a[0][0];
for(i=0;i<3 ;i++)
for(j =0 ;j <4 ;j ++)
{
______;/*第二空*/
if(a[i] [j]>max) max=a[i] [j];
if(a[i] [j]<min) min=a[i][j];
}
printf("max=%d,min=%d,sum=%d\n",______);/*第三空*/
}
31.将26个小写英文字母中的元音字母(a,e,i,o,u)写入到文件vo.txt中。
#include"stdio.h"
void main( )
{
char_____;/*第一空*/
FILE *fp;
fp=fopen("vo.txt","w");
for(ch=′a′;ch<=′z′;ch++)
if(______________)fputc(ch,fp);/*第二空*/
_________;/*第三空*/
}
32.根据迭代公式 ,求a的平方根(精度要求
,求a的平方根(精度要求 <10-6)。
<10-6)。
#define  EPS  1E-6
#include_____  /*第一空*/
void main( )
{
float a,x0,x1=1.0;
scanf("%f",&a);
do
{
 x0=x1;
 x1=_______;/*第二空*/
}while(fabs(x1-x0)>=_____);/*第三空*/
printf("sqrt=%.6f\n",x1);
}
五、程序设计题(本大题共2小题,每小题8分,共16分)
33.从键盘输入三条边a、b和c,若能构成三角形则输出其面积,否则输出不能构成三角形的提示信息“No triangle”。
三角形面积计算公式 其中:s=(a+b+c)/2。
其中:s=(a+b+c)/2。
34.(1)编写一个函数change( )实现两个实型变量的值交换;
(2)写出主函数,从键盘上输入两个数,然后调用函数change()交换两个实型数的值并输出。
 
         
            