高级语言程序设计A西南交通大学.docx

上传人:b****5 文档编号:7640160 上传时间:2023-05-11 格式:DOCX 页数:38 大小:89.95KB
下载 相关 举报
高级语言程序设计A西南交通大学.docx_第1页
第1页 / 共38页
高级语言程序设计A西南交通大学.docx_第2页
第2页 / 共38页
高级语言程序设计A西南交通大学.docx_第3页
第3页 / 共38页
高级语言程序设计A西南交通大学.docx_第4页
第4页 / 共38页
高级语言程序设计A西南交通大学.docx_第5页
第5页 / 共38页
高级语言程序设计A西南交通大学.docx_第6页
第6页 / 共38页
高级语言程序设计A西南交通大学.docx_第7页
第7页 / 共38页
高级语言程序设计A西南交通大学.docx_第8页
第8页 / 共38页
高级语言程序设计A西南交通大学.docx_第9页
第9页 / 共38页
高级语言程序设计A西南交通大学.docx_第10页
第10页 / 共38页
高级语言程序设计A西南交通大学.docx_第11页
第11页 / 共38页
高级语言程序设计A西南交通大学.docx_第12页
第12页 / 共38页
高级语言程序设计A西南交通大学.docx_第13页
第13页 / 共38页
高级语言程序设计A西南交通大学.docx_第14页
第14页 / 共38页
高级语言程序设计A西南交通大学.docx_第15页
第15页 / 共38页
高级语言程序设计A西南交通大学.docx_第16页
第16页 / 共38页
高级语言程序设计A西南交通大学.docx_第17页
第17页 / 共38页
高级语言程序设计A西南交通大学.docx_第18页
第18页 / 共38页
高级语言程序设计A西南交通大学.docx_第19页
第19页 / 共38页
高级语言程序设计A西南交通大学.docx_第20页
第20页 / 共38页
亲,该文档总共38页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

高级语言程序设计A西南交通大学.docx

《高级语言程序设计A西南交通大学.docx》由会员分享,可在线阅读,更多相关《高级语言程序设计A西南交通大学.docx(38页珍藏版)》请在冰点文库上搜索。

高级语言程序设计A西南交通大学.docx

高级语言程序设计A西南交通大学

前一次作业详情

你已经完成:

11题(共有27题,客观题11道)

