高级语言程序设计c作业,西安电子科技大学#《高级语言程序设计(C)》#【奥鹏最新在线离线作业考试发布吧】_百度贴吧...

本文主要是介绍高级语言程序设计c作业,西安电子科技大学#《高级语言程序设计(C)》#【奥鹏最新在线离线作业考试发布吧】_百度贴吧...,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

西安电子科技大学网络与继续教育学院

2020 学年下学期

《高级语言程序设计(C)》期末考试试题

(综合大作业)

一、选择题(每小题 1 分,共 20 分)

1、有下列程序 main()

{

union

{

int k; char i[4];

}*s,a; s=&a;

s->k=0x38;

s->i[0]=0x39;

printf("%x\n",s->k);

}

输出结果是()。

A.38B.39C.3839D.3938

2、设 i 是 int 型变量,f 是 float 型变量,用下面的语句给这两个变量输入值:

scanf("i=%d,f=%f",&i,&f);

为了把 100 和 765.12 分别赋给 i 和 f,则正确的输入为()。

A.100765.12B.i=100,f=765.12 C.100765.12D.x=100,y=765.12

3、设已有定义: char *st="how are you"; 下列程序段中正确的是()。

A.chara[11], *p;strcpy(p=a+1,&st[4]); B.chara[11];strcpy(++a, st); C.chara[11];strcpy(a, *st); D.chara[], *p;strcpy(p=&a[1],st+2); 说明:char *strcpy(char* dest, char *src);

功能:把从 src 地址开始的字符串复制到以 dest 开始的地址空间 4、设 j 为 int 型变量,则下面 for 循环语句的执行结果是()。

for(j=10;j>3;j--)

{

if(j%3) j--; j-=2;

printf("%d",j);

}

A)6 3B)7 4C)6 2D)7 3

5、以下程序的输出结果是()。

main()

{int i,k,a[10],p[3]; k=5;

for (i=0;i<10;i++) a[i]=i;

for (i=0;i<3;i++) p[i]=a[i*(i+1)]; for (i=0;i<3;i++) k=p[i]*2; printf("%d\n",k);

}

A.22B.23C.25D.26

6、若有以下说明:

int w[3][4]={{0,1},{2,4},{5,8}};

int(*p)[4]=w;

则取 w 数组中的数值 4 的表达式是()。

A.*w[1]+1B.p++, *(p+1)C.w[2][2]D.p[1][1]

7、若 k 是 int 型变量,且有下面的程序片段:

k=-3

if(k<=0) printf("####") elseprintf("&&&&"); 上面程序片段的输出结果是()。

A.####B.&&&&C.####&&&&D.有语法错误 8、以下程序运行后,输出结果是()。

main()

{

int i=0,j, y=18, a[8]; do

{

a[i]=y%6; i++;

y=y/2;

} while(y>1); for(j=i-1;j>=0;j--)

printf("%d ",a[j]); printf("\n");

}

A.2450B.2430C.3240D.2320

9、以下叙述中不正确的是()。 A.在不同的函数中可以使用相同名字的变量 B.函数中的形式参数是局部变量 C.在一个函数内定义的变量只在本函数范围内有效 D.空类型函数返回值为 0

10、程序的输出结果是()。

int func( int a, int b)

{int c; c=a+b; return c;

}

main()

{int x=6, y=7, z=8, r; r=func(x+y,z); printf("%d\n",r);

}

A.11B.20C.31D.21

11、程序的输出结果是()。

main()

{int a=2,c=5; printf("a=%d,b=%d\n",a,c);

}

A.a=%2,b=%5 B.a=%d,b=%d C.2,5 D.a=2,b=5

12、设 a=1,b=2,c=3,d=4,则表达式:a

A.4 B.3 C.2 D.1 13、执行以下程序后,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.17B.18C.19D.20

14、下面四个选项中,全是不合法的用户标识符的是()。

A.AP_0doB.floatla0_A C.b-agotointD._123tempINT 15、程序的输出结果是()。

intn=4;

while(n) printf("%d ",--n);

A.无输出B.4 3 2 1C.321 0D.210 0 16、设有如下的变量定义:

int i=8,k,a,b;

unsinged long w=5 double x=1,42,y=5.2

则以下符合 C 语言语法的表达式是()。

A.a+=(b=4)*(k=3)B.x%(-3)C.a*3=2D.y=float(i) 17、以下程序的输出结果是()。

