2009年3月二级C语言笔试真题
((1)—(10)每小题2分,(11)—(50)每题1分,共60分)
下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)下列叙述中正确的是
A)栈是“先进先出”的线性表B)队列是“先进先出”的线性表C)循环队列是非线性结构D)有序性表既可以采用顺序存储结构,也可以采用链式存储结构(2)支持子程序调用的数据结构是
A)栈 B)树 C)队列 D)二叉树(3)某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是A)10 B)8 C)6 D)4(4)下列排序方法中,最坏情况下比较次数最少的是A)冒泡排序
B)简单选择排序
C)直接插入排序
D)堆排序(5)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下
A)栈是“先进先出”的线性表B)队列是“先进先出”的线性表C)循环队列是非线性结构D)有序性表既可以采用顺序存储结构,也可以采用链式存储结构(2)支持子程序调用的数据结构是
A)栈 B)树 C)队列 D)二叉树(3)某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是A)10 B)8 C)6 D)4(4)下列排序方法中,最坏情况下比较次数最少的是A)冒泡排序
B)简单选择排序
C)直接插入排序
D)堆排序(5)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下
面属于应用软件的是A)编译软件
B)操作系统
C)教务经管系统
D)汇编程序(6)下面叙述中错误的是A)软件测试的目的是发现错误并改正错误B)对被调试的程序进行“错误定位”是程序调试的必要步骤C)程序调试通常也称为DebugD)软件测试应严格执行测试计划,排除测试的随意性(7)耦合性和内聚性是对模块独立性度量的两个规范。下列叙述中正确的是A)提高耦合性降低内聚性有利于提高模块的独立性B)降低耦合性提高内聚性有利于提高模块的独立性C)耦合性是指一个模块内部各个元素间彼此结合的紧密程度D)内聚性是指模块间互相连接的紧密程度(8)数据库应用系统中的核心问题是A)数据库设计
B)数据库系统设计C)数据库维护
D)数据库经管员培训(9)有两个关系R,S如下:R
B)操作系统
C)教务经管系统
D)汇编程序(6)下面叙述中错误的是A)软件测试的目的是发现错误并改正错误B)对被调试的程序进行“错误定位”是程序调试的必要步骤C)程序调试通常也称为DebugD)软件测试应严格执行测试计划,排除测试的随意性(7)耦合性和内聚性是对模块独立性度量的两个规范。下列叙述中正确的是A)提高耦合性降低内聚性有利于提高模块的独立性B)降低耦合性提高内聚性有利于提高模块的独立性C)耦合性是指一个模块内部各个元素间彼此结合的紧密程度D)内聚性是指模块间互相连接的紧密程度(8)数据库应用系统中的核心问题是A)数据库设计
B)数据库系统设计C)数据库维护
D)数据库经管员培训(9)有两个关系R,S如下:R
A | B | C |
a | 3 | 2 |
b | 0 | 1 |
c | 2 | 1 |
S
A | B |
a | 3 |
b | 0 |
c | 2 |
由关系R通过运算得到关系S,则所使用的运算为A)选择 B)投影 C)插入 D)连接(10)将E-R图转换为关系模式时,实体和联系都可以表示为A)属性 B)键 C)关系 D)域
(11)以下选项中合法的标识符是A) 1-1 B)1—1 C)-11 D)1--
(12)若函数中有定义语句:int k;,则A)系统将自动给k赋初值0
B)这时k中值无定义C)系统将自动给k赋初值-1
D)这时k中无任何值(13)以下选项中,能用作数据常量的是A)o115 B) 0118 C)1.5e1.5 D) 115L(14)设有定义:int x=2。 ,以下表达式中,值不为6的是A) x*=x+1
B)这时k中值无定义C)系统将自动给k赋初值-1
D)这时k中无任何值(13)以下选项中,能用作数据常量的是A)o115 B) 0118 C)1.5e1.5 D) 115L(14)设有定义:int x=2。 ,以下表达式中,值不为6的是A) x*=x+1
B) x++,2*x
C)x*=(1+x)
D)2*x,x+=2(15)程序段:int x=12。
double y=3.141593。 printf(“%d%8.6f”,x,y);的输出结果是A)123.141593
B)12
3.141593
C)12,3.141593
D)123.141593(16)若有定义语句:double x,y,*px,*py,执行了px=&x, py=&y。之后,正确的输入语句是
A)scanf(“%f%f”,x,y)。
B) scanf(“%f%f”,&x,&y)。C) scanf(“%lf%le”,px,py)。
D) scanf(“%lf%lf”,x,y)。(17)以下是if语句的基本形式:if (表达式)
语句其中“表达式”A)必须是逻辑表达式
B)必须是关系表达式C)必须是逻辑表达式或关系表达式
D)可以是任意合法的表达式(18)有以下程序#include <stdio.h>main(){int x。scanf(
C)x*=(1+x)
D)2*x,x+=2(15)程序段:int x=12。
double y=3.141593。 printf(“%d%8.6f”,x,y);的输出结果是A)123.141593
B)12
3.141593
C)12,3.141593
D)123.141593(16)若有定义语句:double x,y,*px,*py,执行了px=&x, py=&y。之后,正确的输入语句是
A)scanf(“%f%f”,x,y)。
B) scanf(“%f%f”,&x,&y)。C) scanf(“%lf%le”,px,py)。
D) scanf(“%lf%lf”,x,y)。(17)以下是if语句的基本形式:if (表达式)
语句其中“表达式”A)必须是逻辑表达式
B)必须是关系表达式C)必须是逻辑表达式或关系表达式
D)可以是任意合法的表达式(18)有以下程序#include <stdio.h>main(){int x。scanf(
“%d”,&x)。if(x<=3)。 elseif(x!=10)
printf(“%d\n”,x)。}程序运行时,输入的值在哪个范围才会有输出结果A)不等于10的整数
B)大于3且不等于10的整数C)
大于3或等于10的整数
D)小于3的整数(19)有以下程序#include<stdio.h>Main(){
int a=1,b=2,c=3,d=0。if(a= =1 &&b++= =2)if(b!=2 || c--!=3)
printf(“%d,%d,%d\n”,a,b,c)。else printf(“%d,%d,%d\n”,a,b,c)。else printf(“%d,%d,%d\n”,a,b,c)。}程序运行后的输出结果是A)1,2,3
B)1,3,2
C)1,3,3
D)3,2,1(20)以下程序中的变量已正确定义for(i=0。i<4。i++,i++for(k=1。k<3。k++)。printf(*”)。程序段的输出结果是A)********
B)****
C)**
printf(“%d\n”,x)。}程序运行时,输入的值在哪个范围才会有输出结果A)不等于10的整数
B)大于3且不等于10的整数C)
大于3或等于10的整数
D)小于3的整数(19)有以下程序#include<stdio.h>Main(){
int a=1,b=2,c=3,d=0。if(a= =1 &&b++= =2)if(b!=2 || c--!=3)
printf(“%d,%d,%d\n”,a,b,c)。else printf(“%d,%d,%d\n”,a,b,c)。else printf(“%d,%d,%d\n”,a,b,c)。}程序运行后的输出结果是A)1,2,3
B)1,3,2
C)1,3,3
D)3,2,1(20)以下程序中的变量已正确定义for(i=0。i<4。i++,i++for(k=1。k<3。k++)。printf(*”)。程序段的输出结果是A)********
B)****
C)**
D)*
(21)有以下程序
#include<stdio.h>
main()
{char
*s=(“ABC)。
do
{printf(“%d”,*s%10)。s++。
}while(*s)。
}
注意,字母A的ASCII码值为65。程序运行后的输出结果是
A)5670
B)656667
C)567
D)ABC
(21)有以下程序
#include<stdio.h>
main()
{char
*s=(“ABC)。
do
{printf(“%d”,*s%10)。s++。
}while(*s)。
}
注意,字母A的ASCII码值为65。程序运行后的输出结果是
A)5670
B)656667
C)567
D)ABC
(22)设变量已正确定义,以下不能统计出一行中输入字符个数(不包含回车符)的程序段是
A)n=0。while((ch=getchar())!=’\n’)n++。
B) n=0。while(getchar()!=’\n’)n++。
C)for(n=0。 getchar()!=’\n’。n++)。
D)n=0。for(ch=getchar()。ch!=’\n’。n++)。
A)n=0。while((ch=getchar())!=’\n’)n++。
B) n=0。while(getchar()!=’\n’)n++。
C)for(n=0。 getchar()!=’\n’。n++)。
D)n=0。for(ch=getchar()。ch!=’\n’。n++)。
(23)有以下程序#include<stdio.h>main(){ int a1,a2。char c1,c2。scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2)。printf(“%d,%c,%d,%c”,&1,c1,a2,c2)。}若想通过键盘输入,使得a1的值为12,a2的是为34,c1的值为字符a,c2的值为字符b,程序输出结果是:12,a,34,b,则正确的输入格式是(以下
代表空格,<CR>代表回车)A)12a34b<CR>
B)12
a
34
b<CR>C)12,a,34,b<CR>
代表空格,<CR>代表回车)A)12a34b<CR>
B)12
a
34
b<CR>C)12,a,34,b<CR>
D)12
a34
b<CR>(24)有以下程序#include<stdio.h>int f(int x,int y){return()y-x)*x)。}main(){int a=3,b=4,c=5,d。d=f(f(a,b),f(a,c))。printf(“%d\n”,d)。}程序运行后的输出结果是A)10
B)9
C)8
D)7(25)有以下程序#include<stdio.h>void fun(char
*s){while(*s)
{ if(*s%2==0)
printf(“%c”,*s)。s++。
}}main(){ char
a[]={“good”}。
fun(a)。printf(“\n”)。}注意:字母a的ASCⅡ码值为97,程序运行后的输出结果是A)d计算机二级c语言选择题库
B)go
a34
b<CR>(24)有以下程序#include<stdio.h>int f(int x,int y){return()y-x)*x)。}main(){int a=3,b=4,c=5,d。d=f(f(a,b),f(a,c))。printf(“%d\n”,d)。}程序运行后的输出结果是A)10
B)9
C)8
D)7(25)有以下程序#include<stdio.h>void fun(char
*s){while(*s)
{ if(*s%2==0)
printf(“%c”,*s)。s++。
}}main(){ char
a[]={“good”}。
fun(a)。printf(“\n”)。}注意:字母a的ASCⅡ码值为97,程序运行后的输出结果是A)d计算机二级c语言选择题库
B)go
C)god
D)good(26)有以下程序#include <stdio.h>void fun( int *a,int *b){int *c。c=a。a=b。b=c。}main(){int x=3,y-5,*P=&x,*q=&y。
fun(p,q)。printf(“%d,%d,”,*p,*q)。fun(&x,&y)。printf(“%d,%d\n”,*p,*q)。}程序运行后的输出结果是A)3,5,5,3
B)3,5,3,5
C)5,3,3,5
D)5,3,5,3(27)有以下程序#include <stdio.h>viod f(int *p,int *q )。main(){ int m=1,n=2,*r=&m。
f(r,&n)。printf(“%d,%d”,m,n)。}void f(int *p,int *q){p=p+1。*q=*q+1。}程序运行后输出的结果是A)1,3
B)2,3
C)1,4
D)1,2(28)以下函数按每行8个输出数组中的数据void fun( int *w,int n){ int i。
for(i=0。i<n。i++)
D)good(26)有以下程序#include <stdio.h>void fun( int *a,int *b){int *c。c=a。a=b。b=c。}main(){int x=3,y-5,*P=&x,*q=&y。
fun(p,q)。printf(“%d,%d,”,*p,*q)。fun(&x,&y)。printf(“%d,%d\n”,*p,*q)。}程序运行后的输出结果是A)3,5,5,3
B)3,5,3,5
C)5,3,3,5
D)5,3,5,3(27)有以下程序#include <stdio.h>viod f(int *p,int *q )。main(){ int m=1,n=2,*r=&m。
f(r,&n)。printf(“%d,%d”,m,n)。}void f(int *p,int *q){p=p+1。*q=*q+1。}程序运行后输出的结果是A)1,3
B)2,3
C)1,4
D)1,2(28)以下函数按每行8个输出数组中的数据void fun( int *w,int n){ int i。
for(i=0。i<n。i++)
{_________________
printf(“%d”,w)。
}
printf(“\n”)。}下划线处应填入的语句是A)if(i/8==0)print(“\n”)。
B) if(i/8==0)continue。C) if(i%8==0)print(“\n”)。
D) if(i%8==0)continue。
printf(“%d”,w)。
}
printf(“\n”)。}下划线处应填入的语句是A)if(i/8==0)print(“\n”)。
B) if(i/8==0)continue。C) if(i%8==0)print(“\n”)。
D) if(i%8==0)continue。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论