奥鹏作业答案-谋学网-专业的奥鹏在线作业答案辅导网【官网】

 找回密码
 会员注册

微信登录,扫一扫

手机号码,快捷登录

VIP会员,3年作业免费下 !奥鹏作业,奥鹏毕业论文检测新手作业下载教程,充值问题没有找到答案,请在此处留言!
2022年5月最新全国统考资料投诉建议,加盟合作!点击这里给我发消息 点击这里给我发消息
奥鹏课程积分软件(2021年最新)
查看: 636|回复: 0

西安电子科技大学2021 学年下学期《高级语言程序设计(C)》期末考试试题

[复制链接]
发表于 2021-11-28 12:57:49 | 显示全部楼层 |阅读模式
谋学网
第 1 页 (共 6 页)
学习中心/函授站_
姓 名 学 号
西安电子科技大学网络与继续教育学院
2021 学年下学期
《高级语言程序设计(C)》期末考试试
(综合大作业)
题号 一 二 三 四 总分
题分 40 20 20 20
得分
考试说明:
1、大作业试题于 2021 年 10 月 22 日公布:
(1)毕业班学生于 2021 年 10 月 22 日至 2021 年 10 月 31 日在线上传大作业答卷;
(2)非毕业班学生于 2021 年 11 月 19 日至 2021 年 12 月 5 日在线上传大作业答卷;
(3)上传时一张图片对应一张 A4 纸答题纸,要求拍照清晰、上传完整;
2、考试必须独立完成,如发现抄袭、雷同均按零分计;
3、资料须用《西安电子科技大学网络与继续教育学院标准答题纸》手写完成,要
求字迹工整、卷面干净。
一、选择题(本题共 20 道小题,每题 2 分,共 40 分)
1. 以下程序运行后,输出结果是
int main( )
{
char *s="abcde";
s+=2;
printf("%ld\n",s);
}
A)cde B)字符 c 的 ASCII 码值 C)字符 c 的地址 D)出错
2. 下面程序的运行结果是
int main()
{
char ch[7]={"65ab21"};
int i,s =0
for(i=0;ch[i]>='0'&&ch[i]<'9';i+=2)
s=10*s+ch[i]-'0'
第 2 页 (共 6 页)
printf("%d\n",s);
}
A)12ba56 B)6521 C)6 D)62
3. 若有说明,double *p,a;则能通过 scanf 语句正确给输入项读入数据的程序段是
A)*p=&a; scanf("%lf",p);
B)p=(double*)malloc(8);scanf("%f",p);
C) p=&a;scanf("%lf",a);
D)p=&a; scanf("%lf",p);
4. 若要用下面的程序片段使指针变量 p 指向一个存储整型变量的动态存储单元:
int *p;
p=__________ malloc( sizeof(int));
则应填入
A) int B) int * C) (*int) D) (int *)
5. 若 k 是 int 型变量,且有下面的程序片段:
k=-3
if(k<=0) printf("####")
else printf("&&&&");
上面程序片段的输出结果是
A) #### B) &&&& C) ####&&&& D) 有语法错误
6. 以下程序运行后,输出结果是
#include<stdio.h>
#define PT 5.5
#define S(x) PT*x*x
int main( )
{
int a=1,b=2;
printf("%4.1f\n",S(a+b))
}
A)49.5 B)9.5 C)22.0 D)45.0
7. 设有以下语句:
struct st {int n; struct st *next;};
static struct st a[3]={5,&a[1],7,&a[2],9,'\0'}, *p;
p=&a[0];
则表达式_____的值不是 6。
A)p++ ->n B) p->n++ C) (*p).n++ D) (++p)->n
8. 当 a=1,b=3,c=5,d=4 时,执行下面一段程序后,x 的值为
if(a<b)
if(c<d)x=1;
else if(a<c)
if(b<d)x=2;
else x=3;
else x=6;
else x=7;
A)1 B)2 C)3 D)6
9. 下面程序的输出是
main()
{ char *p1="abc",*p2="ABC",str[50]="xyz";
strcpy(str+2,strcat(p1,p2));
第 3 页 (共 6 页)
printf("%s\n", str);}
A) xyzabcABC B) zabcABC C) yzabcABC D) xyabcABC
10. 执行以下程序后,y 的值是
main ( )
{ int a[]={2,4,6,8,10};
int y=1,x,*p;
p=&a[1];
for(x=0;x<3;x++) y + = * (p + x);
printf("%d\n",y); }
A) 17 B) 18 C) 19 D) 20
11. 设已有定义: char *st="how are you"; 下列程序段中正确的是
A) char a[11], *p; strcpy(p=a+1,&st[4]);
B) char a[11]; strcpy(++a, st);
C) char a[11]; strcpy(a, st);
D) char a[], *p; strcpy(p=&a[1],st+2);
12. 若有说明:int i,j=7, *p=&i;,则与 i=j;等价的语句是
A) I= *P; B) *P=*&J;
C) i=&j; D) i=* *p;
13. 执行语句:for(i=1;i++<4;)后;变量 i 的值是
A)3 B)4 C)5 D)不定
14. 两次运行下面的程序,如果从键盘上分别输入 6 和 4,则输出结果是
main( )
{ int x;
scanf("%d",&x);
if(x + + >5) printf("%d",x);
else printf("%d\n",x --); }
A) 7 和 5 B) 6 和 3 C) 7 和 4 D) 6 和 4
15. 有以下程序
void fun(int x,int y,int *cp,int *dp)
{*cp=x+y; *dp=x-y;}
main()
{
int a,b,c,d;
a=30;b=50;
fun(a,b,&c,&d);
printf("%d,%d\n",c,d);
}
输出结果是
A)50,30 B)30,50 C)80,-20 D)80,20
16. 设有数组定义: char array [ ]="China"; 则数组 array 所占的空间为
A) 4 个字节 B) 5 个字节 C) 6 个字节 D) 7 个字节
17. 以下程序运行后,输出结果是
fut(int **s, int p[2][3])
{
**s=p[1][1];
}
main()
{
第 4 页 (共 6 页)
int a[2][3]={1,3,5,7,9,11},*p;
p=(int *)malloc(sizeof(int));
fut(&p,a);
printf("%d\n",*p);
}
A)1 B)7 C)9 D)11
18. 设 j 为 int 型变量,则下面 for 循环语句的执行结果是
for(j=10;j>3;j--)
{
if(j%3)j--;
--j;--j;
printf("%d",j);
}
A)6 3 B)7 4 C)6 2 D)7 3
19. 设 C 语言中,一个 int 型数据在内存中占 2 个字节,则 unsigned int 型数据的取
值范围为:
A) 0-255
B) 1-32767
C) 0-65535
D) 0-2147483647
20. 设有如下定义:
int (*ptr)*();
则以下叙述中正确的是
A)ptr 是指向一维组数的指针变量
B)ptr 是指向 int 型数据的指针变量
C)ptr 是指向函数的指针,该函数返回一个 int 型数据
D)ptr 是一个函数名,该函数的返回值是指向 int 型数据的指针
二、资料来源:谋学网(www.mouxue.com)(本大题共 10 小题,每题 2 分,共 20 分)
判断对错,并给出解析(判对错占 1 分,解析占 1 分)
1. 若 a 是实型变量,C 程序中允许赋值 a=10,因此实型变量中允许存放整型数( )
资料:
解析:
2. 全局变量使得函数之间的"耦合性"更加紧密,不利于模块化的要求( )
资料:
解析:
3. 若调用一个有类型函数,而此函数中没有 return 语句,则返回一个不确定的值( )
资料:
解析:
4. 用户若需要调用标准库函数,调用前必须重新定义( )
资料:
解析:
5. 函数调用:strcat(strcpy(str1,str2),str3)的功能是将串str2复制到串str1
中后再将串 str3 连接到串 str1 之后( )
资料:
第 5 页 (共 6 页)
解析:
6. 在实际编程中,do-while 循环完全可以用 for 循环替换( )
资料:
解析:
7. C 程序的注释只能是一行( )
资料:
解析:
8. 自增运算符(++)或自减运算符(--)只能用于变量,不能用于常量或表达式( )
资料:
解析:
9. 在函数内的复合语句中定义的变量在本函数范围内有定义( )
资料:
解析:
10. 一个变量在内存中占据一定的存储单元( )
资料:
解析:
三、程序分析题(本题共 3 道小题,每空 1 分,共 20 分)
注:运算无相应项或结果时,填“无”或“循环结束”
1. (9 分)
main( )
{
int num[26]={0},i; char c;
while((c=getchar())!='#')
{
if( isupper(c)) num[c-'A']+=1;
}
for(i=0; i<26; i++)
if(num[i]) printf("%c:%d\n,i +'A' , num[i]);
}
注:isupper(int c)为库函数,功能为判断字符 c 是否为大写英文字母,当参数 c 为大写
英文字母时,返回非零值,否则返回零。
输入 A B C A C a b c
num[c-'A']
程序功能
2. (4 分)int a, b, k=4, m=6, *p1=&k, *p2=&m;
a=(pl==&m);
b=(*p1)/(*p2)+7;
表达式 结果
*p1
*p2
a
b
3.(7 分) 说明下列程序运行的功能,给出运行结果。
第 6 页 (共 6 页)
#define N 10
void invert(int *s,int i,int j)
{
int t;
if(i<j)
{
t=*(s+i);
*(s+i)=*(s+j);
*(s+j)=t;
invert(s,i+1,j-1);
}
}
int main()
{
int a[N]={1,2,3,4,5,6,7,8,9,0};
int i;
invert(a,0,N-1);
for(i=0; i<N; i++ ) printf("%d ",a[i]);
printf("\n");
return 0;
}
事项 值
i 0 1 2 3 4 5
j
invert 函数功能
四、编程题(本大题共 2 小题,每题 10 分,共 20 分)
编程题要求:
(1)先给出伪代码,然后再写出源码,重要变量和语句要加注释;
(2)若有子函数,则要给出函数框架设计(函数名、形参、返回类型)。
1. 计算 1-1/2+1/3-1/4-...+1/99-1/100 的值,并显示出来。
2. 从键盘输入一个 5*5 整型数组赋值,找出其中的最小值并显示出来。
奥鹏作业答案,奥鹏在线作业答案
您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

 
 
客服一
客服二
客服三
客服四
点这里给我发消息
点这里给我发消息
谋学网奥鹏同学群2
微信客服扫一扫

QQ|关于我们|联系方式|网站特点|加入VIP|加盟合作|投诉建议|法律申明|Archiver|小黑屋|奥鹏作业答案-谋学网 ( 湘ICP备2021015247号 )

GMT+8, 2024-11-22 14:02 , Processed in 0.099734 second(s), 20 queries .

Powered by Discuz! X3.5

Copyright © 2001-2023 Tencent Cloud.

快速回复 返回顶部 返回列表