第一章 单元测试
1、判断题:
C语言可以应用到硬件编程中。
选项:
A:对
B:错
答案: 【对】
2、判断题:
C语言的编译软件只有一种。
选项:
A:对
B:错
答案: 【错】
3、单选题:
2011年,ISO正式公布C语言新的国际标准,称为( )标准。
选项:
A:C11
B:C99
C:C89
D:C90
答案: 【C11】
4、单选题:
C语言源文件的扩展名为( )。
选项:
A:.c
B:.exe
C:.cpp
D:.obj
答案: 【.c】
5、单选题:
C语言之父是( )?
选项:
A:比尔盖茨
B:肯.汤普逊
C:马云
D:丹尼斯.里奇
答案: 【丹尼斯.里奇】
6、判断题:
一个 C 程序可以包含若干函数,但必须有主函数。
选项:
A:对
B:错
答案: 【对】
7、判断题:
C程序中可以自定义函数。
选项:
A:错
B:对
答案: 【对】
8、判断题:
C语言的源文件的扩展名为.c。
选项:
A:错
B:对
答案: 【对】
9、判断题:
一个C程序可以有多个主函数。
选项:
A:对
B:错
答案: 【错】
10、判断题:
一个C程序可以没有主函数。
选项:
A:对
B:错
答案: 【错】
11、判断题:
在标准C中,语句必须以“;”结束。
选项:
A:对
B:错
答案: 【对】
12、判断题:
C程序的一行只能写一条语句。
选项:
A:对
B:错
答案: 【错】
13、单选题:
#include
int main()
{
printf(“Hello,World!”);
return 0;
}
以上C语言程序的功能是( )。
选项:
A:
输出字符串:World!
B:
输出字符串:Hello
C:
输出字符串:Hello,World!
D:
输入字符串
答案: 【
输出字符串:Hello,World!
】
14、单选题:
C语言语句以( )结束。
选项:
A:
;
B:
.
C:
,
D:
:
答案: 【
;
】
15、单选题:
包含头文件stdio.h正确的表示是( )。
选项:
A:
#include《stdio.h》
B:
include
C:
include《stdio.h》
D:
#include
答案: 【
#include
】
16、单选题:
#include的功能是( )。
选项:
A:包含头文件stdio.h
B:定义变量stdio.h
C:定义stdio.h是头文件
D:输出字符串:stdio.h
答案: 【包含头文件stdio.h】
17、判断题:
C语言主函数名必须是main。
选项:
A:错
B:对
答案: 【对】
18、单选题:
以下哪个不是C语言的编译软件?
选项:
A:Visual C++2010 express
B:Visual C++6.0
C:MS Office2010
D:DEV C++
答案: 【MS Office2010】
19、判断题:
只有计算机专业的学生才用学习C语言,其他专业学C语言一定没用。
选项:
A:对
B:错
答案: 【错】
20、单选题:
printf(“***n***n***”);语句的功能是( )。
选项:
A:输出一行,包含九个*
B:输出三行,每行包含三个*
C:输出九行,每行包含一个*
D:输出一行,包含三个*
答案: 【输出三行,每行包含三个*】
第二章 单元测试
1、单选题:
已知字母A的ASCII码是65,以下程序段的输出的结果是( )。
char c1=’A’,c2=’Y’;
printf(“%d,%d”,c1,c2);
选项:
A:65,90
B:A,Y
C:65,65
D:65,89
答案: 【65,89】
2、单选题:
有以下程序段:
char c1,c2;
c1=’A’+’8′-‘4′;
c2=’A’+’8’-‘5′;
printf(“%c,%d”,c1,c2);
已知字母A的ASCII码为65,程序运行后的输出结果是( )。
选项:
A:E,68
B:D,69
C:输出无定值
D:E,D
答案: 【E,68】
3、单选题:
以下选项中可用作C程序合法实数的是( )。
选项:
A:.1e0
B:3.0e0.2
C:9.12E
D:E9
答案: 【.1e0】
4、单选题:
有以下定义语句,编译时会出现编译错误的是( )。
选项:
A:
char a=’aa’;
B:
char a=’a’;
C:
char a=’-‘;
D:
char a=”;
答案: 【
char a=’aa’;
】
5、判断题:
float和double都是定义浮点类型的关键字。
选项:
A:错
B:对
答案: 【对】
6、单选题:
可在C程序中用作用户标识符的一组标识符是( )。
选项:
A:case Big1
B:
Date y-m-d
C:
and _2007
D:
Hi Dr.Tom
答案: 【
and _2007
】
7、单选题:
以下选项中表示一个合法的常量是( )。
选项:
A:0Xab
B:123E0.2
C:2.7e
D:2/3
答案: 【0Xab】
8、判断题:
已知:int a=5; 那么逗号表达式:a+3,a=a/2,a+4的值为8。
选项:
A:错
B:对
答案: 【错】
9、单选题:
若有定义语句:int x=12,y=8,z; ,在其后执行语句z=0.9+x/y;,则z的值为( )。
选项:
A:
1
B:
2
C:
1.9
D:
2.4
答案: 【
1
】
10、单选题:
若有定义语句:int a=10;double b=3.14; ,则表达式 ‘A’+a+b 值的类型是( )。
选项:
A:
char
B:
float
C:
double
D:
int
答案: 【
double
】
11、单选题:
设有定义:int x=2; ,以下表达式中,值不为6的是( )。
选项:
A:
x++,2*x
B:
x=x*(1+x)
C:
2*x,x+=2
D:
x*=x+1
答案: 【
2*x,x+=2
】
12、单选题:
若有定义语句:int x=10; ,则表达式x – = x + x的值为( )。
选项:
A:
10
B:
-20
C:
–10
D:
0
答案: 【
–10
】
13、单选题:
以下程序段的输出结果是( )。
int a=10,b=10;
printf(“%d,%d”,a–,–b);
选项:
A:
10,9
B:
10,10
C:
9,9
D:
9,10
答案: 【
10,9
】
14、单选题:
若变量已正确定义并赋值,符合C语言语法的表达式是( )。
选项:
A:
a=7+b+c,a++:b*c
B:
int(12.3/5)
C:
a=a+7
D:
a=a+1=c+b
答案: 【
a=a+7
】
15、单选题:
若变量均已正确定义并赋值,以下合法的C语言赋值语句是( )。
选项:
A:
x=y=5;
B:
x+n=i;
C:
x=n%2.5;
D:
x=5=4+1;
答案: 【
x=y=5;
】
16、单选题:
若有定义:double a=22;int i=0,k=18; ,则不符合C语言规定的赋值语句是( )。
选项:
A:
a=a++,i++;
B:
i=!a;
C:
i=(a+k)<=(i+k);
D:
i=a%11;
答案: 【
i=a%11;
】
17、判断题:
int a=3; 那么a++的值为4。
选项:
A:错
B:对
答案: 【错】
18、判断题:
int a=3,b=4;那么(a+b)++的值为7。
选项:
A:错
B:对
答案: 【错】
19、判断题:
b*=a+3等价于b=b*(a+3)。
选项:
A:对
B:错
答案: 【对】
20、判断题:
定义符号常量N为3.14可以用语句:#define N=3.14
选项:
A:错
B:对
答案: 【错】
第三章 单元测试
1、单选题:
有以下程序,若输入d,则输出结果为( )。(注:字母a的ASCII码是97)
#include
int main( )
{
char c,d;
c=getchar();
d=c-33;
printf(“%d,%c”,c,d);
return 0;
}
选项:
A:
99,C
B:
100,D
C:
100,C
D:
100,c
答案: 【
】
2、单选题:
以下不能输出字符a的语句是( )。
选项:
A:
printf(‘%c’,’A’+32);
B:
printf(‘%c’,97);
C:
printf(‘%c’,’a’-1);
D:
printf(‘%d’,’a’);
答案: 【
】
3、判断题:
命令putchar(97)的执行结果为:97。
选项:
A:错
B:对
答案: 【】
4、判断题:
命令putchar(’98’)的执行结果为:98。
选项:
A:对
B:错
答案: 【】
5、单选题:
若变量已正确定义为int型,要通过语句scanf(“%d,%d,%d”,&a,&b,&c);给a赋值1,给b赋值2, 给c赋值3, 以下输入形式中错误的是( )。(注:下列选项中□表示一个空格。)
选项:
A:
1□2□3<回车>
B:
1,□□□2, □□□3<回车>
C:
□□□1,2,3<回车>
D:
1,2,3<回车>
答案: 【
】
6、单选题:
有以下程序
#include
int main( )
{
int a1,a2;char c1,c2;
scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);
printf(“%d,%c,%d,%c”,a1,c1,a2,c2);
return 0;
}
若想通过键盘输入,使得a1的值为12,a2的是为34,c1的值为字符a,c2的值为字符b,程序输出结果是:12,a,34,b,则正确的输入格式是( )(注:□表示一个空格)
选项:
A:
12,a,34,b
B:
12a34b
C:
12□a□34□b
D:
12□a34□b
答案: 【
】
7、单选题:
根据下面的程序及数据的输入方式和输出形式,程序中输入语句的正确形式应该为( )。
#include
int main( )
{
char ch1,ch2,ch3;
输入语句
printf(‘%c%c%c’,ch1,ch2,ch3);
return 0;
}
输入形式: A□B□C
输出形式: A□B
(注:□表示一个空格)
选项:
A:
scanf(‘%c%c%c’,&ch1,&ch2,&ch3);
B:
scanf(‘%c,%c,%c’, &ch1,&ch2, &ch3);
C:
scanf(‘%c%c’,&ch1,&ch2,&ch3);
D:
scanf(‘%c□%c□%c’,&ch1,&ch2,&ch3);
答案: 【
】
8、单选题:
#include
int main( )
{
int a=1,b;
scanf(‘%2d%2d’,&a,&b);
printf(‘%d*%d’,a,b);
return 0;
}
以上程序段,如果输入是12345 6,则输出是( )。
选项:
A:12*45
B:12345*6
C:12*6
D:123*345
答案: 【】
9、判断题:
对于scanf(‘%3d%f’,&a,&b);若输入123456.789,则a=123,b=456.789
选项:
A:对
B:错
答案: 【对】
10、单选题:
已知字母A的ASCII码是65,以下程序的执行结果是( )。
#include
int main( )
{
char c1=’A’;
printf(‘%d’,c1+3);
return 0;
}
选项:
A:
67
B:
65
C:
66
D:
68
答案: 【
】
11、单选题:
阅读以下程序,当输入数据的形式为:25,13,10 ,正确的输出为( )。
#include
int main( )
{
int x,y,z;
scanf(‘%d,%d,%d’,&x,&y,&z);
printf(‘x+y+z=%d’,x+y+z);
return 0;
}
选项:
A:
x+y+z=48
B:
x+z=35
C:
不确定值
D:
x+y+z=35
答案: 【
】
12、单选题:
已知字母A的ASCII码是65,以下程序的执行结果是( )。
#include
int main( )
{
char c1=’A’,c2=’Y’;
printf(‘%d,%d’,c1,c2);
return 0;
}
选项:
A:
A,Y
B:
65,90
C:
65,89
D:
65,65
答案: 【
】
13、单选题:
下列程序的输出结果是( )。
int main( )
{
double d=3.2;
int x,y;
x=1.2;
y=(x+3.8)/5.0;
printf(‘%d’,d*y);
return 0;
}
选项:
A:
3
B:
3.07
C:
0
D:
3.2
答案: 【
】
14、单选题:
下列语句输出结果是( )。
int a=1,b=1,c=1;
a=a+b+c;
printf(‘%d’,a);
选项:
A:
6
B:
4
C:
5
D:
3
答案: 【
】
15、单选题:
有以下程序
#include
int main( )
{
char c1,c2;
c1=’A’+’8′-‘4′;
c2=’A’+’8’-‘5’;
printf(‘%c,%d’,c1,c2);
return 0;
}
已知字母A的ASCII码为65,程序运行后的输出结果是( )。
选项:
A:
E,D
B:
输出无定值
C:
A.E,68
D:
D,69
答案: 【
】
16、单选题:
有以下程序, 程序运行后的输出结果是( )。
#include
void main()
{
int a=1,b=0;
printf(‘%d,’,b=a+b);
printf(‘%d’,a=2*b);
}
选项:
A:
1,0
B:
1,2
C:
3,2
D:
0,0
答案: 【
】
17、单选题:
有以下程序:
#include
void main()
{ int x=10,y=3;
printf(‘%d’,y=x/y);
}
执行后的输出结果是( )。
选项:
A:
3.333333
B:
4
C:
3
D:
0
答案: 【
】
18、单选题:
以下不能输出字符A的语句是( )。(注:字符A的ASCII码值为65,字符a的ASCII码值为97)
选项:
A:
printf(‘%c’,’B’-1);
B:
printf(‘%d’,’A’);
C:
printf(‘%c’,’a’-32);
D:
printf(‘%c’,65);
答案: 【
printf(‘%d’,’A’);
】
19、单选题:
有以下程序段
char ch;
int k;
ch=’a’;
k=12;
printf(‘%c,%d,’,ch,ch);
printf(‘k=%d’,k);
已知字符a的ASCII码值为97,则执行上述程序段后输出结果是( )。
选项:
A:
a,97,k=12
B:
97,97,k=12
C:
a,a,12
D:
a,97,12
答案: 【
】
20、判断题:
复合语句用{}括起来。
选项:
A:对
B:错
答案: 【】
第四章 单元测试
1、单选题:
void main( )
{ int a,b,min;
scanf(“%d,%d”,&a,&b);
if(a>b)________;
else ________;
printf(“%d”,min); }
该程序的功能是输入两个整数赋值给变量a和b,求较小的数并输出,程序中的两处下划线处应该分别填写( )。
选项:
A:
b=a 和 min=a
B:
min=b 和 min=a
C:
a=b 和 min=b
D:
min=a 和 min=b
答案: 【
】
2、单选题:
运行以下程序后,输出( )。
void main()
{ int k=-3;
if(k<0) printf(‘**** ‘)
else printf(‘&&&& ‘);
}
选项:
A:
####&&&&
B:
&&&&
C:
****
D:
有语法错误,else上面一行缺少分号
答案: 【
】
3、单选题:
void main( )
{ int a,b,t;
scanf(“%d,%d”,&a,&b);
if(a>b){t=a;____________;b=t;}
printf(“%d”,min); }
该程序的功能是输入两个整数赋值给变量a和b,按由小到大顺序输出,下划线处应该填入( )。
选项:
A:
b=t
B:
t=b
C:
a=b
D:
a=t
答案: 【
】
4、单选题:
下程序的功能是判断输入的一个整数是否能被3或7整除,若能整除,输出YES,否则输出NO。在下划线处应填入的选项是( )
#include
void main()
{ int k;
printf(‘Enter a int number : ‘); scanf(‘%d’, &k);
if ________ printf(‘YES’);
else printf(‘NO’);
}
选项:
A:
(k/3==0) || (k/7==0)
B:
( (k%3==0)&&(k%7==0) )
C:
( (k%3==0) || (k%7==0) )
D:
( (k%3=0) || (k%7=0))
答案: 【
】
5、单选题:
以下程序段的输出结果为( )
int a=0,b=0,c=0;
if(a==b+c) printf(“*** ”);
else printf(“$$$ ”);
选项:
A:有语法错误,不能通过编译
B:可以通过编译但不能通过连接
C:输出***
D:输出$$$
答案: 【】
6、判断题:
if语句中可以有else也可以没有else。
选项:
A:错
B:对
答案: 【】
7、判断题:
else语句必须和if语句配合使用,不能单独使用。
选项:
A:错
B:对
答案: 【】
8、判断题:
一个if语句可以与多个else语句配对。
选项:
A:对
B:错
答案: 【】
9、单选题:
有以下程序段,输出结果为( )。
int x=6,y;
switch(x):
{
case 1: y=x; break;
case 2: y=2*x;break;
case 3: y=3*x;break;
defualt:y=-x;break;
}
printf(“%d”,y);
选项:
A:
12
B:
6
C:
18
D:
–6
答案: 【
】
10、单选题:
有以下程序段,输出结果为( )。
int x=3,y;
switch(x):
{
case 1: y=x;break;
case 2: y=2*x;break;
case 3: y=3*x;break;
defualt:y=-x;break;
}
printf(“%d”,y);
选项:
A:
9
B:
6
C:
–3
D:
3
答案: 【
】
11、单选题:
以下关于switch语句正确的是( )。
选项:
A:switch中可以使用else
B:switch语句是循环结构语句
C:switch中多个case后的值可以相等
D:switch语句是多分支选择结构语句
答案: 【】
12、单选题:
有以下程序段,输出结果为( )。
int x=1,y;
switch(x):
{
case 1: y=x++;
case 2: y=x++;
case 3: y=x++;
}
printf(“%d ”,y);
选项:
A:4
B:2
C:1
D:3
答案: 【】
13、单选题:
int x=8,y;
switch(x):
{
case 1: y=x; break;
case 2: y=2*x;break;
case 3: y=3*x;break;
defualt:y=-x;break;
}
printf(“%d ”,y);以上程序段,输出结果为( )。
选项:
A:18
B:6
C:12
D:-8
答案: 【】
14、判断题:
switch语句中必须要有break语句。
选项:
A:对
B:错
答案: 【】
15、判断题:
switch语句中,case后可的各常量表达式的值不能相同,否则会出现矛盾。
选项:
A:对
B:错
答案: 【】
16、单选题:
max=a>b?a:b; 的功能是( )。
选项:
A:
max等于b
B:
max等于a、b中较大的
C:
max等于a、b中较小的
D:
max等于a
答案: 【
】
17、单选题:
若整型变量a、b、c、d中的值依次为 :1、4、3、2。则条件表达式 a<b?a:c<d?c:d 的值是( )。
选项:
A:2
B:3
C:1
D:4
答案: 【】
18、单选题:
“逻辑与”的运算符是( )。
选项:
A:
|
B:
&&
C:
||
D:
&
答案: 【
】
19、单选题:
“逻辑或”的运算符是( )。
选项:
A:
&&
B:
&
C:
||
D:
|
答案: 【
】
20、判断题:
if(x%2=0)可以判断x是否为偶数。
选项:
A:错
B:对
答案: 【】
第五章 单元测试
1、单选题:
有以下C语言程序段:
int x;
scanf(“%d”,&x);
while(x>0)
{
x=x-1;
printf(“%d”,x);
}
当x输入为0时,输出结果为( )。
选项:
A:
0
B:
43210
C:
5
D:
无
答案: 【
】
2、单选题:
while与do-while语句的区别是( )。
选项:
A:
while语句比do-while语句执行循环体的次数多一次
B:
如果开始时循环语句不成立,那么while语句的循环一次都不执行,do-while语句的循环至少执行一次
C:
do-while语句比while语句执行循环体的次数多一次
D:
while与do-while的功能完全一样
答案: 【
】
3、单选题:
已定义i和sum都为整数,以下C语言程序段的功能为( )。
sum=0; i=1;
while(i<=100)
{ sum=sum+i;
i++;
}
printf(“%d”,sum);
选项:
A:
求1到100内所有整数的和
B:
求1到100内所有奇数的和
C:
求1到100内所有整数的积
D:
求1到100内所有偶数的和
答案: 【
】
4、单选题:
有以下C语言程序段:
int x;
scanf(“%d”,&x);
while(x>0)
x=x-1;
printf(“%d”,x);
当x输入为5时,输出结果为( )。
选项:
A:5
B:43210
C:54321
D:0
答案: 【】
5、单选题:
有以下程序段:
int k=5;
while(–k) printf(‘%d’,k -= 3);
执行后的输出结果是( )。
选项:
A:3
B:0
C:2
D:1
答案: 【】
6、判断题:
do-while语句的循环体至少执行1次,while和for循环的循环体可能一次也执行不到。
选项:
A:错
B:对
答案: 【】
7、单选题:
已定义整型变量sum和i,及实型变量ave,以下程序段的功能是:用do-while语句实现,输入若干学生的整数成绩(以-1结束输入),求这些成绩的平均值ave。请在下划线处填写正确的语句( )。
i=0;
do
{
scanf(“%d”,&x);
sum=sum+x;
i++; //i为输入整数成绩的个数
}while(______);
sum=sum+1;//总分去掉多加的-1
ave=1.0*sum/i;
选项:
A:
i<=10
B:
i>=10
C:
x==-1
D:
x!=-1
答案: 【
】
8、单选题:
有以下C语言程序段:
int x;
scanf(“%d”,&x);
do
{
x=x-1;
printf(“%d”,x);
} while(x>0);
当x输入为5时,输出结果为( )。
选项:
A:
–1
B:
54321
C:
43210
D:
0
答案: 【
】
9、判断题:
do-while循环中while()后的分号可以省略。
选项:
A:对
B:错
答案: 【】
10、单选题:
以下程序段,可以实现 sum=1-1/(2*2)+1/(3*3)-1/(4*4)+…+1/(n*n),请在下划线处写入正确的语句( )。
int i,f=1; //f表示每个加项的正负号
flaotsum=0;
for(i=1;i<=n;i++)
{
sum=sum+_____________;
f=-f;
}
选项:
A:
f*1.0/(i*i)
B:
1/i*i
C:
1.0/(i*i)
D:
1/(i*i)
答案: 【
】
11、单选题:
已定义整型变量i和sum,与以下程序段功能一样的程序有( )。
sum=0;
for(i=1;i<=100;i++)sum+=i;
选项:
A:
sum=0;for(i=1;i<=100;) sum+=i;i++;
B:
sum=0;for(i=1;i<=100;){i++;sum+=i;}
C:
sum=0;for(i=1;;i++ )
D:
sum=0;i=1;for( ; i<=100;i++) sum+=i;
答案: 【
】
12、单选题:
for语句后的( )内,有几个表达式( )?
选项:
A:
4
B:
2
C:
3
D:
1
答案: 【
】
13、单选题:
已定义整型变量s、n和i,以下程序段中,能够实现s=n!,即s为n的阶层。请在下划线处写入正确的语句( )。
scanf(“%d”,&n);
s=1;
for(i=1;i<=n;i++)
__________;
选项:
A:
s=s+n
B:
s=s*n
C:
s+=i
D:
s*=i
答案: 【
】
14、单选题:
以下关于break说法正确的是( )。
选项:
A:
break只能用在循环语句中。
B:
break只能用在switch语句中。
C:
break可以终止所有的循环。
D:
break可以终止本层循环。
答案: 【
】
15、单选题:
在C语言的循环语句for、while、do-while中,用于结束本次循环,继续执行下一次循环的语句是( )。
选项:
A:
if
B:
break
C:
switch
D:
continue
答案: 【
】
16、单选题:
有以下程序段的功能是( )。
int i, s=0;
for(i=1;i<=100;i++)
{ s=s+i;
if(i>10) break;}
}
选项:
A:1+2+……+10
B:1+2+……+100
C:1+2+……+9
D:1+2+……+11
答案: 【】
17、单选题:
程序的功能是输出以下图形,请在下划线处写入正确的语句。( )
*
**
***
****
*****
for(i=1;i<=5;i++)
{
for(j=1;________;j++)
putchar(‘*’);
putchar(‘’);
}
选项:
A:
j<=i
B:
j<i
C:
j<=5
D:
j<=3
答案: 【
】
18、单选题:
以下程序段,循环体可以循环几次( )。
for(i=1;i<=3;i++)
for(j=1;j<=4;j++)
{循环体};
选项:
A:
7
B:
3
C:
12
D:
4
答案: 【
】
19、判断题:
while、do-while、for语句可以互相嵌套,但是不能自身嵌套。
选项:
A:错
B:对
答案: 【】
20、判断题:
若一个循环体中包含另一个完整的循环结构则称为循环的嵌套。
选项:
A:对
B:错
答案: 【】
第六章 单元测试
1、单选题:
下面正确的数组定义语句是( )。
选项:
A:
float x[3][]={{1},{2},{3}};
B:
int s[2][3]={{1},{1,2}};
C:
int y[1][4]={1,2,3,4,5};
D:
double t[][3]={0};
答案: 【
】
2、单选题:
二维数组元素的存储规律是( )。
选项:
A:
按行从左到右存储
B:
按行从右到左存储
C:
按列从左到右存储
D:
按行S路线存储
答案: 【
】
3、单选题:
在定义int a[5][4];之后,对a的引用正确的是( )。
选项:
A:
a[2][4]
B:
a[0][0]
C:
a[5][0]
D:
a[0,0]
答案: 【
】
4、判断题:
有说明:int a[3][2]={0},则数组中各元素都可以得到初值,但其值不一定为0。
选项:
A:错
B:对
答案: 【】
5、判断题:
int f[3][]={{0,9,8},{7,7,7},{8,6,0}};定义正确。
选项:
A:对
B:错
答案: 【】
6、判断题:
char a[10]={“abcd”}; 那么数组a占用的字节数是10。
选项:
A:对
B:错
答案: 【】
7、判断题:
字符串必须以‘\0’结束,但字符数组可以不包括‘\0’。
选项:
A:错
B:对
答案: 】
8、判断题:
字符串’This’大于字符串’that’。
选项:
A:错
B:对
答案: 【】
9、判断题:
已有定义:char a[]=’xyz’,b[]={‘x’,’y’,’z’};则数组a和b所占字节数相同。
选项:
A:错
B:对
答案: 【】
10、单选题:
下面程序段的运行结果是( )。
int a[]={2,4,6,8,10};
int y=0,x;
for(x=0;x<4;x++)y+=a[x];
printf(‘%d\n’,y);
选项:
A:
18
B:
19
C:
17
D:
20
答案: 【
】
11、单选题:
在C语言中,引用数组元素时,其数组下标的数据类型允许是( )。
选项:
A:
任何类型的表达式
B:
整型常量或者整型表达式
C:
整型表达式
D:
整型常量
答案: 【
】
12、单选题:
有如下程序
void main()
{ int a[5]={0,0,0},i,k=3;
for(i=0;i<5;i++)a[i]=i+1;
printf(“%d\n”,a[k]);
}
该程序的输出结果是( )
选项:
A:
4
B:
2
C:
0
D:
不确定的值
答案: 【
】
13、判断题:
执行下面的程序段后,数组元素s[1]中的值为0。
int k=3,s[2];
s[0]=k;
选项:
A:对
B:错
答案: 【】
14、判断题:
int a[3]={1,2,3,4}; 是正确的。
选项:
A:错
B:对
答案: 【】
15、判断题:
已知程序段{char a[10];scanf(‘%s’,a);printf(‘%s’,a);}输入:ab cd<回车>,输出结果是:ab
选项:
A:错
B:对
答案: 【】
16、单选题:
声明语句为“char a[10];”,执行下列语句后的输出结果为( )。
printf(‘%d ‘,strlen(strcpy(a,’Windows’)));
选项:
A:
9
B:
8
C:
7
D:
6
答案: 【
】
17、单选题:
设有数组定义:char array[]=“China”;则strlen(array)的值为( )。
选项:
A:
6
B:
7
C:
4
D:
5
答案: 【
】
18、单选题:
有定义语句:char s[10];,若要从终端给s 输入5 个字符,错误的输入语句是( )。
选项:
A:
gets(&s[0]);
B:
gets(s);
C:
scanf(‘%s’,s[1]);
D:
scanf(‘%s’,s);
答案: 【
】
19、判断题:
执行完int a[10]; gets(a); 后,可以为数组a赋值。
选项:
A:对
B:错
答案: 【】
20、判断题:
char a[10]={“abcd”}; 那么strlen(a)的值是4。
选项:
A:对
B:错
答案: 【】
第七章 单元测试
1、单选题:
以下所列的各函数首部中,正确的是________。
选项:
A:
void play(int a,b)
B:
void play(int a,int b)
C:
void play(var a:Integer,var b:Integer)
D:
void play(a as integer,b as integer)
答案: 【
】
2、单选题:
以下说法中正确的是( )。
选项:
A:
C语言程序中的main()函数必须放在程序的开始部分
B:
C语言程序总是从第一个定义的函数开始执行
C:
C语言程序总是从main()函数开始执行
D:
在C语言程序中,要调用的函数必须在main()函数中定义
答案: 【
】
3、单选题:
函数的返回值是通过函数体中的( )语句获得。
选项:
A:
scanf函数
B:
return语句
C:
printf函数
D:
goto语句
答案: 【
】
4、单选题:
自定义函数max的功能是( )。
int max(int x,int y)
{
int z;
z=x>y?x:y;
return z;
}
选项:
A:返回x、y中较大的数
B:返回y的值
C:返回x的值
D:返回x、y中较小的数
答案: 【】
5、单选题:
以下函数fun的函数的返回类型是________。
int fun( float x)
{ int y;
y=(int) x;
return y; }
选项:
A:
float
B:
void
C:
不确定
D:
int
答案: 【
】
6、判断题:
main 函数必须写在一个 C 程序的最前面。
选项:
A:对
B:错
答案: 【】
7、判断题:
自定义函数中用return返回值。
选项:
A:对
B:错
答案: 】
8、判断题:
自定义函数的函数类型如果被省略,则默认是void类型。
选项:
A:对
B:错
答案: 【】
9、判断题:
函数不可以自己调用自己。
选项:
A:对
B:错
答案: 【】
10、单选题:
以下程序的输出结果是
void fun(int x,int y,int z)
{ z=x*x+y*y;}
main()
{ int a=31;
fun(5,2,a);
printf(‘%d’,a);
}
选项:
A:
30
B:
29
C:
31
D:
0
答案: 【
】
11、单选题:
有如下程序
int func(int a,int b)
{ return(a+b); }
int main()
{ int x=2,y=5,z=8,r;
r=func((x-y),z);
printf(‘%d ‘,r);
return 0;}
该程序的输出结果是__________。
选项:
A:
5
B:
10
C:
13
D:
15
答案: 【
】
12、单选题:
以下函数fun形参的类型是________。
float fun( float x)
{ float y;
y=3*x-4;
return y; }
选项:
A:
float
B:
int
C:
不确定
D:
void
答案: 【
】
13、单选题:
有如下程序
int func(int a,int b)
{ return(a+b); }
main()
{ int x=2,y=5,z=8,r;
r=func(func(x,y),z);
printf(‘%d’,r); }
该程序的输出结果是__________。
选项:
A:
15
B:
13
C:
14
D:
12
答案: 【
】
14、单选题:
c语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是( )。
选项:
A:
由实参传给形参,再由形参传回给实参
B:
单向值传递
C:
地址传递
D:
由用户指定传递方式
答案: 【
】
15、单选题:
以下程序的输出结果是
void fun(int x,int y,int z)
{ z=x*x+y*y;}
int main()
{ int a=31;
fun(5,2,a);
printf(‘%d’,a);
return 0;
}
选项:
A:33
B:0
C:31
D:29
答案: 【】
16、单选题:
#include
void fun(int b[ ])
{
int i;
for(i=2;i<10;i++)
b[i]=i+10;
}
void main( )
{
int a[10]={1,2,3,4,5,6,7,8,9,10},i;
fun(a);
for(i=0;i<10;i++)
printf(‘%d ‘,a[i]);
}
输出的数据是( )。
选项:
A:1 2 3 4 5 6 7 8 9 10
B:11 12 13 14 15 16 17 18 19 20
C:2 12 13 14 15 16 17 18 19
D:1 2 12 13 14 15 16 17 18 19
答案: 【】
17、判断题:
函数定义时,可以不用定义形式参数。此时,定义的函数称为无参函数。
选项:
A:对
B:错
答案: 【】
18、单选题:
在调用函数时,如果实参是数组名,它与对应形参之间的数据传递方式是( )。
选项:
A:
地址传递
B:
传递方式由用户指定
C:
由实参传给形参,再由形参传回实参
D:
单向值传递
答案: 【
】
19、单选题:
以下函数的功能是( )。
double aver(double a[5 ])
{
double sum=0,average;
int i;
for(i=0;i<5;i++)
sum+=a[i];
average=sum/5;
return average;
}
选项:
A:
求a数组中5个元素的平均值
B:
求a数组中5个元素的最小值
C:
求a数组中5个元素的和
D:
求数组a中5个元素中的最大值
答案: 【
】
20、判断题:
数组名字作为函数参数,传递的数组的首地址。
选项:
A:错
B:对
答案: 【】
请先
!