当前位置:首页 > 非计算机专业计算机等级考试C语言练习题(吐血推荐)
C语言笔试练习题
一、单选题:(请选择一个正确结果) 1.下列语句的输出为()
int x=-1;
printf(\); A)-1,65535,177777 -1,-1
C)-1,32767,-17777 D)-1,32768,177777
2.若x,y为实数类型的变量,要判断x,y相等,最好使用下列关系表达式( C)
A)x= =y; x-y= =0;
C)fabs(x-y)〈1e-8; abs(x-y)〈1e-8;
3.若有以下的定义、说明和语句,则值为101的表达式是()。
struct cw {inta ; int *b; }*p;
int x0[]={11,12},x1[]={31,32}; static struct cw x[2]={100,x0,300,x1}; p=x; A)*p-〉b C)+ +(p->a) (B )。
char *sp=\printf(\A) 12
D)13 void main() { int x=23;
do
{ printf(\--);
1
5.有如下程序
ter
B)3
C)17
B)p-〉a
D)(p+ +)-〉a
D)
B)
B)-1,
}
}while(!x);
该程序的执行结果是(B)
A)321
C)不输出任何内容 死循环
6.若已定义x和y为double类型,则表达式x=2, y=x+10/4的值是(C)
A)2
B)4
C)4.0
D)4.5
D)陷入B)23
7.要将一个整数12000分别以ASCII码文件和二进制文件形式存放,各自所占的存储空间数分别是()字节。 A)5和2
B)2和5
C)2和2
D)5和5
8.对于类型相同的两个指针变量之间,不可进行的运算是()
A)= =
B)=
C)+
D)-
B)float D)char
C
)
9.sizeof(’a’+10.4)的值为()类型。
A)int double
10.若有定义int a=3; 则执行完printf(\-a--);语句后a的值为(A)
A)-3
B)2
C)-2
D)3
4.若有以下定义和语句,则输出结果是11.若有float x=2.5;y=4.7;int a=7; 则表达式x+a%3*(int) (x+y)%2/4的值为(D)
A)4.0
B)3.0
C)2.75
D)2.5
12.语句printf(\-5.3s\的输出结果是( B)
A)s= com B)s=com D)s=ter
C)s=
13.int a=3,b=4,c=5;执行完表达式a+ +>--b&&b++>c--&&++c后,a,b,c的值分别为(B)
A)3 4 5 4 4 5
B)4 3 5 C)4 4 4 D)调试程序和()
A)数据设计
B)算法分析 C)编制程序说明文档
D)编译
14.int x=3,y=1;则条件表达式x>y?1:2.3的值为(A)
A)1
B)1.0
C)2.3
D)2
20.表达式11&10的结果用十进制表示为()。
A)11
C)a[i]
D)10
(A)顺序结构、选择结构、循环结构
(B)递归结构、循环结构、转移结构
(C)嵌套结构、递归结构、顺序结构
(D)循环结构、转移结构、顺序
D)
结构
22.若有以下说明和语句,请选出哪个是对c数组元素的正确引用(D)
int c[4][5],(*cp)[5]; cp=c;
(A)cp+1 (B)(cp+3) (C)*(cp+1)+3 (D)*(*cp+2) 23.设有如下的程序段:
char str[ ]=\
C)5
D)
char *ptr; ptr=str;
执行上面的程序段后,*(ptr+5)的值为(B)。 (A)o'
(B) '\\0'
(C)不确定的
值 (D) 'o'的地址
24.执行下面的程序段后,B的值为(B)。
int x=35; char z='A'; int B;
B=((x&15)&&(z<'a')); (A)0
2
(B)1
(C)2
B)3
C)1
15.若有定义int i=2,a[10],*p=&a[i]:则与*p++等价的是(D)
A)a[i+ +] B)a[i]+ +
D)a[+ +i] void main()
{ int a=5,*p1,**p2;
p1=&a,p2=&p1; (*p1)+ +;
printf(\} A)5 不确定
17.以下程序的输出结果是()
int x=3,y=4; void main( ) { int x,y=5;
x=y+ +; printf(\,x); } A)3 6
18.若#include后面的文件名用双引号括起来,寻找被包含文件的方式是(A)
A)先按系统设定的标准方式查找,再在当前目录中查找
B)先在当前目录中查找,再按系统设定的标准方式查找
C)只在当前目录中查找
D)只按系统设定的标准方式查找 19.程序设计的步骤一般分为:分析问题、构造模型、设计与描述算法、编写程序、
B)4 B)4
C)6
21.结构化程序语言的三种基本结构是(A)
16.以下程序的输出结果是(C):
(D)3
(C)
25.以下程序的输出结果为(C)。
#include
for(i=0;i<10;i++); printf(\
}
(A)0 (B)123456789
(C)0123456789 (D)10
??1?b??0?1?
(a?0)(a?0) (a?0)(a?0)(a?0) (a?0)
(D)
??1?b??0?1?
29.在下列程序中,调用f(8)的值是(D)
int f(int n)
{ if(n==1)return(1); else if(n==2) return(2); else return(f(n-1)+f(n-2)); } (A)13
(B)21
(C)55
26.以下程序的输出结果是(B)。
#include
{ int i=010,j=10;
printf(\} (A)11,10
(D)10,9
(B)2
(C)3 (B)9,10
(C)010,9
(D)34
27.表达式k=(12<10)?4:1?2:3的值为(B)。
(A)1
(D)4
30.在执行程序china.exe时,若输入的命令行为:china enlish Beijing,则程序执行结果为()。
#include
void main(int argc, char *argv[]) { while(argc>1)
{printf(\
--;}} (A)eB Beijing
31.如a为int型,则与表达式a等价的C语言关系表达式是() (A)a>0 (B)a!=0 (C)a==0 32
(D)a>0 .
循
环
语
句
(B)ceB
(C)china enlish Beijing
(D)enlish
28.有一C语言源程序如下:
main()
{ int a,b=-1;scanf(\
if(a)if(a>0)b=1;else b=0; }
该程序所表示的数学函数关系是()
??1?(A)b??0?1?
(a?0)(a?0) (a?0)(a?0)(a?0) (a?0)(B)
??1?b??0?1?for(a=0,b=0;(b!=45)||(a<5);a++);的循环次数是()
(A)4 无数多次
(B)3
(C)5
(D)
3
33.一个C语言程序是由(B)组成。
(A)一个函数 干个函数 (C)一个过程 或若干个过程
34.设有字符数组a,则正确的输入语句是(C)。
(A)gets('a');
(B)scanf(\(D)gets(\
(D)一个过程
(B)一个或若
到本源程序文件结束
40.在 c语言中,函数调用时如果相应的形参和实参都是简单变量,则主调函数和被调函数之间传递数据的方式是( C )。
(A)单向地址值传递 地址值传递
(C)单向数值传递 数值传递
41.有定义:int a[5][4],*p=a[0];,则*(p+2*4+3)等于( D )。
(A)a[2][0]
(D)a[2][3]
(B)a[2][1]
(C)a[2][2]
(D)双向
(B)双向
(C)scanf(\
35.如果程序中有static char c;则编译程序会对其自动设置初值为()。
(A) '\\n'
(B) \(D) '\\0' (B)T
(C)0
42.C语言中,一个函数调用语句为fun((el,e2,e3),(e4,e5),e6);,其实参个数为( A )。
(A)3个
(D)6个
(B)4个
(C)5个
36.C语言用(D)表示逻辑真值。
(A)true 1 37
.
已
知
:
int*p;
使
用
“p=malloc(sizeof(int));”语句动态申请int型的存储单元,应当使用( )。
(A)int
(D)(int*)
(B)int*
(C)(*int)
(C)整型值0
(D)非0整型值整数
43.有如下程序,该程序的输出结果是( A )
main( )
{ int x=1,a=0,b=0;
switch(x) {case 0;b++; case 1:a++; case 2:a++;b++;
(B)static
44
}
(A)a=2,b=1 (B)a=l,b=l
(C)a=l,b=0 .
在
执
(D)a=2,b=2 行
语
句
38.在C函数中,局部变量的隐含存储类型是( A )。
(A)auto
(D)extern
(C)register
39.C语言中,以下叙述中错误的是( C )。
(A)同一程序中,全局变量和局部变量可以同名
(B)局部变量的作用域被限定在其所定义的局部范围中
(C)同一程序中,全局变量和局部变量不能同名
(D)全局变量的作用域从定义处开始
4
if((x=y=2)>=x&&(x=5))y*=x;后变量x、y的值应分别为( )。
(A)2、4 (D)执行时报错 45.若( )。
N
为整型变量,则
for(N=10;N=0;N--);循环里的循环体被
(B)5、2
(C)5、10
共分享92篇相关文档