浙江科技学院c语言历年试卷
历年C语言考试题库及答案
C语言理论上机考试选择题部分(共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=13 C) 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) -2649、执行下面程序中的输出语句后,输出结果是____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) 128、若有以下定义和语句: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 morning! 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) 175、以下条件表达式中能完全等价于条件表达式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,8D)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语言2012-2013-1-C试卷A
K2MG-E 《专业技术人员绩效管理与业务能力提升》练习与答案浙江科技学院2012-2013学年第1学期考试试卷A 卷信息、建工、机械、经管、轻工、理学学院 2012年级 理工科专业一、判断题(本大题共12小题,每题小1分,共12分) 1. “C ”指字符常量C 。
2. if(a==b)语句可用于判断两个字符串a 和b 是否相等。
3. 当需要接受用户从键盘输入的含有空格的字符串时,应使用gets()函数。
4. char *a[5]定义了一个一维指针数组,它有5个元素,每个元素都字符类型的指针。
5. (a=3)>(b=5)是合法的关系表达式。
6. continue 语句的作用是结束整个循环的执行。
7. 若有说明: int a[3][4]; 则数组a 中各元素可在程序的编译阶段得到初值0。
8. char *p; 定义了一个指针变量p ,其值是字符类型的。
9. main 函数中定义的变量称为全局变量。
10. 如果函数的形参和实参类型不一致,以实参的类型为准。
11. 对于二维数组a[3][4],a+1与a[1]完全一样,都是第一行的行地址。
12. 在标准C 语言中,函数只能有一个return 语句。
二、单选题(本大题共20小题,每题1分,共20分)1. t 为int 类型,在进入下面的循环之前,t 的值为0,while( t=l ) { ...... }则以下叙述中正确的是( )。
A. 循环控制表达式的值为0 B. 循环控制表达式的值为1 C.循环控制表达式不合法D.以上说法都不对2. 若有语句scanf("%d%d",&a,&b);要使变量a,b 分别得到10和20,正确的输入形式为( )。
A. 10 20 B. 10,20 C.1020D.10:203. 以下4个选项中,不能看作一条C 语言语句的是( )。
A. ; B. a=1,b=1,c=1; C.if(x>0);D.if(b==1) k=2;n=3;4. 函数strlen("1234\0xy")的值为( )。
2022年浙江科技学院计算机科学与技术专业《计算机组成原理》科目期末试卷B(有答案)
2022年浙江科技学院计算机科学与技术专业《计算机组成原理》科目期末试卷B(有答案)一、选择题1、若单译码方式的地址输入线为6,则译码输出线有()根,那么双译码方式有输出线()根。
A.64,16B.64,32C.32,16D.16,642、在全相联映射、直接映射和组相联映射中,块冲突概率最小的是()。
A.全相联映射B.直接映射C.组相联映射D.不一定3、一个C语言程序在一台32位机器上运行,程序中定义了3个变量x、y、z,其中x 和z是int型,y为short型。
当x=127,y=-9时,执行赋值语句z=xty后,x、y、z的值分别是()。
A.x=0000007FH,y=FFF9H,z=00000076HB.x=0000007FH,y=FFF9H,z=FFFFO076HC.X=0000007FH,y-FFF7H,z=FFFF0076HD.X=0000007FH,y=FFF7H,z=00000076H4、假设机器字长为8位(含两位符号位),若机器数DA日为补码,则算术左移一位和算术右移一位分别得()。
A.B4H EDHB.F4H 6DHC.B5H EDHD.B4H 6DH5、在原码两位乘中,符号位单独处理,参加操作的数是()。
A.原码B.绝对值的补码C.补码D.绝对值6、为协调计算机系统各部件的工作,需要一种器件来提供统一的时钟标准,这个器件,是()。
A.总线缓冲器B.总线控制器C.时钟发生器D.以上器件都具备这种功能7、下列关于总线说法中,正确的是()I.使用总线结构减少了信息传输量II.使用总线的优点是数据信息和地址信息可以同时传送III.使用总结结构可以提高信息的传输速度IV.使用总线结构可以减少信息传输线的条数A.I,II,IIIB.II,III,IVC.III,IVD.只有I8、程序P在机器M上的执行时间是20s,编译优化后,P执行的指令数减少到原来的70%,而CPl增加到原来的1.2倍,则P在M上的执行时间是()。
c语言编程浙大期末2000级B试卷
2000~2001学年“程序设计基础--C”试卷考试时间: 2001年6月27日下午2:00-4:00注: 请将答案写在答题卷上一、单项选择题(每题2分,共30分)1. ______是合法的用户自定义标识符。
A、b-bB、floatC、<fr>D、_isw2. 若变量已正确定义并赋值,表达式______不符合C语言语法。
A、a*b/c;B、3.14%2C、2, bD、a/b/c3. _____是不正确的字符常量。
A、'\n'B、'1'C、"a"D、'\101'4. 在C 程序中,用_____表示逻辑值“真”。
A、1B、非0 的数C、非1 的数D、大于0 的数5. ______把x、y定义成float类型变量,并赋同一初值3.14。
A、float x, y=3.14;B、float x, y=2*3.14;C、float x=3.14, y=x=3.14;D、float x=y=3.14;6. 若变量已正确定义,表达式______的值不是2。
A、2&3B、1<<1C、a==2D、1^37. 若变量已正确定义,语句“if(a>b) k=0; else k=1;”和______等价。
A、k=(a>b)?1:0;B、k=a>b;C、k=a<=b;D、a<=b ? 0 : 1;8.设变量定义为“int a, b;”,执行下列语句时,输入_____,则a和b的值都是10。
scanf("a=%d, b=%d",&a, &b);A、10 10B、10, 10C、a=10 b=10D、a=10, b=109.下列程序的输出结果是_____。
fun(int a, int b, int c){ c =a*b; }main( ){ int c;fun(2,3,c);printf(”%d\n”,c);}A、0B、1C、6D、无法确定10. 在C程序中,若对函数类型未加说明,则函数的隐含类型为_____。
2022年浙江科技学院公共课《C语言》科目期末试卷B(有答案)
2022年浙江科技学院公共课《C语言》科目期末试卷B(有答案)一、填空题1、若有以下定义和语句,为使变量c1得到字符’A',变量c2得到字符’B’,正确的输入形式是_______。
char cl,c2;scanf("%4c%4c",&cl,8&c2);2、C语言源程序的基本单位是________3、一个C语言源程序由若干函数组成,其中至少应含有一个________4、表达式8/4*(int)2.5/(int)(1.25*(3.7+2.3))值的数据类型为_______。
5、表达式x=6应当读做_______6、设x=10100011,若要通过x*y使x的高4位取反,低4位不变,则y的二进制数是_______。
7、下面add函数的功能是求两个参数的和,并将和值返回调用函数。
函数中错误的部分是_______,改正后为_______。
void add(float a,float b){float c;c=a+b;return c;}8、设有以下宏定义:#define WIDTH80#define LENGTH(WIDTH+40)则执行赋值语句:k=LENGTH*20;(k为int型变量)后,k的值是_______。
9、下面程序wdm的运行结果是_______。
int i,x[10]={2,3,0,3,0,2,3,2,1,3},y[4]={0};for(i=0;i<10;i++)y[x[i]]++;printf("%d\n",y[3]);10、下面程序段的运行结果是_______。
char s[20]="abcd";char*sp=s;sp++;puts(strcat(sp,"ABCD"));二、选择题11、下面4个选项中,是不合法的浮点数的选项是( )。
A.160.B.123C.-18D.-e312、设以下变量均为int类型,则值不等于7的表达式是( )。
浙江科技学院C程序设计2017--2020年考研初试真题
第 10页,共 15页
机密 ★ 考试结束前
5. 下列程序将数组名作为函数参数,求平均成绩。请填空。 #include<stdio.h> float aver(______(13)______,int n) { int i; float av,s = a[0]; for(i = 1; i < n; i ++) s += a[i]; av = s / n; ______(14)______ ; } int main() { float sco[5],av; int i; for(i = 0; i < 5; i ++) scanf("%f",sco + i); av = aver(_____(15)______ , 5); printf("average score is %5.2f\n",av); return 0; }
【程序】 #include <stdio.h> int prime(int n); void guess(int n);
第 7页,共 15页
机密 ★ 考试结束前
void main() {
int n,n1,n2; do {
printf("Please input an even number(>=6):"); scanf("%d",&n); }while(!(n>=6&&n%2==0)); guess(n); } void guess(int n) { int n1,n2; for(n1=3;n1<=n/2;n1+=2) { n2=n-n1; if(____(4)____)
2013年浙江省c语言二级考试试卷及答案
2013年浙江省c语言二级考试试卷及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的关键字?A. intB. IntegerC. INTD. integer答案:A2. C语言中,一个整型变量占用的字节数是多少?A. 1B. 2C. 4D. 8答案:C3. 下列哪个选项不是C语言中的控制语句?A. ifB. switchC. forD. case答案:D4. C语言中,哪个函数用于计算字符串的长度?A. strlen()B. strlength()C. length()D. strleng()答案:A5. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. _variableD. variable-2答案:B6. C语言中,哪个运算符用于计算两个数的和?A. +B. -C. *D. /答案:A7. C语言中,哪个函数用于将字符串连接到另一个字符串的末尾?A. strcat()B. strjoin()C. strappend()D. strconcat()答案:A8. C语言中,哪个函数用于将字符串从大写转换为小写?A. tolower()B. toupper()C. strlower()D. strupper()答案:A9. C语言中,哪个函数用于输出格式化的字符串?A. printf()B. sprintf()C. fprintf()D. scanf()答案:A10. C语言中,哪个函数用于计算两个浮点数的差?A. fabs()B. fmod()C. diff()D. subtract()答案:B二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型数组时,数组的下标从____开始。
答案:02. C语言中,使用____运算符可以对变量进行自增操作。
答案:++3. C语言中,使用____函数可以获取当前时间。
答案:time()4. C语言中,使用____函数可以打开一个文件。
浙江省高等学校(C语言)试卷及参考答案
(4)A、+=item C、1.0/item
B、sum=-1 C、sum=n
B、i>n D、i>=n
B、item=item+i D、item=item/i B、item D、sum+item
ቤተ መጻሕፍቲ ባይዱ
2.阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序说明】先输入一个正整数 n(1≤n≤10),再输入 n 个从小到大有序排列的整数,并
n= (9) ; for(i=0;i<n;i++){ [j]!='\0';j++){
for( (10) ;str
putchar(str[j]);
} for( (11) ;j<i;j++){ pu tchar(str[j]);
C 程序设计试卷第 2 页(共 6 页)
} (12) ;
} }
【供选择的答案】
一、程序阅读与填空(24 小题,每小题 3 分,共 72 分)
1.阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。
【程序说明】
输入一个正整数 n,计算并输出 1 + 1/2!+ /3! + … + 1/n! 的值。
【程序】
#include <stdio.h> void main()
else low=mid+1; } if(low<=high) printf("Index is %d \n",mid); else printf("Not Found\n"); }
浙江省二级c语言考试真题及答案
浙江省二级c语言考试真题及答案一、单项选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于声明函数?A. intB. floatC. returnD. void答案:D2. 若有定义 int a[5] = {1, 2, 3, 4, 5};,则以下哪个表达式的值不为5?A. a[4]B. a[5]C. a[0]D. *(a + 4)答案:B3. 在C语言中,以下哪个运算符用于计算两个数的乘积?A. %B. /C. *D. ^答案:C4. 下面哪个选项不是C语言中的控制结构?A. 顺序结构B. 选择结构C. 循环结构D. 递归结构答案:D5. 在C语言中,以下哪个函数用于计算并返回字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A6. 若有定义 int x = 10;,则以下哪个表达式的值不为10?A. x++B. ++xC. x--D. --x答案:D7. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A8. 下面哪个选项不是C语言中的存储类别?A. autoB. staticC. registerD. volatile答案:D9. 在C语言中,以下哪个函数用于打开一个文件?A. fopen()B. fclose()C. fgetc()D. fprintf()答案:A10. 若有定义 int a[3][2] = {{1, 2}, {3, 4}, {5, 6}};,则以下哪个表达式的值不为4?A. a[1][1]B. a[2][0]C. a[0][1]D. a[1][0]答案:B二、填空题(每题2分,共20分)1. 在C语言中,字符'A'的ASCII码值是__65__。
2. 若有定义 int a = 10;,则表达式 a % 3 的值是__1__。
2022年浙江科技学院公共课《C语言》科目期末试卷A(有答案)
2022年浙江科技学院公共课《C语言》科目期末试卷A(有答案)一、填空题1、请读程序段:int x=1;printf("%d\n",~x);上面程序段的输出结果是_______。
2、在C语言中,输入操作是由库函数________完成的,输出操作是由库函数________完成的。
3、在C语言源程序中,一个变量代表【】。
4、C语言所提供的基本数据类型包括:单精度型、双精度型、_______、_______和_______。
5、若有定义语句:int a=2,b=3;float x=3.5,y=2.5;则表达式(float)(a+b)/2+(int)x%(int)y的值为_______6、若有以下定义和语句,则在程序中可通过指针pt,用*(pt[i]+j)等4种形式引用数组元素x[i][],另3种形式分别是:_______、_______和_______。
(假设ij已正确说明并赋值。
)int x[10][6],(*pt)[6];pt=x;7、函数swap(arr,n)可对arr数组从第1个元素到第n个元素分别进行两两元素交换。
在运行调用函数中的如下语句后,a[o]和a[1]的值分别为_______,原因是_______。
a[0]=1;a[1]=2;swap(a,2);8、设有一输入函数scanf("%d”,k);它不能使float类型变量k得到正确数值的原因是_______未指明变量k的地址和_______格式控制符与变量类型不匹配。
9、为建立如图10-5所示的存储结构(即每个结点两个域,data是数据域,next是指向结点的指针域),请将定义补充完整。
struct s{char data;_______}node;10、字符串"ab\n\\012\\\"”的长度是_______。
二、选择题11、下列4组选项中,不是C语言关键字的选项是。
()A.defineB.getcC.includeD.whileIF char scanf goType printf case pow12、设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为( )。
专升本C语言历年试题及答案
专升本C语言历年试题及答案一、选择题(每题2分,共20分)1. 下面哪个选项是C语言中的关键字?A. intB. integerC. floatD. double答案:A2. C语言中,用于定义数组的关键字是?A. listB. arrayC. vectorD. set答案:B3. 在C语言中,哪个函数用于计算数组的长度?A. length()B. size()C. sizeof()D. count()答案:C4. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. ==D. =5. C语言中,用于实现循环结构的关键字是?A. loopB. repeatC. whileD. do答案:C6. 在C语言中,以下哪个选项不是标准输入输出函数?A. printf()B. scanf()C. cout()D. getchar()答案:C7. 下列哪个选项是C语言中定义函数的关键字?A. functionB. defC. voidD. int答案:C8. 在C语言中,以下哪个选项不是合法的变量名?A. _nameB. name123C. 123nameD. name$答案:C9. C语言中,用于定义指针的关键字是?B. refC. pointerD. *答案:D10. 下列哪个选项不是C语言中的预处理指令?A. #includeB. #defineC. #importD. #pragma答案:C二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型变量的正确语法是:________。
答案:int variable_name;2. 如果要将一个变量的值赋给另一个变量,应该使用运算符________。
答案:=3. 在C语言中,表示逻辑与的运算符是________。
答案:&&4. 用于计算两个整数相加的函数是________。
答案:add()5. C语言中,用于定义一个函数的关键字是________。
历年浙江c语言二级考试真题
2003 年秋浙江省高校非计算机专业学生计算机等级考试试卷(二级C)试题一、计算机基础题( 本题共15 分)(一)单选题( 每小题1 分, 共10 分)(1) 计算机网络最突出的优点是(1)。
A、运算速度快 B 、精度高C 、共享硬件、软件和数据资源D 、内存容量大(2) 在微型计算机的设备中, 访问速度最快的是(2 )A、软盘 B 、硬盘 C 、内存储器D、CD-ROM(3) 操作系统的主要功能是(3)A、对计算机系统的所有资源进行控制与管理B 、实现多用户及分布式处理C 、扩充计算机的功能D 、对硬件资源进行分配、控制、调度和回收(4)Internet 与WW 的关系是(4 〉A、都是因特网, 只是名称不同 B 、Internet 就是WWC 、Internet 与WW 完全没有关系D 、附W 是Internet 上的一个应用(5 )在Windows 98 环境下, 下面关于附件中应用程序的说法,(5 )是不正确的。
A、写字板可以编辑文本文件B 、写字板的缺省扩展名为.DOCC 、计算器中的计算结果, 可以粘贴到文档文件中D 、记事本中设置的显示字体, 将保存在文本文件中, 当使用Word 读入该文件时,仍具有所设置的字体(6) 在Word 编辑文本时, 将文档中所有的"memory" 都改成" 存储器", 最快捷的方法是采用(6 ) 操作。
A、中英文转换 B 、替换 C 、改写D、翻译(7) 以下几种关于消除计算机病毒的说法中, 正确的是。
A、专门的杀毒软件并非总是有效的B 、删除所有带毒文件能消除所有病毒C 、对感染上病毒的软盘, 格式化既能消除病毒, 又能使数据不受破坏D 、耍一劳永逸地使计算机不感染病毒, 最好的方法是装上防病毒卡(8) 实现汉字字形表示的方法, 一般可分为(8 )两大类。
A、点阵式与矢量式 B 、点阵式与网络式C 、网络式与矢量式D 、矢量式与向量式(9) 十六进制数lAE7OFH 与十六进制数2003H 的和是(9 )。
C语言程序设计期末考试试题含答案
C语言程序设计期末考试试题含答案一、选择题(每题 2 分,共 40 分)1、以下选项中,不是 C 语言关键字的是()A intB floatC charD string答案:D解释:string 不是 C 语言的关键字,C 语言中表示字符串通常使用字符数组。
2、以下能正确表示八进制整数的是()A 0o123B 0123C 0x123D 123答案:B解释:在 C 语言中,八进制整数以数字 0 开头,所以 0123 是八进制整数。
3、以下变量定义中,合法的是()A int a=b=1;B char a='\0';C float 2a;D double a&;答案:B解释:A 选项中不能连续赋值;C 选项变量名不能以数字开头;D 选项变量名不能包含特殊字符&。
4、若有定义:int a=5, b=2; 则表达式 a/b 的值是()A 25B 2C 20D 3答案:B解释:C 语言中,两个整数相除结果为整数,舍去小数部分。
5、若有定义:int a5 ={1, 2, 3, 4, 5};则 a2的值是()A 2B 3C 4D 5答案:B解释:数组下标从 0 开始,所以 a2对应的值是 3 。
6、以下关于函数的叙述中,正确的是()A 函数可以嵌套定义B 函数可以嵌套调用C 函数可以没有返回值D 以上都不对答案:C解释:函数不能嵌套定义,但可以嵌套调用。
函数可以没有返回值,此时函数类型为 void 。
7、若有以下函数定义:```cint fun(int a, int b){return a + b;}```则调用 fun(1, 2)的返回值是()A 1B 2C 3D 4答案:C解释:函数 fun 实现了两个整数的相加,所以 fun(1, 2)的返回值是3 。
8、以下关于指针的叙述中,错误的是()A 指针可以指向变量B 指针可以指向数组C 指针可以指向函数D 指针不可以进行加减运算答案:D解释:指针可以进行加减运算,但运算的结果要根据指针所指向的数据类型来确定。
(完整版)C语言考试题库及答案
(完整版)C语言考试题库及答案一、选择题1. 以下哪个选项是C语言的合法标识符?A. intB. 2abcC. voidD. a+b答案:C2. 在C语言中,下列哪个选项是正确的数据类型?A. floatB. integerC. doubleD. All of the above答案:D3. 若变量定义如下:int a = 5;,则执行语句printf("%d", a++); 后,a的值是多少?A. 4B. 5C. 6D. 无法确定答案:C4. 以下哪个函数用于动态分配内存?A. malloc()B. alloc()C. new()D. calloc()答案:A5. 在C语言中,哪个运算符用于取模(取余)?A. %B. /C. &D. |答案:A以下是判断题部分:6. C语言中的数组名可以作为指向该数组首元素的指针使用。
()答案:正确7. 在C语言中,结构体变量可以作为函数的参数传递。
()答案:正确8. 在C语言中,静态存储类别的变量在程序运行期间始终占据内存空间。
()答案:正确二、填空题9. 在C语言中,定义一个整型变量需要使用关键字______。
答案:int10. 若变量定义如下:int a = 10;,则执行语句printf("%d", a--); 后,a的值是______。
答案:911. 在C语言中,用于动态分配内存的函数是______。
答案:malloc12. 在C语言中,用于释放动态分配的内存的函数是______。
答案:free13. 在C语言中,用于清空标准输入缓冲区的函数是______。
答案:getchar()三、编程题14. 编写一个C语言程序,实现以下功能:输入一个整数,输出它的阶乘。
答案:```c#include <stdio.h>int main() {int n, i;long factorial = 1;printf("Enter an integer: ");scanf("%d", &n);if (n < 0) {printf("Factorial of a negative number doesn't exist.\n");} else {for (i = 1; i <= n; i++) {factorial = i;}printf("Factorial of %d is %ld\n", n, factorial);}return 0;}```15. 编写一个C语言程序,实现以下功能:输入一个字符串,判断它是否是回文(正读和反读都一样的字符串)。
浙江省高等学校二级C语言(笔试部分真题2008-2010年)
浙江省高等学校二级C语言(笔试部分真题2008-2010年)浙江省高等学校计算机等级考试试卷(二级C)2010-2008笔试部分真题2010年春浙江省高等学校计算机等级考试试卷(二级C)一、程序阅读与填空(24小题,每小题3分,共72分)1. 阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。
【程序说明】输入一个整数,求它的各位数字之和位数。
例如,17的各位数字之和是8,位数是2。
运行示例:Enter an integer:-153sum = 8, count = 3【程序】#include <stdio.h>main(){int count = 0, in, sum = 0;printf("Enter an integer:");scanf("%d", &in);if( D ) in = -in;do{sum = sum + (2) C ;(3)C ;count++;}while( (4)B );printf("sum = %d, count = %d\n", sum, count);}【供选择的答案】(1) A、in == 0 B、in > 0C、in != 0D、in< 0(2) A、in /10 B、in mod10C、in % 10D、in(3) A、in = in % 10 B、in /10C、in = in /10D、in % 10(4) A、in % 10 != 0 B、in != 0C、!inD、in /10 != 02.阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。
【程序说明】输出50到70之间的所有素数。
要求定义和调用函数isprime(m)判断m是否为素数,若m 为素数则返回1,否则返回0。
素数就是只能被1和自身整除的正整数,1不是素数,2是素数。
浙江省计算机2级C语言历年题目
计算机等级考试二级C历年试卷汇总2006年春浙江省高等学校计算机等级考试试卷(二级C)说明:⑴考生应将所有试题的答案填写在答卷上。
其中试题1~试题6,请在答卷上各小题正确选项的对应位置处填“√”;⑵请将你的准考证号的后五位填写在答卷右下角的指定位置内;⑶考试时间为90分钟;试题1(每小题3分,共12分)阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。
【程序说明】求 1 + 2/3 + 3/5 + 4/7 + 5/9 + …的前20项之和。
运行示例:sum = 11.239837【程序】#include <stdio.h>void main( ){int i, b = 1;double s;s=0 ;s = s + (_double)i/(double)b ;b=b+2;}printf( “sum=%f\n “ , s);}【供选择的答案】(1) A、s = 0 B、s = 1C、s = -1D、s = 2(2) A、i/b B、double(i)/double(b)C、i/2*i-1D、(double)i/(double)b(3) A、; B、b = 2 * i – 1;C、b = 1.0 * b;D、b = b + 2;(4) A、"sum = %d\n" B、"s = %c\n"C、"sum = %f\n"D、"s = %s\n"试题2(每小题3分,共12分)阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。
【程序说明】输入10个整数,将它们从大到小排序后输出。
运行示例:Enter 10 integers: 1 4 -9 99 100 87 0 6 5 34After sorted: 100 99 87 34 6 5 4 1 0 -9【程序】#include <stdio.h>void main( ){ int i, j, t, a[10];printf("Enter 10 integers: ");for(i = 0; i < 10; i++)scanf( “%d”,&a[i] );for( j=0 ; j<10-i ; j++)if( a=[j]<a[j+1] ){t = a[j];a[j] = a[j+1];a[j+1] = t;}printf("After sorted: ");for(i = 0; i < 10; i++)printf("%d ", a[i]);printf("\n");}【供选择的答案】(5) A、"%f", a[i] B、"%lf", &a[i]C、"%s", aD、"%d", &a[i](6) A、j = 0 B、j = 1C、j = iD、j = i - 1(7) A、j > i B、j < 9 - iC、j < 10 - iD、j > i - 1(8) A、a[i-1] < a[i] B、a[j+1] < a[j+2]C、a[j] < a[j+1]D、a[i] < a[j]试题3(每小题3分,共12分)阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。
c语言考试试题及答案
c语言考试试题及答案C语言考试试题及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言的关键字?A. voidB. StringC. intD. array答案:A2. C语言中,哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /答案:C3. 在C语言中,以下哪个是正确的字符串定义?A. char str[10] = "Hello";B. string str = "Hello";C. char str[] = "Hello";D. string str[10] = "Hello";答案:A4. 下列哪个选项是C语言中数组的正确声明方式?A. int array[10];B. int array(10);C. int array = 10;D. int array = {10};答案:A5. 在C语言中,哪个函数用于计算两个数的最大值?A. max()B. min()C. abs()D. pow()答案:A6. 以下哪个是C语言中的逻辑运算符?A. &&B. ||C. %D. /答案:A7. 在C语言中,哪个关键字用于定义一个函数?A. functionB. defC. voidD. int答案:C8. C语言中,以下哪个语句用于结束一个循环?A. continue;B. break;C. return;D. exit;答案:B9. 在C语言中,哪个函数用于打印输出?A. printf()B. print()C. display()D. show()答案:A10. 以下哪个选项是C语言中正确的条件语句?A. if (x = 10)B. if (x == 10)C. if (x : 10)D. if (x / 10)答案:B二、填空题(每空2分,共20分)1. C语言中,用于定义变量的关键字是________。
浙江省二级C语言考试真题(2007年-2010年共8份)
2007年春浙江省高校计算机等级考试试卷(二级C)试题1(每小题3分,共12分)程序说明输入一个正整数,按照从高位到低位输出各位数字。
运行示例:Enter an integer:1902the digits are:1 9 02#include <stdio.h>void main(){ int digit,number,power,t;printf("Enter an integer:");scanf("%d",&number);number=number<0?-number:number;power=1;(1)while( (2) ){power*=10;t/=10;};printf("the digits are:");while( (3) ){ digit=number/power;printf("%d ",digit);(4)power/=10;}}【供选择的答案】(1)A、t=1; B、t=number;C、;D、number=1; 答案:B(2)A、t>=10 B、power>=100C、t!=0D、number!=0 答案:A(3)A、power==0 B、digit!=0C、number!=0D、power>=1 答案:D(4)A、number/=power; B、number%=10;C、number%=power;D、number/=10; 答案:C试题2(第小题3分,共12分)【程序说明】连续输入一批学生的成绩,直到输入成绩的数量超过50或者输入成绩不是有效成绩(有效成绩为0-100),将输入的有效成绩存入数组mark中,在数组中查找并输出最高分。
函数getmax(array,n)在有n个元素的一维数组array中找出并返回最大值。
运行示例:enter marks:90 80 77 65 –1max=90#include <stdio.h>#define MAXNUM 50int getmax( (5) ){int k,max;(6)for(k=1;k<n;k++)if(max<array[k]) max=array[k];return max;}void main(){ int k,x;int mark[MAXNUM];printf("enter marks:");k=0;scanf("%d",&x);while( (7) ){mark[k++]=x;scanf("%d",&x);}if(k>0) printf("max=%d\n",getmax( (8) ));else printf("No marks!\n");}【供选择的答案】(5)A、int n;int array[] B、voidC、int *arrayD、int array[],int n 答案:D(6)A、max=0; B、;C、max=array[0]D、max=array[n]; 答案:C(7)A、k<MAXNUM||x>=0&&x<=100B、k<MAXNUM&&x>=0&&x<=100C、k>MAXNUM&&x>=0||x<=100D、k>MAXNUM||x>=0||x<=100 答案:B(8)A、mark,k B、markC、mark[]D、mark,n 答案:A试题3(第小题3分,共12分)【程序说明】输入一个4行4列的矩阵,计算并输出矩阵除四边以外的所有元素之和sum1,再计算和输出该矩阵主对角线以上(含主结角线)的所有元素之和sum2,主对角线为从矩阵左上角到右下角的连线。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
浙江科技学院考试试卷浙江科技学院2010 - 2011 学年第 2 学期考试试卷 A 卷考试科目 C 语言程序设计 考试方式 闭 完成时限 2小时 拟题人 题库 审核人 批准人 2011年6月25日 建工、生化、艺术、轻工、理学 学院 2010 年级 理工科专业命题:说明:1. 应将全部答案写在答卷纸对应的题号处;否则作无效处理;2. 编程题应写明题号,若答卷纸不够,请写在背面,不要另添卷纸;3. 考试完成后,必须将试卷与答卷同时交回。
一、判断题(本大题共12小题,每题小1分,共12分)1. 在定义数组时,数组的长度可以用整型常量或者整型变量表示。
2. 执行“int x=3,y=4; float z ;z=x/y;”后,z 的值为0.75。
3. C 语言中,关系表达式的值是1和0,分别表示“真”和“假”。
4. else 语句一定要与if 语句配对使用,程序中else 语句的个数一定小于或者等于if 语句的个数。
5. C 语言是一种结构化程序设计语言,结构化程序由顺序、选择、循环三种基本结构组成。
6. 函数中可以使用多个return 语句,也可以没有return 语句。
如果使用多个return语句可以向主函数返回多个值。
7. 使用”w”方式打开一个已经存在的文本文件,将在该文件原有数据的基础上添加新的数据。
8. 定义语句“char s[]={“Hello ”};”和“char s[]={‘H ’, ‘e ’, ‘l ’, ‘l ’, ‘o ’};”定义的两个字符数组是等价的。
专业班级 学号 姓名 ………………………………………………………………………装订线……………………………………………………………………………………9.调用函数时,若实参是一个数组名,则向函数传送的是数组的首地址。
10.使用do……while 语句实现循环时,不管条件真假,都将首先无条件的执行一次循环。
11.假定int类型变量占用两个字节,若有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是6。
12.语句“c=*p++”的执行过程是p所指向的存储单元的值赋值给变量c,然后p变量自增。
二、单选题(本大题共20小题,每题1分,共20分)1.一个C程序总是从()开始执行。
A. 书写顺序的第一个函数B. 书写顺序的第一条执行语句C. 主函数main()D. 不确定2.程序设计一般包含以下4个步骤,其中首先应该完成的是()。
A. 设计数据结构和算法B. 建立数学模型C. 编写程序D. 调试运行程序3.以下不能..正确计算代数式2((0.5))3sin值的C语言表达式是()。
A. 1/3*sin(1/2)*sin(1/2)B. sin(0.5)*sin(0.5)/3C. pow(sin(0.5),2)/3D. 1/3.0*pow(sin(1.0/2),2)4.下列语句执行后,变量n的值是()。
for(i=1;i<=3;i++){ n=1;n=n*i;}A. 1B. 3C. 4D. 65.对下列语句的描述正确的是()。
int i=1;do{ i++;}while(i=10);A. 执行后i的值是1B. 执行后i的值是2C. 执行后i的值是10D. 死循环6.能正确表示逻辑关系“a≥10或a≤0”的C语言表达式是()。
A. a>=10 or a<=0B. a>=0|a<=10C. a>=10 &&a<=0D. a>=10||a<=07.设a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为()。
A. 0B. 1C. 2D. 语法错误8.下列程序段不是..死循环的是()。
A. int i=100;while(1){ i=i%100+1;if(i>100)break;} B. int k=0;do{++k;} while(k>=0);C. for( ; ;);D. int s=36;while(s) ––s;9.已知int x=10, y=20, z=30;,以下语句执行后x、y、z的值是()。
if (x>y) z=x; x=y; y=z;A. x=10, y=20, z=30B. x=20, y=30, z=30C. x=20, y=30, z=10D. x=20, y=30, z=2010.请阅读以下程序:#include <stdio.h>void main(){ float a,b;scanf ("%f",&a);if(a<0.0) b=0.0;else if ((a<5.0) && (a!=2.0)) b=1.0/(a+2.0);else if (a<10.0) b=1.0/a;else b=10.0;printf("%f\n",b);}若运行时输入2.0<回车>,则上面程序的输出结果是()。
A. 0.000000B. 0.500000C. 1.000000D. 0.25000011.有以下程序段:int n=0,p;do{scanf("%d",&p);n++;}while(p!=12345 && n<3);此处do-while循环的结束条件是()。
A. p的值不等于12345并且n的值小于3B. p的值等于12345并且n的值大于等于3C. p的值不等于12345或者n的值小于3D. p的值等于12345或者n的值大于等于312.若有如下定义,则下面在scanf函数调用语句中对结构体成员的引用不正确...的.是( )。
struct pupil{char name[20];int age;int sex;}pup[5],*p;A. scanf("%d",p.age);B. scanf("%s",pup[0].name);C. scanf("%d",&pup[0].age);D. scanf("%d",&(pup[1].sex));13.有如下数组定义语句“int a[2][3]={1,2,3,4,5,6};”,则*(a+1)+2的值是()。
A. 2B. 6C. 元素2的地址D. 元素6的地址14.执行以下程序后,输出结果是()。
main(){ int a[10]={1,2,3,4,5,6,7,8,9,0},*p;p=a;printf(“%d ”,*p); printf(“%d\n”,*(p+8));}A. 1 0B. 1 7C. 1 8D. 1 915.有如下程序,执行后的输出结果是()。
#define M 3#define N M+1#define NN N*N/2main(){ printf(“%d\n”,NN);}A. 3B. 4C. 6D. 816.设x,y,i,j均为整型变量,且x=10,y=3,则执行i=x––; j= ––y;语句后,i和j的值是()。
A. 10,3B. 9,3C. 9,2D. 10,217.下面程序的输出结果为()。
void main(){ char *p;char s[]= "ABCD";for(p=s;p<s+4;p++) printf("%s\n",p);}A. ABCDBCDCDD B. ABCDC. DCBAD. ABCDABCABA18.表达式“strcmp("Windows98","Windows95")”的值为()。
A. 0B. 大于0C. 小于0D. 无法比较19.返回值为void的函数,其含义是()。
A. 调用函数之后,被调用的函数没有返回值B. 调用函数之后,被调用的函数不返回C. 调用函数之后,被调用的函数返回值为任意类型D. 以上三种说法均不正确20.求0到50的总和,不正确...的程序段是()。
A. int i,sum;sum=0;for(i=0;i<51;i++) sum+=i; B. int i,sum;for(i=0,sum=0;i<51;sum+=i++);C. int i,sum;i=0;sum=0;for(i<51) {sum+=i;i++;} D. int i,sum=0;for(i=0; ;i++){ if(i>50) break;sum+=i;}三、程序填空题(本大题共4小题,每空2分,共24分)1.以下程序的功能是计算:s=1+12+123+1234+12345。
请填空。
#include <stdio.h>void main(){ int t=0,s,i;___(1)___;for( i=1; i<=5; i++) {t=i+__(2)___;s=s+t;}printf("s=%d\n",s);}(1) A. s=0 B. s=1C. int n=0D. int n=1(2) A. n B. n*10C. t*10D. t2.下面程序是从键盘输入学号,然后输出学号中百位数字是3的学号,输入0时结束循环。
请选择填空。
#include <stdio.h>void main(){ long int num;do {scanf("%ld",&num);if(___(3)___ ) printf("num=%ld\n",num);}while (___(4)___ );}(3) A. num%100/10==3 B. num/100%10==3C. num%10/10==3D. num/10%10==3(4) A. ! num B. num==0C. numD. num==13.函数fun实现把数字字符从源字符串中删除,其余字符保持原样。
void fun( char s[ ] ){ int i=0,j;while ( (5) )if ( (s[i]>=’0’ &&s[i]<=’9’) )for ( j= i ; s[j]!=’\0’; j++ ) (6) ;else i++;}(5) A. s[i]==0 B. s[i]<’\0’C. s[i]!=’\0’D. s[i]==’\0’(6) A. s[j-1]=s[j] B. s[j]=s[j-1]C. s[j+1]=s[j]D. s[j]=s[j+1]4.输出50到70之间的所有素数,其中函数isprime(m)用于判断m是否为素数,若m为素数则返回1,否则返回0。