2021年秋季学期C语言程序设计期末综合试卷-18
总分:100 分
单选题多选题判断题
一、单选题 (共15题,共30分)
得分:28分
1、
假定一个链表中结点的结构类型为“struct AA{int data, struct AA *next;};”,则next数据成员的类型为( )。
A :
AA*
B :
struct AA
C :
int
D :
struct AA*
得分:2分
本题分值:2分
您的答案: D
2、
一个指针类型的简单变量占用内存中的字节数为( )。
A :
8
B :
2
C :
4
D :
16
得分:2分
本题分值:2分
您的答案: C
3、
在一个数组中,数组元素a[i]前面的元素个数为( )。
A :
2*i
B :
i+1
C :
i-1
D :
i
得分:2分
本题分值:2分
您的答案: D
4、
正弦函数sin48在C语言的表示为( )。
A :
sin(48/180.0)
B :
sin(48)
C :
sin(48*3.14159)
D :
sin(48*3.14159/180)
得分:0分
本题分值:2分
您的答案: B
5、
假定一个函数原型为“void ff(int a[],int n)”,则对应的函数指针类型为( )。
A :
*ff(int[],int)
B :
int (*ff)(int*a,int)
C :
void (*ff)(int*a,int)
D :
void *ff(int*a,int)
得分:2分
本题分值:2分
您的答案: C
6、
设有语句序列为“int a=12; a+=a*a;”,则执行结束后,a的值为( )。
A :
12
B :
144
C :
156
D :
288
得分:2分
本题分值:2分
7、
假定一个链表的表头指针为f,结点中包含有data和next域,则向该链表的表头插入一个地址为p的结点时,应执行的操作为( )。
A :
p->next=f和f=p
B :
f->next=p和f=p
C :
p->next=f
D :
f=p->next
得分:2分
本题分值:2分
8、
若要把一个整型指针p转换为字符指针,则采用的强制转换表达式为( )。
A :
(char*)p
B :
(int)*p
C :
(int*)p
D :
(char)p
得分:2分
本题分值:2分
9、
假定x是一个逻辑量,则(x && !x)和(x || !x)的值分别为( )。
A :
1和1
B :
0和0
C :
0和1
D :
1和0
得分:2分
本题分值:2分
10、
对于一个长度为n的字符串,保存它至少需要占用的存储字节数为( )。
A :
n
B :
n+2
C :
n+1
D :
n-1
得分:2分
本题分值:2分
11、
在下面的选项中,不能作为函数值返回类型的是( )。
A :
new
B :
void
C :
long
D :
int
得分:2分
本题分值:2分
12、
假定有定义为“int a[4][5]={{1,3,5},{2,8}};”,则a[1][1]的值为( )。
A :
5
B :
2
C :
3
D :
8
得分:2分
本题分值:2分
13、
若用数组名作为函数调用的实参,传递给形参的是( )。
A :
数组的首地址
B :
数组中第一个元素的值
C :
数组元素的个数
D :
数组中全部元素的值
得分:2分
本题分值:2分
14、
利用动态存储分配创建具有10个字节的一维数组空间的正确语句是( )。
A :
char *p=calloc(10);
B :
char *p=malloc(10,1);
C :
char *p=calloc(5,4);
D :
char *p=malloc(10);
得分:2分
本题分值:2分
15、
设x和y均为逻辑值,则x || y为假的条件是( )。
A :
其中一个为真
B :
它们均为真
C :
它们均为假
D :
其中一个为假
得分:2分
本题分值:2分
二、多选题 (共10题,共40分)
得分:40分
1、
以下叙述中正确的是().
A :
一个C源程序可由一个或多个函数组成
B :
一个C源程序必须包含一个main()函数
C :
C源程序的基本组成单位是函数
D :
在C源程序中,注释说明只能位于一条语句的最后
得分:4分
本题分值:4分
2、
下面哪些写法是对的,而且是常量?( )
A :
125
B :
2.5E+21
C :
AB’
D :
‘123
得分:4分
本题分值:4分
3、
指出下面错误的表达式______
A :
a=5,b=6,c=7
B :
i=i++
C :
5.6+6.2%3.1
D :
56=a11
得分:4分
本题分值:4分
4、
下面哪些是合法的用户定义的标识符( )。
A :
_908
B :
*par
C :
sheep!
D :
wind
得分:4分
本题分值:4分
5、
给定:int a,b;scanf(“%d %d”, &a, &b);则以下哪些输入方式是正确的?( )。
A :
1 2
B :
1,2
C :
1(回车)2
D :
1、2
得分:4分
本题分值:4分
6、
在缓冲文件系统中用于读写的函数有( )。
A :
putchar()
B :
fread()
C :
rewind()
D :
purw()
得分:4分
本题分值:4分
7、
指出下面哪些是合法的用户定义的标识符______
A :
P-S
B :
_908
C :
wind
D :
x y
得分:4分
本题分值:4分
8、
程序的结构可分为哪几类( )。
A :
顺序结构
B :
循环结构
C :
程序结构
D :
选择结构
得分:4分
本题分值:4分
9、
设int a=3,b=4,c=5;,则下面的表达式中,值为0的表达式是( )。
A :
a>b
B :
a<=b
C :
(a||b)>c
D :
a<=(b||c)
得分:4分
本题分值:4分
10、
以下哪些是有效的变量名?( )。
A :
main
B :
4ever
C :
monkey-king
D :
__int
得分:4分
本题分值:4分
三、判断题 (共15题,共30分)
得分:30分
1、
在执行“printf(“s=%s”,”abc”);”语句时,输出结果为s=abc。
A
:
对
B
:
错
得分:2分
本题分值:2分
2、
增量表达式++y表示成赋值表达式为y=y+1。
A
:
对
B
:
错
得分:2分
本题分值:2分
3、
在“printf(“s=%c”,”abc”);”语句中,格式符的使用同后面的输出数据相适合。
A
:
对
B
:
错
得分:2分
本题分值:2分
4、
在C语言中,在定义一个字符数组时,不能利用一个字符串进行初始化。
A
:
对
B
:
错
得分:2分
本题分值:2分
5、
在二维数组的定义语句中,数组名后带有两对中括号。
A
:
对
B
:
错
得分:2分
本题分值:2分
6、
do-while循环语句中的循环体可能不会被执行。
A
:
对
B
:
错
得分:2分
本题分值:2分
7、
while循环语句中的循环体可能不会被执行。
A
:
对
B
:
错
得分:2分
本题分值:2分
8、
在语句“typedef int* inPointer;”中,把标识符inPointer定义为int*类型。
A
:
对
B
:
错
得分:2分
本题分值:2分
9、
在函数体中定义一个变量时,若不选用任何存储属性关键字进行标识,则它为静态变量。
A
:
对
B
:
错
得分:2分
本题分值:2分
10、
表达式(int)14.6%5的值为0。
A
:
对
B
:
错
得分:2分
本题分值:2分
11、
假定二维数组的定义语句为“double a[M][N];”,则每个数组元素的列下标取值范围在1~N之间。
A
:
对
B
:
错
得分:2分
本题分值:2分
12、
使用#include命令只能包含头文件,不能包含其他任何文件。
A
:
对
B
:
错
得分:2分
本题分值:2分
13、
假定a是一个二维数组,则表达式*(a[j]+i)所对应的元素为a[i][j]。
A
:
对
B
:
错
得分:2分
本题分值:2分
14、
在“scanf(“%d %d”,&x,&y);”语句中,x和y变量均为整数类型。
A
:
对
B
:
错
得分:2分
本题分值:2分
15、
假定a是一个二维数组,则数组名a的值和a[0]的值相等。
A
:
对
B
:
错
得分:2分
本题分值:2分