C语言程序设计基础知到章节答案智慧树2023年石河子大学_第1页
C语言程序设计基础知到章节答案智慧树2023年石河子大学_第2页
C语言程序设计基础知到章节答案智慧树2023年石河子大学_第3页
C语言程序设计基础知到章节答案智慧树2023年石河子大学_第4页
C语言程序设计基础知到章节答案智慧树2023年石河子大学_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

C语言程序设计基础知到章节测试答案智慧树2023年最新石河子大学第一章测试

下列对C语言特点的描述中,错误的是(

)。

参考答案:

C语言不是结构化程序设计语言

下列关于C语言程序在结构上特点的描述中,错误的是(

)。

参考答案:

C语言程序被执行时,通常是从第1个函数开始

在scanf()函数的格式说明符中,长整型数的输入格式说明符是(

)。

参考答案:

%ld

在printf()函数的格式说明符中,双精度浮点型数的输出格式说明符是(

)。

参考答案:

%lf

下列不是C语言特点的是?

参考答案:

只有64个保留字(reservedkeywords),使变量、函数命名有更多弹性。

几乎没有不能用C语言实现的软件?

参考答案:

C编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、TurboC等?

参考答案:

DevC++是一个开源的编程软件吗?

参考答案:

编程环境包括编辑程序(Edit)、编译(Compile)、调试(Debug)等过程对吗?

参考答案:

任何程序都有主函数吗?

参考答案:

第二章测试

若i=3,j=i++;执行运算后i和j的值为?

参考答案:

i=4,j=3

下列函数在屏幕上输出的结果是?#include<stdio.h>

intmain(void){

printf("学号姓名班级\n");

return0;}

参考答案:

学号

姓名

班级

下列函数在屏幕上输出的结果是?#include<stdio.h>

intmain(void){

printf("****\n***\n**\n*\n");

return0;}

参考答案:

**********

关于关系运算,下列说法正确的是?

参考答案:

关系表达式的值是一个逻辑值,即“真”或“假”。

下列运算符,优先级最高的是?

参考答案:

&&

关于if-else语句,下列说法错误的是?

参考答案:

if语句后面只能加逻辑表达式。

关于scanf()函数,说法正确的是?

参考答案:

scanf()函数中“u”是用来输入无符号的十进制整数的格式字符。

语句for(i=1;i<=100;i++)sum=sum+i;的功能是?

参考答案:

1~100以内所有整数的和

关于函数,下列说法正确的是?

参考答案:

同一个函数可以被一个或多个函数调用任意多次。

关于函数的类型,下列说法正确的是?

参考答案:

用户可以自己定义函数。

第三章测试

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

参考答案:

下列是输出显示字符'a'的八进制ASCII码的语句,正确的是(

)。

参考答案:

printf("%o\n",'a');

C语言中合法的字符常量是

参考答案:

'\n'

表达式1/5+3%4+4.5/5的值是

参考答案:

3.900000

有以下程序:

main(){int

m;m=10;printf("%d\n",(--m*3/5));

}

程序运行后的输出结果是

参考答案:

5

表达式(int)(1/3+.5*3+5%3)

的计算结果为

参考答案:

3

下列不正确的转义字符是

参考答案:

074

无符号基本整型的数据类型符为

,双精度实型数据类型符为

,字符型数据类型符为

参考答案:

unsignedint

double

char

printf("%c,%d",'a','a');的输出结果是

参考答案:

a,97

下列格式符中,哪一个可以用于以八进制形式输出整数

参考答案:

%o

第四章测试

以下运算符中,优先级最高的运算符是(

).

参考答案:

(类型)

执行下列程序段后,m的值是(

).

intw=2,x=3,y=4,z=5,m;

m=(w<x)?w:x;

m=(m<y)?m:y;

m=(m<z)?m:z;

参考答案:

2

对下述程序,(

)是正确的判断.

#include<stdio.h>

voidmain()

