浙大版c语言程序设计(北京外国语大学程序设计基础)

一、单选题(每题2分,共60分),我来为大家科普一下关于浙大版c语言程序设计?下面希望有你要的答案,我们一起来看看吧!

浙大版c语言程序设计(北京外国语大学程序设计基础)

浙大版c语言程序设计

一、单选题(每题2分,共60分)

1. 一个C程序由若干个C函数组成,各个函数在文件中的位置顺序为( )。

A、任意

B、第一个函数必须是主函数,其他函数任意

C、必须完全按照执行的顺序排列

D、其他函数可以任意,主函数必须在最后

2. 求解一个问题而采用的方法和解题步骤称为( )。

A、数据结构 B、程序 C、算法 D、伪代码

3. 当顺利执行了文件关闭操作时,fclose函数的返回值是( )。

A、-1 B、TRUE C、0 D、1

4. 若有语句:w=1,x=2,y=3,z=4;,则条件表达式w<x?w:y<z?y:z的值是( )。

A、1 B、2 C、3 D、4

5. 对for(表达式1;;表达式3),可理解为( )。

A、for(表达式1;0;表达式3) B、for(表达式1;1;表达式3)

C、语法错误 D、仅执行循环一次

6. 以下条件表达式中能完全等价于条件表达式x的是( )。

A、(x==0) B、(x!=0) C、(x==1) D、(x!=1)

7. C语言中,文件组成的基本单位为( )。

A、记录 B、数据行 C、数据块 D、字符序列

8. 下面合法的C语言字符常量是( )。

A、'\t' B、”A” C、65 D、A

9. 下列四组选项中,正确的C语言标识符是( )。

A、%x B、a b C、a123 D、123

10. 以下说法中不正确的是( )。

A、C语言是面向对象语言 B、C语言是模块化语言

C、C语言是高级语言中的低级语言 D、C语言具有结构化的控制语句

11. 以下选项中不能作为 C 语言合法常量的是( )。

A、'cd' B、100000 C、”\a” D、'\011'

12. 有以下程序段

int k=0;

while(k=1) k ;

while循环执行的次数是( )。

A、无限次 B、1次

C、语法错误,不能执行 D、一次也不执行

13. C源程序中不能表示的数制是( )。

A、二进制 B、八进制 C、十进制 D、十六进制

14. C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符( )。

A、必须为字母 B、必须为下划线

C、必须为字母或下划线 D、可以是字母,数字和下划线中任一字符

15. 表达式:(int)((double)9/2)-(9)%2的值是( )。

A、0 B、3 C、4 D、5

16. 已定义 int a[][3]={1,2,3,4,5,6,7,8,9};,则a[1][2]为( )。

A、2 B、4 C、6 D、8

17. 若有以下语句

typedef struct S

{int g ; char h;} T;

以下叙述中正确的是 ( )。

A、可用S 定义结构体变量 B、可用T 定义结构体变量

C、S 是struct 类型的变量 D、T 是struct S 类型的变量

18. 在C语言中,函数返回值的类型最终取决于( )。

A、函数定义时在函数首部所说明的函数类型

B、return语句中表达式值的类型

C、调用函数时主函数所传递的实参类型

D、函数定义时形参的类型

19. 以下正确的函数首部是( )。

A、void fun(int x,int y)

B、void fun(int x;int y)

C、void fun(int x,y)

D、void fun(x,y)

20. 设有以下说明语句:

typedef struct

{

int n;

char ch[8];

} PER;

则下面叙述中正确的是( )。

A、PER 是结构体变量名

B、PER是结构体类型名

C、typedef struct 是结构体类型

D、struct 是结构体类型名

21. 当用户要求输入的字符串中含有空格时,应使用的输入函数是( )。

A、scanf() B、getchar()

C、gets() D、getc()

22. 以下关于函数的叙述中正确的是( )。

A、每个函数都可以被其它函数调用(包括main函数)。

B、每个函数都可以被单独编译。

C、每个函数都可以单独运行。

D、有返回值的函数调用时必须使用在赋值中。

23. 若有以下说明和定义

union dt

{int a; char b; double c;} data;

以下叙述中错误的是( )。

A、data的每个成员起始地址都相同

B、变量data所占内存字节数与成员c所占字节数相等

C、程序段: data.a=5;printf("%f\n",data.c); 输出结果为5.000000

D、data可以作为函数的实参

24. 若有说明:inta[3][4];,则对a数组元素的正确引用是( )。

A、a[2][4] B、a[1,3]

C、a[1 1][0] D、a(2)(1)

25. 下面的函数调用语句中 func 函数的实参个数是( )。

func (f2(v1, v2), (v3, v4, v5), (v6, max(v7, v8)));

A、3 B、4 C、5 D、8

26. 若有定义:int *p[3];,则以下叙述中正确的是( )。

A、定义了一个类型为int的指针变量p,该变量具有三个指针

B、定义了一个指针数组p,该数组含有三个元素,每个元素都是其类型为int的指针

C、定义了一个名为*p的整型数组,该数组含有三个int类型元素

D、定义了一个可指向一维数组的指针变量p,所指一维数组应具有三个int类型元素

