程序设计题和选择题.docx
《程序设计题和选择题.docx》由会员分享,可在线阅读,更多相关《程序设计题和选择题.docx(27页珍藏版)》请在冰豆网上搜索。
程序设计题和选择题
一、单选题:
(每题1.5分,共60分)
1、C语言程序的基本单位是____B___.
A.语句B.函数 C.程序行D.字符
2、C语言程序由( C)组成
A.子程序B.过程C.函数D.主程序段程序
3、算法的表示方法有__A_____。
A.自然语言,传统流程图,N-S流程图,伪代码,计算机语言
B.高级语言,汇编语言,机器语言
C.C语言,QBASIC语言,InterDev
D.图形图像法,描述法,编程法
E.计算机语言
4、以下程序的输出结果是D
main( )
{ int k=17;
printf("%d,%o,%x \n",k,k,k);
}
A.17,021,0x11B.17,17,17
C.17,0x11,021
D.17,21,11
5、下列变量定义中合法的是
A.short_a=1-.le-1;B.doubleb=1+5e2.5;
C.longdo=0xfdaL;D.float2_and=1-e-3;
答案:
A
6、C语言中合法的字符常量是__B__
A.'\084'B.'\X43'C.'ab'D."\0"
7、下面说法中正确的是( C )
A.int型和long型运算先将int型转换成unsigned型,再转换
B.两个float型运算结果为double型
C.只要表达式中存在double型,所有其他类型数据都必须转
D.表达式中的类型转换与运算顺序有关
8、以下不正确的叙述是D
A.在C程序中,逗号运算符的优先级最低
B.在C程序中,APH和aph是两个不同的变量
C.若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变
D.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值
9、设变量n为float类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是B
A.n=(n*100+0.5)/100.0B.m=n*100+0.5,n=m/100.0
C.n=n*100+0.5/100.0D.n=(n/100+0.5)*100.0
10、下列运算符中优先级最高的是B
A.=
11、若变量已正确定义并赋值,下面符合C语言语法的表达式是B
A.a:
=b+1B.a=b=c+2
C.int18.5%3D.a=a+7:
c+b
12、设CH是字符型变量,其值为'A',下列表达式的值是B
CH=(CH > ='A'&&CH < ='Z')?
(CH+32):
CH
A.AB.a C.ZD.Z
13、表达式18/4*sqrt(4.0)/8值的数据类型为C
A.IntB.FloatC.DoubleD.不确定
14、在C语言中,要求运算数必须是整型的运算符是B
A./B.%C.!
D.>
15、以下说法中正确的是D
A.#define和printf都是C语句
B.#define是C语句,而printf不是
C.printf是C语句,但#define不是
D.#define和printf都不是C语句
16、下面程序的输出是C
main()
{
int a=-1,b=4,k;
k=(a++<=0)&&(!
(b--<=0));
printf("%d%d%d%\n",k,a,b);
}
A.003B.012
C.103D.112
17、设有:
int a=1,b=2,c=3,d=4,m=2,n=2;
执行 (m=a > b)&&(n=c > d)后n的值是B
A.1B.2C.3D.4
18、若有条件表达式 (exp)?
a++:
b--,则以下表达式中能完全等价于表达式(exp)的是B
A.(exp==0B.(exp!
=0)
C.(exp==1)D.(exp!
=1)
19、为表示关系X≥Y≥Z应使用C语言表达式:
A__
A.(X>=Y)&&(Y>=Z)
B.(X>=Y)and(Y>=Z)
C.(X≥Y≥Z)
D.(X≥Y)&(Y≥Z)
20、能正确表示逻辑关系:
"a ≥ =10或a ≤ 0"的C语言表达式是D
A.a>=10ora<=0B.a>=0||a<=10
C.a>=10&&a<=0D.a<=0||a>=10
21、下面的程序是____D__
main()
{ int x=3,y=0,z=0;
if (x==y+z) printf("****");
else printf("####");
}
A.有语法错误不能过通过编译B.输出****
C.可能通过编译,但是不能通过连接,因而不能运行
D.输出####
22、执行下面语句后的输出为( D)
int i= -1;
if (i < =0)printf("****\n")
else printf("%%%%\n")
A.****B.%%%%
C.%%%%CD.有语法错,不能执行
23、若运行以下程序时,从键盘输入 ADescriptor < CR > ( < CR > 表示回车),则下面程序的运行结果是D
#include
main()
{char c;
int v0=0,v1=0,v2=0;
do{
switch(c=getchar())
{case 'a':
case 'A':
case 'e':
case 'E':
case 'i':
case 'I':
case 'o':
case 'O':
case 'u':
case 'U':
v1+=1;
default:
v0+=1;v2+=1;
}
}while(c!
='\n');
printf("v0=%d,v1=%d,v2=%d\n",v0,v1,v2);
}
A.v0=7,v1=4,v2=7B.v0=8,v1=4,v2=8
C.v0=11,v1=4,v2=11D.v0=12,v1=4,v2=12
24、以下程序的输出结果是A
main( )
{ int n=4;
while(n--)printf("%d ",--n);
}
A.20B.31C.321D.210
25、有一堆零件(100到200之间),如果分成4个零件一组的若干组,则多2个零件;若分成7个零件一组,则多3个零件;若分成9个零件一组,则多5个零件。
下面程序是求这堆零件总数,请选择填空。
D
#include
main()
{int i;
for(i=100;i<200;i++)
if((i-2)%4==0)
if(!
((i-3)%7))
if( ______ )
printf("%d",i);
}
A.i%9=5 B.i%9!
=5C.(i-5)%9!
=0D.i%9==5
26、以下程序的输出结果是B
{ int i,j,x=0;
for(i=0;i < 2;i++)
{ x++;
for(j=0;j < 3;j++)
{ if(j%2) continue;
x++;
}
x++
}
printf("x=%d\n",x);
}
A.x=4B.x=8C.x=6D.x=12
27、以下程序的输出结果是D
#include < stdio.h >
#include < string.h >
main()
{ char b1[8]="abcdefg",b2[8],*pb=b1+3;
while (--pb > = b1) strcpy(b2,pb);
printf("%d\n",strlen(b2));
}
A.8B.3C.1D.7
28、下面程序的功能是将从键盘输入的一对数,由小到大排序输出,当输入一对相等数时结束循环,请选择填空B
#include
main()
{int a,b,t;
scanf("%d%d",&a,&b);
while( ___________ )
{if(a > b)
{t=a;a=b;b=t;}
printf("%d,%d\n",a,b);
scanf("%d%d",&a,&b);
}
}
A.!
a=bB.a!
=bC.a==bD.a=b
29、下面程序的输出结果是( D )。
#include
main()
{int x=10,y=10,i;
for(i=0;x>8;y=++i)
printf(”%d%d”,x--,y);
}
A.10192 B.9876
C.10990D.101091
30、以下程序的输出结果是B
main( )
{ int i,x[3][3]={9,8,7,6,5,4,3,2,1};
for(i=0;i<4;i+=2)printf("%d ",x[i][i]);
}
A.52B.91C.53D.97
31、若有说明:
int a[3][4]={0};则下面正确的叙述是D
A.只有元素a[0][0]可得到初值0
B.此说明语句不正确
C.数组a中各元素都可得到初值,但其值不一定为0
D.数组a中每个元素均可得到初值0
32、以下程序的输出结果是B
main( )
{ char a[10]={'1','2','3','4','5','6','7','8','9',0},*p;
int i;
i=8;
p=a+i;
printf("%s\n",p-3);
}
A.6B.6789C.'6'D.789
33、以下程序的输出结果是C
#define f(x) x*x
main( )
{ int a=6,b=2,c;
c=f(a) / f(b);
printf("%d \n",c);
}
A.9B.6C.36D.18
34、若有说明语句D
char a[]="It is mine";
char *p="It is mine";
则以下不正确的叙述是
A.a+1表示的是字符t的地址
B.p指向另外的字符串时,字符串的长度不受限制
C.p变量中存放的地址值可以改变
D.a中只能存放10个字符
35、请选出正确的程序段C
A) int *p; B) int *s, k;
scanf("%d",p