C语言程序设计(西安工程大学)智慧树知到课后章节答案2023年下西安工程大学_第1页
C语言程序设计(西安工程大学)智慧树知到课后章节答案2023年下西安工程大学_第2页
C语言程序设计(西安工程大学)智慧树知到课后章节答案2023年下西安工程大学_第3页
C语言程序设计(西安工程大学)智慧树知到课后章节答案2023年下西安工程大学_第4页
C语言程序设计(西安工程大学)智慧树知到课后章节答案2023年下西安工程大学_第5页
已阅读5页,还剩37页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

C语言程序设计(西安工程大学)智慧树知到课后章节答案2023年下西安工程大学西安工程大学

第一章测试

C语言程序的基本单位是()

A:语句

B:字符C:函数

D:程序行

答案:函数

C语言规定,在一个源程序中main函数的位置

(

)

A:必须在最后

B:

必须在预处理命令的后面

C:可以在其他函数之前或之后D:必须在最开始

答案:可以在其他函数之前或之后

对于一个正常运行的C程序,以下叙述中正确的是()

A:程序的执行总是从程序的第一个函数开始,在main函数结束B:程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束C:程序的执行总是从main函数开始,在程序的最后一个函数中结束D:程序的执行总是从main函数开始,在main函数结束

答案:程序的执行总是从main函数开始,在main函数结束

