福建省计算机二级(C语言)考试选择题 下载本文

内容发布更新时间 : 2024/6/2 1:19:08星期一 下面是文章的全部内容请认真阅读。

福建省计算机等级考试二级(C)试题

一、选择题

1、若定义:int x=2; y=3; float i; 则以下符合C语言语法的表达式是(B)

A、x=x* 3=2 B、x=(y= = 1) C、i=float(x) D、i%(-3)

2、若有定义:int a=5, b=2, c=1;则表达式a-b

A、0 B、1 C、2 D、-1

3、若有定义:float x=3.5; int z=8; 则表达式x+z%3/4的值是(B)

A、3.75 B、3.5 C、3 D、4

4、有如下定义 int a[ ][3]={1,2,3,4,5,6,7,8,};则数组a的行数(B)

A、 2 B、 3 C、 4 D、无法确定 5、C程序中main函数的位置(C)

A、必须在最开始 B、必须在系统库函数后面 C、可以在自定义函数后面 D、必须在最后 6、下面关于C语言用户标识符的描述,正确的是(D)

A、不能区分大小写 B、用户标识符不能描述常量 C、类型名也是用户标识 D、用户标识符可以作为变量名 7.若有定义:int a=1,b=2,c=3;语句++a||++b&&++a运行后b

A.1 B.0 C.2 D.3

8.设单精度型变量+,g的值均为2.0,使+为4.0的表达式为(A)

A.1 B.0 C.2 D.3

9.对于整型变量x。下述计语句(B)与赋值句:x=x%2= =0?1:0;不等价

A .if(x%2!=0)x=0;else x=1; B if(x%2)x=1;else x=0; C.if(x%2= =0)x=1;else x=0; D .if(x%2==1) x=0;else x=1; 10.以下数组定义中,正确的是(B)

A.int a[2] [3]={1,2,3,4,5,6,7}; B.int a[] []={{1,2,3},{4,5,6},{7,8,9}}; C.int a[2] []={1,2,3,4,5,6}; D.int a[] [4]={6}; 11.若有定义:#define PI 3,则表达式PI*2*2的值为(A)

A.12 B.4 C.3 D.不确定 12.下面语句正确的是( B )

A int*P;*P=20; B.char*s=“abcdef”;printf(“%s\\n”,S); C char str[]=“abcdf”;printf(“%S”,str); D.char的值为(D)

