程序设计基础-C知到智慧树章节测试课后答案2024年秋四川师范大学_第1页
程序设计基础-C知到智慧树章节测试课后答案2024年秋四川师范大学_第2页
程序设计基础-C知到智慧树章节测试课后答案2024年秋四川师范大学_第3页
程序设计基础-C知到智慧树章节测试课后答案2024年秋四川师范大学_第4页
程序设计基础-C知到智慧树章节测试课后答案2024年秋四川师范大学_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

程序设计基础——C知到智慧树章节测试课后答案2024年秋四川师范大学第一章单元测试

第一台通用电子计算机是()。

A:ADVAC计算机B:ABC计算机C:PASCAL加法器D:ENIAC电子数字积分计算器

答案:ENIAC电子数字积分计算器TC3.0集成开发环境中,C语言源程序文件的扩展名是()。

A:.CB:.TXTC:.CPPD:.DAT

答案:.CPP以下选项中可用作C语言合法用户标识符的是()。

A:_123B:viodC:-abcD:2a

答案:_123以下选项中叙述正确的为()。

A:C语言的标识符可分为关键字、预定义标识符和用户标识符三类B:C语言的标识符可分为语句、变量和关键字三类C:C语言的标识符可分为运算符、用户标识符和关键字三类D:C语言的标识符可分为函数名、变量和预定义标识符三类

答案:C语言的标识符可分为关键字、预定义标识符和用户标识符三类C语言可执行程序的开始执行点是()。

A:包含文件的第一个函数B:程序中第一条可执行语句C:程序中的main函数D:程序中第一个函数

答案:程序中的main函数C语言程序代码的特点是()。

A:书写自由B:执行效率高C:表达方式灵活D:可被机器直接执行

答案:书写自由;执行效率高;表达方式灵活要使得一个源程序完成计算任务,必须结果如下过程和步骤:()。

A:执行B:链接C:编译D:编辑

答案:执行;链接;编译;编辑TC2.0集成环境中,查看程序运行结果的方法有()。

A:<ALT+F5>B:<ALT+R><U>C:<CTRL+R>D:<ALT+R><ENTER>

答案:<ALT+F5>;<ALT+R><U>C语言不作运行时错误检查。()

A:对B:错

答案:对程序阅读时,每一程序语句的执行前的状态、执行过程和执行结果都要弄清楚才行。()

A:对B:错

答案:对

第二章单元测试

对数据类型之间的转换,要遵守的总体法则是()。

A:以外部表示格式为准,进行扩展或截断B:以字节数为准,进行扩展或截断C:以取值范围为准,进行扩展或截断D:以内部存储格式为准,进行扩展或截断

答案:以内部存储格式为准,进行扩展或截断在单字节存储空间中,235的补码为()。

A:235B:-21C:不能确定D:-20

答案:-21在表达式运算中,下述表述错误的是()。

A:数据类型向高格式看齐B:数据类型先对齐,再进行运算符的运算C:数据类型向优先级高的运算符看齐D:数据类型向目标实体看齐

答案:数据类型向优先级高的运算符看齐以下选项中合法的字符常量是()。

A:DB:'\010'C:68D:“B”

答案:'\010'假设nX=0,nY=0,nZ=0,执行nX++&&++nY||++nZ&&(nY&&++nY)后,nX,nY,nZ的值分别是()。

A:1,1,2B:1,0,1C:1,1,0D:1,1,1

答案:1,0,1以下程序代码的执行结果是()。

#include<stdio.h>

intmain(void){

intx=010,y=10;

printf(“%d,%d\n”,++x,y--);

retrun0;

}/*Endofmain()*/

A:010,9B:11,10C:10,9D:9,10

答案:9,10能够表示字符串结束符值的有效方法是()。

A:0B:NULLC:""D:'\0'

答案:0;NULL;'\0'关于问号表达式:<条件表达式>?<表达式1>:<表达式2>,以下陈述正确的是()。

A:其运算符优先级与赋值运算符相同B:其运算结果是<表达式1>和<表达式2>中的数据类型较高的类型C:其运算结果是<表达式1>和<表达式2>中的数据类型较低的类型D:其运算符的结合方向是自右至左的

答案:其运算结果是<表达式1>和<表达式2>中的数据类型较高的类型;其运算符的结合方向是自右至左的浮点数在计算机内部是近似表示的。()

A:对B:错

答案:对i++和++i都是将i的值加1,故两者功能是等价的。()

A:对B:错

答案:错

第三章单元测试

逗号表达式k=(i=1,j=1,++i,--j)的值是()。

A:不能确定B:i=1的值C:--j的值D:k的值

答案:--j的值对inti,j;scanf(“%d%d”,&i,&j);,输入:1225后,以下说法正确的是()。

A:i和j的值分别为12和25B:编译时会出现语法警告C:编译时会出现语法错误D:i和j的值无法预测

答案:i和j的值分别为12和25对以下程序代码,其输出结果是()。

#include<stdio.h>

intmain(void){

intx=072;

printf(“%d\n”,x+1);

return0;

}/*Endofmain()*/

A:59B:115C:73D:72

答案:59对以下程序代码,输出的结果是()。

#include<stdio.h>

intmain(void){

intx=0x10;

printf(“%c\n”,'A'+x);

return0;

}/*Endofmain()*/

A:QB:PC:ID:K

答案:Q以下程序的运行结果是()。

#include<stdio.h>

voidmain(void){

inti,j,m,n;

i=8;j=10;

m=++i;

n=j++;

printf(“%d,%d,%d,%d”,i,j,m,n);

return0;

}/*Endofmain()*/

A:8,10,8,10B:9,11,8,10C:9,11,9,10D:9,10,9,11

答案:9,11,9,10C语言中的控制型语句是()。

A:loopB:if、switchC:while、for、dowhileD:break、continue、goto、return

答案:if、switch;while、for、dowhile;break、continue、goto、returnscanf()的输入格式控制串中,可以作为格式分隔符的有()。

A:'\n'B:'='C:除格式符外的所有字符符号D:空格字符

答案:'\n';'=';除格式符外的所有字符符号;空格字符空语句即独立的一个分号语句。()

A:错B:对

答案:对单精度浮点数的默认格式化输出精度为6位,双精度则为12位。()

A:对B:错

答案:错scanf()格式控制串中的默认分隔符为'\n'。()

A:错B:对

答案:错

第四章单元测试

引入N-S图的原因是()。

A:传统流程图的绘制思想太传统,符号太多B:传统流程图无法表达一些特殊的控制结构C:传统流程图无法表示结构化流程D:传统流程图绘制起来太自由,流程线不好画

答案:传统流程图绘制起来太自由,流程线不好画算法的伪代码表示的主要优点是()。

A:可以直接当作源程序代码使用B:逻辑关系的呈现比流程图直观C:表达、修改和实现起来方便D:使用了人们习惯的自然语言方式表达

答案:表达、修改和实现起来方便在传统流程图中,用来表示输入输出的图形符号是()。

A:椭圆形B:菱形C:长方形D:平行四边形

答案:平行四边形一个算法应具有"确定性"等5个特征,下面对另外4个特征的描述中错误的是()。

A:有零个或多个输出B:可行性C:有穷性D:有零个或多个输入

答案:有零个或多个输出下列叙述中正确的是()。

A:算法设计可以忽略算法的运算时间B:程序可以作为算法的一种描述方法C:所谓算法就是计算方法D:算法设计只需考虑得到计算结果

答案:程序可以作为算法的一种描述方法描述算法过程的基本控制结构是()。

A:顺序B:递归C:循环D:选择

答案:顺序;循环;选择算法的基本特征包含()。

A:有穷性B:可行性C:输入输出D:确定性

答案:有穷性;可行性;输入输出;确定性N-S流程图也称()。

A:PAD图B:框图C:无流程线图D:盒图

答案:框图;无流程线图;盒图算法要求在执行若干步骤后必须停止或结束。()

A:对B:错

答案:对算法的伪代码表示法也称为混合表示法。()

A:对B:错

答案:对

第五章单元测试

在模块化程序中,每个程序模块()。

A:每个模块只能有一个入口,但可以有多个出口B:每个模块只能有一个入口和一个出口C:每个模块可以有多个入口,但只能有一个出口D:每个模块可以有多个入口,也可以有多个出口

答案:每个模块只能有一个入口和一个出口对if语句的基本形式:if(表达式)语句,其中“表达式”()。

A:必须是逻辑表达式或关系表达式B:必须是逻辑表达式C:可以是任意合法的表达式D:必须是关系表达式

答案:可以是任意合法的表达式关于break控制语句的功能,下面错误的叙述是()。

A:跳出dowhile控制结构B:跳出同时控制结构C:跳出ifgoto构成的循环控制结构D:跳出for控制结构

答案:跳出ifgoto构成的循环控制结构以下程序段中,循环次数不超过10的是()。

A:inti=6;do{i-=2;}while(i!=1);B:inti=10;do{i=i+1;}while(i<0);C:inti=5;do{i+=1;}while(i>0);D:inti=1;do{i+=2;}while(i!=10);

答案:inti=10;do{i=i+1;}while(i<0);选择结构中的条件与循环结构中循环成立的条件,在写法上可以是任意合法表达式,但其值只能被判断为"真"或"假"。下列选项中哪个值是作为逻辑"假"值()。

A:非零的数B:1C:0D:-1

答案:0以下程序运行的结果是()。

...

inty=1;

while(y--);

printf(“y=%d\n”,y);

...

A:y=-1B:y=0C:y=9D:死循环

答案:y=-1对for(;;)控制结构,要退出循环控制结构的方法,可以用()。

A:break语句B:return语句C:continue语句D:exit()语句

答案:break语句;return语句;exit()语句以下正确的声明语句是()。

A:doubled[5]={2.0,4.0,6.0,8.0,10.0};B:charc2[]={'\x10','\xa','\x8'}C:intarr[5]={0,1,3,5,7,9};D:charc[]={'0','2','a','4','5'};

答案:doubled[5]={2.0,4.0,6.0,8.0,10.0};;charc[]={'0','2','a','4','5'};else总是与距离最近的if匹配。()

A:错B:对

答案:错do-while循环的while后的分号不可以省略。()

A:对B:错

答案:对

第六章单元测试

FTTB主要解决的问题是()。

A:重构原问题B:是自底向上把各个小问题逐步综合一个复杂求解结构C:如何完成各个复杂问题相关的简单问题的求解D:将一个复杂问题分解成若干相对简单的小问题

答案:将一个复杂问题分解成若干相对简单的小问题函数嵌套调用与返回的基本特点是()。

A:void函数不用返回B:先调用先返回C:先调用后返回D:后调用后返回

答案:先调用后返回静态变量没有给初值时,其值是()。

A:随机值B:0C:采用上一次使用时的值D:在执行时赋予默认的值

答案:0在以下选项当中,叙述正确的是()。

A:全部三种基本结构都包含的才是结构化程序B:复杂任务可以分解成简单子任务C:C语言程序可以定义多个不同内容的main()函数D:C语言程序中的所有函数必须保存在同一个源文件中

答案:复杂任务可以分解成简单子任务C语言规定,函数调用时,实参和形参之间的数据传递采取的是()。

A:由实参传值给形参,并由形参传回值到实参B:地址传递C:值传递D:由用户指定传递方式

答案:值传递模块化程序设计的基本特征是()。

A:处理过程、技巧和步骤B:实现代码的表示方法C:输入D:输出

答案:处理过程、技巧和步骤;输入;输出变量的可操作属性研究的是()。

A:变量的存储格式B:变量所用的存储空间类别C:变量能参与的运算类型D:变量的取值范围

答案:变量的存储格式;变量能参与的运算类型;变量的取值范围C语言源程序由函数组成,C语言程序设计中用到的函数可分为()。

A:文件函数B:主函数C:库函数D:用户自定义函数

答案:主函数;库函数;用户自定义函数函数的使用要遵守先声明、后定义、再调用的准则。()

A:错B:对

答案:对虚实结合的传值机制一定是单向的。()

A:对B:错

答案:对

第七章单元测试

宏展开的本质是()。

A:用宏体字符串替换源程序中宏定义位置后的所有宏名的出现B:用宏体字符串替换源程序中宏定义位置后的所有宏名变量C:用宏体字符串替换源程序中宏定义位置后的所有宏名常量D:用宏体字符串替换源程序中宏定义位置后的非字符串内的所有宏名的出现

答案:用宏体字符串替换源程序中宏定义位置后的非字符串内的所有宏名的出现关于带参宏,以下说法错误的是()。

A:带参宏功能与带参函数功能是等价的B:带参宏的形参和实参也分别称为形参字符串和实参字符串C:带参宏也称为函数宏D:带参宏替换的本质是字符串替换

答案:带参宏功能与带参函数功能是等价的对如下代码:

#defineSQ(n)n*n

intmain(void){

intm=1,n=3;

printf(“%d\n”,SQ(2*m+n));

return0;

}/*Endofmain*/

那么,程序运行结果为()。

A:11B:语法错误C:9D:25

答案:11宏的作用范围是()。

A:从宏定义位置到整个文件的最后B:可以通过extern扩展到整个文件C:整个文件D:从宏定义位置到#undef之间

答案:从宏定义位置到整个文件的最后;从宏定义位置到#undef之间宏的常见应用场景有()。

A:定义常量B:定义程序代码片段C:定义公共表达式D:定制代码书写习惯

答案:定义常量;定义程序代码片段;定义公共表达式;定制代码书写习惯预处理是将源程序翻译程二进制目标代码前的准备性工作。()

