上海海事大学,C语言试卷16

合集下载

海大c程上机题附答案及附加题

海大c程上机题附答案及附加题

1. 编写函数long fun(long x),它的功能是:将长整型参数x中每一名上为偶数的数依次掏出,组成一个新数返回。

高位仍在高位,低位仍在低位。

例如:下面程序运行时输入:2,程序输出:24802.#include<>long fun(long x){long i,m,sum=0;int j=0,n;for(i=x;i>0;){m=i%10;i=i/10;if(m%2==0){j++;for(n=1;n<j;n++)m=m*10;sum+=m;}}return sum;}void main(){long a,b;printf("Enter a number:");scanf("%ld",&a);b=fun(a);printf("b=%ld\n",b);}2. 编写函数void fun(int k,int *p),功能是:将参数k〔2≤k≤32767〕所有的不一样质因子升序写入p所指的一维数组中,以-1作为所有质因子的完毕标志。

例如:下面程序运行时假设输入200,输出:2 5;假设输入27720,输出:2 3 5 7 11;假设输入101,输出101。

#include<>#include<>void fun(int k,int *p){int i,j,t=0;double b;for(i=2;i<=k;i++) 先判定是不是质数,在判定是不是因子。

{b=sqrt(i);for(j=2;j<=b;j++)if(i%j==0)break;if(j>b&&k%i==0){p[t]=i;t++;}p[t]=-1;}}void main(){int x,a[17]={0},i;do{ printf("Enter a number(2-32767):");scanf("%d",&x);}while(x<2);fun(x,a);for(i=0;a[i]!=-1;i++)printf("%d ",a[i]);printf("\n");}3. 编写函数void fun(int *x,int n),功能是:求出长度为n的数组x中的最大数与次最大数,并把最大数和a[0]对调,次最大数与a[1]对调,其余的数维持不变。

大学生C语言期末考试试题汇总

大学生C语言期末考试试题汇总

大学生C语言期末考试试题汇总第1-3章习题一、单项挑选题1C语言属于()。

A.机器语言B.低级语言C.中级语言D.高级语言2一个C程序可以包含随意多个不同名的函数,但有且仅有一个。

A.函数B.主函数C.includeD.过程3系统默认的C语言源程序扩展名为.C,需经过之后,生成.exe文件,才干运行?A.编辑?编译B.编译?衔接C.编辑?改错D.编辑?衔接4C语言程序从开头执行。

A.程序中第一条可执行语句B.程序中第一个函数C.程序中的main函数D.包含文件中的第一个函数5C语言程序是由构成的。

A.一些可执行语言B.main函数C.函数D.包含文件中的第一个函数6一个算法应具有“确定性”等5个特性,则对另外4个特性描述错误的是。

A.有效性B.有穷性C.有零个或多个输入D.有零个或多个输出7设变量a是整型,f是实型,i双精度型,则表达式10+’a’+i*f 值的数据类型。

A.intB.floatC.doubleD.不确定8在C语言中,变量所分配的内存空间大小是由。

A.均为一个字节B.由用户自己定义C.由变量的类型打算D.是随意的9执行scanf (“a=%d,b=%d”,&a,&b)语句,若要使变量a和b的值分离为3和4,则正确的输入办法为。

A. 3 ,4B.a:3 b: 4C.a=3,b=4D. 3 410在算术表达式中允许使用的括号类型是。

A.{ }B.[ ]C.( )D.以上三项皆错11存储以下数据,占用存储字节最少的是。

A. 0B. ‘0’C. “0”D. 0.012设n=10,i=4,则运算n%=i+1执行后,n 的值是。

A.0B.3C.2D.113C语言中运算对象必需是整型的运算符是。

A.%B. /C. =D.〈=14已知int x=5,y=5,z=5;执行语句x%=y+z;后,x的值是.A .0 B. 1 C. 5 D. 615若有以下类型说明语句:char w;int x;float y;double z;则表达式w-x*y/z的结果为类型A.floatB.charC.intD.double16在C语言的库函数中,可以输出char型变量x值的语句是。

C语言考试题库及答案

C语言考试题库及答案

