C语言程序设计(西安工程大学)知到智慧树期末考试答案题库2024年秋西安工程大学_第1页
C语言程序设计(西安工程大学)知到智慧树期末考试答案题库2024年秋西安工程大学_第2页
C语言程序设计(西安工程大学)知到智慧树期末考试答案题库2024年秋西安工程大学_第3页
C语言程序设计(西安工程大学)知到智慧树期末考试答案题库2024年秋西安工程大学_第4页
C语言程序设计(西安工程大学)知到智慧树期末考试答案题库2024年秋西安工程大学_第5页
免费预览已结束,剩余7页可下载查看

下载本文档

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

文档简介

C语言程序设计(西安工程大学)知到智慧树期末考试答案题库2024年秋西安工程大学若有定义“int*p[5];”,则以下叙述中正确的是()

A:定义了一个指针数组p,该数组含有5个元素,每个元素都是基类型为int的指针变量B:定义了一个可指向一维数组的指针变量p,所指一维数组应具有5个int类型元素C:定义了一个名为*p的整型数组,该数组含有5个int类型元素D:定义了一个基类型为int的指针变量p,该变量有5个指针

答案:定义了一个指针数组p,该数组含有5个元素,每个元素都是基类型为int的指针变量下列不正确的定义是()。

A:inti,*p;B:int*p,i;C:inti,*p=&i;D:int*p=&i,i;

答案:D有以下程序

#includevoidfun(intp){intd=2;

p=d++;printf("%d",p);}voidmain(){intp=1;

fun(p);printf("%d\n",p);}

程序运行后的输出结果是()

A:12B:21C:22D:32

答案:21若定义inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;,则不能表示a数组元素的表达式是()

A:a[p-a]B:a[10]C:*pD:*a

答案:a[10]有语句:inta[10],;则()是对指针变量p的正确定义和初始化。

A:intp=*a;B:intp=&a;C:int*p=&a;D:int*p=a;

答案:int*p=a;有如下程序#includevoidmain(){charch[80]="123abcdEFG*&";

intj;longs=0;

puts(ch);

for(j=0;ch[j]>'\0';j++)

if(ch[j]>='A'&&ch[j]<='Z')ch[j]=ch[j]+'e'-'E';

puts(ch);

}该程序的功能是(

)

A:将数字字符串ch转换成十进制数B:将字符数组ch中的大写字母转换成小写C:测字符数组ch的长度D:将字符数组ch中的小写字母转换成大写

答案:将字符数组ch中的大写字母转换成小写有以下程序段typedefstructNODE{intnum;structNODE*next;}OLD;以下叙述中正确的是(

)。

A:其余的说明形式非法B:OLD是一个结构体变量C:OLD是一个结构体类型D:NODE是一个结构体类型

答案:OLD是一个结构体类型下面程序的运行结果是(

)

#include

voidmain()

{ints=0,i=1;

while(s<=10)

{s=s+i*i;

i++;

}

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

}

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

答案:3下面程序的输出结果是(

)

#include

voidmain()

{inti;

for(i=1;i<6;i++)

{if(i%2!=0){printf("#");continue;}

printf("*");

}

printf("\n");

}

A:*#*#*B:#####C:*****D:#*#*#

答案:A:*#*#*有如下程序#includevoidmain(){

inta=3;do{

printf("%d",a--);}while(!a);}程序的运行结果是()

A:死循环B:3C:321D:无输出

答案:3#includef(intb[],intn){inti,r=1;

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\n",x);

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

A:6B:24C:720D:120

答案:120若主调用函数类型为double,被调用函数定义中没有进行函数类型说明,而return语句中的表达式类型为float型,则被调函数返回值的类型是(

A:由系统当时的情况而定B:double型C:int型D:float型

答案:D:float型表达式:(int)((double)9/2)-9%2的值是()

A:4

B:0C:3D:5

答案:3有以下函数#includestructstu{intmun;

char

name[10];

intage;};voidfun(structstu*p){printf(“%s”,p->name);}voidmain(){structstux[3]={{01,”zhang”,20},{02,”wang”,19},{03,”zhao”,18}};fun(x+2);}程序运行输出结果是(

)

A:wang

B:zhangC:zhaoD:19

答案:zhao有以下程序#includevoidmain(){

intx;

scanf(“%d”,&x);

if(x<=3);else

if(x!=10)printf(“%d\n”,x);}程序运行时,输入的值在哪个范围才会有输出结果()。

A:大于3或等于10的整数B:小于3的整数C:大于3且不等于10的整数D:不等于10的整数

答案:大于3且不等于10的整数由系统分配和控制的标准输出文件为()。

A:键盘B:显示器C:打印机D:磁盘

答案:显示器若有定义语句:intx=12,y=8,z;,在其后执行语句z=0.9+x/y;,则Z的值为()。

