9月份考试C语言程序设计第二次作业_c语言程序设计作业二
9月份考试C语言程序设计第二次作业由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“c语言程序设计作业二”。
2014年9月份考试C语言程序设计第二次作业
一、单项选择题(本大题共100分,共 40 小题,每小题 2.5 分)
1.下面程序
fun3(int x)
{
static int a=3;
a +=x;return(a);
}
main()
{
int k=2, m=1, n;
n=fun3(k);
m=fun3(m);
printf(“%dn”,n);
}的输出是().A.3 B.4 C.5 D.9
2.下面的程序
main()
{
int x=3;
do
{
printf(“%dn”,x-=2);
}
while(!(--x));
}
().A.输出的是1 B.输出的是1和-2 C.输出的是3和0 D.是死循环
3.以下叙述中正确的是().A.预处理命令行必须位于源文件的开头 B.在源文件的一行上可以有多条预处理命令C.宏名必须用大写字母表示 D.宏替换不占用程序的运行时间
4.以下叙述中正确的是().A.局部变量说明为static存储类,其生存期将得到延长 B.全局变量说明为static存储类,其作用域将被扩大 C.任何存储类的变量在未赋初值时,其值都是不确定的 D.形参可以使用的存储类说明符与局部变量完全相同
5.下列语句中,符合C语言语法的赋值语句是().A.a=7+b+c=a+7 B.a=7+b++=a+7 C.a=7+b,b++,a+7 D.a=7+b,c=a+7
6.下面程序
main()
{
int y=9;
for(;y>0;y--)
{/ 6
if(y%3==0)
{
printf(“%d”,--y);
continue;
}
}
} 的输出是().A.741
B.852
C.963
D.875421
7.下面程序
main()
{
int x=32;
printf(“%dn”,x=x
}的输出是().A.100 B.160 C.120 D.6
48.以下程序的输出结果是().#include main(){ printf(“%dn”,NULL);}
A.不确定的(因变量无定义)
B.0 C.-1 D.19.若k是int型变量,且有下面的程序片段
k=-3;
if(k
上面程序片段的输出结果是().A.#### B.&&&& C.####&&&& D.有语法错误,无输出结果
10.下面的程序
main()
{
int x=3,y=0,z=0;
if(x=y+z)printf(“* * * *”);
else printf(“####”);
}
().A.有语法错误不能通过编译 B.输出* * * *
C.可以通过编译, 但是不能通过连接, 因而不能运行 D.输出####
11.+以下定义语句中正确的是().A.char a=''''A''''b=''''B''''B.float a=b=10.0C.int a=10,*b=&a
D.float *a,b=&a
12.设有如下一段程序
int *var,ab;
ab=100;
var=&ab;
ab=*var+10;
执行下面的程序段后,ab的值为().A.120 B.110 C.100 D.90
13.若x和y都是int型变量,x=100、y=200,且有下面的程序片段 printf(“%d”,(x,y));上面程序片段的输出结果是().A.200 B.100 C.100 200 D.输入格式符不够,输出不确定的值
14.若有以下说明和定义
union dt
{
int a;
char b;
double c;
}
data;
以下叙述中错误的是().A.data的每个成员起始地址都相同 B.变量data所占的内存字节数与成员c所占字节数相等
C.程序段:data.a=5;printf(“%fn”,data.c);输出结果为5.000000D.data可以作为函数的实参
15.设有如下枚举类型定义
enum language
{
Basic=3,Aembly=6,Ada=100,COBOL,Fortran
}
枚举量Fortran的值为().A.4 B.7 C.102 D.10
316.以下叙述中正确的是().A.C语言的源程序不必通过编译就可以直接运行 B.C语言中的每条可执行语句最终都将被转换成二进制的机器指令 C.C语言程序经编译形成的二进制代码可以直接运行D.C语言中的函数不可以单独进行编译
17.在一个C程序中()
A.main函数必须出现在所有函数之前 B.main函数可以在任何地方出现
C.main函数必须出现在所有函数之后 D.main函数必须出现在固定位置
18.以下叙述中错误的是().A.对于double类型数组,不可以直接用数组名对数组进行整体输入或输出
B.数组名代表的是数组所占存储区的首地址,其值不可改变
C.当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息
D.可以通过赋初值的方式确定数组元素的个数
19.有以下程序
main()
{
char s[]=“Yesn/No”,*ps=s;puts(ps+4);
*(ps+4)=0;puts(s);
}
程序运行后的输出结果是().A.n/NO Yes /NO B./NO YesC./NO Yes /NO D./NO Yes
20.以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是().A.char s[10]=“abcdefg” B.char t[]=“abcdefg”,*s=t
C.char s[10];s=“abcdefg” D.char s[10];strcpy(s,“abcdefg”)
21.C语言中的标示符只能由字母、数字和下划线三种字符组成,且第一个字符()
A.必须是字母 B.必须是下划线 C.必须是字母或下划线
D.可以是字母或数字或下划线中的任意一种
22.以下程序段给数组所有的元素输入数据,请选择正确答案填入:
#include main()
{
int a[10],i=0;
while(i
}
A.a+(i++)B.&a[i+1]C.a+ID.&a[++i]
23.C语言中while和do-while循环的主要区别是()
A.do-while的循环体至少无条件执行一次 B.while的循环控制条件比do-while的循环控制条件严格 C.do-while 允许从外部转到循环体内D.do-while 的循环体不能是复合语句
24.下面四个选项当中,均是关键字的是()
A.auto,enum,includeB.switch,typedef,continue
C.signed,union,scanfD.if,struct,type
25.设ch是char型变量,其值为A,且有下面的表达式 ch=(ch>=''A''&&ch
A.B.aC.ZD.z
26.以下叙述中正确的是().A.用C程序实现的算法必须要有输入和输出操作 B.用C程序实现的算法可以没有输出但必须要输入C.用C程序实现的算法可以没有输入但必须要有输出 D.用C程序实现的算法可以既没有输入也没有输出
27.有以下程序:
main()
{
int s=0,a=1,n;
scanf(“%d”,&n);
do {s+=1;a=a-2;
}
while(a!=n);
printf(“%dn”,s);
}
若要使程序的输出值为2,则应该从键盘给n输入的值是().A.-1B.-3C.-5D.0
28.有以下程序
main()
{
int c=35;
printf(“%dn”,c&c);
}
程序运行后的输出结果是().A.0B.70C.35D.129.有以下程序
main()
{
int a[]={1,2,3,4,5,6,7,8,9,0},*p;
for(p=a;p
A.1,2,3,4,5,6,7,8,9,0
B.2,3,4,5,6,7,8,9,10,1
C.0,1,2,3,4,5,6,7,8,9
D.1,1,1,1,1,1,1,1,1,1
30.正确的自定义标识符是()
A.a=2B.a+bC.nameD.default
31.有以下程序:
#define f(x)x*x main()
{
int i;
i=f(4+4)/f(2+2);
printf(“%dn”,i);
}
执行后输出的结果是().A.28B.22C.16D.432.下面函数
int fun1(char*x)
{
char *y=x;
while(*y++);
return(y-x-1);
}的功能是().A.求字符串的长度B.比较两个字符串的大小C.将字符串x复制到字符串y
D.将字符串x连接到字符串y后面
33.以下程序运行后的输出结果是()
fun(int a, int b)
{
if(a>b)return a;
else return b;
}
main()
{
int x=3, y=8, z=6, r;
r=fun(fun(x,y), 2*z);
printf(“%dn”, r);
}
A.3B.6C.8D.1
234.已定义c为字符型变量,则下列语句中正确的是().A.c=''97B.c=“97”;C.c=97;D.c=“a”;''
35.若变量已正确定义并赋值,下面符合C语言的表达式是().A.a:=b+1B.a=b=c+2C.int 18.5%3D.a=a+7=c+b
36.s1和s2已正确定义并分别指向两个字符串.若要求:当s1所指串大于s2所指串时,执行语句S;,则以下选项中正确的是().A.if(s1>s2)SB.if(strcmp(s1,s2))SC.if(strcmp(s2,s1)>0)S
D.if(strcmp(s1,s2)>0)S
37.以下选项中属于C语言的数据类型是()
A.复数型B.逻辑型C.集合型D.双精度型
38.C语言中,long类型的数据占字节数为()A.1 B.2 C.4 D.8
39.有以下程序
main()
{
int a=1,b;
for(b=1;b
{
if(a>=8)break;
if(a%2==1){a+=5;continue;
}
a-=3;
}
printf(“%dn”,b);
}
程序运行后的输出结果是().A.3B.4C.5D.6
40.编辑程序的功能是()
A.建立并修改程序B.将C源程序编译成目标程序C.调试程序
D.命令计算机执行指定的操作
答案:
一、单项选择题(100分,共 40 题,每小题 2.5 分)
1.C 2.B 3.D 4.A 5.D 6.B 7.D 8.B 9.D 10.D 11.C 12.B 13.A 14.C 15.C 16.B
17.B 18.C 19.B 20.C 21.C 22.A 23.A 24.B 25.B 26.C 27.B 28.C 29.A 30.C 31.A 32.A 33.D 34.C 35.B 36.D 37.D 38.C 39.B 40.A