str???{a',b',c'};printf?\s\str?;

13.若有定义:inta=2;则正确的赋值表达式是(A)

A.a- =(a*3) B.double(-a) C.a* D.a*4=3

14.若有定义:int a=6,b=2;char C1=‘a’,C2=‘b’;则表达式a+b%5+C2-C1的值是(C)

A .7 B.8 C.9 D表达式错误

15.若有定义:char str[6]=“abcdm”,*ps,*str2=“abcdef”;正确的是(B)

A.stycpy(str1,str2); B.表达式strcmp(str1,str2)的值>0 C.str1=str2; D.表达式strlen(str1)的值为6 16.关于C语言函数的描述中,正确的是(B)

A. 函数的定义可以嵌套,但函数的调用不可以嵌套 B. 函数的定义不可以嵌套,但函数的调用得意嵌套 C. 函数的定义和函数的调用都可以嵌套

D . 函数的定义和函数的调用都不可以嵌套

17.设有如下定义typedef int *INTEGER;INTEGER P,*q;则(C)是正确 的表述 A.P是int型变量 B .q是基类型为int的指针变量 C.P是基类型为int的指针变量 D.程序中可用INTEGER代替int类型名。

18.若有定义:int m=5. n=3则表达式(m+1,n+1,(- -m)+(n--))的值是(D) 6,4,4+2 A.6 B.7 C.8 D.9

19.已知char a;使用scanf()函数输入一个字符给变量a,不正确的函数调用是(B) A.scanf(“%d”,&a); B.scanf(“%lf”,&a), C.scanf(“%c,&a) D.scanf(”%u“,&a) 20.C语言对于计嵌套语句的规定:else总是与(B)配对

A.第一个if B.之前最近且尚未配对 C.缩进位置相同的if D之前最近的if 21.对于基类型相同的两个指针变量之间,不能进行的运算是(C)

A.< B.= C.﹢ D.﹣

22.若函数fun的函数头为:int fun(int i,int j)且函数指针变量P定义如下:int (*P)(int i,int j);则要使指针P指向函数fun的赋值语句是(B)

A. P=*fun B. P=fun; C. P=fun(i,j) D. P=&fun 23.在对于无符号数的位运算中,操作数右移一位相当于(A)

A.操作数除于2 B.操作数乘以2 C.操作数除于4 D .操作数乘以4 24.关于C语言的叙述中,不正确的是(D)

A. C程序可由一个或多个函数组成 B. C程序必须包含一个main()函数 C. C程序的基本组成单位是函数 D. 注释说明只能位于一条语句的后面 25.若有说明语句:char C=‘\\95’;则变量C包含(A)个字符

A.1 B.2 C.3 D.语法错误 26.若有定义:int a;则语句a=(3*4)+2%3;运行后a的值为(B)

A. 12 B.14 C.11 D.17 27.下面叙述中,错误的是(A)

A.其算术运算对象不包含函数 B.%(模拟运算符)的运算对象只能为整型量 C.算术运算的结合方向是“自左向右” D.自加和自减运算符的结合方向是“自右向左” 28.结构化程序设计不包括(A)

A.最优化 B自顶而下,逐步细化 C 模拟化设计 D结构化编码 29.已知int a=‘R’;则正确的表达式是(A)

A.a B.a=int(3e2) C .2*a=a++ D.a=a+a=a+3 30.对于整型变量x,与while(!x)等价的是(B)

A.while(x!=0) B.while(x==0) C.while(x!=1) Dwhile(~x) 31.以下能对一维数组a进行正确初始化的语句是(D)

A.int a[5]=(0,0,0,0,0,) B.int a[5]=[0] C.int a[5]={1,2,3,4,5,6,7} D.int a[]={0}

32.若有定义:int a=20,b=28,C;则执行语句C=(a&b)>>2;后C的值为(A)

A.5 B.7 C.80 D.112 33.结构化程序设计的三种基本语句是(C)

A.函数结构, 分支结构 判断结构 B.函数结构 嵌套结构 平行结构 C.顺序结构 分支结构 循环结构 D.分支结构 循环结构 嵌套结构 34.以下(A)是不正确的字符串常量

A.‘abc’ B.“12′12” C.“O” D“ ”

35.已知double a=5.2;则正确的赋值表达式是(A)

A.a+=a-=(a=4)*(a=3) B a=a*3=2 C a%3 D a=double(-3) 36.以下的计语句中,x的值一定被重新赋值的是(B)

A.if(x==y) x+=y; B if(x>y&&x!=y);x+=y;

C.if(x!=y) scanf(“%d”,&x) else scanf(“%d”,&y); D.if(x<y) {x++;y++} 37.设有如下定义:char str[8]={“Fujian”};则分配给数组str的存储空间是(C)字节 A.6 B.7 C.8 D.9

38.设有以下定义语句:struct student {int num; char name[10];float score;}wang,zhang;的变量wang所占的内存字节是(B)

A.14 B.16. C.18 D.9

39.设有double型变量a,b,c,e均有值,对代数式(3ae)/(bc),不正确的语言表达式是(C) A.a/b/c*e*3 B.3*a*e/b/c C.3*a*e/b*c D.a*e/c/b*3 40.关于C语言数据类型的叙述,正确的是(C)

A.枚举类型不是基本类型 B.数组不是构造类型 C.变量必须先定义后使用 D.不允许使用空类型 41.以下的语句中,无内嵌的if语句是(D)

A.if(x==y)x+=y; B.if(x>y&&x!=y)x+=y;

C.if(x!=y)scanf(“%d”,&x);else scanf (“%d”,&y) D.if(x<y) {x++;y++} 42.以下运算符中优先级最高的是(D)

A.> B.|| C.&& D.+

43.若有自定义:int a,b;double x.,则以下不符合C语言的表达是(A) A.x%(-3) B.a+=-2 C.a=b=2 D.x=a+b 44.关于C语言的源程序的叙述中,错误的是(C)

A.C语言的源程序由函数构成 B.main函数可以书写在自定义函数之后 C.必须包含有输入语句 D.一行可以书写多个语句

45设有以下定义语句:struct student {int num ;char name[10];float score;}wang,zhang;则不正确的叙述是(C)

A.struct 是结构体类型的关键字 B.zhang是结构体变量名

C.wang是结构体类型名 D.num,name,score都是结构体类型student的成员名 46.若有定义:int a[3] [3];则表达式&a[2][1]-a的值为(B) A.7 B.8 C.6 D.9 47.下列数组定义中,正确的是(A)

A.int a[10] B.int n=10 a[n]; C.int N=10;int a[N]; D.int n; scant(“%d”,&n);int a[n]

48.若有定义inta[2][3];则对数组元素的非法引用是(D)

A.a[0][1/2] B.a[1][1] C.a[4-4][0] D.a[0][3] 49.若有int a=2 则a=strcmp(“miss”,“miss”)运行后a的值为(B) A.1 B.0 C.-1. D.2

50.若struct teacher{int num;char name[10];char sex; int age; float score ;}teacher1;则变量teacher1所占用的内存字节是(C) A.5 B.14 C.19. D.20 51.以下(D)是正确的变量名

A.a.bee B.-P11 C.int D.P_11

52.下面叙述中,(A)不是结构化程序设计中的三种基本结构之一