2016年程序员考试试题
-
下列关于结构型变量的定义语句中,错误的是( )
- A.typedef struct CCC
- B.#define GGG struct { char name[20];GGG CCC { char name[20]; int age; int age; }GGG; }; GGG abc ; GGG CCC abc;
- C.struct
- D.struct { char name[20]; { char name[20]; int age; int age; }ccc; }abc; CCC abc;
-
能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是
- A.a>=10 or a<=0
- B.a>=0|a<=10
- C.a>=10a<=0
- D.a>=10‖a<=0
-
函数调用时,下列说法中不正确的是 ( )
- A.若用值传递方式,则形式参数不予分配内存
- B.实际参数和形式参数可以同名
- C.主调函数和被调用函数可以不在同一个文件中
- D.函数间传送数据可以使用外部全局变量
-
执行下列程序段后,x的位是( ) int a=8,b=7,c=6,x=1; if(a>6)if(b>7)if(c>8)x=2;else x=3;
- A.0
- B.1
- C.2
- D.3
-
执行下列程序段后,变量y的值为( ) int x[]={1,2,3,4},y,*p=&x[1]; y=(*--P)++;
- A.1
- B.2
- C.3
- D.4
-
计算平方数时不可能引起二义性的宏定义是( )
- A.#define SOR(x)x*x
- B.#define SQR(x)(x)*(x)
- C.# define SQR(x)(x*x)
- D.# define SQR(x)((x)*(x))
-
设有函数调用语句“f(x1,x1+x2,(x1,x2));”,正确的说法是( )
- A.调用的实际参数是2个
- B.调用的实际参数是3个
- C.调用的实际参数是4个
- D.调用时会出现语法错误。
-
设有定义语句“char ch='\77';”,则下列说法中正确的是( )
- A.ch中含有1个字符
- B.ch中含有2个字符
- C.ch中含有3个字符
- D.语法出错
-
以只写方式打开一个二进制文件,应选择的文件操作方式是( )
- A."a+"
- B."w+"
- C."rb"
- D."Wb"
-
函数fopen()的返回值不能是( )
- A.NULL<
- B.0
- C.1
- D.某个内存地址
-
下列数据类型中不属于构造类型的是 ( )
- A.数组型
- B.结构型
- C.共用型
- D.枚举型
-
设有定义语句“int a[]={2, 4,6,8,10},*p=s;”,则值为8的表达式是( )
- A.*p+3
- B.*p+4
- C.*(p+4)
- D.*(s+3)
-
设指针变量p1、 p2已经指向同一个数组的元素,则下列表达式中错误的是( )
- A.p1=p2
- B.p1==p2
- C.p1-p2
- D.p1+p2
-
设有定义语句“char s[]="123";”,则表达式“s[3]”的值是 ( )
- A.’1’
- B.’3’
- C.0
- D.语法出错
-
定义一个具有10个元素的整型数组,应当使用语句( )
- A.int a[10];
- B.int a[2,5];
- C.int a[];
- D.int *a[10];
-
设有“int a=1,b=1;”,“printf("%d,%d",(a++,--b),b-1);”的输出是( )
- A.1,-1
- B.1,0
- C.0,-1
- D.0,0
-
设有定义“int x=8,y,z;”,则执行“y=z=x++,x=y==z;”后,变量x值是( )
- A.0
- B.1
- C.8
- D.9
-
设有定义语句“double d1,d2;”,则表达式“d1=1,d2=d1+5/2”的值是( )
- A.1
- B.3
- C.3.0
- D.3.5
-
正确的C语言标识符是( )
- A.num(10)
- B.file bak
- C.continue
- D.class+2
-
不属于C语言保留字的是( )
- A.for
- B.goto
- C.if
- D.loop
-
执行下列程序后的输出结果是( ) int fun(int x1,int x2) { int x;x1>x2?(x=3):(x=4);return(x+x1); } main() { printf("%d\n",fun( 7,8));}
- A.9
- B.10
- C.11
- D.12
-
下列程序段的输出是( ) typedef union{ long x[2]; short y[4][5]; char z[10]; }TYPE1; TYPE1 u1; printf("%d\n", sizeof(u1));
- A.8
- B.10
- C.40
- D.58
-
关于带参数的主函数,下列说法中错误的是( )
- A.带参数的主函数中,形式参数名称是系统规定的,用户不能自己选择
- B.带参数的主函数中,第1个形式参数是int型的
- C.带参数的主函数中,第2个形式参数是字符型数组
- D.带参数的主函数中,实际参数值只能在执行程序的命令行中获得
-
执行下列程序后的输出结果是( ) #define M(a,b)(a)>(b)?(a):(b) main() { int i=10,i=15; printf("%d\n",10*M(i,j)); }
- A.10
- B.15
- C.100
- D.150
-
执行下列程序段后的的输出结果是( ) x=9; while( x>7) { printf("*");x--;}
- A.****
- B.***
- C.**
- D.*
-
存储整型数据-7856时,在二进制文件和文本文件中占用的字节数分别是( )
- A.2和2
- B.2和5
- C.5和5
- D.5和2
-
对于输入语句scanf("%f,%f",&a,&b);要使变量a、b上的值分别为 1.78和2.48,则正确的输入是( )
- A.1.78,2.48后跟回车
- B.1.78 2.48后跟回车
- C.1.782.48后跟回车
- D.1.78;2.48后跟回车
-
如果某个函数在定义时,省略了存储类型,则默认的存储类型是( )
- A.auto
- B.void
- C.extern
- D.static
-
能正确定义一个用来指向打开文件的文件型指针变量fp的语句是( )
- A.file fp;
- B.file *fp;
- C.FILE fp;
- D.FILE *fp;
-
存储整型数据-7856时,在二进制文件和文本文件中占用的字节数分别是( )
- A.2和2
- B.2和5
- C.5和5
- D.5和2
-
能正确定义一个用来指向打开文件的文件型指针变量fp的语句是( )
- A.file fp;
- B.file *fp;
- C.FILE fp;
- D.FILE *fp;
-
如果某个函数在定义时,省略了存储类型,则默认的存储类型是( )
- A.auto
- B.void
- C.extern
- D.static
-
若有定义语句“int x,*p=&x,**ppx=&px;”,则下列表达式中错误的是( )
- A.x=*px
- B.x=**ppx
- C.px=&ppx
- D.*ppx=&x
-
设有定义语句“int a=10,*p=&a;”,则表达式“a十*p”的值是( )
- A.10
- B.20
- C.100
- D.语法出错
-
若整型变量x的值为8,则下列表达式中值为1的表达式是( )
- A.x+=x-=x=x
- B.x%=x-1
- C.x%=x%=3
- D.x/=x+x
-
字符串"m\x43\\\np\102q"的长度是( )
- A.7
- B.9
- C.15
- D.16
-
下列符号串中,合法的十进制整型常量是( )
- A.09876
- B.0x9876
- C.9.876*e4
- D.-9876
-
设有关变量已经正确定义并赋值,则下列表达式中符合C语言语法规则的是( )
- A.a_=\12
- B.a_1=a_2+=12
- C.int13.5%2
- D.a=b+7=C-2
-
下列符号串中,合法的C语言标识将是( )
- A._121
- B.121_
- C.121
- D.#121
-
在计算机上可以直接运行的程序是写( )
- A.高级语言程序
- B.汇编语言程序
- C.机器语言程序
- D.C语言源程序
-
循环语句“for(x=0, y=0;(y!=123)||( x<4);x++);”的循环执行( )
- A.无限次
- B.不确定次
- C.4次
- D.3次
-
设有如下定义,则正确的叙述为( ) char x[]={"abcdefg"}; char y[]={'a','b','c','d','e','f','g'};
- A.数组x和数组y等价
- B.数组x和数组y长度相同
- C.数组X的长度大于数组y的长度
- D.数组X的长度小于数组y的长度
-
函数调用“strcat(strcpy(strl,str2),str3)”的功能是( )
- A.将字符串strl复制到字符串str2中后再连接到字符串str3之后
- B.将字符串strl连接到字符串str2中后再复制到字符率str3之后
- C.将字符串str2复制到字符串strl中后再将字符串str3连接到字符串strl之后
- D.将字符串str2连接到字符率strl之后再将字符串strl复制到字符串str3中
-
语句"printf("%d\n"strlen("ats\nol2\1\\"));"的输出结果是( )
- A.11
- B.10
- C.9
- D.8
-
合法的数组定义是( )
- A.int a[]={"string"}
- B.int a[5]={0,1,2,3,4,5};
- C.char a={"string"}
- D.char a[]={0,1,2,3,4,5};
-
下列语句中,正确的是( )
- A.char a[3][]={'abc",'1'};
- B.char a[][3]={'abc','l'};
- C.char a[3][]={'a',"1"};
- D.char a[][3]={"a","1"};
-
设有定义:"char s[12]={"string"};" 则printf("%d\n",strlen(s));的输出是( )
- A.6
- B.7
- C.11
- D.12
-
若有下列说明,则数值为4的表达式是( ) int a[12]={ l,2,3,4,5,6,7,8,9,10,11,12 }; char c='a',d, g;
- A.a[g-c]
- B.a[4]
- C.a['d'-'c']
- D.a['d'-c]
-
.若有以下程序段,W和k都是整型变量,则不能与该程序段等价的循环语句是( )
W= k;
LB: if(w==0) gotO LE;
w - -;
printf("*");
goto LB;
LE:
- A. for(w=k;w!=0;W--)printf("*");
- B.w= k; While(W--!=0) Prinif(”* ”);
- C.w= k; do{w--; prinif(“*”); } while( W!= 0);
- D.for(w=k;W;--W) printf("*");
-
在C语言中,下列说法中正确的是( )
- A.不能使用“do语句while(条件)”的循环
- B.“do语句While(条件)”的循环中必须使用“break”语句退出循环
- C.“do语句while(条件)”的循环中,当条件非0时将结束循环
- D.“do语句while(条件)”的循环中,当条件为0时将结束循环
-
设x和y为int型变量,则执行下面的循环后,y的值为( ) for(y=l, x=l; y<=50; x="">=10) break; if(x%2==1){ x+=5; continue;} X -= 3; }
- A.2
- B.4
- C.6
- D.8
-
41.假定a和b为int型变量,则执行以下语句后b的值为( )
- a=1; b=10;
- do b-=a; a++; }while<(b--<0);
- A. A.9
- B.-2
- C.-1
- D.8
-
若i、j已定义为int类型,则以下程序段中的内循环体的执行次数是( ) for( i=5; i; i--) for(j= 0; j<4;j++){……}
- A.20
- B.24
- C.25
- D.30
-
下列语句中,句法错误的是(不考虑语义)( )
- A.while(x=y)5 ;
- B.do x++ while(x==10) ;
- C.while(0);
- D.do 2;while(a==b);
-
下面的程序段所表示的数学函数关系是( ) y=-l; if( x!= 0)if(x>0)y=l; else y=0 ; 1(x<0) 1(x<0)
- A.y= { 0(x= 0)
- B.y={-l(X=0) 1(X>0) 0(X>0) o(X< 0) -l(X< 0)
- C.y= {-1(x= 0)
- D.y={ 1(X= 0) 1(X>0) 0(X>0)
-
假定所有变量均已正确定义,下列程序段运行后X的值是( ) a=b=c=0; x=35; if(!a)x--; else if(b);if(c)x=3;else x=4;
- A.34
- B.4
- C.35
- D.3
-
设x、y、z均为int型变量,则执行以下语句后,x、y, z的值为( ) X=1; y=0; Z=2; y++&&++Z ||++ X;
- A.2、l、3
- B.2、0、3
- C.2、l、3
- D.2、1、2
-
设X、y、Z、t均为int型变量,则执行以下语句后,t的值为( ) x=y=z=1;t=++x||++y&&++z;
- A.不定值
- B.2
- C.l
- D.0
-
设a,b为字符型变量,执行"scanf("a=%c,b=%c",&a,&b)"后使a为'A',b为'B',从键盘上的正确输入是( )
- A.’A”B’
- B.’A’,’B’
- C.A=A,B=B
- D.a=A b=B
-
设有int i=010,j=10;则执行“printf("%d,%d\n",++i,j--);”的输出是( )
- A.ll, 10
- B.9,10
- C.010,9
- D.10, 9
-
设 a=3,b=4执厅‘printf(”%d,%d’,(a,b)(b,a));”的输出是( )
- A.3,4
- B.4,3
- C.3, 3
- D.4,4
-
使用“Scanf("X=%f,y=%f",&x,&y)”,要使 X,y均为1.25,正确的输入是( )
- A.1.25,1.25
- B.1.25 1.25
- C.x=1.25,y=1.25
- D.X=1.25 y=1.25
-
设有无符号短整型变量i、j、k,i值为013,j值为 OX13。计算表达式“k=~i|j>> 3”后,k的值是( )
- A.06
- B.0177776
- C.066
- D.0177766
-
设 a,b和 c都是int型变量,且a=3,b=4,c=5,则下面的表达式中值为 0的是( )
- A.’a’&&b’
- B.a<=b
- C.a||b+c&&b-c
- D.!((a<b)&&!c||1)
-
设Ch是Char型变量,其值为’A’,则下面表达式的值是( ) ch=(ch>=’A’&&ch<=’Z’)?(ch+32):ch
- A.’A’
- B.’a’
- C.’Z’
- D.’z’
-
用十进制数表示表达式“12|012”的运算结果是( )
- A.1
- B.0
- C.14
- D.16
-
设字符型变量 a=3,b=6,计算表达式 C=(a^b)<< 2后C的二进制值是( )
- A.00011100
- B.00000111
- C.00000001
- D.00010100
-
表达式“9!=7”的值是( )
- A.true
- B.非0值
- C.0
- D.1
-
下列表达式中,正确的C赋值表达式是( )
- A.a=7+b+C=a+7
- B.C=7+b++=a+7
- C.a=(7+b, b++, a+7)
- D.a= 7+b, c=a+7
-
若有以下定义: char a;int b;float c; double d;则表达式a*b+d-c值的类型为( )
- A.float
- B.int
- C.char
- D.double
-
设a为整型变量,下列C表达式中,不能表达数学关系式:10
- A.10
- B.a==11||a==12|| a==13|| a==14
- C.a>10&&a<15
- D.!(a<=10)&&!(a>=15)
-
若已定义 x和 y为double类型,则表达式: x=l, y=x+3/2结果是( )
- A.l
- B.2
- C.2.0
- D.2.5
-
设整型变量 a、b、c均为2,表达式 a+++b+++c++ 的结果是( )
- A.6
- B.9
- C.8
- D.表达式出错
-
在以下一组运算符中,优先级最高的运算符是( )
- A.<=
- B.=
- C.%
- D.&&
-
设整型变量i的值为3,则计算表达式i---i后表达式的值为( )
- A.0
- B.l
- C.2
- D.表达式出错
-
设有代码“int a=3;”,则执行了语句“a+=a-= a*a;”后,变量a的值是( )
- A.3
- B.0
- C.9
- D.-12
-
设整型变量m,n,a,b,c,d均为1,执行“( m=a>b)&&(n=a>b)"后m,n的值是( )
- A.0,0
- B.0,l
- C.1,0
- D.1,l
-
执行语句“x=(a=3,b=a--);”后,X,a,b的值依次为( )
- A.3,3,2
- B.2,3,2
- C.3,2,3
- D.2,3,3
-
设a为5,执行下列计算后,b的值不为2的是( )
- A.b=a/2
- B.b=6-(--a)
- C.b=a%2
- D.b=a<3?3:2
-
一个char型数据,它的值在内存中存放的是()
- A.ASCll代码值
- B.BCD代码值
- C.内码值
- D.十进制代码值
-
设变量 m,n,a,b,c,d均为0,执行(m=a==b)||(n=c==d)后,m,n的值是( )
- A.0,0
- B.0,1
- C.l,0
- D.1,1
-
字符串”XyZ”在内存占用的字节数是( )
- A.3
- B.4
- C.6
- D.8
-
在以下字符列中,合法的长整型常数是( )
- A.OL
- B.4962710
- C.0.054838743
- D.2.1869el0
-
下列字符列中,可以作为“字符串常量”的是( )
- A.ABC
- B.ABC”
- C.’abc’
- D.’a’
-
在以字节存储字符的系统中,’\n ’在内存占用的字节数是( )
- A.1
- B.2
- C.3
- D.4
-
在C语言中,下列说法中错误的是()
- A.函数定义可以分为两个部分:函数说明部分和函数体
- B.主函数可以调用任何非主函数
- C.任何非主函数可以调用其它任何非主函数
- D.程序可以从任何函数开始执行
-
下列字符列中,能作为单个标识符是()l
- A.? a
- B.a=2
- C.3
- D.a___3
-
不是C语言提供的合法关键字是()
- A.switch
- B.begin
- C.case
- D.default
-
下列字符列中,不是用来表达转义字符是( )
- A.\\
- B.\'
- C.074
- D.\0
-
下列字符中属于键盘符号的是( )
- A.\
- B.\n
- C.\t
- D.\b
-
下列语言中不属于面向过程的语言是( )
- A.高级语言
- B.低级语言
- C.C语言
- D.PASCAL语言
-
二进制语言是属于( )
- A.面向机器语言
- B.面向问题语言
- C.面向过程语言
- D.面向汇编语言