试卷详情
-
二级C语言笔试-362
-
[单项选择]耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是
A. 提高耦合性、降低内聚性有利于提高模块的独立性
B. 降低耦合性、提高内聚性有利于提高模块的独立性
C. 耦合性是指一个模块内部各个元素间彼此结合的紧密程度
D. 内聚性是指模块间互相连接的紧密程度
-
[单项选择]以下选项中与if(a==1)a=b;else a++;语句功能不同的switch语句是( )、
A. switch(a)
B. default:a++; switch(a==1)
C. case 1:a++; switch(a)
D. case 1:a=b; switch(a==1)
-
[单项选择]下列二维数组初始化语句中,不正确的是( )。
A. int b[][2]=1,2,3,4,5,6,7;
B. int b[3][5]=0,0,0;
C. int b[][4]=1,2,3,4,5,6;
D. int b[3][2]=(1,2),(3,4) ,(5,6);
-
[填空题]有以下程序
int fa(int x) return x*x;
int fb(int x)return x*x*x;
int f(int (*f1)( ),int(*f2)( ),int x)
return f2(x)-f1(x);
main( )
int i; i=f(fa,fb,2);printf("%d/n"i;
程序运行后的输出结果是______。
-
[单项选择]软件需求分析阶段的工作,可以分为四个方面:需求获取、编写需求规格说明书、需求评审和( )。
A. 阶段性报告
B. 需求分析
C. 需求总结
D. 都不正确
-
[填空题]下列表达式用于判断y是否为闰年。闰年的判断条件是:年号能被4整除但不能被100整除或年号能被400整除,请填空______。
-
[填空题]设有定义:FILE*fw;,请将以下打开文件的语句补充完整,以便可以向文本文件read me.txt的最后续写内容。
fw=fopen("readme.txt","______")
-
[填空题]下列程序可以判断输入的年份是不是闰年。
#include
main( )
int______,leap;
scanf("%d",&year);
if(year%4)
leap=0;
else if(year%lO0)
______;
else if(year%400)
leap=0;
else
leap=1;
if(______)
printf("%d年是闰年",year);
else
printf (" %d年不是闰年/n", year);
-
[单项选择]设有:
int a=1,b=2,c=3,d=4,m=2,n=2;
执行(m=a>b)&&(n=c>d)后,n的值是
A. 1
B. 2
C. 3
D. 4
-
[填空题]以下程序运行结果是______。
#include<stdio.h>
main( )
int fun( );fun( );
fun( )
static int a[3]=0,1,2;
int i;
for(i=0;i<3;i++)a[i]+=a[i];
for(i=0;i<3;i++)printf("%d,",a[i]);
printf("/n");
-
[单项选择]#define能作简单的替代,用宏来替代计算多项式5*x*x+5*x+5的值的函数f,正确的宏定义语句为( )。
A. #definef(x)5*x*x+5*x+5
B. #definef5*x*x+5*x+5
C. #definef(a)(5*a*a+5*a+5)
D. #define(5*x*x+5*x+5)f(x)
-
[单项选择]以下程序的输出结果是() fun (int x,int y, int z) z=x * x+y * y; main( ) int a=31; fun(5,2,a); print("%d",a);
A. 0
B. 29
C. 31
D. 无定值
-
[单项选择]有下列程序:
#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
-
[单项选择]已知int a;float b;所用的scanf调用语句格式为:
scanf("a//%d,b=%f",&a,&b);
为了将数据3和25.08分别赋给x和y,正确的输入应当是
A. 3,25.08<Enter>
B. a=3,b=25.08<Enter>
C. a//3.b=25.08<Enter>
D. a//3<Enter>b=25.08<Enter>
-
[填空题]下列程序中的函数strcpy2 ( )实现字符串两次复制,即将t所指字符串复制两次到s 所指内存空间中,合并形成一个新字符串。例如,若t所指字符串为:efgh,调用strcpy2后,s所指字符串为: efghefgh。请填空。
#include <stdio.h>
#include <string.h>
viod strcpy2(char *s,char *t)
char
while (*s++=t++);
s=______:
while(______=*p++);
main( )
char str1[100]="abcd", str2[]="efgh";
strcpy2 (str1,str2); printf("%s/n",str1);
-
[单项选择]以下错误的定义语句是( )。
A. int X[][3]=0,1,1,2,3;
B. int X[4][3]=[1,2,3,1,2,3,1,2,31,2,3
C. int X[4][]=1,2,3,1,2,3,1,2,3,1,2,3;
D. int X[][3]=1,2,3,4;
-
[单项选择]支持子程序调用的数据结构是
A. 栈
B. 树
C. 队列
D. 二叉树
-
[单项选择]对关系S和关系R进行集合运算,结果中既包含S中元组也包含R中元组,这种集合运算称为( )。
A. 并运算
B. 交运算
C. 差运算
D. 积运算
-
[单项选择]有以下程序段
main( )
int a=5,*b,**c;
c=&b; b=&a;
……
程序在执行了c=&b;b=&a;语句后,表达式:**c的值是()
A. 变量a的地址
B. 变量b中的值
C. 变量a中的值
D. 变量b的地址
-
[填空题]下面的if语句与y=(x>=10)3*x-11:(x<1)x:2*x-1;的功能相同,请补充完整。
if(______)
if(______)y=2*x-1;
else y=x;
else y=3*x-11;
-
[单项选择]在C语言中,运算对象必须是整型数的运算符是
-
[填空题]函数main( )的功能是:在带头结点的单链表中查找数据域中值最小的结点。请填空。
#include<stdio.h>
struct node
int data;
struct node * next;
int main(struct node * first)/*指针first为链表头指针*/
struct node * p;int m;
p=first->next;m=p->data;p=p->next;
for(; p!=NULL;p=______)
if(p->data<m)m=p->data;
return m;
-
[单项选择]设有定义语句:
int x[6]=2,4,6,8,5,7,*p=x,i;
要求依次输出x数组6个元素中的值,不能完成此操作的语句是 ______。
A. for(i=0;i<6;i++)printf("%2d",*(p++));
B. for(i=0;i<6;i++)printf("%2d",*(p+i));
C. for(i=0;i<6;i++)printf("%2d",*p++);
D. for(i=0;i<6;i++)printf("%2d",(*p)++);
-
[单项选择]有以下程序段
int k=0, a=1, b=2, c=3;
k=a<b b:a; k=k>c c:k;
执行该程序段后,k的值是()
A. 3
B. 2
C. 1
D. 0
-
[填空题]以下程序的输出结果是______。
main( )
int a=0;
a+=(a=8);
printf("%d/n",A) ;
-
[单项选择]已有定义:char a[]="xyz",b[]='x','y','z';,以下叙述中正确的是
A. 数组a和b的长度相同
B. a数组长度小于b数组长度
C. a数组长度大于b数组长度
D. 上述说法都不对
-
[单项选择]循环链表的主要优点是______。
A. 不再需要头指针了
B. 己知某个结点的位置后,能够容易找到它的直接前驱
C. 在进行插入、删除运算时,能更好地保证链表不断开
D. 从表中任一结点出发都能扫描到整个链表
-
[单项选择]以下不正确的转义字符是( )。
-
[单项选择]计算机的软件系统一般分为()
A. 系统软件、应用软件与各种字处理软件
B. 操作系统、用户软件与管理软件
C. 系统软件与应用软件
D. 操作系统、实时系统与分的系统
-
[单项选择]有以下程序段:
typedef struct node(int data;struct node*next;)*NODE;
NODE P;
以下叙述中正确的是______。
A. P是指向struct node结构变量的指针的指针
B. NODE p;语句出错
C. P是指向struct node结构变量的指针
D. P是struct node结构变量
-
[单项选择]下面程序的输出是()。
main( )
int k=11;
printf("k=%d,k=%o,k=%x/n",kkk);
A. k=11,k=12,k=11
B. k=11,k=13,k=13
C. k=11,k=013,k=0xb
D. k=11,k=13,k=B
-
[单项选择]表达式(double)(20/3)的值为 ( )
A. 6
B. 6.0
C. 2
D. 3
-
[单项选择]下列叙述中正确的是( )。
A. break语句只能用于switch语句体中
B. continue语句的作用是使程序的执行流程跳出包含它的所有循环
C. break语句只能用在循环体内和switch语句体内
D. 在循环体内使用break语句和continue语句的作用相同
-
[单项选择]有以下程序:
void f(int v,int w)
int t;
t=v;V=W;W=t;
main( )
int x=1,y=3,z=2;
if(x>y) f(x,y);
else if(y>z) f(y,z);
else f(x,z);
printf("%d,%d<%d/n",x,y,Z);
执行后输出结果是( )。
A. 1,2,3
B. 3,1,2
C. 1,3,2
D. 2,3,1
-
[填空题]关系表达式x<y<z,用C语言的表达式为______。
-
[填空题]有以下程序:
# include <stdio.h>
main( )
int d, n=1234;
while(n!=0)
d=n%10; n=n/10; printf("%d", d);
程序运行后的输出结果是______。
-
[填空题]以下程序的运行结果是______。
#include <stdio.h>
long fib(int g)
switch(g)
case 0:return 0;
case 1:
case 2:return 1;
return(fib(g-1) +fib(g-2));
main( )
long k;
k=fib(5);
printf("k=%51d/n",k);
-
[单项选择]有以下程序:
main( )
int a, b, d=25;
a=d/10%9; b=a&&(-1);
printf("% d, % d/n", a, b) ;
程序运行后的输出结果是______。
A. 6, 1
B. 2, 1
C. 6, 0
D. ( 2, 0
-
[单项选择]设有定义:char *c;,以下选项中能够使字符型指针c正确指向一个字符串的是
A. char str[]="string"; c=str;
B. scanf("%s", c);
C. c=getchar();
D. *c="string";
-
[单项选择]若有以下定义语句:
double a[5],*p=a; int i=0;
对a数组元素错误的引用是 ( )
A. a[i]
B. a[5]
C. p[4]
D. p[i]
-
[单项选择]已知各变量的类型说明如下:
int k,a,b;
unsigned long w=5;
double x=142;
则以下不符合c语言语法的表达式是______。
A. x%(-3)
B. w+=-2
C. k=(a=2,b=3,a+b)
D. a+=a-=(b=4)*(a=3)
-
[填空题]若有下列定义和语句:
char*s1="12345",*s2="1234";
printf("%d/n",strlen(strcpy(s1,s2)));
则输出结果为______。
-
[单项选择]下面程序的运行结果是______。
main( )
char ch[7]="65ab21";
int i,s=0;
for(i=0;ch[i]>="0'&&ch[i]<='9';i+=2)
s=10*s+ch[i]-'0';
printf("%d/n”,s);
A. 12ba56
B. 6521
C. 6
D. 62
-
[填空题]软件维护活动包括以下几类:改正性维护、适应性维护、______维护和预防性维护。
-
[单项选择]有以下程序
main( )
int a=1,b;
for(b=1;b<=10;b++)
if(a>=8)break;
if(a%2==1)a+=5;continue;
a-=3;
printf("%d/n",b);
程序运行后的输出结果是
A. 3
B. 4
C. 5
D. 6
-
[单项选择]设函数fun的定义形式为:
void funlchar ch, float x)…
则以下对函数fun的调用语句中,正确的是( )。
-
[填空题]下面程序的功能是将一个字符串str的内容倒序,请填空。
#inelude <stdio.h>
#include <strins.h>
main( )
int i,j,______;
charstr[]="1234567";
for(i=0,j=strlen(str)______;i<j; i++,j--)
k=str[i];str[i]=str[j];str[j]=k;
printf("%s/n",str);
-
[单项选择]若有定义语句:int a[2][3],*p[3];,则以下语句中正确的是______。
A. p=a;
B. p[0]=a;
C. p[0]=&a[1][2];
D. p[1]=&a;
-
[单项选择]C语言中,系统的标准输入文件是指
A. 键盘
B. 显示器
C. 软盘
D. 硬盘
-
[单项选择]有如下程序
main( )
char ch[2][5]="6937","8254",*p[2];
int i,j,s=0;
for(i=0;i<2;i++)p[i]=ch[i];
for(i=0;i<2;i++)
for(j=0;p[i][j]>'/0'; j+=2)
s=10*s+p[i][j]-'0';
printf("%d/n",s);
该程序的输出结果是
A. 69825
B. 63825
C. 6385
D. 693825
-
[单项选择]设x,y均是int类型变量,则以下不正确的函数调用为______。
-
[单项选择]下列程序的运行结果是( )。
main( )
int x=1,y=3,a=0;
while(x++!=(y-=1))
a+=1;
if(y<x)break;
printf("%d,%d,%d/n",x,y,a);
A. 2,3,2
B. 2,3,1
C. 1,3,3
D. 3,1,2
-
[单项选择]有以下程序:
#include <stdio.h>
main( )
unsigned char a,b;
a=413;
b=4&3;
printf("%d%d/n",a,b);
执行后的输出结果是( )。
A. 7 0
B. 0 7
C. 1 1
D. 43 0
-
[填空题]按“先进后出”原则组织数据的数据结构是______。
-
[单项选择]有以下程序
main( )
char ch[]="uvwxyz",*pc;
pc=ch; printf("%c/n",*(pc+5));程序运行后的输出结果是()。
A. z
B. 0
C. 元素ch[5]地址
D. 字符y的地址
-
[单项选择]为了避免在嵌套的条件语句if-else中产生二义性,C语言中规定的if-else配对原则是______。
A. else子句与缩排位置相同的if配对
B. else子句与其之前最近的未被配对的if配对
C. else子句与其之后最近的if配对
D. else子句与同一行上的if配对
-
[填空题]有下列程序,功能是把输入的+进制长整型数以+六进制的形式输出,完成程序
#include"stdio.h"
main( )
char b[17]="0123456789ABCDEF";
int c[50],d,i=0,base=16;
long n;
scanf("%1d",&n);
doc[i]=n%base;i++;n=______;
while(n!=0);
for(--i;i>=0;--i)
d=______;printf("%c",b[d]);
printf("H/n");
-
[单项选择]有以下程序()
main( )
int i,s=0,t[]=1,2,3,4,5,6,7,8,9 ;
for(i=0;i<9;i+=2) s+=*(t+i);
printf("%d/n",s);
A. 45
B. 20
C. 25
D. 36
-
[填空题]设变量a和b已正确定义并赋初值。请写出与a-=a+b等价的赋值表达式______。
-
[单项选择]在长度为64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为()。
A. 63
B. 64
C. 6
D. 7
-
[单项选择]设函数fun的定义形式为
void fun(char ch, float x) …
则以下对函九fun的调节器用语句中,正确是()
A. fun("abc",3.0);
B. t=fun('D',16.5);
C. fun('65',2.8):
D. fun(32,32);
-
[单项选择]以下正确的程序段是
A. char str1[ ]="12345",str2[ ]="abcdef";
B. char str[10],*st="abcde";strcat(str,st);
C. char str[10]=" "。*st="abcde";strcat(str,st);
D. char*st1="12345",*st2="abcde";strcat(st1,st2);
-
[单项选择]设有定义语句:char b='/123';则变量b包括( )。
A. 4个字符
B. 3个字符
C. 2个字符
D. 一个字符
-
[填空题]以下程序运行后的输出结果是______。
#include <stdio.h>
main( )
int i,m=0,n=0,k=0;
for(i=9;i<=11;i++)
switch(i/10)
case 0: m++;n++;break;
case 10: n++;break;
default: k++;n++;
printf("%d%d%d/n",m,n,k);
-
[单项选择]已知i、j、k为int型变量,若从键盘输入:1,2,3<回车>,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是 ______。
A. sanf("%2d %2d %2d",&i,&j,&k);
B. scanf("%d %d %d",&i,&j,&k);
C. scanf("%d,%d,%d",&i,&j,&k);
D. scanf("i=%d,j=%d,k=%d",&i,&j,&k);
-
[单项选择]下列函数的功能是
fun(char *Da,char *b)
while((*b=*a)!='/0') a++;b++;
-
[填空题]用树型结构表示实体类型及实体间联系的数据模型称为______。
-
[单项选择]下列有关数据库的描述,正确的是
A. 数据库是一个DBF文件
B. 数据库是一个关系
C. 数据库是一个结构化的数据集合
D. 数据库是一组文件