试卷详情
-
二级C语言笔试-343
-
[单项选择]以下关于C语言数据类型的叙述中正确的是( )。
A. C基本数据类型包括:分为整型、实型、浮点型、字符型四种
B. 实型常量的表达方式包括十进制形式、十六进制形式、二进制形式、八进制形式、指数形式
C. 若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型
D. 若只处理“真”和“假”两种逻辑值,应使用逻辑类型
-
[单项选择]
若有以下说明和定义 typedefint * INTEGER; INTEGER p,* q; 以下叙述正确的是()
A. p是int型变量
B. p是基类型为int的指针变量
C. q是基类型为int的指针变量
D. 程序中可用INTEGER代替int类型名
-
[单项选择]在计算机中,算法是指()。
A. 查询方法
B. 加工方法
C. 解题方案的准确而完整的描述
D. 排序方法
-
[单项选择]以下程序的输出结果是
main( )
int c=35;printf("%d/n",c&c);
A. 0
B. 70
C. 35
D. 1
-
[单项选择]下列程序是用来判断数组中特定元素的位置所在的。
#include<conic.h>
#include<stdio.h>
int fun(int *s,int t,int *k)
int i;
*k=0;
for(i=0;i<t;i++)
if(s[*k]<s[i])*k=i;
returns[*k];
main( )
int a[10]=876,675,896,101,301,401,980,431,451,777,k;
fun(a,10,&k);
printf("%d,%d/n",k,a[k]);
如果输入如下整数:876 675 896 101 301 401 980431 451 777
则输出结果为
A. 7,431
B. 6
C. 980
D. 6,980
-
[单项选择]以下函数值的类型是______。
fun(float x)
float y;
y=3*x-4;
return y;
A. int
B. 不确定
C. void
D. float
-
[单项选择]下面程序的输出结果是______。
#define a 121
const b=12;
enum ca1,a2;
main( )
printf("%d,%d,%d",sizeof(a) ,sizeof(b) ,sizeof(enum c) );
A. 121,0,4
B. 2,2,2
C. 0,2,4
D. 0,2,2
-
[单项选择]以下定义语句中正确的是
-
[单项选择]软件设计中模块划分应遵循的准则是
A. 低内聚低耦合
B. 高内聚低耦合
C. 低内聚高耦合
D. 高内聚高耦合
-
[填空题]在E-R图中,图形包括矩形框、菱形框、椭圆框,其中表示实体联系的是______框。
-
[填空题]以下程序运行后的输出结果是______。
struct NODE
int k;
struct NODE*link;
;
main( )
struct NODE m[5],*p=m,*q=m+4;
int i=0;
while(p!=q)
p->k=++i;p++;
q->k=i++;q--;
q->k=i;
for(i=0;i<5;i++)printf("%d",m[i].k);
printf("/n");
-
[单项选择]若有语句:char *line[5]; ,以下叙述中正确的是( )。
A. 定义line是一个数组,每个数组元素是一个基类型为char的指针变量
B. 定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组
C. 定义line是一个指针数组,语句中的*号称为间址运算符
D. 定义line是一个指向字符型函数的指针
-
[填空题]以下程序的输出结果是______。
main( )
int a=5,b=4,c=3,d;
d=(a>b>C) ;
printf(“%d/n”,D) ;
-
[填空题]以下程序运行后的输出结果是______。
main( )
int a,b,c;
a=25;
b=025;
c=0x25;
printf("%d %d %d/n",a,b,c);
-
[填空题]若变量n的值为24,则print函数共输出______行,最后一行有______个数。
void print(int n,int aa[])
int i;
for(i=1;i<n;i++)
printf("%6d",aa[i]);
if(!(i%5)) printf("/n");
printf("/n");
-
[填空题]实现算法所需的存储单元多少和算法的工作量大小分别称为算法的______。
-
[单项选择]如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是 ( )
A. e3,e1,e4,e2
B. e2,e4,e3,e1
C. e3,e4,e1,e2
D. 任意顺序
-
[单项选择]有如下程序段
int*p,a=10,b=1;p=&a;a=*p+b;
执行该程序段后,a的值为______。
A. 12
B. 11
C. 10
D. 编译出错
-
[单项选择]结构化程序设计的核心和基础是( )。
A. 结构化分析方法
B. 结构化设计方法
C. 结构化设计理论
D. 结构化编程方法
-
[单项选择]组成计算机网络的最大好处是()
A. 进行通话联系
B. 资源共享
C. 发送电子邮件
D. 能使用更多软件
-
[单项选择]以下程序的输出结果是( )。
#finclude "stdlib.h"
fun(int**p,int a[3][3])
**p=a[2][2];
main( )
int a[3][3]=2,4,6,8,10,12,14,16,18,*p;
p=(int*)mallocsizeof(int));
fun(&p,a);
printf("%d/n",*p);
A. 6
B. 16
C. 12
D. 18
-
[填空题]若用0至9之间不同的三个数构成一个三位数,下面程序将统计出共有多少种方法。请填空。
#include<stdio.h>
main( )
int i,j,k,count=0;
for(i=0;i<=9;i++)
for(j=0;i<=9;j++)
if(______)continue;
else for(k=0;k<=9;k++)
if(______)count++;
printf("%d",count);
-
[单项选择]下列程序段的运行结果是( )。
#include<stdio.h>
void main( )
char str[]="ABC",*p=str;
printf("%d/n",*(p+3));
-
[填空题]若有说明char s1[]="That girl",s2[]="is beautiful";则使用函数strcmp(s1,s2)g,结果是______。
-
[单项选择]有以下程序:
fun(int x)
int p;
if(x=0||x==1)return(3);
p=x-fun(x-2);
return p;
main( )
printf("%d/n",fun(7));
执行后的输出结果是______。
A. 7
B. 3
C. 2
D. 0
-
[单项选择]以下程序的功能是计算s=1+12+123+1234+12345。
main( )
int t=0, s=0, i;
for(i=1; i<=5; i++)
t=i+;
s=s+t;
printf("s=d%/n",s);
则程序运行后的输出结果是
A. t
B. t *10
C. t*100
D. t+10
-
[单项选择]下列说法中,不属于数据模型所描述的内容的是( )。
A. 数据结构
B. 数据操作
C. 数据查询
D. 数据约束
-
[填空题]若有如下程序:
main( )
int x=20;
if(x>10)printf("%d",x-=5);
if(x>15)printf("%d",x);
则程序运行后的输出结果是______。
-
[单项选择]字符串"///"ABCDEF/"//"的长度是( )。
A. 15
B. 10
C. 7
D. 8
-
[单项选择]在C语言中,函数的隐含存储类别是 ( )
A. auto
B. static
C. extern
D. 无存储类别
-
[单项选择]希尔排序法属于()类型的排序法。
A. 交换类排序法
B. 插入类排序法
C. 选择类排序法
D. 建堆排序法
-
[填空题]按数据流的类型,结构化设计方法有两种设计策略,它们是变换分析设计和______。
-
[单项选择]下列描述中正确的是( )。
A. 软件工程只是解决软件项目的管理问题
B. 软件工程主要解决软件产品的生产率问题
C. 软件工程的主要思想是强调在软件开发过程中需要应用工程化原则
D. 软件工程只是解决软件开发过程中的技术问题
-
[单项选择]有定义语句:char s[10];,若要从终端给s输入5个字符,错误的输入语句是______。
A. gets(&s[0]);
B. scanf(“%s",s+1);
C. gets(s);
D. scanf("%s",s[1]);
-
[单项选择]有以下程序
#include <stdio.h>
int fun(char s[])
int n=0;
while(*s<='9'&&*s>='0') n=10*n+*s-'0';s++;
return(n);
main( )
char s[10]='6','1','*','4','*','9','*','0','*';
printf("%d/n",fun(s));
程序的运行结果是
A. 9
B. 61490
C. 61
D. 5
-
[单项选择]以下程序的输出结果是______。
#include<stdio.h>
main( )
int a=5,b=4,c=6,d;
printf("%d/n",d=a>b(a>ca:c):(b));
A. 5
B. 4
C. 6
D. 不确定
-
[填空题]以下程序运行后的输出结果是______。
main( )
int a=1,b=2,c=3;
if(c=A) printf("%d/n",C) ;
else printf("%d/n",B) ;
-
[单项选择]有下面的程序段:
char str[10],ch[]="China";
str=ch; printf("%s",str);
则运行时______。
A. 将输出China
B. 将输出Ch
C. 将输出Chi
D. 编译出错
-
[单项选择]若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是()。
A. -3
B. 9
C. -12
D. 6
-
[单项选择]有如下程序:
main( )
int x=23;
do
printf("%d",x--);
while(!x);
程序运行后的输出结果是( )。
A. 321
B. 23
C. 不输出任何内容
D. 陷入死循环
-
[单项选择]下列不属于软件工程的3个要素的是
A. 工具
B. 过程
C. 方法
D. 环境
-
[单项选择]下列程序的运行结果是( )。
main( )
int a=-5,b=1,c=1;
int x=0,y=2,z=0;
if(c>0) x=x+y;
if(a<=0)
if(b>0)
if(c<=0) y=x-y;
else if(c>0) y=x-y;
else z=y;
printf("%d,%d,%d/n",x,y,z);
A. 2,2,0
B. 2,2,2
C. 0,2,0
D. 2,0,2
-
[单项选择]从一个长度为n的顺序表中删除第i个元素(1≤i≤n)时,需向前移动______个元素。
A. n-i
B. n-i+1
C. n-i-1
D. i
-
[填空题]在一个容量为32的循环队列中,若头指针front=3,尾指针rear=2,则该循环队列中共有 ______个元素。
-
[单项选择]已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 && y+z/2的值是
A. 6
B. 0
C. 2
D. 1
-
[单项选择]下面能正确进行字符串赋值操作的是
-
[填空题]算法的复杂度主要包括空间复杂度和______复杂度。
-
[单项选择]将E-R图转换到关系模式时,实体与实体间的联系可以表示成( )
A. 属性
B. 关系
C. 键
D. 域
-
[单项选择]下列描述错误的是( )。
A. 继承分为多重继承和单继承
B. 对象之间的通信靠传递消息来实现
C. 在外面看不到对象的内部特征是基于对象的“模块独立性好”这个特征
D. 类是具有共同属性、共同方法的对象的集合
-
[单项选择]在C语言中,不正确的int类型的常数是______。
A. 32768
B. 0.
C. 037
D. 0xAF
-
[单项选择]以下程序的输出结果是()。
#inlude<stdio.h>
main( )
int a=2,b=5;
printf("a=%%d,b=%%d/n",a,b);
A. a=2,b=5
B. a=%2,b=%5
C. a=%%d,b=%%d
D. a=%d,b=%d
-
[单项选择]下列语句中,正确的是______。
A. static char str[]="China";
B. static char str[];str="China";
C. static char str1[5],str2[]="China";strl=str2;
D. static char str1[],str2[];str2="China";strcpy(str1,str2);
-
[填空题]下列程序的输出结果是______。
main( )
int a=1,b=2;
a=a+b;b=a-b,a=a-b;
printf("%d,%d/n",a,b) ;
-
[单项选择]设计软件结构是在软件生命周期的( )。
A. 软件定义期
B. 软件开发期
C. 软件维护期
D. 以上三个都不是
-
[单项选择]以下叙述中,不属于面向对象方法的优点的是( )
A. 可重用性好
B. 与人类习惯的思维方法一致
C. 可维护性好
D. 有助于实现自顶向下、逐步求精
-
[填空题]若有如下定义,则该数组的第一维大小为______。
int b[][4]=1,2,3,4,5,6,7,8,9);
-
[单项选择]有以下程序:
#include <stdio.h>
#define N 4
void fun(int a[][N],int b[])
int i;
for (i=0;i<N;i++)b[i]=a[i][i];
main[)
int x[][N]=1,2,3,4,5,6,7,8,9,10,y[N],i;
fun(x,y);
for (i=0;i<N;i++)printf("%d,",y[i]);
printf("/n");
程序的运行结果是()。
A. 1,2,3,4,
B. 1,0,7,0,
C. 1,4,5,9,
D. 3,4,8,10,
-
[填空题]以下程序的运行结果是______。
#include <stdio.h>
long fib(int g)
switch(g)
case 0: return 0;
case 1:
case 2: return1;
return(fib(g-1)+fib(g-2));
main( )
long k;
k=fib(5);
printf("k=%5ld/n",k);
-
[填空题]有以下程序:
#include<stdio.h>
struct STU
int num;
float TotalScore; ;
void f(struct STU p)
struct STU s[2]=20044, 550, 20045, 537;
p. num=s[1].num; p.TotalScore=s[1]. TotalScore;
main( )
struct STU s[2]=20041, 703, 20042, 580;
f(s[0]);
printf("%d%3.0f/n", s[0]. num, s[0]. TotalScore);
程序运行后的输出结果是______。
-
[填空题]设有下列宏定义:
#define A 2
#define B (A+3)
则执行赋值语句“k=B*20;”(k为int型变量)后,k的值是______。
-
[单项选择]检查软件产品是否符合需求定义的过程称为
A. 确认测试
B. 集成测试
C. 验证测试
D. 验收测试
-
[单项选择]
有以下程序()
main(int arge,char *argv[] )
int n,i=0;
while(argv[1] [i] !=’/0’)
{ n-fun( ); i++;}
printf ( "%d/n" , n*argc);
int fun ( )
{ static int s=0;
s+=1;
return s;
}
假设程序经编译、连接后生成可执行文件exam.exe, 若键入以下命令
exam 123 <回车>
A. 6
B. 8
C. 3
D. 4
-
[单项选择]关于字符常量,以下叙述正确的是( )。
A. 空格不是一个字符常量
B. 字符常量能包含大于一个的字符
C. 单引号中的大写字母和小写字母代表的是相同的字符常量
D. 所有的字符常量都可以作为整型量来处理
-
[单项选择]有以下程序
main( )
int k=5;
while(--k)printf("%d",k-=3);
printf("/n");执行后的输出结果是()。
A. 1
B. 2
C. 4
D. 死循环
-
[填空题]下列程序将二维数组a的行和列元素互换后存放到另一个二维数组b中。请填空。
main( )
int a[2][3]=1,2,3,4,5,b[3][2],i,j;
for(i=0;i<2;i++)
for(j=0;j<3;j++)
______;
-
[单项选择]下列if语句非法的是 ( )
-
[单项选择]下列可用于C语言用户标识符的一组是______。
A. void define WORD
B. a3_b3 _123 Car
C. For -abc IFCase
D. 2a DO sizeof
-
[单项选择]设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为()。
A. EOF
B. 非0值
C. 0
D. NULL
-
[填空题]以下函数creat用来建立一个带头结点的单向链表,新产生的结点是插在链表头的
末尾。单向链表的头指针作为函数值返回。请填空。
# include<stdio.h>
struct list
char data;
struct list * next;
;
struct list * creat;
struct list * h,* p,* q;
char ch;
h=(______)malloc ( sizeof(struct list));
p=q=h;
ch=getchar( );
while(ch!=’’)
p=(______)mallco(sizeof(struct list));
p->data=ch;
q->next=p;
q=p;
ch=getchar( );
p->next=’/0’;
______;
-
[单项选择]设x、y、z和k都是int型变量,则执行表达式:x=(y=4,Z=16,k=32)后,x的值为______。
A. 4
B. 16
C. 32
D. 52