专业班级:                        姓名:                学号:           
…………………………密………………………………封………………………………线…………………………
《高级语言程序设计》  试卷(补考A卷)
考试方式:闭卷        本试卷考试分数占学生总评成绩的  70 %
总  分
题号
核分人
题分
复查人                
得分
评卷人
一、单项选择题(每题2分,共50) 在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的下划线“    ”上。
1.以下定义语句中正确的是       
A) char a='A' b='B';              B) float  a=b=10.0;
C) int a=10, *b=&a;              D) float *a, b=&a;
2.在C语言中,合法的字符常量是     
A) '\084'          B) '\x43'          C) 'ab'          D) "\0"
3.在C语言中,字符型(char)数据在内存中存放的形式为       
A)BCD码       B)原码       C)补码            D)ASCII码
4.若有定义:int  a=8, b=5, c; 执行语句c = a/b+0.4 ;后,c的值为     
  A) 1.4    B) 1    C) 2.0    D) 2
5.下列语句行中,哪些语句能正确进行字符串赋值操作     
  A) char st[4][5]   
B) char s[5]={'A', 'B', 'C', 'D', 'E'};
C) char *s; s = "ABCDE";
  D) char *s; scanf("%s", s);
6.若int x=3;且有下面的程序片断,则输出结果是       
A)1            B)3  0            C)1  -2            D)死循环
do
{  printf("%d ",x-=2);
}while(!(--x));
7以下C语言中,对函数不正确的描述是     
A) 当用数组名作形参时,形参数组改变可使实参数组随之改变
    B) 允许函数递归调用
    C) 函数形参的作用范围只是局限于所定义的函数内
    D) 函数说明必须在主调函数之前
8.若w=1,x=2,y=3,z=4;则条件表达式w>x?w:y<z?y:z的结果是   
A)4            B)3                C)2                D)1
9.以下程序的输出结果是     
  #include <stdio.h>
  void main(void)
  {  int a = 5, b = 4, c = 6, d;
      printf(“%d\n”, d=a>b?(a>c?a: c): b);
  }
  A) 5    B) 4    C) 6    D) 不确定
10.若变量a 是int 类型,并执行了语句a = ‘A’+1.6;后,则正确的叙述是   
  A) a的值是字符‘C’ 
B) a的值是浮点型   
C) a的值是字符’A’的ASCII值加1
  D) 不允许字符型和浮点型相加
11.以下不是死循环的语句是     
A)for(;;x+=i);                B)while(1){x++;}
C)for(i=10;;i--)              D)for(;(c=getchar())!='\n';)
12.下列程序的输出结果是     
A)13;1            B)14;4                C)11;1              D)10;0
main()
{  int a=10, b=0;
    if(a=12)
    {  a=a+1; b=b+1;
}else
        {    a=a+4;b=b+4;    }
        printf("%d,%d\n",a,b);
}
13.下面关于字符串的说明中,错误的是   
A)char str[7]="FORTRAN";      B)char str[]="FORTRAN";
C)char *str="FORTRAN";
D)char str[]={'F','O','R','T','R','A','N'}
14.已知:int a[10];则对a数组元素的正确引用是   
A)a[10]          B)a[3.5]          C)a(5)            D)a[10-10]
15.在C语言中         
A)不能使用do-while语句构成的循环
B)do-while语句构成的循环必须用break语句才能退出
C)do-while语句构成的循环,当while语句中的表达式值为非零时结束循环
D)do-while语句构成的循环,当while语句中的表达式值为零时结束循环
16.下列程序的输出结果是     
A)13              B)15              C)11                D)12 
#define FUDGE(y) 1.2+y
#define PR(a) printf("%d",(int)(a))
main()
{  int x=2;
PR(FUDGE(5)*x);
}
17.C语言中的函数     
A)可以嵌套定义                      B)不可以嵌套调用   
C)可以嵌套调用,但不能递归调用      D)c语言字符常量有哪些嵌套调用和递归调用均可
18.下列条件语句中,功能与其他语句不同的是          。 
A) if(a) printf("%d\n",x);   else printf("%d\n",y);
B) if(a==0) printf("%d\n",y); else printf("%d\n",x);
C) if (a!=0) printf("%d\n",x); else printf("%d\n",y);
D) if(a==0) printf("%d\n",x); else printf("%d\n",y);
19以下函数调用语句中含有的实参个数是   
func((exp1,exp2),(exp3,exp4,exp5));
A) 1         B) 2         C) 4         D) 5
20.以下函数的功能是    
void fun(char *p2, char *p1)
{  while((*p2=*p1)!='\0')  {  p1++;p2++;     }
A)将p1所指字符串复制到p2所指内存空间
B)将p1所指字符串的地址赋给指针p2
C)对p1和p2两个指针所指字符串进行比较
D)检查p1和p2两个指针所指字符串中是否有'\0'
21.写字符到磁盘文件的fputc(ch,fp)函数(ch表示字符,fp表示文件指针),其函数原型(头)正确的是   
  A) FILE *fputc(char)                B) int fputc(FILE *)
  C) int fputc(char, FILE *)            D) int fputc(FILE *,char)
22. 设有如下定义:
struct sk
{  int a; float b;  }data,*p;
若有p=&data;,则对data中的a域的正确引用是   
A)(*p).data.a     B)(*p).a     C)p->data.a     D)p.data.a
23.已知函数原型为:
struct tree *func(int x1,int *x2,struct tree x3,struct tree *x4)
其中 tree 为已定义过的结构,且有下列变量定义:
struct tree pt,*p; int i;
请选择正确的函数调用语句   
A) &pt=func(10,&i,pt,p)          B) p=func(i++,&i,pt,&pt);
C) p=func(i+1,&(i+2),*p,p);      D) func(i+1,&i,p,p);
24.下执行以下程序段后,变量y的值是   
  int x, y;
  x = 1;
  y = (++x*5);
  A) 5    B) 10    C) 15    D) 20
25. 在Turbo C集成环境中,若一个源程序输入后没有错误,则按Ctrl+F9后   
A)将源程序存到当前目录
B)依次产生.OBJ.EXE文件,但不运行程序
C)依次产生.EXE.OBJ文件,并运行程序
D)依次产生.OBJ.EXE文件,并运行程序
得分
评卷人
二、程序填空题(每空2分,共20分)下面给出了若干个程序,请按照题意下划线处缺少的部分补上,使其能正确运行
26.求1!+2!+3!+……+10!
  #include <stdio.h>
                        void main(void)
  {  long s=0,m;
int i,j;
for (i=1;             ; i++) {

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。