版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言程序设计知到智慧树章节测试课后答案2024年秋海南科技职业大学第一章单元测试
C语言是一种(
)。
A:汇编语言B:低级语言C:高级语言D:机器语言
答案:高级语言C语言程序总是从(
)。
A:主函数B:源代码的第一条可执行语句C:源代码的第一行D:源代码的第一个函数
答案:主函数C语言程序是由(
)构成。
A:一个主函数和若干函数B:若干过程C:若干子程序D:若干对象
答案:一个主函数和若干函数在C语言程序中,主函数的位置(
)。
A:一定放在所有代码最前面B:可以放在代码的任何位置C:一定放在所有代码中间D:一定放在所有代码最后
答案:可以放在代码的任何位置以下叙述正确的是(
)。
A:C语言程序不区分大小写B:C语言程序每个语句结束都要写分号C:C语言程序每行结束都要写分号D:C语言程序一行只能写一条语句
答案:C语言程序每个语句结束都要写分号要把高级语言编写的源程序转换为目标程序,需要使用(
)。
A:
编译程序B:
编辑程序C:
驱动程序D:
诊断程序
答案:
编译程序
若有说明语句:inta,b,c,*d=&c;,则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是(
)。
A:scanf("%d%d%d",&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);
答案:scanf("%d%d%d",&a,&b,&c);以下选项中合法的用户标识符是(
)。
A:datB:_2TestC:long
D:3Dmax
答案:_2Test下列说法中正确的是(
)。
A:
C程序书写时,不区分大小写字母B:
C程序书写时,一个语句可分成几行书写C:
C程序书写时,一行只能写一个语句D:
C程序书写时每行必须有行号
答案:
C程序书写时,一个语句可分成几行书写英文小写字母d的ASCII码为100,英文大写字母D的ASCII码为(
)。
A:66
B:50C:52D:68
答案:68
第二章单元测试
C语言中的注释(
)。
A:运行B:其他情况C:不运行D:有的运行有的不运行
答案:不运行设变量定义为“inta,b;”,执行下列语句时,输入(
),则a和b的值都是10。scanf("a=%d,b=%d",&a,&b);
A:a=10,b=10B:10,10C:a=10
b=10
D:10
10
答案:a=10,b=10(
)是不正确的字符常量。
A:’1’B:’’C:’n’
D:”a”
答案:”a”
若变量已正确定义并赋值,表达式(
)错误。
A:3.14%2B:2,b
C:a/b/cD:a*b/c
答案:3.14%2(
)是合法的用户自定义标示符。
A:floatB:b-bC:<fr>
D:_isw
答案:_isw
(
)是C语言提供的合法的数据类型关键字。
A:signedB:CharC:Float
D:integer
答案:integer在C语言中,要求参加运算的数必须时整数的运算符是(
)。
A:=B:/C:%
D:*
答案:%
与代数式(x*y)/(u*v)不等价的C语言表达式是(
)。
A:x/(u*v)*y
B:x*y/(u*v)
C:x*y/u*vD:x*y/u/v
答案:x*y/u*v对于charcx='9';语句,正确的是(
)。
A:cx的值为三个字符
B:cx的ASCII值是33C:不合法
D:cx的值为四个字符
答案:不合法
若intk=7,x=12;则能使值为3的表达式是(
)。
A:x%=(k-k%5)
B:x%=(k%=5)
C:x%=k-k%5
D:(x%=k)-(k%=5)
答案:(x%=k)-(k%=5)
第三章单元测试
若变量已正确定义,表达式(
)的值不是2。
A:a=2
B:5%3
C:1<1+1D:7/3
答案:1<1+1在C程序中,用(
)表示逻辑值“真”。
A:非1的数
B:非0的数C:0D:大于1的数
答案:非0的数下面程序的正确输出结果是(
)。main(){
int
a=2,b=-1,c=2;
if(a<b)
if(b<0)
c=1;
else
c++;
printf(“%d”,c);}
A:3B:2
C:1D:0
答案:2
下面程序的正确输出结果是(
)。main(){
int
a=1,b=3,c=5,d=4,x;
if(a<b)
if(c<d)
x=1;
else
if(a<c)
if(b<d)
x=2;
else
x=3;
else
x=6;
else
x=7;
printf(“%d”,x);}
A:3
B:6C:2D:0
答案:2下面程序的正确输出结果是(
)。main(){
int
x=1,y=0,a=0,b=0;
switch(x){
case
1:switch(y)
{
case
0:a++;break;
case
1:b++;break;}
case
2:a++;b++;break;
case
3:a++;b++;
}
printf(“%d
%d\n”,a,b);}
A:2
2B:1
0C:1
1D:2
1
答案:2
1
能正确表示"当x的值在[1,10]和[200,210]范围内为真,否则为假"的是(
)。
A:(x>=1)||(x<=10)&&(x>=200)||(x<=210)B:(x>=1)&&(x<=10)&&(x>=200)||(x<=210)
C:(x>=1)||(x<=10)||(x>=200)||(x<=210)D:(x>=1)&&(x<=10)||(x>=200)&&(x<=210)
答案:(x>=1)&&(x<=10)||(x>=200)&&(x<=210)判断char型变量ch是否为大写字母的正确表达式是(
)。
A:
(ch>='A')&(ch<='Z')B:
('A'<=ch)AND('Z'>=ch)C:
'A'<=ch<='Z'
D:
(ch>='A')&&(ch<='Z')
答案:
(ch>='A')&&(ch<='Z')请阅读以下程序:main(){inta=5,b=0,c=0;if(a=b+c)printf("***");elseprintf("$$$");}以上程序(
)。
A:有语法错误不能通过编译B:可以通过编译但不能通过连接C:输出$$$D:输出***
答案:输出$$$阅读以下程序,程序运行后,如果从键盘上输人5,则输出结果是(
)。main(){intx;scanf("%d",&x);if(x--<5)printf("%d",x);elseprintf("%d",x++);}
A:5B:4C:6D:3
答案:4若执行以下程序时从键盘上输入9,则输出结果是(
)
A:9B:11
C:8D:10
答案:10
第四章单元测试
下列for循环语句书写格式中,错误的是(
)
A:i=9;for(;i>=1;){i--;}B:for(i=9;i>1;i--);{......}
C:i=9;for(;i<20;i++)
{......}D:for(i=9;i<20;i++){......}
答案:for(i=9;i>1;i--);{......}
程序执行后输出的结果是:voidmain(){
inti;
for(i=1;i<20;i=i+2)
printf("%d",i);}
A:1234567891011121314151617181920B:135791113151719C:12345678910111213141516171819D:246891012141618
答案:135791113151719求0+5+10+15+...+55的结果,下列循环语句中条件设置正确的是(
)
A:inta,s=0;for(a=0;a<55;a=a+5){s=s+a;}B:inta,s=1;for(a=0;a<=55;a++){s=s+a;}C:inta=0,s=0;do{s=s+a;a=a+5;}while(a<=55);D:inta=1,s=0;while(a<55){s=s+a;a++;}
答案:inta=0,s=0;do{s=s+a;a=a+5;}while(a<=55);关于循环嵌套的描述,错误的是(
)
A:循环次数=外层循环次数*内层循环次数B:内层循环每走一步,外层循环走一圈C:外层循环每走一步,内层循环走一圈D:走得慢的循环放在外层,走得快的放内层
答案:内层循环每走一步,外层循环走一圈关于break语句和continue语句的使用结果,正确的是(
)
A:inta=1;for(;a<10;a++){if(a%3==0)continue;printf("%d",a);}执行结果是124578B:inta=1;for(;a<10;a++){if(a%3==0)break;printf("%d",a);}执行结果是123C:inta=1;while(a<10){while(a>6){continue;}printf("%d",a);a++;}执行结果是123456789D:inta=1;while(a<10){while(a>6){break;}printf("%d",a);a++;}执行结果是123456
答案:inta=1;for(;a<10;a++){if(a%3==0)continue;printf("%d",a);}执行结果是124578以下程序的输出结果是(
)main(){intx=10,y=10,i;for(i=0;x>8;y=++i)printf("%d,%d",x--,y);}
A:10,109,1B:9,87,6C:10,19,2D:10,99,0
答案:10,109,1以下程序的输出结果是(
)main(){intn=4;while(n--)printf("%d",--n);}
A:31B:20
C:321
D:210
答案:20
以下程序的输出结果是(
)main(){inti;for(i=1;i<6;i++){if(i%2){printf("#");continue;}printf("*");}}
A:;##B:*#*#*C:#*#*#D:*****
答案:#*#*#以下循环体的执行次数是(
)main(){inti,j;for(i=0,j=1;i<=j+1;i+=2,j--)printf("%d",i);}
A:3B:0C:2D:1
答案:1以下程序段的执行结果是(
)inta,y;a=10;y=0;do{a+=2;y+=a;printf("a=%dy=%d",a,y);if(y>20)break;}while(a=14);
A:a=12y=12a=14y=26
B:a=12y=12a=14y=16
a=16y=20C:a=12y=12
a=16y=28a=18y=24D:a=12y=12a=14y=44
答案:a=12y=12
a=16y=28a=18y=24
第五章单元测试
C语言引用数组元素时,其数组下标的数据类型允许是(
)。
A:任何类型的表达式B:整型表达式C:整型常量D:整型常量或整型表达式
答案:整型常量或整型表达式下面正确的定义语句是(
)。
A:floatx[3][2]={{1},{2},{3}}B:inta[3]={1,2,3,4,5};C:doubley[][3]=0;D:longb[2][3]={{1},{1,2},{1,2,3}}
答案:floatx[3][2]={{1},{2},{3}}int
a[10];则对a数组元素的正确引用是(
)。
A:a(5)B:a[10-10]C:a[10]D:a[3.5]
答案:a[10-10]下面的程序有错误,发生在(
)。
main(){
float
a[3]={3*0};
inti;
for(i=0;i<3;i++)
scanf(“%d”,&a[i]);
for(i=1;i<3;i++)
a[0]=a[0]+a[i];
printf(“%d”,a[0]);}
A:第七行B:没有错误C:第五行D:第三行
答案:第三行若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为(
)。
A:j*m+iB:i*m+jC:i*m+j-1D:i*m+j+1
答案:i*m+j+1int
a[4]={5,3,8,9};其中a[3]的值为(
)。
A:3
B:9
C:5
D:8
答案:9
以下4个字符串函数中,(
)所在的头文件与其他3个不同。
A:gets
B:strcpy
C:strcmp
D:strlen
答案:gets
对字符数组进行初始化,(
)形式是错误。
A:charc1[]={'1','2','3'};
B:charc3[]={'1','2','3',''};C:charc4[]="123";
D:charc2[]=123;
答案:charc2[]=123;
若有以下说明,则数值为4的表达式是(
)。inta[12]={1,2,3,4,5,6,7,8,9,10,11,12};charc=’a’,d,g;
A:a['d'-c]
B:a['d'-'c']
C:a[4]
D:a[g-c]
答案:a['d'-c]
下列定义的字符数组中,输出printf("%s",str[2]);的输出是(
)。staticstr[3][20]={"basic","foxpro","windows"};
A:foxpro
B:basic
C:windows
D:输出语句出错
答案:windows
第六章单元测试
下列程序的输出结果是(
)。fun(inta,intb,intc)
{
c=a*b;
}voidmain()
{
intc;
fun(2,3,c);
printf(”%d”,c);
}
A:0B:无法确定C:6
D:1
答案:无法确定C语言中,函数返回值的类型是由(
)。
A:调用该函数是系统决定B:return语句中的表达式类型所决定C:在定义该函数时所指定的函数类型所决定D:调用该函数时的主调函数类型所决定
答案:在定义该函数时所指定的函数类型所决定以下不正确的说法是(
)。
A:实参和形参的个数要一致B:实参可以是常量、变量或表达式C:形参可以是常量、变量或表达式D:如果形参和实参的类型不一致,以形参类型为准
答案:形参可以是常量、变量或表达式以下正确的说法是(
)。
A:函数的定义和调用都可以嵌套B:函数的定义不可以嵌套,函数的调用可以嵌套C:函数的定义可以嵌套,函数的调用不可以嵌套D:函数的定义和调用都不可以嵌套
答案:函数的定义不可以嵌套,函数的调用可以嵌套以下正确的函数定义是(
)。
A:doublefun(intx,y){intz;returnz;}B:doublefun(intx,inty){z=x+y;returnz;}C:fun(x,y){intx,y;doublez;z=x+y;returnz;}D:doublefun(intx,inty){doublez;returnz;}
答案:doublefun(intx,inty){doublez;returnz;}
以下关于函数的叙述中不正确的是(
)。
A:在C语言程序中,被调用的函数必须在main函数中定义
B:C程序是函数的集合,包括标准库函数和用户自定义函数
C:在C语言程序中,函数的调用可以嵌套
D:在C语言程序中,函数的定义不能嵌套
答案:在C语言程序中,被调用的函数必须在main函数中定义
在一个C程序中,(
)。
A:main函数可以在任何地方出现
B:main函数必须出现在所有函数之后C:main函数必须出现在固定位置
D:main函数必须出现在所有函数之前
答案:main函数可以在任何地方出现
若在C语言中未说明函数的类型,则系统默认该函数的数据类型是(
)。
A:int
B:floatC:double
D:long
答案:int
C程序中各函数之间可以通过多种方式传递数据,下列不能用于实现数据传递的方式是(
)。
A:同名的局部变量
B:函数返回值
C:参数的形实结合
D:全局变量
答案:同名的局部变量
定义一个void型函数意味着调用该函数时,函数(
)。
A:返回一个系统默认值
B:返回一个不确定的值
C:通过return返回一个用户所希望的函数值
D:没有返回值
答案:没有返回值
第七章单元测试
若需要建立如图所示的存储结构,且已有说明double*p,x=0.2345;则正确的赋值语句是(
)。
A:p=x;
B:*p=x;C:*p=&x;D:p=&x;
答案:p=&x;
若有说明语句:inta,b,c,*d;c=100;d=&c;则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是(
)。
A:scanf("%d,%d,%d",a,b,*d);B:scanf("%d,%d,%d",&a,&b,d);C:scanf("%d,%d,%d",&a,&b,&d);
D:scanf("%d,%d,%d",a,b,d);
答案:scanf("%d,%d,%d",&a,&b,d);下面代码
#include<stdio.h>
voidmain(){
inta=511;
int*b;
b=&a;
printf("%p",b);
}的输出结果为:
A:512B:511C:a的地址D:无确定值
答案:a的地址下面程序段的运行结果是(
)。char*s="abcde";
s+=2;
printf("%d",*s);
A:字符'c'的地址
B:字符'c'C:cdeD:无确定的输出结果
答案:字符'c'下列程序的输出结果是(
)。#include"stdio.h"voidmain(){
inta[]={1,2,3,4,5,6,7,8,9,0},*p;
p=a;
printf("%d",*p);}
A:0B:1C:3D:9
答案:1
若有说明:inta=2,*p=&a,*q=p;,则以下非法的赋值语句是(
)。
A:a=*q;
B:*p=*q;
C:q=a;
D:p=q;
答案:q=a;
变量的指针,其含义是指该变量的(
)。
A:名
B:一个标志
C:值D:地址
答案:地址若有语句int*p,a=10;p=&a;下面均代表地址的一组选项是(
)。
A:*&p,*p,&a
B:a,p,*&a
C:&a,&*p,p
D:&*a,&a,*p
答案:&a,&*p,p
有如下语句:intm=6,n=9,*p,*q;p=&m;q=&n;如图1所示,若要实现下图所示的存储结构,可选用的赋值语句是(
)。
A:*p=*q;
B:
*p=q;C:p=*q;
D:p=q;
答案:p=q;
以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误原因是(
)。
#include<stdio.h>
main(){int*p,*q,a,b;p=&a;printf("inputa:");scanf("%d",*p);…
}
A:*p表示的是指针变量p的地址
B:*p表示的是变量a的值,而不是变量a的地址
C:*p表示的是指针变量p的值
D:*p只能用来说明p是一个指针变量
答案:*p表示的是变量a的值,而不是变量a的地址
第八章单元测试
根据下面的定义,能输出Mary的语句是(
)。structperson
{
charname[9];
intage;
};structpersonclass[5]={"John",17,"Paul",19,"Mary",18,"Adam",16};
A:printf("%s",class[0].name);B:printf("%s",class[1].name);C:printf("%s",class[2].name);D:printf("%s",class[3].name);
答案:printf("%s",class[2].name);定义以下结构体数组
structc{intx;inty;}s[2]={1,3,2,7};语句printf("%d",s[0].x*s[1].x)的输出结果为(
)
A:2
B:14C:21D:6
答案:2
下面程序的运行结果是(
)。struct
KeyWord{
charKey[20];
intID;}kw[]={"void",1,"char",2,"int",3,"float",4,"double",5};main(){
printf("%c,%d",kw[3].Key[0],kw[3].ID);}
A:n,3
B:l,4C:i,3
D:f,4
答案:f,4若有如下声明:uniondata{char*p;
intn;};以下初始化正确的是(
)。
A:uniondataa="Mary";B:uniondataa={10};C:uniondataa=10;
D:uniondataa={"Mary"};
答案:uniondataa={"Mary"};
以下对枚举类型名的定义中正确的是(
)
A:enums{a=9,b=2,c}B:enums={′a′,′b′,′c′}C:enums{′a′,′b′,′c′}D:enums={a,b,c}
答案:enums{a=9,b=2,c}设有以下说明语句structex{
intx;
floaty;
charz;}example;则下面的叙述中不正确的是(
)
A:structex是结构体类型
B:x,y,z都是结构体成员名
C:example是结构体类型名
D:struct是结构体类型的关键字
答案:example是结构体类型名
已知字符0的ASCII码为十六进制的30,下面程序的输出是(
)。main(){union{unsignedcharc;unsignedinti[4];}z;z.i[0]=0x39;z.i[1]=0x36;printf("%c",z.c);}
A:
3B:
6
C:
9D:
0
答案:
3有以下程序:#include<stdio.h>union
pw{
inti;
char
ch[2];
}a;main(){
a.ch[0]=13;
a.ch[1]=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 橡胶鞋行业标准制定与质量监管-洞察分析
- 单位补缴社保承诺书(6篇)
- 舞蹈教育信息化探索-洞察分析
- 虚拟现实渲染技术-洞察分析
- 保险金融行业理赔流程心得
- 儿童家具的个性化定制化设计趋势
- 办公环境中的智能家居安全解决方案
- 从零到一创新型实验室的安全教育培训全流程解析
- 创新驱动的科技教育模式探索
- 2025建筑工程公司集体合同集体合同适用于分公司
- 【MOOC】中级财务会计-北京交通大学 中国大学慕课MOOC答案
- 《园林政策与法规》课件
- 扬尘防治(治理)监理实施细则(范本)
- 读书分享《终身成长》课件
- GB/T 44843-2024在用自动扶梯和自动人行道安全评估规范
- 广东省广州市2023-2024学年六年级上学期语文期末试卷(含答案)
- 宫颈癌护理查房-5
- 律师事务所整体转让协议书范文
- 照明设备课件教学课件
- 2023-2024学年全国初中七年级下地理人教版期中考试试卷(含答案解析)
- 债券入门基础知识单选题100道及答案解析
评论
0/150
提交评论