2017年福建省二级C语言真题试卷(1)
-
下面程序运行后,屏幕显示File open error!,则可能的原因是()。
- A.当前工作目录下没有test.txt文件
- B.函数fopen()的参数是错误的
- C.当前工作目录下的test.txt文件是空文件
- D.text.txt文件已经打开
-
以下程序段的运行结果是()。
- A.abc\0ef
- B.abcef
- C.abc
- D.a
-
下列()对结构类型变量定义是错误的。
- A.
- B.
- C.
- D.
-
以下程序段运行后,()对数组a元素的引用是错误的。(其中0≤i<4,0≤j<3)
- A.*(*(a+i)+j)
- B.*(*(p+i)+j)
- C.p[i][j]
- D.*(p[i]+j)
-
以下程序段运行后x的值为()。
- A.1
- B.120
- C.24
- D.6
-
以下程序段的运行结果是()。
- A.24
- B.44
- C.45
- D.25
-
若有定义:intarr[15],n=5;无法正确引用arr数组元素的是()。
- A.arr[10+n]
- B.arr[0]
- C.arr[15-n]
- D.arr[n]
-
若有定义:则()对下列语句是否符合语法规则的判断是正确的。
- A.语句1、2、3均正确
- B.语句2正确,语句1和语句3错误
- C.语句1错误,语句2和语句3正确
- D.语句1、2、3均错误
-
以下程序段运行后s的值是()。
- A.12
- B.14
- C.13
- D.15
-
若有定义:floatx=2,y;inta=3;语句y=1*(x+A./3;运行后,y的值为()。
- A.2.0
- B.1.0
- C.0
- D.1.666667
-
以下叙述错误的是()。
- A.算术运算符中不包含“=”运算符
- B.模运算符“%”是c语言基本的算术运算符
- C.算术运算符中只有“*”、“/”优先级高于关系运算符
- D.自加和自减运算符只能用于变量,而不能用于常量或表达式
-
为正确的用户标识符()。
- A.union
- B.3_row
- C.max_at
- D.min-5
-
若有定义:intb=-15;,则()为正确的赋值表达式。
- A.b=*5
- B.*b=6
- C.b+=b*3
- D.b+10=-5
-
以下程序的运行结果是()。
- A.1
- B.&a[0]
- C.3
- D.num
-
下面程序运行后,屏幕显示write ok!,则下面叙述正确的是()。
- A.当前工作目录下找不到data.txt文件
- B.当前工作目录的data.txt文件已经打开
- C.当前工作目录的data.txt文件已经关闭
- D.当前工作目录下存在data.txt文件,其中的内容是”write ok!”
-
若有定义inta=1,b=2,t=3;则变量d1的长度是()。
- A.4
- B.17
- C.12
- D.15
-
以下程序的运行结果是()。
- A.45,23
- B.45,45
- C.23,45
- D.23,23
-
下面叙述错误的是()。
- A.一个指针变量只能指向同一类型的变量
- B.一个变量的地址称为该变量的指针
- C.可以将一个整数值赋给指针变量
- D.任何指针变量都可以与空指针NULL进行比较
-
下面叙述错误的是()。
- A.c源程序必须包含一个main()函数
- B.c源程序可由一个或多个函数组成
- C.一个c源程序的执行是从main()函数开始,直到main()函数结束
- D.注释说明部分只能位于c源程序的最前面
-
以下程序段运行后x的值为()。
- A.8
- B.14
- C.10
- D.12
-
若有定义:floatx=3.5,y=3.6;则表达式()的值为6。
- A.(int)x+(int)y
- B.x+y
- C.(int)(x+y)
- D.int(x+y)
-
以下程序运行后输出结果是()。
- A.9
- B.6
- C.8
- D.5
-
以下程序段的运行结果是()。
- A.4
- B.3
- C.5
- D.1
-
getchar()函数的功能是获取终端输入的()。
- A.一个实型变量值
- B.一个字符
- C.多个字符
- D.一个整型变量表达式
-
若有定义:inta;,则表达式()不能用来判断a值为奇数是“真”,偶数是“假”。
- A.a%2==1
- B.!(a%2)
- C.a%2
- D.!(a%2==0)
-
若有定义:inta=3;,语句a+=a-=a*a;运行后a的值为()。
- A.-3
- B.-6
- C.-12
- D.0
-
若有定义:inti=3,j=6;,则表达式(--i)*(j++)的值为()。
- A.12
- B.10
- C.18
- D.15
-
若当前工作目录下有一文本文件test.txt,其内容为"cprogram“(不包含引号),则以下程序段的运行结果是()。
- A.cpro
- B.cprog
- C.ogram
- D.gram
-
若有定义:则()语句是正确的。
- A.n[0]=2;
- B.NUM=2;
- C.NUM=n;
- D.n=2;
-
为非法的字符串常量()。
- A.“case”
- B.““
- C.”056”
- D.,123?
-
下列程序段运行后,表达式()的值为3。
- A.p[1].x
- B.*(p+2)
- C.p[3].x
- D.p[2].x
-
若有定义:则下面叙述错误的是()。
- A.teacher 1是结构类型名
- B.struct teacher是用户定义的结构类型
- C.num、sex、age都是结构变量teacher1的成员
- D.struct是结构类型的关键字
-
若有定义:int*p1,*p2;,则不能用于指针变量p1、p2之间的运算符是()。
- A.-
- B.=
- C.+
- D.==
-
以下程序段的运行结果是()。
- A.104
- B.012
- C.123
- D.215
-
若有定义:#define PI 3,则表达式PI*2*2的值为()。
- A.4
- B.不确定
- C.12
- D.322
-
是正确的数组定义()。
- A.intn=5;intarr[n];
- B.intn;n=5;intarr[n];
- C.intarr[10];
- D.intN=5,arr[N];
-
以下程序段运行后a的值为()。
int a=2;
- a=strcmp(“miss”,”miss”);
- A.true
- B.0
- C.1
- D.-1
-
是关于C语言数据类型的正确叙述()。
- A.枚举类型不是基本类型
- B.变量使用前应定义相应的数据类型
- C.不允许使用空类型
- D.数组不是构造类型
-
以下程序段运行后x的值为()。
- A.9
- B.15
- C.6
- D.12
-
以下程序段运行后x的值为()。
- A.6
- B.4
- C.5
- D.3
-
若有定义:inta;且表达式!a的值为0,则表达式()的值为1。
- A.!(a<0||a>0)
- B.a!=0
- C.a==0
- D.a=0
-
下列运算符中优先级最低的是()。
- A.>
- B.*
- C.=
- D.!
-
若有定义inta=8,b=5;要实现输出形式为:8*5=40,正确的printf()函数调用语句是()。
- A.printf(“a*b=a*b\n”)
- B.printf(“a*b=%d\n”,a*B)
- C.printf(“%d*%d=a*b\n”,a,B)
- D.printf(“%d*%d=%d\n”,a,b,a*B)
-
若有定义:intx,y,z;语句x=(y=z=3,++y,z+=y);运行后x的值为()。
- A.6
- B.7
- C.8
- D.3
-
C语言的基本数据类型包括()。
- A.整型、实型、字符型
- B.整型、指针型、字符型
- C.整型、实型、逻辑型
- D.整型、实型、空类型
-
语句符合C语言语法()。
- A.inta=b=2,c=5;
- B.floatx=3.2,inti,j=6;
- C.floatx=2.3,b,c;
- D.inta=2,b+=a;
-
下面叙述错误的是()。
- A.C语言规定可逐个引用数组元素但不能一次引用整个数组
- B.C语言数组名称是数组在内存中的首地址
- C.数组中每一个元素都属于同一个数据类型
- D.C语言数组长度在定义数组时刻不作确定
-
若有定义:inta=2,*p=&a;,则以下()均表示地址。
- A.&a,p
- B.a,p
- C.a,*p
- D.&a,*p
-
下面叙述错误的是()。
- A.“#define PRICE 30”命令的作用是定义一个与30等价的符号常量PRICE
- B.C源程序中加入一些预处理命令是为了改进程序设计环境,提高编程效率
- C.“#include
”命令的作用是在预处理时将stdio.h文件中的实际内容代替该命令 - D.宏定义也是C语句,必须在行末加分号
-
下面叙述正确的是()。
- A.main()函数必须位于源程序文件的开头
- B.程序中必需含有自定义函数
- C.每行最多只能写两条语句
- D.所有语句都必须以分号“;”结束