试卷详情
-
二级C语言笔试-478
-
[填空题]已知字符’A’的ASCII码为65,以下程序运行后的输出结果是 。
#include <stdio.h>
main( )
char a,b;
a=’A’+’5’-’3’; b=a+’6’-’2’;
printf( "% d% c//n", a, b);
-
[填空题]以下程序运行时若从键盘输入:10 20 30<回车>。输出结果是______。
#include<stdio.h>
main( )
int i=0,j=0,k=0;
scanf("%d%*d%d",&i,&j,&k);printf("%d%d%d/n",i,j,k);
-
[单项选择]以下程序中函数scmp的功能是返回形参指针s1和s2所指字符串中较小字符串的首地址。
#include <stdio.h>
#include <string.h>
char *scmp(char*s1,char*s2)
if(strcmp(s1,s2)<0) return(s1);
else return(s2);
main( )
int i; char string[20],str[3][20];
for(i=0;i<3;i++) gets(str[i]);
strcpy(string,scmp(str[0],str[1])); /*库函数strcpy对字符串进行复制*/
strcpy(string,scmp(string,str[2]));
printf("%s/n",string);
若运行时依次输入:abcd、abba和abc三个字符串,则输出结果为( )。
A. abcd
B. abba
C. abc
D. baca
-
[单项选择]以下选项中不能用做C程序合法常量的是______。
-
[单项选择]若要用下面的程序片段使指针变量P指向一个存储整型变量的动态存储单元
int *p;
p=______malloc(sizeof(int));
则应填入______。
A. int
B. int*
C. (*int)
D. (int*)
-
[单项选择]设有定义:int n1=0,n2,*p=&n2,*q=&n1;,以下赋值语句中与n2=n1;语句等价的是 ______。
A. *p=*q;
B. p=q;
C. *p=&n1;
D. p=*q;
-
[单项选择]有以下程序:
#include <stdio.h>
char fun(char x,char y)
if(x<y) return x;
return y;
main( )
int a='9',b='8',c='7';
printf("%c/n",fun(fun(a,b),fun(b,c)));
程序的执行结果是( )。
A. 函数调用出错
B. 8
C. 9
D. 7
-
[填空题]设x为int型变量,请写出一个关系表达式______,用以判断x同时为3和7的倍数时,关系表达式的值为真。
-
[单项选择]对两个数组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中都存放字符串
-
[单项选择]支持子程序调用的数据结构是
A. 栈
B. 树
C. 队列
D. 二叉树
-
[单项选择]两次运行下列的程序,如果从键盘上分别输入3和1,则输出结果是( )。
main( )
int x;
scanf("%d",&x);
if(x++>2)printf("%d",x);
else printf("%d/n",x--);
A. 4和2
B. 4和1
C. 4和0
D. 3和1
-
[填空题]在宏定义#define P13.14159中,用宏名PI代替一个______。
-
[单项选择]耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是( )。
A. 提高耦合性降低内聚性有利于提高模块的独立性
B. 降低耦合性提高内聚性有利于提高模块的独立性
C. 耦合性是指一个模块内部各个元素间彼此结合接的紧密程度
D. 内聚性是指模块间互相连接的紧密程度
-
[填空题]以下程序的输出结果是______。
#include<stdio.h>
void swap(int *a,int *b)
int *t:
t=a;a=b;b=t;
main( )
int i=3,j=5,*p=&i,*q=&j;
swap(p,q);printf("%d%d/n",*p,*q);
-
[单项选择]在E-R图中,用( )来表示实体之间联系。
A. 矩形
B. 菱形
C. 椭圆形
D. 正方形
-
[单项选择]在C语言中,下列关于文件操作的叙述正确的是( )。
A. 对文件操作必须先关闭文件
B. 对文件操作必须先打开文件
C. 对文件操作顺序没有统一规定
D. 以上全错
-
[单项选择]要求通过while循环不断读入字符,当读入字母'N'时结束循环。若变量已正确定义,以下正确的程序段是( )。
A) while(( ch = getchar( )) ! ='N') printf(" %c",ch);
B) while(ch = getehar( ) ! ='N')printf("%c",ch);
C) while (ch = getehar( ) = = 'N')printf( "%c", ch);
D) while ((ch = getchar( )) == 'N')printf("%c", ch );
-
[单项选择]下列叙述中正确的是______。
A. 为了建立一个关系,首先要构造数据的逻辑关系
B. 表示关系的二维表中各元组的每一个分量还可以分成若干数据项
C. 一个关系的属性名表称为关系模式
D. 一个关系可以包括多个二维表
-
[单项选择]下列描述中正确的是( )。
A. 在C语言程序中预处理是指完成宏替换和文件包含指定的文件的调用
B. 预处理指令只能位于C源程序文件的首部
C. 预处理命令可以放在程序中的任何位置
D. 预处理命令结尾需要加分号
-
[单项选择]请读程序:
#include<stdio.h>
#include<string.h>
main( )
char*s1="AbCdEf",*s2="aB";
s1++;s2++;
printf("%d/n",strcmp(s1,s2));
上面程序的输出结果是______。
A) 正数 B) 负数 C) 零 D) 不确定的值
-
[单项选择]下列程序的输出结果是( )。
#include<stdio.h>
main( )
stmct st
int y,x,z;
;
union
long i;
int j;
char k;
un;
printf("%d,%d/n",sizeof(stmct st),sizeof(un));
A. 6,2
B. 6,4
C. 8,4
D. 8,6
-
[填空题]在先左后右的原则下,根据访问根结点的次序,二叉树的遍历可以分为三种:前序遍历、 遍历和后序遍历。
-
[单项选择]若已定义:
int a[]=0,1,2,3,4,5,6,7,8,9,*p=a,i;
其中0≤i≤9,则对a数组元素不正确的引用是( )。
A) a[p-a] B) *(&a[i]) C) p[i] D) a[10]
-
[单项选择]数据结构中,与所使用的计算机无关的是数据的
A. 存储结构
B. 物理结构
C. 逻辑结构
D. 物理和存储结构
-
[单项选择]程序流程图(PFD)中的箭头代表的是( )。
A. 数据流
B. 控制流
C. 调用关系
D. 组成关系
-
[单项选择]设int x=7,则~x的值是( )。
A. -8
B. -7
C. -1
D. 1
-
[填空题]以下程序的定义语句中,x[1]的初值是______,程序运行后输出的内容是______。
#include<stdio.h>
main( )
int x[]=1,2,3,4,5,6,7,8,9,10,1l,12,13,14,15,16,*p[4],i;
for(i=0;i<4;i++)
p[i]=&x[2*i+1],printf("q%d”,p[i][0]);
printf("/n");
-
[填空题]以下程序的功能是:将输入的正整数按逆序输出。例如:若输入135则输出531,请填空。
#include
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");
-
[单项选择]若有定义:float x=1.5;int a=1,b=3,c=2;,则正确的switch语句是
A. switch(x)
B. switch((int)x);
C. switch(a+b)
D. switch(a+b)
-
[单项选择]34. 下面程序的输出结果为__ ____。
#include<string.h>
main( )
charP[17]="abc"="ABC".STR[50]="xyz";
strcpy(str,strcat(p1,p2));
printf(%s,str);
A) xyzabcABC B) abcABC C) xyzabc D) xyzABC
-
[单项选择]对线性表进行二分法检索,其前提条件是( )。
A. 线性表以顺序方式存储,并按关键码值排好序
B. 线性表以顺序方式存储,并按关键码的检索频率排好序
C. 线性表以链式方式存储,并按关键码值排好序
D. 线性表以链式方式存储,并按关键码的检索频率排好序
-
[填空题]以下程序是求矩阵a、b的和,结果存入矩阵c中,请填空。
#include<stdio.h>
main( )
int a[4][4]=1,2,6,7,0,4,2,-8,1,4,5,2,2,4,6,8;
int b[4][4]=-4,0,7,9,2,-7,7,4),6,9,0,1),8,8,6,5);
int i,j,c[4][4];
for(i=0;i<4;i++)
for(j=0;j<4;j++)
c[i][j]=______;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
printf("%d",c[i][j]);
-
[单项选择]下列程序的输出结果是( )
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
-
[单项选择]下列不属于软件工程的3个要素的是
A. 工具
B. 过程
C. 方法
D. 环境
-
[填空题]若按功能划分,软件测试的方法通常分为白盒测试方法和 测试方法。
-
[单项选择]数据的完整性是指数据的正确性、有效性和 ______。
A. 可维护性
B. 独立性
C. 安全性
D. 相容性
-
[单项选择]以下函数findmax拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能。
#define MIN-2147483647
int findmax(int x[],int n)
int i,max;
for(i=0;i<n;i++)
max=MIN;
if(max<x[i])max=x[i];
return max;
造成错误的原因是( )。
A. 定义语句“int i,max;”中,max未赋初值
B. 赋值语句“max=MIN”;中,不应给max赋MIN值
C. 语句“if(max<x[i]max=x[i])”中,判断条件设置错误
D. 赋值语句“max=MIN;”放错了位置
-
[填空题]一个关系表的行称为______。
-
[填空题]若有定义:int k;,则以下程序段的输出结果是______。
for(k=2;k<6;k++,k++) printf("##%d",k);
-
[单项选择]要求通过while循环不断读入字符,当读入字母N时结束循环。若变量已正确定义,下列正确的程序段是( )
-
[单项选择]有以下程序:
main( )
int p[8]=11,12,13,14,15,16,17,18,i=0,j=0;
while(i++<7)if(p[i]%2)j+=p[i];
printf("%d/n",j);
程序运行后的输出结果是 ______。
A. 42
B. 45
C. 56
D. 60
-
[单项选择]下列选项中,能够满足“若字符串s1等于字符串s2,则执行ST”要求的是
A. if(strcmp(s1, s2)==0) ST;
B. if(s1==s2) ST;
C. if(strcpy(s1, s2)==1) ST;
D. if(s1-s2==0) ST;
-
[填空题]下列程序的输出结果是______。
main( )
int a=1,b=2,c=3,t=0;
if(a<B) t=a;a=b;b=t;
if(a<C) t=a;a=c;c=t;
printf("%d,%d,%d/n",a,b,c);
-
[单项选择]设有表示学生选课的三张表,学生表(学号,姓名,性别),课程表(课程号,课程名),选课成绩表(学号,课程号,成绩),则选课成绩表的关键字为( )。
A. 课程号,成绩
B. 学号,成绩
C. 学号,课程号
D. 学号,课程号,成绩
-
[单项选择]33. 33. 下列程序的运行结果是( )。
#include<stdio.h>
#define ADD(x)x+x
main( )
int m=1,n=2,k=3;
int s=ADD(m+n)*k;
printf("s=%d",s);
A) sum=18 B) sum=10 C) sum=9 D) sum=25
-
[单项选择]有以下程序:
#include<string.h>
void f(char*s,char*t)
char k;
k=*s; *s=*t; *t=k;
s++; t--;
if(*s) f(s,t);
main( )
char str[10]="abcdefg",*p;
p=str+strlen(str)/2+1;
f(p,p-2);
printf(~%s//n",str);
程序运行后的输出结果是 ______。
A) abcdef B) gfedcba C) gbcdefa D) abedcfg
-
[单项选择]下列对于软件测试的描述中正确的是______。
A. 软件测试的目的是证明程序是否正确 B) 软件测试的目的是使程序运行结果正确C) 软件测试的目的是尽可能地多发现程序中的错误D) 软件测试的目的是使程序符合结构化原则
-
[单项选择]数据流程图(DFD图)是( )。
A. 软件概要设计的工具
B. 软件详细设计的工具
C. 结构化方法的需求分析工具
D. 而向对象方法的需求分析工具
-
[单项选择]以下程序运行后的输出结果是
#include<stdio.h>
main( )
int x=8;
for(;x>0;x--)
if(x%3) printf("%d,",x--);continue;
printf("%d,",--x);
A. 7,4,2
B. 8,7,5,2
C. 9,7,6,4
D. 8,5,4,2
-
[单项选择]按条件f对关系R进行选择,其关系代数表达式为( )。
A. R
B. σf(R)
C. Πf(R)
-
[单项选择]结构化程序设计的3种基本结构是( )。
A. 过程、子程序和分程序
B. 顺序、选择和重复
C. 递归、堆栈和队列
D. 调用、返回和转移
-
[单项选择]以下选项中非法的表达式是( )。
A. 0<=x<100 B) i=j= =0 C) (char)(65+3) D) x+1=x+1
-
[填空题]有以下程序:
void f(int a[],int i,int j)
int t;
if(i<j)
t=a[i];a[i]=a[j];a[j]=t;
f(a,i+1,j-1);
main( )
int i,aa[5]=1,2,3,4,5;
f(aa,0,4);
for(i=0;i<5;i++) printf("%d,",aa[i]);printf("//n");
执行后的输出结果是 。
-
[填空题]下列程序的运行结果是______。
#define POWER(x) ((x)*(x))
main ( )
int i=1;
printf("%d,%d",POWER(i++),i);