选择题
1:下述程序执行后的输出结果是( )。
#include
main()
{
int a[]={2,4,6,8,10};
int y=1,x,*p;
p=&a[1];
for (x=0;x<3;x++)
y+=*(p+x+;
printf("%d ",y);
}
A.17
B.18
C.19
D.20
2:C 语句 x*=y+2 ;还可以写作
A.x=x*y+2;
B.x=2+y*x;
C.x=x*(y+2);
D.x=y+2*x;
3:定义宏将两个 float 类型变量中的数据交换,下列写法中最好的是
A.# define jh(a,b) t=a;a=b;b=t;
B.# define jh(a,b) {float t;t=a;a=b;b=t;}
C.# define jh(a,b) a=b;b=a;
D.# define jh(a,b,t) t=a;a=b;b=t;
4:下述程序执行后的输出结果是
#include
main()
{
int x='f';
printf("%c ",'a'+(x-'a'+1));
}
A.G
B.H
C.I
D.J
5:在某文件中,若全局变量与局部变量同名,则
A.视为同一个变量
B.变量作用域不确定
C.不允许
D.允许
6:常数的书写格式决定了常数的类型和值, 0x1011 是
A.8 进制整型常量
B.字符常量
C.16 进制整型常数
D.2 进制整型常数
7:设double * p[6];则
A.p是指向double型变量的指针
B.p是double型数组
C.p是指针数组,其元素是指向double型变量的指针
D.p是数组指针,指向double型数组
8:对于do-while语句,错误的说法是
A.先执行循环体后判断循环条件
B.循环体至少要执行一次
C.循环体有可能一次也不执行
D.循环体中可以包含若干条语句
9:求一个双精度实数的绝对值,应该调用函数
A.sqrt
B.pow
C.abs
D.fabs
10:以下叙述中不正确的是
A.在不同的函数中可以使用相同名字的变量
B.函数中的形式参数是局部变量
C.在一个函数内定义的变量只在本函数范围内有效
D.在一个函数内的复合语句中定义的变量在本函数范围内有效
11:设有定义int a=3, b,*p=&a;,则下列语句中使 b不为3的语句是
A.b=* &a;
B.b=* p;
C.b=a;
D.b=*a;
12:下列程序的运行结果是( )
main( )
{ int a[][4]={1,3,5,7,9,11,13,15,17,19,21,23};
int (*p)[4],i=2,j=1;
p=a;
printf(″%d ″,*(*(p+i)+j));
}
A.9
B.11
C.17
D.19
13:数据-35.78在文本文件中占用的字节个数是
A.4
B.5
C.6
D.8
14:下列说法中错误的是
A.C语言中循环嵌套的层数没有限定
B.C语言中的内部函数只能在本文件中被调用
C.用typedef语句定义的数据类型名称必须是大写字母
D.C语言中的continue语句,可以通过改变程序的结构而省略