main( )

{ int k=17; printf("%d,%o,%x\n",k,k,k);

}

A.17,21,11B.17,17,17B.17,0x11,021D.17,021,0x11 18、若有以下定义:

char a;int b; float c;double d;

则表达式 a*b+d-c 值的类型为()。

A.floatB.intC.charD.double 19、设有以下定义:

int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};

int (*prt)[3]=a,*p=a[0];

则下列能够正确表示数组元素 a[1][2]的表达式是()。

A.*((*prt+1) [2])B.*(*(p+5))C.(*prt+1)+2D.*(*(a+1)+2) 20、给出以下定义:

char x[]="abcdefg";

char y[]={'a','b','c','d','e','f','g'};

则正确的叙述为()。

A.数组 X 和数组 Y 等价B.数组 x 和数组 Y 的长度相同

C.数组 X 的长度小于数组 Y 的长度D.数组 X 的长度大于数组 Y 的长度

二、判断题(每小题 1 分,共 10 分)

1、若 a 是实型变量,C 程序中允许赋值 a=10,因此实型变量中允许存放整型数。()

2、函数中的局部变量都是动态存储。()

3、if 语句、switch 语句可以嵌套,而且嵌套的层数没有限制。()

4、函数的定义可以嵌套,但函数的调用不可以嵌套。() 5、do-while 循环中,根据情况可以省略 while。() 6、形参是虚拟的,不占用存储单元。()

7、用户若需要调用标准库函数,调用前必须重新定义。()

8、全局变量使得函数之间的"耦合性"更加紧密,不利于模块化的要求。()

9、在实际编程中,do-while 循环完全可以用 for 循环替换。()

10、自增运算符(++)或自减运算符(--)只能用于变量,不能用于常量或表达式。()

三、填空题(每空 1 分,共 10 分)

1、假定 p 所指对象的值为 25,p+1 所指对象的值为 46,则执行"(*p)++;"语句后, p 所指对象的值为 。

2、如果变量定义有:int a=9,c=8;则表达式(a!=c)? --a:++c 运算后变量

c 的值为 。

3、假定一个二维数组为 a[M][N],则 a[i]的地址可表示为 。 4、已有 int i,j; float x;为将-10 赋给 i,12 赋给 j,410.34 赋给 x;则对应

scanf("%d,%d,%f",&i,&j,&x)调用语句的数据输入形式是 。 5、若 x=5,y=10,则 x>y 和 x<=y 的逻辑值分别为 和 。

6、C 语言提供三种逻辑运算符,它们分别是 、 、 。

7、空字符串的长度是 。

四、程序分析题(每空 1 分,共 38 分)

1、读程序,填出表格内容(6 分)

main()

{

int n,s,sum=0; scanf("%d",&n); for(int i=1;i<=n;i++)

{

s=0;

for(int j=1;j<=i;j++) s+=j; sum+=s;

}

printf("%d",sum);

}

i 1 2 3 ... n

j 1 1~2 ...

s 1 1+2 ...

sum 1 1+(1+2) ...

2、读程序,填表(12 分)

void sub(int n, int uu[ ]) //————○1

{

if (n%2==0)uu[n]=uu[n]*2; else uu[n]=uu[n]%5;

}

main( )

{

int i,aa[10]={0,1,2,3,4,5,6,7,8,9};

for(i=0; i<10; i++) sub(i,aa);

for(i=0; i<10; i++) printf("%d ",aa[i]); //————○2

printf("\n");

}

i 0 1 2 3 4 5 6 7 8 9

○1 uu[i] 0 1 2 3 4 5 6 7 8 9

○2 aa[i] 0

sub 函数 参数 int n 含义:

参数 int uu[]含义:

函数功能:

3、读程序,填表(4 分)

double fun( double x, int y)

