贵州医科大学计算机C语言专升本

本试卷为贵州医科大学计算机C语言专升本,题目包括:单项选择题,判断题,编程题。

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

计算机C语言专升本

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

(  C  )
1、有以下程序:
main()
{
char s[]="rstuv";
printf("%c\n",*s+2);
}
程序运行后的输出结果是________。
A、tuv
B、字符t的ASCIl码值
C、t
D、出错
(  C  )
2、设有以下说明语句:
typedef struct stu
{
int a;
float b;
} stutype;
则下面叙述中错误的是________。
A、struct是结构类型的关键字
B、struct stu是用户定义的结构类型
C、a和b都是结构成员名
D、stutype是用户定义的结构体变量名
(  A  )
3、下列数据中属于"字符串常量"的是________。
A、“a”
B、{
ABC}
C、‘abc\0’
D、‘a’
(  B  )
4、以下能对二维数组a进行正确初始化的语句是________。
A、int a[2][]={{(1,0,1},{5,2,3}};
B、int a[][3]={{1,2,3},{ 4,5,6}};
C、int a[2][4]={{ 1,2,3},{ 4,5},{6}};
D、int a[][3]={{1,0,1},{},{1,1}};
(  C  )
5、若在某函数内部有定义:int a[3][4]; 则数组a中各元素________。
A、可在程序的运行阶段得到初值0
B、可在程序的编译阶段得到初值0
C、不能得到确定的初值
D、可在程序的编译或运行阶段得到初值0
(  A  )
6、执行完语句int [] x= new int [25]; 后,则下列哪项说法是正确的
A、x[24]值为0
B、x[24]值未定义
C、x[25]值为0
D、x[0]值为空
(  C  )
7、设
struct data
{
int a;
float b;
} c,*p=&c;
,引用正确的是________。
A、*p.a
B、p.b
C、p->a
D、*p->b
(  D  )
8、对于存储同样一组数据元素而言,________。
A、顺序结构比链接结构多占存储空间
B、顺序结构与链接结构相比,更有利于对元素的插入、删除运算
C、顺序结构比链接结构易于扩充空间
D、顺序结构占用整块空间而链接结构不要求整块空间
(  A  )
9、对于一个正常运行的c程序,以下叙述中正确的是________。
A、程序的执行总是从main函数开始,在main函数结束
B、程序的执行总是从程序的第一个函数开始,在main函数结束
C、程序的执行总是从main函数开始,在程序的最后一个函数中结束
D、程序的执行总是从程序中的第一个函数开始,在程序的最后一个函数中结束
(  D  )
10、下列描述中,正确的一条是______。
A、关系表达式的值是一个逻辑值,即“真”或“假”,可以赋给一个逻辑变量
B、在C语言中,判断一个量是否为:真”时,以0代表“假”,以1代表“真”.
C、设a=3、b=4、c=5,则表达式!(x=&&(y=&&0的值为0
D、一个数组的各个数组元素可属于不同的数据类型
(  A  )
11、下列关于continue和break的描述正确的是________。
A、continue只能用于循环体中
B、break只能用于循环体中
C、continue只是一个语句标记
D、break只能用于switch语句块中
(  C  )
12、以下选项中正确的定义语句是______。
A、double a;b;
B、doubla=b=7;
C、double a=7,b=7;
D、double,a,b;
(  B  )
13、下列类型的数据不可以存储在可变型变量中的是________。
A、整型
B、字节型
C、单精度型
D、日期型
(  C  )
14、有以下程序
main( )
{
int a=7,b=8,*p,*q,*r;
p=&a;
q=&b;
r=p;
p=q;
q=r;
printf("%d,%d,%d,%d\n",*p,*q,a,b);
}
程序运行后的输出结果是________。
A、8,7,8,7
B、7,8,7,8
C、8,7,7,8
D、7,8,8,7
(  D  )
15、下列关于表达式的描述中,错误的是________。
A、常量和变量都是表达式
B、运算符类型对应表达式的类型
C、每一个表达式都有自己的值
D、表达式必须以分号结尾
(  D  )
16、以下说法错误的是________。
A、计算机算法具有有穷性;确定性;0或多个输入;一个或者多个输出;有效性
B、结构化设计采用自顶向下;逐步细化;模块化设计;结构化编码。
C、算法是解决问题的方法和步骤。
D、只有流程图和NS图能描述算法,伪码则不行。
(  D  )
17、c语言表达式( )的值不等于1。
A、123/100
B、901%10
C、76%3
D、625%5
(  D  )
18、以下叙述中正确的是________。
A、逻辑"或”(即运算符||)的运算级别比算术运算要高
B、C 语言的关系表达式:0<x<10 完全等价于:(0<x)&&(x<10)
C、逻辑"非”(即运算符!)的运算级别是最低的
D、由&&构成的逻辑表达式与由||构成的逻辑表达式都有“短路”现象
(  C  )
19、位字段数据的单位是_______位。
A、十六进制
B、八进制
C、二进制
D、十进制
(  C  )
20、下面程序段。x=3;
do
{
y=x--;
if(!y)
{
printf("*");
continue;
}
printf("#");
}
while(1<=x<=2);
A、将输出##
B、将输出###*
C、是死循环
D、含有不合法的控制表达式

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

(   T  )
1、定义变量或函数时,当数据的存储类别缺省时,其存储类别为auto。 
(   T  )
2、非静态全局变量的作用域可以扩展到构成该程序的其他源程序文件中。 
(   T  )
3、在switch语句中,可以根据需要使用或不使用break语句。 
(   T  )
4、while语句和do - while语句的一般形式分别如下,其主要区别是:while 语句先判断循环条件,只有条件满足才进入循环,如果一开始条件就不满足,则循环一次都不执行。而do - while语句先执行循环体,后判断循环条件,所以无论循环条件的值如何,至少会执行一次循环体。 
(   F  )
5、递归调用函数可以没有终止递归的条件。 
(   T  )
6、在if和else后面可以只含有一个内嵌的操作语句,也可以含有多个操作语句,此时应用花括号"{}"将几个语句括起来,构成一个复合语句。 
(   F  )
7、用puts和gets函数可以输入或输出多个字符串。 
(   F  )
8、若有定义: int a;则scanf(" %d", a);可以给变量a 赋值。 
(   F  )
9、在定义二维数组时,可以将该数组的两个维数全部省略 
(   F  )
10、函数的形参可以是常量,变量或表达式 

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

1、编写程序:求元素个数为10的一维数组元素中的最大值和最小值。
2、编写程序:创建一个长度为n的链表,然后反向输出该链表。
3、用空格或换行分开的字符串称为单词。输入多行字符串,直到遇到了单词 "stop" 时才停止。最后输出单词的数量。用于分割单词的空格或换行可能多于1个。单词数量不包括"stop" 。