程序设计基础(C语言)入门篇(山东理工大学)智慧树知到网课章节测试答案
第一章 单元测试
1、单选题:下列哪一个不是C语言的的主要特点( )。
A:语言简洁、紧凑、方便、灵活
B:运算符丰富
C:能完成任何功能
D:数据类型丰富
答案: 【能完成任何功能】
2、单选题:一个C语言程序总是从( )函数开始。
A:scanf
B:printf
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:若a和b类型相同,在计算了赋值表达式a=b后b中的值将复制到a中,而b中的值不变。
C:在C语言程序中,%运算符的优先级高于/ 运算符。
D:在C语言程序中,SUM和sum是两个不同的变量。
答案: 【在C语言程序中,%运算符的优先级高于/ 运算符。】
4、单选题:在C语言中,要求运算对象必须是整型的运算符是( )。
A:-
B:%
C:/
D:*
答案: 【%
】
5、单选题:下列选项中正确的定义语句是( )。
A:double a=7,b=7;
B:double a ; b;
C:double , a , b;
D:double a=b=7;
答案: 【double a=7,b=7; 】
6、单选题:输入一个3位正整数n,分别输出n的个位a、十位b、百位c。下面程序的语句填空应为:()#include
A:n%10
B:b/10
C:n/10
D:a%10
答案: 【n%10】
7、单选题:有下列程序,程序运行后的输出结果是( )。#include
A:0,0
B:1,0
C:3,2
D:1,2
答案: 【1,2】
8、判断题:数据在计算机中是以二进制的形式存储的。()
A:对
B:错
答案: 【对】
9、判断题:变量定义后,如果没有赋值,那变量多表示的存储单元是空的。
A:错
B:对
答案: 【错】
10、判断题:定义符号常量的名字用命令#define。
A:对
B:错
答案: 【对】
第四章 单元测试
1、单选题:有下列程序,已知字母A的ASCII码为65,程序运行后的输出结果是( )。#include
A:E,68
B:D,69
C:E,D
D:输出无定值
答案: 【E,68】
2、单选题:有下列程序,程序运行后的输出结果是( )。#include
A:a=26,b=26
B:a=12,b=14
C:a=14,b=12
D:a=14,b=14
答案: 【a=12,b=14 】
3、单选题:若变量已正确定义为int型,要给a、b、c输入数据,正确的输入语句是( )。
A:scanf(“%D%D%D”,&a,&b,&c);
B:scanf(“%d%d%d”,&a,&b,&c);
C:read(a,b,c)
D:scanf(“%d%d%d”,a,b,c);
答案: 【scanf(“%d%d%d”,&a,&b,&c);】
4、判断题:编写程序,输入3个整数a、b、c,输出时:a的值是b,b的值是c,c的值是a。下面程序可以正确实现题目要求:#include
A:错
B:对
答案: 【对】
5、判断题:已知银行一年定期存款利率r是2.25%,若存款本金是c元,编程计算一年期满是本金之和d(保留两位小数)。下面程序可以正确实现题目要求:#include
A:对
B:错
答案: 【错】
6、判断题:用getchar()从键盘上输入一个字符,用putchar()打印出来!参考程序1与参考程序2都可以实现题目要求。#include
A:错
B:对
答案: 【对】
7、单选题:下列程序运行结果为:#include
A:redn
B:‘r’’e’’d’
C:red
D:‘r’’e’’d’’n’
答案: 【red 】
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);
答案: 【scanf(“%d:%d:%d”, &num1, &num2,&num3);】
9、判断题:在格式化输入scanf函数中,如何%后面跟有*,表示抑制符,输入的数据不会赋值给相应的变量。()
A:对
B:错
答案: 【对】
10、判断题:putchar()函数属于无参函数。()
A:对
B:错
答案: 【错】
第五章 单元测试
1、判断题:在C语言中,逻辑运算符“&&”比“||”的优先级高( )。
A:对
B:错
答案: 【对】
2、判断题:将数学式:a=b或a
B:错
答案: 【错】
3、单选题:已知字母’A’的ASCll码值为 65,若变量c为char 型,下列不能正确判断出c为大写字母的表达式是( )。
A:c>=’A’&& c<=’Z’
B:(c>=65)&&(c<=91)
C:(c+32)>=’a’&&(c+32)<=’z’
D:!(c>=’A’||c<=’Z’)
答案: 【!(c>=’A’||c<=’Z’) 】
4、单选题:有下列程序,程序运行后的输出结果是( )。#include
A:3
B:1
C:2
D:0
答案: 【0】
5、单选题:有下列程序,程序运行后的输出结果是( )。int a=3,b;if (a>0) b=1;else b=-1;b++;printf(“%d”,b);
A:1
B:-1
C:0
D:2
答案: 【2】
6、单选题:有下列程序,程序运行后的输出结果是( )。#include
A:*%
B:*$
C:*#
D:**
答案: 【*#
】
7、判断题:C语言中条件表达式结果为0表示假,为1表示真。
A:对
B:错
答案: 【错】
8、判断题:除了最后一个分支,switch语句要求每一个分支后加上一个break语句。
A:错
B:对
答案: 【对】
9、判断题:C可保证复杂的逻辑表达式是从左至右计算的。
A:对
B:错
答案: 【对】
10、单选题:有下列程序,程序运行后的输出结果是( )。int a=3,b=5,c=7; if (a>b) a=b; c=a; if (c!=a) c=b;
printf(“%d,%d,%dn”,a,b,c);
A:程序段有语法错
B:3,5,5
C:3,5,7
D:3,5,3
答案: 【3,5,3
】
第六章 单元测试
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=10;
while (n);
nC;
B:int n=0,i;
for (n=0,i=1; ;i++)
n+=i;
C:int n=0
do
{++n;}
while (n<=0);
D:int n=0;
while (1)
n++;
答案: 【int n=0
do
{++n;}
while (n<=0);
】
4、单选题:在C语言中有关for循环,下列正确的说法是( )。
A:for循环的循环体语句中,可以包含多条语句,但必须用花括号写成复合语句。
B:for循环是先执行循环体语句,后判断表达式。
C:在 for循环中,不能用break跳出循环体。
D:for循环只能用于循环次数已经确定的情况。
答案: 【for循环的循环体语句中,可以包含多条语句,但必须用花括号写成复合语句。】
5、单选题:有下列程序,程序运行后的输出结果是( )。#include
A:不确定
B:0
C:14
D:15
答案: 【不确定】
6、单选题:有下列程序,程序运行后的输出结果是( )。#include
A:5
B:7
C:6
D:4
答案: 【4】
7、判断题:while与do-while在任何时候都可以互换。
A:错
B:对
答案: 【错】
8、判断题:下面程序可以正确求出1+2+3+。。。+n的和。()#include
A:对
B:错
答案: 【错】
9、单选题:以下程序中的变量已正确定义,程序段的输出结果是( )。for(i=0;i<4;i++,i++)for(k=1;k<3;k++);
printf(“*”);
A:**
B:*
C:********
D:****
答案: 【*】
10、单选题:有下列程序,程序运行后的输出结果是( )。#include
A:4 3 2
5 4 3
B:2 3
3 4
4 5
C:2 3 4
3 4 5
D:4 5
3 4
2 3
答案: 【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( )。 #include
A:对
B:错
答案: 【对】
6、单选题:若有说明:int a[10]; 则对a 数组元素的正确引用是( )。
A:a[10]
B:a[10-10]
C:a[3.5]
D:a(5)
答案: 【a[10-10] 】
7、单选题:有下列程序段,运行后的输出结果是( )。 int i;int x[3][3]={1,2,3,4,5,6,7,8,9};for
(i=0;i<3;i++)printf(“%d “,x[i][2-i]);
A:1 5 9
B:3 5 7
C:1 4 7
D:3 6 9
答案: 【1 4 7
】
8、单选题:有下列程序,运行后的输出结果是( )。#include
A:5430
B:1470
C:输出值
D:0650
答案: 【0650】
9、单选题:有下列程序,运行后的输出结果是( )。#include
A:1 2 3 4
B:1 1 2 3
C:2 3 4 4
D:4 3 3 2
答案: 【4 3 3 2
】
10、单选题:若有定义:int b[3][4]={0};则下述正确的是( )。
A:不正确的定义
B:b[0][0]的值是0,其他元素值未知
C:数组b中各元素均为0
D:没有元素能得初值0
答案: 【数组b中各元素均为0】
第八章 单元测试
1、判断题:有如下函数调用语句:fun(r1,r2+r3,(r4,r5));
该函数调用语句中,含有的实参个数是3个。
A:对
B:错
答案: 【对】
2、判断题:函数可以嵌套定义,但不能嵌套调用。
A:对
B:错
答案: 【对】
3、判断题:mian函数可以自己调用自己。
A:错
B:对
答案: 【对】
4、单选题:以下正确的函数定义是( )。
A:double fun(int x,int y)
{ double z;z=x+y;return z; }
B:double fun(int x,int y)
{ z=x+y; return z; }
C:fun(int x,y)
{ int z; return int z; }
D:fun(x,y)
{int x,y; z=x+y; retun z;}
答案: 【double fun(int x,int y)
{ double z;z=x+y;return z; }
】
5、单选题:在C语言函数中,下面说法正确的是( )。
A:一个return语句可以返回多个值。
B:一个函数中可以有多个return语句,但是最多执行其中一个return语句。
C:一个函数中可以有多个return语句,可能多个return语句全部执行
D:一个函数中只能有一个return语句。
答案: 【一个函数中可以有多个return语句,但是最多执行其中一个return语句。】
6、单选题:在C语言函数中,以下说法正确的是( )。
A:如果形参与实参的类型不一致以实参类型为准
B:定义函数时,形参的类型说明可以放在函数体内。
C:如果函数值的类型与return返回值类型不一致,以函数值类型为准
D:return后边的值不能为表达式
答案: 【如果函数值的类型与return返回值类型不一致,以函数值类型为准】
7、单选题:在C语言程序中,以下正确的描述是( )。
A:函数的定义和调用均可以嵌套
B:函数的定义可以嵌套,但函数的调用不可以嵌套
C:函数的定义和函数的调用均不可以嵌套
D:函数的定义不可嵌套,但函数的调用可以嵌套
答案: 【函数的定义不可嵌套,但函数的调用可以嵌套】
8、单选题:有下列程序,程序运行后的输出结果是( )。#include
A:7 8 9
B:7 9 11
C:7 7 7
D:7 10 13
答案: 【7 7 7】
9、单选题:有下列程序,程序运行后的输出结果是( )。#include
}
{
int m=0,i=2;
i+=m+1;
m=i+a+b;
return(m);
}
A:8 20
B:8 16
C:8 8
D:8 17
答案: 【8 8
】
10、单选题:有下列程序,程序运行后的输出结果是( )。#include
A:3
B:6
C:12
D:8
答案: 【6】
第九章 单元测试
1、判断题:若有下列语句:int a[4]={1,2,3,4},*p;
p=&a[2];
则*p的值是3
A:错
B:对
答案: 【对】
2、判断题:int *p;此时*是一个运算符号,表示间接访问p所指向的变量。
A:错
B:对
答案: 【错】
3、判断题:有下列程序段,程序段运行后的输出结果是10( )。 int *p,n; n=10; p=&n; n=*p+10; printf(“%dn”,
*p);
A:对
B:错
答案: 【错】
4、单选题:若有说明:int a=2,*p=&a,*q=p;,则以下非法的赋值语句是( )。
A:a=*q
B:p=q
C:*p=*q
D:q=a
答案: 【q=a】
5、单选题:变量的指针是指该变量的( )。
A:首地址
B:别名
C:名
D:值
答案: 【首地址】
6、单选题:若已定义int a=5; 下列对(1)、(2)两个语句的正确解释是( )(1) int *p=&a; (2) *p=a;
A:语句(1)是对p进行说明的同时进行初始化,使p指向a;语句(2)是将a的值赋给p指的空间。
B:语句(1)是对p进行说明的同时进行初始化,使p指向a;语句(2)是将a的值赋给指针变量p。
C:语句(1)和语句(2)语句都是把变量a的地址值赋给指针变量p。
D:语句(1)和语句(2)中的*p含义相同,都表示给指针变量p赋值。
答案: 【语句(1)是对p进行说明的同时进行初始化,使p指向a;语句(2)是将a的值赋给p指的空间。】
7、单选题:下列程序中,主函数调用findmax函数返回数组中的最大值。在下划线处应填入的是( )。#include
B:*p>*s
C:p-a>p-s
D:p>s
答案: 【*p>*s 】
8、单选题:有下列程序,程序运行后的输出结果是( )。#include
A:211 2
B:121 2
C:214 3
D:123 4
答案: 【214 3】
9、单选题:有下列程序段,程序段运行后的输出结果是( )。int t[]={0,1,2,3,4,5,6,7,8,9}, *p; p=t;
printf(“%dn”, *p+9);
A:10
B:1
C:9
D:0
答案: 【9】
10、判断题:若有下列语句:int a[4]={1,2,3,4},*p;p=a;则*p的值是3。
A:对
B:错
答案: 【错】
第十章 单元测试
1、单选题:若给出下列定义: char x[]=”abcdefg”;char y[]={‘a’,’b’,’c’,’d’,’e’,’f’,’g’};
则正确的叙述为( )。
A:数组x的长度小于数组y的长度
B:数组x的长度大于数组y 的长度
C:数组x和数组y的长度相同
D:数组y的定义是错的
答案: 【数组x的长度大于数组y 的长度】
2、单选题:有下列程序,程序运行后的输出结果是( )。#include
A:62
B:6
C:12ba56
D:6521
答案: 【6
】
3、单选题:设有如下的程序段:char s[]=”girl”, *t; t=s;则下列叙述正确的是( )。
A:s数组长度和t长度相等
B:数组s中的内容和指针变量t中的内容相等
C:t指向s数组首元素
D:*t与 &s[0]相等
答案: 【t指向s数组首元素】
4、单选题:有下列程序段,程序段运行后的输出结果是( )。char b1[8]=”abcdefg”, b2[8], *pb=b1+3; while(
Cpb>=b1) strcpy(b2, pb);printf(“%d”, strlen(b2));
A:8
B:7
C:1
D:3
答案: 【7】
5、单选题:有下列程序,程序运行后的输出结果是( )。#include
A:abcaABCDEFdef
B:abc+ABC=DEFdef
C:abc+abc=defdef
D:abcabcdefdef
答案: 【abc+abc=defdef 】
6、判断题:从存储机制上看,字符串是以”为结束标志的字符串数组。()
A:对
B:错
答案: 【对】
7、判断题:语句printf(“This is a string!”)会把双引号输出。
A:错
B:对
答案: 【错】
8、判断题:下面程序的运行结果是:We,s()。#include
A:对
B:错
答案: 【对】
9、判断题:下面程序段是正确的。()char str[20]; str=“I love China!”
A:错
B:对
答案: 【错】
10、判断题:可以用函数strcat将两个字符串连接,也可以用+将两个字符串连接。
A:错
B:对
答案: 【错】
推荐使用我们的公众号搜索题目,题目更全,检索更方便。支持语音、图片、文字等多种搜索方式。