智慧树知到《程序设计基础(C语言)入门篇》章节测试答案
第一章
1、下列哪一个不是C语言的的主要特点( )。
A:语言简洁、紧凑、方便、灵活
B:运算符丰富
C:数据类型丰富
D:能完成任何功能
答案: 能完成任何功能
2、一个C语言程序总是从( )函数开始。
A:printf
B:scanf
C:main
D:max
答案: main
3、计算机高级语言程序的运行方法有编译执行和解释执行两种,下列叙述中正确的是( )。
A:C语言程序仅可以编译执行
B:C语言程序仅可以解释执行
C:C语言程序既可以编译执行又可以解释执行
答案: C语言程序仅可以编译执行
4、下列叙述中正确的是( )。
A:C语言程序的只有一个函数
B:C语言程序中每一行只能写一条语句
C:每个C语句必须以分号结束
D:C语句必须在一行内写完
答案: 每个C语句必须以分号结束
5、程序是一组计算机能识别和执行的指令集合。
A:对
B:错
答案: 对
6、计算机语言是一种只有计算机才能识别的语言。
A:对
B:错
答案: 错
7、一个C语言程序是由一个或多个函数组成的,其中必须包含一个函数,函数名是main。
A:对
B:错
答案: 对
8、C语句是以()表示结束
A:逗号
B:分号
C:句号
D:回车
答案: 分号
9、C语言区分大小写。
A:对
B:错
答案: 对
10、C语言只有一个标准。
A:对
B:错
答案: 对
第二章
1、算法的特点不包括( )。
A:有穷性
B:确定性
C:可行性
D:多个输入
答案: 多个输入
2、算法的有穷性是指( )。
A:算法的程序运行时间是有限的
B:算法的程序所处理的数据量是有限的
C:算法包含的操作步骤是有限的
D:算法只能被有限的用户使用
答案: 算法包含的操作步骤是有限的
3、在计算机中,算法是指( )。
A:加工方法
B:解答方案的准确而完整的描述
C:排序方法
D:查询方法
答案: 解答方案的准确而完整的描述
4、算法的特点包括穷性、确定性、可行性、有一个或多个输入和有一个或多个输出。
A:对
B:错
答案: 错
5、在程序设计中,符合结构化原则的三种基本控制结构是顺序结构、选择结构、循环结构。
A:对
B:错
答案: 对
6、传统的流程图只有一个入口,多个出口。
A:对
B:错
答案: 错
7、所谓算法的有穷性是指算法要在合理有限的时间内结束。
A:对
B:错
答案: 对
8、算法是程序的具体实现。
A:对
B:错
答案: 错
9、算法分为数值算法和非数值算法两大类。
A:对
B:错
答案: 对
10、算法是为解决一个问题而采取的方法和步骤,是程序的灵魂。
A:对
B:错
答案: 对
第三章
1、表达式25/3%3的值为2.
A:对
B:错
答案:
2、若有定义:int y=2; 则计算表达式y+=y后的y值是2()
A:对
B:错
答案:
3、下列不正确的叙述是( )。
A:在C语言程序中,%运算符的优先级高于/ 运算符。
B:在C语言程序中,SUM和sum是两个不同的变量。
C:在C语言程序中,进行赋值运算时,先将右侧表达式的值转化左侧变量的类型再赋给变量。
D:若a和b类型相同,在计算了赋值表达式a=b后b中的值将复制到a中,而b中的值不变。
答案:
4、在C语言中,要求运算对象必须是整型的运算符是( )。
A:/
B:*
C:-
D:%
答案:
5、下列选项中正确的定义语句是( )。
A:double a ; b;
B:double a=b=7;
C:double a=7,b=7;
D:double , a , b;
答案:
6、输入一个3位正整数n,分别输出n的个位a、十位b、百位c。下面程序的语句填空应为:()
#include <stdio.h>
int main( )
{
int n,a,b,c;
scanf(%d,&n);
a=____;;
b=n/10%10;
c=n/100;
printf(a=%db=%dc=%d,a,b,c);
return 0;
}
A:b/10
B:n/10
C:n%10
D:a%10
答案:
7、有下列程序,程序运行后的输出结果是( )。
#include <stdio.h>
int main()
{
int a=1,b=0;
printf(%d,,b=a+b);
printf(%d\n,a=2*b);
return 0;
}
A:0,0
B:1,0
C:3,2
D:1,2
答案:
8、数据在计算机中是以二进制的形式存储的。()
A:对
B:错
答案:
9、变量定义后,如果没有赋值,那变量多表示的存储单元是空的。
A:对
B:错
答案:
10、定义符号常量的名字用命令#define。
A:对
B:错
答案:
第四章
1、有下列程序,已知字母A的ASCII码为65,程序运行后的输出结果是( )。
#include <stdio.h>
int main()
{
char c1,c2;
c1=’A’+’8’-’4’;
c2=’A’+’8’-’5’;
printf(%c,%d\n,c1,c2);
return 0;
}
A:E,68
B:D,69
C:E,D
D:输出无定值
答案:
2、有下列程序,程序运行后的输出结果是( )。
#include <stdio.h>
intmain()
{
int a=14,b=12;
a=a+b;
b=a-b;
a=a-b;
printf(a=%d,b=%d,a,b);
return 0;
}
A:a=14,b=12
B:a=12,b=14
C:a=26,b=26
D:a=14,b=14
答案:
3、若变量已正确定义为int型,要给a、b、c输入数据,正确的输入语句是( )。
A:read(a,b,c)
B:scanf(%D%D%D,&a,&b,&c);
C:scanf(%d%d%d,&a,&b,&c);
D:scanf(%d%d%d,a,b,c);
答案:
4、编写程序,输入3个整数a、b、c,输出时:a的值是b,b的值是c,c的值是a。
下面程序可以正确实现题目要求:
#include <stdio.h>
int main()
{
int a,b,c,t
scanf(%d%d%d,&a,&b,&c);
t=a;a=b;b=c;c=t; // 顺序交换a、b、c
printf(a=%d,b=%d,c=%d,a,b,c);
return 0;
}
A:对
B:错
答案:
5、已知银行一年定期存款利率r是2.25%,若存款本金是c元,编程计算一年期满是本金之和d(保留两位小数)。
下面程序可以正确实现题目要求:
#include <stdio.h>
int main( )
{
doubler=0.0255,c,d;
scanf(%f,&c);
d=c+c*r;
printf(x=%.2lf,d);
return 0;
}
A:对
B:错
答案:
6、用getchar()从键盘上输入一个字符,用putchar()打印出来!
参考程序1与参考程序2都可以实现题目要求。
#include <stdio.h>
int main()
{
char a;
a=getchar();
putchar(a);
return 0;
}
参考程序2:
#include <stdio.h>
int main()
{
char ch;
scanf(%c,&ch);
printf(%c\n,ch);
return 0;
}
A:对
B:错
答案:
7、下列程序运行结果为:
#include<stdio.h>
intmain()
{
char a,b,c;
a = 'r'; b = 'e';c = 'd';
putchar(a);putchar(b);putchar(c);putchar('\n');
return 0;
A:red
B:r’’e’’d’
C:red\n
D:r’’e’’d’’\n’
答案:
8、如果要求按照12:31:12格式输入数据,那么下面哪个输入语句是正确的:()
A:scanf(%d%d%d, &num1, &num2,&num3);
B:scanf(%d,%d,%d, &num1, &num2,&num3);
C:scanf(%d:%d:%d, &num1, &num2,&num3);
答案:
9、在格式化输入scanf函数中,如何%后面跟有*,表示抑制符,输入的数据不会赋值给相应的变量。()
A:对
B:错
答案:
10、putchar()函数属于无参函数。()
A:对
B:错
答案:
第五章
1、在C语言中,逻辑运算符&&比||的优先级高( )。
A:对
B:错
答案:
2、将数学式:a=b或a<c ,写为C语言的表达式为a=b||a<c( )。
A:对
B:错
答案:
3、已知字母’A’的ASCll码值为 65,若变量c为char 型,下列不能正确判断出c为大写字母的表达式是( )。
A:c>=’A’&& c<=’Z’
B:!(c>=’A’||c<=’Z’)
C:(c+32)>=’a’&&(c+32)<=’z’
D:(c>=65)&&(c<=91)
答案:
4、有下列程序,程序运行后的输出结果是( )。
#include <stdio.h>
int main()
{
int x=1,y=0;
if (!x) y++;
else if (x==0)
if (x) y+=2;
else y+=3;
printf(%d,y);
return 0;
}
A:3
B:2
C:1
D:0
答案:
5、有下列程序,程序运行后的输出结果是( )。
int a=3,b;
if (a>0) b=1;
else b=-1;
b++;
printf(%d,b);
A:1
B:2
C:-1
D:0
答案:
6、有下列程序,程序运行后的输出结果是( )。
#include <stdio.h>
int main()
{
int x=0,y=2, z=3;
switch(x)
{
case 0: switch(y==2)
{
case 1: printf(); break;
case 2: printf(%); break;
}
case 1: switch(z)
{
case 1: printf($);
case 2: printf(); break;
default: printf(#);
}
}
}
A:%
B:#
C:*$
D:**
答案:
7、C语言中条件表达式结果为0表示假,为1表示真。
A:对
B:错
答案:
8、除了最后一个分支,switch语句要求每一个分支后加上一个break语句。
A:对
B:错
答案:
9、C可保证复杂的逻辑表达式是从左至右计算的。
A:对
B:错
答案:
10、有下列程序,程序运行后的输出结果是( )。
inta=3,b=5,c=7;
if (a>b) a=b; c=a;
if (c!=a) c=b;
printf(%d,%d,%d\n,a,b,c);
A:程序段有语法错
B:3,5,3
C:3,5,5
D:3,5,7
答案:
第六章
1、有下列程序段,程序段运行后的输出结果##2##3##4##5( )。
int k;
for (k=2;k<6;k++,k++)
printf(##%d,k);
A:对
B:错
答案:
2、在循环结构中break是终止循环,跳出循环体。
A:对
B:错
答案:
3、以下不构成无限循环的语句组是( )。
A:int n=0
do
{++n;}
while (n<=0);
B:int n=0;
while (1)
n++;
C:int n=10;
while (n);
n–;
D:int n=0,i;
for (n=0,i=1;;i++)
n+=i;
答案:
4、在C语言中有关for循环,下列正确的说法是( )。
A:for循环只能用于循环次数已经确定的情况。
B:for循环是先执行循环体语句,后判断表达式。
C:在 for循环中,不能用break跳出循环体。
D:for循环的循环体语句中,可以包含多条语句,但必须用花括号写成复合语句。
答案:
5、有下列程序,程序运行后的输出结果是( )。
#include<stdio.h>
int main()
{
inti,sum;
for (i=1;i<6;i++) sum+=sum;
printf(%d,sum);
return 0;
}
A:不确定
B:15
C:14
D:0
答案:
6、有下列程序,程序运行后的输出结果是( )。
#include <stdio.h>
int main( )
{
int i,j,a=0;
for (i=0;i<2;i++)
{
for (j=0;j<4;j++)
{
if (j%2) break;
a++;
}
a++;
}
printf(%d,a);
return 0;
}
A:4
B:5
C:6
D:7
答案:
7、while与do-while在任何时候都可以互换。
A:对
B:错
答案:
8、下面程序可以正确求出1+2+3+。。。+n的和。()
#include <stdio.h>
int main( )
{
int i = 1,sum = 0,n;
scanf(%d,&n);
while (i <= n)
sum = sum + i;
++i;
printf(sum=%d,sum);
return 0;
}
A:对
B:错
答案:
9、以下程序中的变量已正确定义,程序段的输出结果是( )。
for(i=0;i<4;i++,i++)
for(k=1;k<3;k++); printf();
A:**
B:**
C:
D:
答案:
10、有下列程序,程序运行后的输出结果是( )。
#include <stdio.h>
int main()
{
int i,j;
for (i=3;i>=1;i–)
{
for (j=1;j<=2;j++)
printf( %d,i+j);
printf(\n);
}
return 0;
}
A:2 3 4
3 4 5
B:4 3 2
5 4 3
C:2 3
3 4
4 5
D:4 5
3 4
2 3
答案:
第七章
1、在C语言中,数组元素的最小下标是1 。
A:对
B:错
答案:
2、在C语言中,数组名代表首地址。
A:对
B:错
答案:
3、在C语言中,数组一般针对批量数据的处理,这些数据必须具有相同的类型()。
A:对
B:错
答案:
4、假设有一定义语句int a[][3]={1,2,3,4,5,6};那么数组的行数是不确定的。
A:对
B:错
答案:
5、有下列程序,程序运行后的输出结果是0( )。
返回栏目