以下叙述错误的是(

A:一个C程序只能有一个主函数B:C程序的主函数必须用main作为函数名C:C程序在书写时,有严格的缩进要求,否则不能编译通过D:一个C程序可以包含多个不同名的函数

答案:C程序在书写时,有严格的缩进要求,否则不能编译通过

下列说法正确的是(

A:

C程序的书写格式严格限制,一行内必须写一个语句B:

C程序的书写格式自由,一个语句可以分写在多行上C:一个函数的函数体必须要有执行部分,可以没有变量定义D:一个函数的函数体必须要有变量定义和执行部分

答案:

C程序的书写格式自由,一个语句可以分写在多行上

下列关于注释行的描述中,正确的是(

A:注释只在C语言源程序中有效,在编译时会被编译器忽略B:注释只能对程序中的某一行代码进行解释C:单行注释以“//”开头,“//”后面是注释内容D:单行注释以符号“/*”开头,以符号“*/”结尾

答案:注释只在C语言源程序中有效,在编译时会被编译器忽略;单行注释以“//”开头,“//”后面是注释内容

关于计算机语言的描述,正确的是(

A:汇编语言已将机器语言符号化,所以它与机器无关B:机器语言由0和1组成,执行速度快C:汇编语言比机器语言执行速度快D:机器语言因为是面向机器的低级语言,所以执行速度慢

答案:机器语言由0和1组成,执行速度快

用C语言编写的程序(

A:经过编译或解释才能被执行B:经过编译、连接后被执行C:是一个源程序文件D:可直接被执行

答案:经过编译、连接后被执行

连接程序将一个C程序的所有目标程序和系统的库文件以及系统提供的其他信息连接起来,最终生成一个可执行的二进制文件,它的后缀是(

A:.exe

B:.obj

C:.cpp

D:.lib

答案:.exe

第二章测试

C语言提供的数据类型关键字有()

A:shortB:CharC:DoubleD:integer

答案:short

若有说明和语句:

inta=5;

a++;

此处表达式a++的值是()。

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

答案:5

在C语言中,要求运算数必须是整型的运算符是()。

A:<B:/C:%

D:!

答案:%

以下有4个用户标识符,其中合法的一个是()

A:shortB:4d

C:f2_G3D:for

答案:f2_G3

在C语言中,合法的字符常量是()。

A:""B:'ab'

C:'C'D:'84'

答案:'C'

若已定义x和y为double类型,且x=1,则表达式:y=x+3/2的值是()。

A:2.5B:1C:2.0D:2

答案:2

若有以下定义:

chara;intb;

floatc;doubled;

则表达式a*b+d-c值的类型为()。

A:doubleB:charC:intD:float

答案:double

以下选项中可作为C语言合法整数的是()。

A:x2a2B:0386C:0xffaD:10110B

答案:0xffa

以下选项中可作为C语言合法常量的是()。

A:-8e1.0B:-80C:-80.0eD:e1

答案:-80

表达式3.6-5/2+1.2+5%2的值是()。

A:4.3B:3.3C:4.8

D:3.8

答案:3.8

第三章测试

阅读下面的程序#include<stdio.h>voidmain(){inti,j;scanf("%3d%2d",&i,&j);printf("i=%d,j=%d",i,j);}如果从键盘上输入1234567<回车>,则程序的运行结果是(

A:i=123,j=45B:i=1234,j=567

C:i=1,j=2D:i=123,j=4567

答案:i=123,j=45

以下可以实现“输入一个字符到变量ch"的语句是(

)

A:scanf(”%c”,ch)

B:ch=getchar();

C:getchar(”%c”,&ch)

D:getchar(ch);

答案:ch=getchar();

有如下程序

#include<stdio.h>

voidmain()

{

floatx=5.0,y;

if(x<0.0)y=0.0;

elseif(x<10.0)y=1.0/x;

elsey=1.0;

printf("%f",y);

}该程序的输出结果是(

A:0.200000B:1.000000

C:0.50000

D:0.000000

答案:0.200000

有程序:#include<stdio.h>

voidmain()

{intx=1,y=0;

switch(x)

{

case1:

switch(y)

{

case0:printf("first");break;

case1:printf("second");break;

}

case2:printf("third");

}}的运行结果是(

A:second

third

B:first

third

C:first

second

D:first

答案:first

third

有程序:#include<stdio.h>

voidmain()

{inti=10,j=0;

do

{j=j+1;

i--;

}while(i>2);

printf("%d",j);}的运行结果是(

A:50B:8C:52D:51

答案:8

下面程序的输出结果是(

)

#include<stdio.h>

voidmain()

{

inty=9;

for(;y>0;y--)

{

if(y%3==0)

{

printf("%d",--y);

continue;}

}

}

A:875421B:936C:852D:741

答案:852

执行下列的程序段后,输出结果是(

)inta=5;while(a--);printf("%d",a);

A:4321B:0C:-1D:54321

答案:-1

下面程序的运行结果为(

)。

#include<stdio.h>voidmain()

{

intn;

for(n=1;n<=10;n++)

{if(n%3==0)break;

printf("%d",n);

}

A:369B:12345678910C:12457810D:12

答案:12

A:选项CB:选项BC:选项DD:选项A

答案:选项D

第四章测试

有定义语句:intb;charc[10];,则正确的输入语句是(

)。

A:scanf("%d%s",&b,c);B:

scanf("%d%s",b,&c);C:

scanf("%d%s",&b,&c);D:scanf("%d%s",b,c);

答案:scanf("%d%s",&b,c);

若有以下说明:

inta[12]={1,2,3,4,5,6,7,8,9,10,11,12};

charc='a',d,g;

则数值为4的表达式是()。

A:a[g-c]B:a['d'-c]C:a[4]

D:a['d'-'c']

答案:a['d'-c]

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

A:1,4,7B:1,5,9C:3,5,7D:3,6,9

答案:3,5,7

下列描述中不正确的是()。

A:可以对整型数组进行整体输入、输出B:不能在赋值语句中通过赋值运算符"="对字符型数组进行整体赋值C:字符型数组中可以存放字符串D:可以对字符型数组进行整体输入、输出

答案:可以对整型数组进行整体输入、输出

当执行下面的程序时,如果输入ABC,则输出结果是()。

#include"stdio.h"

#include"string.h"

main()

{charss[10]="1,2,3,4,5";

gets(ss);strcat(ss,"6789");printf("%s\n",ss);

}

A:ABC67B:ABC456789C:12345ABC6D:ABC6789

答案:ABC6789

假定int类型变量占用两个字节,其有定义:intx[10]={0,2,4};,则数组x在内存中所占字节数是()。

A:3B:6C:20

D:10

答案:20

以下数组定义中不正确的是()。

A:intc[100][100]={0};B:intb[][3]={0,1,2,3};C:inta[2][3];D:intd[3][]={{1,2},{1,2,3},{1,2,3,4}};

答案:intd[3][]={{1,2},{1,2,3},{1,2,3,4}};

已有定义:chara[]="xyz",b[]={'x','y','z'};,以下叙述中正确的是()。

A:a数组长度小于b数组长度B:其余选项说法都不对C:a数组长度大于b数组长度D:数组a和b的长度相同

答案:a数组长度大于b数组长度

以下叙述中错误的是()。

A:数组名代表的是数组所占存储区的首地址,其值不可改变B:对于double类型数组,不可以直接用数组名对数组进行整体输入或输出C:可以通过赋初值的方式确定数组元素的个数D:当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信

答案:当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信

若要求从键盘读入含有空格字符的字符串,应使用函数(

)。

A:scanf()B:getchar()C:getc()D:gets()

答案:gets()

若有定义语句:inta[3][6];,按在内存中的存放顺序,a数组的第10个元素是(

)。

A:a[1][4]B:a[1][3]

C:a[0][3]D:a[0][4]

答案:a[1][3]

第五章测试

下面程序的输出是(

)intfun3(intx){staticinta=3;

a+=x;

return(a);

}voidmain(){intk=2,m=1,n;

n=fun3(k);

n=fun3(m);

printf("%d",n);

}

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

答案:6

如果一个函数位于C程序文件的上部,在该函数体内声明部分后的复合语句中定义了一个变量,则该变量(

)

A:定义无效,为非法变量

B:为局部变量,只在该复合语句中有效

C:为全局变量,在本程序文件范围内有效D:为局部变量,只在该函数内有效

答案:为局部变量,只在该复合语句中有效

下面函数的功能是(

)sss(chars[],t[]){

inti=0;while((s[i])&&(t[i])&&(t[i]==s[i]))

i++;return

(s[i]-t[i]);}

A:将字符串s复制到字符串t中

B:比较两个字符串的大小

C:将字符串s接续到字符串t中

D:求字符串的长度

答案:比较两个字符串的大小

执行下列程序inta=3,b=4;

voidfun(intx1,intx2){printf(″%d,%d″,x1+x2,b);}voidmain(){inta=5,b=6;fun(a,b);}后输出的结果是(

A:11,4

B:11,1

C:11,6

D:3,4

答案:11,4

以下叙述中,不正确的是(

A:使用floatb定义的外部变量存放在内存中的动态存储区B:使用staticfloata定义的外部变量存放在内存中的静态存储区

C:使用floatd定义的内部变量存放在内存中的动态存储区D:使用staticfloatc定义的内部变量存放在内存中的静态存储区

答案:使用floatb定义的外部变量存放在内存中的动态存储区

以下程序的主函数中调用了在其前面定义的fun函数#include<stdio.h>voidmain(){

doublea[15],k;k=fun(a);}则以下选项中错误的fun函数首部是(

)

A:doublefun(doublea[15])B:doublefun(doublea[])

C:doublefun(doublea)

D:doublefun(double*a)

答案:doublefun(doublea)

C语言源程序的某文件中定义的全局变量的作用域为(

)。

A:本函数的全部范围B:本程序的所有文件的范围C:本文件的全部范围D:从定义该变量的位置开始到本文件结束

答案:从定义该变量的位置开始到本文件结束

C语言中函数返回值的类型是由(

)决定的。

A:调用该函数时的实参的数据类型B:形参的数据类型

C:return语句中的表达式类型D:函数定义时指定的类型

答案:函数定义时指定的类型

#include<stdio.h>f(intb[],intn){inti,r=0;

for(i=0;i<=n;i++)r=r+b[i];returnr;

}voidmain(){

intx,a[]={2,3,4,5,6,7,8,9};

x=f(a,3);

printf("%d",x);

}上面程序的输出结果是(

A:14B:5C:9D:20

答案:14

第六章测试

已有定义inta=2,*p1=&a,*p2=&a;,下面不能正确执行的赋值语句是()

A:a=*p1+*p2;B:a=*p1*(*p2);C:p1=p2;

D:p1=a;

答案:p1=a;

下面判断正确的是()。

A:chars[10]={"girl"};

等价于chars[10];s[10]={"girl"};B:char*s="girl";

等价于char*s;s="girl";C:chars[4]="boy",t[4]="boy";等价于chars[4]=t[4]="boy"D:char*s="girl";

等价于char*s;*s="girl";

答案:char*s="girl";

等价于char*s;s="girl";

有以下程序

#include<stdio.h>

main(){

intm=1,n=2,*p=&m,*q=&n,*r;

r=p;p=q;q=r;

printf("%d,%d,%d,%d\n",m,n,*p,*q);}程序运行后的输出结果是()

A:2,1,2,1B:2,1,1,2

C:1,2,2,1D:1,2,1,2

答案:1,2,2,1

若有以下定义和语句:ints[4][5],(*ps)[5];ps=s;则对s数组元素的正确引用形式是()。

A:ps[0][2]B:ps+1C:*(ps+3)D:*(ps+1)+3

答案:ps[0][2]

voidss(char*s,chart){while(*s){if(*s==t)*s=t-'a'+'A';s++;}}voidmain(){charstr[100]="abeddfefdbd",c='d';ss(str,c);printf("%s\n",str);}程序送行后的輸出結果是()。

A:ABCDDEFEDBD

B:AbcddfefdbdC:abeDDfefDbDD:abcAAfefAbA

答案:abeDDfefDbD

下列程序段的输出結果是(

)。#include"stdio.h"voidfun(int*x,int*y){printf("%d%d",*x,*y);*x=3;*y=4;}voidmain(){intx=1,y=2;fun(&y,&x);printf("%d%d",x,y);}

A:1234B:2112C:2143D:1212

答案:2143

下列程序的输出结果是()。#include"stdio.h"voidmain(){chara[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5;printf("%d",*--p);}

A:3B:非法C:a[4]的地址D:5

答案:5

有以下程序

#include"stdio.h"#include"string.h"

voidmain(intargc,

char*argv[])

{

intm,length=0;

for(m=1;m<argc;m++)length+=strlen(argv[m]);

printf("%d\n",length);}

程序编译连接后生成的可执行文件是file.exe,若执行时输入带参数的命令行是:

file

1234

567

89<回车>,则运行结果是()。

A:13B:17C:22D:9

答案:13

有以下函数:;char*fun(char*s){...returns;}该函数的返回值是()。

A:无确定值B:形参s自身的地址值C:形参s中存放的地址值D:一个临时存储单元的地址

答案:形参s中存放的地址值

若有以下说明语句:char*language[]={“FORTRAN”,”BASIC”,”PASCAL”,”JAVA”,”C”};char**q;q=language+2;则语句printf(“%s\n”,*q)输出的是()

A:language[2]元素的值,它是字符串PASCAL的首地址B:字符串PASCALC:格式说明不正确,无法得到确定的输出D:language[2]元素的地址;

答案:字符串PASCAL

第七章测试

定义以下结构体类型struct

s{

char

b;

float

f;};则语句printf("%d",sizeof(struct

s))的输出结果为()。

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

答案:5

当定义一个结构体变量时,系统为它分配的内存空间是(

)。

A:结构中第一个成员所需的内存容量B:结构中一个成员所需的内存容量C:结构中各成员所需内存容量之和D:结构体中占内存容量最大者所需的容量

答案:结构中各成员所需内存容量之和

定义以下结构体数组

structc

{intx;

inty;

}s[2]={1,3,2,7};语句printf("%d",s[0].x*s[1].x)的输出结果为(

)。

A:2B:6C:21D:14

答案:2

下面程序的运行结果是()。struct

KeyWord{

charKey[20];

intID;}kw[]={"void",1,"char",2,"int",3,"float",4,"double",5};main(){

printf("%c,%d\n",kw[3].Key[0],kw[3].ID);}

A:l,4B:n,3C:i,3D:f,4

答案:f,4

如果有下面的定义和赋值,则使用()不可以输出n中data的值。struct

SNode{

unsignedid;

intdata;}n,*p;p=&n;

A:n.dataB:p->dataC:(*p).dataD:p.data

答案:p.data

根据下面的定义,能输出Mary的语句是()。

structperson

{

charname[9];

intage;

};structpersonclass[5]={"John",17,"Paul",19,"Mary",18,"Adam",16};

A:printf("%s",class[1].name);B:printf("%s",class[2].name);C:printf("%s",class[0].name);D:printf("%s",class[3].name);

答案:printf("%s\n",class[2].name);

定义以下结构体数组

structdate

{intyear;

intmonth;

intday;};

structs

{structdatebirthday;

charname[20];

}x[4]={{2008,10,1,"guangzhou"},{2009,12,25,"Tianjin"}};语句printf("%s,%d,%d,%d",x[0].name,x[1].birthday.year);的输出结果为()。

A:guangzhou,2008B:Tianjin,2008C:Tianjin,2009D:guangzhou,2009

答案:guangzhou,2009

C语言定义类型名的关键字是()

A:structB:typedefC:nameD:define

答案:typedef

结构体变量做函数参数,是参传递给形参的是()

A:结构体变量第一个成员的值B:结构体变量的首地址C:其余选项都不对D:结构体变量所有成员的值

答案:结构体变量所有成员的值

关于链表,以下说法错误的是()

A:malloc函数是链表专用的处理函数,不能用在其他地方B:链表是一种动态数据结构C:在链表中插入一个节点不需要改变其他节点的物理位置D:链表中的节点可以删除

答案:malloc函数是链表专用的处理函数,不能用在其他地方

第八章测试

系统标准输入文件是指(

A

温馨提示

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

评论

0/150

提交评论