{int

x,y;

scanf("%d,%d",&x,&y);

if(x>y)

x=y;y=x;

else

x++;y++;

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

参考答案:

语法错误,不能通过编译

两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是(

).

#include<stdio.h>

voidmain()

{

intx;

scanf("%d",&x);

if(x++>5)printf("%d",x);

else

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

}

参考答案:

7和5

执行下列语句后的输出为(

).

intj=-1;

if(j<=1)

printf("****\n");

else

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

参考答案:

****

为了避免在嵌套的条件语句if···else中产生二义性,C语言规定:else子句总是与(

)配对.

参考答案:

其之前最近的if

C语言的switch语句中case后(

).

参考答案:

只能为常量或常量表达式

voidmain(){

intx=1,a=0,b=0;

switch(x)

{

case

0:b++;

case

1:a++;

case

2:a++;b++;

}

printf("a=%d,b=%d",a,b);}该程序的输出结果是(

).

参考答案:

2,1

有以下程序

main()

{

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

if(a>b>c)

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

elseif((c-1>=d)==1)

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

else

printf("%d\n",d+2);}执行后输出结果是(

).

参考答案:

3

当a=1、b=2、c=5、d=5时,执行下面的程序后,x的值是(

).

if(a<b)

if(c<d)x=1;

else

if(a<c)

if(b<d)x=2;

elsex=3;

elsex=6;

elsex=7;

参考答案:

2

第五章测试

对于while(!E)s;,若要执行循环体语句s,则E的数值应为

参考答案:

E等于0

下面程序的功能是计算正整数2345的各位数字平方和,请选择填空。#include<stdio.h>main(){intn,sum=0;n=2345;do{sum=sum+

;n=n/10;}while(n);printf(“sum=%d”,sum);}

参考答案:

(n%10)*(n%10)

对以下程序段,循环体执行的次数是

。intk=0;while(k=1)

k++;

参考答案:

无数次

下面程序段的执行结果是(

)。a=1;b=2;c=2;while(a<b<c){t=a;a=b;b=t;c--;}printf(“%d,%d,%d”,a,b,c);

参考答案:

1,2,0

下列叙述中正确的是(

)。

参考答案:

用do-while语句构成的循环,在while后的表达式为零时结束循环

执行intx=-1;do{x=x*x;}while(x==0);循环时,下列说法正确的是(

)。

参考答案:

循环体将执行一次

以下程序段的输出结果是(

)。intmain(){intnum=0,s=0;while(num<=2)

{num++;

s+=num;

}

printf("%d\n",s);}A)10

B)6

C)3

D)1

参考答案:

6

若S=0,执行循环语句“for(i=1;i<=10;i=i+3)s=s+i;”后,i的值为(

)。

参考答案:

13

与下面程序段等价的是。for(n=100;n<=200;n++){if(n%3==0)continue;printf(“%4d”,n);}

参考答案:

for(n=100;n<=200;n++)if(n%3!=0)printf(“%4d”,n);

下面程序段

。for(t=1;t<=100;t++){scanf(“%d”,&x);if(x<0)

break;printf(“%3d”,t);}

参考答案:

当x<0时整个循环结束

第六章测试

以下正确的函数形式是

参考答案:

doublefun(intx,inty){doublez;z=x+y;returnz;}

若调用一个函数,且此函数中没有return语句,则正确的说法是。

参考答案:

该函数返回一个不确定的值

以下正确的说法是。

参考答案:

实参和与其对应的形参各占用独立的存储单元

下面函数调用语句含有实参的个数为。func((exp1,exp2),(exp3,exp4,exp5));

参考答案:

2

若使用一维数组名作函数实参,则以下正确的说法是。

参考答案:

在被调函数中,不需要考虑形参数组的大小

凡是函数中未指定存储类型的局部变量,其隐含的存储类别为。

参考答案:

自动(auto)

执行下列程序:#defineM(x,y)

