西安电子科技大学网络与继续教育学院 2022学年上学期 《高级语言程序设计(C) ...

第 1 页 (共 5 页)ZjB傲朋学习网
学习中心/函授站_                                                    ZjB傲朋学习网
ZjB傲朋学习网
姓 名                                 学 号                            ZjB傲朋学习网
ZjB傲朋学习网
西安电子科技大学网络与继续教育学院 ZjB傲朋学习网
2022学年上学期 ZjB傲朋学习网
《高级语言程序设计(C) 》期末考试试题 ZjB傲朋学习网
(综合大作业) ZjB傲朋学习网
题号  一  二  三  四  总分 ZjB傲朋学习网
题分  40  20  23  17 ZjB傲朋学习网
得分         ZjB傲朋学习网
ZjB傲朋学习网
ZjB傲朋学习网
考试说明: ZjB傲朋学习网
1、大作业试题公布时间:2022年4月22日; ZjB傲朋学习网
2、考试必须独立完成,如发现抄袭、雷同均按零分计; ZjB傲朋学习网
3、 答案须用 《西安电子科技大学网络与继续教育学院2022春期末考试答题纸》 (个ZjB傲朋学习网
人专属答题纸)手写完成,要求字迹工整、卷面干净、整齐; ZjB傲朋学习网
4、拍照要求完整、清晰,一张图片对应一张个人专属答题纸(A4纸) ,正确上传。  ZjB傲朋学习网
ZjB傲朋学习网
一、选择题( 2 分,共 40 分) ZjB傲朋学习网
1、有下列程序 ZjB傲朋学习网
union ZjB傲朋学习网
{ ZjB傲朋学习网
int k; ZjB傲朋学习网
char i[2]; ZjB傲朋学习网
}*s,a; ZjB傲朋学习网
s=&a; ZjB傲朋学习网
s->i[0]=0x39;s->i[1]=0x38; ZjB傲朋学习网
printf("%x\n",s->k); ZjB傲朋学习网
输出结果是(    ) 。 ZjB傲朋学习网
A、3839     B、3938     C、380039     D、390038 ZjB傲朋学习网
2、设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值: ZjB傲朋学习网
scanf("i=%d,f=%f",&i,&f); ZjB傲朋学习网
为了把 100和765.12分别赋给i和f,则正确的输入为(    ) 。 ZjB傲朋学习网
A、100<空格>765.12<回车>        B、i=100,f=765.12<回车> ZjB傲朋学习网
C、100<回车>765.12<回车>        D、x=100<回车>,y=765.12<回车> ZjB傲朋学习网
3、设已有定义: char *st="how are you"; 下列程序段中正确的是(    ) 。 ZjB傲朋学习网
A、 char   a[11], *p;   strcpy(p=a+1,&st[4]); ZjB傲朋学习网
B、 char   a[11];       strcpy(++a, st); ZjB傲朋学习网
C、 char   a[11];       strcpy(a, st); 第 2 页 (共 5 页)ZjB傲朋学习网
D、 char   a[], *p;     strcpy(p=&a[1],st+2); ZjB傲朋学习网
4、设j为int型变量,则下面for循环语句的执行结果是(    ) 。 ZjB傲朋学习网
for(j=10;j>3;j--) ZjB傲朋学习网
{ ZjB傲朋学习网
if(j%3)j--; ZjB傲朋学习网
--j;--j; ZjB傲朋学习网
printf("%d",j); ZjB傲朋学习网
} ZjB傲朋学习网
A、6 3       B、7 4       C、6 2       D、7 3 ZjB傲朋学习网
5、以下程序的输出结果是(    ) 。 ZjB傲朋学习网
int i,k,a[10],p[3]: ZjB傲朋学习网
K=5; ZjB傲朋学习网
for (i=0;i<10;i++) a[i]=i; ZjB傲朋学习网
for (i=0;i<3;i++) p[i]=a[i*(i+1)]; ZjB傲朋学习网
for (i=0;i<3;i++) k=p[i]*2; ZjB傲朋学习网
printf("%d\n",k); ZjB傲朋学习网
A、20       B、21       C、22       D、23 ZjB傲朋学习网
6、若有以下说明: ZjB傲朋学习网
     int w[3][4]o={{0,1},{2,4},{5,8}}; ZjB傲朋学习网
     int(*p)[4]=w; ZjB傲朋学习网
     则数值为 4的表达式是(    ) 。 ZjB傲朋学习网
