单选1
1.以下运算符优先级按从高到低排列正确的是( )。C
A.算术运算、赋值运算、关系运算
B.关系运算、赋值运算、算术运算
C.算术运算、关系运算、赋值运算
D.关系运算、算术运算、赋值运算
解析:算术运算符>关系运算符>逻辑与运算符>赋值运算符
2.下面哪个表达式的值是2,()。C
A.6%3
B.-5%3
C.5%-3
D.-5%-3
解析:c:|x|=|a|%|b| (a%b=a-(a/b)*b) 余数符号与被除数一致;
ps:python:a%b=a-b*(a//b)
3.下面有关for循环的正确描述是( )。D
A.for循环只能用于循环次数确定的情况
B.for循环先执行循环体语句,后判断循环条件
C.在for循环中,不能用break语句跳出循环体
D.for循环的循环体可以包含多条语句,但多条语句必须构成复合语句
解析:for循环常用于循环次数已知的循环中,但也可以用于循环次数未知的循环中;
for循环先判断,后根据判断表达式的值决定是否循环;break中途退出循环;复合花括号。
4.下面的这个循环的循环次数是( )。B
for(int i=0,j=10; i=j=10; i++,j--)
A.语法错误,不能执行
B.无限次
C.10
D.1
解析:i=j=10为赋值语句,永远成立。
5.关于数组初始化,下列说法不正确的是:C
A.二维数组初始化的时候,列数是必须给出的,行数可以由编译器来数。
B.二维数组初始化的时候,每行一个{},逗号分隔。
C.对一维数组初始化的时候,即使给全部元素都赋了初值,也不能省略数组长度
D.二维数组初始化的时候,最后的逗号可以存在
解析:一维数组初始化时,如果全部元素都进行了赋值,可以省略数组长度,编译器会根据元素数量自动确定数组长度;一维数组初始化时,在最后一个元素后面加逗号,编译器允许,不影响代码格式。
6.对于定义 char str[] = "abc\000def\n"(注:其中0为数字零),求字符串str的长度len和数组str的大小size,len和size分别 是: C
A. 12 ,13
B. 3 ,11
C. 3 ,9
D. 3 ,4
解析:字符串str的长度是结束符之前的字符个数;对于size,/0算一个字符,/n不算作一个字符。
7.有两个字符数组a,b,则以下正确的输入语句是()B
A.gets(a,b);
B.scanf("%s%s",a,b);
C.scanf("%s%s",&a,&b);
D.gets("a"),gets("b");
解析:gets函数只能输入一个字符数组。