第一章 单元测试
1、判断题:
C语言可以应用到硬件编程中。
选项:
A:对
B:错
答案: 【对】
2、判断题:
C语言的编译软件只有一种。
选项:
A:对
B:错
答案: 【错】
3、单选题:
2011年,ISO正式公布C语言新的国际标准,称为( )标准。
选项:
A:C89
B:C90
C:C99
D:C11
答案: 【C11】
4、单选题:
C语言源文件的扩展名为( )。
选项:
A:.c
B:.exe
C:.obj
D:.cpp
答案: 【.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:
输出字符串:Hello
B:
输出字符串:World!
C:
输出字符串:Hello,World!
D:
输入字符串
答案: 【
输出字符串:Hello,World!
】
14、单选题:
C语言语句以( )结束。
选项:
A:
;
B:
:
C:
,
D:
.
答案: 【
;
】
15、单选题:
包含头文件stdio.h正确的表示是( )。
选项:
A:
include
B:
#include
C:
include《stdio.h》
D:
#include《stdio.h》
答案: 【
#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++6.0
B:Visual C++2010 express
C:DEV C++
D:MS Office2010
答案: 【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:A,Y
B:65,65
C:65,90
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:E,D
D:输出无定值
答案: 【E,68】
3、单选题:
以下选项中可用作C程序合法实数的是( )。
选项:
A:3.0e0.2
B:.1e0
C:E9
D:9.12E
答案: 【.1e0】
4、单选题:
有以下定义语句,编译时会出现编译错误的是( )。
选项:
A:
char a=’a’;
B:
char a=’aa’;
C:
char a=”;
D:
char a=’-‘;
答案: 【
char a=’aa’;
】
5、判断题:
float和double都是定义浮点类型的关键字。
选项:
A:对
B:错
答案: 【对】
6、单选题:
可在C程序中用作用户标识符的一组标识符是( )。
选项:
A:
and _2007
B:
Date y-m-d
C:
Hi Dr.Tom
D:case Big1
答案: 【
and _2007
】
7、单选题:
以下选项中表示一个合法的常量是( )。
选项:
A:2/3
B:0Xab
C:123E0.2
D:2.7e
答案: 【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.9
B:
1
C:
2
D:
2.4
答案: 【
1
】
10、单选题:
若有定义语句:int a=10;double b=3.14; ,则表达式 ‘A’+a+b 值的类型是( )。
选项:
A:
char
B:
int
C:
double
D:
float
答案: 【
double
】
11、单选题:
设有定义:int x=2; ,以下表达式中,值不为6的是( )。
选项:
A:
x*=x+1
B:
x++,2*x
C:
x=x*(1+x)
D:
2*x,x+=2
答案: 【
2*x,x+=2
】
12、单选题:
若有定义语句:int x=10; ,则表达式x – = x + x的值为( )。
选项:
A:
-20
B:
–10
C:
0
D:
10
答案: 【
–10
】
13、单选题:
以下程序段的输出结果是( )。
int a=10,b=10;
printf(“%d,%d”,a–,–b);
选项:
A:
10,10
B:
9,9
C:
10,9
D:
9,10
答案: 【
10,9
】
14、单选题:
若变量已正确定义并赋值,符合C语言语法的表达式是( )。
选项:
A:
a=a+7
B:
a=7+b+c,a++:b*c
C:
int(12.3/5)
D:
a=a+1=c+b
答案: 【
a=a+7
】
15、单选题:
若变量均已正确定义并赋值,以下合法的C语言赋值语句是( )。
选项:
A:
x=y=5;
B:
x=n%2.5;
C:
x+n=i;
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+k)<=(i+k);
C:
i=a%11;
D:
i=!a;
答案: 【
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:
100,D
B:
100,c
C:
99,C
D:
100,C
答案: 【
100,C
】
2、单选题:
以下不能输出字符a的语句是( )。
选项:
A:
printf(‘%c’,’A’+32);
B:
printf(‘%d’,’a’);
C:
printf(‘%c’,97);
D:
printf(‘%c’,’a’-1);
答案: 【
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<回车>
答案: 【
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:
12a34b
B:
12□a□34□b
C:
12,a,34,b
D:
12□a34□b
答案: 【
12a34b
】
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□%c’,&ch1,&ch2,&ch3);
D:
scanf(‘%c%c’,&ch1,&ch2,&ch3);
答案: 【
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:123*345
B:12*45
C:12345*6
D:12*6
答案: 【12*45】
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:
65
B:
66
C:
67
D:
68
答案: 【
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+y+z=35
C:
x+z=35
D:
不确定值
答案: 【
x+y+z=48
】
12、单选题:
已知字母A的ASCII码是65,以下程序的执行结果是( )。
#include
int main( )
{
char c1=’A’,c2=’Y’;
printf(‘%d,%d’,c1,c2);
return 0;
}
选项:
A:
A,Y
B:
65,65
C:
65,90
D:
65,89
答案: 【
65,89
】
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.2
C:
0
D:
3.07
答案: 【
0
】
14、单选题:
下列语句输出结果是( )。
int a=1,b=1,c=1;
a=a+b+c;
printf(‘%d’,a);
选项:
A:
3
B:
4
C:
5
D:
6
答案: 【
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:
A.E,68
B:
D,69
C:
E,D
D:
输出无定值
答案: 【
A.E,68
】
16、单选题:
有以下程序, 程序运行后的输出结果是( )。
#include
void main()
{
int a=1,b=0;
printf(‘%d,’,b=a+b);
printf(‘%d’,a=2*b);
}
选项:
A:
0,0
B:
1,0
C:
3,2
D:
1,2
答案: 【
1,2
】
17、单选题:
有以下程序:
#include
void main()
{ int x=10,y=3;
printf(‘%d’,y=x/y);
}
执行后的输出结果是( )。
选项:
A:
3.333333
B:
3
C:
4
D:
0
答案: 【
3
】
18、单选题:
以下不能输出字符A的语句是( )。(注:字符A的ASCII码值为65,字符a的ASCII码值为97)
选项:
A:
printf(‘%c’,’a’-32);
B:
printf(‘%d’,’A’);
C:
printf(‘%c’,65);
D:
printf(‘%c’,’B’-1);
答案: 【
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,a,12
B:
97,97,k=12
C:
a,97,12
D:
a,97,k=12
答案: 【
a,97,k=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:
min=a 和 min=b
B:
min=b 和 min=a
C:
a=b 和 min=b
D:
b=a 和 min=a
答案: 【
min=b 和 min=a
】
2、单选题:
运行以下程序后,输出( )。
void main()
{ int k=-3;
if(k<0) printf(‘**** ‘)
else printf(‘&&&& ‘);
}
选项:
A:
****
B:
&&&&
C:
####&&&&
D:
有语法错误,else上面一行缺少分号
答案: 【
有语法错误,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:
a=t
B:
b=t
C:
a=b
D:
t=b
答案: 【
a=b
】
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) )
答案: 【
( (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:
6
B:
12
C:
18
D:
–6
答案: 【
–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:
3
B:
6
C:
9
D:
–3
答案: 【
9
】
11、单选题:
以下关于switch语句正确的是( )。
选项:
A:switch语句是多分支选择结构语句
B:switch语句是循环结构语句
C:switch中可以使用else
D:switch中多个case后的值可以相等
答案: 【switch语句是多分支选择结构语句】
12、单选题:
有以下程序段,输出结果为( )。
int x=1,y;
switch(x):
{
case 1: y=x++;
case 2: y=x++;
case 3: y=x++;
}
printf(“%d ”,y);
选项:
A:1
B:2
C:3
D:4
答案: 【4】
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:6
B:12
C:18
D:-8
答案: 【-8】
14、判断题:
switch语句中必须要有break语句。
选项:
A:对
B:错
答案: 【错】
15、判断题:
switch语句中,case后可的各常量表达式的值不能相同,否则会出现矛盾。
选项:
A:对
B:错
答案: 【对】
16、单选题:
max=a>b?a:b; 的功能是( )。
选项:
A:
max等于a、b中较大的
B:
max等于a、b中较小的
C:
max等于a
D:
max等于b
答案: 【
max等于a、b中较大的
】
17、单选题:
若整型变量a、b、c、d中的值依次为 :1、4、3、2。则条件表达式 a<b?a:c<d?c:d 的值是( )。
选项:
A:1
B:2
C:3
D:4
答案: 【1】
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:
43210
B:
0
C:
5
D:
无
答案: 【
无
】
2、单选题:
while与do-while语句的区别是( )。
选项:
A:
while与do-while的功能完全一样
B:
while语句比do-while语句执行循环体的次数多一次
C:
do-while语句比while语句执行循环体的次数多一次
D:
如果开始时循环语句不成立,那么while语句的循环一次都不执行,do-while语句的循环至少执行一次
答案: 【
如果开始时循环语句不成立,那么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内所有奇数的和
答案: 【
求1到100内所有整数的和
】
4、单选题:
有以下C语言程序段:
int x;
scanf(“%d”,&x);
while(x>0)
x=x-1;
printf(“%d”,x);
当x输入为5时,输出结果为( )。
选项:
A:43210
B:0
C:5
D:54321
答案: 【0】
5、单选题:
有以下程序段:
int k=5;
while(–k) printf(‘%d’,k -= 3);
执行后的输出结果是( )。
选项:
A:1
B:2
C:3
D:0
答案: 【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
答案: 【
x!=-1
】
8、单选题:
有以下C语言程序段:
int x;
scanf(“%d”,&x);
do
{
x=x-1;
printf(“%d”,x);
} while(x>0);
当x输入为5时,输出结果为( )。
选项:
A:
54321
B:
43210
C:
0
D:
–1
答案: 【
43210
】
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:
1/i*i
B:
1/(i*i)
C:
1.0/(i*i)
D:
f*1.0/(i*i)
答案: 【
f*1.0/(i*i)
】
11、单选题:
已定义整型变量i和sum,与以下程序段功能一样的程序有( )。
sum=0;
for(i=1;i<=100;i++)sum+=i;
选项:
A:
sum=0;i=1;for( ; i<=100;i++) sum+=i;
B:
sum=0;for(i=1;i<=100;){i++;sum+=i;}
C:
sum=0;for(i=1;i<=100;) sum+=i;i++;
D:
sum=0;for(i=1;;i++ )
答案: 【
sum=0;i=1;for( ; i<=100;i++) sum+=i;
】
12、单选题:
for语句后的( )内,有几个表达式( )?
选项:
A:
1
B:
2
C:
3
D:
4
答案: 【
3
】
13、单选题:
已定义整型变量s、n和i,以下程序段中,能够实现s=n!,即s为n的阶层。请在下划线处写入正确的语句( )。
scanf(“%d”,&n);
s=1;
for(i=1;i<=n;i++)
__________;
选项:
A:
s+=i
B:
s*=i
C:
s=s+n
D:
s=s*n
答案: 【
s*=i
】
14、单选题:
以下关于break说法正确的是( )。
选项:
A:
break可以终止所有的循环。
B:
break可以终止本层循环。
C:
break只能用在循环语句中。
D:
break只能用在switch语句中。
答案: 【
break可以终止本层循环。
】
15、单选题:
在C语言的循环语句for、while、do-while中,用于结束本次循环,继续执行下一次循环的语句是( )。
选项:
A:
switch
B:
break
C:
continue
D:
if
答案: 【
continue
】
16、单选题:
有以下程序段的功能是( )。
int i, s=0;
for(i=1;i<=100;i++)
{ s=s+i;
if(i>10) break;}
}
选项:
A:1+2+……+100
B:1+2+……+10
C:1+2+……+11
D:1+2+……+9
答案: 【1+2+……+11】
17、单选题:
程序的功能是输出以下图形,请在下划线处写入正确的语句。( )
*
**
***
****
*****
for(i=1;i<=5;i++)
{
for(j=1;________;j++)
putchar(‘*’);
putchar(‘’);
}
选项:
A:
j<=3
B:
j<=5
C:
j<=i
D:
j<i
答案: 【
j<=i
】
18、单选题:
以下程序段,循环体可以循环几次( )。
for(i=1;i<=3;i++)
for(j=1;j<=4;j++)
{循环体};
选项:
A:
3
B:
4
C:
7
D:
12
答案: 【
12
】
19、判断题:
while、do-while、for语句可以互相嵌套,但是不能自身嵌套。
选项:
A:对
B:错
答案: 【错】
20、判断题:
若一个循环体中包含另一个完整的循环结构则称为循环的嵌套。
选项:
A:对
B:错
答案: 【对】
第六章 单元测试
1、单选题:
下面正确的数组定义语句是( )。
选项:
A:
int y[1][4]={1,2,3,4,5};
B:
float x[3][]={{1},{2},{3}};
C:
int s[2][3]={{1},{1,2}};
D:
double t[][3]={0};
答案: 【
int s[2][3]={{1},{1,2}};
】
2、单选题:
二维数组元素的存储规律是( )。
选项:
A:
按行从左到右存储
B:
按列从左到右存储
C:
按行从右到左存储
D:
按行S路线存储
答案: 【
按行从左到右存储
】
3、单选题:
在定义int a[5][4];之后,对a的引用正确的是( )。
选项:
A:
a[2][4]
B:
a[5][0]
C:
a[0][0]
D:
a[0,0]
答案: 【
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:
17
B:
18
C:
19
D:
20
答案: 【
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:
不确定的值
B:
4
C:
2
D:
0
答案: 【
4
】
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:
6
B:
7
C:
8
D:
9
答案: 【
7
】
17、单选题:
设有数组定义:char array[]=“China”;则strlen(array)的值为( )。
选项:
A:
4
B:
5
C:
6
D:
7
答案: 【
5
】
18、单选题:
有定义语句:char s[10];,若要从终端给s 输入5 个字符,错误的输入语句是( )。
选项:
A:
gets(&s[0]);
B:
scanf(‘%s’,s);
C:
gets(s);
D:
scanf(‘%s’,s[1]);
答案: 【
scanf(‘%s’,s[1]);
】
19、判断题:
执行完int a[10]; gets(a); 后,可以为数组a赋值。
选项:
A:对
B:错
答案: 【错】
20、判断题:
char a[10]={“abcd”}; 那么strlen(a)的值是4。
选项:
A:对
B:错
答案: 【对】
第七章 单元测试
1、单选题:
以下所列的各函数首部中,正确的是________。
选项:
A:
void play(var a:Integer,var b:Integer)
B:
void play(int a,b)
C:
void play(int a,int b)
D:
void play(a as integer,b as integer)
答案: 【
void play(int a,int b)
】
2、单选题:
以下说法中正确的是( )。
选项:
A:
C语言程序总是从第一个定义的函数开始执行
B:
在C语言程序中,要调用的函数必须在main()函数中定义
C:
C语言程序总是从main()函数开始执行
D:
C语言程序中的main()函数必须放在程序的开始部分
答案: 【
C语言程序总是从main()函数开始执行
】
3、单选题:
函数的返回值是通过函数体中的( )语句获得。
选项:
A:
printf函数
B:
scanf函数
C:
return语句
D:
goto语句
答案: 【
return语句
】
4、单选题:
自定义函数max的功能是( )。
int max(int x,int y)
{
int z;
z=x>y?x:y;
return z;
}
选项:
A:返回x、y中较大的数
B:返回x、y中较小的数
C:返回x的值
D:返回y的值
答案: 【返回x、y中较大的数】
5、单选题:
以下函数fun的函数的返回类型是________。
int fun( float x)
{ int y;
y=(int) x;
return y; }
选项:
A:
int
B:
float
C:
void
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:
0
B:
29
C:
31
D:
30
答案: 【
31
】
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:
10
B:
13
C:
5
D:
15
答案: 【
5
】
12、单选题:
以下函数fun形参的类型是________。
float fun( float x)
{ float y;
y=3*x-4;
return y; }
选项:
A:
int
B:
不确定
C:
void
D:
float
答案: 【
float
】
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:
12
B:
13
C:
14
D:
15
答案: 【
15
】
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:0
B:29
C:31
D:33
答案: 【31】
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 12 13 14 15 16 17 18 19
B:2 12 13 14 15 16 17 18 19
C:1 2 3 4 5 6 7 8 9 10
D:11 12 13 14 15 16 17 18 19 20
答案: 【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个元素中的最大值
答案: 【
求a数组中5个元素的平均值
】
20、判断题:
数组名字作为函数参数,传递的数组的首地址。
选项:
A:对
B:错
答案: 【对】
评论0