试卷详情
-
二级C语言笔试306
-
[单项选择]下列程序的运行结果是( )。 #include<stdio.h> main( ) { int a=0,b=4,c=0,d=10,x; if(a) d=d-10; else if(!b) if(!c) x=15; else x=25; printf("%d/n",d); }
A. 5
B. 3
C. 20
D. 10
-
[单项选择]下列的程序用来输出两个字符串前7个字符中对应相等的字符及其位置号,程序空白处应该填写的是( )。 #include<stdio.h> main( ) { char s1[]="chinese",s2[]="japnese"; int i; for(i=0;s1[i]!='/0' &&s2[i]!='/0';i++) if(s1[i]==s2[i]&&i<7) ______, }
A. putchar(s2);putchar(
B. puts(s1(,
C. printf("%c%d/n",s2,
D. printf("%c",s1);printf("%d/n",
-
[单项选择]下列程序执行输出的结果是( )。 #include <stdio.h> f(int a) { int b=0; stoic c=3; a=c++;b++; return(a); } main( ) { int a=2,i,k; for(i=0;i<2;i++) k=f(a++); printf("%d/n",k); }
A. 3
B. 4
C. 5
D. 6
-
[单项选择]下列程序的运行结果是( )。 int y=5, x=14; y=((x=3* y,x+1),x-1); printf("x=%d,y=%d",x,y);
A. x=27,y=27
B. x=12,y=13
C. x=15,y=14
D. x=y=27
-
[单项选择]在嵌套使用if语句时,C语言规定else总是( )。
A. 和之前与其具有相同缩进位置的if配对
B. 和之前与其最近的if配对
C. 和之前与其最近的且不带else的if配对
D. 和之前的第一个if配对
-
[单项选择]设int x=1,y=1;表达式(!x||--y)的值是( )。
A. 0
B. 1
C. 2
D. -1
-
[单项选择]函数fseek( )的正确调用形式是( )。
A. fseek(位移量,起始点,文件类型指针);
B. fseek(文件类型指针,位移量,起始点);
C. fseek(文件类型指针,起始点,位移量);
D. fseek(起始点,位移量,文件类型指针);
-
[填空题]在面向对象程序设计中,从外面看只能看到对象有外部特征,而不知道也无须知道数据的具体结构以及实现操作的算法,这称为对象的______。
-
[填空题]下列表达式用于判断y是否为闰年。闰年的判断条件是:年号能被4整除但不能被100整除或年号能被400整除,请填空______。
-
[填空题]要求使下列程序输出5个整数,请填空。
for(i=0;i<=______;printf("%d/n",i+=2));
-
[单项选择]下列程序的运行结果为( )。 #define MAX(x,y)(x)>(y)(x):(y) main( ) { int a=2,b=3,c=1,d=3,t; printf("%d/n",(MAX(a+b,c+d))*100); }
A. 500
B. 5
C. 4
D. 400
-
[单项选择]使用白盒测试法时,确定测试数据应该根据( )和指定的覆盖标准。
A. 程序的内部逻辑
B. 程序的复杂结构
C. 使用说明书
D. 程序的功能
-
[单项选择]设有下列的程序段: char str[]="HelloWorld"; char*ptr; ptr=str; 执行上面的程序段后,*(ptr+10)的值为( )。
-
[填空题]下列的for语句的循环次数为______。
for(x=1,y=0;(y!=19)&&(x<7);x++);
-
[单项选择]有下列程序: main( ) { int y=20; do{y--;}while(--y); printf("%d/n",y--); } 当执行程序时,输出的结果是( )。
A. -1
B. 1
C. 4
D. 0
-
[填空题]栈中允许进行插入和删除的一端叫做______。
-
[填空题]下列程序的运行结果是______。
#include<stdio.h>
main( )
{ int a=10,b=3;
printf("%d,",a%b);
printf("%d,",(a-h,a+b));
printf("%d/n",a-ba-b:a+b);
}
-
[单项选择]下列说法正确的是( )。
A. 在C程序中,main()函数必须位于程序的最前面
B. 在C程序中,一条语句只能写一行而不能写多行
C. C程序是以行为基本单位的
D. C语言本身没有输入输出语句
-
[单项选择]设定义下列结构体,结构体变量p的出生年份赋值正确的语句是( )。 stmct st { int x; int y; int z; } struct worker { char name[20]; char sex; struct st birth; }p;
A. x=1987
B. birtx=1987;
C. birtx=1987;
D. x=1987;
-
[单项选择]有下列程序段: int k=0,a=1,b=2,c=3; k=a<bb:a;k=k>cc=k; 执行该程序段后,k的值是( )。
A. 3
B. 2
C. 1
D. 0
-
[单项选择]下列选项中不属于软件生命周期开发阶段任务的是( )。
A. 软件测试
B. 概要设计
C. 软件维护
D. 详细设计
-
[填空题]若有说明char s1[]="That girl",s2[]="is beautiful";则使用函数strcmp(s1,s2)后,结果是______。
-
[填空题]若有下列定义:int a[]={1,2,3,4,5,6,7,8,9,10},*p=a;,则值为3的表达式为:______。
-
[单项选择]若有定义int a[10],*p=a,则p+6表示( )。
A. 数组元素a[5]的值
B. 数组元素a[5]的地址
C. 数组元素a[6]的地址
D. 数组元素a[0]的值加上5
-
[填空题]下列程序的输出结果是______。
#include<stdio.h>
sb(int s[],int b)
{static int n=3;
b=s[n];
n--;
return(b);
}
main( )
{ int s[]={1,5,6,8};
int i,x=0;
for(i=0;i<4;i++)
{x=sb(s,x);
printf("%d",x);
}
printf("/n");
}
-
[单项选择]若有下列定义和语句: int u=011, v=Ox11,w=11; printf("%o,%x,%d/n”,u,v,w); 则输出结果是( )。
A. 9,17,11
B. 9,11,11
C. 11,11,11
D. 11,17,11
-
[单项选择]数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是( )。
A. DB包括DBS和DBMS
B. DBMS包括DB和DBS
C. DBS包括DB和DBMS
D. 没有任何关系
-
[单项选择]表达式~0x11的值是( )。
A. OxFFEE
B. 0x71
C. 0x0071
D. 0xFFE1
-
[单项选择]若有下列定义(设int类型变量占2个字节): int i=8,j=9; 则下列语句: printf("i=%%d,j=%%d/n”,i,j); 输出的结果是( )。
A. i=8,j=9
B. i=%d,j=%d
C. i=%8,j=%9
D. 8,9
-
[单项选择]下列函数值的类型是( )。 fun(double x) { float y; y=3*x-4; return y; }
A. int
B. 不确定
C. void
D. float
-
[填空题]在算法的4个特性中,算法必须能在执行有限个步骤之后终止指的是算法的______特性。
-
[单项选择]算法的时间复杂度是指( )。
A. 执行算法程序所需要的时间
B. 算法程序的长度
C. 算法执行过程中所需要的基本运算次数
D. 算法程序中的指令条数
-
[单项选择]下列程序输出的结果是( )。 main( ) { int a; a=-4+4*5-6;printf(“%d”,a); a=4+4%5-6;printf(“%d”,a); a=-3+4%6/5;printf(“%d”,a); a=(7+6)%5/2;printf(“%d”,a); }
A. 10 2-3 1
B. 10-2 2 1
C. 11-22 1
D. 10 2 2 1
-
[单项选择]若已包括头文件<stdio.h>和<string.h>,运行下列程序段时输出结果是( )。 int i=0; char s1[10]="ABCD",s2[10]="EFG"; strcat(s1,s2); while(s2[i++]!='/0') s2[i]=s1[i]; puts(s2);
A. ABC
B. ABCDEF
C. EBCDEFG
D. CBD
-
[单项选择]下列不属于软件工程的3个要素的是( )。
A. 工具
B. 过程
C. 方法
D. 环境
-
[单项选择]对关系S和只进行集合运算,结果中既包含S中的所有元组也包含只中的所有元组,这样的集合运算称为( )。
A. 并运算
B. 交运算
C. 差运算
D. 积运算
-
[单项选择]表达式'8'-'2'的值是( )。
A. 整数6
B. 字符6
C. 表达式不合法
D. 字符8
-
[填空题]按照逻辑结构分类,结构可以分为线性结构和非线性结构,栈属于______。
-
[单项选择]按照“先进后出”原则组织数据的数据结构是( )。
A. 队列
B. 栈
C. 双向链表
D. 二叉树
-
[单项选择]下列程序的输出结果是( )。 main( ) { char a[7]="a0/0a0/0";int i,j; i=sizeof(a); j=strlen(a); printf("%d %d/n",i,j); }
A. 2 2
B. 7 6
C. 7 2
D. 6 2
-
[单项选择]对建立良好的程序设计风格,下列描述正确的是( )。
A. 程序应该简单、清晰、可读性好
B. 符号名的命名只需要符合语法
C. 充分考虑程序的执行效率
D. 程序的注释可有可无
-
[填空题]函数调用语句:“fsets(buf,n,fp);”从fp指向的文件中读入n个字符放到buf字符数组中,函数返回值为______。
-
[填空题]表达式pow(2.8,sqrt(float(x)))值的数据类型为______型。
-
[填空题]在宏定义#define PI 3.14159中,用宏名PI代替一个______。
-
[单项选择]为了避免在嵌套的条件语句if else中产生二义性,C语言规定,else子句总是与( )配对。
A. 缩排位置相同if
B. 其前面最近的if
C. 其后面最近的if
D. 同一行上的if
-
[单项选择]对于下列定义,不正确的叙述是( )。 union data { int a; char b; double c; }x=y;
A. 变量x所占内存的长度等于成员c的长度
B. 变量x的地址和它的各成员地址都是相同的
C. 可以在定义时对x初始化
D. 不能对变量x赋值,故x=y非法
-
[单项选择]分析下列程序: #include<stdio.h> main( ) { int *p1,*p2,*p; int a=6,b=9; p1=&a;p2=&b; if(a<b){p=p1;p1=p2;p2=p;} printf("%d,%d",*p1,*p2); printf("%d,%d",a,b); } 程序的输出结果为( )。
A. 9,66,9
B. 6,9 9,6
C. 6,9 6,9
D. 9,69,6
-
[单项选择]下列程序的运行结果是( )。 #include<stdio.h> main( ) { static chara[]="Languagef",b[]="programe"; char *p1,*p2;int k; p1=a;p2=b; for(k=0;k<=8;k++) if(*(p1+k)==*(p2+k))printf("%c",*(p1+k)); }
A. gae
B. ang
C. program
D. 有语法错
-
[单项选择]下列描述中,不是线性表顺序存储结构特征的是( )。
A. 不便于插入和删除
B. 需要连续的存储空间
C. 可随机访问
D. 需另外开辟空间来保存元素之间的关系
-
[单项选择]有下列程序: main( ) { int k=5,n=0; do { switch(k) { case 1: case 3:n+=1;k--;break; default:n=0;k--; case2: case 4;n+=2;k--;break; } printf("%d",n); }while(k>0&&n<5); } 程序运行后的输出结果是( )。
A. 235
B. 0235
C. 02356
D. 2356
-
[填空题]软件工程研究的内容主要包括:______技术和软件工程管理。
-
[单项选择]设在C语言中,float类型数据占4个字节,则double类型数据占( )个字节。
A. 1
B. 2
C. 8
D. 4
-
[单项选择]有下列程序段: struct st {int x;int *y;}*pt; int a[]={1,2},b[]={3,4}; struct st c[2]={10,a,20,b}; pt=c; 下列选项中表达式的值为11的是( )。
A. *pt->y
B. pt->x
C. ++pt->x
D. (pt++)->X