2014年大学软件学院高职升本专业课模拟试题-01
考场号 考生号 姓名
第一部分 C语言部分 100分
一、单项选择题(共25小题,每题2分,共50分)
以下每小题列出的四个备选答案中只有一个符合题目要求,请将正确答案填入“单项选择题答题表”对应的格中,未填入答题表,错选或多选均不得分。
1. 以下叙述不正确的是
A. 一个C源程序可由一个或多个函数组成 B. 一个C源程序必须包含一个main函数
C. C程序的基本组成单位是函数 D. 在C程序中,注释说明只能位于一条语句的后面
2. 在C语言中,假设所有变量均为整型,则表达式(a=3,b=7,a++,a+b)的值是
A.1O B.11 C.4 D. 13
3. 在C程序中,有语句“int k=7,x=12;”,则下列表达式的值为3的是
A. x%=k-k%5 B. x%=(k-k%5) C. x%=(k%=5) D. (x%=k)-(k%=5)
4. 在C语言中,非法的字符常量是
A. '\t' B. '\17' C. "\n" D. '\xaa'
5. 若有条件表达式(exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是
A. (exp==0) B. (exp!=0) C. (exp==1) D. (exp!=1)
6. 在C语言中,有语句“int a,b; scanf("a=%d b=%d",&a,&b);”,下列输入方法能使a的值为2、b的值为3的是
A. a=2 b=3 B. a=2,b=3 C. 2,3 D. 2 3
7. 若有定义:float x=1.5;int a=1,b=3,c=2;则正确的switch语句是
A. switch(x) B. switch((int)x);
{ case 1.0: printf("*\n"); { case 1.0:printf("*\n");
case 2.0: printf("**\n"); case 2.0: printf("**\n");
} }
C. switch(a+b) D. switch(a+b)
{ case 1: printf("*\n"); { case 1: printf("*\n");
case 2+1: printf("**\n"); } case c: printf("**\n");
} }
8. 以下程序段的输出结果是
int a[]={1,2,3,4,5,6},*p;
p=a;
*(p+3)+=2;
printf("%d,%d\n",*p,*(p+3));
A. 0,5 B. 1,5 C. 0,6 D. 1,6
9. C语言中函数返回值的类型由( )决定的。
A. return语句中的表达式类型 B. 调用该函数的主调函数的类型
C. 调用函数时临时决定 D. 定义函数时所指定的函数类型
10. 在C语言中,有以下程序段:
int a=10,b=O;
do{ b+=2;
a-=2+b; } while(a>=O);
程序段中循环体的执行次数是
A.2 B.3 C.4 D. 5、
11. 在C语言中,以下函数定义格式正确的是
A.double fun(int x,int y) B.fun(int x,y)
{ z=x+y; { int z;
retun z; return z;
} }
C.fun(x,y) D.double fun(int x,int y)
{ int x,y; { double z;
double z; z=x+y;
z=x+y; return z;
return z; }
}
12. 以下叙述中正确的是
A. 构成C程序的基本单位是函数 B. 可以在一个函数中定义另一个函数
C. main()函数必须放在其它函数之前 D. 所有被调用函数一定要在调用之前进行定义
13. 在C语言中,以下错误的定义语句是
A. int x[][3]={{0},{1},{1,2,3}};
B. int x[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};
C. int x[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};
D. int x[][3]={1,2,3,4};
14. 在C语言中,有以下程序段:
char str[]="\tab\n\012\\\"";
printf("%d",strlen(str));
其输出结果是
A.3 B. 4
C.7 D.13
15. 能正确表示a和b同时为正或同时为负的表达式是
A. (a>=0||b>=0)&&(a<0||b<0) B. (a>=0&&b>=0)&&(a<0&&b<0)
C. (a+b>0)&&(a+b<=0) D. a*b>0
16. 若int i=10;执行下列程序后,变量i的正确结果是
switch(i)
{ case 0:i+=1;
case 10:i+=1;
case 11:i+=1;
default:i+=1;
}
A. 10 B.11 C. 12 D. 13
17. 设有如下定义:
struct sk
{ int a;float b; } data, *p;
若有p=&data,则对data中的成员a的正确引用是
A. (*p).data.a B. (*p).a C. p->data.a D. p.data.a
18. 在下面关于指针的说法中,错误的一条是
A. 变量的指针就是变量的地址
B. 可以将一个整型量或任何其他非地址类型的数据赋给一个指针变量
C. 一个指针变量只能指向同一个类型的变量
D. 指针变量中只能存放地址
19. 以下程序运行后的输出结果是
#include <stdio.h>
main()
{ int i=5,j=0;
do j=j+(--i);
while(i<2);
printf("%d\n",j);
}
A. 4 B. 5 C. 6 D. 9
20. C语言规定,程序中各函数之间
A. 既允许直接递归调用也允许间接递归调用 B. 不允许直接递归调用也不允许间接递归调用
C. 允许直接递归调用不允许间接递归调用 D. 不允许直接递归调用允许间接递归调用
21. 在下列叙述中,错误的一条是
A. 全局变量存放在静态存储区中,在程序开始执行时就给全局变量分配存储区,程序执行完才释放
B. 在有参函数中,形参在整个程序一开始执行时便分配内存单元
C. 用数组名作函数实参和形参时,应在主调函数和被调用函数中分别定义数组
D. 在同一个源文件中,全局变量与局部变量同名时,在局部变量的作用范围内,全局变量不起作用
22. 在下列叙述中,正确的一条是
A. puts和gets函数只能输入或输出一个字符串
B. 在C语言中,函数可以递归调用或递归定义
C. 用scanf函数输入数据时可以规定精度,例如scanf("%7.2f",&a);
D. 外部变量只限于本文件中使用
23. 在下列的函数调用中,不正确的是
A. max(a,b); B. max(3,a+b); C. max(3,5); D. int max(a,b);
24. 下列程序的输出结果是
#include <stdio.h>
struct abc
{ int a,b,c; };
main()
{ struct abc s[2]={{1,2,3},{4,5,6}};
int t;
t=s[0].a+s[1].b%s[0].c;
printf("%d\n",t);
}
A. 2 B. 3 C. 4 D. 7
25. C语言中,要求运算数必须是整型的运算符是
A. % B. / C. < D. !
二、填空题(共10题,每题1分,共10分)
请按照试题中对应的标号顺序填写到答题表中
1. 设n=10,i=4,则赋值运算n%=i+1执行后,n的值是 。
2. 在C语言中,优先级最低的运算符是 。
3. 设char w;int x;float y;double z;,则表达式w*x+z-y的值的类型是 。
c语言二维数组转置4. 设char s[]="hello!";,则数组s有 个元素。
5. 在C语言中,若x为整型变量,则(!x)==(x!=0)的值为 。
6. C语言提供的预处理功能主要有三种: 、文件包含和条件编译。
7. 结构化程序的三种结构是顺序结构、选择结构、 。
8. 若定义函数时类型缺省,则该函数默认的类型是____________。
9. 设int a=1,b=2,m=2,n=2;,执行表达式(m=a<b)||++n后,n的值是 。
10. 定义int i=1;执行语句 while(i++<5);后,i的值为 。
三、判断题
判断下题是否正确,正确的划√,错误的划×(每题1分,共15分)
( ) 1. 语句scanf("%5.2f",&a);是非法的。
( ) 2. break,return 所起的作用是一样的,都是跳出循环。
( ) 3. C语言中的变量按作用域分为两种:即局部变量和全局变量。
( ) 4. 运算符的优先级依次为(由高到低):!(非)、关系运算符、算术运算符、&&和||、赋值运算符。
( ) 5. 包含命令中的文件名可以用双引号括起来,也可以用括号括起来,如:#include "stdio.h"、#include (math.h)。
( ) 6. 函数的参数不仅可以是整型、实型、字符型等数据,还可以是指针类型。它的作用是将一个变量的地址传送到另一个函数中。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论