福建省计算机等级考试二级〔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<c11b= =c的值是〔A〕
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    的值为〔D〕
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.
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〕计算机二级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〕
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%10        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++}