翰子昂阶段性测试_S1阶段
1 下列关于运算符优先顺序的描述中正确的是( c )。(选择一项) a) 关系运算符< 赋值运算符<逻辑运算符 b) 逻辑运算符<关系运算符<算数运算符<赋值运算符 c) 赋值运算符<逻辑运算符<关系运算符<算数运算符 d) 算数运算符<关系运算符<赋值运算符<逻辑运算符 2 x,y,z均为int型变量,则执行语句x=(y=(z=10)+5)-5;后x、y和z的值是: ( )(选择一项) a) x=10 y=15 z=10 b) x=10 y=10 z=10 c) x=10 y=15 z=5 d) x=15 y=15 z=10 3 下列运算符中优先级最高的是( )。(选择一项) a) < b) + c) && d) !=
4 能正确表示“当x的取值在[1,10]和[200,210]范围内为真。 否则为假”的表达式是( )。(选择一项) a) (x>=1) &&(x<=10)&&(x>=200)&&(x<=210) b) (x>=1) ||(x<=10)||(x>=200)||(x<=210) c) (x>=1) &&(x<=10)||(x>=200)&&(x<=210) d) (x>=1) ||(x<=10)&&(x>=200)||(x<=210) 5 执行以下语句后a的值为:( )(选择一项) int a,b,c; a=b=c=1; ++a ||++b&&++c;
a) 错误 b) 0 c) 2 d) 1
6 以下不正确的if语句形式是:( )(选择一项) a) if(x>y&&x!=y) b) if(x= =y) x+=y
c) if(x!=y)
d) scanf(“%d”,&x)
else scanf(“%d”,&y) ;
7 以下程序的运行结果是:( )(选择一项) main()
{ int m=5 ; if(m++> 5)
printf(“ %d\\n”,m); else
printf(“%d\\n”,m--); } a) 4 b) 5 c) 6 d) 7
8 有以下程序段: int x=0,s=0;
while( !x!=0 ) s+=++x; printf(%d“,s); 则()(选择一项) a) 运行程序段后输出0 b) 运行程序段后输出1
c) 程序段中的控制表达式是非法的 d) 程序段执行无限次
9 若x,i,j和 k 都是 int型变量,则执行下面表达式后x的值为( )(选择一项) x=(i=4,j=16,k=32) a) 4 b) 16 c) 32 d) 52
10 若有代数式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
11 若有说明:int a[3][4];则对a数组元素的非法引用是( )。(选一项)
a) a[0][2*1] b) a[1][3] c) a[4-2][0] d) a[0][4]
12 以下能对二维数组a进行正确初始化的语句是( )。(选择两项)
a) int a[2][]={{1,0,1},{5,2,3}}; b) int a[][3]={{1,2,3},{4,5,6}}; c) int a[2][4]={1,2,3,4,5,6}; d) int a[][3]={{1,0,1},{},{1,1}};
13 在C语言中,引用数组元素时,其数组下标的数据类型允许是( )(选择一项)
a) 整型变量 b) 整型表达式
c) 整型常量或整形表达式 d) 任何类型的表达式
14 若有说明:int a[3][4]={0};则下面正确的叙述是( )。(选择一项) a) 只有元素a[0][0]可得到初值0 b) 此说明语句不正确
c) 数组a中各元素都可以得到初值,但其值不一定为0 d) 数组a中各元素都可以得到初值,并且所有值都为0 15 下面程序的运行结果是:( )(选择一项) main() {
int i,j,a=0; for(i=0;i<2;i++) {
for(j=0;j<=4;j++) {
if(j%2) break; a++; } a++; }
printf(“%d\\n”,a); } a) 4 b) 5 c) 6 d) 7
16 以下不是无限循环的语句为:( )(选择一项) a) for(y=0,x=1;x>++y;x=i++) i=x; b) for(;;x++=i); c) while(1){x++;}
d) for(i=10;;i--)sum+=i;
17 下面程序(每行程序后面的数字表示行号)( )(选择一项)mian() 1 { 2 int a[3]={3*0}; 3 int i; 4
for(i=0;i<3;i++)scanf(“%d”,&a[i]); for(i=1;;i++)a[0]=a[0]+a[i]; 6
printf(“%d\\n”,a[0]); 7 }
a) 没有错误 b) 第3行有错误
5
c) 第5行有错误 d) 第7行没有错误 18 以下描述正确的是:( )(选择一项) a) goto语句只能用于退出多层循环
b) switch语句中不能出现continue语句 c) 只能用continue语句来终止本次循环 d) 在循环中break语句不能独立出现 19 下面程序的运行结果是:( )(选择一项) include
{ k++;
} } printf(“%d,%d”,k,b); }
a) 3,-1 b) 8,-1 c) 3,0 d) 8,-2
20 能将用C语言编写的源文件转换成目标文件的是( ) a) .编辑程序 b) 编译程序 c) 链接程序 d) 解释程序
21 在C语言中,int,char和short种类型数据在内存中所占的字节数(a) 由用户自己定义 b) 均为两个字节 c) 是任意的
d) 由所用机器的机器字长决定 22 在C语言中假设有定义:
int i; char c,*s; float f,g;
则结果为整数的表达式有( )(选择两项) a) i+f; b) i*c
c) f*(int)g
) d) *s-‘A’+48
23 在C语言中,设有如下说明语句: struct stu {
int a; float b; }stu_type;
则以下说法不正确的是( ) a) struct是结构体类型的关键字
b) struct stu是用户定义的结构体类型 c) stu_type是用户定义的结构体类型名 d) a和b是结构体成员名 24一个C语言程序是由:( )。(选择一项) a) 一个主程序和若干子程序组成 b) 函数组成 c) 若干过程组成 d) 若干子程序组成
25 C语言中,若有说明:int a[10];则对a数组元素的正确引用是( )。(选择两项) a) a[10] b) a[3+1] c) a(5) d) a[0]
26 在C语言中,函数rewind()的作用是( )。(选择一项) a) 使位置指针重新返回至文件开头 b) 使位置指针返回至文末尾
c) 使位置指针自动移动到下一个字符位置 d) 将位置指针指向特定的位置 27 运行下面的C程序:
#include
若从键盘上输入9,则输出结果是( )。(选择一项) a) 11 b) 10 c) 9 d) 8
28 若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数表达式的值为“假”。则