试卷详情
-
二级C语言笔试-186
-
[单项选择]有以下程序:
main( )
int x=0, y=5, z=3;
while(z-->O &&++x<5)y=y-1;
printf("%d, %d, %d/n", x, y, z);
程序执行后的输出结果是( )。
A. 3,2,0
B. 3,2,-1
C. 4,3,-1
D. 5,-2,-5
-
[单项选择]假定所有变量均已正确说明,下列程序段运行后X的值是( )。
a=b=c=0; x=12;
if(!a)x--;
else x=5;
if(c)x=3;
else x=4;
A. 11
B. 4
C. 12
D. 3
-
[填空题]以下程序运行后的输出结果是______。
main( )
int i=10, j=0;
do
j=j+i; i--; )
while(i>2);
printf("%d/n", j);
-
[单项选择]以下有4组用户标识符,其中合法的一组是( )。
A. FOr
B. 4d
C. f2_G3
D. WORD
-
[单项选择]若希望下列的程序运行后输出25,程序空白处的正确选项是( )。
main( )
int id=50,a[]=7, 4, 10, 5, 8;
for( )
j+=a[i];
printf("%d", j-40);
A. i=1; i<4; ++i
B. i=1; i<3; ++i
C. i=4; i>2; i==
D. i=2; i<4; ++i
-
[填空题]二分法查找仅限于这样的表:表中的数据元素必须有序,其存储结构必须是______。
-
[单项选择]有以下程序:
main( )
int i, n=0;
for(i=2; i<5; i++)
do
if(i%3) continue;
n++;
while(! i);
n++;
printf("n=%d/n", n);
程序执行后输出结果是( )。
A. n=5
B. n=2
C. n=3
D. n=4
-
[填空题]在关系运算中,______运算是在指定的关系中选取所有满足给定条件的元组,构成一个新的关系,而这个新的关系是原关系的一个子集。
-
[单项选择]常采用的两种存储结构是( )。
A. 顺序存储结构和链式存储结构
B. 散列方法和索引方式
C. 链表存储结构和数组
D. 线性存储结构和非线性存储结构
-
[单项选择]下列选项中非法的字符常量是( )。
-
[单项选择]以下程序的输出结果是( )。
union myun
struct
int x, y, z; )u;
int k;
a;
main( )
a. u. x=4; a.u.y=5; a.u.z=6;
a.k=0:
printf(%d/n", a.u.x);
A. 4
B. 5
C. 6
D. 0
-
[单项选择]有以下程序段:
int x=3;
do
printf("%d", x-=2);
while(!(--x));
其输出结果是( )。
A. 1
B. 3 0
C. 1 -2
D. 死循环
-
[单项选择]有以下程序:
int fun(int n)
if(n==1)return 1;
else return(n+fun(n-1));
main( )
int x;
scanf("%d", &x); x=fun(x); printf("%d/n", x);
执行程序时,给变量X输入10,程序的输出结果是( )。
A. 55
B. 54
C. 65
D. 45
-
[填空题]下列程序运行后的输出结果是______。
main( )
int x, a=1, b=2, c=3, d=4;
x=(a<b)a: b; x=(x<c)x: c; x=(d>x)x: d;
printf("%d/n", x);
-
[单项选择]有以下程序:
void f(int x, int y)
int t;
if(x<y)t=x; x=Y; y=t;
main( )
int a=4, b=3, c=5;
f(a, b); f(a, c); f(b, c);
print("%d, %d, %a/n", a, b, c);
执行后输出结果是( )。
A. 3,4,5
B. 5,3,4
C. 5,4,3
D. 4,3,5
-
[单项选择]结构化程序设计主要强调的是( )。
A. 程序的规模
B. 程序的效率
C. 程序设计语言的先进性
D. 程序的易读性
-
[填空题]执行下列语句段后,X的值是______。
int *p, x;
x=100;
p=&x;
x=*p+50;
-
[单项选择]函数ftell(fp)的作用是( )。
A. 得到fp所指向文件的当前读写位置
B. 初始化流式文件的位置指针
C. 移动流式文件的位置指针
D. 以上答案均正确
-
[单项选择]在面向对象方法中,( )描述的是具有相似属性与操作的一组对象。
A. 属性
B. 事件
C. 方法
D. 类
-
[单项选择]以下程序的输出结果是( )。
main( )
char ch[3][4]="123", "456", "78", *p[3]; int i;
for(i=0; i<3; i++)p[i]=ch[i];
for(i=0; i<3; i++)printf("%s", p[i]);
A. 123456780
B. 123 456 780
C. 12345678
D. 147
-
[填空题]以下程序的输出结果是______。
#include<stdio.h>
int fun(int x, int y)
static int m=0, i=2;
i=i+1;
m+=i+x+y;
return m
main( )
int j=4, m=1, k;
k=fun(j, m);printf("gd," , k);
k=fun(j, m); printf("%d/n", k)
-
[单项选择]有下列程序:
main( )
char s[]="abcde";
s+=2;
printf("%d/n", s[0]);
执行后的结果是( )。
A. 输出字符a的ASCII码
B. 输出字符c的ASCII码
C. 输出字符c
D. 程序出错
-
[单项选择]以下程序的输出结果是( )。
main( )
char w[]E10]="ABCD", "EFGH", "IJKL", "MNOP", K;
for(k=1; k<3; k++)printf("%s/n", w[k]);
A. ABCD
B. ABCD
C. EFG
D. EFGH
-
[单项选择]有以下程序:
main( )
int x=102, y=012;
printf("%2d, %2d/n", x, y);
执行后输出结果是( )。
A. 10,01
B. 02,12
C. 102,10
D. 02,10
-
[单项选择]设int x=7,则~x的值是( )。
A. -8
B. 7
C. -1
D. 1
-
[单项选择]定义结构体数组:
struct stu
int num;
char name[20];
X[5]=1,"LI", 2, "ZHAO", 3, "WANG", 4, "ZHANG", 5, "LIU");
for(i=1; i<5; i++)
printf("%d%c", x[i]. num, x[i].name[2]);
以上程序段的输出结果为( )。
A. 2A3N4A5U
B. 112A3H4I
C. 1A2N3A4U
D. 2H3A4H5I
-
[单项选择]下面程序的功能是输出以下形式的金字塔图案:
main( )
int i, j; *
for(i=1;i<=4; i++) ***
for(j=1; j<=4-i; j++) printf(""); *****
for(j=1; j<=______; j++) printf("*"); *******
printf("/n");
在下划线处应填入的是( )。
A. i
B. 2*i-1
C. n=2*i+1
D. i+2
-
[填空题]下列程序的功能是:将输入的正整数按逆序输出。例如:若输入135则输出531。请填空。
#include<stdio.h>
main( )
int n, s;
printf("Enter a number: ");
scanf("%d", &n);
printf("Output: ");
do
s=n%10; printf("%d", s);______; )
while(n!=0); printf("/n");
-
[单项选择]用链表表示线性表的优点是( )。
A. 便于随机存取
B. 花费的存储宅间较顺序存储少
C. 便于插入和删除操作
D. 数据元素的物理顺序与逻辑顺序相同
-
[单项选择]以下程序的输出结果是( )。
main( )
int x=0.5;char z='a';
printf("%d/n", (x&1)&&(z<'z'));
A. 0
B. 1
C. 2
D. 3
-
[填空题]数据库系统中实现各种数据管理功能的核心软件是______。
-
[单项选择]能正确表示“当x的取值在[1,10]和[100,110]范围内为真,否则为假”的表达式是( )。
A. (x>=1)&&(x<一i0)&&(x>=100)&&(X<=110)
B. (x>=1)‖(x<=10)&&(x>=100)‖(x<=110)
C. (x>=1)&&(x<=10)‖(x>=100)&&(x<=110)
D. (x>=1)‖(x<=10)&&(x>=100)‖(x<=110)
-
[单项选择]当c的值不为0时,在下列选项中不能正确将c的值赋给变量a、b的是( )。
A. c=b=a;
B. (a=c)
C. (a=c)&&(b=c);
D. a=c=b;
-
[单项选择]以下能正确定义一维数组的选项是( )。
-
[填空题]语句:“x++; ++x; x=1+x;”执行后都使变量x中的值增1,请写出一条同一功能的赋值语句______。
-
[单项选择]下列程序的输出结果是( )。
#include<stdio.h>
int fun(int a)
int b=0;
static int c=4;
a=c++; b++;
return(a);
main( )
int a=2, i, c;
for(i=0; i<2; i++)
c=f(a+1);
printf("%d/n", c);
A. 4
B. 7
C. 6
D. 5
-
[单项选择]有以下程序:
void fun(char *a, char*b)
a=b; (*a)++;
main( )
char c1='A', c2='a',*p1, *p2;
p1=&c1; p2=*c2; fun(p1, p2);
print("%c 9/6c/n", c1, c2);
程序运行后的输出结果是( )。
A. Ab
B. aa
C. Aa
D. Bb
-
[单项选择]以下程序的输出结果是( )。
main( )
char*s="12134211";
int v[4]=0, 0, 0, 0), k, i;
for(k=0;s[k]; k++)
switch(s[k])
case’1’: i=0;
case’2’: i=1;
case’3’: i=2;
case’4’: i=3; )
v[i]++;
for(k=0; k<4; k++)printf("%d", v[k]);
A. 4 2 1 1
B. 0 0 0 8
C. 4 6 7 8
D. 8 8 8 8
-
[单项选择]若有以下定义和语句:“double r=99,*p=&r; *p=r; ”,则以下正确的叙述是( )。
A. 两个*p含义相同,都说明给指针变量p赋值
B. 在“double r=99,*p=&r; ”中,把r的地址赋值给了P所指的存储单元
C. 语句“*p=r;”把变量r的值赋给指针变量p
D. 语句“*p=r;”取变量r的值放回r中
-
[单项选择]语句:“printf("%d", (a=2)&&(b=-2));”的输出结果是( )。
A. 无输出
B. 结果是不确定
C. -1
D. 1
-
[填空题]在结构化设计方法中,数据流图表达了问题中的数据流与加工间的关系,并且每一个______实际上对应一个处理模块。
-
[单项选择]以下程序的输出结果是( )。
main( )
int a=3;
printf("%d/n", (a+a-=a*a));
A. -6
B. 12
C. 0
D. -12
-
[填空题]设有下列宏定义:
#define A 2
#define B (A+3)
则执行赋值语句“k=B*20;”(k为int型变量)后,k的值是______。
-
[单项选择]若二维数组a有m列,则在a[i][j]前的元素个数为( )。
A. i*m+j-1
B. i*m+j
C. j*m+i
D. i*m+j+1
-
[单项选择]C语言的基本单位是( )。
A. 函数
B. 过程
C. 子程序
D. 子函数
-
[单项选择]算法分析的目的是( )。
A. 找出数据结构的合理性
B. 找出算法中输入和输出之间的关系
C. 分析算法的易懂性和可靠性
D. 分析算法的效率以求改进
-
[填空题]数据模型按不同应用层次分成3种类型,它们是概念数据模型、______和物理数据模型。
-
[填空题]下列程序中,fun( )函数的功能是计算x2-2x+6,主函数中将调用fun( )函数计算。
y1=(x+8)2=2(x+8)+6
y2=sin2(x)-2sin(x)+6
请填空:
#include<math.h>
double fun(double x)return(x*x-2*x+6);
main( )
double x, y1, y2;
printf("enter x: "); scanf("%1f", &x);
y1=fun(______);
y2=fun(______);
printf("y1=%1f, y2=%1f/n", y1, y2);
-
[单项选择]有以下程序:
main( )
char a='a', b;
printf("%c,", ++a);
printf("%c/n", b=a++);
程序运行后的输出结果是( )。
A. b,b
B. b,C
C. a,b
D. a,c
-
[填空题]在以下程序运行时若从键盘输入:10 20 30<回车>,输出结果是______。
#include<stdio.h>
main( )
int i=0, j=0, k=0;
scanf("%d%*d%d", &i, &j, &k);
printf("Gd%d%d/n", i, j, k);
-
[单项选择]在下列给出的表达式中,与while(E)中的(E)不等价的表达式是( )。
A. (!E==0)
B. (E>0
C. (E==0)
D. (E!=0)
-
[单项选择]下列程序的输出结果是( )。
void fun(int*x, int y)
printf("%d%d", *x, "y); *x=3; *y=4; )
main( )
int x=1, y=2;
fun(&y, &x);
printf("%d%d", x, y);
A. 2 1 4 3
B. 1 2 1 2
C. 1 2 3 4
D. 2 1 1 2
-
[单项选择]对两个数组a和b进行下列初始化:
char m[]="1234567";
char n[]='1', '2', '3', '4', …5, …6, '7');
则下列叙述正确的是( )。
A. 数组m与数组n完全相同
B. 数组m与数组n长度相同
C. 数组m比数组n长1
D. 数组m与数组n中都存放字符串