C语言考试题库及答案 The document was prepared on January 2, 2021C语言理论上机考试选择题部分(共200题,仅针对11级定向专业)1、下面程序的输出是___D______#include<>void main(){ int k=11;printf("k=%d,k=%o,k=%x\n",k,k,k);}A) k=11,k=12,k=11 B) k=11,k=13,k=13C) k=11,k=013,k=0xb D) k=11,k=13,k=b2、在下列选项中,不正确的赋值语句是__D______.A) ++t; B) n1=(n2=(n3=0));C) k=i=j; D) a=b+c=1;3、下面合法的C语言字符常量是______A____.A) '\t' B) "A" C) 65 D) A4、表达式: 10!=9的值是________D____.A) true B) 非零值 C) 0 D) 15、C语言提供的合法的数据类型关键字是_____B____.A) Double B) short C) integer D) Char6、字符(char)型数据在微机内存中的存储形式是__D__.A) 反码 B) 补码 C) EBCDIC码 D) ASCII码7、C语言程序的基本单位是_____C______.A) 程序行 B) 语句 C) 函数 D) 字符8、设 int a=12,则执行完语句a+=a-=a*a后,a的值是____D____A) 552 B) 264 C) 144 D) -264 9、执行下面程序中的输出语句后,输出结果是____B__.#include<>void main(){int a;printf("%d\n",(a=3*5,a*4,a+5));}A) 65 B) 20 C) 15 D) 1010、下面程序的输出是____B______.#include<>void main(){int x=023;printf("%d\n",--x);}A) 17 B) 18 C) 23 D) 2411、下面程序的输出的是_____C____.#include<>void main(){int x=10,y=3;printf("%d\n",y=x/y);}A) 0 B) 1 C) 3 D) 不确定的值12、已知字母A的ASCII码为十进制的65,下面程序的输出是______A_____.#include<>void main(){char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}A) 67,D B) B,C C) C,D D) 不确定的值13、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为____D__.A) a<>0 B) !a C) a=0 D) a14、以下程序的输出结果是____D_____.#include<>void main(){ int x=10,y=10;printf("%d %d\n",x--,--y);}A) 10 10 B) 9 9 C) 9 10 D) 10 915、设有如下定义:int x=10,y=3,z;则语句printf("%d\n",z=(x%y,x/y));的输出结果是_____D_____.A) 1 B) 0 C) 4 D) 316、为表示关系x≥y≥z,应使用C语言表达式___A___.A) (x>=y)&&(y>=z) B) (x>=y)AND(y>=z)C) (x>=y>=z) D) (x>=y) & (y>=z)17、C语言中非空的基本数据类型包括____B____.A) 整型,实型,逻辑型 B) 整型,实型,字符型C) 整型,字符型,逻辑型D) 整型,实型,逻辑型,字符型18、若x和y都是int型变量,x=100,y=200,且有下面的程序片段:printf("%d",(x,y));上面程序片段的输出结果是____A___.A) 200 B) 100C) 100 200 D) 输出格式符不够,输出不确定的值19、阅读下面的程序#include<>void main(){char ch;scanf("%3c",&ch);printf("%c",ch);}如果从键盘上输入abc<回车>则程序的运行结果是__A_____.A) a B) b C) c D) 程序语法出错20、阅读下面的程序#include<>void main(){int i,j;i=010;j=9;printf("%d,%d",i-j,i+j);}则程序的运行结果是____D____.A) 1,19 B) -1,19 C) 1,17 D) -1,1721、阅读下面的程序#include<>void main(){int i,j,m,n;i=8;j=10;m=++i;n=j++;printf("%d,%d,%d,%d",i,j,m,n);}程序的运行结果是______C____.A) 8,10,8,10 B) 9,11,8,10C) 9,11,9,10 D) 9,10,9,1122、已知a=12,则表达式a+=a-=a*=a的结果是_____A__.A) 0 B) 144 C) 12 D) -26423、若已定义int a,则表达式a=10,a+10,a++的值是__B_.A) 20 B) 10 C) 21 D) 1124、阅读下面的程序#include<>void main(){int i,j;scanf("%3d%2d",&i,&j);printf("i=%d,j=%d\n",i,j);}如果从键盘上输入1234567<回车>,则程序的运行结果是____D____.A) i=123,j=4567 B) i=1234,j=567C) i=1,j=2 D) i=123,j=4525、下面程序的输出结果是____D____.#include<>void main(){int a=-1, b=4, k;k=(++a<=0)&&(b--<=0);printf("%d,%d,%d\n",k,a,b);}A) 1,1,2 B) 1,0,3 C) 0,1,2 D) 0,0,326、下面程序的输出结果是____A____.#include<>void main(){int a=5,b=3;float x=, y=;printf("%d,%d\n",a+b!=a-b,x<=(y-=);}A) 1,0 B) 0,1 C) 1,1 D) 0,027、执行下面程序段后,输出结果是____A____.int a;int b=65536;a=b;printf("%d\n",a);A) 65536 B) 0 C) -1 D) 1 28、若有以下定义和语句:int a=010, b=0x10, c=10;printf("%d,%d,%d\n",a,b,c);则输出结果是____B_____.A) 10,10,10 B) 8,16,10 C) 8,10,10 D) 8,8,1029、已知有double型变量x=,y=,整型变量a=7, 则表达式 x+a%3*(int)(x+y)%2/4 的值是_____B____.A) B) 2.5 C) D) 030、若已定义x和y是整型变量,x=2;,则表达式y=+x/2的值是____C____.A) B) 5 C) 3 D)31、以下程序的输出结果是____D____.#include<>void main(){int a=12, b=12;printf("%d,%d\n",--a,++b);}A) 10,10 B) 12,12 C) 11,10 D) 11,1332、设有以下语句:int x=10;x+=3+x%(3),则x的值是.____A_____A) 14 B) 15 C) 11 D) 1233、若d为double型变量,则表达式d=1,d+5,d++的值是_____D__.A) 1 B) 6.0 C) D)34、表达式5!=3的值是____D____.A) T B) 非零值 C) 0 D) 135、若有定义int a=12,n=5,则表达式a%=(n%2)运算后,a的值______A____.A) 0 B) 1 C) 12 D) 636、若有定义int x=3,y=2和float a=,b=,则表达式:(x+y)%2+(int)a/(int)b的值是__D__.A) 0 B) 2 C) D) 137、在C语言中,以下叙述不正确的是_____A____.A) 在C程序中,无论是整数还是实数,都能被准确无误的表示B) 在C程序中,变量名代表存储器中的一个位置C) 静态变量的生存期与整个程序的生存期相同D) C语言中变量必须先定义后引用38、C语言中的变量名只能由字母,数字和下划线三种字符组成,且第一个字符____C____.A) 必须为字母B) 必须为下划线C) 必须为字母或下划线D) 可以是字母,数字或下划线中的任意一种39、设有说明:char w; int x; float y; double z; 则表达式: w*x+z-y值的数据类型是___D____.A) float B) char C) int D) double40、一个C语言的执行是从_____A______.A) 本程序的主函数开始,到本程序的主函数结束B) 本程序的第一个函数开始,到本程序的最后一个函数结束C) 本程序的主函数开始,到本程序的最后一个函数结束D) 本程序的第一个函数开始,到本程序的主函数结束41、设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是____A____.A) 10<a<15 B) a==11||a==12||a==13||a==14C) a>10&&a<15 D) !(a<=10)&&!(a>=15)42、下列程序执行后的输出结果是_____C____. #include <>void main( ){ int a=5,b=60,c;if (a<b){c=a*b;printf("%d*%d=%d\n",b,a,c);}else{c=b/a;printf("%d/%d=%d\n",b,a,c);}}A) 60/5=12 B) 300 C) 60*5=300 D) 1243、如果c为字符型变量,判断c是否为空格不能使用____A____.(假设已知空格ASCII码为32)A) if(c=='32') B) if(c==32)C) if(c=='\40') D) if(c==' ')44、运行下面程序时,若从键盘输入"3,5<CR>",则程序的输出结果是____D____. #include <>void main( ){int x,y;scanf("%d,%d",&x,&y);if (x==y)printf("x==y");else if (x>y)printf("x>y");elseprintf("x<y");}A) 3<5 B) 5>3 C) x>y D) x<y45、运行下面程序时,若从键盘输入数据为"6,5,7<CR>",则输出结果是____C___.#include <>void main( ){ int a,b,c;scanf("%d,%d,%d",&a,&b,&c);if (a>b)if (a>c)printf("%d\n",a);elseprintf("%d\n",c);elseif (b>c)printf("%d\n",b);elseprintf("%d\n",c);}A) 5 B) 6 C) 7 D) 不定值46、执行下面程序时,若从键盘输入"2<CR>",则程序的运行结果是____A____.#include <>void main( ){ int k; char cp;cp=getchar( );if (cp>='0' && cp<='9')k=cp-'0';else if (cp>='a' && cp<='f')k=cp-'a'+10;else k=cp-'A'+10;printf("%d\n",k);}A) 2 B) 4 C) 1 D) 1047、运行下面程序时,从键盘输入"<CR>",则输出结果是___B_____.#include <>void main( ){ float a,b;scanf("%f",&a);if (a< b=; else if ((a< && (a!=) b=(a+;else if (a< b=2;else b=;printf("%f\n",b);}A) B)C) D)48、执行下面程序后,运行结果是____A____. #include <>void main( ){ int x=41,y=1;if (x%3==0 && x%7==0){ y+=x;printf("y=%d\n",y);}else{y=x;printf("y=%d",y);}}A) y=41 B) y=43 C) y=42 D) y=149、运行下面程序时,从键盘输入"12,34,9<CR>",则输出结果是___A___.#include <>void main( ){ int x,y,z;scanf("%d,%d,%d",&x,&y,&z);if (x<y)if (y<z)printf("%d\n",z);else printf("%d\n",y);else if (x<z)printf("%d\n",z);else printf("%d\n",x);}A) 34 B) 12 C) 9 D) 不确定的值50、运行下面程序时,从键盘输入字母H,则输出结果是_____C___.#include <>void main( ){ char ch;ch=getchar( );switch(ch){ case 'H':printf("Hello!\n");case 'G':printf("Good morning!\n");default:printf("Bye_Bye!\n");}}A) Hello! B) Hello!Good Morning!C) Hello! D) Hello!Good m orning! Bye_Bye!Bye_Bye!51、执行下列程序段后的输出结果是_____A____.int x=1,y=1,z=1;x+=y+=z;printf("%d\n",x<yy:x);A) 3 B) 2 C) 1 D) 452、设ch是char型变量,值为'A',则表达式ch=(ch>='A' && ch<='Z')ch+32:ch的值是__B___.A) Z B) a C) z D) A53、下面程序的输出结果是____C____.#include <>void main( ){ int x=8,y=-7,z=9;if (x<y)if (y<0) z=0;else z-=1;printf("%d\n",z);}A) 8 B) 1 C) 9 D) 054、运行下面程序时,若从键盘输入"5 <CR>",则程序的输出结果是_____B___.#include <>void main( ){ int a ;scanf("%d",&a);if (a++>5)printf("%d\n",a);else printf("%d\n",a--) ;}A) 7 B) 6 C) 5 D) 455、运行下面程序时,若从键盘输入"3,4 <CR>",则程序的输出结果是____B___.#include <>void main( ){ int a,b,s; scanf("%d,%d",&a,&b);s=a;if (s<b) s=b;s=s*s;printf("%d\n",s) ;}A) 14 B) 16 C) 18 D) 2056、下列程序的执行结果是_____D____.#include <>void main( ){ int x=0,y=1,z=0;if (x=z=y)x=3;printf("%d,%d\n",x,z);}A) 3,0 B) 0,0 C) 0,1 D) 3,157、假定等级和分数有以下对应关系:等级:A 分数:85~100等级:B 分数:60~84等级:C 分数:60 以下对于等级grade输出相应的分数区间,能够完成该功能的程序段是____D____.A) switch (grade){case 'A':printf("85--100\n");case 'B':printf("60--84\n");case 'C':printf("60以下\n");default:printf("等级错误!\n");}B) switch (grade){case 'A':printf("85--100\n");break;case 'B':printf("60--84\n");case 'C':printf("60以下\n");default:printf(" 等级错误!\n");}C) switch (grade){case 'A':printf("85--100\n");break;case 'B':printf("60--84\n");break;case 'C':printf("60以下\n");default:printf("等级错误!\n");}D) 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");}58、能够完成如下函数计算的程序段是__B____.┌ -1 x<0y= ┤ 0 x=0└ 1 x>0A) y=1; B) if (x>=0)if(x!=0) if(x>0) y=1;if(x>0) y=1; else y=0;else y=0; else y=-1;C) y=0; D) y=-1;if (x>=0) if (x>0) y=1;if (x>0) y=1; else y=0;else y=-1;59、有如下程序#include <>void main( ){ float x=,y;if(x< y=;else if (x< y=x;else y=;printf("%f\n",y);}该程序的输出结果是____C_____.A) B)C) D) 60、以下程序的执行结果是___B_____. #include <>void main( ){ int x=1,y=0;switch (x){case 1:switch (y){case 0:printf("first\n");break;case 1:printf("second\n");break; }case 2:printf("third\n");}}A) first B) firstsecond thirdC) first D) secondthird61、以下程序的执行结果是____A____. #include <>void main( ){ int a,b,c,d,x;a=c=0;b=1;d=20;if (a) d=d-10;else if(!b)if (!c) x=15;else x=25;printf("d=%d\n",d);}A) d=20 B) d=10 C) d=15 D) 2562、有如下程序:#include <>void main( ){ int a=2,b=-1,c=2;if (a<b)if (b<0) c=0;else c++;printf("%d\n",c);}该程序的输出结果是___C_____.A) 0 B) 1 C) 2 D) 363、下列程序执行后的输出结果是____B____. #include <>void main( ){ int x,y=1,z;if ((z=y)<0) x=4;else if (y==0) x=5;else x=6;printf("%d,%d\n",x,y);}A) 4,1 B) 6,1 C) 5,0 D) 出错信息64、有如下程序#include <>void main( ){ int x=1,a=0,b=0;switch(x){case 0: b++;case 1: a++;case 2: a++;b++;}printf("a=%d,b=%d\n",a,b);}该程序的输出结果是______A____.A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D)a=2,b=265、下面程序的输出结果是____C_____.#include <>void main( ){ int a=-1,b=1,k;if ((++a<0) && (b--<=0))printf("%d %d\n",a,b);elseprintf("%d %d\n",b,a);}A) -1 1 B) 0 1 C) 1 0 D) 0 066、假定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的值是____D_____. A) 4 B) 3 C) 2 D) 167、以下程序的输出结果是___D______.main( ){ int a=100;if (a>100) printf("%d\n",a>100);else printf("%d\n",a<=100);}A) a<=100 B) 100 C) 0 D) 168、若执行下面的程序从键盘上输入9,则输出结果是.______B________#include <>void main( ){int n;scanf("%d",&n);if (n++<10) printf("%d\n",n);else printf("%d\n",n--);}A) 11 B) 10 C) 9 D) 869、以下程序输出结果是_____D_____.#include <>void main( ){ int m=4;if (++m>5) printf("%d\n",m--);else printf("%d\n",--m);}A) 7 B) 6 C) 5 D) 470、若执行下面的程序从键盘上输入5,则输出结果是.#include <>void main( ){int x;scanf("%d",&x);if (x++>5) printf("%d\n",x);else printf("%d\n",x--);}A) 7 B) 6 C) 5 D) 471、以下程序段运行结果是____A____.int x=1,y=1,z=-1;x+=y+=z;printf("%d\n",x<yy:x);A) 1 B) 2 C) 4 D) 不确定的值72、有以下程序#include <>void main( ){ int a,b,c=246;a=c/100%9;b=(-1)&&(-1);printf("%d,%d\n",a,b);}输出结果是____A____.A) 2,1 B) 3,2 C) 4,3 D) 2,-173、运行下面程序时,若从键盘输入数据为"123",则输出结果是___C____.#include ""void main(){ int num,i,j,k,place;scanf("%d",&num);if (num>99)place=3;else if(num>9)place=2;elseplace=1;i=num/100;j=(num-i*100)/10;k=(num-i*100-j*10);switch (place){ case 3: printf("%d%d%d\n",k,j,i);break;case 2: printf("%d%d\n",k,j);break;case 1: printf("%d\n",k);}}A) 123 B) 1,2,3 C) 321 D) 3,2,174、执行下列程序后的输出结果是___D____. #include <>void main( ){ int k=4,a=3,b=2,c=1;printf("%d\n",k<ak:c<bc:a);}A) 4 B) 3 C) 2 D) 1 75、以下条件表达式中能完全等价于条件表达式x的是____B___.A) (x==0) B) (x!=0) C) (x==1) D) (x!=1)76、若运行下面程序时,给变量a输入15,则输出结果是___A___.#include <>void main( ){ int a,b;scanf("%d",&a);b=a>15a+10:a-10;printf("%d\n",b) ;}A) 5 B) 25 C) 15 D) 1077、运行下面程序后,输出是___D___.#include <>void main( ){ int k=-3;if (k<=0) printf("****\n");else printf("####\n")}A) ####B) ****C) ####****D) 有语法错误不能通过编译78、执行下面程序的输出结果是____C____.#include <>void main( ){ int a=5,b=0,c=0;if (a=a+b) printf("****\n");else printf("####\n");}A) 有语法错误不能编译B) 能通过编译,但不能通过连接C) 输出 ****D) 输出 ####79、为了避免嵌套的if-else语句的二义性,C 语言规定else总是与___C___组成配对关系.A) 缩排位置相同的ifB) 在其之前未配对的ifC) 在其之前尚未配对的最近的ifD) 同一行上的if80、设x 、y 、z 、t均为int型变量,则执行以下语句后,t的值为____C_____.x=y=z=1;t=++x || ++y && ++z;A) 不定值 B) 4 C) 1 D) 081、以下程序段____C______.x=-1;do{x=x*x;} while (!x);A)是死循环 B)循环执行两次C)循环执行一次 D)有语法错误82、对下面程序段描述正确的是___B____.int x=0,s=0;while (!x!=0) s+=++x;printf("%d",s);A) 运行程序段后输出0B) 运行程序段后输出1C) 程序段中的控制表达式是非法的D) 程序段循环无数次83、下面程序段的输出结果是____C____.x=3;do { y=x--;if (!y) {printf("*");continue;}printf("#");} while(x=2);A) ## B) ##* C) 死循环 D)输出错误信息84、下面程序的运行结果是____B____.#include<>void main( ){ int a=1,b=10;do{ b-=a;a++;} while(b--<0);printf("%d,%d\n",a,b);}A) 3,11 B) 2,8 C) 1,-1 D) 4,985、下面程序段的运行结果是____B______. int n=0;while (n++<=2)printf("%d",n);A) 012 B) 123 C) 234 D) 错误信息86、下面程序段的运行结果是___D_____. int x=0,y=0;while (x<15) y++,x+=++y;printf("%d,%d",y,x);A) 20,7 B) 6,12 C) 20,8 D)8,2087、下面程序的运行结果是___B_____.#include<>void main(){ int s=0,i=1;while (s<=10){ s=s+i*i;i++;}printf("%d",--i);}A) 4 B) 3 C) 5 D) 688、函数pi的功能是根据以下近似公式求π值:____C______(π*π)/6=1+1/(2*2)+1/(3*3)+..+1/(n*n)请填空,完成求π的功能。

