20XX年广西区计算机等级考试二级C语言笔试试题及答案
计算机等级考试 更新:2008-11-21 编辑:云和山的彼端
第一卷(共70分)
第一部分:基础知识(20题,共40分)
1、一个C程序总是从( )开始执行。
A.程序的第一条执行语句
B.主函数
C.子程序
D.主程序
2、在C语言中,int, char和short int三种类型变量所占用的内存大小是( )。
A.均为2个字节
B.由用户自己定义
C.由所用机器的字长决定
D.是任意的
第一部分:基础知识(20题,共40分)
1、一个C程序总是从( )开始执行。
A.程序的第一条执行语句
B.主函数
C.子程序
D.主程序
2、在C语言中,int, char和short int三种类型变量所占用的内存大小是( )。
A.均为2个字节
B.由用户自己定义
C.由所用机器的字长决定
D.是任意的
3、若有以下类型说明语句:
char a; int b; float c; short int d;
则表达式(c*b+a)*d的结果类型是( )。
A.char
B.int
C.double
D.float
4、若有说明语句:
int w=1,x=2,y=3,z=4;
则表达试w>x?w:z>y?z:x的值是( )
A.4
B.3
C.2
D.1
5、设x,y 为int型变量,则执行下列语句后,y的值是( )
char a; int b; float c; short int d;
则表达式(c*b+a)*d的结果类型是( )。
A.char
B.int
C.double
D.float
4、若有说明语句:
int w=1,x=2,y=3,z=4;
则表达试w>x?w:z>y?z:x的值是( )
A.4
B.3
C.2
D.1
5、设x,y 为int型变量,则执行下列语句后,y的值是( )
x=5;
y=x++*x++;
y=--y*--y;
A.529
B.2401
C.1209
D.625
6、C语言中函数返回值的类型是( )
A.return语句中的表达式类型
B.调用函数的类型
C.总是int型
D.定义函数时所指定的函数类型
7、凡是在函数中未指定存储类别的变量,其隐含的存储类别是( )
A.自动
B.静态
y=x++*x++;
y=--y*--y;
A.529
B.2401
C.1209
D.625
6、C语言中函数返回值的类型是( )
A.return语句中的表达式类型
B.调用函数的类型
C.总是int型
D.定义函数时所指定的函数类型
7、凡是在函数中未指定存储类别的变量,其隐含的存储类别是( )
A.自动
B.静态
C.外部
D.寄存器
8、在源程序的一个文件中定义的全局变量的作用域是( )
A.本文件的全部范围
B.该程序的全部范围
C.一个函数的范围
D.从定义该变量的位置开始至该文件的结束
9、以下不正确的描述是( )
A.break语句只能用于循环语句和switch语句
B.在switch语句中,break语句的作用也可用continue语句来替代
C.在循环语句中,使用continue语句是为了结束本次循环,而不是终止循环的执行
D.在循环语句中,使用break语句是为了使流程跳出循环体,提前结束循环
10、若有宏定义 #define mod(x,y) x%y
则执行以下程序段后,输出为( )
int z,a=15,b=100;
D.寄存器
8、在源程序的一个文件中定义的全局变量的作用域是( )
A.本文件的全部范围
B.该程序的全部范围
C.一个函数的范围
D.从定义该变量的位置开始至该文件的结束
9、以下不正确的描述是( )
A.break语句只能用于循环语句和switch语句
B.在switch语句中,break语句的作用也可用continue语句来替代
C.在循环语句中,使用continue语句是为了结束本次循环,而不是终止循环的执行
D.在循环语句中,使用break语句是为了使流程跳出循环体,提前结束循环
10、若有宏定义 #define mod(x,y) x%y
则执行以下程序段后,输出为( )
int z,a=15,b=100;
z=mod(b,a);
printf(“%d\n”,z++);
A.11
B.10
C.6
D.宏定义不合法
printf(“%d\n”,z++);
A.11
B.10
C.6
D.宏定义不合法
11、若有说明语句: char s1[4]=”12”; char *ptr;
则执行下列语句后输出为( )
ptr=s1;
printf(“%c\n”,*(ptr+1));
A.字符‘2’
B.整数2
C.字符串“12”
D.字符‘1’
12、若有以下语句
则执行下列语句后输出为( )
ptr=s1;
printf(“%c\n”,*(ptr+1));
A.字符‘2’
B.整数2
C.字符串“12”
D.字符‘1’
12、若有以下语句
int x[]={2,4,6,8,10,12},*ptr;
ptr=x;
则对数组元素的正确引用为( )
A.x
B.x[6]
C.*(--ptr)
D. *(++ptr)
13、若有说明语句:int i,x[3][4];则不能实现将x[1][1]的值赋给变量i的语句是( )
A.i=*(*(x+1)+1)
B.i=*(*(x+1))
C.i=x[1][1]
D.i=*(x[1]+1)
14、若已定义了如下的共用体类型变量x,则x所占用的字节数(在16位PC机条件下)为( )
union data{
ptr=x;
则对数组元素的正确引用为( )
A.x
B.x[6]
C.*(--ptr)
D. *(++ptr)
13、若有说明语句:int i,x[3][4];则不能实现将x[1][1]的值赋给变量i的语句是( )
A.i=*(*(x+1)+1)
B.i=*(*(x+1))
C.i=x[1][1]
D.i=*(x[1]+1)
14、若已定义了如下的共用体类型变量x,则x所占用的字节数(在16位PC机条件下)为( )
union data{
int i;
char ch;
double f;
}x;
A.7
B.11
C.8
D.10
15、如下说明语句:
enum A {A0=1,A1=3,A2,A3,A4,A5};
enum A B;
执行:
B=A3;
printf(“%d\n”,B);
输出的是( )
char ch;
double f;
}x;
A.7
B.11
C.8
D.10
15、如下说明语句:
enum A {A0=1,A1=3,A2,A3,A4,A5};
enum A B;
执行:
B=A3;
printf(“%d\n”,B);
输出的是( )
A.5
B.3
C.2
计算机二级c语言选择题库D.编译时出错
16、while(!x)中的条件表达式(!x)与下面条件( )等价。
A.x==0
B.x==1
C.x==0|| x==1
D.x!=0
17、有以下说明语句,则对结构体变量s的成员num的不正确引用是( )
struct student{
int num;
int age;
}s,*p;
A.s.num
B.3
C.2
计算机二级c语言选择题库D.编译时出错
16、while(!x)中的条件表达式(!x)与下面条件( )等价。
A.x==0
B.x==1
C.x==0|| x==1
D.x!=0
17、有以下说明语句,则对结构体变量s的成员num的不正确引用是( )
struct student{
int num;
int age;
}s,*p;
A.s.num
B.*p.num
C.p->num
D.(*p).num
18、说明语句int (*p)[10]定义了p是( )
A.指针数组
B.指向数组的指针
C.返回值为整型的函数指针
D.指向整型数的指针
19、下面对文件操作函数描述正确全面的是( )
int n_read=read(int fd,char *buf,int n);
从文件fd中读n个字节存放在buf中
从文件fd中读n个整数存放在buf中
从文件fd中读n个字节存放在buf中,并将n赋给n_read
从文件fd中读n个字节存放在buf中,并将实际读入的字节数和出错代码赋给n_read
20、C语言的编译系统对宏命令是( )
C.p->num
D.(*p).num
18、说明语句int (*p)[10]定义了p是( )
A.指针数组
B.指向数组的指针
C.返回值为整型的函数指针
D.指向整型数的指针
19、下面对文件操作函数描述正确全面的是( )
int n_read=read(int fd,char *buf,int n);
从文件fd中读n个字节存放在buf中
从文件fd中读n个整数存放在buf中
从文件fd中读n个字节存放在buf中,并将n赋给n_read
从文件fd中读n个字节存放在buf中,并将实际读入的字节数和出错代码赋给n_read
20、C语言的编译系统对宏命令是( )
A.在程序运行时进行代换处理的
B.在程序连接时进行处理的
C.与程序中其他C语句同时进行编译的
D.在对源程序其他成分正式编译之前进行处理的
B.在程序连接时进行处理的
C.与程序中其他C语句同时进行编译的
D.在对源程序其他成分正式编译之前进行处理的
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论