上海海洋大学C语言专升本及答案_第1页
上海海洋大学C语言专升本及答案_第2页
上海海洋大学C语言专升本及答案_第3页
上海海洋大学C语言专升本及答案_第4页
上海海洋大学C语言专升本及答案_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

上海海洋大学C语言专升本

总分:100分考试时间:90分钟

注意事项:

>题目包括三大部分,单项选择题,填空题,编程题,请按要求作答。

>答卷必须用蓝色或者黑色钢笔、圆珠笔,不许用铅笔或者红笔作答。

>考试中途不能无端离场,否则视为放弃。考试过程中如遇问题请及时向监考老师反馈。

一、单项选择题(每小题2分,共40分)

L以下字符中不是转义字符的是______。

A、\a'

B、\b'

C、\c,

D、7

【答案】C

2、以下不合法的数值常量是_______。

A、011

B、lei

C、8.0E0.5

D、Oxabcd

【答案】C

3、执行下面语句后的输出为

inti=-1;

if(i<=O)printf("****\n");

elseprintf(M%%%%\n");

A****

B、%%%%

C、%%%%C

D、有语法错,不能执行

【答案】A

4、运行下面程序时,从键盘输入字母h,则输出结果是

#include<stdio.h>

main()

(

charch;

ch=getchar();

switch(ch){

case'h':printf("hello!\n");

case'g':printf("goodmorning!\n");

default:printf("bye_bye!\n");

)

)

A、Hello!

B、Hello!

GoodMoring!

C、Hello!

Goodmorning!

Bye_Bye!

D、Hello!

Bye_Bye!

【答案】C

【解析】本题主要对switch语句进行了考查。switch语句的执行过程为:进

入switch结构后,对条件表达式进行运算,然后从上至下去找与条件表达式值

相匹配的case,以此作为入口,执行switch结构中后面的各语句,直到遇到

break语句,则跳出switch语句,如果各case都不匹配时则执行default后

面的语句。本题中ch为字符'H',所以case'H'条件中的语句将被执

行,由于没有break语句,所以case'C'后的语句也被执行,由于同样的缺

少break语句,所以default后的语句也被执行了。

5、设函数fun的定义形式为。

voidfun(charch,floatx)

(

♦••

)

则以下对函数fun的调用语句中,正确的是______。

A、funCabc'^.O);

B、t=fun('D',16.5);

C、fun('65;2.8);

D、fun(32,32);

【答案】D

6、执行语句scanf("%d,%d",&m,&n);使m和n的值分别为1和2,正确输入

是_______O

A、1

B、12

C、1,2

D、12

【答案】C

7、下列能正确定义字符串的语句是_______。

A、charstr[]='\64';

B、charstr="kx43";

C、charstr=";

D、charstr[]="\On;

【答案】D

【解析】字符串常量是用一对双括号括起来的一串字符。它用字符数组来存

放,不能用一对大括号对括起来。

8、以下选项中,合法的数值型常量是_______。

A、3.2

B、X

C、099

D、OxEH

【答案】A

9、下列字符常量的写法中,正确的是______。

A、匕be'

B「\5A'

C、A

D、《3'

【答案】D

【解析】选项A不是一个字符常量,因为C++基本数据类型中不存在与其相对

应的类型,如果将起止符号改为双引号,它就是一个字符串类型的常量。选项

B中缺少开始标记字母X。选项C中的字符A没芍用单引号括起来,只能看成

一个标识符。

10、avg功能是求整形数组中的前若干个元素的平均值,设数组元素个数最多不

超过则下列函数说明语句错误的是_______O

A、intavg(int*arintn);

B、intavg(inta[IO],intn);

C、intavg(inta,intn);

D、intavg(inta[],intn);

【答案】C

11、若x,y均定义成int型,z定义为double型,以下不合法的scanf函数调用

语句是O

A、scanf("%d%x,%le"、&x,&y,&z);

B、scanf("%2d*%d,%lf"&x,&y,&z);

C、scanf(n%x%*d%oN,&x,&y);

D、scanf(〃%x%o%6.2f〃,&x,&y,&z);

【答案】D

【解析】%x输入十六进制整数,%。输入八进制整数,%*d省略输入的一个

整数,%le输入一个e格式的符点数,d中应该去掉6.2。scanf中的格式表示

的是模式匹配串,模式匹配串中只需给出匹配串长度,不能给出小数形式的长

度。

12、在c集成环境执行菜单命令"运行",若运行结束且没有系统提示信息,说明-

O

A、源程序有语法错误

B、源程序正确无误

C、源程序有运行错误

D、源程序无编译运行错误,但仅此无法确定其正确性

【答案】D

13、c语言中,下列不合法的字符串常量是________

A、"\121"

B.'y=,

C、〃\n\n"

D、“ABCD\x6d"

【答案】B

14、若有下面的说明和定义:

structtest

intml;

charm2;

floatm3;

unionuu

(

charul[5];

intu2[2];

)

ua;

)

myaa;

则sizeof(structtest)的值是_______。

A、12

B、16

C、14

D、9

【答案】A

15、有以下程序

main()

(

intp[7]={ll,13,14,15,16,17,18}J=0,k=0;

while(i<7&&p[i]%2)

k=k+p[i];

i++;

)

printf(n%d\n",k);

)

执行后输出的结果是____。

A、58

B、56

C、45

D、24

【答案】D

16、有以下程序段intn=O,p;

do

(

scanf("%d",&p);

n++;

)

while(p!=12345&&n<3);

此处do-while循环的结束条件是____0

A、p的值不等于12345并且n的值小于3

B、p的值等于12345并且n的值大于等于3

C、p的值不等于12345或者n的值小于3

D、p的值等于12345或者n的值大于等于3

【答案】D

17.c语言结构体类型变量在程序执行期间.

A、所有成员一直驻留在内存中

B、没有成员驻留在内存中

C、部分成员驻留在内存中

D、只有一个成员驻留在内存中

【答案】A

18、有以下程序

main()

(

inta,b,k,m,*pL*p2;

k=lzm=8;

pl=&k,p2=&m;

a=/*pl-m;

b=*pl+*p2+6;

printf("%d",a);

printf(n%d\n",b);

)

编译时编译器提示错误信息,你认为出错的语句是一

A、a=/*pl-m

B、b=*pl+*p2+6

C、k=l,m=8;

D、pl=&k,p2=&m;

【答案】A

【解析】选项A中a=表示方式不正确,未能正确表示出含义。

19、关于数组的定义与初始化,下列哪一项是错误的()

A、intarr[5]={123,4,5};

B、intarr[]={123,4,5};

C、intarr[5]={1,2,3);

D、intarr[5]={1,2,3,4,5,6};

【答案】D

【解析】选项4初始化值大于数组的大小。

20、以下程序的运行结果是

#include"stdio.h"

main()

(

structdate{

intyear;month,day;

}today;

printf(w%d\n",sizeof(structdate));

)

A、6

B、8

C、10

D、12

【答案】A

【解析】在解答本题时应该考虑两个问题:结构体变量的长度及sizeof()求字

节数的运算符。结构体变量的长度是其内部成员总长度之和,本题中,struct

date中包含year,month,day三个整型变量。一个整型变量所占的字节数

为2。

二.填空题(每小题2分,共20分)

1、在c语言中,假使x为基本整型变量,如果我们采用printf("格式控制)x)格式

输出x,那么"格式控制"具体表示为“_二

【答案】%d

2、数字。的ascii码值为多少()

【答案】48

3、inta,b;与a*=5-b;等价的赋值语句是_______。

【答案】a=a*(5-b);

4、已知t=5,则表达式“t・=t+=3"的值是_____。

【答案】0

5、执行下列的程序段后正确的结果是___________o

inti=5;

while(i=l)i-;

printf("%d",i);

【答案】无限循环#死循环

6、以下程序的输出结果是_______o

main()

(

intx;

M

printf(%d\n"/(x=2*4,x+5));

)

【答案】13

7、源程序的基本单位是【】。

【答案】函数

8、在C语言中,以____作为字符串结束标志。

【答案】'\0‘

9、当运行以下程序时输入abed,程序的输出结果是:。insert(charstr

[])

(

inti;

i=strlen(str);

while(i>0)

(

str[2*i]=str[i];

str[2*i-l]

printf(w%s\n",str);

)

main()

(

charstr[40];

scanf(”%s”,str);

insert(str);

)

【答案】「a*b*c*d*1

10、有以下程序

#include<stdio.h>

main(){

inti,n[]={0,0,0,0,0);

for(i=l;i<=4;i++)

(

n[i]=n[i-l]*3+1;

printf("%d",n[i]);

)

)

程序运行后的输出结果是

【答案】口413401]

三、编程题(每小题分,共40分)

1、编写程序:求0—7所能组成的奇数个数。

比如:

1位数为奇数的个数4

2位数为奇数的个数28

3位数为奇数的个数224

……(本题10分)

【答案】#include<stdio.h>

intmain(intagrc,char*agrv[])

(

longsum=4,s=4;//sum的初始值为4表示,只有一位数字组成的奇

数个数为4个

intj;

for(j=2;j<=8;j++)

{

printf("%d位数为奇数的个数%ld\n”,j-1,s);

if(j<=2)

s*=7;

else

s*=8;

sum+=s;

)

printf(M%d位数为奇数的个数%ld\n”,j-1,s);

printf("奇数的总个数为:%ld\n",sum);

//system("pause");

return0;

)

2、任意输一行字符串(包括空格),求其长度(不用strlen函数1(本题

14分)

【答案】#include<stdio.h>

intmain()

(

inti,n=0;

chars[80];

gets(s);

for(i=0;s[i]!='\0,;i++){}

printf("%d"J);

)

3、编程序建立一个带有头结点的单向链表,链表结点中的数据通过键盘输入当

输入数据为-1时表示输入结束,使用结构体实现。(本题16分)

【答案】#include<stdlib.h>

#include<st

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论