A:错B:对

答案:对宏替换只是简单的字符串替换,一般不应该对其主观上赋予更多其他意义。()

A:对B:错

答案:对宏调用是可以嵌套的。()

A:错B:对

答案:对带参宏的宏名和形参表之间不能有空格分隔符。()

A:对B:错

答案:对一个#include只能包含一个文件。()

A:对B:错

答案:对

第八章单元测试

对如下代码,运行结果是:()

inti,nArr[5]={1,2,3,4,5};

for(i=0;i<=5;i++)

printf(“%d,”,nArr[i]);

A:1,2,3,4,5,B:1,2,3,4,5,随机值,C:1,2,3,4,5,0,D:1,2,3,4,5,6,

答案:1,2,3,4,5,随机值,对有序表{12,23,26,35,55,67,88,90,100},采用折半查找方法查找67,比较的次数是()。

A:3B:5C:6D:4

答案:3对二维数组intnArr[10][10],以下陈述正确的是()。

A:第5行,第6列的元素为nArr[4][5]B:nArr的最大行数和列数都是10C:nArr[i]表示数组第i行的首地址D:第36的元素对应的行下标为3,列下标为6

答案:第5行,第6列的元素为nArr[4][5]对str数组的声明和赋值,以下正确的是()。

A:charstr[10];strcpy(str,“abcdefghijkl”);B:charstr[]={“China!”};C:charstr[10]={“abcdefghijkl”};D:charstr[10];str={“China!”};

答案:charstr[]={“China!”};以下程序段执行后,k的值为()。

intk=3,s[2];

s[0]=k;

k=s[1]*10;

A:10B:不定值C:30D:33

答案:不定值程序运行后的输出结果是()。

#include<stdio.h>

intmain(void){

inti,array[6]={1,5,0,4};

for(i=0;i<5;i++)

printf(“%d,”,array[i]&&4);

printf(“\n”);

return0;

}/*Endofmain()*/

A:0,4,0,4,0B:1,5,5,4,0,C:1,5,0,4,0,D:1,1,0,1,0,

答案:1,1,0,1,0,

以下能正确声明二维数组的选项是(

)。

A:intN=100,M=50;intnum[N][M];B:intnum[100][];C:intnum[0,100];D:#defineN100#defineM50intnum[N][M];

答案:#defineN100#defineM50intnum[N][M];在二维数组整体作为函数参数使用时,以下合法的调用是()。

A:s=sumArray(arr[][0],m,n);B:s=sumArray(arr,m,n);C:s=sumArray(arr[0],m,n);D:s=sumArray(arr[0][0],m,n);

答案:s=sumArray(arr,m,n);;s=sumArray(arr[0],m,n);数组存储空间一定是连续的。()

A:对B:错

答案:对二维数组的行引用就是,将二维数组按行引用。()

A:对B:错

答案:对

第九章单元测试

关于指针,以下说法正确的是:()。

A:程序实体地址中存储的编码值B:存储类型为地址的程序实体之首字节地址编码C:程序实体存储空间中第一个字节的地址编码D:程序实体存储空间中最大的字节地址编码

答案:程序实体存储空间中第一个字节的地址编码在指针运用中,同一地址值,可以指向不同数据类型对象的根本原因是()。

A:地址值引用的上下文不同B:地址值所指对象类型不同C:地址值的基类型不同D:地址值所指对象的地址值不同

答案:地址值的基类型不同二维数组的二级地址引用特征的本质是指()。

A:指向指针的指针地址B:二级基类型地址C:二级指针D:行地址和列地址

答案:行地址和列地址对以下代码段,假设ptr1和ptr2均已指向变量k,下面不能正确执行的赋值语句是()。

...intk=2;

int*ptr1,*ptr2;

...

A:k=*ptr1*(*ptr2)B:k=*ptr1+*ptr2C:ptr2=kD:ptr1=ptr2

答案:ptr2=k对声明char*s=“Programming”;,以下叙述中错误的是()。

A:*s中存放了字符'P'B:s[0]中存放了字符'P'C:s中存放了一个字符串D:变量s中存放了字符'P'的地址

答案:变量s中存放了字符'P'的地址以下程序执行时,如果输入字符串"ABC",则输出结果为(

)。#include

<stdio.h>#include

<string.h>int

main(void){chars[10]="12345";gets(s);strcat(s,"6789");printf("%s\n",s);return0;}/*Endofmain()*/

A:ABC456789B:ABC6C:123456ABCD:ABC6789

答案:ABC6789对一维数组元素的基本引用方式有()。

A:数组名引用法B:下标法C:指针变量引用法D:多个简单变量法

