福建省计算机等级考试二级选择题(附答案) 下载本文

一、单项选择题

(1). 下面程序运行后,文件d_f.dat的内容是(1 )。 main()

{ FILE *fp; int i=10,j=20; fp=fopen(\ fprintf(fp,\ fclose(fp);

fp=fopen(\ fprintf(\ fclose(fp); }

① 10 20 ② 20 ③ 20 10 ④ 10

(2). 若有定义:enum day{sun,mon, tue, wed, thu, fri, sat} ; ,则枚举常量sun、mon的值分别为(4 )。

① 7 0 ② 1 2 ③ 7 1 ④ 0 1

(3). 下列程序段运行后,表达式( 2 )的值为3。 struct point { int x; int y; } *p;

struct point a[3]={1,2,3,4,5,6}; p=a;

①p[3].x ②p[1].x ③ *(p+2) ④p[2].x (4). 以下程序段的运行结果是(3 )。 int x[]={2,3,4,5,6,7},*p=x; int i,s=0;

for(i=1;i<5;i++) s+=p[i++]; printf(\

① 20 ② 14 ③ 8 ④ 6

(5). C语言的函数体由( 1 )括起来。 ① { } ② [ ] ③ < > ④ ( )

(6). 若有定义:int x,y,z; 语句 x=(y=z=3,++y,z+=y); 运行后,x的值为(2 )。

① 7 ② 6 ③ 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(\}

① 2 4 ② 2 5 ③ 4 4 ④ 4 5

(10). C语言中,二维数组元素在内存中的存放顺序是(3)。 ① 由用户自己定义 ② 按列存放 ③ 按行存放 ④ 随机存放 (11). 以下程序的运行结果是( 1 )。 #define X a+b main( )

{ int a=3,b=4,s1; s1=2*X;

printf(\}

① 10 ② 14 ③ 8 ④ 6 (12). 若有定义:char str1[10],str2[10]=\,能将字符串\赋给数组str1的正确语句是( 1 )。

① strcpy(str1,str2); ② strcpy(str2,str1); ③ strcopy(str1,str2); ④ str1=\

(13). 若有定义: int i,x; ( 3 )不是死循环。

① for( ; ;i+=2) ; ② for(i=10; ;i--) ; ③ for(x=5;x>0;x--) ; ④ while(x=1) ;

(14). 只能向终端输出一个字符的是( 1 )。

① putchar()函数 ② scanf()函数 ③ printf()函数 ④ getchar()函数 (15). C语言的基本数据类型包括( 3 )。 ① 整型、字符型、指针型 ② 整型、实型、逻辑型 ③ 整型、实型、字符型 ④ 整型、实型、空类型

(16). 若有定义:int a,b=5; 语句a=(b/2)+b%2; 运行后,a的值为( 2 )。 ① 4 ② 3 ③ 2 ④ 0

(17). x的值在-20至-5之间为“真”,否则为“假”的正确逻辑表达式为( 3 )。 ① !(x>-20) && !(x<-5) ② -5-20 && x<-5 ④ -20

{int a,b=2,c=6; a=3; if(a>6) a=a+b;

else if(a==6) b=a+c; else

a=b+c;

第 2 页 共 25 页

printf(\}

① 5 ② 6 ③ 8 ④ 9

(19). 若有定义:int a[3][4]={{1,2},{3,4},{5,6,7}}; ,则a[1][1]的值为( 4 )。

① 2 ② 3 ③ 1 ④ 4 (20). 若有定义: struct teacher {int num; char sex; int age; }teacher1;

则下面叙述错误的是( 4 )。

① struct是结构类型的关键字 ② struct teacher是用户定义的结构类型 ③ num、sex、age都是结构变量teacher1的成员 ④ teacher1是结构类型名 (21). ( 1 )是关于C语言数据类型的正确叙述。

① 变量使用前应定义相应的数据类型 ② 不允许使用空类型 ③ 枚举类型不是基本类型 ④ 数组不是构造类型 (22). ( 4 )为非法的字符串常量。

① \② \③ \④ '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). 若有定义 float x; 要从键盘输入数据6.02赋给x,则应选用( 3 )语句。

① scanf(\② scanf(\③ scanf(\④ scanf(\(26). 若有定义:int a=1,b=2,c=3,d=4,t=2,k=2; 语句(t=a

(27). 若有定义:int a=6,b=7,k=0,t=1; 语句 (k=a

① 0 0 ② 1 1 ③ 1 0 ④ 0 1

(28). 以下程序段运行时,若从键盘输入5,则运行结果是(4 )。 int a,y=10;

scanf(\ if (a>10) y=a+6;

printf(\

① 10 ② 16 ③ 11 ④ 15

(29). 以下程序段运行后x的值为( 1 )。 int i=0,x=2; while(i++<=5)

第 3 页 共 25 页

{x+=2; }

① 14 ② 12 ③ 8 ④ 10

(30). 以下程序段运行后x的值为(4 )。 int a[8]={1,2,3,4,5,6,7,8},i,x=0; for(i=0;i<8;i++,i++) x=x+a[i];

① 20 ② 18 ③ 36 ④ 16

(31). 以下程序段运行后s的值是( 2 )。 int a[3][3]={1,2,3,1,2,3,1,2,3}; int i,j,s=0;

for(i=0;i<3;i++) for(j=i;j<3;j++) s+=a[i][j];

① 15 ② 14 ③ 13 ④ 12

(32). 以下程序的运行结果是( 2 )。 int a=2,b=3;

int min(int a,int b) { int c;

c=a

main()

{ int a=4;

printf(\}

① 4 ② 3 ③ 2 ④ 2,3

(33). 若有定义:#define PI 3,则表达式PI*2*2的值为( 2 )。 ① 322 ② 12 ③ 4 ④ 不确定

(34). 以下程序段运行后*(p+1)的值为( 2 )。 char a[]=\char *p; p=a;

① a[1]的地址 ② 'o' ③ 不确定 ④ 'g' (35). 以下程序段运行后x的值为( 4 )。 int a[]={1,2,3,4,5,6,7,8}; int i,x,*p; x=1;

p=&a[1];

for(i=0;i<3;i++) x*=*(p+i);

① 6 ② 1 ③ 120 ④ 24

(36). 以下程序段的运行结果是( 4 )。 union

第 4 页 共 25 页