A、*w[1]+1     B、p++,*(p+1)     C、w[2][2]     D、p[1][1] ZjB傲朋学习网
7、若k是int型变量,且有下面的程序片段: ZjB傲朋学习网
k=-3; ZjB傲朋学习网
if(k<=0) printf("####") ZjB傲朋学习网
else      printf("&&&&"); ZjB傲朋学习网
上面程序片段的输出结果是(    ) 。 ZjB傲朋学习网
A、####     B、&&&&     C、####&&&&     D、有语法错误,无输出结果 ZjB傲朋学习网
8、以下程序运行后,输出结果是(    ) 。 ZjB傲朋学习网
int y=18,i=0,j,a[8]; ZjB傲朋学习网
do ZjB傲朋学习网
{  ZjB傲朋学习网
a[i]=y%2;i++; ZjB傲朋学习网
y=y\2; ZjB傲朋学习网
} while(y>1=1); ZjB傲朋学习网
for(j=i-1;j>=0;j--) printf("%d",a[j]); ZjB傲朋学习网
printf("\n");  ZjB傲朋学习网
A、10000       B、10010       C、00110       D、10100 ZjB傲朋学习网
9、以下叙述中不正确的是(    ) 。 ZjB傲朋学习网
A、在不同的函数中可以使用相同名字的变量 ZjB傲朋学习网
B、函数中的形式参数是局部变量 ZjB傲朋学习网
C、在一个函数内定义的变量只在本函数范围内有效 ZjB傲朋学习网
D、在一个函数内的复合语句中定义的变量 ZjB傲朋学习网
10、 ZjB傲朋学习网
func( int a, int b) ZjB傲朋学习网
{  ZjB傲朋学习网
int c; ZjB傲朋学习网
c=a+b; ZjB傲朋学习网
return c; ZjB傲朋学习网
} ZjB傲朋学习网
ZjB傲朋学习网
int main() ZjB傲朋学习网
{  ZjB傲朋学习网
int x=6, y=7, z=8, r; ZjB傲朋学习网
r=func( x--,y==,x+y),z--); ZjB傲朋学习网
printf("%d\n",r); ZjB傲朋学习网
return 0; ZjB傲朋学习网
} ZjB傲朋学习网
上面程序的输出结果是(    ) 。 第 3 页 (共 5 页)ZjB傲朋学习网
A、11     B、20     C、21     D、31 ZjB傲朋学习网
11、 ZjB傲朋学习网
int a=2,c=5; ZjB傲朋学习网
printf("a=%%d,b=%%d\n",a,c);     ZjB傲朋学习网
以上程序的输出结果是(    ) 。 ZjB傲朋学习网
A、a=%2,b=%5     B、a=2,b=5     C、a=%%d,b=%%d     D、a=%d,b=%d ZjB傲朋学习网
12、设a=1,b=2,c=3,d=4,则表达式:aZjB傲朋学习网
A、4       B、3       C、2       D、1 ZjB傲朋学习网
13、 ZjB傲朋学习网
int a[]={2,4,6,8,10}; ZjB傲朋学习网
int y=1,x,*p; ZjB傲朋学习网
p=&a[1]; ZjB傲朋学习网
for(x=0;x<3;x++)   y + = * (p + x); ZjB傲朋学习网
printf("%d\n",y);     ZjB傲朋学习网
执行以下程序后,y的值是(    ) 。 ZjB傲朋学习网
A、17       B、18       C、19       D、20 ZjB傲朋学习网
14、下面四个选项中,全是不合法的用户标识符的是(    ) 。 ZjB傲朋学习网
A、  A   P_0 do   B、  float la0 _A   C、  b-a goto int   D、  _123 temp INT ZjB傲朋学习网
15、 int    n=4; ZjB傲朋学习网
      while(n--) printf("%d ",--n); ZjB傲朋学习网
