C语言程序设计-案例驱动 轻松掌握智慧树知到答案2024年山东管理学院_第1页
C语言程序设计-案例驱动 轻松掌握智慧树知到答案2024年山东管理学院_第2页
C语言程序设计-案例驱动 轻松掌握智慧树知到答案2024年山东管理学院_第3页
C语言程序设计-案例驱动 轻松掌握智慧树知到答案2024年山东管理学院_第4页
C语言程序设计-案例驱动 轻松掌握智慧树知到答案2024年山东管理学院_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

C语言程序设计-案例驱动轻松掌握山东管理学院智慧树知到答案2024年第一章测试

C语言中规定:在一个源程序中main函数的位置()。

A:必须在最后

B:必须在最开始

C:必须在系统调用的库函数的后面

D:可以任意

答案:D一个C语言程序是由()。

A:若干过程组成

B:一个主程序和若干个子程序组成

C:若干子程序组成

D:函数组成

答案:DC++、Java以及C#都源自于C语言。()

A:对B:错

答案:A计算机内部运算不使用的数是()。

A:二进制数

B:八进制数

C:十六进制数

D:十进制数

答案:BCD不能将高级语言编写的源程序转换为目标程序的是()。

A:链接程序

B:网络程序

C:WORD字处理程序

D:编译程序

答案:ABC

第二章测试

PC机中,’\n'在内存占用的字节数是()

A:2

B:4

C:3

D:1

答案:D在以下一组运算符中,优先级最低的运算符是()

A:*

B:=

C:+

D:!=

答案:B设ch是char型变量,其值为'A’,则表达式ch=(ch>='A'&&ch<=‘z’)?(ch+32):ch的值是()

A:A

B:z

C:a

D:Z

答案:C要为字符型变量a赋初值,下列语句中哪一个是正确的()。

A:chara=’3’

B:chara="3"

C:chara=*

D:chara=%

答案:A以下用户标识符中,不合法的是()

A:int

B:nit

C:a+b

D:123

答案:ACD

第三章测试

下列语句中符合C语言语法的赋值语句是()。

A:a=7+b+c=a+7;

B:a=7+b,c=a+7;

C:a=7+b,b++,a+7;

D:a=7+b++=a+7;

答案:B以下程序输出结果是

main()

{intm=5;

if(m++>5)printf("%d\n",m);

elseprintf("%d\n",m--);}()

A:7

B:5

C:6

D:4

答案:C若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为()。

A:!a

B:a=0

C:a

D:a<>0

答案:C如果c为字符型变量,判断c是否为空格不能使用(假设已知空格ASCII码为32)()。

A:if(c=='32')

B:if(c=='')

C:if(c=='\40')

D:if(c==32)

答案:A下列叙述中正确的是()。

A:在switch语句中,不-定使用break语句

B:break语句必须与switch语句中的case配对使用

C:在switch语句中必须使用default

D:break语句只能用于switch语句

答案:A表达式:10!=9的值是()。

A:true

B:0

C:1

D:非零值

答案:C能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是()。

A:a>=10‖a<=0

B:a>=0|a<=10

C:a>=10ora<=0

D:a>=10&&a<=0

答案:A有以下程序

main()

{inta,b,c=246;

a=c/100%9;

b=(-1)&&(-1);

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

}

输出结果是()。

A:2,-1

B:3,2

C:2,1

D:4,3

答案:C若变量c为char类型,能正确判断出c为小写字母的表达式是()。

A:'a'<=c<='z'

B:(c>='a')||(c<='z')

C:(c>='a')&&(c<='z')

D:('a'<=c)and('z'>=c)

答案:C下面程序的输出是

main()