上海海事大学-C语言试卷

上海海事大学-C语言试卷

试卷编号:9049 所属语言:Turbo C 试卷方案:09(2) 模拟试卷总分:100分共有题型:5种一、填空共15题(共计15分)第1题(1.0分)C语言表达式!(3<6)||(4<9)的值是【1】.答案: 1). 1第2题(1.0分)int a=1,b=2,c=3; 执行语句a=b=c;后a的值是【1】.答案: 1). 3第3题(1.0分)以下程序的输出结果为【1】,#include "stdio.h" main(){inta=010,j=10;printf("%d,%d\n",++a,j--);}答案: 1). 9,10第4题(1.0分)执行下列语句的结果是【1】,a=3;printf("%d,",++a);printf("%d" ,a++);答案: 1). 4,4第5题(1.0分)当a=1,b=2,c=3时,执行以下程序段后b=【1】. if (a>c) b=a;a=c;c=b;答案: 1). 2第6题(1.0分)假设有条件 int x=1,y=2,z=3;则表达式z+=x>y?++x:++y的值是【1】.答案: 1). 6第7题(1.0分)执行下列语句后,b 的十进制值是【1】.int x=240,y=15,b;char z='A';b=(( x && y ) && ( z < 'a' ));答案: 1). 1第8题(1.0分)当a=3,b=2,c=1;时,执行以下程序段后 a=【1】.if(a>b) a=b;if(b>c) b=c;else c=b;c=a;答案: 1). 2第9题(1.0分)以下程序的输出结果为【1】,#include "stdio.h" main(){inta;for(a=0;a<10;a++);printf("%d",a);}答案: 1). 10第10题(1.0分)程序段int k=10; while(k=0) k=k-1循环体语句执行【1】次.答案: 1). 0第11题(1.0分)以下程序段要求从键盘输入字符,当输入字母为'Y' 时,执行循环体,则括号内应填写【1】.ch=getchar();while(ch ____ 'Y')/*在括号中填写*/ch=getchar();答案: 1). ==第12题(1.0分)以下do-while语句中循环体的执行次数是【1】.a=10;b=0;do { b+=2; a-=2+b; } while (a>=0);答案: 1). 3第13题(1.0分)C语言中,数组元素的下标下限为【1】.答案: 1). 0第14题(1.0分)如果函数不要求带回值,可用【1】来定义函数返回值为空.答案: 1). void第15题(1.0分)C语言源程序的基本单位是【1】.答案: 1). 函数二、判断共15题(共计15分)第1题(1.0分)a=(b=4)+(c=6) 是一个合法的赋值表达式. 答案:Y第2题(1.0分)在C语言中,变量必需先定义后使用答案:Y第3题(1.0分)语句 printf("%f%%",1.0/3);输出为0.333333. 答案:N第4题(1.0分)语句scanf("%7.2f",&a);是一个合法的scanf函数. 答案:N第5题(1.0分)在switch-case语句中,必须使用default语句.答案:N第6题(1.0分)关系运算符的优先级高于算术运算符并且低于赋值运算符.答案:N第7题(1.0分)C语言中的for语句可以用于循环次数已经确定的情况,但是不能用于循环次数不确定而只给出循环结束条件的情况.答案:N第8题(1.0分)do-while循环是先判断循环条件表达式,后执行循环体;while循环是先执行循环体,后判断循环条件表达式.答案:N第9题(1.0分)在定义二维数组时,可以将该数组的两个维数全部省略答案:N第10题(1.0分)任何数组的下标都是从0开始;答案:Y第11题(1.0分)C语言中只能逐个引用数组元素而不能一次引用整个数组.答案:Y第12题(1.0分)数组中的元素类型不能不同答案:Y第13题(1.0分)通过return语句,函数可以带回一个或一个以上的返回值.答案:N第14题(1.0分)如果函数值的类型和return语句中表达式的值不一致,则以函数类型为准.答案:Y第15题(1.0分)C程序中有调用关系的所有函数必须放在同一个源程序文件中.答案:N三、单项选择共20题(共计40分)第1题(2.0分)下列程序的输出结果是().main(){printf("%d\n",null); }A:0B:变量无定义C:-1D:1答案:B第2题(2.0分)用下列语句定义a,b,c,然后执行b=a、c='b'+b,则b,c的值是().long a=0xffffff;int b; char c;A:0ffffff 和0x61B:-1和98C:-1和97D:指向同一地址答案:C第3题(2.0分)已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量'\101'是().A:字符AB:字符aC:字符eD:非法的常量答案:A第4题(2.0分)若ch为char型变量,k为int型变量(已知字符a的ASCII十进制代码为97),则以下程序段的执行结果是().ch='a'; k=12; printf("%x,%o,",ch,ch); printf("k=%%%d\n",k);A:因变量类型与格式描述符的类型不匹配,输出无定值B:输出项与格式描述符个数不符,输出为零值或不定值C:61,141,k=%12D:61,141,k=%d 答案:C第5题(2.0分)若a是float型变量,b是unsigned型变量,以下输入语句中合法的是().A:scanf("%6.2f%d",&a,&b);B:scanf("%f%n",&a,&b);C:scanf("%f%3o",&a,&b);D:scanf("%f%f",&a,&b);答案:C第6题(2.0分)以下程序的输出结果为().main(){int i=010,j=10;printf("%d,%d\n",++i,j--);}A:11,10B:9,10C:010,9D:10,9答案:B第7题(2.0分)int a=1,b=2,c=3;if(a>c)b=a;a=c;c=b;则c的值为().A:1B:2C:3D:不一定答案:B第8题(2.0分)下列各m的值中,能使m%3==2&&m%5==3&&m%7==2为真的是(). A:8B:23C:17D:6答案:B第9题(2.0分)以下运算符中,优先级最高的运算符是(). A:?:B:++C:&&D:,答案:B第10题(2.0分)设j和k都是int类型,则for循环语句 for(j=0,k=0;j<=9&&k!=876;j++)scanf("%d",&k);().A:最多执行10次B:最多执行9次C:是无限循环D:循环体一次也不执行答案:A 第11题(2.0分)下面有关 for 循环的正确描述是().A:for 循环只能用于循环次数已经确定的情况B:for 循环是先执行循环循环体语句,后判断表达式C:在 for 循环中,不能用 break 语句跳出循环体D:for 循环的循环体语句中,可以包含多条语句,但必须用花括号括起来答案:D第12题(2.0分)以下程序的运行结果是().main(){ int n;for(n=1;n<=10;n++){if(n%3==0) continue;printf("%d",n);}}A:12457810B:369C:12D:1234567890答案:A第13题(2.0分)以下程序段的输出结果为().for(i=4;i>1;i--)for(j=1;j<i;j++)putchar('#');A:无B:######C:#D:###答案:B第14题(2.0分)设j和k都是int类型,则for循环语句(). for(j=0,k=0;j<=9&&k!=876;j++)scanf("%d",&k);A:最多执行10次B:最多执行9次C:是无限循环D:循环体一次也不执行答案:A第15题(2.0分)在C语言中,为了结束由while语句构成的循环,while后一对圆括号中表达式的值应该为().A:0B:1C:TrueD:非0答案:A第16题(2.0分)以下对一维整型数组a的正确说明是().A:int a(10);B:int n=10,a[n];C:int n; scanf("%d",&n); int a[n];D:#define SIZE 10 (换行) int a[SIZE]; 答案:D第17题(2.0分)在C语言中,引用数组元素时,其数组下标的数据类型允许是().A:整型常量B:整型表达式C:整型常量或整型表达式D:任何类型的表达式答案:C第18题(2.0分)以下不能正确定义二维数组的选项是().A:int a[2][2]={{1},{2}};B:int a[][2]={1,2,3,4};C:int a[2][2]={{1},2,3};D:int a[2][]={{1,2},{3,4}};答案:D第19题(2.0分)若有说明: int a[3][4]={0};则下面正确的叙述是().A:只有元素a[0][0]可得到初值0B:此说明语句不正确C:数组a中各元素都可得到初值,但其值不一定为0D:数组a中每个元素均可得到初值0答案:D第20题(2.0分)以下数组定义中不正确的是().A:int a[2][3];B:int b[][3]={0,1,2,3}; C:int c[100][100]={0};D:int d[3][]={{1,2},{1,2,3},{1,2,3,4}}; 答案:D四、程序填空共2题(共计12分)第1题(6.0分)/*-------------------------------------------------------【程序填空】---------------------------------------------------------题目:从读入的整数数据中,统计大于零的整数个数和小于零的整数个数。

C语言全部考试系统题库含答案(可编辑修改word版)

C语言全部考试系统题库含答案(可编辑修改word版)
-
目录
目录................................................................1 单元练习题一 C 语言基础知识 .........................................3
一、 判断题 ...................................................3 二、 单项选择题 ...............................................4 三、 读程序选择题 .............................................7 四、程序填空题 ..................................................8 五、编程题 .....................................................10 单元练习题二 C 语言程序结构 ........................................10 一、 判断题 ..................................................10 二、 单项选择题 ..............................................11 三、 读程序选择题 ............................................18 四、 程序填空题 ..............................................30 五、 编程题 ..................................................35 单元练习题三 数组..................................................36 一、 判断题 ..................................................36 二、 单项选择题 ..............................................37 三、读程序选择题 ...............................................39 四、程序填空题 .................................................43 五、编程题 .....................................................49 单元练习题四 函数..................................................49 一、 判断题 ..................................................49 二、 单项选择题 ..............................................50 三、读程序选择题 ...............................................52 四、程序填空题 .................................................60 五、编程题 .....................................................63 单元练习题五 预处理................................................63 一、 判断题 ..................................................63 二、 单项选择题 ..............................................64 三、读程序选择题 ...............................................64 四、程序填空题 .................................................65 五、编程题 .....................................................65 单元练习题六 指针..................................................66 一、 判断题 ..................................................66 二、 单项选择题 ..............................................66 三、读程序选择题 ...............................................67 四、程序填空题 .................................................74 五、编程题 .....................................................77 单元练习题七 结构体与共用体........................................78 一、 判断题 ..................................................78 二、 单项选择题 ..............................................78

上海海事大学C语言期末上机题库 13

上海海事大学C语言期末上机题库 13

if (a>c) b=a; a=c; c=b;
答案: =======(答案 1)======= 2
第 10 题 (1.0 分) 题号:532 以下 do-while 语句中循环体的执行次数是【1】.
a=10;
b=0; do { b+=2; a-=2+b; } while (a>=0);
答案: =======(答案 1)======= 3
答案: =======(答案 1)======= 9,10
第 5 题 (1.0 分) 题号:431 执行下面两个语句,输出的结果是【1】,char c1=97,c2=98;printf("%d %c",c1,c2); 答案: =======(答案 1)======= 97 b
*第 6 题 (1.0 分) 题号:293 getchar()函数只能接收一个【1】. 答案: =======(答案 1)======= 字符
第 14 题 (1.0 分) 题号:341 定义 int a[2][3];表示数组 a 中的元素个数是【1】个. 答案: =======(答案 1)======= 6
第 15 题 (1.0 分) 题号:328 C 语言中,数组元素的下标下限为【1】. 答案: =======(答案 1)======= 0
答案:
=======(答案 1)======= 28
第 2 题 (1.0 分) 题号:78 已知 i=5;写出语句 i+=012; 执行后整型变量 i 的十进制值是【1】.
答案:
=======(答案 1)======= 15
第 3 题 (1.0 分) 题号:510 若 a 是 int 型变量,则计算表达式 a=25/3%3 后 a 的值为【1】.

C语言程序设计试题集及其答案完整版

C语言程序设计试题集及其答案完整版

C语言程序设计试题集及其答案HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】第一章基础知识一.填空1.每个C程序都必须有且仅有一个________ 函数。

2. C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。

3. 软件是程序,以及______、使用和维护所需要的所有文档。

4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。

5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。

6. C语言是由________组成的。

7. C语言的函数可分为主函数main、标准库函数和_________。

8. 一个函数是由两部分组成的,即:________和函数体。

9. 编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。

10.程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作的要求。

不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。

11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。

12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对象,也可以用标号和符号来代替地址、常量和变量。

13.在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。

14. C程序的执行均是由执行_________开始。

15.函数体即为包含在{}内的部分。

它分为________和为完成功能任务由若干个C语句组成的执行部分。

(完整word版)单招高考C语言考卷-(答案)

(完整word版)单招高考C语言考卷-(答案)

C. a[4][1+2]
D .a[ ][2]
A ).
B.int a[][3]={2,3,4,5,6,7};
C. int a[3][3]={0}; D. int a[5][4]={{1,2},{2,3},{3,4},{4,5}};
28、若有以下数组定义 : char ch[]="book_120\n";
2、符号常量的定义方法是 #define 常量名 常量 。
3、设有下列运算符: <<、 +、++ 、 && 、 >=,其中优先级最高的是 级最低的是 && 。
++ ,优先
4、 putchar()函数可以向终端输出一个
字符

5、设有定义语句“ int a[3][4]={{1}, {2}, {3}} ”,则 a[2][1] 的值为
A. 7
B.8
29、以下程序段的输出结果是( A ) .
则数组 ch 的存储长度是( D )。
C.9
D.10
char str[8]={'a','b','c','d','\0','y','z','\0'};
printf("%s",str);
A. abcd
B . abcd yz
30、合法的数组定义是( B )
C 语言 学科练习
得分:
卷一( 60 分)
一、选择题(每题 2 分,共 40 分)
1、以下叙述正确的是:__ B__。
A ) C 语言的源程序不必通过编译就可以直接运行。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

试卷编号:9690所属语言:C语言一、填空共15题(共计15分)第1题(1.0分)题号:528设a、b、c为整型数, 且a=2、b=3、c=4, 则执行完以下语句:a*=16+(b++)-(++c);后,a的值是【1】.答案:=======(答案1)=======28第2题(1.0分)题号:77已知 i=5;写出语句 a=--i; 执行后整型变量a 的值是【1】.答案:=======(答案1)=======4第3题(1.0分)题号:433已知x=3,y=2,则表达式x*=y+8的值为【1】.答案:=======(答案1)=======30第4题(1.0分)题号:437以下程序的输出结果为【1】,#include "stdio.h" main(){inta=010,j=10;printf("%d,%d\n",++a,j--);} 答案:=======(答案1)=======9,10第5题(1.0分)题号:436下列程序的输出是【1】,main(){int a=011;printf("%d\n",++a);} 答案:=======(答案1)=======10第6题(1.0分)题号:293getchar()函数只能接收一个【1】.答案:=======(答案1)=======字符第7题(1.0分)题号:98已知a=13,b=6, !a的十进制数值为【1】. 答案:=======(答案1)=======第8题(1.0分)题号:255表达式18 && 53 的值是【1】.答案:=======(答案1)=======1第9题(1.0分)题号:86写出表达式 1.234&&5.982 的值是【1】.答案:=======(答案1)=======1第10题(1.0分)题号:438以下程序的输出结果为【1】,#include "stdio.h" main(){inta;for(a=0;a<10;a++);printf("%d",a);} 答案:=======(答案1)=======10第11题(1.0分)题号:594若所用变量都已正确定义,请填写以下程序段的输出结果【1】.for(i=1;i<=5;i++);printf("OK\n");答案:=======(答案1)=======OK第12题(1.0分)题号:532以下do-while语句中循环体的执行次数是【1】. a=10;b=0;do { b+=2; a-=2+b; } while (a>=0);答案:=======(答案1)=======3第13题(1.0分)题号:340C语言中,二维数组在内存中的存放方式为按【1】优先存放.答案:=======(答案1)=======行第14题(1.0分)题号:331C程序在执行过程中,不检查数组下标是否【1】.答案:=======(答案1)=======越界第15题(1.0分)题号:332若有以下数组a,数组元素:a[0]~a[9],其值为9 4 12 8 2 10 7 5 1 3该数组可用的最小下标值是【1】.答案:=======(答案1)=======二、判断共15题(共计15分)第1题(1.0分)题号:933在C语言中,变量必需先定义后使用答案:Y第2题(1.0分)题号:717x*=y+8 等价于 x=x*(y+8).答案:Y第3题(1.0分)题号:878若有 int i=10,j=2;则执行完i*=j+8;后ⅰ的值为28.答案:N第4题(1.0分)题号:943使用putchar函数时,必须在之前包含头文件stdio.h答案:Y第5题(1.0分)题号:720语句 printf("%f%%",1.0/3);输出为0.333333.答案:N第6题(1.0分)题号:716若i =3,则printf("%d",-i++);输出的值为-4. 答案:N第7题(1.0分)题号:930关于if语句中,条件表达式只能是关系表达式或逻辑表达式答案:N第8题(1.0分)题号:956在switch-case语句中,必须使用default语句.答案:N第9题(1.0分)题号:951在执行switch语句时,default和各个case 的出现次序不影响执行结果.答案:Y第10题(1.0分)题号:952do-while循环是先判断循环条件表达式,后执行循环体;while循环是先执行循环体,后判断循环条件表达式.答案:N第11题(1.0分)题号:953C语言中的for语句可以用于循环次数已经确定的情况,但是不能用于循环次数不确定而只给出循环结束条件的情况.答案:N第12题(1.0分)题号:954continue语句只结束本次循环,而不是终止整个循环的执行.break语句则是结束整个循环过程,不再判断执行循环的条件是否成立.答案:Y第13题(1.0分)题号:736int a[3][4]={{1},{5},{9}}; 它的作用是将数组各行第一列的元素赋初值,其余元素值为0.答案:Y第14题(1.0分)题号:926任何数组的下标都是从0开始;答案:Y第15题(1.0分)题号:735如果想使一个数组中全部元素的值为0,可以写成int a[10]={0*10};答案:N三、单项选择共20题(共计40分)第1题(2.0分)题号:2219设有说明:char w;int x;float y;double z;则表达式w*x+z-y值的数据类型为().A:floatB:charC:intD:double答案:D第2题(2.0分)题号:2005以下不正确的叙述是().A:在C程序中所用的变量必须先定义后使用B:程序中,APH和aph是两个不同的变量C:若a和b类型相同,在执行了赋值语句a=b;后b中的值将放入a中,b中的值不变D:当输入数值数据时,对于整型变量只能输入整型值;对于实型变量只能输入实型值答案:D第3题(2.0分)题号:2194C语言表达式a=15,a%6的值是A:15 B:3C:2D:非法表达式答案:B第4题(2.0分)题号:2039若k为int型变量,则以下程序段的执行结果是().k=-8567; printf("k=|%06D|\n");A:格式描述符不合法,输出无定值B:输出为k=|%06D|C:输出为|0-8567|D:输出为|-8567|答案:B第5题(2.0分)题号:2044下列程序的输出结果为().main(){int m=7,n=4;float a=38.4,b=6.4,x;x=m/2+n*a/b+1/2;printf("%f\n",x);}A:27.000000B:27.500000C:28.000000D:28.500000答案:A第6题(2.0分)题号:2042若a是float型变量,b是unsigned型变量,以下输入语句中合法的是().A:scanf("%6.2f%d",&a,&b);B:scanf("%f%n",&a,&b);C:scanf("%f%3o",&a,&b);D:scanf("%f%f",&a,&b);答案:C第7题(2.0分)题号:2143int a=1,b=2,c=3;if(a>c)b=a;a=c;c=b;则c的值为().A:1B:2C:3D:不一定答案:B第8题(2.0分)题号:2046以下程序的输出结果是().main(){int i,j,k,a=3,b=2;i=(--a==b++)?--a:++b;j=a++;k=b;printf("i=%d,j=%d,k=%d\n",i,j,k);}A:i=2,j=1,k=3B:i=1,j=1,k=2C:i=4,j=2,k=4D:i=1,j=1,k=3答案:D第9题(2.0分)题号:2210若有条件表达式 (exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是().A:(exp==0)B:(exp!=0)C:(exp==1)D:(exp!=1)答案:B第10题(2.0分)题号:2062假定所有变量均已正确定义,下列程序段运行后x的值是().k1=1;k2=2;k3=3;x=15;if(!k1) x--;else if(k2) x=4;else x=3;A:14B:4C:15D:3答案:B第11题(2.0分)题号:2144int a=1,b=2,c=3;if(a>b)a=b;if(a>c)a=c;则a的值为().A:1B:2C:3D:不一定答案:A第12题(2.0分)题号:2248下面有关 for 循环的正确描述是().A:for 循环只能用于循环次数已经确定的情况B:for 循环是先执行循环循环体语句,后判断表达式C:在 for 循环中,不能用 break 语句跳出循环体D:for 循环的循环体语句中,可以包含多条语句,但必须用花括号括起来答案:D第13题(2.0分)题号:2246以下for循环的执行次数是for(x=0,y=0;(y=123)&&(x<4);x++);().A:是无限循环B:循环次数不定C:4次D:3次答案:C第14题(2.0分)题号:2251以下不是无限循环的语句为().A:for(y=0,x=1;x>++y;x=i++) i=x;B:for(;;x++=i);C:while(1){x++;}D:for(i=10;;i--) sum+=i;答案:A第15题(2.0分)题号:2061在以下给出的表达式中,与 do--while(E)语句中的(E)不等价的表达式是().A:(!E==0)B:(E>0||E<0)C:(E==0)D:(E!=0)答案:C第16题(2.0分)题号:2123设j和k都是int类型,则for循环语句(). for(j=0,k=0;j<=9&&k!=876;j++)scanf("%d",&k);A:最多执行10次B:最多执行9次C:是无限循环D:循环体一次也不执行答案:A第17题(2.0分)题号:2273设有数组定义: char array [ ]="China"; 则数组 array所占的空间为().A:4个字节B:5个字节C:6个字节D:7个字节答案:C第18题(2.0分)题号:2275以下对二维数组a的正确说明是().A:int a[3][]B:float a(3,4)C:double a[1][4]D:float a(3)(4)答案:C第19题(2.0分)题号:2282以下能对二维数组a进行正确初始化的语句是().A:int a[2][]={{1,0,1},{5,2,3}};B:int a[][3]={{1,2,3},{4,5,6}};C:int a[2][4]={{1,2,3},{4,5},{6}};D:int a[][3]={{1,0,1}{},{1,1}};答案:B第20题(2.0分)题号:2152若char a[10];已正确定义,以下语句中不能从键盘上给a数组的所有元素输入值的语句是().A:gets(a);B:scanf("%s",a);C:for(i=0;i<10;i++)a[i]=getchar();D:a=getchar();答案:D四、程序填空共4题(共计24分)第1题(6.0分)题号:11/*-------------------------------------------------------【程序填空】---------------------------------------------------------题目:以下程序的功能是求100-999之间的水仙花数(水仙花数是指一个三位数的各位数字的立方和是这个数本身,如:153=1^3+5^3+3^3)。

相关文档
最新文档