程序的输出结果是(    ) 。 ZjB傲朋学习网
A、2   0     B、3   1     C、3   2   1     D、2   1   0 ZjB傲朋学习网
16、设有如下的变量定义: ZjB傲朋学习网
int i=8,k,a,b; ZjB傲朋学习网
unsinged long w=5 ZjB傲朋学习网
double x=1,42,y=5.2 ZjB傲朋学习网
则以下符合 C语言语法的表达式是(    ) 。 ZjB傲朋学习网
A、a+=a-=(b=4)*(a=3)     B、x%(-3);     C、a=a*3=2     D、y=float(i) ZjB傲朋学习网
17、 ZjB傲朋学习网
int x; ZjB傲朋学习网
scanf("%d",&x); ZjB傲朋学习网
if(x + + >5) printf("%d",x); ZjB傲朋学习网
else          printf("%d\n",x - -);    ZjB傲朋学习网
两次运行上面的程序,如果从键盘上分别输入6和4,则输出结果是(    ) 。 ZjB傲朋学习网
A、7和5     B、6和3     C、7和4     D、6和4 ZjB傲朋学习网
18、若有以下定义: ZjB傲朋学习网
char a;int b; ZjB傲朋学习网
float c;double d; ZjB傲朋学习网
则表达式 a*b+d-c值的类型为(    ) 。 ZjB傲朋学习网
A、float     B、int     C、char     D、double ZjB傲朋学习网
19、设有以下定义: ZjB傲朋学习网
int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12}; ZjB傲朋学习网
int (*prt)[3]=a,*p=a[0]; ZjB傲朋学习网
则下列能够正确表示数组元素a[1][2]的表达式是(    ) 。 ZjB傲朋学习网
A、  *((*prt+1)  [2])   B、  *(*(p+5))   C、  (*prt+1)+2   D、  *(*(a+1)+2) ZjB傲朋学习网
20、给出以下定义: ZjB傲朋学习网
char x[]="abcdefg"; ZjB傲朋学习网
char y[]={'a','b','c','d','e','f','g'}; ZjB傲朋学习网
则正确的叙述为(    ) 。 ZjB傲朋学习网
A、数组X和数组Y等价                 B、数组x和数组 Y的长度相同 ZjB傲朋学习网
C、数组X的长度大于数组Y的长度       D、数组X的长度小于数组 Y的长度 ZjB傲朋学习网
二、( 2 分,共 20 分) ZjB傲朋学习网
1、若 a是实型变量,C程序中允许赋值 a=10,因此实型变量中允许存放整型数。ZjB傲朋学习网
(  ) ZjB傲朋学习网
2、函数中的局部变量都是动态存储。 (  ) 第 4 页 (共 5 页)ZjB傲朋学习网
3、自增运算符(++)或自减运算符(--)只能用于变量,不能用于常量或表达式。ZjB傲朋学习网
(  ) ZjB傲朋学习网
4、函数的定义可以嵌套,但函数的调用不可以嵌套。 (  ) ZjB傲朋学习网
5、do-while循环中,根据情况可以省略while。 (  ) ZjB傲朋学习网
6、形参是虚拟的,不占用存储单元。(   ) ZjB傲朋学习网
7、用户若需要调用标准库函数,调用前必须重新定义。 (  ) ZjB傲朋学习网
8、全局变量使得函数之间的相关性更加紧密,不利于模块化的要求。 (  ) ZjB傲朋学习网
9、在实际编程中,do-while循环完全可以用for循环替换。 (  ) ZjB傲朋学习网
10、if语句、switch语句可以嵌套,而且嵌套的层数没有限制。 (  ) ZjB傲朋学习网
三、程序分析题(每空 1 分,共 23 分) ZjB傲朋学习网
要求:读程序,填出表格中的数据。 ZjB傲朋学习网
1、 (4分) ZjB傲朋学习网
double fun( double x, int y) ZjB傲朋学习网
{  ZjB傲朋学习网
int i; ZjB傲朋学习网
double z; ZjB傲朋学习网
for(i=1, z=x; iZjB傲朋学习网
return z; ZjB傲朋学习网
} ZjB傲朋学习网
i  1  2  3  ...  y-1 ZjB傲朋学习网
z=z*x  x的平方      ...   ZjB傲朋学习网
程序功能: ZjB傲朋学习网
2、 (9分) ZjB傲朋学习网
键盘输入:abcde ZjB傲朋学习网
#include"ctype.h" ZjB傲朋学习网
#include"stdio.h" ZjB傲朋学习网
int main() ZjB傲朋学习网
{  ZjB傲朋学习网
  char str[81],*sptr; ZjB傲朋学习网
ZjB傲朋学习网
  gets(str); ZjB傲朋学习网
  sptr=str; ZjB傲朋学习网
  while(*sptr)  ZjB傲朋学习网
  { ZjB傲朋学习网
    putchar(*sptr+1); ZjB傲朋学习网
    sptr++; ZjB傲朋学习网
  } ZjB傲朋学习网
  return 0; ZjB傲朋学习网
} ZjB傲朋学习网
循环次数  1  2  3  4  5 ZjB傲朋学习网
str  "abcde" ZjB傲朋学习网
*sptr  'a'         ZjB傲朋学习网
putchar(*sptr+1)  'b'         ZjB傲朋学习网
函数功能: ZjB傲朋学习网
3、 (10分) ZjB傲朋学习网
#include ZjB傲朋学习网
#define N 5 ZjB傲朋学习网
void sub( int n,int uu[]) ZjB傲朋学习网
{  ZjB傲朋学习网
  int t; ZjB傲朋学习网
  t=uu[n-1]+uu[n]; 第 5 页 (共 5 页)ZjB傲朋学习网
  uu[n]=t; ZjB傲朋学习网
} ZjB傲朋学习网
ZjB傲朋学习网
int main( ) ZjB傲朋学习网
{  ZjB傲朋学习网
  int i, aa[N]={1,2,3,4,5}; ZjB傲朋学习网
  for(i=1; iZjB傲朋学习网
  for(i=0; iZjB傲朋学习网
  printf("\n"); ZjB傲朋学习网
  return 0; ZjB傲朋学习网
} ZjB傲朋学习网
ZjB傲朋学习网
n  1  2  3  4 ZjB傲朋学习网
(1) aa[n]  1,2,3,4,5,6       ZjB傲朋学习网
t  1+2       ZjB傲朋学习网
(2) uu[n]  uu[1]=3       ZjB傲朋学习网
程序输出: ZjB傲朋学习网
四、编程题(17 分) ZjB傲朋学习网
1、 (9分)一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+ZjB傲朋学习网
3.编程找出1000以内的所有完数。 ZjB傲朋学习网
2、(8分)编写一函数fun,实现矩阵(3行3列)的转置(即行列互换) 。
版权声明

声明:有的资源均来自网络转载,版权归原作者所有,如有侵犯到您的权益 请联系本站我们将配合处理!

分享: