第11套二级C语言考试选择题部分模拟测试
一、选择题(20小题,共20分)
1. 下面关于C语言的叙述中,错误的是( )。
A. 若一条语句较长,也可分写在下一行上B. 构成C语言源程序的基本单位是表达式
C. C语言源程序中大、小写字母是有区别的D. 一个C语言源程序可由一个或多个函数组成
2. C语言的基本数据类型包括( )。
A. 整型、实型、字符型B. 整型、实型、字符型、逻辑型
C. 整型、字符型、逻辑型D. 整型、实型、逻辑型
3. 语句x=(a=3,b=++a);运行后,x、a、b的值依次为( )。
A. 3,3,4B. 4,4,3C. 4,4,4D. 3,4,3
4. 下面叙述中,错误的是( )。
A. C语言基本的算术运算符不包含模运算符 "%"B. 算术运算符的优先级高于关系运算符
C. 自加和自减运算符的结合方向是"自右至左"
D. C语言规定在表达式求值时,按其中运算符的优先级先高后低的次序进行
5. 已知 double a;使用scanf()函数输入一个数值给变量a,正确的函数调用是( )。
A. scanf("%ld", &a);B. scanf("%d", &a);C. scanf("%7.2f", &a);D. scanf("%lf", &a);
6. 下面叙述中,( )不是结构化程序设计三种基本结构的共同特点。
A. 先判断后执行B. 单入口,单出口C. 程序中没有执行不到的语句D. 无死循环
7. 已知char a='R'; 则正确的赋值表达式是( )。
A. a=(a++)%4B. a+2=3C. a+=256--D. a='\078'
8. 以下程序的运行结果是( )。
void main()
{int x,y=1,z;
z=-1;
if(z==0)
z=-z;
else
x=y>0?3:5;
printf("%d\n",x);
}
A. -1B. 3C. 1D. 5
9. 在循环语句的循环体中,break语句的作用是( )。
A. 暂停程序的运行B. 结束本次循环
C. 继续执行break语句之后的循环体各语句D. 提前结束循环,接着执行该循环后续的语句
10. 下列数组定义中,正确的是( )。
A. int a[10];B. int n=10,a[n];C. int N=10;int a[N];D. int n;scanf("%d", &n); int a[n];
11. 以下程序段运行后s的值是( )。
int a[3][3]={1,2,3,1,2,3,1,2,3};
int i,j,s=1;
for(i=0;i
A. 18B. 108C. 2D. 12
12. 有如下定义:
char str[3][2]={ 'a','b','c','\0','e','f'};
则语句:
printf("%s",str[0]);
的输出结果是( )。
A. abB. abcefC. abc\0D. abc
13. 以下程序的运行结果是( )。
int fun(int array[4][4])
{ int j;
for(j=0;j
A. 2 0 0 5B. 1 0 0 4C. 0 1 2 0D. 0 4 5 0
14. 以下叙述中,正确的是( )。
A. “#define PRICE=30”定义了与30等价的符号常量PRICE
B. 预编译处理命令行都必须以“#”开头
C. 程序中使用带参的宏时,参数类型要与宏定义时一致
D. 宏名只能包含大写字母和数字字符
15. 若有定义int *p1,*p2;,则指针变量p1、p2不能进行的运算是( )。
A. <B. =C. +D. -
16. 以下程序段的运行结果是( )。
int x[]={2,3,4,5,6,7},*p=x;
int i,s=0;
for(i=1;i
A. 12B. 15C. 25D. 27
17. 设有以下定义语句:
struct student
{ int num;
char name[10];
float score;
} wang,zhang;
则变量wang所占的内存字节数是( )。
A. 14B. 16C. 18D. 20
18. 若有以下定义:
struct link
{ int data;
struct link *next;
} a,b,c, *head, *p;
其中,指针head指向变量a, p指向变量c,a.next指向变量b,链表结构如下图所示: