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

下载本文档

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

文档简介

C语言程序设计基础智慧树知到期末考试答案+章节答案2024年石河子大学指针即地址。

答案:错将结构体变量作参数的方法称为多值传递,效率非常高。

答案:错预编译中的宏定义命令是以#include开头。

答案:错C语言中,用户所定义的标识符允许使用关键字。

答案:错若某一数组的元素具有相同的结构体类型,则称该数组为结构体数组。

答案:对设定义了下面的结构体类型和变量,变量x在内存中所占的字节数为25structstu{charmun[9];charname[8];floatmaths,english;}x;

答案:对程序设计语言有两个功能即数据表达和流程控制。

答案:对C语言中,符号常量的值在程序运行过程中可以改变。

答案:错以下语句有错,错误原因是未给指针变量p赋地址值。#include<stdio.h>intmain(){int*p;*p=100;

答案:对所谓常量就是指在程序运行的整个过程中,其值始终不变的量。

答案:对以下不是无限循环的语句为。

答案:for(y=0,x=1;x>++y;x=i++)i=x关于结构体类型的定义,说法正确的是。

答案:结构体类型的定义,是定义一种数据类型一个C语言程序是由。

答案:函数组成下述程序运行结果为。#includestructst{intn;int*m;}*p;voidmain(){intd[5]={10,20,30,40,50};structstarr[5]={100,d,200,d+1,300,d+2,400,d+3,500,d+4};p=arr;printf("%d\t",++p->n);printf("%d\t",(++p)->n);printf("%d\n",++(*p->m));}

答案:10120021要使下面程序输出10个整数,则在下画线处填入正确的数是()。for(i=0;i<=;)printf(“%d\n”,i+=2);

答案:18运行下面程序后,输出是()。#includemain(){intk=-3;if(k<=0)printf("****\n")elseprintf(";#\n");}

答案:有语法错误不能通过编译下面程序的运行结果是()。#includeintmain(){ints,k;for(s=1,k=2;k<5;k++)s+=k;printf(“%d\n”,s);return0;}

答案:10定义以下结构体类型structs{doublea;charb;floatf;};则语句printf("%d",sizeof(structs))的输出结果为。

答案:13若运行下面程序时,给变量a输入15,则输出结果是()。#includemain(){inta,b;scanf("%d",&a);b=a>15?a+10:a-10;printf("%d\n",b);}

答案:5有以下程序。#includeintmain(){intarray[]={1,2,3,4,5,6,7};Inti,j,*pointer1,*pointer2;pointer1=&array[1];pointer2=&array[5];i=*pointer1**pointer2;j=*(pointer1+2)+*(pointer2+1);printf("%d,%d\n",i,j);return0;}程序执行后的输出结果是。

答案:12,11设有语句inta=3;,则执行了语句a+=a-=a*=a;后,变量a的值是。

答案:0有以下程序#includemain(){FILE*fp;inti,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);}程序运行后的输出结果是。

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

答案:chara=’3’;在以下一组运算符中,优先级最低的运算符是。

答案:=下列各语句定义了数组,其中哪一个是不正确的。

答案:floatx[2][]={1,2,4,6,8,10};字符串"ABC"在内存占用的字节数是。

答案:4sizeof(double)的结果值是。

答案:8下面程序的输出结果是#includemain(){intx=100,a=10,b=20,ok1=5,ok2=0;if(aif(b!=15)if(!ok1)x=1;elseif(ok2)x=10;x=-1;printf("%d\n",x);}

答案:-1下列选项中不能够定义一个结构体类型变量stu的是。

答案:structstudent{intnum;intage;};studentstu;在C程序中,以下不正确的叙述是。

答案:当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数据以下叙述中错误的是。

答案:C语言中,随机文件以二进制代码形式存储数设有intx=8,表达式x++*1/3的值是。

答案:2设ch是char型变量,其值为A,且有下面的表达式:ch=(ch>='A'&&ch<='Z')?(ch+32):ch上面表达式的值是

答案:a下面不是结构体类型特点的选项为。

答案:结构体中的成员都必须是相同的数据类型以下程序的运行结果是()。#includeintmain(){intx=3;do{printf(“%d”,x--);}while(!x);return0;}

答案:3以下程序的输出结果是。#includeintmain(){intaa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};inti,s=0;for(i=0;i<4;i++)s+=aa[i][1];printf(“%d\n”,s);}

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

答案:for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来判断字符串s1是否大于字符串s2,应当使用。

答案:if(strcmp(s1,s2)>0)阅读下面程序段,则执行后的结果是

。#includelongfun(intn){if(n>2)return(fun(n-1)+fun(n-2));elsereturn(2);}intmain(){printf(“%ld﹨n”,fun(5));return0;}

答案:10下面的程序#includemain(){intx=3,y=0,z=0;if(x=y+z)printf("****");elseprintf("####");}

答案:输出###以下程序的输出结果是。intmain(){charc[]="china";char*pc=c;while(*pc)printf("%c",*(pc++)-32);return0;}

答案:CHINA能正确表示a≥10或a≤0的关系表达式是

答案:a>=10||a<=0在执行以下程序时,为了使输出结果为:t=4则给a和b输入的值应满足的条件是#includemain(){ints,t,a,b;scanf("%d,%d",&a,&b);s=1;t=1;if(a<0)s=s+1;if(a>b)t=s+t;elseif(a==b)t=5;elset=2*s;printf("t=%d\n",t);}

答案:0表达式:10!=9的值是

答案:1printf("f=%3.2f%%",3.478);的输出结果是。

答案:f=3.48%有以下定义和语句:structstudent{intage;intnum;};structstudentstu[3]={{1001,20},{1002,19},{1003,21}};intmain(){structstudent*p;p=stu;……}则以下不正确的引用是。

答案:p=&stu.age以下用户标识符中,合法的是。

答案:nit定义以下结构体类型structs{charx;floatf;}a[3];语句printf("%d",sizeof(a))的输出结果为。

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

答案:do-while的循环体至少无条件执行一次for(i=0;i<10;i++);结束后,i的值是()。

答案:10数组定义为inta[3][2]={1,2,3,4,5,6},值为6的数组元素是。

答案:a[2][1]下面程序段的执行结果是()。a=1;b=2;c=2;while(aprintf(“%d,%d,%d”,a,b,c);

答案:1,2,0以下函数的功能是。voidfun(char*s1,char*s2){inti;char*s=s1;for(;*s2!='\0';s2++){for(j=0,s1=s;*s1!='\0';s1++)if(*s1!=*s2)s[j++]=*s1;s[j]='\0';}}

答案:找出在字符串s1中而不在s2中的所有字符;当运行以下程序时,从键盘输入:aabbccdd(表示回车),则下面程序的运行结果是。#includemain(){chara1[5],a2[5],a3[5],a4[5];scanf(“%s%s”,a1,a2);gets(a3);gets(a4);puts(a1);puts(a2);puts(a3);puts(a4);}

答案:aabbccdd设变量i是int类型,执行语句i=’A’+2.5后,正确的叙述是。

答案:i的值是字符A的ASCII值加上2以下不是无限循环的程序段是()。

答案:for(y=0,x=1;x>++y;x=i++)i=x;以下程序的运行结果是()。#includemain(){inta=0,b=1,c=0,d=20,x;if(a)d=d-10;elseif(!b)if(!c)x=15;elsex=25;printf("%d\n",d);}

答案:20printf("%c,%d",'a','a');的输出结果是。

答案:a,97下面程序的运行结果是。#includemain(){chara[]=“morning”,t;inti,j=0;for(i=1;i<7;i++)if(a[j]t=a[j];a[j]=a[7];a[7]=a[j];puts(a);}

答案:mo以下程序的输出结果是。intx;voidfun(intx){x*=x;printf("%d",x);}intmain(){intx=4;fun(x);printf("%d",x);{intx=0;printf("%d",++x);}printf("%d",x);return0;}

答案:16,4,1,4若想输出b数组的十个元素,下面存在错误的程序行是2。(每个程序行前面的数字代表行号)1main()2{intb[10]={1,3,5,7,9,2,4,6,8,10},k;3for(k=0;k<10;k++,b++)4printf(“%4d”,*b);5}

答案:错C语言中,用户所定义的标识符中,大、小字母代表不同标识。

答案:对A函数调用B函数,B函数调用A函数,这种调用方式是嵌套调用。

答案:错下面程序段的输出结果是9。inta=9;printf(“%o\n”,a);(注意:%o中的o是字母o,不是数字0)

答案:错已知“struct{inta;longb;charc;}com”则变量com'占用的字节数是18。

答案:错C语言中函数参数传递方式有地址传递和值传递两种。

答案:错对于以下结构定义,(*p)->str++中的++加在。struct{intlen;char*str;}*p;

答案:语法错误若有以下说明,则数值为4的表达式是。inta[12]={1,2,3,4,5,6,7,8,9,10,11,12};charc=’a’,d,g;

答案:a['d'-c]算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为。

答案:算术运算、关系运算、赋值运算合法的数组定义是。

答案:inta[][3]={0,1,2,3,4};以下程序段的输出结果是()。inti,sum;for(i=1;i<6;i++)sum+=sum;printf("%d\n",sum);

答案:不确定下面程序的运行结果是。#includemain(){charch[7]={“12ab56”};inti,s=0;for(i=0;ch[i]>=‘0’&&ch[i]<=‘9’;i+=2)s=10*s+ch[i]-‘0’;printf(“%d\n”,s);}

答案:1为表示关系x≥y≥z,应使用C语言表达式

答案:(x>=y)&&(y>=z)inta[4]={5,3,8,9};其中a[3]的值为。

答案:9执行下面程序段intx=35;charz='A';intB;B=((x=15)&&(z<'a'))后,B的值为

答案:1以下4个数组定义中,是错误的。

答案:intn,d[n];C语言中最简单的数据类型包括。

答案:整型、实型、字符型以下程序的运行结果是()。#includemain(){intx=1,y=1,z=-1;x+=y+=z;printf("%d\n",x

答案:1以下正确的函数原型是。

答案:intfun[intx,inty];若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是。

答案:2以下程序的运行结果是()。#includemain(){inta=-1,b=3,c=3;ints=0,w=0,t=0;if(c>0)s=a+b;if(a<=0){if(b>0)if(c<=0)w=a-b;}elseif(c>0)w=a-b;elset=c;printf("%d,%d,%d\n",s,w,t);}

答案:2,0,0与y=(x>0?1:x<0?-1:0);的功能相同的if语句是

答案:if(x>0)y=1;elseif(x<0)y=-1;elsey=0;设a为整型变量,不能正确表达数学关系:10。

答案:10有如下程序,当输入“china?”时,程序的执行结果是()。#includeintmain(){while(putchar(getchar())!='?');return0;}

答案:china?下列程序段不是死循环的是()。

答案:ints=36;while(s)--s;若有定义语句:inta[6]={0,1,2,3},*p;则下面表达式值为2的是:

答案:p=a+1,*p++;下列程序段的输出结果是()#includeintmain(void){intx=1,a=0,b=0;switch(x){case0:b++;case1:a++;case2:a++;b++;}printf("a=%d,b=%d\n",a,b);return0;}

答案:a=2,b=1intb=0,x=1;执行语句if(x++)b=x+1;后,x,b的值依次为。

答案:2,3若定义doublet;,则表达式t=1,t+5,++t的值为

。()

答案:2#includeintmain(){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));return0;}下面程序的运行结果是______________。

答案:gaescanf('%c',&a);若要给变量输入大写字母A,则以下正确的输入是

答案:A下面程序的运行结果是。#includemain(){charstr[]=“SSSWLIA”,c;intk;for(k=2;(c=str[k])!=‘\0’;k++){switch(c){case‘I’:++k;break;case‘L’:continue;default:putchar(c);continue;}putchar(‘*’);}}

答案:SW*当运行以下程序时,从键盘输入:abcdef(表示回车),则下面程序的运行结果是。#include#defineN6main(){charc[N];inti=0;for(;ifor(i=0;i}

答案:abcd以下程序能找出数组x中的最大值和该值所在的元素下标,数组元素值从键盘输入。请选择填空。intmain(){intx[10],*p1,*p2,k;for(k=0;k<10;k++)scanf(“%d”,x+k);for(p1=x,p2=x;p1-x<10;p1++)if(*p1>*p2)p2=______1______;printf(“MAX=%d,INDEX=%d\n”,*p2,p2-x);}

答案:p1以下程序的输出结果是。#includeintmain(){intm[][3]={1,4,7,2,5,8,3,6,9};inti,j=2;for(i=0;i<3;i++)printf(“%d”,m[j][i]);}

答案:369假定等级和分数有以下对应关系:等级:A分数:85~100等级:B分数:60~84等级:C分数:60以下对于等级grade输出相应的分数区间,能够完成该功能的程序段是()。假定等级和分数有以下对应关系:等级:A分数:85~100等级:B分数:60~84等级:C分数:60以下对于等级grade输出相应的分数区间,能够完成该功能的程序段是()。

答案:switch(grade){case'A':printf("85--100\n");break;case'B':printf("60--84\n");break;case'C':printf("60以下\n");break;default:printf("等级错误!\n");}对for(表达式1;;表达式3)可理解为(

)。

答案:for(表达式1;1;表达式3)设有如下定义,则对data中的a成员的正确引用是。structsk{inta;floatb;}data,*p=&data;

答案:(*p).a以下叙述不正确的是。

答案:在C程序中,注释说明只能位于一条语句的后面字符串的结束标志是。

答案:'\0'设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为。

答案:非0值(文件结束,返回1,否则返回0)下列定义的字符数组中,语句printf("%s\n",str[2]);的输出是。staticstr[3][20]={"basic","foxpro","windows"};

答案:windows以下选项中,是不正确的C语言字符型常量。

答案:"a"请读程序:#includemain(){intx=1,y=0,a=0,b=0;switch(x){case1:switch(y){case0:a++;break;case1:b++;break;}case2:a++;b++;break;}printf("a=%d,b=%d\n",a,b);}上面程序的输出结果是

答案:a=2,b=1以下程序#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若fp已正确定义并指向某个文件,当未遇到该文件结束标志时函数feof(fp)的值为(

)。

答案:一个非0值有以下程序#includemain(){

FILE*fp;

inti,k=0,n=0;

fp=fopen(“d1.dat”,”w”);

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

fprintf(fp,”%d”,i);

fclose(fp);

fp=fopen(“d1.dat”,”r”);

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

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

fclose(fp);}执行后输出结果是(

)。

答案:123

0以下叙述中错误的是(

)。

答案:语句FILE

fp;定义了一个名为fp的文件指针有如下程序#includemain(){FILE

*fp1;

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

fprintf(fp1,"abc");

fclose(fp1);}若文本文件f1.txt中原有内容为:good,则运行以上程序后文件f1.txt中的内容为(

)。

答案:abc以下叙述中不正确的是

)。

答案:C语言中,顺序读写方式不适用于二进制文件有以下程序(提示:程序中fseek(fp,-2L*sizeof(int),SEEK_END);语句的作用是使位置指针从文件尾向前移2*sizeof(int)字节)#includemain(){FILE*fp;

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

fp=fopen("data.dat","wb");

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

fwrite(&a[i],sizeof(int),1,fp);

fclose(fp);fp=fopen("data.dat

","rb");fseek(fp,-2L*sizeof(int).SEEK_END);fread(&b,sizeof(int),1,fp);/*从文件中读取sizeof(int)字节的数据到变量b中*/fclose(fp);printf("%d\n",B);}执行后输出结果是(

)。

答案:3有以下程序

#include

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下列关于C语言数据文件的叙述中正确的是(

)。

答案:文件由ASCII码字符序列组成,C语言只能读写文本文件以下与函数fseek(fp,0L,SEEK_SET)有相同作用的是(

)。

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

答案:v1.x=10;定义以下结构体数组

structc

{intx;

inty;

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

答案:2根据下述定义,可以输出字符'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]);定义以下结构体类型struct

student{char

name[10];float

score[50];double

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

)。

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

答案:错运行下列程序段,输出结果是(

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在编译时对结构体类型不分配空间,只能对结构体变量分配空间。

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

)。

答案:++p->n结构体一旦定义,系统就给它分配所需的内存单元。

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

)。structdate{intyear,month,day;

};structworklist{charname[20];

charsex;

structdatebirth;}person;

答案:person.birth.year=1976下面程序的运行结果是。#includeint

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以下正确的定义语句和赋值语句是_。

答案:charb[3][5],*p[3];

p[0]=b[0];

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

答案:字符串BASIC和字符串JAVA有以下程序:#includevoidfun(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

答案:p1=p2;下面程序的运行结果是。#include#includemain(){char*p1,*p2,str[50]=”abc”;

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

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

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

答案:aabcabc以下程序调用fun函数求数组中最大值所在元素的下标。#includevoidfun(int*s,intn,int*k){

inti;for(i=0,*k=i;is[*k])

_}intmain(){

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

答案:*k=i;以下程序有错,错误原因是_。int

main()

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

q=&ch;

*p=40;

*p=*q;

┆}

答案:p和q的类型不一致,不能执行*p=*q;语句若有说明语句chara[]=”Itismine”;

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

答案:a中只能存放10个字符已有变量定义和函数调用语句:inta=25;print_value(&a);下面函数的正确输出结果是

voidprint_value(int*x)

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

}

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

答案:scanf(“%s%s”,a,b);下面是对s的初始化,其中不正确的是。

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

答案:a数组比b数组长度长程序运行后的输出结果是(

)。

#include#includemain(){chara[10]=”abcd”;

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

答案:4,10运行下列程序的输出结果是(

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设有下列数据定义语句,则数组元素x[i]的值是(

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

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

答案:ab程序运行后的输出结果是(

)。#includemain(){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下列数组定义语句中,正确的是(

)。

答案:inta[][3]={1,2,3,4,5,6};执行下列程序,正确的输出是。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以下正确的函数形式是

答案:doublefun(intx,inty){doublez;z=x+y;returnz;}有以下程序:#includeintfun(intx){

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

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

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

return0;}正确的输出是。

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

答案:在被调函数中,不需要考虑形参数组的大小若调用一个函数,且此函数中没有return语句,则正确的说法是。

答案:该函数返回一个不确定的值以下正确的说法是。

答案:实参和与其对应的形参各占用独立的存储单元下面函数调用语句含有实参的个数为。func((exp1,exp2),(exp3,exp4,exp5));

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

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

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

答案:自动(auto)以下程序是选出能被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以下程序段的输出结果是(

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

{num++;

s+=num;

}

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

B)6

C)3

D)1

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

)。

答案:循环体将执行一次下面程序段的执行结果是(

)。a=1;b=2;c=2;while(a答案:1,2,0与下面程序段等价的是。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);下列叙述中正确的是(

)。

答案:用do-while语句构成的循环,在while后的表达式为零时结束循环对以下程序段,循环体执行的次数是

。intk=0;while(k=1)

k++;

答案:无数次下面程序段

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

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

答案:当x<0时整个循环结束对于while(!E)s;,若要执行循环体语句s,则E的数值应为

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

)。

答案:13下面程序的功能是计算正整数2345的各位数字平方和,请选择填空。#includemain(){intn,sum=0;n=2345;do{sum=sum+

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

答案:(n%10)*(n%10)有以下程序

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);}执行后输出结果是(

).

答案:3voidmain(){

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

)配对.

答案:其之前最近的if两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是(

).

#include

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");

答案:****对下述程序,(

)是正确的判断.

#include

voidmain()

{int

x,y;

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

if(x>y)

x=y;y=x;

else

x++;y++;

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

答案:语法错误,不能通过编译以下运算符中,优先级最高的运算符是(

).

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

).