(x*y)i=3;i=M(i,i+1)-8;变量i的值应为。

参考答案:

2

执行下列程序,正确的输出是。intx=3,y=5;voidswap(){

inta;a=x;

x=y;

y=a;}intmain(){

intx=5,y=7;swap();printf(“%d,%d\n”,x,y);

return0;}

参考答案:

5,7

以下程序是选出能被3整除且至少有一位是5的两位数,打印出所有这样的数及其个数。请选择填空。sub(intk,intn){inta1,a2;a2=

;a1=k-a2*10;if((k%3==0&&a2==5)||(k%3==0&&a1==5)){printf(“%d”,k);n++;returnn;}elsereturn-1;}

int

main(){intn=0,k,m;for(k=10;k<=99;k++){m=sub(k,n);if(m!=-1)n=m;}printf(“\nn=%d”,n);return0;}

参考答案:

k/10

有以下程序:#include<stdio.h>intfun(intx){

intp;if(x==0||x==1)

return3;p=x-fun(x-2);returnp;}intmain(){

printf(“%d\n”,fun(9));

return0;}正确的输出是。

参考答案:

7

第七章测试

下列数组定义语句中,正确的是(

)。

参考答案:

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

设有下列数据定义语句,则数组元素x[i]的值是(

)。

inti=3,x[4]={1,2,3};

参考答案:

0

运行下列程序的输出结果是(

main(){inta[]={1,2,3,4,5},i;for(i=1;i<5;i++)

printf("%d",a[i]-a[i-1]);}

参考答案:

1111

若有说明:inta[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是(

).

参考答案:

3

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

)。

#include<stdio.h>#include<string.h>main(){chara[10]=”abcd”;

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

参考答案:

4,10

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

)。#include<stdio.h>main(){intb[3][3]={0,1,2,0,1,2,0,1,2};inti,j,t=1;for(i=0;i<3;i++)

for(j=i;j<=i;j++)

t+=b[i][b[j][i]];

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

参考答案:

4

下面是对s的初始化,其中不正确的是。

参考答案:

chars[5]=“abcdef”;

下面程序段的运行结果是。charc[5]={‘a’,‘b’,‘\0’,‘c’,‘\0’};printf(“%s”,c);

参考答案:

ab

对两个数组a和b进行如下初始化chara[]=“ABCDEF”;charb[]={‘A’,‘B’,‘C’,‘D’,‘E’,‘F’};则以下叙述正确的是。

参考答案:

a数组比b数组长度长

有两个字符数组a、b,则以下正确的输入格式是。

参考答案:

scanf(“%s%s”,a,b);

第八章测试

以下程序有错,错误原因是_。int

main()

{int*p,i;char*q,ch;p=&i;

q=&ch;

*p=40;

*p=*q;

┆}

参考答案:

p和q的类型不一致,不能执行*p=*q;语句

已有变量定义和函数调用语句:inta=25;print_value(&a);下面函数的正确输出结果是

voidprint_value(int*x)

{printf(“%d\n”,++*x);

}

参考答案:

26

下面程序的运行结果是。

#include<stdio.h>int

main(){staticchara[]=”Language”,b[]=”programe”;

char*p1,*p2;

intk;

p1=a;

p2=b;

for(k=0;k<=7;k++)

if(*(p1+k)==*(p2+k))

printf(“%c”,*(p1+k));

}

参考答案:

gae

下面程序的运行结果是。#include<stdio.h>#include<string.h>main(){char*p1,*p2,str[50]=”abc”;

p1=”abc”;p2=”abc”;

strcpy(str+1,strcat(p1,p2));

printf(“%s\n”,str);}

参考答案:

aabcabc

若有说明:char*language[]={“FORTRAN”,”BASIC”,”PASCAL”,”JAVA”,”C”};则表达式*language[1]>*language[3]比较的是。

参考答案:

字符串BASIC和字符串JAVA

若有说明语句chara[]=”Itismine”;

