GEC 嵌入式LINUX就业班入学测试题姓名:__________________ 报名班次:________________ 手机号码:_________________
1.对于一个正常运行的C程序,以下叙述中正确的是:
A)程序的执行总是从main函数开始。
B)程序的执行总是从程序的第一个函数开始。
C)程序的执行总是从最后一个函数开始。
D)程序的执行从哪个函数开始是不确定的。
2.设有定义:
int k = 0;
以下选项的四个表达式中,运算之后k的值不变的是:
A)k++; B) k += 1; C) ++k; D) k+1;
3.以下选项中,当x为大于1的奇数时,值为0的表达式:
A) x % 2 == 1 B) x / 2 C) x % 2 != 0 D) x % 2 == 0
4.以下叙述中正确的是:
A)break语句只能用于switch语句题中。
B)continue语句的作用是:使程序的执行流程跳出包含它的所有循环。
C)break 语句只能用在循环体内和switch语句体内。
D)在循环体内使用break语句和continue语句的作用相同。
5.有以下程序:
int main(void)
{
int k = 5, n = 0;
do {
swith( k)
{
case 1:
case 3: n += 1; break;
default: n = 0; k--;
case 2:
case 4: n += 2; k--; break;
}
printf(“%d”, n);
}while(k > 0 && n < 5);
}
程序运行之后的输出结果是:
A) 235 B) 0235 C) 02356 D) 2345
6.有以下程序:
int main(void)
{
char ch[ ] = “uvwxyz”;
char *p;
p = ch;
printf(“ %c ”, *(p + 5));
}
程序运行之后的输出结果是:
A) z B) 0 C) 元素ch[5]的地址D) 字符y的地址
7.分析下面的代码:
char *a = “hello”;
char *b = “hello”
if(a == b)
printf(“YES”);
else
printf(“NO”);
程序运行之后的输出结果是:
A) YES B) NO C) 跟编译器设置有关D) 程序有语法错误
8.下列叙述错误的是:
A)复合语句中定义的函数只在该复合语句中有效。
B)return( ) 语句中的括号内,可以是变量,常量或者有确定值的表达式。
C)形式参数也是局部变量。
D)主函数中定义的变量在整个程序中都是有效的。
9.假设有以下语句:
char *p[2] = {“abcd”, “ABCD”};
则下面说法正确的是:
A)p是一个数组,里面有2个元素,分别是两个指向“abcd”和“ABCD”的指针。
B)p是一个指针,指向一个包含了两个字符串的数组。
C)p[0]的值是字符串“abcd”的大小。
D)p[1]是一个一维数组,里面放了一个字符串“ABCD”。
10.设整型变量a为5,使b不为2的表达式是:
A) b = a/2; A) b = 6 - (--a); C) b = a % 2; D) b = a>3 ? 2 : 1
11.下面语句不正确的是:
A)int a[5];
B)char b[ ] = {…a?, …b?, …c?};
C)int a[ ] = {2, 3, 4, 5};
D)char b[3 ][ ] = {1, 2, 3, 4, 5};
12.假如有如下定义:char c = 0; 则以下语句不正确的是:
A) c = …\n?; A) c += 6; C) c = …A?; D) c = “hello”;
13.以下说法正确是:
A)带参数的宏定义中的参数是有类型的。
B)宏展开将会占用程序的运行时间。
C)可以在一个逻辑行中写多条宏定义命令。
D)一般而言,函数的声明语句可以放在头文件中。
14.C语言中,switch语句后的括号中的表达式的值可以是:
A)整型。
B)整型,字符型,枚举型。
C)整型和字符型。
D)任何类型。
15.若函数的形参为一维数组,则下列说法正确的是:
A)调用时对应的实参必须是一个数组。
B)形参数组的元素个数必须多于实参数组的元素个数。
C)形参数组的元素个数必须等于实参数组的元素个数。
D)该形参实际上是一个指针。