. .. .. .
PAGE
.下载可编辑.
. .. .. .
一、请判断下列说法的是否正确:(10分,每小题1分)
(1)一个C程序由多个函数组成,且必须有一个main( )函数,要求main( )函数必须放到最前面。( x )
(2)所有的变量在使用前都必须予以声明。( v )
(3)C的double类型数据可以精确表示任何实数。( x )
(4)a是一维数组名,数组元素a[1]还可以写作“*(a++)”。( x )
(5)break语句只能用于switch语句和循环控制语句中。 ( v )
(6)C语言中的数组下标从0开始,当引数组元素超过所定义的范围,将出来编译错误。( x )
(7)一个for循环语句,一定可以使用while语句来替换。( v )
(8)函数原型为“void sort(float a[], int n)”,调用该函数时,形参数组a被创建,实参数组各元素的值被复制到a数组各元素中。( x )
(9) 一个结构类型的变量,在内存中占的字节数,为各成员数据类型所占内存的总和。( v )
例如:
struct example
{int I;
float f;
char s[20];
} x ;
(10)、语句 y=*(p++); 和 y=(*p)++; 是等价的。 ( x )
二、填空(15分,每小题1分)
(1) C语言的基本数据类型分为 型、 型、 型和
枚举型。
(2)、A不等于B在C语言中应使用表达式 来表示。
(3)写出数学表达式 对应的C表达式 ___________ ___。
(4)写出判断字符变量ch是(’0’~’9’)数字符的C表达式 ________。
(5) 若s=’d’,执行语句s=(s>=’a’&&s<=’z’)?s-32:s;后,字符变量s的值为 __d__。
(6)int b=5;执行赋值表达式a=5+(b+=6) 后,a、b的值依次是_16___11_。
(7) 在C语言程序中,如果对函数f的类型未加显说明,则函数f的隐含类型是_int___。
(8)定义语为char a[10] ="john\0ni";,语句printf("%d",strlen(a));输出结果是__4________。
(9)所有的程序都可以用三种控制结构编写。这三种控制结构是 、
和 。
(10)要使a=10,b=20,c1=’A’,c2=’a’,x=1.5,y=-3.75,z=67.8,用下面的语句输入:
scanf(“%5d%5d%c%c%f%f%*f,%f”,&a,&b,&c1,&c2,&x,&y,&z);
键盘上输入数据的正确形式为:
(11)函数调用时,若形、实参数均为数组,则其传递方式是______________。
(12)表达式(5==5==5)的值为____0__________。
(13)设int x[]={1,2,3,4},y,*p=&x[1]; 则执行语句y=(*- -p)++;后变量y的值为__1_______。
(14)‘a’和“a”是有区别的,‘a’在内存中占_1___个字节,“a”在内存中占__2__个字节。
三、选择题(每题2分,共20分)
(1)算法具有五个特性,以下选项中不属于算法特性的是( b )
(A)有穷性? (B)简洁性?( C)可行性? (D)确定性?
(2)以下选项中可作为C语言合法常量的是( b )
(A)-80.? (B)-080? (C)-8e1.0? (D)-80.0e?
(3)以下不能定义为用户标识符是?( d )?
(A) Main? (B)_0? (C) _int? (D)sizeof?
(4)在下列各程序段中,没有构成死循环的是( a )
(A)int i=100; (B) int y=1;
while (1) for(; y<=10;y++)
{i=i%100+1; y- -;
if(i=100) break;
}
(C)int k=1000; (D)int s=36;
do{++k} while (k>=1000) ;