C语言程序设计(西安理工大学)智慧树知到期末考试答案章节答案2024年西安理工大学_第1页
C语言程序设计(西安理工大学)智慧树知到期末考试答案章节答案2024年西安理工大学_第2页
C语言程序设计(西安理工大学)智慧树知到期末考试答案章节答案2024年西安理工大学_第3页
C语言程序设计(西安理工大学)智慧树知到期末考试答案章节答案2024年西安理工大学_第4页
C语言程序设计(西安理工大学)智慧树知到期末考试答案章节答案2024年西安理工大学_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

C语言程序设计(西安理工大学)智慧树知到期末考试答案+章节答案2024年西安理工大学下列运算符中,优先级最高的是(

)。

答案:()不可以作为函数参数的有(

)。

答案:结构体数组整体C语言中主函数的个数有(

)个。

答案:1数组元素等价于一个同类型的变量。下标可为(

答案:整型表达式设有以下语句typedef

struct

S{

intg;char

h;}T;则下面叙述中正确的是(

)。

答案:可以用T定义结构体变量下面程序段的功能是

)。#include

main()

{char

s1;

s1=putc(getc(stdin),stdout);}

答案:从键盘输入一个字符,然后在输出到屏幕的同时赋给变量s1表达式!x等效于(

)。

答案:x==0下面对于C语言特点,不正确描述的是(

)。

答案:C语言的可移植性较差当定义一个结构体变量时,系统为它分配的内存空间是(

)

答案:结构中各成员所需内存容量之和下列表达式中,结果为0的是(

)。

答案:5/10设已有定义:

char

*st="how

are

you";

下列程序段中正确的是(

答案:char

a[11],

*p;

strcpy(p=a+1,&st[4]);下面关于for循环以下描述错误的是(

答案:for循环中不能用break语句跳出循环体以下错误的描述是(

),函数调用可以

答案:作为函数的形参下列运算符中,优先级从高到低依次为(

)。

答案:!

&&

||计算机的算法指的是(

)。

答案:解决问题的有限运算序列若变量a为int类型,且其值为3,则执行表达式a+=a-=a*a后,a的值是(

)。

答案:-12下列程序的输出结果是(

)intfun(intx);intmain(){

ints=12345;

printf(“%5d”,fun(s));

return0;}intfun(intx){

intre=0;

do{

re=re*10+x%10;

x/=10;

}while(x);

returnre;}

答案:5432在C中,打开文件的程序段中正确的是(

)。

答案:#include

FILE

*fp;fp=fopen("file1.c","w");下列符号常量定义正确的是(

)。

答案:#definePI3.14非法的C语言转义字符是(

)。

答案:'xf''若有以下数组定义,其中不正确的是(

)。

答案:int

d[3][]={{1,2},{1,2,3},{1,2,3,4}};C语言结构体类型变量在程序运行期间

答案:所有的成员一直驻留在内存中判断两个字符串s1,s2是否相等,正确的表达方式是(

)。

答案:while(strcmp(s1,s2)==0)在

C中,下面对文件的叙述正确的是

)。

答案:用“w”方式打开的文件只能用于向文件写数据,且该文件可以不存在在

C中,对文件的存取以(

)为单位。

答案:字节若有说明:long

*p,a;则不能通过scanf语句正确给输入项读入数据的程序段是(

)。

答案:*p=&a;

scanf("%ld",p);若intk=7,x=12;则值为3的表达式的是(

)。

答案:(x%=k)-(k%=5)若定义

int

a[10],*p=a;,则p+5表示(

).

答案:元素a[5]的地址若定义

int

a[5],*p=a;

,则对a数组元素的正确引用是(

)。

答案:*(a+2)程序段char

*s="abcde";

s+=2;printf("%d",s);

的运行结果是(

)。

答案:字符'c'的地址设有“charstr[]="Beijing";”则执行”printf("%d",strlen(strcpy(str,"China")));”后的输出结果为(

)。

答案:5表达式3.6-5/2+1.2+5%2的值是(

)。

答案:3.8C语言的赋值表达式中,赋值号的左侧必须是(

)。

