c语言程序设计练习5
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
以下正确的说法是:在C语言中(A)。
A、实参和与其对应的形参各占用独立的存储单元
B、形参是虚拟的,不占用存储单元
C、只有当实参和与其对应的形参同名时才共占用存储单元
D、实参和与其对应的形参共占用一个存储单元
下列程序段的输出结果是 B
int a=1234;
float b=123.456;
double c=12345.54321;
printf("%2d,%2.1f,%2.1f",a,b,c);
A、1234,123.4,1234.5
B、1234,123.5,12345.5
C、12,123.5,12345.5
D、无输出
若有double *p,x[10];int i=5;使指针变量p指向元素x[5]的语句为(D)。
A、p=x;
B、p=x[i];
C、p=&(x+i)
D、p=&x[i];
指针变量p进行自加运算(即执行p++;)后,地址偏移值为2,则其
数据类型为(A)。
A、int
B、double
C、float
D、char
若有定义:int *p[3];,则以下叙述中正确的是(C)。
A、定义了一个名为*p的整型数组,该数组含有三个int类型元素
B、定义了一个可指向一维数组的指针变量p,所指一维数组应具有三个int类型元素
C、定义了一个指针数组p,该数组含有三个元素,每个元素都是基类型为int的指针
D、定义了一个基类型为int的指针变量p,该变量具有三个指针
表达式18/4*sqrt(4.0)/8值的数据类型为(B)。
A、float
B、double
C、不确定
D、int
以下合法的C语言赋值语句是 C
A、a=b=58
B、a=58,b=58
C、--i
D、k=int(a+b)
若二维数组a有m列,则在a[i][j]前的元素个数为(B)。
A、j*m+i
B、i*m+j
C、i*m+j+1
D、i*m+j-1
若执行以下程序时从键盘上输入3和4,则输出结果是B main()
{
int a, b, s;
scanf(“%d%d”, &a, &b);
s = a;
if(a < b) s = b;
s *= s;
pritnf(“%d\n”, s);
}
A、14
B、16
C、20
D、18
下面的程序片断所表示的数学函数关系是 A
y = -1;
if(x != 0) y = 1;
if(x > 0) y = 1;
else y = 0;
A、
B、
C、
D、
设C语言中,int类型数据占2个字节,则long类型数据占(C)。
A、2个字节
B、1个字节
C、4个字节
D、8个字节
C语言中要求对变量作强制定义的主要理由是(B)。
A、便于编辑预处理程序的处理
B、便于确定类型和分配空间
C、便于移植
D、便于写文件
若已定义x为int类型变量,下列语句中说明指针变量p的正确语句是(A)。
A、int *p=&x;
B、int p=&x;
C、*p=*x;
D、int *p=x;
以下程序段的输出结果是(C)。
char *alp[]={"ABC","DEF","GHI"}; int j; puts(alp[1]);
A、A
B、B
C、DEF
D、D
根据以下定义,能输出字母M的语句是 B 。
struct person
{ char name[9];
Int age;
};
struct person
class[4]={{“John”,17},{“Paul”,19},{“Mary”,18},{“Adam”,16}};
A、printf(“%c\n”,class[3].name[1]);
B、printf(“%c\n”,class[2].name[0]);
C、printf(“%c\n”,class[2].name[1]);
D、printf(“%c\n”,class[3].name);
若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是(B)。
A、1
B、2.0
C、2.5
D、2
以下非法的赋值语句是 D
A、j++
B、x=j>0
C、n=(i=2,++i)
D、++(i+1)
若变量已正确说明为int类型,要给a、b、c输入数据,以下正确的输入语句是 A
A、scanf(“%d%d%d”, &a,&b,&c);
B、scanf(“%d%d%d”,a,b,c);
C、read(a,b,c)
D、scnaf(“%D%D%D”,&a,&b,&C);
fgetc函数的作用是从指定文件读入一个字符,该文件的打开方式
必须是(D)。
A、答案B和C都正确
B、只写
C、追加
D、读或读写
下列四个选项中,均是C语言关键字的选项是(B)。
A、if struct type
B、switch typedef continue
C、signed union scanf
D、auto enum include
下列定义不正确的是(C)。
A、static char c;
B、#define S 345
C、int max(x,y); int x,y; { }
D、#define PI 3.141592
以下叙述中正确的是(A)。
A、宏替换不占用运行时间,只占编译时间
B、在以下定义中 C R 是称为"宏名"的标识符 #define C R 045
C、在程序的一行上可以出现多个有效的预处理命令行
D、使用带参的宏时,参数的类型应与宏定义时的一致
下面说明不正确的是(A)。