A:1B:2

C:1.9D:2.4

答案:1设有以下程序段struct

MP3{charname[20];

charcolor;

float

price;}std,*ptr;ptr=&std;若要引用结构体变量std中的color成员,写法错误的是()

A:std.colorB:std->colorC:(*ptr).colorD:ptr->color

答案:std->color若已定义inta,则表达式a=10,a+10,a++的值是()

A:11B:20

C:21

D:10

答案:10一个C语言程序是从()开始执行的。

A:程序中的第一个语句B:程序中的第一个函数C:包含文件(头文件)的第一个函数

D:名为main的函数

答案:名为main的函数执行以下程序后的输出结果是()voidmain(){inta=10;

a=(3*5,a+4);

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

A:a=10B:15C:a=14D:a=15

答案:a=14使用“scanf(”x=%f,y=%f“,&x,&y)”,要使

x,y均为1.25,正确的输入是(

A:x=1.25,y=1.25B:x=1.25

y=1.25C:1.25

1.25D:1.25,1.25

答案:x=1.25,y=1.25假定建立了以下链表结构,指针p和q分别指向如图所示的结点,则以下可以将q所从链表中删除并释放该结点的语句组是(

A:free(q);p->next=q->next;B:q=q->next;p->next=q;p=p->next;free(p);C:q=(*q).next;(*p).next=q;free(q);D:(*p).next=(*q).next;free(q);

答案:(*p).next=(*q).next;free(q);4.若有说明语句:charc='\72';则变量c(

)

A:包含2个字符B:包含3个字符C:说明不合法,c的值不确定D:包含1个字符

答案:包含1个字符设有如下函数定义:

intf(chars[])

{inti=0;

while(s[i++]!='\0');

return(i-1);

}如果在主程序中用下面的语句调用上述函数,则输出结果为(

)printf("%d\n",f("goodbye!"));

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

答案:8以下程序的输出结果是(

#include"stdio.h"

voidmain()

{

inta,b;

for(a=1,b=1;a<=100;a++)

{if(b>=10)

break;

if(b%3==1)

{b+=3;continue;}

}

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

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

答案:4已知double

x

,

y;

,则表达式

x=1,y=x+3/2

的值是()。

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

答案:2.0以下结构体类型说明和变量定义中正确的是()

A:struct{intn;charc;}REC;

REC

t1,t2

B:structREC{intn;charc;};REC

t1,t2

;

C:typedefstruct{intn;charc;}REC;

REC

t1,t2

;D:typedefstructREC

;

{intn=0;charc=’A’;}t1,t2

;

答案:typedefstruct{intn;charc;}REC;

REC

t1,t2

;若a、b均为int型变量,且a=100,则关于循环语句for(b=100;a!=b;++a,++b)

printf(“------------“)的正确说法是(

)。

A:死循环B:循环体一次也不执行循环体一次也不执行C:输出-----------D:循环体只执行一次

答案:循环体一次也不执行下面结构体定义语句中,错误的是()

A:struct{intx;inty;intz;}a;B:structord{intx;inty;intz;}structorda;C:structord{intx;inty;intz;}a;D:structord{intx;inty;intz;};structorda;

答案:structord{intx;inty;intz;}structorda;为表示关系x≥y≥z,应使用C语言表达式(

A:(x>=y)&&(y>=z)B:(x>=y)AND(y>=z)C:(x>=y)&(y>=z)D:(x>=y>=z)

答案:(x>=y)&&(y>=z)执行下面程序中的输出语句后,输出结果是()#includevoidmain(){inta;

printf("%d\n",(a=3*5,a*4,a+5));}

A:10B:15C:20D:65

答案:65.已知charstr1,str2[10];正确的输入语句是()

A:scanf("%c%s",&str1,str2);B:scanf("%s%s",&str1,str2);C:scanf("%c%c",&str1,str2);D:scanf("%s%c",&str1,str2);

答案:scanf("%c%s",&str1,str2);在C语言中,要求运算数必须是整型的运算符是()

A:%B:++C:/D:!=

答案:%用fopen()函数打开一个新的二进制文件,该文件可以读也可以写,则文件的入打开方式是()

A:"ab+"B:"rb+"C:"ab"D:"wb+"

答案:"wb+"下列程序

#include

voidmain()

{

chara[80];

inti,j;

printf("Enterthestring:");

scanf("%s",a);

i=0;

while(a[i]!='\0')

{if(a[i]>='A'&&a[i]<='Z')

a[i]=a[i]-'A'+'a';

i++;}

printf("%s",a);

}运行后输出的结果是(

)。

A:把键盘输入的字符串中的小写字母变换成大写字母,然后显示变换后的字符串B:把键盘输入的字符串中的大写字母变换成小写字母,然后显示变换后的字符串C:把键盘输入的字符串中的数字字符删除掉,然后显示该字符串D:把键盘输入的字符串原封不动地显示在屏幕上

答案:B语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,输入数据的正确形式应为:()

A:132<回车>B:1<空格>3<空格>2<回车>C:a=1,b=3,c=2<回车>D:a=1b=3c=2<回车>

答案:C以下各选项欲说明一种新的类型名,其中正确的是()。

A:typedefvlint;B:typedefv4:int;C:typedefintv3;D:typedefv2=int;

答案:typedefintv3;以下变量x、y、z均为double类型且已正确赋值,不能正确表示数学式子:(x)/(y×z)的c语言表达式是()。

A:x/y*zB:x*(1/(y*z))C:x/y/zD:x/y*1/z

答案:x/y*z执行下列程序#include"stdio.h"inta=3,b=4;voidfun(intx1,intx2){

printf("%d,%d\n",x1+x2,b);}voidmain(){inta=5,b=6;fun(a,b);}后输出的结果是()

A:11,1

B:3,4C:11,6D:11,4

答案:11,4如果函数定义出现在函数调用之前,可以不必加函数原型声明。()

A:错B:对

答案:对指针变量可以存放指针(地址)、数值和字符。()

A:错B:对

答案:错逻辑表达式的值只能为1或0。()

A:对B:错

答案:对结构体数组中可以包含不同结构体类型的结构体变量。()

A:对B:错

答案:错一个变量的地址称为该变量的指针。()

A:对B:错

答案:对函数的实参可以是常量,变量或表达式。()

A:错B:对

答案:对一个数组是由连续的一块内存单元组成的,指针变量就是这块连续内存单元的首地址。()

A:对B:错

答案:对局部变量如果没有指定初值,则其初值为0。()

A:对B:错

答案:错结构体名在定义结构体时不可省略。()

A:对B:错

答案:错函数名代表该函数的入口地址。因此,可用函数名给指向函数的指针变量赋值。()

A:错B:对

答案:对在C语言中,逗号既可以作为运算符,也可以作为分隔符。()

A:对B:错

答案:对标准格式输入函数scanf()可以从键盘上接收不同数据类型的数据项。()

A:对B:错

答案:对下划线是标识符中的合法字符。()

A:错B:对

答案:对C语言的书写格式不会影响程序的可读性。()

A:错B:对

答案:错int(*p)[4]表示p是一个指针数组,它包含4个指针变量元素。()

A:错B:对

答案:错C语言允许用字符串对数组初始化。()

A:对B:错

答案:对随机操作只适用于二进制文件。()

A:错B:对

答案:错有指针变量p和数组a,指针变量和数组名都可以实现本身的值的改变,如p++和a++。()

A:错B:对

答案:错在多层循环中,执行break语句跳出最外一层循环。()

A:对B:错

答案:错continue只能用于循环体中。()

A:错B:对

答案:对下列合法的字符常量是()

A:‘A’B:‘’C:‘2’D:‘ab’

答案:‘’###‘A’###‘2’以下定义语句中,正确的是(

)

A:inta[]={1,2};B:chars[10]={"test"};C:inta[]={'a','b','c'};D:chara={"test"};

答案:inta[]={1,2};###chars[10]={"test"};###inta[]={'a','b','c'};以下可以对二维数组a进行正确初始化的语句是()

A:inta[2][3]={0};B:inta[2][3]={{1,2},{3,4},{5,6}};C:inta[][3]={1,2,3,4,5,6};D:inta[][3]={{1,2},{0}};

答案:inta[][3]={{1,2},{0}};###inta[][3]={1,2,3,4,5,6};###inta[2][3]={0};以下数组定义中正确的是(

)

A:intx[][3]={{1,2,3},{4,5,6}};B:intx[2][3]={1,2,3,4,5,6};C:intx[][3]={0};D:intx[2][3]={{1,2},{3,4},{5,6}};

答案:intx[2][3]={1,2,3,4,5,6};###intx[][3]={{1,2,3},{4,5,6}};###intx[][3]={0};如有说明:chars1[5],s2[7];,要给数组s1和s2整体赋值,下列语句中不正确的是(

)

A:scanf("%c%c",s1,s2);B:gets(s1,s2);C:scanf("%s%s",s1,s2);D:s1=getchar();

s2=getchar();

答案:s1=getchar();

s2=getchar();###gets(s1,s2);###scanf("%c%c",s1,s2);以下叙述正确的是()

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

答案:一个C程序只能有一个主函数###一个C程序可以包含多个不同名的函数###C程序的主函数必须用main作为函数名设有程序段intk=8;while(k=0)

k-=1;则下列叙述中错误的是

(

)

A:循环是无限循环

B:while循环执行8次C:循环体语句执行一次D:循环体语

温馨提示

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

评论

0/150

提交评论