2020年秋 考试客观题题集(学生)判断题

1-1函数的形参都属于局部变量。(对)

1-2函数的实参只能是常量。(错)

1-3不管函数定义出现在函数调用之前还是之后,都必须加函数原型声明。(错)

1-4在不同的函数中不可以使用相同名字的变量。(错)

1-5函数形参的存储单元是静态分配的。(错)

1-6C语言中,若省略函数返回类型的申明,则函数类型为int。(对)

1-7C 语言程序中可以有多个函数或多个主函数。(错)

1-8一个函数被调用时,函数体内部又调用另一个函数的调用方式称为嵌套调用。(对)

1-9函数参数之间的传递方式有两种:值传递和地址传递。(对)

1-10对于函数中的所有局部变量,如果没有指定初值,则其初值不确定。(错)

1-11变量被定义后, 它的作用域和寿命就被确定了, 但也可随时修改其作用域或寿命。(错)

1-12在C 语言程序中, 凡是没有出现存储类说明符的变量都是extern类的。(错)

1-13实际参数个数少于形式参数个数不影响函数运行。(错)1-14函数返回值的类型不能是char类型。(错)

1-15全局变量的作用域和生存期与自动类变量的相同。(错)

1-16语句printf("%.2f",1.0/3);输出为0.33。(对)

1-17假设k是整型变量,计算表达式1/k后结果的数据类型是整型。(对)

1-18表达式(x == 0)与表达式(!x)等价。(对)

1-19表达式(3

1-20字符‘\0’的ASCII码值是0。(对)

1-21C 语言的标识符由字母、数字和其他任意字符组成。(错)

1-22若变量定义为double x;,则x % 2是符合C语言语法的表达式。(错)

1-23若变量定义为int x, y; ,则x + y = 22是符合C语言语法的表达式。(错)

1-24==是关系运算符,用于比较两个操作数是否相等;而= 是赋值运算符,表示对变量赋值。(对)

1-25C程序中,用一对大括号{}括起来的多条语句称为复合语句,复合语句在语法上被认为是一条语句。(对)

1-26C语言中,数字字符"1"的值(ASCII码)就是数字1。(错)

1-27C语言中,大写字母"M"的ASCII码值比小写字母"m"的ASCII码值大。(错)

1-28以下C语言表达式的值为“真”。"D" - "A" == "d" - "a"(对)

1-29表达式!x 等价于x != 1。(错)

1-30s(s-a)(s-b)(s-c) 是合法的C语言表达式。(错)

1-31表达式!!6的值是6。(错)

1-32若表达式sizeof(int)的值为4,则int类型数据可以表示的最大整数为231−1。(对)

1-33表达式(z=0, (x=2)||(z=1),z) 的值是1。(错)

1-34与float型数据相比,double型数据的精度高,取值范围大。(对)

1-35在if语句的三种形式中,如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用{}括起来组成一个复合语句。(对)

1-36在switch语句中,每一个的case常量表达式的值可以相同。(错)

1-37case语句后如没有break,顺序向下执行。(对)

1-38执行以下程序段后,y的值为-1。(错)

x=-1;

if(x<0){

y=-1; }

y=0;

1-39在switch语句中,不一定使用break语句。(对)1-40省略else的if语句的一般形式如下,若表达式的值为

“真”,则执行语句1;否则,就什么也不做。(对)if (表达式)

语句1

1-41如果变量已经正确定义,则执行以下程序段后,x的值不变。(错)

x = 4;

if (x < 0){

y = -1;

}else if (x = 0){

y = 0;

}else{

y = 1;

}

1-42在switch语句中,必须使用default。(错)

1-43设变量已正确定义,以下是合法的switch语句。(错)switch(choice){

case choice == 1: price = 3.0; break;

case choice == 2: price = 2.5; break;

case choice == 3: price = 4.0; break;

case choice == 4: price = 3.5; break;

default: price = 0.0; break;

}

1-44在多层循环中, 一个break语句只向外跳一层。(对)1-45for语句的一般形式如下,其中的表达式1只执行一次。(对)

for (表达式1; 表达式2; 表达式3)

循环体语句

1-46循环体如包括有一个以上的语句,则必须用一对大括号{}括起来,组成复合语句,复合语句在语法上被认为是一条语句。(对)

1-47以下程序段的功能是计算20的阶乘。(错)int i;

double product;

product = 0;

for (i = 1; i <= 20; i++){

product = product * i;

}

1-48若变量已正确定义,以下while循环结束时,i的值为11。(错)

i = 1;

while (i <= 10){

printf("%d\n", i);

}

1-49若变量已正确定义,执行以下while语句将陷入死循

环。(对)

i = 1;

while (i <= 10) ;

i++;

1-50若变量已正确定义,执行以下程序段,输入负数时,循环结束。(对)

total = 0;

scanf ("%d", &score);

while(score >= 0){

total = total + score;

scanf ("%d", &score);

}

1-51do - while语句的一般形式如下,其中的循环体语句至少执行一次。(对)

do{

循环体语句

}while(表达式);

1-52while语句和do - while语句的一般形式分别如下,其主要区别是:while 语句先判断循环条件,只有条件满足才进入循环,如果一开始条件就不满足,则循环一次都不执行。而do - while语句先执行循环体,后判断循环条件,所以无

论循环条件的值如何,至少会执行一次循环体。(对)while (表达式)

循环体语句

do{

循环体语句

}while(表达式);

1-53以下两个程序段等价,其功能是计算s=1+2+ (10)

(对)

/* 程序段A*/

s = 0;

i = 1;

while(i <= 10){

s = s + i;

i++;

}

/* 程序段B */

s = 0;

i = 1;

while(1){

if(i > 10){

break;

}

s = s + i;

i++;

}

1-54在循环中使用break语句或者continue语句,其作用是相同的。(错)

1-55执行以下while语句,将出现死循环。(对)s = 0;

i = 1;

while(1){

if(i > 10){

continue;

}

s = s + i;

i++;

}

1-56在嵌套循环(多层循环)中, 每一层循环都应该使用自己的循环变量,以免互相干扰。(对)

1-57当用户要求输入的字符串中含有空格时,应使用的输入函数是gets()。(对)

1-58调用printf函数,%s的格式输出字符串时,字符数组名、字符指针和字符串常量都可以作为输出参数。(对)

1-59同一个数组中的每个元素都具有相同的数据类型,有

统一的标识符即数组名,用不同的序号即下标来区分数组中的各元素。(对)

1-60在定义数组之后,根据数组中元素的类型及个数,在内存中分配一段连续存储单元用于存放数组中的各个元素。(对)

1-61数组定义后,数组名表示该数组所分配连续内存空间中第一个单元的地址,即首地址。(对)

1-62数组定义后,数组名的值是一个地址,可以被修改。(错)1-63字符"\0"的ASCII码值为0。(对)

1-64"a" 和"a"是等价的。(错)

1-65变量定义:int *p, q; 中,p和q都是指针。(错)

1-66语句int *p,q,r; 定义了3个指针变量。(错)

1-67执行语句int *p; 后,指针变量p只能指向int类型的变量。(对)

1-68对于定义int a[10],*p=a; 语句p=a+1;和a=a+1;都是合法的。(错)