雨课堂学堂在线学堂云C语言程序设计(西南石油大学)单元测试考核答案_第1页
雨课堂学堂在线学堂云C语言程序设计(西南石油大学)单元测试考核答案_第2页
雨课堂学堂在线学堂云C语言程序设计(西南石油大学)单元测试考核答案_第3页
雨课堂学堂在线学堂云C语言程序设计(西南石油大学)单元测试考核答案_第4页
雨课堂学堂在线学堂云C语言程序设计(西南石油大学)单元测试考核答案_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

第1题以下哪个符号在C语言中用于表示一个注释?()A@B#C*D/**/第2题关于可执行文件说法正确的是()A可执行文件是编译链接后生成的文件B可执行文件就是源代码文件C可执行文件后缀为.objD可执行文件就是main.c文件第3题C语言源程序的后缀名是()A.objB.exeC.cpD.c第4题以下叙述中错误的是()A算法正确的程序最终一定会结束B算法正确的程序可以有零个输出C算法正确的程序可以有零个输入D算法正确的程序对于相同的输入一定有相同的结果第5题一个C语言程序中,可以使用多少个main函数?()A0B1C多个D理论上没有限制,但推荐只使用1个第6题一个C程序的执行是从()A本程序文件的第一个函数开始,到本程序文件的最后一个函数结束B本程序的main函数开始,到main函数结束C本程序的main函数开始,到本程序文件的最后一个函数结束D本程序文件的第一个函数开始,到本程序main函数结束第7题以下叙述正确的是()AC程序的基本组成单位是语句BC程序的每一行只能写一条语句C简单C语句必须以分号结束DC语句必须在一行内完成第8题程序的开发步骤中不包括()A撰写文档B运行程序C编译链接D编辑(编写代码)第9题程序编译链接后显示"0error,0warning"代表()A程序中可能存在语法错误B程序是不正确的C程序是正确的D程序中没有语法错误第10题C语言是一种()A面向对象的编程语言B面向过程的编程语言C两者都是D两者都不是第1题下列程序的输出结果是()

voidmain()

{

inta=100,b=0x100;

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

}A有语法错误不能通过编译B100,100C256,100D100,256第2题下列程序的输出结果是()

voidmain()

{inta=3,b=5;printf("%d\n",b=b/a);

}A0B2C1D不确定值第3题以下语句的输出结果是:()inta=3456;

intb=a/100*100;

printf("%d\n",b);A3456B3400C4560D3450第4题以下语句的输出结果是:()

inta=34;intb*=2;

printf("%d\n",b);A68B34C2D出错第5题以下语句的运行结果是:()

inta=345;intb=a%10*100+a/10%10*10+a/100;

printf("%d\n",b);A出错B345C534D543第6题以下语句的运行结果是:()

inta=345;

intb=a&&!a;

printf("%d\n",b);A345B0C1D无法计算第7题以下语句的运行结果是:()

inta=3,b=5,c=7;

(a>b)&&c+=3;