{inta=-1,b=4,k;

k=(a++<=0)&&(!(b--<=0));

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

A:112

B:012

C:103

D:003

答案:C

第四章测试

若i为整型变量,则以下循环执行次数是

for(i=2;2==0;)printf("%d",i--);()

A:无限次

B:2次

C:0次

D:1次

答案:CC语言中while和do-while循环的主要区别是()。

A:do-whil的循环体至少无条件执行一次

B:do-while的循环体不能是复合语句

C:do-while允许从外部转到循环体内

D:while的循环控制条件比do-while的循环控制条件严格

答案:A下面有关for循环的正确描述是()。

A:for循环体语句中,可以包含多条语句,但要用花括号括起来

B:在for循环中,不能用break语句跳出循环体

C:for循环是先执行循环体语句,后判定表达式

D:for循环只能用于循环次数已经确定的情况

答案:A语句while(!e);中的条件!e等价于()。

A:e!=0

B:e==0

C:~c

D:e!=1

答案:Bt为int类型,进入下面的循环之前,t的值为0

while(t=l)

{……}

则以下叙述中正确的是()

A:循环控制表达式的值为0

B:循环控制表达式不合法

C:其他说法都不对

D:循环控制表达式的值为1

答案:D有以下程序

main()

{inti,s=0;

for(i=1;i<10;i+=2)s+=i+1;

printf(“%d\n”,s);

}

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

A:自然数1~9的累加和

B:自然数1~10的累加和

C:自然数1~10中的偶数之和

D:自然数1~9中的奇数之和

答案:C以下程序段的输出结果是

intx=3;

do

{printf("%3d",x-=2);

}while(!(--x));()

A:死循环

B:1-2

C:1

D:30

答案:B以下程序中,while循环的循环次数是

main()

{inti=0;

while(i<10)

{if(i<1)continue;

if(i==5)break;

i++;

}

......

}()

A:6

B:10

C:1

D:死循环,不能确定次数

答案:D有以下程序

main()

{inta=1,b;

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

{if(a>=8)break;

if(a%2==1){a+=5;continue;}

a-=3;

}

printf("%d\n",b);

}

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

A:5

B:6

C:3

D:4

答案:D有以下程序

main()

{inti;

for(i=0;i<3;i++)

switch(i)

{case1:printf("%d",i);

case2:printf("%d",i);

default:printf("%d",i);

}

}

执行后输出结果是()。

A:120

B:012020

C:011122

D:012

答案:C

第五章测试

以下定义语句中,错误的是()。

A:inta[]={1,2};

B:intn=5,a[n];

C:chara[]={“test”};

D:chars[10]={“test”};

答案:B以下对一维数组a进行正确初始化的是()。

A:inta[]={0};

B:inta[10]=(0,0,0,0,0);

C:inta[10]={10*2};

D:inta[10]={};

答案:A以下对二维数组a进行正确初始化的是()。

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

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

C:inta[2][]={{1,2},{3,4}};

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

答案:C在定义inta[5][4];之后,对a的引用正确的是()。

A:a[2][4]

B:a[5][0]

C:a[1,3]

D:a[4][3]

答案:D以下给字符数组str定义和赋值正确的是()。

A:charstr[10];strcpy(str,“abcdefghijkl”);

B:charstr[10];str={“China!”};

C:charstr[10]={“abcdefghijkl”};

D:charstr[]={“China!”};

答案:D执行语句:inta[][3]={1,2,3,4,5,6};后,a[1][0]的值是4。()

A:错B:对

答案:B当接受用户输入的含有空格的字符串时,应使用getchar()。()

A:错B:对

答案:A定义:chararray[]=”China”;则数组array所占的存储空间是5个字节。()

A:错B:对

答案:A定义:chararray[10]=”China”;则数组array所占的存储空间是10个字节。()

A:错B:对

答案:B执行语句:inta[5][6];后,数组a中的第7个元素是a[1][0]。()

A:对B:错

答案:A

第六章测试

#include<stdio.h>

intf(intx);

main()

{

intn=1,m;

m=f(f(f(n)));

printf("%d\n",m);

}

intf(intx)

{returnx*2;}

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

A:8

B:1

C:2

D:4

答案:A#include<stdio.h>

intfun(intx,inty)

{

if(x!=y)

return((x+y)/2);

elsereturn(x);:

}

main()

{

inta=4,b=5,c=6;

printf("%d\n",fun(2*a,fun(b,c)));

}

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

A:8

B:12

C:3

D:6

答案:D#include<stdio.h>

intf(intx,intу)

{

return((y-x)*x);

}

main()

{

inta=3,b=4,c=5,d;

d=f(f(a,b),f(a,c));

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

}

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

A:9

B:7

C:8

D:10

答案:A#include<stdio.h>

intfun(inta,intb)

{

returna+b;

}

main()

{

intx=6,y=7,z=8,r;

r=fun(fun(x,y),z--);

printf("%d\n",r);

}

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

A:15

B:20

C:21

D:31

答案:C以下叙述中正确的是()

A:用户自己定义的函数只能调用库函数。

B:在C语言的函数内部,可以定义局部嵌套函数。

C:不同函数的形式参数不能使用相同名称的标识符。

D:实用的C语言源程序总是由一个或多个函数组成。

答案:D以下叙述中正确的是()

A:函数体中的语句不能出现对自己的调用。

B:函数名代表该函数的入口地址。

C:如果函数带有参数,就不能调用自己

D:所有函数均不能接受函数名作为实参传入

答案:B以下叙述中正确的是()

A:函数调用时,不必区分函数名称的大小写

B:在函数体中只能出现一次return语句。

C:调用函数时,函数名必须与被调用的函数名完全一致。

D:函数名允许用数字开头。

答案:C设有某函数的说明为:int*func(inta[10],intn);则下列叙述中,正确的是()

A:只有指向10个整数内存单元的指针,才能作为实参传给a。

B:func的函数体中不能对a进行移动指针(如a++)的操作。

C:形参a对应的实参只能是数组名。

D:说明中的a[10]写成a或*a效果完全一样。

答案:D以下关于C语言函数参数传递方式的叙述正确的是()

A:数据只能从形参单向传递给实参。

B:数据只能从实参单向传递给形参

C:C语言的函数参数既可以从实参单向传递给形参,也可以在实参和形参之间双向传递,可视情况选择使用。

D:数据可以在实参和形参之间双向传递。

答案:A

第七章测试

有以下定义chara[10],*b=a;不能给数组a输入字符串的语句是()。

A:gets(&a[0]);

B:gets(a)

C:gets(b);

D:gets(a[0])

答案:Dinta[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b;b=p[5];则b中的值是()。

A:9

B:5

C:8

D:6

答案:Avoidmain(){

int*p,*q,a,b;

p=&a;

printf(“inputa:”);

scanf(“%d”,*p);

……

}

以上程序中调用scanf函数给变量a输入数值的方法是错误的,其错误原因是()。

A:*p只能用来说明p是一个指针变量

B:*p表示的是指针变量p的地址

C:*p表示的是指针变量p的值

D:*p表示的是变量a的值,而不是变量a的地址

答案:D以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是()。

A:chars[10];strcpy(s,"abcdefg");

B:chars[10];s="abcdefg";

C:chars[10]="abcdefg";

D:chart[]="abcdefg",*s=t;

答案:B以下程序段正确的是()。

A:charstr[20],*p=str;

scanf("%s",p[2]);

B:char*p;

scanf("%s",p);

C:charstr[20];

scanf("%s",&str);

D:charstr[20];

scanf("%s",&str[2]);

答案:D变量指针指向该变量的地址。()

A:错B:对

答案:B定义inta[10],*p=a,则p+6表示元素a[6]的地址。()

A:错B:对

答案:B定义chara[6],*b=a;则gets(&a[0]);不能给数组a输入字符串。()

A:对B:错

答案:Bchars[10];s=”abcd”;语句在编译时系统会报错。()

A:对B:错

答案:Areturn*p;的返回值是变量p的地址。()

A:对B:错

答案:B

第八章测试

#include<stdio.h>

typedefstruct{intb;intpi;)A;

voidf(Ac)

{

intj;

c.b+=1;

c.p+=2;

}

main()

{

inti;

Aa={1,2};

f(a);

printf("%d,%d\n",a.b,a.p);

}

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

A:1,2

B:2,4

C:2,3

D:1,4

答案:Astructcomplex

{intreal,unreal;}data1={1,8},data2;则以下赋值语句中错误的是()。

A:data2=data1;

B:data2=(2,6);

C:data2.real=đata1.unreal;

D:data2.real=data1.real;

答案:B#include<string.h>

typedefstruct{charname[9];charsex;intscore[2];}STU;

STUf(STUa)

{

STUb={"Zhao",‘m’,85,90};

inti;

strcpy(a.name,);

a.sex=b.sex;

for(i=0;i<2;i++)a.score[i]=b.score[i];

returna;

}

main()

{

STUc={"Qian",‘f’,95,92},d;

d=f(c);

printf(“%s,%c,%d,%d”,,d.sex,d.score[0],d.score[1]);

printf(“%s,%c,%d,%d\n”,,c.sex,c.score[0],c.score[1]);

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

A:zhao,m,85,90,zhao,m,85,90

B:zhao,m,85,90,Qian,f,95,92

C:Qian,f,95,92,zhao,m,85,90

D:Qian,f,95,92,Qian,f,95,92

答案:B有以下程序#include<stdio.h>

structS{inta;intb;};

main()

{structSa,*p=&a;

a.a=99;

printf("%d\n",___);

}

程序要求输出结构体中成员a的数据,以下不能填入横线处的内容是()

A:(*p).a

B:p->a

C:*p.a

D:a.a

答案:C设有如下的说明和定义

struct{

inta;

char*s;

}x,*p=&x;

x.a=4;

x.s="h

温馨提示

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

最新文档

评论

0/150

提交评论