上海海事大学C语言程序设计练习题全题库Word文件下载.docx

上传人:b****6 文档编号:19039606 上传时间:2023-01-03 格式:DOCX 页数:242 大小:87.70KB
下载 相关 举报
上海海事大学C语言程序设计练习题全题库Word文件下载.docx_第1页
第1页 / 共242页
上海海事大学C语言程序设计练习题全题库Word文件下载.docx_第2页
第2页 / 共242页
上海海事大学C语言程序设计练习题全题库Word文件下载.docx_第3页
第3页 / 共242页
上海海事大学C语言程序设计练习题全题库Word文件下载.docx_第4页
第4页 / 共242页
上海海事大学C语言程序设计练习题全题库Word文件下载.docx_第5页
第5页 / 共242页
点击查看更多>>
下载资源
资源描述

上海海事大学C语言程序设计练习题全题库Word文件下载.docx

《上海海事大学C语言程序设计练习题全题库Word文件下载.docx》由会员分享,可在线阅读,更多相关《上海海事大学C语言程序设计练习题全题库Word文件下载.docx(242页珍藏版)》请在冰豆网上搜索。

上海海事大学C语言程序设计练习题全题库Word文件下载.docx

A'

;

b=((x&

&

y)&

(z<

'

a'

));

1).1

第8题(1.0分)

当a=3,b=2,c=1;

时,执行以下程序段后a=【1】.

if(a>

b)a=b;

if(b>

c)b=c;

elsec=b;

c=a;

第9题(1.0分)

main(){inta;

for(a=0;

a<

10;

a++);

a);

1).10

第10题(1.0分)

程序段intk=10;

while(k=0)k=k-1循环体语句执行【1】次.

1).0

第11题(1.0分)

以下程序段要求从键盘输入字符,当输入字母为'

Y'

时,执行循环体,则括号内应填写【1】.

ch=getchar();

while(ch____'

)/*在括号中填写*/

1).==

第12题(1.0分)

以下do-while语句中循环体的执行次数是【1】.

a=10;

b=0;

do{b+=2;

a-=2+b;

}while(a>

=0);

第13题(1.0分)

C语言中,数组元素的下标下限为【1】.

第14题(1.0分)

如果函数不要求带回值,可用【1】来定义函数返回值为空.

1).void

第15题(1.0分)

C语言源程序的基本单位是【1】.

1).函数

二、判断共15题(共计15分)

a=(b=4)+(c=6)是一个合法的赋值表达式.答案:

Y

在C语言中,变量必需先定义后使用答案:

语句printf("

%f%%"

1.0/3);

输出为0.333333.答案:

N

语句scanf("

%7.2f"

&

a);

是一个合法的scanf函数.答案:

在switch-case语句中,必须使用default语句.答案:

关系运算符(大于、小于)的优先级高于(低于加减乘除)算术运算符并且低于(高于)赋值运算符.答案:

C语言中的for语句可以用于循环次数已经确定的情况,但是不能用于循环次数不确定而只给出循环结束条件的情况.

do-while循环是先判断循环条件表达式,后执行循环体;

while循环是先执行循环体,后判断循环条件表达式.答案:

第9题(1.0分)

在定义二维数组时,可以将该数组的两个维数全部省略答案:

任何数组的下标都是从0开始;

C语言中只能逐个引用数组元素而不能一次引用整个数组.答案:

数组中的元素类型不能不同答案:

通过return语句,函数可以带回一个或一个以上的返回值.答案:

如果函数值的类型和return语句中表达式的值不一致,则以

函数类型为准.答案:

C程序中有调用关系的所有函数必须放在同一个源程序文件中.答案:

三、单项选择共20题(共计40分)

第1题(2.0分)

下列程序的输出结果是().

main()

{

printf("

%d\n"

null);

A:

B:

变量无定义

C:

-1

D:

1

B

第2题(2.0分)

用下列语句定义a,b,c,然后执行b=a、c='

b'

+b,则b,c的值是().

longa=0xffffff;

intb;

charc;

0ffffff和0x61

-1和98

-1和97

指向同一地址

C

第3题(2.0分)

已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用

八进制表示的字符常量'

\101'

是().

字符A

字符a

字符e

非法的常量

A

第4题(2.0分)

若ch为char型变量,k为int型变量(已知字符a的ASCII十进制代码为97),

则以下程序段的执行结果是().

ch='

k=12;

%x,%o,"

ch,ch);

k=%%%d\n"

k);

(x十六进制整数,o八进制整数)

因变量类型与格式描述符的类型不匹配,输出无定值

输出项与格式描述符个数不符,输出为零值或不定值

61,141,k=%12

61,141,k=%d答案:

第5题(2.0分)

若a是float型变量,b是unsigned型变量,以下输入语句中合法的是().

scanf("

%6.2f%d"

a,&

b);

%f%n"

%f%3o"

%f%f"

第6题(2.0分)

以下程序的输出结果为().

{inti=010,j=10;

++i,j--);

11,10

9,10

010,9

10,9

第7题(2.0分)

c)b=a;

a=c;

c=b;

则c的值为().

2

3

不一定

第8题(2.0分)

下列各m的值中,能使m%3==2&

m%5==3&

m%7==2为真的是().

8

23

17

6

第9题(2.0分)

以下运算符中,优先级最高的运算符是().

?

:

++

第10题(2.0分)

设j和k都是int类型,则for循环语句

for(j=0,k=0;

j<

=9&

k!

=876;

j++)(j<

=9,k!

=876)scanf("

k)循环;

().

最多执行10次

最多执行9次

是无限循环

循环体一次也不执行

第11题(2.0分)

下面有关for循环的正确描述是().

for循环只能用于循环次数已经确定的情况

for循环是先执行循环循环体语句,后判断表达式

在for循环中,不能用break语句跳出循环体

for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来

D

第12题(2.0分)

以下程序的运行结果是().

{intn;

for(n=1;

n<

=10;

n++)

{

if(n%3==0)continue;

n);

}

369

12

90

第13题(2.0分)

以下程序段的输出结果为().

for(i=4;

i>

1;

i--)

for(j=1;

i;

j++)

putchar('

#'

);

######

#

###

第14题(2.0分)

设j和k都是int类型,则for循环语句().

for(j=0,k=0;

j++)scanf("

k);

循环体一次也不执行答案:

第15题(2.0分)

在C语言中,为了结束由while语句构成的循环,while后一对圆括号

中表达式的值应该为().

True

非0

第16题(2.0分)

以下对一维整型数组a的正确说明是().

inta(10);

intn=10,a[n];

intn;

scanf("

n);

inta[n];

#defineSIZE10(换行)inta[SIZE];

第17题(2.0分)

在C语言中,引用数组元素时,其数组下标的数据类型允许是().

整型常量

整型表达式

整型常量或整型表达式

任何类型的表达式

第18题(2.0分)

以下不能正确定义二维数组的选项是().

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

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

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

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

第19题(2.0分)

若有说明:

inta[3][4]={0};

则下面正确的叙述是().

只有元素a[0][0]可得到初值0

此说明语句不正确

数组a中各元素都可得到初值,但其值不一定为0

数组a中每个元素均可得到初值0

第20题(2.0分)

以下数组定义中不正确的是().

inta[2][3];

intb[][3]={0,1,2,3};

intc[100][100]={0};

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

四、程序填空共2题(共计12分)

第1题(6.0分)

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

题目:

从读入的整数数据中,统计大于零的整数个数和小于零的

整数个数。

用输入零来结束输入,程序中用变量i统计大于

零的整数个数,用变量j统计小于零的整数个数。

-------------------------------------------------------*/

#include<

stdio.h>

{intk,n,i,j;

EnterINTnumber,with0toend\n"

i=j=0;

while(n!

=0)

/***********SPACE***********/

{if(n>

0)i=【?

】;

if(n<

0)j=【?

【?

】);

i=%4d\n"

i,j);

1).i+1

2).j+1

3).&

n

