程序设计基础(C语言)智慧树知到课后章节答案2023年下温州理工学院

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

程序设计基础(C语言)智慧树知到课后章节答案2023年下温州理工学院
温州理工学院
第一章测试
1.以下哪个叙述是不正确的编程风格()。

答案:
程序中的注释可有可无
2.C语言程序的执行,总是起始于()。

答案:
main函数
3.以下叙述中正确的是()
答案:
用C程序实现的算法可以既没有输入也没有输出
4.下面对C语言特点,不正确描述的是()。

答案:
C语言的可移植性较差
5.以下叙述正确的是()
答案:
C语言本身没有输入输出语句
6.C语言中规定:在一个源程序中main函数的位置()。

答案:
可以任意
7.a,b均为整数,且b!=0,则表达式a/b*b+a%b的值是()
答案:
a
8.设有以下语句:int x=10;x+=3+x%(-3),则x的值是()
答案:
14
9.设x为int型变量,则执行语句x=10和x+=x-=x-x后,x的值为( )
答案:
20
10.main()
{
int a=12, b=12;
printf("%d,%d\n",--a,++b);
}
以上程序的输出结果是:( )
答案:
11,13
11.阅读下面的程序
main()
{
int i,j;
scanf("%3d%2d",&i,&j);
printf("i=%d,j=%d\n",i,j);
}
如果从键盘上输入1234567<回车>,则程序的运行结果是( )
答案:
i=123,j=45
12.表达式pow(2.8,srt(double ())值的数据类型为int ( )
答案:

13.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是8 ( )
答案:

14.’aBS’是非法常量 ( )
答案:

15.C语言中运行’a’+1,所显示的值为97 ( )
答案:

16.C语言中%c用于输出字符型数据( )
答案:

第二章测试
1.#include<stdio.h>
int main(){
int sum = 0;
printf("符号在后自增:%d\n",sum++);
printf("符号在前自增:%d\n",++sum);
return 0; }
程序代码中包含了选择结构()
答案:

2.经过以下语句定义后,表达式z+=x>y?++x:++y()。

int x=1,y=2,z=3;
答案:
6
3.执行以int a=10;printf(“%d”,a++);后的输出结果和a的值是()。

答案:
10和11
4.若变量已正确定义并赋值,下面符合c语言语法的表达式是()。

答案:
a=b=c+2
5.若以下变量均是整型,且num=sum=7;则计算表达式
sum=num++,sum++,++num后sum的值为()。

答案:
8
6.若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后a的值为()。

答案:
-12
7.可以用只带有一个printf()函数的输出语句同时输出多个整型和字符型数
据。

()
答案:

8.char c1=“abc”;putchar(c1);可以输出整个字符串“abc”。

()
答案:

9.main()
{char c1=97,c2=98;
printf(“%d %c”,c1,c2);
}
上面程序的输出结果是()。

答案:
97 b
10.语句printf(“a\bre\’hi\’y\\\bou\n”;的输出结果是(说明:‘\b’是退格符)
()。

答案:
re’hi’you
11.int x=3,y=2;
printf(“%d”,(x-=y,x*=y+8/5));
上面程序段的输出结果为()。

答案:
3
12.printf(“%d\n”,(int)(2.5+3.0)/3);
上面语句的输出结果是()。

答案:
1
第三章测试
1.在if语句中,条件判断表达式不一定需要用括号括起来,在语句之后必须
加分号。

()
答案:

2.if语句的三种形式中,所有的语句应为单个语句,如果要想在满足条件时执
行一组(多个)语句,则必须把这一组语句用{}括起来组成一个复合语句。

在}之后能再加分号。

()
答案:

3.一个if语句内不能出现两次及两次以上的else()
答案:

4.关于switch语句,break语句是语句中必须的一部分()。

答案:

5.关于switch语句的说法正确的是()。

答案:
switch语句中default分支是可选的。

第四章测试
1.下面有关for循环的正确描述是( )
答案:
f or循环的循环体语句中,可以包含多条语句,但必须用花括号括起来
2.对for(表达式1;;表达式3)可理解为( )
答案:
for(表达式1; 1;表达式3)
3.X=5;
do{
y=x--;
if(!y) {printf(“*”); continue;}
printf(“#”);
}while(3<=x<=4);
以上程序段运行的结果是()
答案:
死循环
4.设有程序段: int k=10; while(k=0) k=k-1; 则下面描述中正确的是()
答案:
循环体语句一次也不执行
5.char c[ ]="abc";
int i=0;
do{ }while(c[i++]!='') ; printf("%d",i-1);
以上程序段的输出结果为()
答案:
3
6.语句while(!E);中的表达式!E等价于()
答案:
E==0
7.break和continue语句用法几乎一样,只能用在循环结构中()
答案:

8.关于break和continue语句,以下选项正确的是( )。

答案:
continue语句在for循环和while循环中都可以使用
;break语句只作用于语句所在层循环
;break语句结束循环后继续执行循环语句的后续语句
9.for(y=1;y<10;)
y=((x=3* y,x+1),x-1);printf("x=%d,y=%d",x,y);
上面程序段的运行结果是:()
答案:
x=15,y=14
10.执行语句for(i=1;i<4;) i++;后变量i的值是()
答案:
4
第五章测试
1.sqrt()函数与pow()函数类似,再调用sqrt()函数前我们需要做什么准备
()。

答案:
调用库#include<math.h>
2.被调函数的实参与形参的相同点正确的有()。

答案:
两者的变量类型必定相同
;两者的值必定相同
3.函数必须有返回值。

()
答案:

4.在使用函数的嵌套调用时,被调用的函数必须要有返回值。

( )
答案:

5.提前声明sum函数,以下代码正确的有:( )
答案:
double sum(double a, double b);
6.以下代码中,正确的是:( )
答案:
int sum(int a,int b){
return a+b;
}
int cal(int n){
return sum(n,n+1);
}
7.在自定义函数中调用其它函数与在主函数中调用其它函数语法格式是相同的。

( )
答案:

8.递归调用的基本思想就是自己调用自己,一个使用递归技术的方法将直接或
间接地调用自身的方法。

( )
答案:

9.一个递归的定义可以用递归过程求解,也可以用非递归过程求解,但单从运
行时间来看,通常递归过程比非递归过程( )
答案:
较慢
10.下列关于函数递归调用描述不正确的是 ( ) 。

答案:
递归过程必须解决的问题有三个
11.一个递归的定义可以用递归的过程求解,通常递归的执行过程是( )的。

答案:
低效
12.关于方法的递归,一下说法正确的是( )。

答案:
方法递归就是指在一个方法的内部调用自身的过程
第六章测试
1.定义数组int a[5]={0},最后一个0的索引下标是多少()
答案:
4
2.有如下语句 int a[10] = {1,2,3,4,5,6,7,8,9,10};int *p = a;则数值为9的表达式
是 ( ) 。

答案:
*(p+8)
3.下列关于数组说话正确的是()
答案:
数组的大小是固定的,所有数组元素的类型必须相同
4.下列4个数组定义中,错误的为()
答案:
Int n,d[n]
5.在数组中,数组名表示( )。

答案:
数组第1个元素的首地址
6.合法的数组定义是( )。

答案:
char a[ ]= "string " ;
7.int N=5,b[N][N]正确定义了数组。

( )
答案:

8.若有说明:int a[][3]={1,2,3,4,5,6,7};则a数组第一堆的大小是( )
答案:
3
9.若有说明:int a[][4]={0,0},则下面正确的叙述是:( )
答案:
因为二维数组a中第二维大小的值除经初值个数的商为1,故数组a的行数为1。

;数组a的每个元素都可得到初值0。

;二维数组a的第一维大小为1。

10.语句float a[3][4];定义了a为3*4(3行4列)的数组。

( )
答案:
对。

相关文档
最新文档