if(a答案:2C语言的switch语句中case后(

).

答案:只能为常量或常量表达式执行下列程序段后,m的值是(

).

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

m=(w答案:2C语言中合法的字符常量是

答案:'\n'printf("%c,%d",'a','a');的输出结果是

答案:a,97无符号基本整型的数据类型符为

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

,字符型数据类型符为

答案:unsignedint

double

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

的计算结果为

答案:3有以下程序:

main(){int

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

}

程序运行后的输出结果是

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

)。

答案:printf("%o\n",'a');表达式1/5+3%4+4.5/5的值是

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

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

答案:%o下列不正确的转义字符是

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

答案:if语句后面只能加逻辑表达式。关于关系运算,下列说法正确的是?

答案:关系表达式的值是一个逻辑值,即“真”或“假”。语句for(i=1;i<=100;i++)sum=sum+i;的功能是?

答案:1~100以内所有整数的和下列函数在屏幕上输出的结果是?#include

intmain(void){

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

return0;}

答案:学号

姓名

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

答案:i=4,j=3关于函数,下列说法正确的是?

答案:同一个函数可以被一个或多个函数调用任意多次。关于scanf()函数,说法正确的是?

答案:scanf()函数中“u”是用来输入无符号的十进制整数的格式字符。下列运算符,优先级最高的是?

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

答案:用户可以自己定义函数。下列函数在屏幕上输出的结果是?#include

intmain(void){

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

return0;}

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

)。

答案:%ld任何程序都有主函数吗?

答案:对下列不是C语言特点的是?

答案:只有64个保留字(reservedkeywords),使变量、函数命名有更多弹性。下列关于C语言程序在结构上特点的描述中,错误的是(

)。

答案:C语言程序被执行时,通常是从第1个函数开始在printf()函数的格式说明符中,双精度浮点型数的输出格式说明符是(

)。

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

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

答案:对DevC++是一个开源的编程软件吗?

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

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

)。

答案:C语言不是结构化程序设计语言使用标准库函数时,必须要带相关的头文件。

答案:对C语言中,字符常量可以用单引号或双引号括起来。

答案:错设一个C系统的float型有效数字是7位,则超过7位数的运算是不准确的。

答案:对C语言中,字符常量只能包含一个常量(字符)。

答案:对结构体数组是结构体与数组的结合,与普通数组的不同之处在于每个数组元素都是一个结构体类型的变量。

答案:对若定义floata;,现要从键盘输入a数据,其整数位为3位,小数位为2位,则选用。

答案:scanf("%6f",&a);设a=1,b=2,c=3,d=4,则表达式:a。

答案:1阅读下面程序段,则执行后的结果是。#includeintx=1;intmain(){intmd=4;fun(md);printf(“%d,%d\n”,md,x);return0;}voidfun(intk){k+=x;x+=k;{charx=’B’;printf(“%d,”,x-‘A’);}printf(“%d,%d,”,k,x);}

答案:1,5,6,4,6下面程序的运行结果是。longfunc(inti){staticints=1;s*=i;returns;}intmain(){longt=0,i;for(i=1;i<=4;i++)t+=func(i);printf("%ld\n",t);return0;}

答案:33与语句while(!s)中的条件等价的是()。

答案:s==0下列不正确的转义字符是。

答案:74下面程序段是输出两个字符串中对应字符相等的字符。请选择填空。charx[]=“programming”;chary[]=“Fortran”;inti=0;while(x[i]!=‘\0’&&y[i]!=‘\0’){if(x[i]==y[i])printf(“%c”,);elsei++;}

答案:x[i++]为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。

答案:在其之前未配对的最近的if设整型变量m,n,a,b,c,d均为1,执行(m=a>b)&&(n=c>d)后,m,n的值是。

答案:0,0下面程序运行结果是。#defineMUL(x,y)x*yintmain(){doublex=4,y=6,z;z=MUL(x-y,x+y);printf("%.2f",z);return0;}

答案:-14下面程序段的运行结果是。chara[7]=“abcdef”;charb[4]=“ABC”;strcpy(a,b);printf(“%c”,a[5]);

答案:f执行下面程序的输出结果是()。#includemain(){inta=5,b=0,c=0;if(a=a+b)printf("****\n");elseprintf(";#\n");}

答案:输出****当运行以下程序时,从键盘输入:AhaMAAha(表示回车),则下面程序的运行结果是。#includemain(){chars[80],c=‘a’;inti=0;scanf(“%s”,s);while(s[i]!=‘\0’){if(s[i]==c)s[i]=s[i]-32;elseif(s[i]==c-32)s[i]=s[i]+32;i++;}puts(s);}