答案:变量若调用一个函数,且此函数中没有return语句,则正确的说法是(

答案:返回一个不确定的值以下正确的说法是(

答案:实参与其对应的形参各占用独立的存储单元有以下函数定义:voidfun(intn,doublex){……}。若以下选项中的变量都已正确定义并赋值,则对函数fun()的正确调用语句是(

答案:k=fun(10,12.5);设变量n为float类型,m为int型,则表达式(

)能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算。

答案:m=n*100+0.5,n=m/100.0假定有变量定义:intk=6,x=12;则能使x、k值为5、6的表达式是(

)。

答案:x%=k+k%5划线处正确的函数调用是(

int

main()

{

inta=11,b=21;

______________

printf("%d%d",a,b);

return0;

}

intfun1(inta,intb)

{

a=a+10;

b=b+10;

returna+b;}

答案:fun1(a,b);以下选项中非法的表达式是(

)。

答案:x+1=x+1若x=-1011,则[x]补=(

答案:10101以下不合法的字符常量是(

)。

答案:'ab'建立自定义函数的目的之一是(

答案:提高程序的可读性下列选项中,均是合法的C语言实型常量的是(

)。

答案:-.60,12e-4,-8e5已有变量定义和函数调用语句:int

a=25;

print_value(&a);

下面函数的正确输出结果是(

)。

void

print_value(int

*x)

{

printf(“%d”,++*x);}

答案:26下列各数据类型不属于构造类型的是(

)。

答案:枚举型在调试过程中,逻辑错误是指(

)。

答案:程序的运行结果不符合题目要求C语言规定,程序中各函数之间(

答案:既允许直接递归调用也允许间接递归调用对字符数组进行初始化,(

)形式是错误。

答案:char

c2[

]=123;下列程序段的运行结果是(

)inti,b,k=0;for(i=1;i<=5;i++){

b=i%2;

while(b-->=0)

k++;}printf("%d,%d",k,b);

答案:8,-2执行以下程序段后x的值是(

)inta=1,b=3,c=5,d=4;if(a答案:2下述对C语言字符数组的描述中正确的是(

)。

答案:任何一维字符数组的名称都是该数组存储单元的开始地址,且其每个元素按照顺序连续占存储空间有输入语句:scanf("a=%d,b=%d,c=%d",&a,&b,&c);为使变量a的值为1,b的值为3,c的值2,正确的数据输入方式是(

)。

答案:a=1,b=3,c=2下面说法错误的是(

)。

答案:数据结构=算法+程序以下4个数组定义中,(

)是错误的。

答案:int

n,d[n];下面程序段执行后的输出结果是(

)inti,s=0;for(i=0;;i++){

if(i==6)break;

s+=i;}printf("%d",s);

答案:15设已有定义:

int

a[10]={15,12,7,31,47,20,16,28,13,19},*p;

下列语句中正确的是(

)。

答案:for(p=a;p<(a+10);p++);下列程序的运行结果是(

)#include

voidfun(intx);

intmain()

{

fun(7);

printf("");

return0;}

voidfun(intx)

{

if(x/2>1)

fun(x/2);

printf("%5d",x);

}

答案:37下列对while和do-while循环的描述正确的是(

答案:do-while的循环体至少要执行一次标准库函数fgets(s,n,f)的功能是

)。

答案:从文件f中读取长度不超过n-1的字符串存入指针s所指的内存以下关于C语言描述错误的是(

)。

答案:一个C程序可以包含多个main函数若有语句int

*point,a=4;和point=&a;下面均代表地址的一组选项是(

)。

答案:&a,&*point

,point设有如下程序,则程序的输出结果是(

)intk=1,s=0;while(s<10)

{s=s+k*k;k++;}printf("%d",k);

答案:4下面的变量表示文件指针变量的是(

)。

答案:FILE

*fp

;若变量均正确定义并赋值,下面选项中符合C语言语法的语句是(

)。

答案:++x-1;y=x--;设有inti=0;则以下while循环的执行次数是(

)while(i<10){

if(i<1)

continue;

if(i==5)

break;

i++;}

答案:无限次若有定义和语句:char

s[10];

s=”abcd”;

printf(“%s”,s);

则结果是(以下u代表空格)(

)

答案:编译不通过C语言是由(

)组成的。

答案:函数在

C中,系统自动定义了3个文件指针stdin,stdout和stderr分别指向

终端输入、终端输出和标准出错输出,则函数fputc(ch,stdout)的功能是(

)。

答案:在屏幕上输出字符变量ch的值以下不正确的if语句是(

)。

答案:if(x==y)&&(x!=0)x+=y;下面程序段运行时从键盘上输入:2473↙,其输出结果是(

)#includevoidmain(){

intc;

while((c=getchar())!='')

switch(c-'2')

{

case0:

case1:putchar(c+4);

case2:putchar(c+4);break;

case3:putchar(c+3);

default:putchar(c+2);break;

}}

答案:668977执行下面程序段后s的值是(

)inti=5,s;s=s+i;

答案:随机数下列程序的输出结果是(

)voidf(intv,intw){

intt;

t=v;v=w;w=t;}intmain(){

intx=1,y=3;z=2;

if(x>y)

f(x,y);

elseif(y>z)

f(y,z);

elsef(x,z);

printf(“%d,%d,%d”,x,y,z);}

答案:1,3,2结构化程序设计所规定的三种基本控制结构是(

)。

答案:顺序、选择、循环计算机算法必须具备输入、输出和(

)等5个特性。

答案:可行性、确定性和有穷性下列数据类型的精度由高到低的顺序是(

)。

答案:double,float,int,char以下叙述中错误的是()。

答案:可以通过typedef增加新的类型下列描述正确的是(

答案:在switch中可根据需要使用或不使用break语句下列程序的输出结果是(

)intfun(inta,intb,intc){

c=a*b;

return

c;}intmain(){intc=5;

c=fun(2,3,c);

printf(“%d”,c);

return0;}

答案:6以下叙述中错误的是(

)。

答案:可以通过typedef增加新的类型表示y在[3,23]范围内为真的表达式为(

)。

答案:(y>=3)&&(y<=23)函数putchar()可以向终端输出一个(

)。

答案:字符或字符型变量的值下面程序段的输出结果是(

)inty=10;while(y--);printf("y=%d",y);

答案:y=-1若有以下程序片段:

charstr[]="ab12\"";;printf("%d",strlen(str));上面程序片段的输出结果是(

)。

答案:6下述对C语言字符数组的描述中错误的是(

)。

答案:可以用关系运算符对字符数组中的字符串进行比较以下叙述中错误的是(

)。

答案:可以通过typedef增加新的类型在C中,如果要打开C盘一级目录ccw下,名为“ccw.dat”的二进制文件用于

读和追加写,则调用打开文件函数的格式为

)。

答案:fopen("c:ccwccw.dat","ab+")有以下程序段

int

a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],

b;

b=p[5];

b中的值是(

答案:9下面属于高级语言的是(

)。

答案:C语言不正确的字符串常量是(

)。

答案:"abcxyz"以下正确的函数原型声明是(

答案:doublefun(intx,inty);设有变量定义:intx=10,y=20,a=5;则以下程序的输出结果是(

)if(x答案:1若有以下说明和语句,int

c[4][5],(*p)[5];p=c;能正确引用c数组元素的是(

)。

答案:*(p[0]+2))以下

4

个字符串函数中,(

)所在的头文件与其他

3

个不同。

答案:gets以下变量定义和赋初值错误的是(

)。

答案:intn1=n2=10;C语言中整型数据在内存中的储存形式是(

)。

答案:补码下列程序的输出结果是(

)fun(inta,intb,intc){

c=a*b;

}intmain(){intc=0;

fun(2,3,c);

printf(“%d”,c);

return0;}

答案:0在数组中,数组名表示(

)。

答案:数组第

1

个元素的首地址若有定义:int

a[2][3],则对a数组的第i行j列元素地址的正确引用为(

)。

答案:a[i]+j若有以下说明,则数值为

4

的表达式是(

)。int

a[12]

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

char

c=”a”,

d,

g

答案:a['d'-c]如果在一个复合语句中定义了一个变量,则有关该变量正确的说法是(

答案:只在该复合语句中有效下列选项中,均是合法的C语言整型常量的是(

)。

答案:160,-0xffff,0011若定义x为double型变量,则能正确输入x值的语句是(

)。

答案:scanf("%lf",&x);下列程序的运行结果是(

)#include

voidfun(intk);

voidmain()

{

intw=5;

fun(w);

}

voidfun(intk)

{

printf("%d",k);

if(k>0)

fun(k-1);

}

答案:543210以下不正确的说法是,C语言规定(

答案:形参可以是常量、变量或表达式以下程序段的输出结果是(

)intk,n;for(k=1;k<=5;k++){

n=k*k;

if(n<10)

continue;

else

printf("%d

",n);}

答案:16

25若有说明;int

*p,m=5,n;以下正确的程序段的是(

)。

答案:p=&n;

*p=m;以下程序的运行结果是(

)voidmain()

{

inta=0,b=1,c=0,d=20;

if(a)d=d-10;

elseif(!b)

if(!c)d=15;

elsed=25;

printf(""%d"",d);}

答案:20设有intx=-1;则以下循环执行的次数是(

)do

{x=x*x;}while(!x);

答案:1次如果要将存放在双精度型数组a[10]中的10个双精度型实数写入文件型指针

fp1指向的文件中,正确的语句是(

)。

答案:for(i=0;i<10;i++)

fwrite(&a[i],8,1,fp1);设有以下语句typedef

struct

S{

intg;char

h;}T;则下面叙述中正确的是(

)。

答案:可以用T定义结构体变量以下选项中(

)不是C语言常量。

答案:e-2在C语言中,字符型数据在内存中以(

)形式存放。

答案:ASCII码设有以下定义:#defined2inta=0;floatb=1.25;charc='A';下面语句不正确的是(

答案:d++;C语言中基本的数据类型不包括(

)。

答案:数组对于下面程序段,(

)是正确的判断。intx=0,y=0,z=0;if(x=y+z)

printf(""***"");elseprintf("";"");

答案:输出:关于三种基本程序结构,下列说法不正确的是(

)。

答案:选择结构和循环结构都有判断框,两个一样以下程序段的输出结果是(

)intx=1,a=0,b=0;switch(x){case0:b++;

case1:a++;

case2:a++;b++;}printf("a=%d,b=%d",a,b);

答案:a=2,b=1下列说法不正确的是(

)。

答案:单精度定义用double,双精度定义用float机器语言的特点是(

)。

答案:二进制形式在C中,打开文件时,选用的文件操作方式为"wb",则下列说法中错误的是(

)。

答案:要打开的文件必须存在下列程序的输出结果是(

)intx1=30,x2=40;voidsub(intx,inty){

x1=x;x=y;y=x1;}intmain(){

intx3=10,x4=20;sub(x3,x4);sub(x2,x1);printf(“%d,%d,%d,%d”,x3,x4,x1,x2);return0;}

答案:10,20,40,40有以下程序:

#include

union

pw

{

int

i;

char

ch[2];

}a;main()

{

a.ch[0]=13;

a.ch[1]=0;

printf("%d",a.i);

}程序的输出结果是

答案:13下列程序的输出结果是(

)intfun(inta,intb,intc){

c=a*b;

return

c;}intmain(){intc=5;

fun(2,3,c);

printf(“%d”,c);

return0;}

答案:5以下正确的函数原型声明是(

答案:double

fun(intx,inty);一维数组各元素按下标的顺序(

)分配在内存单元之中。

答案:连续地C语言中基本的数据类型不包括(

)。

答案:long下面正确的字符常量是(

)。

答案:'K'根据下面的定义,能打印出字母M的语句是(

)。structperson{charname[9];intage;};structpersonclasses[10]={"John",17,"Paul",19,"Mary",18,"Adam",16};

答案:printf("%c",classes[2].name[0]);关于C程序在作逻辑运算时判断操作数真、假的表述中,正确的是(

)。

答案:0为假,非0为真有以下定义

char

a[10],*b=a;

不能给数组a输入字符串的语句是(

)。

答案:gets(a[0]);若有以下定义:floatx;inta,b;则正确的switch语句是(

答案:switch(a+b){case1:printf("*");case1+2:printf("**");}以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是(

答案:char

s[10];s="abcdefg";C语言中数组用同名的带下标的(

)组成。

答案:变量在16位编译系统上,若有定义int

a[]={10,20,30},

*p=&a;,当执行p++;后,下列说法错误的是(

答案:p向高地址移了一个字节设chara='70';则变量a(

)。

答案:包含1个字符C语言中符号常量定义的关键字是(

)。

答案:define文本文件在磁盘存放时,每个字符对应一个字节,用来存放(

)码。

答案:ASCII文件的变量类型名是(

)。

答案:FILE将文件分为ASCII码文件和二进制码文件两种,是从文件的(

)来区分的。

答案:编码方式文件操作流程中的最后一个步骤是(

)文件。

答案:关闭在fopen函数中,“rb”表示为输入打开一个(

)文件

答案:二进制定义p为指向函数的指针变量,应该采用(

)方式。

答案:int

(*p)(

intx)程序编译后,对变量的访问是通过(

)来进行的。

答案:地址inta[10],*p;则让p指向数组的首地址的是(

)。

答案:p=&a[0]若int

*p[4],则p的含义是(

)。

答案:指针数组inta[5]={10,20,30,40,50},*p=a;printf("%d",*p+1);结果是(

)。

答案:11请正确的填充语句:voidmain(intargc,char(

))

答案:*argv[]数组名是表示数组首地址的地址(

)。

答案:常量获取指针变量所指向的值,用的运算符是(

)。

答案:*系统根据(

)为变量分配内存单元。

答案:类型inta[3][5],*p;p=a[0];则p++后的值代表了(

)。

答案:第一行第二个元素的首地址不可以作为函数参数的有()。

答案:结构体数组整体在16位系统中,定义以下结构体类型struct

s{

int

a;

char

b;

float

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

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

答案:7以下选项中不能正确把cl定义成结构体变量的是()。

答案:structcolorcl

{intred;

intgreen;

intblue;

};结构体变量整体作函数参数时,以下说法正确的是()。

答案:实参结构体变量和形参结构体变量的类型应当一致。当定义一个结构体变量时,系统为它分配的内存空间是()

答案:结构中各成员所需内存容量之和设有以下语句typedef

struct

S{

intg;char

h;}T;则下面叙述中正确的是(

)。

答案:可以用T定义结构体变量在下面的叙述中,不正确的是()。

答案:枚举常量的值可以是整数或字符串。已知字符'0'的ASCII码为十六进制的30H,下面程序的输出是()。voidmain(){union{unsignedcharc;unsignedinti[4];}z;z.i[0]=0x39;z.i[1]=0x36;printf("%c",z.c);}

答案:9根据下面的定义,能打印出字母M的语句是_____。

structperson{charname[9];intage;};structpersonclasses[10]={"John",17,"Paul",19,"Mary",18,"Adam",16};

答案:printf("%c",classes[2].name[0]);若有定义:int

b[3][4]={0};则下述正确的是(

)。

答案:数组b中各元素均为0函数调用语句为:inta[10],maxnum;…maxnum=max(a);函数定义首部应为(

)。

答案:intmax(intb[])若给出以下定义:

charx[]="abcdefg";chary[]={'a','b','c','d','e','f','g'};

则正确的叙述为(

)。

答案:数组x的长度大于数组y的长度冒泡排序中,若有n个数,第一趟最多需要比较(

)次。

答案:n-1C语言中,由固定数目的同类型的变量按一定顺序排列而构成的是(

)。

答案:数组当数据已知的情况下,可以在定义数组时,对数组进行初始化,但不可(

)。

答案:在方括号中写入变量表达式若不允许函数修改数组元素,则可以用(

)限定符作为数组参数的前缀,这样数组元素就成为函数中的常量。

答案:const在定义int

m[][3]={1,2,3,4,5,6};后,m[1][0]的值是(

)。

答案:4数组元素下标可从(

)开始。

答案:0利用冒泡排序得到升序排列,每一趟中从前到后遍历数组,将相邻两个数作比较,如果前面的数小于后面的数,则(

)。

答案:不做操作下列程序的运行结果是(

)#includeintfun1(int

x);

voidfun2();

intx=5;

intmain()

{

intx=1;

x=fun1(x);

printf("%d",x);

return0;

}

intfun1(intx)

{

x++;

fun2();

returnx;

}

voidfun2()

{

x++;}

答案:2以下不正确的说法是(

答案:在主函数内定义的变量可在其余函数中通用包含标准库函数scanf声明的头文件是(

答案:stdio.hC语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是(

答案:单向值传递以下正确的函数定义是(

答案:doublefun(intx,inty){doublez;z=x+y;returnz;}下列程序的运行结果是(

)#includevoidfun();

inta=5;

intmain()

{

inta=10;

fun();

printf("%5d",a);

return0;

}

voidfun()

{

a=a+5;

printf("%5d",a);}

答案:1010以下正确的描述是(

答案:函数的定义不可以嵌套,但函数的调用可以嵌套下列程序的运行结果是(

)#include

voidfun();

intmain()

{

inta=10;

fun();

printf("%5d",a);

return0;

}

voidfun()

{

inta=20;

printf("%5d",a);}

答案:2010以下关于函数的叙述中不正确的是(

答案:在C语言程序中,被调用的函数必须在main函数中定义以下关于函数的叙述中正确的是(

答案:C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束算法描述可以有多种表达方法,下面(

)方法不可以描述算法。

答案:机器语言设有以下程序,若要使程序的输出值为2,则应该从键盘给n输入的值是(

温馨提示

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

评论

0/150

提交评论