if(y〈0)z=0;
elsez=-1+x;
printf(“%d\n”z);
}
A)3B) 2C) 1 D)0
15、执行下列语句后,a得值为()
main( )
{inta=5;
printf(“%d\n”,(a=3*5,a*4,a+5));
}
A)65 B)20C)15D)10
16、下列程序段中,有错误得行就是()
列定行号intx=0,y=10;
2 switch(x)
3 {case3:
4 case –1:
y=y-2;break;
5 case y+1:
x+=5;
6 default:
printf(“%d,%d”,x,y);}
A)4B)3C)5 D)无错误
17、若i为整型变量,则以下循环执行次数就是( ).
#include”stdio、h"
voidmain()
{ inti;
ﻩfor(i=2;i==0; )
printf("%d",i-—);
}
A) 无限次 B)0次 C)1次 D)2次
18、若有以下定义,doublea[10];则a数组元素下标得上、下限分别为()
A)1,10 B) 0,9 C)0,10 D)1,9
19、若已定义得函数有返回值,则以关于该函数调用得叙述中错误得就是()
A)调用可以作为独立得语句存在B)调用可以作为一个函数得实参
C) 调用可以出现在表达式中 D)调用可以作为一个函数得形参
20、定义如下变量与数组:
inti;
intx[3][3]={1,2,3,4,5,6,7,8,9};
则下面语句
for(i=0;i〈3;i++)printf("%d",x[i][2-i]);
输出结果就是()
A)1 59B)147C)3 57D) 36 9
21、以下不能正确定义二维数组得选项就是
A)inta[2][2]={{1},{2}};B) inta[][2]={1,2,3,4};
C)inta[2][2]={{1},2,3};D)inta[2][]={{1,2},{3,4}};
22、若有以下定义:
inta[5]={10,20,30,40,50},*p=a;则执行++(*p)后(*p)++得值就是
A)10 B)11C)20D)21
23、函数得嵌套调用就是指
A) 直接调用本函数
B)在定义函数时,又定义另一个函数
C)间接调用本函数
D)被调用函数又调用另一个函数
24、下列说法正确得就是
A) 被调用函数必须先调用,后声明
B)用户自定义函数得类型若未指出,则系统默认为void
C)全局变量不能与局部变量同名
D)实参可以就是任意表达式
25、以下描述正确得就是( )
A)continue语句得作用,就是结束整个循环语句得执行
B)只能在循环体内与switch语句体内使用break语句
C)在循环体内使用break语句或continue语句得作用相同
D)多层循环嵌套中不可以使用break语句
26、若有说明语句:
“inta[3][4];”,则对数组元素得正确引用格式就是( )
A)a[2][4] B)a[1,3] C)a[1+1][0] D)a
(2)
(1)
27、若有说明:
“int a[3][4]={0};",则下面正确得叙述就是( )
A)只有元素a[0][0]可得到初值0
B)此数组说明语句不正确
C)数组a中各元素都可得到初值,但其值不一定为0
D)数组a中每个元素均可得到初值0
28、定义数组a与b得语句就是:
“chara[]=“ABCDEF”; charb[]={‘A’,‘B',‘C’,‘D’,‘E’,‘F'};”
则以下叙述正确得就是( )
A)a与b数组完全相同 B)a与b数组元素个数相同
C)a与b中都存放字符串 D)a数组比b数组元素个数多
29、语句“int(*ptr) ( );"得含义就是()
A)ptr就是指向一维数组得指针变量
B)ptr就是指向int型数据得指针变量
C)ptr就是指向函数得指针,该函数返回一个int型数据
D)ptr就是一个函数名,该函数返回值就是指向int型数据得指针
30、若有定义:
“int*p[4];",则标识符p就是( )
A)一个指向整型变量得指针
B)一个指针数组名
C)一个指针,它指向一个含有四个整型元素得一维数组
D)无效得数组名
31、在C语言中( )
A) 函数定义可以嵌套,但函数调用不可以嵌套
B)函数定义不可以嵌套,但函数调用可以嵌套
C)函数定义与调用都可以嵌套
D)函数定义与条用都不能嵌套
32、下面程序得输出结果就是( )
#include<stdio、h〉
voidmain()
{inti,j,x=0;
for(i=0;i〈=2;i++)
{x++;
for(j=0;j〈=2;j++)
{ if(j%2)continue;
x ++;}
x++;
}
printf(”%d\n",x);}
A)4 B)6 C)8 D)12
33、执行下列语句后,m得值为()
intm=1,x=2,y=3,z=4;
m=m〈x?
m:
x;
m=m<y?
m:
y;
m=m<z?
m:
z:
A)1 B)4C)2 D)3
34、下列程序段就是实现给数组所有元素赋值操作,应在下划线上填入得就是( )
int a[10];
for(i=0;i〈=9;i++) scanf(“%d”, );
A)a B)&a[i] C)a[i]D)&a[0]
35、下列叙述正确得就是()
A)do-while语句构成得循环不能用其它语句构成得循环来代替
B)do-while语句构成得循环只能用break语句退出
C)用do-while语句构成得循环,在while后得表达式为非零时结束循环
D)用do—while语句构成得循环,在while后得表达式为零时结束循环
36、下列程序得输出结果为()
#include“stdio、h”
main()
{inta,b;
for(a=1,b=1;a<=100;a++)
{if(b〉=20)break;
if(b%3==1)
{b+=3;continue;}
b+=5;}
printf(“%d,%d”,a, b);
}
A)8,20 B)8,22C)7,20D) 7,22
37、设inta[5]={10,15,20,25,30};
int*p;p=a+2;则表达式++*p得值为()
A)20B)15 C)16 D)21
38、设w=1,x=2,y=3,z=4,a=5,b=6,则执行一下语句后A)b得值分别为()
(a=w〉x)&&(b=y〉z);
A) 0与0B) 5与0C)0与6 D) 5与6
39、下列语句得输出为( )
int x=—1;
printf(“%d,%u,%o”,x,x,x);
A) –1,—1,—1 B)–1,32767,-177777
C)–1,32768,177777 D)–1,65535,177777
40、下列函数调用语句中得实参个数为()
fun((a+b,x,y),fun(x,(x+z)));
A)2 B)3C)4 D)5
41、设有数组定义:
chararray[]=”china”;则数组array所占得内存空间为( )
A)4个字节 B)5个字节 C)6个字节 D)7个字节
42、以下程序段得运行结果就是( )。
charc[5]={‘a’,’b’, ‘\0‘ ,‘c’, ‘\0’};
printf(“%s”,c);
A)'a''b’ B)ab C)abc D)a b
43、若C程序中出现死循则违背了算法得()
A)有效性 B)确定性
C)有穷性 D)有一个或多个输出
44、设int