2. 阅读下列程序,写出其运行时的输出结果如果程序运行时会出现错误,请简要描述错误 1.请在以下两题中任选一题,该题得分即为本小题得分。如两
3. 阅读下列程序及说明和注释信息,在方框中填写适当的程序段,使程序完成指定的功 能 程序功能说明:从键盘读入两个分别按由小到大次序排列的整数序列,
C语言程序设计题型分值分布如下:
1. 单选题总共40道,每道题一分,其中基础知识共10道,总计40分;
2. 程序填空题一般2到4道,看难度给分,总计18分;
3. 程序改错题一般2到4道,看难度给分,总计18分;
4. 程序设计题1道,根据答出步骤给分,答出越多分越高直至满分,总计24分。
拓展知识(考试内容):
1. C语言程序结构
明白如何运用main函数以及其他基础函数,会构建程序。知道源文件的书写格式,能看懂函数开始或结束的标志,能对基础程序注释且明白其作用。
2. 数据类型与运算
了解C的数据类型与定义方法,熟知C表达式类型且会基本运用。知道C运算符的种类与优先级,懂得数据类型之间如何转换运算。
3. 基础语句
懂得表达式语句、复合语句以及空语句,会调用输入输出函数,能根据要求正确写出输入输出格式的语句。
4. 选择结构语句
熟练掌握if语句以及switch语句的用法,懂得选择结构如何进行嵌套。
5. 循环结构语句
熟练掌握for语句、while或do-while语句、continue语句及break语句的使用方式,了解如何嵌套循环结构语句。
6. 数组的定义与运用
会对基本的一维、二维数组定义,能初始化数组并会引用,掌握字符串与数组的运用。
7. 函数
能对库中的函数进行基本调用,且熟知常用函数的作用及写法。知道函数的定义方法、类型与返回值,了解形参与实参的概念以及局部变量与全局变量的区别。
8. 指针
了解地址与指针变量的概念,会基本运用指针,通过指针引用各类数据。
9. 结构与联合
了解typedef的用法,会对结构体以及共同体进行定义与引用,可以通过链表对数据进行删除、插入以及输出。
一.选择题
(共15题,
每题2分,共30分)
1.
定义结构体的关键字是(
)
A.
union
B.
enum
C.struct
D.typedef
2.
设整型变量a为5,使b不为2的表达式是(
)
A.
b=a/2
B.
b=6-(--a)
C.
b=a%2
D.
b=a>3?2:1
3.
下面哪一项是不正确的字符串赋值或赋初值的方法(
)
A.
char
*str
str=
“china”
B.
char
str[7]=
{‘c’,
‘h’,
‘i’,
‘n’,
‘a’}
C.
char
str1[]=
“china”,str2[]=“123”
D.
char
str1[10]
str1=
“china”
4.
以下对二维数组a进行正确初始化的是(
)
A.
int
a[2][3]={{1,2},{3,4},{5,6}}
B.
int
a[
][3]={1,2,3,4,5,6}
C.
int
a[2][
]={1,2,3,4,5,6}
D.
int
a[2][
]={{1,2},{3,4}}
5.
选出下列标识符中不是合法的标识符的是(
)
A.
hot_do
B.
cat1
C.
_pri
D.
2ab
6.
以下说法中正确的是(
)
A.
C语言程序总是从第一个的函数开始执行
B.
在C语言程序中,要调用的函数必须在main()函数中定义
C.
C语言程序总是从main()函数开始执行
D.
C语言程序中的main()函数必须放在程序的开始部分
7.
若已定义:int
a[9],
*p=a并在以后的语句中未改变p的值,不能表示a[1]地址的表达式为(
)
A.
p+1
B.
a+1
C.
a++
D.
++p
8.
若有说明:
int
i,j=7,
*p=&i,
则与i=j
等价的语句是(
)
A.
i=
*p
B.
*p=*&j
C.
i=&j
D.
i=*
*p
9.
若变量c为char类型,能正确判断出c为小写字母的表达式是(
)
A.
‘a’<=c<=
‘z’
B.
(c>=
‘a’)
||
(c<=
‘z’)
C.
(‘a’<=c)
and
(‘z’>=c)
D.
(c>=
‘a’)
&&
(c<=
‘z’)
10.
以下程序的输出结果是(
)
main()
{
int
a[]={1,2,3,4,5,6,7,8,9},
*p
p=a
*(p+3)+=2
printf(
“%d,%d\n”,*p,*(p+3)
)
}
A.
0,
5
B.
1,
6
C.
1,
5
D.
0,
6
11.
以下程序的输出结果是(
)
main()
{
int
a=5
float
x=3.14
a*=x*(‘E’-
‘A’)
printf(“%f\n”,(float)a)
}
A.
62.000000
B.
62.800000
C.
63.000000
D.
62
12.
以下程序的输出结果是(
)
#define
f(x)
x*x
main()
{
int
a=6,b=2,c
c=f(a)/f(b)
printf(“%d\n”,c)
}
A.
9
B.
6
C.
36
D.
18
13.
定义如下变量和数组:int
i
int
x[3][3]={1,2,3,4,5,6,7,8,9}
则语句for(i=0i<3i++)
printf("%d
",x[i][2-i])
的输出结果是(
)
A.
1
5
9
B.
1
4
7
C.
3
5
7
D.
3
6
9
14.
下列程序段的输出结果是
(
)
void
main(
)
{
int
k
for
(k=1k<5k++)
{
if(k%2!=0)
printf(
“#”
)
else
printf(“*”)
}
}
A.
#*#*
B
.
*#*#
C.
##
D.
**
15.
下列程序执行后输出的结果是(
)
int
d=1
fun
(int
p)
{
int
d=5
d
+
=p
+
+
printf("%d,",d)
}
main(
)
{
int
a=3
fun(a)
d
+
=
a
+
+
printf("%d\n",d)
}
A.
8,
4
B.
9,
6
C.
9,
4
D.
8,
5
二.
填空题(共7题,每空2分,共30分)
1.
数组
int
a[3][5]
共定义了_______________个元素。
2.
有float
f=3.1415927
则
printf(“%5.4f”,
f
)输出的结果是_______________。
3.
下面程序的功能是:输出
100以内(不包含100)能被
3整除且个位数为
6的所有整数,请填空。
main(
)
{
int
i
for(i=1
_______________
i++)
if
(_______________)
printf("%d",
i);
}
4.
设有“int
x=2,
y”说明,则逗号表达式“y=x+5,x+y”的值是
_______________
5.
以下是使用指针,进行字符串复制的程序,请填空。
main()
{
char
a[]=
“Tsinghua
University”,
b[30],
*p1,*p2
p1=a
p2=b
for(
*p1!=
‘_______________’
p1++,
p2++)
_______________=_______________
*p2=
‘_______________’
printf(“string
a
is:%s\n”,a)
printf(“string
b
is:%s\n”,b)
}
6.
下面程序用冒泡法对数组a进行降序排序,请填空。
main()
{
int
a[5]={4,7,2,5,1}
int
i,j,m
for(i=0i<4i++)
for(j=0j<_______________j++)
if(
_______________<
_______________
)
{
m=a[
j]
a[
j]=a[
j+1]
a[
j+1]=
m
}
for(i=0i<5i++)
printf("%d
",a[i])
}
7.
函数fun的功能是:使一个字符串按逆序存放,请填空。
void
fun
(char
str[])
{
char
m
int
i,j
for(i=0,j=strlen(str)i<_______________i++,j--)
{
m=str[i]
str[i]=
_______________
str[j-1]=m
}
printf("the
rotated
string
is
%s\n",_______________)
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)