×
15.设某字符的ASCII码十进制值为72,则其十六进制值为48。
√
16.结构化程序语言的三种基本结构是顺序、选择和循环。
√
17.‘\n’不是一个字符常量。
×
18.与float型数据相比,double型数据的精度高,取值范围大。
√
19.在C语言中,表达式(010+2)的值是10。
√
20.do-while语句先执行循环体,后判断循环条件,所以循环体至少会执行一次。
√
21.在C语言中,常量和变量都有数据类型。
√
22.C语言的运算符只有单目运算符和双目运算符两种。
×
23.若变量已正确定义,表达式x+y=z符合C语言语法。
×
24.C编译器可以找出C源程序中所有的语法错误和逻辑错误。
×
25.表达式3*5/2和表达式3/2*5等价。
×
26.表达式m=n++的求解顺序是先计算m=n,再计算n=n+1。
√
27.变量名fahr和Fahr代表两个不同的变量。
√
28.对整型变量可进行自加或自减运算,而对常量或表达式不可以。
√
29.while语句先判断循环条件,所以循环体有可能一次也不执行。
√
30.C程序中无法比较二个字符的大小。
×
31.continue语句和break语句都只能用在循环体中。
×
32.表达式%2是合法的C语言表达式。
×
33.C语言编写的源程序必须经过编译连接,生成扩展名为.exe的可执行文件才能运行。
√
34.格式符“%o”是按16进制输出整数。
×
35.for循环只能用于循环次数已确定的场合。
×
36.算术运算符和赋值运算符的结合方向均由左自右。
×
37.break语句只能用在switch语句中。
×
38.C的任何类型数据在计算机内部都是以二进制形式存储的。
√
39.按格式符“%d”输出float类型变量时,截断小数位后取整输出。
×
40.表达式0195是一个八进制整数。
×
41.执行printf("%d",'M'-'A'+'a'-'m');,输出0。
√
42.表达式!
x等价于x!
=1。
×
43.表达式(z=0,(x=2)||(z=1),z)的值是1。
×
44.在C程序中,用整数0表示逻辑值“假”。
√
45.若变量已正确定义,表达式x=y=1符合C语言语法。
√
46.表达式!
(x>0||y>0)等价于!
(x>0)&&!
(y>0)。
√
47.在C源程序中语句if(x==5)y++;与if(x=5)y++;等价。
×
48.在的关系运算符(>=、>、==、!
=、<=、<)中,优先级最低的运算符是==、!
=。
√
49.若x的当前值为5,执行语句“if(x=3)x=x+5;”后,x的值依然是5。
×
50.执行循环语句“for(i=1;i<10;i=i+2)s+=i;”后,i的当前值为11。
√
单选题
1.学校的学生学籍管理程序属于______。
C
(A)工具软件(B)系统软件(C)应用软件(D)文字处理软件
2.有些高级语言源程序在计算机中执行时,采用的是解释方式。
在解释方式下,源程序由______边解释边执行。
B
(A)编译程序(B)解释程序(C)操作系统(D)汇编程序
3.关于计算机软件的叙述,错误的是______。
B
(A)软件是一种商品(B)软件借来复制也不损害他人利益
(C)《计算机软件保护条例》对软件着作权进行保护
(D)未经软件着作权人的同意复制其软件是一种侵权行为
4.在下列四条叙述中,正确的一条是______。
C
(A)最先提出存储程序思想的人是英国科学家艾伦·图灵
(B)ENIAC计算机采用的电子器件是晶体管
(C)在第三代计算机期间出现了操作系统
(D)第二代计算机采用的电子器件是集成电路
5.已知英文小写字母d的ASCII码为十进制数100,则英文小写字母h的ASCII码为十进制数_______。
B
(A)103(B)104(C)105(D)106
6.有一个数值152,它与十六进制数6A相等,那么该数值是______。
D
(A)十进制数(B)二进制数(C)四进制数(D)八进制数
7.Internet比较确切的一种含义是______。
B
(A)一种计算机的品牌(B)网络中的网络,即互连各个网络
(C)一个网络的顶级域名(D)美国军方的非机密军事情报网络
8.下列关于系统软件的四条叙述中,正确的是______。
A
(A)系统软件与具体应用领域无关(B)系统软件与具体的硬件无关
(C)系统软件是在应用软件基础上开发的(D)系统软件就是指操作系统
9.计算机内存的每个基本单位,被赋予一个唯一的______,称为地址。
C
(A)容量(B)字节(C)序号(D)功能
10.十六进制数转换成十进制数是______。
C
(A)(B)(C)(D)
11.在计算机中存储数据的最小单位是______。
B
(A)字节(B)位(C)字(D)记录
12.因特网中某主机的二级域名为“edu”,表示该主机属于______。
C
(A)赢利性商业机构(B)军事机构(C)教育机构(D)非军事性政府组织机构
13.下列字符中,其ASCII码值最大的是______。
D
(A)9(B)D(C)a(D)y
14.语句printf(“%%d%d”,123);将输出:
A、%123%dB、%%d123√C、%d123D、上述语句语法有错
15.对于intx,y;语句if(x<0)y=-1;elseif(!
x)y=0;elsey=1;等价于:
A、y=0;if(x>=0)if(x)y=1;elsey=-1;
√B、if(x!
=0)if(x>0)y=1;elsey=-1;elsey=0;
C、if(x<0)y=-1;if(x!
=0)y=1;elsey=0;
D、y=-1;if(x!
=0)if(x>0)y=1;elsey=0;
16.语句if(a>b)k=0;elsek=1;等价于:
A、k=(a>b)1:
0;B、k=a>b;√C、k=a<=b;D、以上均不是
17.执行下列程序段:
inti,j;
i=3/2+7/2==5;
j=45%11+(((7>8)14:
21)==14);
后变量i,j的值应为:
√A、i=0j=1B、i=1j=1C、i=0j=2D、i=1j=2
18.如果inti=16,j=23;执行printf("%x--%o",i,j)后输出为:
A、10—23√B、10--27C、16--23D、16—27
19.若x是double型变量,n是int型变量,执行,并输入3后,x=,
n=3。
√A、scanf("%d%lf",&n,&x);B、scanf("%lf%d",&x,&n);
C、scanf("%lf%d",&n,&x);D、scanf("%d,%lf",&n,&x);
20.若变量已经被正确定义,为表示“变量x和y都能被3整除”,应使用的C表达式
是。
A、(x%3!
=0)||(y%3!
=0)B、(x%3!
=0)&&(y%3!
=0)
C、(x%3==0)||(y%3==0)√D、(x%3==0)&&(y%3==0)
21.while()等价于while(x)。
A、x==0√B、x!
=0
C、x==1D、x!
=1
22.下列程序段的输出结果是。
intcount=0,x,y,z;
for(x=1;x<=2;x++)
for(y=1;y<=3;y++)
for(z=1;z<=4;z++)
count++;
printf("%d",count);
A、10B、9
√C、24D、0
23.判断变量ch是英文字母的表达式为。
A、('a'<=ch<='z')||('A'<=ch<='Z')
B、(ch>='a'&&ch<='z')&&(ch>='A'&&ch<='Z')
√C、(ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z')
D、('A'<=ch<='z')&&('A'<=ch<='z')
24.while()等价于while(!
x)。
A、x==1√B、x==0
C、x!
=0D、x!
=1
25.若变量已正确定义,要求程序段完成求5!
的计算,不能完成此操作的程序段是。
A、for(i=1,p=1;i<=5;i++)p*=i;√B、for(i=1;i<=5;i++){p=1;p*=i;}
C、i=1;p=1;while(i<=5){p*=i;i++;}D、i=1;p=1;do{p*=i;i++;}while(i<=5);
26.有以下程序
#include<>
main()
{inti=0,x=0;
for(;;)
{if(i==3||i==5)continue;
if(i==6)break;
i++;
x+=i;
}
printf("%d\n",x);
}
程序运行后的输出结果是。
A、10B、13C、21√D、程序进入死循环
27.下列条件语句中,功能与其他语句不同的是。
A、if(a)printf("%d\n",x);elseprintf("%d\n",y);
B、if(a==0)printf("%d\n",y);elseprintf("%d\n",x);
C、if(a!
=0)printf("%d\n",x);elseprintf("%d\n",y);
√D、if(a==0)printf("%d\n",x);elseprintf("%d\n",y);
28.若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|<10的是。
A、abs(x-y)<10B、x-y>-10&&x-y<10√C、(x-y)<-10||!
(y-x)>10D、(x-y)*(x-y)<100
29.有以下程序
#include<>
main()
{inti;
for(i=0;i<3;i++)
switch(i)
{case0:
printf("%d",i);
case2:
printf("%d",i);
default:
printf("%d",i);
}
}
程序运行后的输出结果是。
A、022111B、021021√C、000122D、012
30.若整型变量a、b、c、d中的值依次为:
1、4、3、2。
则条件表达式acd的值是。
√A、1 B、2 C、3 D、4
31.若k为整型,以下while循环执行___次。
k=2;
while(k=0)
printf("%d",k),k--;
printf("\n");
A、无限次√B、0次C、1次D、2次
32.数字字符0的ASCII值为48,以下程序的输出结果是。
33.#include<>
main()
{ char a='1',b='2';
printf("%c,",b++);
printf("%d\n",b-a);
}
A、3,2 B、50,2 √C、2,2 D、2,50
34.有以下程序
#include<>
main()
{ int a,b,d=25;
a=d/10%9;
b=a&&(-1);
printf("%d,%d\n",a,b);
}
程序运行后的输出结果是。
A、6,1 √B、2,1 C、6,0 D、2,0
35.若有intd=2,a=5,s=3;s*=d+a;变量s的值是。
A、3B、11√C、21D、17
36.设有整型变量a,b,c,其中a,b的值分别为15与19,计算表达式“c=(a%2==0)a:
b”
后,c的值是()。
A、0B、1C、15√D、19
37.整型常量的书写格式决定了整数的类型和值,03322是。
A、用16进制表示的int类型常量√B、用8进制表示的int类型常量
C、用10进制表示的int类型常量D、用16进制表示的longint类型常量
38.若有inti,j,n=8;连续执行下述两条语句,则i,j和n的值应是。
i=n++;j=++n;
A、i=8j=9n=10B、i=8j=8n=9
√C、i=8j=10n=10D、i=9j=8n=9
39.要为字符型变量a赋初值,下列语句中哪一个是正确的。
A、chara="k";B、chara=*;C、chara=%;√D、chara='3';
40.若有定义:
intk=2,x;则能使变量x的值为3的表达式是
A、x=5/k+√B、x=5/k+1;C、x=x+kD、x=2*k--
41..以下程序段的输出结果是。
chars=’b’;
s=s-1;
printf(“%c\n”,s);
A、b√B、aC、s的地址D、c
42.以下程序段的输出结果是。
intj=3,s;
s=j++;
printf(“%d%d\n”,s,j);
√A、34B、44C、43D、33
43.判断char形变量c为数字字符的正确表达式为是。
√A、’0’<=c&&c<=’9’B、’0’<=c<=’9’
C、c>=0||C<=’9’D、c>=0&&c<=9
44.运算符的优先级最高。
A、*B、=C、+√D、++
45.计算变量x(x大于1)整数部分位数的表达式,可以写作。
A、(int)log10(x)B、log10(x)
C、log10(x)+1√D、(int)log10(x)+1
46.判断变量x、y中有且只有1个值为0的表达式为。
√A、!
(x*y)&&x+yB、(x*y)&&x+y
C、x*y==0D、x==0&&y!
=0
47.执行语句“for(s=0,k=1;s<20||k<10;k=k+2)s+=k;”后,s、k的值为。
A、25、9√B、25、11C、36、11D、36、9
48.下列程序段执行后s值为。
inti=1,s=0;
while(i++)if(!
(i%3))break;elses+=i;
√A、2B、3C、6D、以上均不是
49.执行下列程序段后的输出结果是。
charx=’9’;
while(x>’7’)printf(“%c”,x--);
A、99 √B、98C、987D、87
50.该程序段的输出结果是多少
m=37;n=13;
while(m!
=n)
{while(m>n)
m=m-n;
while(n>m)
n-=m;
}
printf("m=%d\n",m);
A、m=13B、m=11√C、m=1D、m=2
51.以下程序段的输出结果为
for(i=0;i<5;i++)
{for(j=1;j<10;j++)
if(j==5)break;
if(i<2)continue;
if(i>2)break;
printf("%d,",j);
}
printf("%d\n",i);
A、10,3B、5,2√C、5,3D、10,2
52.以下程序段的输出结果是______。
53.intx=3;
do
{printf("%3d",x-=2);
}while(!
(--x));
A、1B、30√C、1–2D、死循环
54.若k、s的当前值分别为4、0,执行语句“while(--k)s+=k;”后k、s值分别为。
A、10、0B、0、10C、6、0√D、0、6
55.执行语句“for(x=0,s=0;x!
=60;x=x+s=s+x;”后,变量x的值为。
A、不可能大于60B、不可能大于
C、一定小于60√D、可以远大于60
56.为表示“a和b都不等于0”,应使用的C语言表达式是。
A、(a!
=0)||(b!
=0)B、a||b
C、!
(a=0)&&(b!
=0)√D、a&&b
57.已知字符‘c’的ASCII码为99,语句printf("%d,%c",’c’,’c’+1);的输出为。
A、99,cB、99,100√C、99,dD、语句不合法
58.下列程序段的输出结果是。
intk,s;
for(k=0,s=0;k<10;k++,s--)
if(s>k)break;
elses+=k;
printf("(%d,%d)",k,s);
A、(4,5)B、(4,6)√C、(6,9)D、不是A、B、C
59.下列程序的输出结果是(30)。
#include<>
voidmain()
{inty;
doubled=,x;
x=(y=d0.2f2.0C1C56e22√C、e22D、345e12
60.表达式a!
=0||b!
=0等效于。
√A、a||bB、!
(a||b)C、a=0||b=0D、a!
=0&&b!
=0
61.下列语句与语句while(i<100){s+=i;i++;}功能相同的是。
√A、for(;i<100;i++)s+=i;B、for(;i<100;i++,s=s+i);
C、for(;i<100;i++){s+=i;i++;}D、for(;i<=100;i++)s=s+i;
62.下列宏定义命令中,哪一个格式是正确的。
A、#definePI=;B、definePI
C、#definePI=”3.14159”√D、#definePI
63.已知x=10,ch=‘a’,y=-5;则表达式x>=y&&ch<’B’的值是。
√A、0B、1C、“假”D、“真”
64.语句printf(“%d%.1f”,5/2,2)的输出结果是。
A、B、2√C、2D、22
65.若x、y都是整型变量,且x=2,y=3;经下列计算后,x的值等于6的是。
√A、x*=6-yB、x=x+y>25:
6C、x=y*2D、x=(5*y)/2
66.程序中调用了库函数sqrt,必须包含头文件。
A、B、C、√D、
简答题
1.x=(-26)10,写出它的8位补码。
2.若intk=5,循环语句while(k!
=0)k=k-1;则循环体执行几次5次
3.假设整型变量a的值是一个三位整数,写出将a的百位数字赋给变量x的表达式。
x=a/100
4.写出判断整型变量a大于0且a是偶数的逻辑表达式。
a>0&&a%2==0
5.inti=-5;while(i<0)i++;写出循环的执行次数。
5次
6.a是一个整型变量,写出把a中十位数字赋值给变量x的表达式。
x=a%100/10
7.程序段ints=0,i=1;while(i<=5){s*=i;i++;}是否总能计算1~5的乘积如果能计算,写出计算结果,如果不能计算写出原因。
不能。
变量s的初值为0,结果为0。
8.将数学代数式(y6+6xy-8)/(7a)写成C程序的算术表达式。
(pow(y,6)+6*x*y-8)/(7*a)
9.写出|z|>5的关系表达式。
fabs(z)>5
10.写出“求整型x的个位数字”的表达式。
x%10
11.若实型变量x、y已有值,写出“求x、y两个变量中较大值”的表达式。
x>yx:
y
12.将数学代数式x2+2sin(x)+3写成C程序的算术表达式。
x*x+2*sin(x)+3
13.设有如下定义:
inta=1,b=2,c=3,d=4,m=5,n=6;则执行表达式:
(m=a>b)‖(n=c>d)后,n的值是6
14.若inti=3;写出下面程序段的输出结果。
AB
switch(i+1)
{case4:
printf("A");
case2:
printf("B");break;
default:
printf("%2d\n",i);
}
15.已知方程ax2+bx+c=0,a、b、c是方程的系数且存在两个实根,写出计算任意一个实根的算术表达式。
(-b+sqrt(b*b-4*a*c))/(2*a)
16.写出判断整型变量a的值是偶数的逻辑表达式。
a%2==0
17.整型变量m的值为27,语句printf(“%x“,m);的输出结果是。
1b
18.若inti=10