1、完整福建省计算机等级考试二级选择题附答案一、单项选择题(1)。 下面程序运行后,文件d_f.dat的内容是(1 )。main() FILE fp; int i=10,j=20; fp=fopen(d_f.dat,w); fprintf(fp,%d ”,i); fclose(fp); fp=fopen(”d_f.dat”,”a); fprintf(d ”,j); fclose(fp); 10 20 20 20 10 10(2). 若有定义:enum daysun,mon, tue, wed, thu, fri, sat ; ,则枚举常量sun、mon的值分别为(4 )。 7 0 1 2 7 1
2、0 1(3)。 下列程序段运行后,表达式( 2 )的值为3。struct point int x; int y; *p;struct point a3=1,2,3,4,5,6;p=a;p3.x p1。x *(p+2) p2。x(4)。 以下程序段的运行结果是(3 ).int x=2,3,4,5,6,7,*p=x;int i,s=0;for(i=1;i5;i+) s+=pi+; printf(d”,s); 20 14 8 6(5)。 C语言的函数体由( 1 )括起来. ( )(6). 若有定义:int x,y,z; 语句 x=(y=z=3,+y,z+=y); 运行后,x的值为(2 )。 7 6
3、8 3(7). 若有定义:int x; char c=A; 则正确的赋值表达式是( 4 )。(说明:A的ASCII码的十进制值为65,a的ASCII码的十进制值为97) x=ABC x=c+ABC x=c+CBA x=c+32(8). 下面叙述错误的是( 3 )。 C语言规定可逐个引用数组元素但不能一次引用整个数组 数组中每一个元素都属于同一个数据类型 C语言数组长度在定义数组时可不作确定 C语言数组名称是数组在内存中的首地址(9). 以下程序的运行结果是( 4 )。int f(int c) c+=2; return c ;main() int a=2,c=5; a=f(a); printf(
4、d %d n,a ,c); 2 4 2 5 4 4 4 5(10)。 C语言中,二维数组元素在内存中的存放顺序是(3)。 由用户自己定义 按列存放 按行存放 随机存放(11)。 以下程序的运行结果是( 1 ).define X a+bmain( ) int a=3,b=4,s1; s1=2X; printf(”dn”,s1); 10 14 8 6(12)。 若有定义:char str110,str210=”Fujian”; ,能将字符串Fujian赋给数组str1的正确语句是( 1 )。 strcpy(str1,str2); strcpy(str2,str1); strcopy(str1,st
5、r2); str1=”Fujian”;(13)。 若有定义: int i,x; ( 3 )不是死循环. for( ; ;i+=2) ; for(i=10; ;i-) ; for(x=5;x0;x-) ; while(x=1) ;(14). 只能向终端输出一个字符的是( 1 ). putchar()函数 scanf()函数 printf()函数 getchar()函数(15)。 C语言的基本数据类型包括( 3 )。 整型、字符型、指针型 整型、实型、逻辑型 整型、实型、字符型 整型、实型、空类型(16)。 若有定义:int a,b=5; 语句a=(b/2)+b2; 运行后,a的值为( 2 )。
6、4 3 2 0(17)。 x的值在20至5之间为“真”,否则为“假”的正确逻辑表达式为( 3 )。 !(x20) & !(x5) -5x20 x20 x6) a=a+b; else if(a=6) b=a+c; else a=b+c; printf(%dn,a); 5 6 8 9(19). 若有定义:int a34=1,2,3,4,5,6,7; ,则a11的值为( 4 ). 2 3 1 4(20). 若有定义:struct teacherint num; char sex; int age;teacher1;则下面叙述错误的是( 4 )。 struct是结构类型的关键字 struct teac
7、her是用户定义的结构类型 num、sex、age都是结构变量teacher1的成员 teacher1是结构类型名(21)。 ( 1 )是关于C语言数据类型的正确叙述。 变量使用前应定义相应的数据类型 不允许使用空类型 枚举类型不是基本类型 数组不是构造类型(22). ( 4 )为非法的字符串常量。 case” ” ” ”056 123(23). 若有定义:int b=-15; 则( 2 )为正确的赋值表达式。 b=*5 b+=b*3 *b=6 b+10=5(24). 若有定义:int a,b=6; 语句a=b; 运行后,a、b的值分别是( 4 )。 6 5 5 6 6 6 5 5(25).
8、若有定义 float x; 要从键盘输入数据6。02赋给x,则应选用( 3 )语句。 scanf(”%1.2f,x); scanf(%4.2f”,x); scanf(%f”,&x); scanf(”8。2f,&x);(26). 若有定义:int a=1,b=2,c=3,d=4,t=2,k=2; 语句(t=ab)|(k=cd); 运行后,k的值为( 4 )。 0 2 -1 1(27)。 若有定义:int a=6,b=7,k=0,t=1; 语句 (k=a10) y=a+6; printf(”dn,y+a); 10 16 11 15(29)。 以下程序段运行后x的值为( 1 ).int i=0,x=
9、2;while(i+=5) x+=2; 14 12 8 10(30)。 以下程序段运行后x的值为(4 )。 int a8=1,2,3,4,5,6,7,8,i,x=0; for(i=0;i8;i+,i+) x=x+ai; 20 18 36 16(31)。 以下程序段运行后s的值是( 2 )。int a33=1,2,3,1,2,3,1,2,3;int i,j,s=0;for(i=0;i3;i+) for(j=i;j3;j+) s+=aij; 15 14 13 12(32). 以下程序的运行结果是( 2 ).int a=2,b=3;int min(int a,int b) int c; c=ab?a
10、:b; return(c);main() int a=4; printf(%d,min(a,b); 4 3 2 2,3(33)。 若有定义:define PI 3,则表达式PI2*2的值为( 2 )。 322 12 4 不确定(34)。 以下程序段运行后*(p+1)的值为( 2 ).char a=”good;char *p;p=a; a1的地址 o 不确定 g(35). 以下程序段运行后x的值为( 4 )。int a=1,2,3,4,5,6,7,8;int i,x,*p;x=1;p=&a1;for(i=0;i3;i+) x=*(p+i); 6 1 120 24(36). 以下程序段的运行结果是
11、( 4 )。 union int num1; int num2; s; s.num1=20; s。num2=30; printf(”%d”,s。num1); 20 2030 50 30(37). 下面程序运行后,屏幕显示File open error!,则可能的原因是( 4 )。include main() FILE *fp; char str256; fp = fopen(test.txt, ”rt); if(fp=NULL) printf(File open error!); return; fscanf(fp,s,str); fclose(fp); 当前工作目录下的test.txt文件是
12、空文件 函数fopen()的参数是错误的 test.txt文件已经打开 当前工作目录下没有test。txt文件(38)。 (1 )为正确的用户标识符. max_at 3_row union min-5(39)。 若有定义:int x,a,b; 语句x=(a=2,b=3,a+b); 运行后,x、a、b的值依次为( 2 ). 2 3 5 5 2 3 5 3 2 3 2 5(40)。 下面叙述正确的是( 2 ). 模运算符%”两边运算数的数据类型是任意的 C语言中整型与字符型变量的混合运算表达式的结果是整型 (3+9)+ 是正确表达式 abc”+”xxx是正确表达式(41)。 若有定义 int a=
13、8,b=5; 要实现输出形式为: 8*5=40 ,正确的printf()函数调用语句是( 4 )。 printf(ab=dn,a*b); printf(d%d=abn”,a,b); printf(”ab=abn”); printf(%dd=%dn,a,b,ab);(42). 下列运算符中优先级最低的是( 1 )。 = ! (43). 以下程序段的运行结果是( 4 ). int s=15; switch(s/4)default: printf(”Over ”); case 1: printf(”One ”); break; case 2: printf(”Two ); One Two Over
14、Two Over One(44). 下面叙述正确的是( 1 )。 for循环的循环体可包含多条语句,但必须用花括号 括起来 for循环只能用于循环次数已经确定的情况 在for循环中,不能用break语句跳出循环体 for循环是先执行循环体语句,后判断表达式(45)。 若有定义:int arr15,n=5; 无法正确引用arr数组元素的是( 4 )。 arr15-n arr0 arrn arr10+n(46). 以下程序段的运行结果是( 4 )。char str32= a,b,c,0,e,f;printf(”s,str0); abcef a abc0ef abc(47). 以下程序段运行后(p+
15、)的值为( 3 ).char a5=”work”;char p;p=a; a0的地址 o w a1的地址(48)。 若有定义:struct data char a; float b3; long c;d1;则变量d1的长度是( 4 )。12 4 15 17(49)。 若有定义:int a10=0,1,2,3,4,5,6,7,8,9, *p=a; , 则( 3 )表达式是错误的。 p+ a2 a+ p2(50). 若由定义:typedef int NUM100;NUM n;则( 3 )语句是正确的。 NUM=n; n=2; n0=2; NUM=2;(51)。 下面程序运行后,屏幕显示write
16、ok!,则下面叙述正确的是( 3 )。main() FILE fp; fp=fopen(”data.txt”, wt); if(fp!=NULL) fprintf(fp,”%sn”, ”File write successed!n”); fclose(fp); printf(write ok!n”); 当前工作目录下找不到data。txt文件 当前工作目录下存在data。txt文件,其中的内容是“write ok!” 当前工作目录的data。txt文件已经关闭 当前工作目录的data。txt文件已经打开(52)。 ( 3 )为正确的变量名。 case else pro_5 5_pro(53).
17、 若有定义:float x=2,y; int a=3; 语句y=1(x+a)/3; 运行后,y的值为( 3 )。 1。0 0 1。666667 2。0(54). 若有定义:int x,a; 赋值语句a=(x3=0)?0:1; 与( 4 )语句不等价。 if (!(x3=0) a=1; else a=0; if (x3!=0) a=1; else a=0; if (x%3=0) a=0; else a=1; if (x3) a=0; else a=1;(55)。 以下程序段的运行结果是( 1 )。int t3=1,2,3,4,5,6,7,8,9,10,11,12;printf(dn”,t11);
18、 5 3 1 4(56)。 以下程序段运行后a的值为( 2 )。int a=2;a=strcmp(miss”,”miss”); 1 0 true -1(57). 以下程序的运行结果是( 2 )。fun() static int a=0; a+; printf(”d ”,a);main() int i; for(i=1;i0) j + ; /* 语句3 / 语句1、2、3均错误 语句1错误,语句2和语句3正确 语句1、2、3均正确 语句2正确,语句1和语句3错误(62)。 下面叙述正确的是( 2 ). 程序中必需含有自定义函数 所有语句都必须以分号;结束 main()函数必须位于源程序文件的开头
19、 每行最多只能写两条语句(63)。 若有定义:float x=3。5,y=3。6; 则表达式( 2 )的值为6。 (int)(x+y) (int)x+(int)y int(x+y) x+y(64)。 以下程序段运行后x的值为( 1 ).int i=0,x=0;for(;i=5;i+,i+) x+=3; 9 15 6 12(65). 若有定义:int a32; ,则表达式a21-a的值为( 3 )。 5 4 3 2(66). 以下程序的运行结果是( 4 )。int fun(int array33) int j; for(j=0;j3;j+) array1j+; printf(n”);main()
20、 int j,a33=0,1,2,1,0,4,2,4,5; fun(a); for(j=0;j命令的作用是在预处理时将stdio.h文件中的实际内容代替该命令(68)。 下面叙述错误的是( 4 )。 任何指针变量都可以与空指针NULL进行比较 一个指针变量只能指向同一类型的变量 一个变量的地址称为该变量的指针 可以将一个整数值赋给指针变量(69)。 以下程序段运行后x的值为( 4 ).int a=1,2,3,b=4,3,3;int p,*q;int i,x;p=a; q=b;for(i=0;i3;i+) if(p+i)=*(q+i) x=*(p+i)*2; 4 2 不确定 6(70). 以下程
21、序的运行结果是( 2 )。 main() int a3=1,2,3; int *num3; int *p,i; for(i=0;i3;i+) numi=&ai; p=num; printf(”d,*p); a0 1 3 num(71)。 ( 2 )不是文件读库函数。fgetc() fputs() fscanf() fread()(72). C源程序中main()函数的位置( 4 ). 必须位于程序的最前面 可以在自定义函数后面 必须在自定义函数前面 必须在系统库函数后面(73). 若有定义:int a=3; 语句a+=a=a*a; 运行后,a的值为( 3 )。 -6 -3 12 0(74).
22、若有语句 int a; char c; scanf(3d%c”,a,&c); 为将整数135赋给a,字符6赋给c,正确的数据输入方式是( 3 )。(说明:代表换行,_代表空格) 135CR6CR 135_6 135_6_(75)。 若有定义:int x=1,y=2,z=3; 则表达式( 2 )的值为0。 xy | xz !((xy) z) x=y x| (y+z & yz)(76). 以下程序段运行后x的值为( 4 )。int a=3,b=6,x;x=(a=b)?a+:-b; 3 4 6 5(77). 若有定义: int i,x=0; 语句for(i=1;i=3;i+) x+=2;与下列( 2
23、 )程序段不等价. i=1; for( ;i=3;i+) x+=2; i=1;for( ; ;i+) x+=2; i=1;for( ;i=3; ) x+=2; i+; for(i=1;i=3; ) x+=2; i+;(78)。 ( 3 )能正确定义一个指向函数的指针。 int (*p)() int (p()) int *p() (int *)p()(79)。 若有定义:enum numa1,a2=3,a3,a4=10 ; ,则枚举常量a2、a3的值分别为( 2 )。 2 3 3 4 3 3 1 2(80). C语言中,对文件操作的一般步骤是( 4 ). 打开文件,定义文件指针,读写文件,关闭文件 定义文件指针,读文件,写文件,关闭文件 操作文件,定义文件指针,修改文件,关闭文件 定义文件指针,打开文件,读写文件,关闭文件(81). 若有定义:int i=3,j=6; 则表达式(-i)*(j+)的值为( 2 )。 18 12 10 15(82)。 若有定义: int a; 且表达式 !a的值为0,则表达式( 4 )的值为1。 !(a0 | a0) a=0 a=0 a!=0(83)。 以下程序段运行后x的值为( 4 ). int a8=1,2,3,4,5,6,7,
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1