二级C语言笔试70
(总分:76.00,做题时间:90分钟)
一、{{B}}选择题{{/B}}(总题数:50,分数:50.00)
1.以下叙述中正确的是 ( )
(分数:1.00)
(分数:1.00)
A.在C程序中,语句之间必须要用分号(;)分隔
B.在C程序中#include行和#define行不是C语句 √
C.程序中的注释部分可有可无,通常可以省略
D.当输入数值数据时,对于整型变量只能输入整型值:对于实型变量只能输入实型值
解析:
2.有如下程序段: int a=14,b=15,x, char c='A'; x=(a&&B) &&(c<'B'); 执行该程序段后,
x的值为 ( )
(分数:1.00)
(分数:1.00)
A.1 √
B.0
C.false
&ue
解析:
3.根据数据结构中各数据元素之间前后件关系的复杂程度,一般将数据结构分成 ( )
(分数:1.00)
(分数:1.00)
A.动态结构和静态结构
B.紧凑结构和非紧凑结构
C.线性结构和非线性结构 √
D.内部结构和外部结构
解析:
4.以下合法的赋值语句是 ( )
(分数:1.00)
(分数:1.00)
A.x=y=100
B.d--; √
C.x+y;
D.c=int(a+ ;
解析:
5.C语言可执行程序的开始执行点是 ( )
(分数:1.00)
A.程序中第一条可执行语言
B.程序中第一个函数
C.程序中的main函数 √
D.包含文件中的第一个函数
解析:
6.设a、b,c为int型变量,若从键盘给a、b,c输入数据,则正确的输入语句是 ( )
(分数:1.00)
(分数:1.00)
A.scanf("%d%d%d",a,b, ;
B.put("%d%d%d",a,b,;
C.input("%d%d%d",a,b,;
D.scanf("%d%d%d",&a,&b,&; √
解析:
7.若以下程序所生成的可执行文件名为, main(int argc,char *argv[]) {while(argc-->0) {++argv;printf("%s",* argv);} }当键入以下命令执行该程序时: FILE1 CHINA BEUING SHANGHAI程序的输出结果是 ( )
(分数:1.00)
(分数:1.00)
A.CHINA BEIJIANG SHANGHAI √
B.FILE1 CHINA BEIJING
C.C B S
D.F C B
解析:
8.设有如下的变量定义; int i=8,k,a,b; unsinged long w=5; double x=1.42,y=5.2 则以下符合C语言语法的表达式是 ( )
(分数:1.00)
(分数:1.00)
A.a+=a-=(b=4)*(a=3) √
B.x%(-3);
C.a=a*3=2
D.y=float(
解析:
9.以下各组选项中,均能正确定义二维实型数组a的选项是 ( )
(分数:1.00)
(分数:1.00)
A.float a[3][4]; float a[][4]; float a[3][]={{1},{0}};
B.float a(3,4); float a[3][4]; float a[][]={{0},{0}};
C.float a[3][4] static float a[][4]={{0},{0}}; √
D.float a[3][4]; float a[3][];
解析:
10.C语言规定,函数返回值的类型是由 ( )
(分数:1.00)
(分数:1.00)
&urn语句中的表达式类型所决定
B.调用该函数时的主调函数类型所决定
C.调用该函数时系统临时决定
D.在定义该函数时所指定的函数类型决定 √
解析:
11.以下程序的输出结果是 ( ) #include<stdio.h> main() {struct stru{int a,b: char c[6]; }:
printf("%d/n",sizeof(stru)), }
(分数:1.00)
(分数:1.00)
A.2
B.4
C.8
D.10 √
解析:
12.若有如下说明: union s {char a[9] int b; float c; }t; 则下列叙述正确的是 ( )
(分数:1.00)
(分数:1.00)
A.共用体变量t不能作为函数的参数 √
B.通过引用共用体变量名t可以得到成员的值
C.共用体变量t的地址和它的各成员的地址不同
D.共用体变量t所占的内存长度等于它的各成员所占的内存长度之和
解析:
13.下列关于栈的叙述正确的是 ( )
(分数:1.00)
(分数:1.00)
A.栈是非线性结构
B.栈是一种树状结构
C.栈具有先进先出的特征
D.栈具有后进先出的特征 √
解析:
14.单个用户使用的数据视图的描述称为 ( )
(分数:1.00)
A.外模式 √
B.概念模式
C.内模式
D.存储模式
解析:
15.分析以下程序,执行后的输出结果是 ( ) int f1(int x,int y) { return x>y? x:y; } int f2(int x,int y) { return x>y? y:x; } main() { int a=4,b=3,c=5,d,e,f; d=f1(a,B) ;d=f1(d,C) ; e=f2(a,B) ;e=f2(e,C) ; f=a+b+c-d-e;printf("%d,%d,%d",d,f,e); }
(分数:1.00)
(分数:1.00)
A.3,4,5
B.5,3,4
C.5,4,3 √
D.3,5,4
解析:
16.若有如下程序: int sub() {static int n=1; int x=1; x*=n;n++; return x; } main() {int n,t=1; for(n=1;n<6;n++)t*=sub(); printf("%d/n",t); } 则程序运行后的输出结果是 ( )
(分数:1.00)
(分数:1.00)
A.15
B.120 √
C.34560
D.-30976
解析:
17.开发大型软件时,产生困难的根本原因是 ( )
(分数:1.00)
(分数:1.00)
A.大系统的复杂性 √
B.人员知识不足
C.客观世界千变万化
D.时间紧、任务重
解析:
18.下面能正确进行字符串赋值操作的语句是 ( )
(分数:1.00)
(分数:1.00)
A.char s[5]={"ABCDE"}
B.char s[5]={'A','B','C','D','E'};
C.char *s;s="APCDEF" √
D.char *s;scanf("%s",;
解析:
19.关系数据库管理系统能实现的专门关系运算包括 ( )
(分数:1.00)
(分数:1.00)
A.排序,索引、统计
B.选择、投影、连接 √
C.关联、更新、排序
D.显示、打印、制表
解析:
20.有以下程序; int f1(double A) { return a*a; } int f2(double x,double y) { double a, b; a
=n(x); b=f1(y); return a+b; } main() { double w; w=f2(1.1,2.0); ┇ } 变量w中的值是 ( )
(分数:1.00)
(分数:1.00)
A.5.21
B.5
C.5.0 √
D.0.0
解析:
21.以下程序的输出结果是 ( ) main() { char ss[16]="test/0/n/""; printf("%d,%d/n",strlen(ss),sizeof(ss)): }
(分数:1.00)
(分数:1.00)
A.4,16 √
B.7,7
C.16,16
D.4,7
解析:
22.若有以下定义语句: double a[5]; int i=0; 能正确给a数组元素输入数据的语句是 ( )
(分数:1.00)
(分数:1.00)
A.scanf("%lf%lf%lf%lf%lf, ;
B.for(i=0;i<=5;i++)scanf("%lf,a+;
enum c++ C.while(i<5)scanf("%lf",&a[i++]); √
D.while(i<5)seanf("%lf,a+;
解析:
23.下面被调用函数sub的函数值的类型是 ( ) sub(float A) {float b; b=a*a+1; return b; }
(分数:1.00)
A.单精度型
B.双精度型
C.空类型
D.整型 √
解析:
24.若定义了以下函数; void sub(……) {…… *t=(int *)malloc(10*sizeof(int)); …… } 其中t是该函数的形参,要求通过t把动态分配存储单元的地址传回主调函数,则形参t的正确定义应该是 ( )
(分数:1.00)
(分数:1.00)
A.int *t
B.int **t √
C.long **t
D.long *t
解析:
25.以下选项中,与k=n++完全等价的表达式是 ( )
(分数:1.00)
(分数:1.00)
A.k=n,n=n+1 √
B.n=n+1,k=n
C.k=++n
D.k+=n+1
解析:
26.以下正确的数组定义语句是 ( )
(分数:1.00)
A.int y[1][4]={1,2,3,4,5,}
B.float x[3][]={{1},{2},{3}}
C.long s[2][3]={{1},{1,2}{1,2,3,}}
D.double t[][3]={0} √
解析:
27.假定所有变量均已正确说明,下列程序段运行后x的值是 a=d=c=0;x=35; if(! a) x=-1, else if(b) ; if(c) x=3; else x=4;
(分数:1.00)
(分数:1.00)
A.34
B.4 √
C.35
D.3
解析:
28.表示关系x≥y≥z应使用C语言表达式 ( )
(分数:1.00)
(分数:1.00)
A.(x>=&&(y>= √
B.(x>AND(y>
C.x>=y>=z
D.(x>=&(y>=2)
解析:
29.以下if语句书写正确的是 ( )
(分数:1.00)
A.if(x=0;) printf("%f",; elseprintf("%f",-;
B.if(x>0) {x=x+1;printf("%f",;} else printf("%f",-; √
C.if(x>0); {x=x+1;printf("%f",;} else printf("%f",-;
D.if(x>0) {x=x+1;printf("%f",} else printf("%f",-;
解析:
30.有以下程序 main() { int n[3],i,j; for(i=0;i<3;i++)n[i]=0; for(i=0;i<2,i++) for(j=0;j<2;j++)n[j]=n[i]+1; printf("%d/n",n[1]); } 程序运行后的输出结果是 ( )
(分数:1.00)
(分数:1.00)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论