char*p=”Itismine”;则以下不正确的叙述是_。

参考答案:

a中只能存放10个字符

以下程序调用fun函数求数组中最大值所在元素的下标。#include<stdio.h>voidfun(int*s,intn,int*k){

inti;for(i=0,*k=i;i<n;i++)

if(s[i]>s[*k])

_}intmain(){

inta[5]={1,8,3,6,9},k;fun(a,5,&k);printf(“%d,%d\n”,k,a[k]);return0;}

参考答案:

*k=i;

有以下程序:#include<stdio.h>voidfun(int*p,int*q){

int

*t;t=p;

p=q;

q=t;}intmain(){

inta=0,b=9;fun(&a,&b);printf(“%d,%d\n”,a,b);return0;}程序的输出结果是。

参考答案:

0,9

以下正确的定义语句和赋值语句是_。

参考答案:

charb[3][5],*p[3];

p[0]=b[0];

p[2]=*b+4;

参考答案:

p1=p2;

第九章测试

有以下结构体定义:structexample{intx;inty;}v1;则正确的引用或定义是(

参考答案:

v1.x=10;

对于如下结构体定义,若对变量person的出生年份进行赋值,正确的赋值是(

)。structdate{intyear,month,day;

};structworklist{charname[20];

charsex;

structdatebirth;}person;

参考答案:

person.birth.year=1976

根据下述定义,可以输出字符'A'的语句是(

)。structperson{charname[11];struct

{charname[11];

intage;}other;};structpersonman[10]={{"Jone",{"Paul",20}},{"Paul",{"Mary",18}},{"Mary",{"Adam",23}},{"Adam",{"Jone",22}}};

参考答案:

printf("%c",man[2].[0]);

若有以下程序段:structst{intn;structst*next;};structsta[3]={5,&a[1],7,&a[2],9,'\0'},*p=a;则值为6的表达式为(

)。

参考答案:

++p->n

运行下列程序段,输出结果是(

structcountry

{intnum;

charname[10];

}x[5]={1,"China",2,"USA",3,"France",4,"England",5,"Spanish"};

structcountry*p;

p=x+2;

printf("%d,%c",p->num,(*p).name[2]);

参考答案:

3,a

定义以下结构体数组

structc

{intx;

inty;

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

参考答案:

2

定义以下结构体类型struct

student{char

name[10];float

score[50];double

average;}stud1;则stud1占用内存的字节数是(

)。

参考答案:

218

能在一个存储区内处理不同的类型的数据叫结构体。

参考答案:

在编译时对结构体类型不分配空间,只能对结构体变量分配空间。

参考答案:

结构体一旦定义,系统就给它分配所需的内存单元。

参考答案:

第十章测试

以下叙述中错误的是(

)。

参考答案:

语句FILE

fp;定义了一个名为fp的文件指针

有以下程序

#include

<stdio.h>

main()

{FILE

*fp;

int

i,k,n;

fp=fopen("data.dat","w+");

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

{

fprintf(fp,"%d

",i);

if(i%3==0)

fprintf(fp,"\n");

}

rewind(fp);

fscanf(fp,"%d%d",&k,&n);

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

fclose(fp);

}

程序运行后的输出结果是

)。

参考答案:

1

2

以下与函数fseek(fp,0L,SEEK_SET)有相同作用的是(

)。

参考答案:

rewind(fp)

以下程序

#include

"stdio.h"

voidWriteStr(char

*fn,char

*str)

{

FILE

*fp;

fp=fopen(fn,"W");

fputs(str,fp);

fclose(fp);

}

main()

{

WriteStr("t1.dat","start");

WriteStr("t1.dat","end");

}

程序运行后,文件t1.dat中的内容是(

)。

参考答案:

end

有如下程序

#include<stdio.h>

main()

{FILE

*fp1;

fp1=fopen("f1.txt","w");

温馨提示

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

评论

0/150

提交评论