第一章单元测试
1、第一台通用电子计算机是()。
A:ENIAC电子数字积分计算器
B:PASCAL加法器
C:ABC计算机
D:ADVAC计算机
正确答案:【ENIAC电子数字积分计算器】
2、TC3.0集成开发环境中,C语言源程序文件的扩展名是()。
A:.C
B:.CPP
C:.DAT
D:.TXT
正确答案:【.CPP】
3、以下选项中可用作C语言合法用户标识符的是()。
A:2a
B:void
C:-abc
D:_123
正确答案:【_123】
4、以下选项中叙述正确的为()。
A:C语言的标识符可分为关键字、预定义标识符和用户标识符三类
B:C语言的标识符可分为语句、变量和关键字三类
C:C语言的标识符可分为函数名、变量和预定义标识符三类
D:C语言的标识符可分为运算符、用户标识符和关键字三类
正确答案:【C语言的标识符可分为关键字、预定义标识符和用户标识符三类】
5、C语言可执行程序的开始执行点是()。
A:程序中第一条可执行语句
B:程序中第一个函数
C:程序中的main函数
D:包含文件的第一个函数
正确答案:【程序中的main函数】
6、C语言程序代码的特点是()。
A:书写自由
B:表达方式灵活
C:执行效率高
D:可被机器直接执行
正确答案:【书写自由
表达方式灵活
执行效率高】
7、要使得一个源程序完成计算任务,必须结果如下过程和步骤:()。
A:编辑
B:编译
C:链接
D:执行
正确答案:【编辑
编译
链接
执行】
8、TC2.0集成环境中,查看程序运行结果的方法有()。
A:<ALT+F5>
B:
<ALT+R><U>
C:
<ALT+R><ENTER>
D:<CTRL+R>
正确答案:【<ALT+F5>
<ALT+R><U>
】
9、C语言不作运行时错误检查。()
A:对
B:错
正确答案:【对】
10、程序阅读时,每一程序语句的执行前的状态、执行过程和执行结果都要弄清楚才行。()
A:对
B:错
正确答案:【对】
第二章单元测试
1、对数据类型之间的转换,要遵守的总体法则是()。
A:以取值范围为准,进行扩展或截断
B:以字节数为准,进行扩展或截断
C:以内部存储格式为准,进行扩展或截断
D:以外部表示格式为准,进行扩展或截断
正确答案:【以内部存储格式为准,进行扩展或截断】
2、在单字节存储空间中,235的补码为()。
A:-20
B:-21
C:235
D:不能确定
正确答案:【-21】
3、在表达式运算中,下述表述错误的是()。
A:数据类型先对齐,再进行运算符的运算
B:数据类型向高格式看齐
C:数据类型向目标实体看齐
D:数据类型向优先级高的运算符看齐
正确答案:【数据类型向优先级高的运算符看齐】
4、以下选项中合法的字符常量是()。
A:“B”
B:’\010′
C:68
D:D
正确答案:【‘\010’】
5、假设nX=0,nY=0,nZ=0,执行nX++&&++nY||++nZ&&(nY&&++nY)后,nX,nY,nZ的值分别是()。
A:1,0,1
B:1,1,0
C:1,1,1
D:1,1,2
正确答案:【1,0,1】
6、以下程序代码的执行结果是()。
#include<stdio.h>
intmain(void){
intx=010,y=10;
printf(“%d,%d\n”,++x,y–);
retrun0;
}/Endofmain()/
A:10,9
B:11,10
C:010,9
D:9,10
正确答案:【9,10】
7、能够表示字符串结束符值的有效方法是()。
A:0
B:’\0′
C:NULL
D:””
正确答案:【0
‘\0’
NULL】
8、关于问号表达式:<条件表达式>?<表达式1>:<表达式2>,以下陈述正确的是()。
A:其运算符优先级与赋值运算符相同
B:其运算符的结合方向是自右至左的
C:其运算结果是<表达式1>和<表达式2>中的数据类型较低的类型
D:其运算结果是<表达式1>和<表达式2>中的数据类型较高的类型
正确答案:【其运算符的结合方向是自右至左的
其运算结果是<表达式1>和<表达式2>中的数据类型较高的类型】
9、浮点数在计算机内部是近似表示的。()
A:对
B:错
正确答案:【对】
10、i++和++i都是将i的值加1,故两者功能是等价的。()
A:对
B:错
正确答案:【错】
第三章单元测试
1、逗号表达式k=(i=1,j=1,++i,–j)的值是()。
A:k的值
B:i=1的值
C:–j的值
D:不能确定
正确答案:【–j的值】
2、对inti,j;scanf(“%d%d”,&i,&j);,输入:1225后,以下说法正确的是()。
A:编译时会出现语法警告
B:编译时会出现语法错误
C:i和j的值分别为12和25
D:i和j的值无法预测
正确答案:【i和j的值分别为12和25】
3、对以下程序代码,其输出结果是()。
#include<stdio.h>
intmain(void){
intx=072;
printf(“%d\n”,x+1);
return0;
}/Endofmain()/
A:72
B:73
C:115
D:59
正确答案:【59】
4、对以下程序代码,输出的结果是()。
#include<stdio.h>
intmain(void){
intx=0x10;
printf(“%c\n”,’A’+x);
return0;
}/Endofmain()/
A:K
B:P
C:Q
D:I
正确答案:【Q】
5、以下程序的运行结果是()。
#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,10
B:9,11,8,10
C:9,11,9,10
D:9,10,9,11
正确答案:【9,11,9,10】
6、C语言中的控制型语句是()。
A:if、switch
B:while、for、dowhile
C:loop
D:break、continue、goto、return
正确答案:【if、switch
while、for、dowhile
break、continue、goto、return】
7、scanf()的输入格式控制串中,可以作为格式分隔符的有()。
A:’\n’
B:空格字符
C:除格式符外的所有字符符号
D:’=’
正确答案:【‘\n’
空格字符
除格式符外的所有字符符号
‘=’】
8、空语句即独立的一个分号语句。()
A:对
B:错
正确答案:【对】
9、单精度浮点数的默认格式化输出精度为6位,双精度则为12位。()
A:对
B:错
正确答案:【错】
10、scanf()格式控制串中的默认分隔符为’\n’。()
A:对
B:错
正确答案:【错】
第四章单元测试
1、引入N-S图的原因是()。
A:传统流程图无法表示结构化流程
B:传统流程图绘制起来太自由,流程线不好画
C:传统流程图无法表达一些特殊的控制结构
D:传统流程图的绘制思想太传统,符号太多
正确答案:【传统流程图绘制起来太自由,流程线不好画】
2、算法的伪代码表示的主要优点是()。
A:逻辑关系的呈现比流程图直观
B:使用了人们习惯的自然语言方式表达
C:可以直接当作源程序代码使用
D:表达、修改和实现起来方便
正确答案:【表达、修改和实现起来方便】
3、在传统流程图中,用来表示输入输出的图形符号是()。
A:椭圆形
B:长方形
C:菱形
D:平行四边形
正确答案:【平行四边形】
4、一个算法应具有”确定性”等5个特征,下面对另外4个特征的描述中错误的是()。
A:有零个或多个输入
B:有零个或多个输出
C:有穷性
D:可行性
正确答案:【有零个或多个输出】
5、下列叙述中正确的是()。
A:所谓算法就是计算方法
B:程序可以作为算法的一种描述方法
C:算法设计只需考虑得到计算结果
D:算法设计可以忽略算法的运算时间
正确答案:【程序可以作为算法的一种描述方法】
6、描述算法过程的基本控制结构是()。
A:顺序
B:选择
C:循环
D:递归
正确答案:【顺序
选择
循环】
7、算法的基本特征包含()。
A:有穷性
B:确定性
C:可行性
D:输入输出
正确答案:【有穷性
确定性
可行性
输入输出】
8、N-S流程图也称()。
A:盒图
B:框图
C:PAD图
D:无流程线图
正确答案:【盒图
框图
无流程线图】
9、算法要求在执行若干步骤后必须停止或结束。()
A:对
B:错
正确答案:【对】
10、算法的伪代码表示法也称为混合表示法。()
A:对
B:错
正确答案:【对】
第五章单元测试
1、在模块化程序中,每个程序模块()。
A:每个模块可以有多个入口,但只能有一个出口
B:每个模块可以有多个入口,也可以有多个出口
C:每个模块只能有一个入口和一个出口
D:每个模块只能有一个入口,但可以有多个出口
正确答案:【每个模块只能有一个入口和一个出口】
2、对if语句的基本形式:if(表达式)语句,其中“表达式”()。
A:必须是逻辑表达式
B:必须是关系表达式
C:必须是逻辑表达式或关系表达式
D:可以是任意合法的表达式
正确答案:【可以是任意合法的表达式】
3、关于break控制语句的功能,下面错误的叙述是()。
A:跳出同时控制结构
B:跳出dowhile控制结构
C:跳出for控制结构
D:跳出ifgoto构成的循环控制结构
正确答案:【跳出ifgoto构成的循环控制结构】
4、以下程序段中,循环次数不超过10的是()。
A:inti=10;do{i=i+1;}while(i<0);
B:inti=5;do{i+=1;}while(i>0);
C:inti=1;do{i+=2;}while(i!=10);
D:inti=6;do{i-=2;}while(i!=1);
正确答案:【inti=10;do{i=i+1;}while(i<0);】
5、选择结构中的条件与循环结构中循环成立的条件,在写法上可以是任意合法表达式,但其值只能被判断为”真”或”假”。下列选项中哪个值是作为逻辑”假”值()。
A:0
B:-1
C:非零的数
D:1
正确答案:【0】
6、以下程序运行的结果是()。
…
inty=1;
while(y–);
printf(“y=%d\n”,y);
…
A:死循环
B:y=-1
C:y=0
D:y=9
正确答案:【y=-1】
7、对for(;;)控制结构,要退出循环控制结构的方法,可以用()。
A:break语句
B:continue语句
C:exit()语句
D:return语句
正确答案:【break语句
exit()语句
return语句】
8、以下正确的声明语句是()。
A:doubled[5]={2.0,4.0,6.0,8.0,10.0};
B:charc[]={‘0’,’2’,’a’,’4’,’5’};
C:intarr[5]={0,1,3,5,7,9};
D:charc2[]={‘\x10’,’\xa’,’\x8’}
正确答案:【doubled[5]={2.0,4.0,6.0,8.0,10.0};
charc[]={‘0’,’2’,’a’,’4’,’5’};】
9、else总是与距离最近的if匹配。()
A:对
B:错
正确答案:【错】
10、do-while循环的while后的分号不可以省略。()
A:对
B:错
正确答案:【对】
第六章单元测试
1、FTTB主要解决的问题是()。
A:将一个复杂问题分解成若干相对简单的小问题
B:如何完成各个复杂问题相关的简单问题的求解
C:是自底向上把各个小问题逐步综合一个复杂求解结构
D:重构原问题
正确答案:【将一个复杂问题分解成若干相对简单的小问题】
2、函数嵌套调用与返回的基本特点是()。
A:先调用先返回
B:先调用后返回
C:后调用后返回
D:void函数不用返回
正确答案:【先调用后返回】
3、静态变量没有给初值时,其值是()。
A:0
B:随机值
C:采用上一次使用时的值
D:在执行时赋予默认的值
正确答案:【0】
4、在以下选项当中,叙述正确的是()。
A:复杂任务可以分解成简单子任务
B:C语言程序中的所有函数必须保存在同一个源文件中
C:全部三种基本结构都包含的才是结构化程序
D:C语言程序可以定义多个不同内容的main()函数
正确答案:【复杂任务可以分解成简单子任务】
5、C语言规定,函数调用时,实参和形参之间的数据传递采取的是()。
A:地址传递
B:值传递
C:由实参传值给形参,并由形参传回值到实参
D:由用户指定传递方式
正确答案:【值传递】
6、模块化程序设计的基本特征是()。
A:输入
B:输出
C:处理过程、技巧和步骤
D:实现代码的表示方法
正确答案:【输入
输出
处理过程、技巧和步骤】
7、变量的可操作属性研究的是()。
A:变量的存储格式
B:变量的取值范围
C:变量所用的存储空间类别
D:变量能参与的运算类型
正确答案:【变量的存储格式
变量的取值范围
变量能参与的运算类型】
8、C语言源程序由函数组成,C语言程序设计中用到的函数可分为()。
A:主函数
B:库函数
C:用户自定义函数
D:文件函数
正确答案:【主函数
库函数
用户自定义函数】
9、函数的使用要遵守先声明、后定义、再调用的准则。()
A:对
B:错
正确答案:【对】
10、虚实结合的传值机制一定是单向的。()
A:对
B:错
正确答案:【对】
第七章单元测试
1、宏展开的本质是()。
A:用宏体字符串替换源程序中宏定义位置后的所有宏名常量
B:用宏体字符串替换源程序中宏定义位置后的所有宏名的出现
C:用宏体字符串替换源程序中宏定义位置后的非字符串内的所有宏名的出现
D:用宏体字符串替换源程序中宏定义位置后的所有宏名变量
正确答案:【用宏体字符串替换源程序中宏定义位置后的非字符串内的所有宏名的出现】
2、关于带参宏,以下说法错误的是()。
A:带参宏替换的本质是字符串替换
B:带参宏功能与带参函数功能是等价的
C:带参宏也称为函数宏
D:带参宏的形参和实参也分别称为形参字符串和实参字符串
正确答案:【带参宏功能与带参函数功能是等价的】
3、对如下代码:
#defineSQ(n)nn
intmain(void){
intm=1,n=3;
printf(“%d\n”,SQ(2m+n));
return0;
}/Endofmain/
那么,程序运行结果为()。
A:语法错误
B:11
C:25
D:9
正确答案:【11】
4、宏的作用范围是()。
A:从宏定义位置到整个文件的最后
B:整个文件
C:从宏定义位置到#undef之间
D:可以通过extern扩展到整个文件
正确答案:【从宏定义位置到整个文件的最后
从宏定义位置到#undef之间】
5、宏的常见应用场景有()。
A:定义常量
B:定义公共表达式
C:定制代码书写习惯
D:定义程序代码片段
正确答案:【定义常量
定义公共表达式
定制代码书写习惯
定义程序代码片段】
6、预处理是将源程序翻译程二进制目标代码前的准备性工作。()
A:对
B:错
正确答案:【对】
7、宏替换只是简单的字符串替换,一般不应该对其主观上赋予更多其他意义。()
A:对
B:错
正确答案:【对】
8、宏调用是可以嵌套的。()
A:对
B:错
正确答案:【对】
9、带参宏的宏名和形参表之间不能有空格分隔符。()
A:对
B:错
正确答案:【对】
10、一个#include只能包含一个文件。()
A:对
B:错
正确答案:【对】
第八章单元测试
1、对如下代码,运行结果是:()
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,6,
C:1,2,3,4,5,0,
D:1,2,3,4,5,随机值,
正确答案:【1,2,3,4,5,随机值,】
2、对有序表{12,23,26,35,55,67,88,90,100},采用折半查找方法查找67,比较的次数是()。
A:6
B:5
C:4
D:3
正确答案:【3】
3、对二维数组intnArr[10][10],以下陈述正确的是()。
A:第5行,第6列的元素为nArr[4][5]
B:nArr的最大行数和列数都是10
C:nArr[i]表示数组第i行的首地址
D:第36的元素对应的行下标为3,列下标为6
正确答案:【第5行,第6列的元素为nArr[4][5]】
4、对str数组的声明和赋值,以下正确的是()。
A:charstr[10];str={“China!”};
B:charstr[]={“China!”};
C:charstr[10];strcpy(str,“abcdefghijkl”);
D:charstr[10]={“abcdefghijkl”};
正确答案:【charstr[]={“China!”};】
5、以下程序段执行后,k的值为()。
intk=3,s[2];
s[0]=k;
k=s[1]*10;
A:不定值
B:33
C:30
D:10
正确答案:【不定值】
6、程序运行后的输出结果是()。
#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:1,1,0,1,0,
B:1,5,0,4,0,
C:1,5,5,4,0,
D:0,4,0,4,0
正确答案:【1,1,0,1,0,】
7、以下能正确声明二维数组的选项是()。
A:intnum[100][];
B:#defineN100
#defineM50
intnum[N][M];
C:intnum[0,100];
D:intN=100,M=50;
intnum[N][M];
正确答案:【#defineN100
#defineM50
intnum[N][M];
】
8、在二维数组整体作为函数参数使用时,以下合法的调用是()。
A:s=sumArray(arr[0][0],m,n);
B:s=sumArray(arr,m,n);
C:s=sumArray(arr[0],m,n);
D:s=sumArray(arr[][0],m,n);
正确答案:【s=sumArray(arr,m,n);
s=sumArray(arr[0],m,n);】
9、数组存储空间一定是连续的。()
A:对
B:错
正确答案:【对】
10、二维数组的行引用就是,将二维数组按行引用。()
A:对
B:错
正确答案:【对】
第九章单元测试
1、关于指针,以下说法正确的是:()。
A:程序实体存储空间中第一个字节的地址编码
B:程序实体存储空间中最大的字节地址编码
C:程序实体地址中存储的编码值
D:存储类型为地址的程序实体之首字节地址编码
正确答案:【程序实体存储空间中第一个字节的地址编码】
2、在指针运用中,同一地址值,可以指向不同数据类型对象的根本原因是()。
A:地址值引用的上下文不同
B:地址值所指对象类型不同
C:地址值的基类型不同
D:地址值所指对象的地址值不同
正确答案:【地址值的基类型不同】
3、二维数组的二级地址引用特征的本质是指()。
A:二级指针
B:行地址和列地址
C:指向指针的指针地址
D:二级基类型地址
正确答案:【行地址和列地址】
如有任何疑问请及时联系QQ 50895809反馈