(注意:

若有主观题目,请按照题目,离线完成,完成后纸质上交学习中心,记录成绩。

在线只需提交客观题答案。

本次作业是本门课程本学期的第1次作业,注释如下:

一、单项选择题(只有一个选项正确,共11道小题)

1.以下正确的C标识符是

(A)0XH

(B)_80

(C)main#

(D)A

你选择的答案:

[前面作业中已经做正确][正确]

正确答案:

B

解答参考:

2.以下说法中正确的是

(A)一个函数在编译时被分配得到一个入口地址,这个入口地址称为函数的指针

(B)a/=b+c;这个式子和a=a/b+c;等价

(C)C语言开始执行程序的开始执行点是程序中第一条可执行的语句。

(D)对二维数组a赋值可以用这样的语句完成inta[4][]={1,2,3,4,5,6,7,8};

你选择的答案:

[前面作业中已经做正确][正确]

正确答案:

A

解答参考:

3.

设a是int型变量,b是float型变量,用下面的语句给这两个变量

输入值

scanf("a=%d,b=%f",&a,&b);

为了把100和76.5分别赋给i和f,则正确的输入为:

(A)10076.5

(B)a=100,b=76.5

(C)10076.5

(D)a=100b=76.5

你选择的答案:

[前面作业中已经做正确][正确]

正确答案:

B解答参考:

4.

若有如下说明。

chara[10]={‘a','b','c','d','e','f','g','h

','i','j'},*p=a;

则输出表达式*(p+8),即printf("%c\n",*(p+8));得到

(A)g

(B)h

(C)i

(D)j你选择的答案:

[前面作业中已经做正确][正确]正确答案:

C解答参考:

5.

函数Func的功能是()

intFunc(char*ptr)

{char*p;

p=ptr;

while(*p++);

return(p-ptr-1);

}

(A)比较两个字串的大小

(B)求字符串的长度

(C)将串ptr复制到p中

(D)以上三种说法都不对你选择的答案:

[前面作业中已经做正确][正确]正确答案:

B解答参考:

6.以下可作为函数fopen中第一个参数的正确格式是

(A)c:

user\text.tex

(B)c:

\user\text.txt

(C)“c:

usertext.tex”

(D)“c:

text.txt”你选择的答案:

D[正确]

正确答案:

D解答参考:

7.

若有宏定义#definePI3.14

#defineS(r)PIrr则主函数中语句s2=S(r+3);宏替换后的结果为

(A)s2=PI*r+3*r+3

(B)s2=3.14*(r+3)*(r+3)

(C)s2=3.14*r+3*r+3

(D)s2=PIrr你选择的答案:

[前面作业中已经做正确][正确]正确答案:

C解答参考:

7.当调用函数时,实参是一个数组名,则向函数传送的是。

(A)数组的长度

(B)数组的首地址

(C)数组每一个元素的地址

(D)数组每个元素中的值你选择的答案:

[前面作业中已经做正确][正确]正确答案:

B解答参考:

8.若有函数声明为:

voidfunc(double*p);则以下函数调用正确的是。

(A)doublex;f(x);

(B)doublex;f(x);

(C)doublex;f(&x);

(D)intx;f(&x);

你选择的答案:

[前面作业中已经做正确][正确]正确答案:

C

解答参考:

9.若定义typedefunion{inta;longb;doublec;}TY;则表达式sizeof(TY)的值为。

(A)1

(B)2

(C)4

(D)8

你选择的答案:

[前面作业中已经做正确][正确]正确答案:

D

解答参考:

11.

要用fopen函数打开一个新的二进制文件,该文件要既能写也能读,则文件方式字符

串应是(10)。

(A)“ab+”

(B)“wb+”

(C)“r+”

(D)“ab”你选择的答案:

[前面作业中已经做正确][正确]正确答案:

B解答参考:

(注意:

若有主观题目,请按照题目,离线完成,完成后纸质上交学习中心,记录成绩。

在线只需提交客观题答案。

二、主观题(共16道小题)

12.

main()

{intx=2,y=-1,z=2;if(xif(y<0)z=0;elsez+=1;

printf(“%dn”,z);

}

写出程序输出结果

(1)。

参考答案:

2

13.下面程序的运行结果是

(2)。

voidfl(void)

{intx=1;staticy=2;x++;y++;printf("%d,%d\n",x,y);

}voidmain(){intk;for(k=1;k<=3;k++)fl();

}

参考答案:

2,3错一行扣1分

2,4无逗号扣1分

2,5无换行扣1分

14.#include”stdio.h”voidmain()

{chara[61],*s;intn;

gets(a);for(s=a;*s;s++)if(*s>='A'&&*s<='Z')*s+=32;

puts(a);

}

若程序的输入为SWJTU,则输出结果为(3)。

参考答案:

swjtu

15.#include“stdio.h”#defineN5intswap(int*p,int*q){intt;

if(p

returnp

}

voidf(inta[],intm)

{int*p,*q;p=a;q=a+m;while(swap(p,q)){p++;q--}

}

voidmain()

{intm,a[N];

for(m=0;mf(a,N-1);

for(m=0;m}若程序的输入为89234,则输出结果为(4)。

参考答案:

43298

16.写一个程序,建立N元整型数组,然后输入一个整数x,查找x是否包含在数组中,若在,则返回第一次出现的下标以及总的出现次数;否则,输出下标为-1,总的出现次数为0.

(8分)

参考答案:

#include“stdio.h”

#defineN8intlocate(inta[N],intx,int*pc){inti,first=-1;

*pc=0;

for(i=0;i

returnfirst;

}voidmain(){inta[N],i,count,p;

printf(“Input%dintnumbers:

n”,N);

for(i=0;i

printf(“Inputx=“);scanf(“%d”,&x);p=locate(a,x,&count);

printf(“Firstposition=%d,count=%dn”,p,count);

}

(1)

正确定义变量1

(2)

算法正确

5

(3)

正确输入

1

(4)

正确输出

1

分分分

17.输入若干双精度实数,直到0时停止,计算并输出这些实数的平均值。

参考答案:

#include“stdio.h”

voidmain()

{intn=0;doublea,sum=0,av;

printf(“Inputdoubletypenumbersuntilinput0:

\n”);

while

(1)

{scanf(“%lf”,&a);if(!

a)break;n++;sum+=a;

}

if(n==0)printf(“Noinputdata.\n”);

else{av=sum/n;

printf(“av=%.4f\n”,av);

}

}

(1)程序结构(主函数,包含文件)正确1分

(2)正确定义计数变量以及初始化1分

(3)

分分分

正确定义求和变量并初始化1

(4)循环控制结构正确1

(5)输入语句及格式正确1

(6)

(7)计数、累加求和以及求均值正确1分

(8)求均值时先判断计数变量值是否为01分

输出语句及格式正确1

18.C语言的三种循环语句是,

dowhile循环、

循环和

循环;结构化

程序设计方法主张限制使用

语句。

参考答案:

1)while

2

for3

)go

to

19.已知inta=2,b=3,

c=0;

执行下列语句后,

写出各变量的值。

c=b++―a++;变量a=,b=,c=

参考答案:

341

20.循环语句for(i=0;i<=10;i--);其循环的次数为___

参考答案:

0

21.C语言提供了三种预处理功能,它们是:

宏定义、包含文件和参考答案:

条件编译

22.若有定义:

inta=0,b=0,c=0,d=0;则执行语句a=(b=3,c=5*b++,d=++c+1);后,变量a的值是,变量b的值是,变量c的值是,变量d的值是。

参考答案:

1741617__

23.若有定义:

inta=1,b=2,c=3,d=4;,则表达式:

a<=b?

a:

c<=d?

a:

d的值是,执行表

达式(a>b)&&(c++)后,c的值为。

参考答案:

13

24.有如下语句:

charA[]={"SWJTU"};该字符串的长度是,A[3]=

参考答案:

5,T?

(允许无单引号和写ASCII码84)

25.若有定义charch='C';则puchar((ch>='A'&&ch<='Z')?

(ch+32):

ch);语句的输出结果为。

参考答案:

c

26.若有定义inta[]={1,2,3,4},*p=a+1;则表达式*++p的值为。

参考答案:

3

27.若有类型定义typedefintMat[10];则Mata[5];表示的实际数组定义是

参考答案:

inta[5][10];

(注意:

若有主观题目,请按照题目,离线完成,完成后纸质上交学习中心,记录成绩。

在线只需提交客

观题答案。

本次作业是本门课程本学期的第2次作业,注释如下:

一、单项选择题(只有一个选项正确,共10道小题)

1.以下说法中错误的是。

(A)a*=1;这个式子等价于a=a*1;

(B)a/=b+c;这个式子和a=a/b+c;等价

(C)a/=b-c;这个式子等价于a=a/(b-c);

(D)a*=b;这个式子等价于a=a*b;你选择的答案:

B[正确]正确答案:

B解答参考:

2.

16、若有如下说明

inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;

则数值为6的元素的表达式是

(A)*p+5

(B)*(p+5)

(C)*p+=5

(D)p+5你选择的答案:

B[正确]正确答案:

B解答参考:

3.下面哪条语句是错误的

(A)int

a=0;

(B)int

a=b=c=1;

(C)int

a=0,b=0,c=0;

(D)int

a,b,c=1;

你选择的答案:

B[正确]

正确答案:

B

解答参考:

4.已知实型变量a存贮的是一个0~1之间的实数,将a以两位小数百分比形式输出(如:

a=0.347592,则输出为34.75%)正确的打印语句是

(A)printf(

“%.2f%%”,a*100);

(B)printf(

“%.2f%”,a);

(C)printf(

“%.2f%%”,a/100);

(D)printf(

“%.2f%%”,100*(a+0.5));

你选择的答案:

A[正确]

正确答案:

A

解答参考:

5.定义C函数时,不给出返回值类型,则默认的返回值类型是

(A)float

(B)void

(C)int

(D)NULL指针你选择的答案:

C[正确]正确答案:

C解答参考:

6.C语言存贮字符串时,用特殊字符表示字符串结束

(A)?

x0a?

(B)?

0?

(C)13

(D)?

0?

你选择的答案:

D[正确]正确答案:

D解答参考:

7.

有以下程序段

intk=0;while(k=1)k++;则while循环执行的次数是

(A)无限次

(B)有语法错,不能执行

(C)一次也不执行

(D)执行1次你选择的答案:

A[正确]正确答案:

A解答参考:

8.对于for循环语句:

for(x=0,y=0;(y=3)&&(x<4);x++)y++;,正确的是。

(A)无限循环

(B)循环次数不定

(C)执行4次

(D)执行3次你选择的答案:

C[正确]正确答案:

C解答参考:

9.有定义struct{inta[5];}b;则正确表达成员数组a的最后一个元素地址的是

(A)b.a

(B)b.a[5]

(C)b.a+4

(D)&(&b>a[4])你选择的答案:

C[正确]正确答案:

C解答参考:

10.以只写方式打开一个二进制文件,应选择的文件操作方式是

(A)"a+"

(B)"w+"

(C)"rb"

(D)"wb"你选择的答案:

D[正确]正确答案:

D解答参考:

注意:

若有主观题目,请按照题目,离线完成,完成后纸质上交学习中心,记录成绩。

在线只需提交客

观题答案。

、主观题(共16道小题)

11.下面程序的输出是

(1)。

#include"stdio.h"voidmain()

{chara[40]="administrators",p;for(p=a;p!

='i';p++)putchar(p32);

}

参考答案:

全错0分

ADM错一个字母扣1分

12.下面程序的运行结果是

(2)。

{intx=1;

staticy=2;

x++;

y++;

printf("%d,%d\n",x,y);}voidmain(){intk;

for(k=1;k<=3;k++)fl();

}

参考答案:

2,3错一行扣1分

2,4无逗号扣1分

2,5无换行扣1分

13.下面程序的运行结果是(3)。

#include"stdio.h"

voidmain()

{intm,n;

m=10;n=1;

do{m;n+=5;

if(!

(n%3))printf("%4d%4d\n",m,n);

}while(m>n);

}

参考答案:

无明显空格扣1分

129错一数扣2分;

14.下面程序的运行结果是(4)。

#include"stdio.h"

inta[4]={1,2,3,4};

voidmain()

{intp=a,m,n;

for(m=3;m>=0;m)

for(n=0;n<=m;n++)printf("%d",(p+n));

}

参考答案:

12341231211234,123,12,1四段各1分

15.数组名作为参数传递给函数,作为实参的数组名被处理为该数组的

(1)

参考答案:

(1)首地址

16.一个C程序中必须有

(2)函数,无论该函数在整个程序中的位置如何,C程序总是从该函数开始执行。

参考答案:

(2)主或main()

17.有如下语句:

charA[]={"SWJTU"};该字符串的长度是(3),A[3]=(4)。

参考答案:

(3)5(4),T?

(允许无单引号和写ASCII码84)

18.若有定义intx=5,n=5;则执行语句x+=n++;后,x的值=(5),n的值=(6)。

参考答案:

(5)10(6)6

19.C语言的静态变量以及静态数组元素默认的初值为(7)

参考答案:

(7)0

20.若有inta=2,b=1,c=0;执行语句c=a++-b--;后,变量c的值为(14)b的值(15)参考答案:

(14)1(15)0

21.结构化程序设计的三种基本结构包括有:

、__和。

参考答案:

选择结构循环结构顺序结构

22.算术表达式:

的C语言表达式是:

参考答案:

-b+sqrt(b*b-4*a*c)

23.编写一程序,从键盘读入一个字符串并存入字符数组,然后依次输出第1,3,5,7,⋯个字符。

例如:

输入为:

computer输出为:

cmue

参考答案:

#include

voidmain()/*

{chars[255];inti;/*gets(s);/*for(i=0;s[i];i+=2)putchar(s[i]);/*

}

程序结构与头文件正确2分*/正确输入2分*/正确定义字符数组2分*/正确输出3分*/

24.编程打印如下图形到屏幕上。

(9分)

参考答案:

编译连接

结构这三种基本结构来编写程序。

26.结构化程序设计只需采用顺序结构、分支结构和参考答案:

_循环_

本次作业是本门课程本学期的第3次作业,注释如下:

一、单项选择题(只有一个选项正确,共10道小题)1.C语言表示逻辑假的方法是

(A)FALSE

(B)0

(C)1

(D)NULL

你选择的答案:

[前面作业中已经做正确][正确]

正确答案:

B

解答参考:

2.C语言开始执行程序的开始执行点是

(A)程序中第一条可执行的语句

(B)程序中第一个函数

(C)程序中的main()函数

(D)包含文件中的第一个函数

你选择的答案:

[前面作业中已经做正确][正确]正确答案:

C

解答参考:

3.continue语句的作用是

(A)中止函数的执行

(B)立即中止循环

(C)中止本次循环,直接开始下一次循环

(D)从一个循环体直接跳转至另一个循环体内你选择的答案:

[前面作业中已经做正确][正确]正确答案:

C

解答参考:

4.有定义staticinta[]={1,2,3,4},*p;执行语句p=a+2;后,表达式*p的值为

(A)4

(B)1

(C)2

(D)3

你选择的答案:

[前面作业中已经做正确][正确]正确答案:

D

解答参考:

5.下面用scanf语句获得从键盘输入的值,正确的语句是:

(A)inta[12];scanf(“%d”,&a[1]);

(B)chara[12];scanf(“%s”,&a);

(C)inta[12];scanf(“%d,”a[1]);

(D)inta;scanf(“%,d”a);你选择的答案:

[前面作业中已经做正确][正确]正确答案:

A解答参考:

若有以下说明语句,且0<=i<=10,则()是对数组元素的错误引用

inta[]={1,2,3,4,5,6,7,8,9,0},*p,i;

p=a;

(A)*(a+i)

(B)p+i

(C)a[i]

(D)*(&a[i])

你选择的答案:

[前面作业中已经做正确][正确]正确答案:

B

解答参考:

7.

以下程序的输出结果是

#defineSQR(X)X*Xmain(){inta=16,k=2,m=1;

a/=SQR(k+m)/SQR(k+m);printf("d\n",a);

}

(A)16

(B)2

(C)9

(D)1

你选择的答案:

[前面作业中已经做正确][正确]正确答案:

B

解答参考:

8.C语言中,形参与实参之间的数据传递方式是

(A)只能按值传递

(B)只能按地址传递

(C)由使用者指定传递方式

(D)既可以按值传递也可以按地址传递你选择的答案:

[前面作业中已经做正确][正确]正确答案:

A

解答参考:

则正确表达成员数组a的最后一个元素的

若有定义struct{inta[5];}b;地址表达式是

(A)b.a

(B)b.a[5]

(C)b.a+4

(D)&(&b>a[4])

你选择的答案:

[前面作业中已经做正确][正确]正确答案:

C

解答参考:

10.若有函数说明为voidf(doubles);则以下函数调用正确的是

(A)doublex;f(x);

(B)doublex;f(x);

(C)doublex;f(&x);

(D)intx;f(&x);你选择的答案:

C[正确]正确答案:

C解答参考:

(注意:

若有主观题目,请按照题目,离线完成,完成后纸质上交学习中心,记录成绩。

在线只需提交客

观题答案。

二、主观题(共16道小题)

11.下列程序段的输出是。

#include

voidmain()

{intk;

for(k=1;k<5;k++)

{

if(k%2)printf("*");elsecontinue;printf("#");

}

}

参考答案:

*#*#

12.下列程序段的输出是。

#include

intf(intx)

{staticy=1;

y++;

x+=y;

returnx;

}

voidmain()

{intk;

k=f(3);printf("%d,%d\n",k,f(k));

}

参考答案:

5,8

13.表达式!

!

356的值是。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2