答案:ahAMa判断字符串a和b是否相等,应当使用。

答案:if(strcmp(a,b))下列是用户自定义标识符的是。

答案:_xy访问一个结构体的成员,可以选用的运算符是。

答案:“.”下列程序段的功能是计算:s=1+12+123+1234+12345,则划线处应填()。inti,s=0,t=0;for(i=1;i<=5;i++){t=i+;s=s+t;}printf("s=%d",s);

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

答案:a>=10||a<=0下面程序的输出结果是#includemain(){inta=2,b=7,c=5;switch(a>0){case1:switch(b<0){case1:printf("@");break;case0:printf("!");break;}case0:switch(c==5){case0:printf("*");break;case1:printf("#");break;default:printf("%%");break;}default:printf("&");}printf("\n");}

答案:!#&设ch是char型变量,其值为'A',则下面表达式的值是。ch=(ch>='A'&&ch<='Z')?(ch+32):ch

答案:aC语言规定:在一个源程序中,main函数的位置。

答案:可以任意若有说明:inta[3][4]={0};则下面正确的叙述是。

答案:数组a中每个元素均可得到初值0运行以下程序段时编译出错,其原因是。charc1='a',c2='123';printf("%c,%d\n",c1,c2);

答案:c2是字符变量,只能赋以字符常量若有以下数组说明,则数值最小的和最大的元素下标分别是。inta[12]={1,2,3,4,5,6,7,8,9,10,11,12};

答案:0,11C语言中,一个整数如果其值在-323768~32767范围内,认为它是int型,只能赋值给int型变量。

答案:错函数调用的一般形式是将要调用的函数名带上一对圆括号,圆括号里放的是实际参数即实参。

答案:对已知有:inta;则以下语句正确的是

答案:int*p=&a;C语言中,要求运算对象只能为整数的运算符是。

答案:%下面定义结构变量的语句中错误的是。

答案:structstudent{intnum;charname[20];};students;假定int类型变量占用两个字节,其定义为:intx[10]={0,2,4};则数组x在内存中所占字节数是。

答案:20一个C程序的执行是从。

答案:本程序的main函数开始,到main函数结束对于return语句说法正确的是。

答案:return语句可以在一个函数中出现多次;以下能正确定义数组并正确赋初值的语句是。

答案:intc[3][2]={{1,2},{34}};设f是实型变量,下列表达式中不是逗号表达式的是。

答案:f=(3.2,1.0)逻辑运算符中,运算优先级按从高到低依次为。

答案:!,&&,||若有以下定义:floatx;inta,b;则正确的switch语句是

答案:switch(x){case1.0:printf("*\n");case2.0:printf("**\n")}设a,b和c都是int型变量,且a=3,b=4,c=5,则下面的表达式中,值为0的表达式是

答案:!((a有以下语句:intb[2][3]={0};int(*pb)[3];pb=b;则下面对数组b中元素错误引用的是。

答案:*(pb+1)+2若i为整型变量,则以下循环执行次数是。for(i=2;i==0;)printf(“%d”,i--);

答案:0次指针数组和指向一维数组的指针含义相同。

答案:错以下for循环的执行次数是。for(x=0,y=0;(y=123)&&(x<4);x++)

答案:执行4次如果有定义语句:struct{intx,y;}s[2]={{1,3},{2,7}};则语句:printf(“%d\n”,s[0].y/s[1].x);输出结果为。

答案:1以下程序的运行结果是()。#includeintmain(){inti=10,j=0;do{j=j+i;i--;}while(i>5);printf(“%d\n”,j);return0;}

答案:40有下面的程序段chara[3],b[]=“China”;a=b;printf(“%s”,a);则。

答案:编译出错下面程序的循环次数是()。intk=0;while(k<10){if(k<1)continue;if(k==5)break;k++;}

答案:死循环,不能确定循环次数选择出合法的判断a和b是否相等的if语句(设intx,a,b,c;)。

答案

温馨提示

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

评论

0/150

提交评论