printf("%d\n",c);A3B7C10D0第8题以下不能正确判断字符变量ch是大写字母的表达式是()Ach>='A'&&ch<='Z'B'A'<=ch<='Z'Cch>=65&&ch<='Z'Dch<='Z'&&ch>='A'第9题x是一个大于1的奇数。表达以上命题的表达式中,值为假的是()Ax%2==0Bx/2Cx%2!=0Dx%2==1第10题以下不正确的:定义并初始化语句是()Ainty=100;Bfloatb=100;Ccharch=“hello”;Dchard=’d‘;第11题以下不能用来作为用户自定义标识符的是()AcaseBprintfCIntDarea第12题下列语句的输出结果是()printf("%.1lf\n",(double)(1/2);A有语法错误不能通过编译B0.5C0D0第13题下列语句的输出结果是()printf("%d\n",(int)(7.5+3.0)/3);A有语法错误不能通过编译B2C3D4第14题执行下列语句y=6;x=--y;后变量x和y的值是()Ax=6,y=6Bx=5,y=5Cx=5,y=6Dx=6,y=5第15题以下不能用来作为用户自定义标识符的是()ApiBareaCp1D1p第16题执行下列语句y=5;x=y++;后变量x和y的值是()Ax=5,y=5Bx=6,y=6Cx=5,y=6Dx=6,y=5第17题以下常量表示中,不正确的是()A10B2.5C5e-2.5D0x10第18题以下哪个选项是C语言中的关系运算符?()A=B&&C&D!=第19题以下符合C语言语法的赋值语句是()Ax=10;By==z;C3=a;D"hello"=b;第20题以下不符合C语言语法的赋值语句是()Ai=i+10Bn=10;Ck=2*4,k*4;Dy=float(x);第三章顺序结构程序设计-测验第1题以下正确的字符串常量是()。A'AB'B"A"CABCD'A'第2题设a、b和c都是int型变量,且a=3、b=4、c=5,则下面的表达式中,值为0的表达式是()A'a'&&'b'Ba<=bCa||+c&&b-cD!((a<b)&&!c||1)第3题设ch是char型变量,其值为'A',且有表达式ch=(ch>='A'&&ch<='Z')?(ch+32):ch则表达式的值是(

)A'A'B'a'C'Z'D'z'第4题下列程序执行后的输出结果是()

intmain()

{charch;ch='A’;ch=ch+34;printf("%d",ch);return0;

}AaBbC97D99第5题已有如下定义和输入语句,若要求a1,a2,分别为10,20,从第一列开始输入数据时,正确的输入方式是()

inta1,a2;

scanf("%d,%d",&a1,&a2);A1020Ba1=10,a2=20C1020D10,20第6题以下选项中,均是合法转义字符的选项是()A"\"B"\"C'\018'D'\0'第7题下面程序的输出是()

#include<stdio.h>voidmain()

{

intk=11;printf("k=%d,k=%o,k=%x\n",k,k,k);

}Ak=11,k=12,k=11Bk=11,k=13,k=13Ck=11,k=013,k=0xbDk=11,k=13,k=b第8题下列程序的输出结果是()

intmain()

{inti=1,j=2,k=3;i++==1&&(++j==3‖k++==3);printf("%d%d%d\n",i,j,k);return0;

}A123B234C223D233第9题已有如下定义和输入语句,用户正确的输入方式是()

chara1,a2,a3;

scanf("%c%c%c",&a1,&a2,&a3);Aa1a2a3(回车)BABC(回车)CA(回车)B(回车)C(回车)DABC(回车)第10题设x,y,z和k都是int型变量,则执行表达式:x=(y=4,z=16,k=32)后,x的值为()A4B16C32D52第11题下面哪个语句能用于在屏幕上实现换行()Aprintf("\n");Bprintf("*******");Cprintf("\t");Dprintf("a=%d,b=%d");第12题下列选项中说法正确的是()A在C语言中,b与‘b’是一样的B==是赋值运算符号Cboolean是C语言的数据类型Dscanf()语句可用于从控制台读取输入的变量值第13题设有定义:inta;intb;执行scanf("%3d%3d",&a,&b);语句时,若从键盘输入123456<回车>,则a和b的值分别是()Aa值是123456,b值是0Ba值是12,b值是3456Ca值是123,b值是456Da值是1234,b值是56第14题下面选项中能实现输出字符变量a的语句是()Aputchar(a)Bprintf(a)Cgetchar(a)Dgets(a)第15题下列选项中能实现整型变量a和b值交换的是()Aa=b;b=a;Bintc;c=a;c=b;Cinttemp;temp=a;a=b;b=temp;Dinttemp;temp=a;temp=b-a;b=temp+b;第16题以下说法中正确的是()A正确的变量定义是只有字母,数字和下划线,但以数字作为开头B字符在内容中的存储是占2个字节,以ASCII形式存储C根据实际需要,printf语句中是可以不输出变量的值的D语句scanf("%d",a);能提供用户输入变量a值第17题设inta=12,则执行完语句a+=a-=a*a后,a的值是()A552B-264C144D264第18题若变量均已正确定义并赋值,以下合法的C语言赋值语句是()Ax=y==5;Bx=n%2.5;Cx+n=iDx=5=4+1;第19题以下叙述中正确的是()AC语言程序将从源程序中第一个函数开始执行B可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行CC语言规定必须用main作为主函数名,程序将从此开始执行,在此结束Dmain可作为用户标识符,用以命名任意一个函数作为主函数第20题以下哪个选项是C语言源程序名()。Amyprograme.objBmyprograme.cCmyprograme.cppDmyprograme.exe第四章选择结构程序设计-测验第1题有以下程序

voidmain()

{

inta=0,b=0,c=0,d=0;if(a==1)b=1;c=2;

elsed=3;

printf(“%d,%d,%d,%d\n”,a,b,c,d);

}

程序输出为______。A0,1,2,0B0,0,2,3C1,1,2,0D编译有错第2题设a、b和c都是int型变量,且a=3、b=4、c=5,则下面的表达式中,值为0的表达式是______。A'a'&&'b'Ba<=bCa||c&&b-cD!((a<b)&&!c||1)第3题若整型变量a、b、c、d中的值依次为:1、4、3、2,则条件表达式a<b?a:c<d?c:d的值是______。A1B2C3D4第4题若变量c为char类型,能正确判断出c为小写字母的表达式是______。A'a'<=c<='z'B(c>='a')||(c<='z')C('a'<=c)and('z'>=c)D(c>='a')&&(c<='z')第5题已有定义:intx=3,y=4,z=5;

则表达式:!(x+y)+z-1&&y+z/2的值是______。A6B0C2D1第6题以下关于逻辑运算符两侧运算对象的叙述中正确的是______。A只能是整数0或1B只能是整数0或非0整数C可以是结构体类型的数据D可以是任意合法的表达式第7题设ch是char型变量,其值为A,则表达式ch=(ch>='A'&&ch<='Z')?(ch+32):ch的值是______。AABaCZDz第8题若变量已正确定义,在if(W)printf("%d\n",k);程序段中,以下不可替代W的是______。Aa<>b+cBch=getchar()Ca==b+cDa++第9题假定w、x、y、z、m均为int型变量,有如下程序段:

w=1,x=2,y=3,z=4;m=(w<x)?w:x;

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

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

则该程序段执行后,m的值是______。A4B3C2D1第10题以下是if语句的基本形式:if(表达式)

语句其中"表达式"______。A必须是逻辑表达式B必须是关系表达式C必须是逻辑表达式或关系表达式D可以是任意合法的表达式第11题有如下程序

voidmain()

{

float

x=2.0,y;

if(x<0.0)

y=0.0;

elseif(x<10.0)

y=1.0/x;

elsey=1.0;

printf("%f\n",y);

}

该程序输出结果是______。A0B0.25C0.5D1第12题有如下程序段

inta=14,b=15,x;

charc='A';x=(a&&b)&&(c<'B');

执行该程序段后,x的值为______。ATrueBFalseC0D1第13题有定义语句:inta=1,b=2,c=3,x;则以下选项中各程序段执行后,x的值不为3的是______。Aif(c<a)x=1;elseif(b<a)x=2;

else

x=3;Bif(a<3)x=3;

elseif(a<2)

x=2;elsex=1;Cif(a<3)x=3;

if(a<2)

x=2;

if(a<1)

x=1;Dif(a<b)

x=b;

if(b<c)

x=c;

if(c<a)

x=a;第14题当变量c的值不为2、4、6时,表达式的值也为“真”的是______。A(c==2)||(c==4)||(c==6)B(c>=2&&c<=6)||(c!=3)||(c!=5)C(c>=2&&c<=6)&&!(c%2)D(c>=2&&c<=6)&&(c%2!=1)第15题以下程序段中,与语句

k=a>b?(b>c?1:0):0;功能相同的是______。Aif((a>b)&&(b>c))

k=1;

else

k=0;Bif((a>b)||(b>c))

k=1;

elsek=0;Cif(a<=b)k=0;

elseif(b<=c)

k=1;Dif(a>b)k=1

elseif(b>c)

k=1;

else

k=0;第16题有如下嵌套的if语句,

a=3,b=2,c=4,k=1;

if(a<b)

if(a<c)k=a;

elsek=c;

elseif(b<c)k=b;

elsek=c;

程序运行结果是______。A1B2C3D4第17题下列条件语句中,输出结果与其他语句不同的是______。Aif(a)

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

print("%d\n",y);Bif(a==0)printf("%d\n",y);

elseprint("%d\n",x);Cif(a!=0)printf("%d\n",x);else

print("%d\n",y);Dif(a==0)

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

else

print("%d\n",y);第18题若有定义语句:intk1=10,k2=20;执行表达式(k1=k1>k2)&&(k2=k2>k1)后,k1和k2的值分别是_____。A0和1B0和20C10和1D10和20第19题有以下程序

voidmain()

{

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

if(a=1)b=1;

elsed=3;c=2;

printf(“%d,%d,%d,%d\n”,a,b,c,d);

}

程序输出为______。A0,1,2,0B0,0,2,3C1,1,2,0D编译有错第20题有以下程序

voidmain()

{

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

if(a==1)b=1;

elsed=3;

c=2;

printf(“%d,%d,%d,%d\n”,a,b,c,d);

}

程序输出为______。A0,1,2,0B0,0,2,3C1,1,2,0D编译有错第五章循环-测验第1题有以下程序段,while循环执行的次数是

voidmain()

{

int

n;

while(n=0)n++;

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

}A无限次B有语法错,不能执行C一次也不执行D执行1次第2题有以下程序,运行时,从键盘输入:15,10,程序的输出结果是:()voidmain()

{int

a,b;

scanf("%d,%d",&a,&b);

while(a!=b)

{while(a>b)a-=b;while(b>a)b-=a;

}

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

}A11B22C44D55第3题有如下程序,为使程序不陷入死循环,从键盘上输入的数据应该是()

voidmain()

{

int

n,t=1,s=0;

scanf("%d",&n);

do

{s=s+t;t=t-2;}

while(t!=n);

}A任意正偶数B任意负偶数C任意负奇数D任意正奇数第4题有以下程序,执行后输出的结果是()

main()

{inti;for(i=0;i<3;i++)switch(i){

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

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

}A011122B12C12020D120第5题执行下面程序片段的结果是()

voidmain()

{intx=9;do{

printf("%3d",++x);

}while(x);

}A打印出9B打印出10C没有任何输出D陷入死循环第6题有以下程序:程序的输出结果是()

#include<stdio.h>voidmain()

{

inti;

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

{if(i%2)printf("*");elsecontinue;printf("#");}printf("$\n");

}A*#*#$B*#*#*#$C#*#*#*$D#*#*$第7题有如下程序,该程序的输出结果是()

main()

{int

k=1;while(k<6)

{

k++;

printf("%d",k);}

}A12345B123456C23456D1234第8题有以下程序段,执行后的输出结果是:()

voidmain()

{

int

m=3;while(--m)

printf("%d\n",m-=1);

}A1B2C4D死循环第9题以下程序执行后sum的值是()

main()

{

intk,sum;for(k=1;k<100;k++)

sum+=k;printf("%d\n",sum);

}A死循环B5050C0D不确定第10题下面的程序输出的结果是:()

main()

{

intx=3;do{printf("%d\n",x+=2);}while(!(--x));

}A输出的是5B输出的是1和-2C输出的是3和0D是死循环第11题以下程序中,while循环的循环次数是()

main()

{

intm=0;while(m<10)

{m++;if(m==5)break;

if(m<1)continue;

}

}A1B4C6D死循环,不能确定次数第12题以下程序的功能是、按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下:

voidmain(){intn,k;

floatscore,sum,ave;

sum=0.0;

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

{for(k=1;k<=4;k++){

scanf("%f",&score);

sum+=score;

}

ave=sum/4.0;

printf("NO%d:%f\n",n,ave);}}上述程序运行后结果不正确,调试中发现有一条语句出现在程序的位置不正确。这条语句是()Asum=0.0;Bsum+=score;Cave=sum/4.0;Dprintf("NO%d:%f\n",n,ave);第13题以下程序的输出结果是:()

main()

{

intm,n;

for(m=0;m<3;m++)for(n=1;n<2;n++);

printf("&");}A&&&&&&B&&&&C&&D&第14题现有以下的程序,程序输出的结果是:()

main()

{charch='C';while(ch>'A'){ch--;putchar(ch);if(ch=='A')break;}}ACBBBACCCDCBA第15题以下的程序模拟实现计算sum=1+1/2+1/3+….+1/50,程序运行后,不能得到正确的结果,出现问题的语句时是:()

main()

{

inti;doublesum;

sum=1.0;

i=1;do{i++;sum+=1/i;}while(i<50);

printf("sum=%lf\n",sum);

}Awhile(i<50)Bsum=1.0;Csum+=1/iDi++第16题以下程序输出结果是:()

main(){charch='0';while(ch<='9'){

printf("%d",ch-'0');

ch++;

}}A0123456789B123456789C0D1第17题以下程序输出结果是:()main()

{charc1,c2;for(c1='0',c2='9';c1<c2;c1++,c2--)

printf("%c%c",c1,c2);

}A123456789B0918273645C123498765D9876543210第18题以下程序输出结果是:()

main()

{

inta=1,i;

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

{

if(a>9)break;

if(a%2)a+=2;

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

}A4,7B4,4C5,8D4,8第19题以下的for循环:

for(x=1,y=0;(y!=1000)&&(x<5);x++)A是无限循环B循环次数不定C执行3次D执行4次第20题t为int类型,进入下面的循环之前,t的值为0,while(t=1){}则以下叙述中正确的是()A循环控制表达式的值为0B循环控制表达式的值为1C循环控制表达式不合法D以上说法均不正确第六章函数-测验第1题有如下函数调用语句,fun((c1,c2,c3),c4+c5,max(c6,c7));数调用语句中,含有的实参个数是()A3B4C5D6第2题有以下程序,程序运行后的输出结果是()

floatfun(intm,intn)

{return(m-n);

}

voidmain()

{inta=2,b=3,c=4;printf("%3.0f\n",fun((int)fun(b-a,c),a-c));

}A编译出错B5C-1D9第3题C语言中,未设定存储类别的局部变量的隐含存储类别是AregisterBautoCexternDstatic第4题以下声明函数原型错误的是()Afloatmyadd(floata,b);Bfloatmyadd(float,float);Cfloatmyadd(floata,floatb);Dfloatmyadd(floatb,floata);第5题以下叙述错误的是()A函数中可以没有return语句B函数中可以没有return语句,则应当定义函数为void类型Creturn语句中可以没有表达式D函数中可以有多个return语句第6题程序的输出结果是()

#include<stdio.h>void

f(int

x,int

y)

{int

t;if(x<y){

t=x;

x=y;

y=t;

}

}

main()

{inta=4,b=3,c=5;f(a,b);f(a,c);f(b,c);printf("%d,%d,%d\n",

a,b,c);

}A3,4,5B4,5,3C5,4,3D4,3,5第7题以下程序的输出结果是()

intf(intb[],int

m,int

n)

{int

i,s=0;for(i=m;i<n;i=i+2)s=s+b[i];return

s;

}

main()

{int

x,a[]={0,1,2,3,4,5,6,7,8,9};x=f(a,2,5);printf("%d\n",x);

}A10B6C8D15第8题有如下程序,输出结果是()

#include<stdio.h>intfunc(int,int);

intmain()

{intk=4,m=1,p;p=func(k,m);printf("%d,",p);p=func(k,m);printf("%d\n",p);

return0;

}

intfunc(inta,intb)

{staticintm=0,i=2;m++;i=i+m;m=i+a+b;returnm;

}A7,16B8,17C8,19D9,18第9题如有以下程序,运行时输入123,程序的输出结果是()

intf(intm)

{

return(m/10+m%10);}

voidmain()

{

inta,b;

scanf("%d",&a);

b=f(f(f(a)));

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

}A3B4C5D6第10题以下程序的输出结果是()

intfun(int

m,intn)

{

returnm*n;}

main()

{int

k=31;k=fun(5,6);printf("%d",k);

}A不确定B29C30D31第11题读下面程序,程序的输出结果是()

#include<stdio.h>intfunc(intx,inty)

{

intz;

z=x+y;

returnz;

}

main()

{inta=1,b=2,c=3,k;k=func((a++,b++,a+b),c++);printf("%d\n",k);

}A9B6C8D4第12题有如下程序,输出结果是()

voidf(intv,intw)

{intt;t=v;v=w;w=t;

}

main()

{intx=1,y=3,z=2;if(x>y)

f(x,y);elseif(y>z)

f(y,z);

else

f(x,z);

printf("%d,%d,%d\n",x,y,z);

}A1,3,2B1,2,3C3,1,2D2,3,4第13题以下程序的输出结果是()

doublef(intx);

main()

{

doublea=0;inti;

for(i=1;

i<20;

i+=10)a+=f(i);printf

("%3.0f\n",a);

}

doublef(intx)

{returnx*x+1;

}A100B110C124D1100第14题以下程序的输出结果是()

intfunc(inta,intb)

{

if(a!=b)return(a+b)/2;

elsereturna;

}

main()

{

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

("%d\n",

func(2*x,func(y,z)));

}A1B2C3D4第15题有如下函数的定义,若执行调用语句n=f(3);,则函数f总共被调用的次数()

intf(intm)

{if(m<1)return0;elseif(m==1)return1;elsereturnf(m-1)+1;

}A2B3C4D5第16题有如下程序,程序运行的结果是()

intfun(inta)

{

intb;

if(a==0||a==1)return1;

b=a-fun(a-2);

returnb;

}

main()

{printf

("%d\n",

fun(5));

}A1B2C3D4第17题程序运行的结果是()

intfun()

{staticintx=1;x+=2;returnx;

}

main()

{inti,s=1;for(i=1;i<3;i++)

s*=fun();printf("%d\n",s);

}A10B15C30D64第18题现有如下程序,程序运行的结果是()

intf1(intx)

{

returnx*2;

}

intf2(int*y)

{

return*y*3;

}

main()

{

inta=2,b=3;printf("%d,%d\n",

f1(a),f2(&b));

}A4,9B4,27C2,6D2,18第19题有如下程序,输出结果是()

int

a=2;

intf(int

n)

{staticint

a=3;int

t=0;

if(n%2){

staticint

a=4;

t+=a++;}else{

staticint

a=5;

t+=a++;

}return

t+a++;

}

main()

{int

s=a,i;for(i=0;i<3;i++)

s+=f(i);printf("%d\n",s);

}A26B29C24D28第20题程序运行的结果是()

intf(intx)

{

inty=0;staticintz=0;z+=5;returnx+y+z;}

main()

{

intm,n=4;

for(m=0;m<3;m++)printf("%d,",

f(n));

}A9,9,9B9,14,19C9,14,14D14,19,24第七章数组-测验第1题以下程序运行后输出结果是()void

main(){

intn[3],i,j,k;for(i=0;i<3;i++)

n[i]=0;k=2;for(i=0;i<k;i++)

for(j=0;j<k;j++)n[j]=n[i]+1;printf("%d\n",n[1]);

}A2B1C0D3第2题以下程序的输出结果是()

voidmain(){inti,a[10];for(i=9;i>=0;i--)a[i]=10-i;printf("%d%d%d",a[2],a[5],a[8]);}A258B741C852D369第3题以下程序运行后,输出结果是()voidmain(){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);}A11B19C13D20第4题下面程序的输出是()intfun(inth){staticinta[3]={1,2,3};intk;for(k=0;k<3;k++)a[k]+=a[k]-h;for(k=0;k<3;k++)printf("%d",a[k]);return(a[h]);}voidmain(){intt=1;fun(fun(t));}A123159B135135C1,3,5,0,4,8D135-137第5题下列程序执行后的输出结果是()

voidfunc1(int

i);voidfunc2(int

i);charst[]="hello,friend!";voidfunc1(int

i){

printf("%c",st[i]);if(i<3){i+=2;

func2(i);}}voidfunc2(int

i){printf("%c",st[i]);if(i<3){

i+=2;

func1(i);}}voidmain(){inti=0;func1(i);

printf("\n");}AhelloBhelChloDhlm第6题阅读以下函数intfun(chars[],chart[]){inti=-1;while(++i,s[i]==t[i]&&s[i]!=’\0’);return(s[i]==’\0’&&t[i]==’\0’);}以上函数的功能是()A比较串s和t的长度B比较串s和t的大小C比较串s和t是否相等D将串t赋给串s第7题#include<stdio.h>intf(intb[],intn){

inti,r;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);}上面程序的输出结果是()。A720B120C24D6第8题以下程序运行后,输出结果是()。

voidmain()

{

int

a[10],a1[]={1,3,6,9,10},a2[]={2,4,7,8,15},i=0,j=0,k;

for(k=0;k<4;k++)if(a1[i]<a2[j])

a[k]=a1[i++];elsea[k]=a2[j++];for(k=0;k<4;k++)printf("%d",a[k]);

}A1234B1324C2413D4321第9题以下程序的输出结果是()

intf(intb[],intm,intn)

{

int

i,s=0;

for(i=m;i<n;i=i+2)

s=s+b[i];

return

s;

}

voidmain()

{

int

x,a[]={1,2,3,4,5,6,7,8,9};

x=f(a,3,7);

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

}A10B18C8D15第10题以下程序运行后,输出结果是()

voidmain()

{

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

printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0]);

}A0650B1470C5430D输出值不定第11题若有定义语句:intm[]={5,4,3,2,1},i=4;,则下面对m数组元素的引用中错误的是()Am[--i]

Bm[2*2]Cm[m[0]]

Dm[m[i]]第12题若要求定义具有10个int型元素的一维数组a,则下列定义语句中错误的是(

)A#def1neN10

inta[N];

B#definen5inta[2*n];Cinta[5+5];

Dintn=10,a[n];第13题若有定义语句:inta[3][6];按在内存的存放顺序,a数组的第10个元素是(

)Aa[0][4]

