二级C语言笔试70
(总分:76.00,做题时间:90分钟)
一、{{B}}选择题{{/B}}(总题数:50,分数:50.00)
1.以下叙述中正确的是 ( )
(分数: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)
 A.1 
 B.0
 C.false
&ue
解析:
3.根据数据结构中各数据元素之间前后件关系的复杂程度,一般将数据结构分成 ( )
(分数:1.00)
 A.动态结构和静态结构
 B.紧凑结构和非紧凑结构
 C.线性结构和非线性结构 
 D.内部结构和外部结构
解析:
4.以下合法的赋值语句是 ( )
(分数: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)
 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)
 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)
 A.a+=a-=(b=4)*(a=3) 
 B.x%(-3);
 C.a=a*3=2
 D.y=float(
解析:
9.以下各组选项中,均能正确定义二维实型数组a的选项是 ( )
(分数: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)
&urn语句中的表达式类型所决定
 B.调用该函数时的主调函数类型所决定
 C.调用该函数时系统临时决定
 D.在定义该函数时所指定的函数类型决定 
解析:
11.以下程序的输出结果是 ( ) #include<stdio.h> main() {struct stru{int a,b: char c[6]; }:
printf("%d/n",sizeof(stru)), }
(分数:1.00)
 A.2
 B.4
 C.8
 D.10 
解析:
12.若有如下说明: union s {char a[9] int b; float c; }t; 则下列叙述正确的是 ( )
(分数:1.00)
 A.共用体变量t不能作为函数的参数 
 B.通过引用共用体变量名t可以得到成员的值
 C.共用体变量t的地址和它的各成员的地址不同
 D.共用体变量t所占的内存长度等于它的各成员所占的内存长度之和
解析:
13.下列关于栈的叙述正确的是 ( )
(分数: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)
 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)
 A.15
 B.120 
 C.34560
 D.-30976
解析:
17.开发大型软件时,产生困难的根本原因是 ( )
(分数:1.00)
 A.大系统的复杂性 
 B.人员知识不足
 C.客观世界千变万化
 D.时间紧、任务重
解析:
18.下面能正确进行字符串赋值操作的语句是 ( )
(分数: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)
 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)
 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)
 A.4,16 
 B.7,7
 C.16,16
 D.4,7
解析:
22.若有以下定义语句: double a[5]; int i=0; 能正确给a数组元素输入数据的语句是 ( )
(分数: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)
 A.int *t
 B.int **t 
 C.long **t
 D.long *t
解析:
25.以下选项中,与k=n++完全等价的表达式是 ( )
(分数: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)
 A.34
 B.4 
 C.35
 D.3
解析:
28.表示关系x≥y≥z应使用C语言表达式 ( )
(分数: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)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。