浙大版c语言程序设计(北京外国语大学程序设计基础)
一、单选题(每题2分,共60分),我来为大家科普一下关于浙大版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