27. 若有定义:int w[3][5]; ,则以下不能正确表示该数组元素的表达式是( )。

A、*(*w 3) B、*(w 1)[4]

C、*(*(w 1)) D、*(&w[0][0] 1)

28. 有以下函数

int aaa(char *s)

{

char *t=s;

while(*t );

t - -;

return(t-s);

}

以下关于aaa函数的功能叙述正确的是 ( )。

A、求字符串s的长度 B、比较两个串的大小

C、将串s复制到串t D、求字符串s所占字节数

29. 程序段char *s="abcde"; s =2; printf("%d",s);的运行结果是( )。

A、cde B、字符'c'

C、字符'c'的地址

D、无确定的输出结果

30. 变量的指针,其含义是指该变量的( )。

A、值 B、地址 C、名 D、以上都是

二、是非题(每题1分,共10分)

1. 为简单起见,for循环中的初始表达式和分号均可省略。( )

2. C语言中的字符常量可以像整数一样在程序中参与运算。( )

3. C语言中,不能识别处理文本文件。( )

4. 指针变量的类型是它所指向的变量的类型。( )

5. 有参的宏,其参数参与运算,宏替换要先完成参数的计算,然后再执行替换。( )

6. 已有定于语句:int x=3,y=-4,z=5;,则表达式(x&&y)==(x||z)的值是1。( )

7. 一个好的算法是一个好的程序的必要组成部分。( )

8. 使用Turbo C编写并运行C程序的过程依次是编辑、连接、编译、运行。( )

9. break语句必须与switch语句中的case配对使用。( )

10. 在C程序中,数据只能用二进制的形式进行存放。( )

三、问答题(每题10分,共30分)

1. 请写出实现选择结构的三种语句。写出关键字,表达式和语句用“表达式”和“语句i”(i=1,2,…)。

2. 对文件的操作过程及相应的文件操作函数为:

第一步: ,相应的函数为 。并说明r: w: a: rb: wb: ab:的含义。

第二步: ,相应的函数为 。

第三步: ,相应的函数为 。

3. 以下程序片段使某输入的两个整数有序输出。根据此原理叙述并写出实现如下功能的程序:输入一个字符串,使有序(增序)输出。

scanf(“%d%d”,&a,&b);

if(a>b)

{

c=a;

a=b;

b=a;

}

printf(“%d<%d”, a, b);

答案

一、单选题(每题2分,共60分)

1

2

3

4

5

6

7

8

9

10

A

C

C

A

B

B

D

A

C

A

11

12

13

14

15

16

17

18

19

20

A

A

A

C

B

C

B

A

A

B

21

22

23

24

25

26

27

28

29

30

C

B

D

C

A

B

B

A

D

B

二、是非题(每题1分,共10分)

1

2

3

4

5

6

7

8

9

10

F

T

F

T

F

T

T

F

F

F

三、问答题(每题10分,共30分)

1. 请写出实现选择结构的三种语句。写出关键字,表达式和语句用“表达式”和“语句i”(i=1,2,…)。

答案:

单分支if选择结构,一般格式为:

if ( 表达式 )

{ 语句;}(2分)

双分支if-else选择结构,一般格式为:

if ( 表达式 )

{ 语句1;}

else

{ 语句2;}(3分)

多分支 switch选择结构,一般格式为:

switch( 表达式 )

{

case 常量表达式1: [语句序列1;] [break;]

case 常量表达式2: [语句序列2;] [break;]

……

case 常量表达式n: [语句序列n;] [break;]

default: 语句序列n 1;

}(5分)

2. 对文件的操作过程及相应的文件操作函数为:

第一步: ,相应的函数为 。并说明r: w: a: rb: wb: ab:的含义。

第二步: ,相应的函数为 。

第三步: ,相应的函数为 。

答案:

对文件的操作过程及相应的文件操作函数为:

第一步:打开文件 ,相应的函数为 fopen() 。(1分)

r:打开一个文本文件只读 (1分)

w:打开一个文本文件只写 (1分)

a:对一个文本文件添加 (1分)

rb:打开一个二进制文件只读 (1分)

wb:打开一个二进制文件只写 (1分)

ab:对一个二进制文件添加 (1分)

第二步:读写文件,相应的函数为 fputc()/fgetc()等。(2分)

第三步:关闭文件,相应的函数为 fclose() 。(1分)

3. 以下程序片段使某输入的两个整数有序输出。根据此原理叙述并写出实现如下功能的程序:输入一个字符串,使有序(增序)输出。

scanf(“%d%d”,&a,&b);

if(a>b)

{

c=a;

a=b;

b=a;

}

printf(“%d<%d”, a, b);

答案:

输入一个字符串,通过内外循环比较每个字符和其以后字符的大小,如果后面的字符大于当前字符,调序即可。

gets(s); (1分)

for(i=0;s[i]!='\0';i ) (2分)

{

for(j=1 i;s[j]!='\0';j ) (2分)

{

if(s[i]>s[j]) (2分)

{

n=s[j]; (1分)

s[j]=s[i]; (1分)

s[i]=n; (1分)

}

}

}

puts(s);

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页