第2题(6.0分)

以下程序是用选择法对10个整数按升序排序,程序中有4个空,

填空使程序完整。

【?

inti,j,k,t,a[N];

for(i=0;

i<

=N-1;

i++)

a[i]);

N-1;

【?

for(j=i+1;

if(a[j]<

a[k])k=j;

if(【?

】){t=a[i];

a[i]=a[k];

a[k]=t;

outputthesortedarray:

\n"

%5d"

a[i]);

1).#defineN10

2).k=i;

3).j<

N或N>

j或j<

=N-1或N-1>

=j

4).k!

=i

五、程序设计共3题(共计18分)

/*------------------------------------------------

【程序设计】

--------------------------------------------------

编写函数fun求1!

+2!

+3!

+……+n!

的和,在

main函数中由键盘输入n值,并输出运算结果。

编写fun函数。

例如:

若n值为20,则结果为9。

注意:

部分源程序给出如下。

请勿改动主函数main和其

它函数中的任何内容,仅在函数fun的花括号中填

入所编写的若干语句。

------------------------------------------------*/

#include<

floatfun(intn)

/**********Program**********/

/**********End**********/

inti,n;

longintresult;

result=fun(n);

%ld\n"

result);

yzj();

yzj()

FILE*IN,*OUT;

inti;

intiIN;

longintiOUT;

IN=fopen("

1.in"

"

r"

if(IN==NULL)

{printf("

PleaseVerifyTheCurrerntDir..ItMayBeChanged"

OUT=fopen("

1.out"

w"

if(OUT==NULL)

PleaseVerifyTheCurrentDir..ItMayBeChanged"

for(i=0;

{fscanf(IN,"

iIN);

iOUT=fun(iIN);

fprintf(OUT,"

iOUT);

fclose(IN);

fclose(OUT);

----------------------

floatf=1,s=0;

for(i=1;

=n;

{f=f*i;

s=s+f;

returns;

编写函数fun其功能是:

根据整型形参m,

计算如下公式的值:

y=1/5+1/6+1/7+1/8+1/9+1/10...+1/(m+5)

若m=9,则应输出:

1.168229

请勿改动主函数main

和其它函数中的任何内容,仅在函数fun的花

括号中填入所编写的若干语句。

doublefun(intm)

/**********Program**********/

/**********End**********/

main()

{intn;

clrscr();

Entern:

"

&

\nTheresultis%1f\n"

fun(n));

getch();

}

ints,i;

intt;

floato;

in.dat"

ReadFileError"

out.dat"

WriteFileError"

5;

t);

o=fun(t);

%f\n"

o);

doubley=0;

inti;

i<

=m;

i++)

{y+=1.0/(i+5);

return(y);

----------------------

第3题(6.0分)

编写函数fun,函数的功能是:

求给定正整数m以

内的素数之和。

例如:

当m=20时,函数值为77。

intfun(intm)

inty;

y=fun(20);

y=%d\n"

y);

yzj();

intiIN,iOUT,i;

20.in"

20.out"

inti,k,s=0;

for(i=2;

{for(k=2;

k<

k++)

if(i%k==0)break;

if(k==i)s=s+i;

returns;

试卷总分:

100分

共有题型:

6种

若有以下数组a,数组元素:

a[0]~a[9],其值为

941282107513

该数组中下标最大的元素的值是【1】.

表达式18&

53的值是【1】.

c语言程序的三种基本结构是:

顺序结构,选择结构,【1】结构.

循环

预处理命令行都必须以【1】号开始.

设i,j,k均为int型变量,则执行完for循环

for(i=0,j=10;

=j;

i++,j--)k=i+j;

后,k的值为【1】.

10

执行下列语句后,*(p+1)的值是【1】.

chars[3]="

ab"

*p;

p=s;

b

若输入字符串:

abcde<

回车>

则以下while循环体将执行【1】次.

While((ch=getchar())=='

e'

)printf("

*"

void

C语言中,数组元素的下

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

当前位置:首页 > 医药卫生 > 中医中药

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1