浙江中医药大学计算机C语言

本试卷为浙江中医药大学计算机C语言,题目包括:单项选择题,判断题,编程题。

覆盖的内容包括:理论题,基础知识,控制结构,循环结构,指针,数组/指针数组,字符串/字符串指针,函数/函数指针,程序题,结构体,文件。

计算机C语言

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

(  B  )
1、为了避免在嵌套的条件语句if else中产生二义性,c语言规定,else子句总是与( )配对。
A、缩排位置相同if
B、其前面最近的if
C、其后面最近的if
D、同一行上的if
(  A  )
2、有以下函数: char fun(char*p)
{
return p;
}
该函数的返回值是________。
A、无确功的值
B、形参P中存放的地址值
C、一个临时存储单元的地址
D、形参P自身的地址值
(  D  )
3、有数组:char a[ ]="this is an egg"; 。请问该数组到底占了几个字节?
A、11
B、12
C、14
D、15
(  D  )
4、c语言源程序的最小单位是________。
A、程序行
B、语句
C、函数
D、字符
(  C  )
5、若有以下定义和语句,且 0 ≤ i<10 则对数组元素的错误引用是______。 int a[10]= { 1,2,3,4,5,6,7,8,9,10 },*p,i; p=a;
A、*(a+i)
B、a[p-a]
C、p+i
D、*(&a[i])
(  D  )
6、下面程序段的运行结果是 _____________.
for(i=1;i<=5;)
printf("%d",i);
i++;
A、12345
B、1234
C、15
D、无限循环
(  C  )
7、给出以下定义 : char x[ ]="abcdefg"; char y[ ]={'a','b','c','d','e','f','g'}; 则正确的叙述为 __________.
A、数组 x 和数组 y 等价
B、数组 x 和数组 y 的长度相同
C、数组 x 的长度大于数组 y 的长度
D、数组 x 的长度小于数组 y 的长度
(  B  )
8、以下定义语句中,错误的是 __________.
A、int a[]={1,2};
B、char a={"test"};
C、char s[10]={"test"};
D、int a[]={'a','b','c'};
(  A  )
9、在c程序中,判断逻辑值时,分别用( )表示逻辑值"真"、"假"。
A、非0 0
B、0 1
C、非0非0
D、1 1
(  A  )
10、下列运算符中,不属于关系运算符的是______。
A、+=
B、!=
C、<=
D、==
(  C  )
11、以下叙述中,不正确的是________。
A、在一个函数中,可以有多条return语句
B、函数的定义不能嵌套,但函数的调用可以嵌套
C、函数必须有返回值
D、不同的函数中可以使用相同名字的变量
(  C  )
12、在下列叙述中,正确的一条是______。
A、if(表达式)语句中,表达式的类型只限于逻辑表达式
B、语句“goto 12;”是合法的
C、for(;;)语句相当于while(1)语句
D、break语句可用于程序的任何地方,以终止程序的执行
(  B  )
13、下列类型的数据不可以存储在可变型变量中的是________。
A、整型
B、字节型
C、单精度型
D、日期型
(  D  )
14、以下程序的输出结果是________。
void main() float a: a=1/100000000;
printf("%g",a);
A、0.00000e+00
B、0.0
C、1.00000e-07
D、0
(  C  )
15、以下四个程序中,完全正确的是______。
A、#include <stdio.h>
main(); {/*programming*/ printf("programming!\n");}
B、#include<stdio.h>
main()
{/*/programming/*//printf("programming!\n");}
C、#include <stdio.h>
main()
{/*programming*/printf("programming!\n");}
D、include<stdio.h>
main()
{/*/*programming*/*/printf("programming!\n");}
(  D  )
16、设有以下语句
typedef struct tt
{
char c;
int a[4];
}
cin;
则下面叙述中正确的是______。
A、可以用TT定义结构体变量
B、TT是struct类型的变量
C、可以用CIN定义结构体变量
D、CIN是struct TT类型的变量
(  C  )
17、下列关于共用体类型变量的描述中,正确的是________。
A、可以对共用体变量直接赋值
B、一个共用体变量可以同时存放其所有的成员
C、一个共用体变量中不可以同时存放其所有的成员
D、共用体类型定义中,不能出现结构体类型的成员
(  C  )
18、下列定义不正确的是________。
A、#define PI 3.141592
B、#define S 345
C、int max(x,y); int x,y; { }
D、static char c;
(  B  )
19、c 语言中局部变量的缺省存储类别是________。
A、static
B、auto
C、register
D、extern
(  A  )
20、已知字母a的ascii码为十进制数65,且c2为字符型,则执行语句c2=‘a’+‘6’-‘3’后,c2中的值为________。
A、D
B、68
C、不确定的值
D、C

二、判断题 (共10题,每题2分,共计20分)

(   F  )
1、字符串常量是由一对单引号括起来的字符序列。 
(   F  )
2、对于一个具体的函数来说,实参与形参不必一一对应。 
(   T  )
3、非静态全局变量的作用域可以扩展到构成该程序的其他源程序文件中。 
(   F  )
4、将浮点型数据转换为整型数据时,小数点后的数会进行四舍五入。() 
(   F  )
5、while循环中不能再定义另一个循环。 
(   T  )
6、在定义数组之后,根据数组中元素的类型及个数,在内存中分配一段连续存储单元用于存放数组中的各个元素。 
(   F  )
7、break 可用于循环体中,不可用于 switch 语句中 
(   F  )
8、用strcat(字符串1,字符串2)连接两个字符串函数时,字符串1的存储空间没有限制。 
(   T  )
9、在一个c语言源程序中,main函数的位置可以不位于最开始。 
(   T  )
10、double 型变量在内存中占的字节数比 int 型变量在内存中占的字节数多。 

三、编程题 (共3题,每题0分,共计40分)

1、编写程序:用结构体和函数处理学生成绩,学生信息包括:学号 姓名 3门课成绩 平均分
1)用input函数来输入数据和求各学生的平均成绩
2)用max函数来找平均分最高的学生
3)用print函数输出成绩最高学生的信息
2、从键盘输入圆的半径,计算并输出圆面积与周长,要求结果保留两位小数。
3、整数转字符串。输入一个整数1234,得到字符串: “1234”