Ba[1][3]Ca[0][3]

Da[1][4]第14题以下错误的定义语句是(

)Aint

x[][3]={{0},{1},{1,2,3}};Bint

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

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

x[][3]={1,2,3,4};第15题有下列程序:voidmain(){intx[3][2]={0},i;for(i=0;i<3;i++)scanf(''%d'',x[i]);printf("%3d%3d%3d\n'',x[0][0],x[0][1],x[1][0]);}则输出结果为(

)。A200B204C240D246第16题下列数组定义中错误的是(

)。Aintx[2][3]={0};Bintx[2][3]={{1,2},{3,4},{5,6}};Cintx[][3]={{1,2,3},{4,5,6}};Dintx[2][3]={1,2,3,4,5,6};第17题有下列程序:

voidmain()

{

inti,t[][3]}={9,8,7,6,5,4,3,2,1};

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

printf(''%d'',t[2-i][i]);

}

程序执行后输出结果是(

)。A753B357

C369D751第18题若使用一维数组名作函数实参,则以下正确的说法是()。A必须在主调函数中说明此数组的大小B实参数组类型与形参数组类型可以不匹配C在被调用函数中,不需要考虑形参数组的大小D实参数组名与形参数组名必须一致第19题若用数组名作为函数的实参,传递给形参的是()。A数组的首地址B数组第一个元素的值C数组中全部元素的值D数组元素的个数第20题以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是()。Achars[10]="abcdefg";Bchart[]="abcdefg",*s=t;Cchars[10];s="abcdefg";Dchars[10];strcpy(s,"abcdefg");第八章指针-测验第1题若有以下定义intx[10],*pt=x;则对x数组元素的正确引用是______。A*&x[10]