{ int i; double z;

for(i=1, z=x; i

}

i 1 2 3 ... y-1 y

z x ... 循环结束

fun 函数功能:

4、读程序,填表(16 分)

键盘输入一行字符(最后有回车):hello

#include"ctype.h"

#include"stdio.h" main()

{char str[81],*sptr; int i; for(i=0;i<80;i++)

{str[i]=getchar();

if(str[i]=='\n') break;

}

str[i]= '\0'; sptr=str;

while(*sptr) putchar(*sptr++);

}

下标 i 0 1 2 3 4 5

str[i] 'h'

sptr sptr=&str[0]

*sptr 'h'

程序功能:

五、编程题(每小题 11 分,共 22 分)

编程题要求:

(1)先给出伪代码,然后再写出源码,重要变量和语句要加注释; (2)若有子函数,则要给出函数框架设计(函数名、形参、返回类型)。 1、一个数如果恰好等于它的因子之和,这个数就称为“完数”。

例如 6=1+2+3,编程找出 1000 以内的所有完数。 2、编写一函数 fun,实现矩阵(3 行 3 列)的转置(即行列互换)。

b20f9f8cc965621d2782da10daf0897c.png

这篇关于高级语言程序设计c作业,西安电子科技大学#《高级语言程序设计(C)》#【奥鹏最新在线离线作业考试发布吧】_百度贴吧...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/399958

相关文章

Java方法重载与重写之同名方法的双面魔法(最新整理)

《Java方法重载与重写之同名方法的双面魔法(最新整理)》文章介绍了Java中的方法重载Overloading和方法重写Overriding的区别联系,方法重载是指在同一个类中,允许存在多个方法名相同... 目录Java方法重载与重写:同名方法的双面魔法方法重载(Overloading):同门师兄弟的不同绝

C语言逗号运算符和逗号表达式的使用小结

《C语言逗号运算符和逗号表达式的使用小结》本文详细介绍了C语言中的逗号运算符和逗号表达式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习... 在C语言中逗号“,”也是一种运算符,称为逗号运算符。 其功能是把两个表达式连接其一般形式为:表达

Go语言实现桥接模式

《Go语言实现桥接模式》桥接模式是一种结构型设计模式,它将抽象部分与实现部分分离,使它们可以独立地变化,本文就来介绍一下了Go语言实现桥接模式,感兴趣的可以了解一下... 目录简介核心概念为什么使用桥接模式?应用场景案例分析步骤一:定义实现接口步骤二:创建具体实现类步骤三:定义抽象类步骤四:创建扩展抽象类步

GO语言实现串口简单通讯

《GO语言实现串口简单通讯》本文分享了使用Go语言进行串口通讯的实践过程,详细介绍了串口配置、数据发送与接收的代码实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 目录背景串口通讯代码代码块分解解析完整代码运行结果背景最近再学习 go 语言,在某宝用5块钱买了个

GO语言zap日志库理解和使用方法示例

《GO语言zap日志库理解和使用方法示例》Zap是一个高性能、结构化日志库,专为Go语言设计,它由Uber开源,并且在Go社区中非常受欢迎,:本文主要介绍GO语言zap日志库理解和使用方法的相关资... 目录1. zap日志库介绍2.安装zap库3.配置日志记录器3.1 Logger3.2 Sugared

Go语言中如何进行数据库查询操作

《Go语言中如何进行数据库查询操作》在Go语言中,与数据库交互通常通过使用数据库驱动来实现,Go语言支持多种数据库,如MySQL、PostgreSQL、SQLite等,每种数据库都有其对应的官方或第三... 查询函数QueryRow和Query详细对比特性QueryRowQuery返回值数量1个:*sql

GO语言中gox交叉编译的实现

《GO语言中gox交叉编译的实现》本文主要介绍了GO语言中gox交叉编译的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录一、安装二、使用三、遇到的问题1、开启CGO2、修改环境变量最近在工作中使用GO语言进行编码开发,因

从基础到高级详解Go语言中错误处理的实践指南

《从基础到高级详解Go语言中错误处理的实践指南》Go语言采用了一种独特而明确的错误处理哲学,与其他主流编程语言形成鲜明对比,本文将为大家详细介绍Go语言中错误处理详细方法,希望对大家有所帮助... 目录1 Go 错误处理哲学与核心机制1.1 错误接口设计1.2 错误与异常的区别2 错误创建与检查2.1 基础

Go语言中json操作的实现

《Go语言中json操作的实现》本文主要介绍了Go语言中的json操作的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录 一、jsOChina编程N 与 Go 类型对应关系️ 二、基本操作:编码与解码 三、结构体标签(Struc

python语言中的常用容器(集合)示例详解

《python语言中的常用容器(集合)示例详解》Python集合是一种无序且不重复的数据容器,它可以存储任意类型的对象,包括数字、字符串、元组等,下面:本文主要介绍python语言中常用容器(集合... 目录1.核心内置容器1. 列表2. 元组3. 集合4. 冻结集合5. 字典2.collections模块