1、翰子昂阶段性测试 _S1 阶段C 语言理论测试试题本理论考试试卷,共 40 题,每小题 2.5 分,共 100 分。请考生将姓名、考试阶段、试卷类型、准考证号涂在答题卡上。并将每道题的正确选项涂在答题卡相应位置上,答在试卷上不得分,错选、多选或未选均不得分。考试时间为 60 分钟,考试完毕后请将本试卷与答题卡一同上交,不交回试卷者成绩无效。1 下列关于运算符优先顺序的描述中正确的是( c ) 。 (选择一项)a) 关系运算符=1) 7 以下程序的运行结果是:( ) (选择一项)main() int m=5 ;if(m+ 5)printf(“ %dn”,m);elseprintf(“%dn”,m
2、-);a) 4b) 5c) 6d) 78 有以下程序段:int x=0,s=0;while( !x!=0 ) s+=+x;printf(%d“,s);则() (选择一项)a) 运行程序段后输出 0b) 运行程序段后输出 1c) 程序段中的控制表达式是非法的d) 程序段执行无限次9 若 x,i,j 和 k 都是 int 型变量,则执行下面表达式后 x 的值为( ) (选择一项)x=(i=4,j=16,k=32)a) 4b) 16c) 32d) 5210 若有代数式 3ae/bc 则不正确的 C 语言表达式是( ) (选择一项)a) a/b/c*e*3b) 3*a*e/b/cc) 3*a*e/b*
3、cd) a*e/c/b*311 若有说明:int a34; 则对 a 数组元素的非法引用是( ) 。 (选一项)a) a02*1b) a13c) a4-20d) a0412 以下能对二维数组 a 进行正确初始化的语句是( ) 。 (选择两项)a) int a2=1,0,1,5,2,3;b) int a3=1,2,3,4,5,6;c) int a24=1,2,3,4,5,6;d) int a3=1,0,1,1,1;13 在 C 语言中,引用数组元素时,其数组下标的数据类型允许是( ) (选择一项)a) 整型变量b) 整型表达式c) 整型常量或整形表达式d) 任何类型的表达式14 若有说明:int
4、 a34=0;则下面正确的叙述是( ) 。 (选择一项)a) 只有元素 a00可得到初值 0b) 此说明语句不正确c) 数组 a 中各元素都可以得到初值,但其值不一定为 0d) 数组 a 中各元素都可以得到初值,并且所有值都为 015 下面程序的运行结果是:( ) (选择一项)main()int i,j,a=0;for(i=0;i+y;x=i+) i=x;b) for(;x+=i);c) while(1)x+;d) for(i=10;i-)sum+=i;17 下面程序(每行程序后面的数字表示行号)( )(选择一项)mian() 1 2int a3=3*0; 3int i; 4for(i=0;i
5、main()int i,b,k=0;for(i=1;i=0) k+; printf(“%d,%d”,k,b);a) 3,-1b) 8,-1c) 3,0d) 8,-220 能将用 C 语言编写的源文件转换成目标文件的是( )a) .编辑程序b) 编译程序c) 链接程序d) 解释程序21 在 C 语言中,int,char 和 short 种类型数据在内存中所占的字节数( )a) 由用户自己定义b) 均为两个字节c) 是任意的d) 由所用机器的机器字长决定22 在 C 语言中假设有定义:int i;char c,*s;float f,g;则结果为整数的表达式有( ) (选择两项)a) i+f;b)
6、i*cc) f*(int)gd) *s-A+4823 在 C 语言中,设有如下说明语句:struct stuint a;float b;stu_type;则以下说法不正确的是( )a) struct 是结构体类型的关键字b) struct stu 是用户定义的结构体类型c) stu_type 是用户定义的结构体类型名d) a 和 b 是结构体成员名24 一个 C 语言程序是由:( ) 。 (选择一项)a) 一个主程序和若干子程序组成b) 函数组成c) 若干过程组成d) 若干子程序组成25 C 语言中,若有说明:int a10;则对 a 数组元素的正确引用是( ) 。 (选择两项)a) a10b
7、) a3+1c) a(5)d) a026 在 C 语言中,函数 rewind()的作用是( ) 。 (选择一项)a) 使位置指针重新返回至文件开头b) 使位置指针返回至文末尾c) 使位置指针自动移动到下一个字符位置d) 将位置指针指向特定的位置27 运行下面的 C 程序:#includevoid main()int n;scanf(“%d”,if(n+void prt(int *x,int *y,int *z)printf(“%d,%d,%dn”,+*x,+*y,*(z+);void main()int a=10,b=40,c=20;prt(prt(a) 11,42,31 b) 11,41,2
8、012,22,41 12,42,20c) 11,21,40 d) 11,41,2111,21,41 12,42,2234 在 C 语言中( 以 16 位 PC 机为例),5 种基本数据类型的存储空间长度的排列顺序为( )(选择一项)a) char正确的输出结果为:( ) 。 (选择一项)main()int x,y,zscanf(“%d%d%d”,printf(“x+y+z=%dn”,x+y+z);a) x+y+z=48b) x+y+z=35c) x+z=35d) 不确定值40 已有定义 int x;float y;且执行 scanf(“%3d%f”,&x,&y)语句,若从第一列开始输入数据12345678(回车) ,则 x 值为( ) (选择一项)a)12345b)123c)45d)345