B*(x+3)

C*(pt+10)Dpt+3第2题有以下程序

voidfun(char*c,intd)

{

*c=*c+1;

d=d+1;printf("%c,%c,",*c,d);

}

intmain()

{

charb='a',a='A';fun(&b,a);

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

return0;

}

程序运行后的输出结果是______。Ab,B,b,ABb,B,B,A

Ca,B,B,a

Da,B,a,B第3题若已定义:inta[9],*p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式是______。Ap+1Ba+1

Ca++D++p第4题下列程序的输出结果是______。intmain(){

chara[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5;printf("%d",*--p);

return0;}A非法Ba[4]的地址C5D3第5题以下程序的输出结果是______。intmain()

{

char

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

inti;

i=8;

p=a+i;

printf("%s\n",p-3);

return0;

}A6B6789C'6'D789第6题有以下程序

intmain(){

inta[]={1,2,3,4},y,*p=&a[3];--p;y=*p;printf("y=%d\n",y);

return0;

}

程序的运行结果是______。Ay=0By=1Cy=2Dy=3第7题有以下程序

intmain()

{inta[3][3],*p,i;p=&a[0][0];for(i=0;i<9;i++)

p[i]=i;for(i=0;i<3;i++)printf("%d",a[1][i]);

return0;

}

程序运行后的输出结果是______。A012B123C234D345第8题若有函数

void

fun(doublea[],int*n)

{

}

以下叙述中正确的是______。A调用fun函数时只有数组执行按值传送,其他实参和形参之间执行按地址传送B形参a和n都是指针变量

C形参a是一个数组名,n是指针变量D调用fun函数时将把double型实参数组元素一一对应地传送给形参a数组第9题下面程序的输出是______。

voidprtv(int*x){printf("%d\n",++*x);}

intmain(){inta=25;

prtv(&a);

return0;}A23B24C25D26第10题有以下程序

intmain()

{inta[3][3],*p,i;

p=&a[0][0];

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

p[i]=i+1;

printf("%d\n",a[1][2]);

return0;

}

程序运行后的输出结果是______。A3B6C9D12第11题请选出以下程序的输出结果______。

voidsub(intx,inty,int*z)

{

*z=y–x;

}

intmain(){inta,b,c;

sub(10,5,&a);

sub(7,a,&b);

sub(a,b,&c);

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

return0;

}A5,2,3B-5,-12,-7C-5,-12,-17D5,-2,-7第12题以下程序的输出结果是______。intmain()

{

int

i,x[3][3]={9,8,7,6,5,4,3,2,1}int*p=&x[1][1];

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

printf("%d",p[i]);

return0;

}A52B51C53D97第13题有以下程序

intmain()

{

inta[]={1,2,3,4,5,6,7,8,9,10,11,12,};int*p=a+5,*q=NULL;

*q=*(p+5);

printf("%d%d\n",*p,*q);

return0;

}

程序运行后的输出结果是______。A运行后报错B66C611D510第14题下列程序段的输出结果是______。

voidfun(int

*x,int

*y)

{printf("%d%d",*x,*y);*x=3;*y=4;

}

intmain()

{

int

x=1,y=2;

fun(&y,&x);

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

return0;

}A2143B1212

C1234

D2112第15题有以下程序:

voidsum(int*a)

{a[0]=a[1];}

intmain()

{int

aa[10]={1,2,3,4,5,6,7,8,9,10},i;for(i=2;i>=0;i--)sum(&aa[i]);printf("%d\n",aa[0]);

return0;

}

执行后的输出结果是______。A4B3C2D1第16题程序运行后的输出结果是______。

voidfun(int

*a,int

*b)

{int

*k;

k=a;

a=b;

b=k;

}

intmain(){

inta=3,b=6,*x=&a,*y=&b;fun(x,y);printf("%d%d",a,b);

return0;

}A63B36C编译出错D00第17题设有如下定义语句intm[]={2,4,6,8,10},*k=m;以下选项中,表达式的值为6的是______。A*(k+2)Bk+2C*k+2D*k+=2第18题若在定义语句:inta,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是______。Ascanf("%d",a,b,c);Bscanf("%d%d%d",a,b,c);Cscanf("%d",p);Dscanf("%d",&p);第19题若有说明语句:inta,b,c,*d=&c;则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是______。Ascanf("%d%d%d",&a,&b,d);Bscanf("%d%d%d",&a,&b,&d);Cscanf("%d%d%d",a,b,d);Dscanf("%d%d%d",a,b,*d);第20题设有定义:doublex[10],*p=x;,以下能给数组x下标为6的元素读入数据的正确语句是______。Ascanf("%f",&x[6]);Bscanf("%lf",*(x+6));Cscanf("%lf",p+6);Dscanf("%lf",p[6]);第九章结构体-测验第1题设有如下定义:strucksk

{inta;floatb;}data;int*p;若要使P指向data中的a域,正确的赋值语句是(

)Ap=&a;Bp=data.a;Cp=&data.a;D*p=data.a第2题设有定义:structcomplex

{intreal;

intunreal;

}data1={1,8},

data2;

则以下赋值语句错误的是(

)Adata2=data1;Bdata2=(2,6);Cdata2.real=data1.real;Ddata2.real=data1.unreal;第3题设有定义:struct{charmark[12];

intnum1;

doublenum2;

}t1,t2;,若变量均已正确赋初值,则以下语句中错误的是()At1=t2;Bt2.num1=t1.num1;Ct2.mark=t1.mark;Dt2.num2=t1.num2;第4题有以下定义和语句:

structworkers

{intnum;charname[20];

struct

{

intday;

intmonth;intyear;

}s;

};

structworkersw,*pw;程序中给出了语句pw=&w;那么以下选项能给w中year成员赋1980的语句是()A*pw.year=1980;Bw.year=1980;Cpw->year=1980;Dw.s.year=1980;第5题有以下程序:#include<stdio.h>structSTU

{charnum[10];floatscore[3];

};

intmain()

{

inti;floatsum=0;structSTUs[3]={

{"20021",90,95,85},

{"2022",95,80,75},

{"20023",100,95,90}},

*p=s;

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

sum=sum+p->score[i];printf("%6.2f\n",sum);return0;

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

)A260B270C280D285第6题有以下程序:

#include<stdio.h>struct

s

{

intx;

inty;

}data[2]={10,100,20,200};

int

main()

{structs*p=data;

printf("%d\n",++(p->x));return0;

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

)A10B11C20D21第7题假设有如下定义:structDate

{intyear;

intmonth;

intday;};,那么下列哪个选项可以正确地访问名为d的Date类型结构体变量的月份成员?Ad.monthB*d.monthC&d.monthD->month第8题假设有如下定义:structBook

{chartitle[50];charauthor[50];intpages;};,那么下列哪个选项可以正确地创建并初始化一个名为myBook的结构体变量,其中包含标题为"TheCProgrammingLanguage",作者为"BrianKernighanandDennisRitchie",页数为274的三个成员?AstructBookmyBook={title="TheCProgrammingLanguage",author="BrianKernighanandDennisRitchie",pages=274};BBookmyBook={"TheCProgrammingLanguage","BrianKernighanandDennisRitchie",274};CBookmyBook={title:"TheCProgrammingLanguage",author:"BrianKernighanandDennisRitchie",pages:274};DstructBookmyBook={"TheCProgrammingLanguage","BrianKernighanandDennisRitchie",274};第9题以下选项中不能正确把mycolor定义成结构体变量的是()Astructcolor

{intred;intgreen;

intblue;

}mycolor;Bstructcolormycolor

{intred;intgreen;

intblue;

}Ctypedefstruct

{intred;intgreen;intblue;

}COLOR;

COLORmycolor;Dstruct

{intred;intgreen;intblue;

}mycolor;第10题有以下说明和定义语句,下面各输入语句中错误的是()

‏#include<stdio.h>intmain()

{structstudent{intage;

charsex;

charname[8];

};

structstudentstd;

structstudent*p=&std;

return0;

}Ascanf("%d",&(*p).age);Bscanf("%s",);Cscanf("%c",&std[0].sex);Dscanf("%c",&(p->sex));第11题在线购物系统中,给出代码如下:

#include<stdio.h>typedefstruct

{

intid;//商品编号

charname[20];//商品名称

doubleprice;//商品价格

}

Item;

intmain()

{

Itemitems[]={{1,"HUAWEINova11",2499.00},{2,"HUAWEIMateBook",4999.00},{3,"HUAWEI手环8",269.00},{4,"HUAWEIP60",4488.00},{5,"HUAWEIFreeBuds5",899.00},{6,"HUAWEIMPencil",539.00}};printf("%s",items[3].name);

return0;}AHUAWEINova11BHUAWEI手环8CHUAWEIP60DHUAWEIMPenci第12题以下哪个操作符可以用于获取结构体变量的地址()A.B&C*D->第13题在结构体中,可以使用哪一个关键字来定义一个结构体成员的别名?()AtypedefBaliasCstructDmember第14题下列哪个选项描述了结构体指针的正确声明()Astruct*personp;Bperson*p;Cstructperson*p;Dptrperson;第15题如果有一个名为employee的结构体类型,下列哪行代码声明了一个名为emp的结构体变量?Astructemployeeemp;Bemployeeemp;Cstructemp=employee;Demployeeemp=struct;第16题如果已经定义了一个Person的结构体,下面哪个选项是定义了Person结构体的数组?AstructPerson[10];BPersons;CstructPersonnum[10];DPersonnum[10]=struct;第17题结构体变量的大小由哪些因素决定()A结构体成员的数量B结构体成员的类型C结构体成员的顺序D上述因素都决定第18题以下哪个选项用于访问结构体成员?()A.运算符B[]运算符C*运算符D>运算符第19题下列哪个选项描述了结构体的正确定义?()Astructperson{charname;intage;};Bstructperson(charname,intage);Cstructperson{name,age};Dstructperson{charname[20];intage;};第20题C语言中的结构体主要作用是()A存储数据B控制程序流程C定义循环变量D实现函数调用第十章文件-测验第1题以下程序企图把从终端输入的字符输出到名为abc.txt的文件中,直到从终端读入字符#号时结束输入和输出操作,但程序有错。#include<stdio.h>intmain()

{FILE*fout;

温馨提示

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

评论

0/150

提交评论