答案:数组名引用法;下标法;指针变量引用法对intarr[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};,访问元素arr[1][2]的有效访问是()。

A:*arr[1]+2B:*(arr[1]+2)C:*(&arr[0][0]+1*4+2)D:*(arr+1)+2

答案:*(arr[1]+2);*(&arr[0][0]+1*4+2)C语言中,有关指针的两个基本操作即:&和*。()

A:对B:错

答案:对对charstr[20]=“Thisisacountry”;,其声明初始化机制是字符串复制。()

A:错B:对

答案:对

第十章单元测试

假设有:structdate{intmonth,day,year;};,对以下结构体变量的赋值,正确的是(

)。

A:structperson{longlPersonNo;charcName[20];charcSex;structdatebirthday;}

studPerson;studPerson={1001,"ZhangLi",'F',12,15,1974};B:structperson{longlPersonNo;charcName[20];charcSex;structdatebirthday;}

studPerson={1001,"ZhangLi",'F',{1974,12,15}};

C:structperson{longlPersonNo;charcName[20];charcSex;structdatebirthday;}

studPerson;studPerson={1001,"ZhangLi",'F',{12,15,1974}};D:structperson{longlPersonNo;charcName[20];charcSex;structdatebirthday;}

studPerson={1001,"ZhangLi",'F',{12,15,1974}};

答案:structperson{longlPersonNo;charcName[20];charcSex;structdatebirthday;}

studPerson={1001,"ZhangLi",'F',{12,15,1974}};

对以下结构体数据类型的定义,以下叙述正确的是()。

typedefstruct{

charcName[20];

longlNum;

floatfScore;

}STUD_TYPE;

A:因为没有结构体数据类型名,类型定义是错误的B:定义了一个结构体数据类型STUD_TYPEC:声明了一个结构体变量STUD_TYPED:定义了一个结构体数据类型标识符structSTUD_TYPE

答案:定义了一个结构体数据类型STUD_TYPE对枚举类型定义enumcolor{red=1,yellow,white=5,black,blue};,对yellow的叙述中,正确的是()。

A:yellow就是字符串"yellow"B:yellow不是整数,也不是字符串,它是符号名C:yellow==3D:yellow==2

答案:yellow==2用共用体结构描述数据对象时,其特点是,在任何给定时刻()。

A:所有成员在内存中有效B:只有一个成员在内存中有效C:部分成员在内存中有效D:所占空间最大的那个成员有效

答案:只有一个成员在内存中有效对以下结构体数据类型信息结构,成员变量fScore处于结构体存储空间的第()个字节。

typedefstructstudent{

intnStNo;

charcName[20];

charcSex;

intnAge;

floatfScore;

charcAddr[30];

}STUD_TYPE;

A:24B:26C:25D:27

答案:26对以下结构体数据类型定义,定义的结构体数据类型标识符是()。

struct结构体数据类型名{

类型标识符成员变量名;

类型标识符成员变量名;

}stru;

A:类型标识符B:struct结构体数据类型名C:struD:结构体数据类型名

答案:struct结构体数据类型名自定义数据类型所包含的类型有()。

A:TypedefB:unionC:enumD:struct

答案:Typedef;union;enum;struct对以下结构体及其指针变量,引用成员no的有效方法有()。

structproduct_infostru_pen,*penPtr;

penPtr=&stru_pen;

A:penPtr.noB:stru_pen.noC:(&stru_pen.no)->noD:(*penPtr).no

答案:stru_pen.no;(&stru_pen.no)->no;(*penPtr).no结构体数组元素的存储空间一定是连续的。()

A:错B:对

答案:对结构体类型定义是可以嵌套的。()

A:对B:错

答案:对

第十一章单元测试

下列程序的输出结果是()。

#include<stdio.h>

intmain(void){

singedchara=18,b=34;

a<<1;

b=a^b;

printf("a=%o,b=%o\n",a,b);

return0;

}/*Endofmain()*/

A:a=9,b=6B:a=22,b=60C:a=36,b=6D:a=36,b=4

答案:a=22,b=60下列程序的输出结果是()。

#include<stdio.h>

intmain(void){

singedchara=18,b=34;

a>>=2;

b=a^b;

printf("a=%o,b=%o\n",a,b);

return0;

}/*Endofmain()*/

A:a=4,b=06B:a=4,b=8C:a=11,b=53D:a=4,b=46

答案:a=4,b=46以下运算符不属于位运算的是()。

A:<<B:&C:||D:~

答案:||假设intn=100;,则表达式n^=100的值为()。

A:100B:200C:0D:100100

答案:0设int

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论