




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
评阅人 得分一、 单项选择题(每题3分,共30分,注意:答案写在后面的答题卡内,否则0分)1、若有定义:int a=8, b=5, c; 执行语句c = a/b+0.4;后,c的值为( )。 A) 1.4 B) 1 C) 2.0 D) 22、以下程序中,while 循环的次数是( )。 #include void main(void) int i = 0;while (i10) if (i1) continue;if (i= =5) break; i+; A) 1 B) 死循环,不能确定次数 C) 6 D) 103、以下程序的输出结果是( )。 #include void main(void) int a = 0, i;for (i=1; i5; i+) switch (i) case 0: case 3: a += 2; case 1: case 2: a += 3; default: a += 5; printf(“%dn”, a); A) 31 B) 13 C) 10 D) 204、以下程序的输出结果是( )。 #include void main(void) int a = 5, b = 4, c = 6, d; printf(“%dn”, d=ab?(ac?a: c): b); A) 5 B) 4 C) 6 D) 不确定5、执行以下程序后的输出结果是( ) #include void main(void) char a=”abc0abc”;printf(“%s”, a); A) abc0abc B) abc C) abc0 D) abc6、当调用函数时,实参是一个数组名,则向函数传送的是( )。A) 数组的长度 B) 数组的首地址C) 数组每一个元素的地址 D) 数组每个元素中的值7、执行以下程序后,a的值为( )。 int *p, a = 10, b=1; p = &a; a = *p + b; A) 12 B) 编译出错 C) 10 D) 118、以下正确的叙述是( )。A) 在C语言中,main函数必须位于文件的开头B) C语言每行中只能写一条语句C) C语言本身没有输入、输出语句D) 对一个C语言进行编译预处理时,可检查宏定义的语法错误9、以下程序的输出结果是( )。 void main(void) int a = 4, b = 5, c = 0, d; d = !a & !b | !c; printf(“%dn”, d); A) 1 B) 0 C) 非0的数 D) 110、执行以下程序段后,变量y的值是( )。 int x, y; x = 1; y = (+x*5); A) 5 B) 10 C) 15 D) 20 单项选择题答题卡12345678BBACDBDC910AB评分标准:每题选对满分,选错0分。评阅人 得分 二、分析结果题(20分) 1、(9分)#include void f(int c) int a=0; static int b=0; a+; b+; printf(%d: a=%d, b=%dn, c, a, b);void main(void) int i; for (i=1; i=3; i+) f( i );运行结果为:1: a=1,b=1 2: a=1,b=2 3: a=1,b=3评分标准:写对一行给3分,全写对给9分。2、(11分)#include void main(void) int num,c; num=2004; do c=num%10; printf(%d,c); while(num/=10)0); printf(n); 运行结果为:4002评分标准:写对11分,否则0分。评阅人 得分三、程序填空题(每空4分,共20分)1、求1!+2!+3!+。+10! #include void main(void) float s = 0, t = 1;int n;for (n=1; n=10 ; n+) t=t*n ; ss+t ; printf(“1!+2!+3!+。+10!=%f”, s); 评分标准:写对一个空4分。2、以下函数的功能是,把两个整数指针所指的存储单元中的内容进行交换。void exchange(int *x, int *y) int t;t=*y; *y = * x ; *x = t ;评分标准:写对一个空4分。评阅人 得分 四、程序设计题(30分)(1) sum=2+5+8+11+14-,输入正整数n,求sum的前n项和。(10分)void main()int n,i,t,sum=0; /1 分scanf(%d,&n); /1分t=2; /1分for(i=1;i=n;i+) /2分 sum=sum+t; /2分 t=t+3; /2分 printf(sum=%d,sum); /1 分(2) 今有100块砖,需100人来搬,男搬4,女搬3,两个小孩搬一砖。问男、女、小孩各几何?(8分)# include stdio.h void main( ) int man,woman,child; /1分 for(man=0;man=100;man+) /1分 for(woman=0;woman=100;woman+) /1分for(child=0;child=100;child+) /1分if (8*man+6*woman+child=200 & man+woman+child=100) /2分printf(%d %d %dn,man,woman,child); /2分 (3)求一个矩阵外围元素之和。(12分)#include #define N 4#define M 5double matrix_sum(double matrixM) double sum=0;int k;for (k=0;kN;k+)sum=sum+matrixk0; sum=sum+matrixkM-1; /3分for (k=1;kM-1;k+)sum=sum+matrix0k; sum=sum+matrixN-1k; /3 分return sum; /1 分void main() int i,j; double matrix_sourceNM; double t; double result; for (i=0;iN;i+) for (j=0;jb)&(n=cd)运算后,n的值为( ) A 0 B 1 C 2 D 3 4、t为int类型,进入下面的循环之前,t的值为0 while( t=l ) 则以下叙述中正确的是( ) A 循环控制表达式的值为0 B 循环控制表达式的值为1 C 循环控制表达式不合法 D 以上说法都不对 5、设int i=4,j=8,k;则表达式k=(i+,+i,j+)的值为( )A 4 B 8 C 9 D 106、有宏定义 #define MULT1(a,b) a*b #define MULT2(a,b) (a)*(b)宏引用 Y=MULT1(3+2,5+8);Z=MULT2(3+2,5+8)后,则Y和Z的值是( )。A Y=65,Z=65 B Y=21,Z=65C Y=65,Z=21 D Y=21,Z=217、若定义a为int型变量,则对指针变量p的正确初始化是( )。A int *p=a; B int *p=*a; C int p=&a; D int *p=&a;8、以下程序的输出结果是( ) main() int a=3; printf(%dn,(a+a-=a*a) ); A -6 B 12 C 0 D -12 9、在一个源文件中定义的全局变量的作用域为( )。A 本文件的全部范围 B 本程序的全部范围C 本函数的全部范围 D 从定义该变量的位置开始至本文件结束10、设有int I; I=7/2;printf(“%d”, I);则执行结果为( )A 3.5 B 3.50 C 3 D 3.011、在C语言中,合法的长整型常数是( ) A 0L B 4962710 C 324562& D 216D 12、以下选项中合法的字符常量是( ) A B B 010 C 68 D D 13、假定x和y为double型,则表达式x=2,y=x+3/2的值是( ) A 3.500000 B 3 C 2.000000 D 3.000000 14、设x、y均为整型变量,且x=10, y=3,则以下语句的输出结果是( ) printf(%d,%dn,x-,-y); A 10,3 B 9,3 C 9,2 D 10,2 15、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是( )A INPUT x、y、z; B scanf(%d%d%d,&x,&y,&z); C scanf(%d%d%d,x,y,z); D read(%d%d%d,&x,&y,&z); 单项选择题答题卡12345678CCCBBBDD9101112131415DCABDDB评分标准:选对得满分,否则0分。评阅人 得分 二、分析结果题(23分) 1、(6分)#include “stdio.h”void main()int I=6,x,y;x=I+;y=+I;printf(“%d,%d”,x,y);运行结果为: 6 , 8 评分标准:写对一个数字得3分,全写对得6分。2、(5分)#include “stdio.h”void main()int a33=1,2,3,4,5,6,7,8,9;printf(“%d”,* (a1+2);运行结果为: 6 评分标准:写对得5分,否则0分。3、(6分)#include “stdio.h”void sub(int s , int t)int w; w=s;s=t;t=w;void main()int a,b;a=100;b=200;sub(a,b);printf(“%d,%d”,a,b);运行结果为: 100 , 200 评分标准:写对一个数字得3分,全写对得6分。4、(6分)# include “stdio.h” void main( ) int n; for (n=1;n=20;n+) if (n%3!=0) continue;printf(“%3d”,n); 运行结果为: 3 6 9 12 15 18 评分标准:写对一个数字得1分,全写对得6分。三、程序填空题(每空2分,共16分)1 本程序能实现将若干个数按逆序存放,然后输出,请在横线上填写正确内容完成 程序。例如:原顺序为6,8,4,5,1逆序后为1,5,4,8,6 #define N 5void main( )int i , t; static int aN=6,8,4,5,1;for(i=0;i N / 2 ;i+) t=ai; ai=aN-1-i; a N-1-i = t ; printf(“n”);for(i=0;i N ;i+) printf(“%4d”,ai);评分标准:写对一个空得2分,全写对得8分。2 以下程序实现:输入三个整数,按从大到小的顺序输出,请在横线上填写正确内容完成程序。void main( ) int x ,y , z, c ; scanf(“%d%d%d”,&x,&y,&z); if( y z ) c=y; y=z; z=c; if( x z ) c=x; x=z; z=c; if( x y ) c=x; x=y; y=c; printf(“%d,%d,%d”,x, y, z); 评分标准:写对一个空得2分,全写对得8分。 四、程序设计题(31分)1 如果某个3位数的各位数字的立方之和等于该数本身,则这个3位数就是一个“水仙花”数,如153=13+33+53。编程打印所有的“水仙花”数。(10分)# include stdio.h void main( ) int ge,shi,bai,x; /1分 for(ge=0;ge=9;ge+) /1分 for(shi=0;shi=9;shi+) /1分for(bai=1;bai=9;bai+) /1分x=ge+10*shi+100*bai; /2分if (x=ge*ge*ge+shi*shi*shi+bai*bai*bai) /3分printf(%d ,x); /1分 2. 编程实现函数void strcopy(char *dest_str,char *sour_str );要求该函数实现将sour_str中的内容拷贝到dest_str。(不许直接调用其他函数来实现,否则0分处理)(8分)void strcopy(char *dest_str,char *sour_str )int i=0; /1 分while(sour_stri) /2 分dest_stri=sour_stri; /2分i+; /1 分 dest_stri=0; /2 分3. 用指针做形参编写一个子函数,计算学生的最低分、最高分以及平均分,然后在主函数中从键盘输入10个学生的分数,并调用子函数,最后输出最低分、最高分及平均分(13分)#include stdio.hfloat CalculateScore (float *s,int len,float *max,float *min) float ave=*s; /1分 *max=*s; /1分 *min=*s; /1分 int i; for(i=1;i*max) /1分 *max=*(s+i); if (*(s+i)*min) /1分 *min=*(s+i); ave=ave+*(s+i); /1分ave=ave/len; /1分return ave; /1分void main() float score10,max,min,average; int i; printf(Please the score of studentn); for(i=0;i10;i+) scanf(%f,&scorei); /1分 average=CalculateScore(score,10,&max,&min); /2分 printf(max=%f,min=%f,average=%fn,max,min,average); /1分一、 单选题(152分)1、若有定义:int a=8, b=5, c; 执行语句c = a/b+0.4;后,c的值为( B )。 A) 1.4 B) 1 C) 2.0 D) 22、以下程序中,while 循环的次数是( B )。 #include void main(void) int i = 0;while (i10) if (i1) continue;if (i= =5) break;i+; A) 1 B) 死循环,不能确定次数 C) 6 D) 103、以下程序的输出结果是( A )。 #include void main(void) int a = 0, i;for (i=1; i5; i+) switch (i) case 0: case 3: a += 2; case 1: case 2: a += 3; default: a += 5; printf(“%dn”, a); A) 31 B) 13 C) 10 D) 204、执行以下程序段后的输出结果是( C )。 int x = 5; int m, n; n = (+x) + (+x); m = (x-) + (x-); printf(“%d %dn”, m, n); A) 14 10 B) 13 13 C) 14 14 D) 14 125、以下程序的输出结果是( c )。 #include void main(void) int a = 5, b = 4, c = 6, d; printf(“%dn”, d=ab?(ac?a: c): b); A) 5 B) 4 C) 6 D) 不确定6、执行以下程序后的输出结果是(D ) #include void main(void) char a=”abc0abc”;printf(“%s”, a); A) abc0abc B) abc C) abc0 D) abc7、当调用函数时,实参是一个数组名,则向函数传送的是( B )。A) 数组的长度 B) 数组的首地址C) 数组每一个元素的地址 D) 数组每个元素中的值8、执行以下程序后,a的值为( D )。 int *p, a = 10, b=1; p = &a; a = *p + b; A) 12 B) 编译出错 C) 10 D) 119、以下正确的叙述是( C )。A) 在C语言中,main函数必须位于文件的开头B) C语言每行中只能写一条语句C) C语言本身没有输入、输出语句D) 对一个C语言进行编译预处理时,可检查宏定义的语法错误10、下面正确的标识符是( A ) A) a2b3 B) int C) int abc D) 2a3b11、以下程序的输出结果是( A )。 void main(void) int a = 4, b = 5, c = 0, d; d = !a & !b | !c; printf(“%dn”, d); A) 1 B) 0 C) 非0的数 D) 112、执行以下程序段后,变量y的值是( B )。 int x, y; x = 1; y = (+x*5); A) 5 B) 10 C) 15 D) 2013、若已定义:int a9,*p=a;并在以后的语句中未改变p的值,则不能表示a1 地址的表达式是( C )。A) p+1 B) a+1 C) a+ D) +p14、函数调用strcat(strcpy(str1,str2),str3)的功能是( c )。A) 将串str1复制到串str2中后再连接到串str3之后B) 将串str1连接到串str2之后再复制到串str3之后C) 将串str2复制到串str1中后再将串str3连接到串str1之后D) 将串str2连接到串str1之后再将串str1复制到串str3中15、在下列选项中,不正确的赋值语句是( D )。A) +t; B) n1=(n2=(n3=0); C) k=i= =j; D) a=b+c=1;二、 程序填空(16分)1、求1!+2!+3!+。+10! #include void main(void) float s = 0, t = 1;int n;for (n=1; n=10 ; n+) t=t*n ; ss+t ; printf(“1!+2!+3!+。+10!=%f”, s); 2、以下程序是用来统计从键盘输入的一个正整数中各位数字中零的个数,并求各位数字中最大者。例如:1080其零的个数是2,各位数字中最大者是8。#include void main(void) unsigned long num, max, t; int count; count=max=0; scanf(%ld, &num); do t= num%10 ; if(t=0) +count; else if(maxt) max=t ; num/=10; while(num); printf(count=%d,max=%ldn, count, max); 3、下面程序的功能是:输出100以内能被3整除且个位数字为6的所有整数。#include void main(void) int i, j;for(i=0; i10; i+) j = i*10+6;if ( j%3!=0 ) continue;printf(%d,j);4、以下函数的功能是,把两个整数指针所指的存储单元中的内容进行交换。void exchange(int *x, int *y) int t;t=*y; *y = * x ; *x = t ;三、阅读程序,写出程序的输出结果(24分)1、include stdio.h void main( ) int i,j; for (i=0;i4;i+) for (j=0;ji;j+) printf( ); for (j=0;j4+i;j+)printf(*); printf(n); * * *2、#include void f(int c) int a=0; static int b=0; a+; b+; printf(%d: a=%d, b=%dn, c, a, b);void main(void) int i; for (i=1; i=3; i+) f( i );1: a=1,b=1 2: a=1,b=2 3: a=1,b=33、#include void main(void) int num,c; num=2004; do c=num%10; printf(%d,c); while(num/=10)0); printf(n);4002五、 编程(30分)(1)sum=2+5+8+11+14-,输入正整数n,求sum的前n项和。void main()int n,i,t,sum=0;scanf(%d,&n);t=2;for(i=1;i=n;i+) sum=sum+t; t=t+3; printf(sum=%d,sum);(2)编程实现函数void strcopy(char *dest_str,char *sour_str );要求该函数实现将sour_str中的内容拷贝到dest_str。(不许直接调用其他函数来实现,否则0分处理) void strcopy(char *dest_str,char *sour_str )int i=0;while(sour_stri)dest_stri=sour_stri;i+; dest_stri=0;(3)求一个矩阵外围元素之和。#include #define N 4#define M 5double matrix_sum(double matrixM) double sum=0;int k;for (k=0;kN;k+)sum=sum+matrixk0; sum=sum+matrixkM-1;for (k=1;kM-1;k+)sum=sum+matrix0k; sum=sum+matrixN-1k;return sum;void main() int i,j; double matrix_sourceNM; double t; double result; for (i=0;iN;i+) for (j=0;js2,则返回+1;若串s1s2,则返回-1。(5)编程找出1000以内的满足勾股定理 的整数组(a,b,c)。评阅人 得分三、 选择题(共40分)1、 以下选项中合法的标识符是( )。(2分)Aabc! Babc# C_abc D2bc2、 以下说法中正确的是( )。(2分)AC语言程序总是从第一个定义的函数开始执行B在C语言程序中,要调用的函数必须在main()函数中定义CC语言程序总是从main()函数开始执行DC语言程序中的main()函数必须放在程序的开始部分3、 设有:int c1=5,c2=2,c3;则执行c3=c1/c2;后,c3的值是( )。(2分)A2 B5/2 C2.5 D34、 设有:int i=4,j;j=i+;则执行printf(“%d,%d”,i,j);后,屏幕上显示的是( )。(2分)A5,5 B5,4 C4,5 D4,45、 程序中出现的&是( )。(2分)A取地址运算符 B逻辑与运算符 C按位与运算符 D标识符6、 以下程序中,while 循环的次数是( )。(2分)#include void main() int i=0;while (i10) if (i=5) break;i+;A0 B10 C5 D67、 程序中出现的“5”是( )。(2分)A整数常量 B字符常量 C字符串常量 D标识符8、 若定义a为int型变量,则对整型指针变量p的正确初始化( )。(2分)Aint *p=a; Bint *p=*a; Cint p=&a; Dint *p=&a;9、 x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是( )。(2分)AINPUT x、y、z; Bscanf(“%d%d%d”,&x,&y,&z);Cscanf(“%d%d%d”,x,y,z); Dread(“%d%d%d”,&x,&y,&z);10、设有:int x,a,b;根据a和b的大小关系确定x的值,从下列式中选出合法的if语句( )。(2分)Aif(a=b) x+; Bif(a=b) x+;11、设有:int a4=2,3,4,i;则执行完i=a1+a2;后,i的值为( )。(2分)A5 B7 C2 D412、以下正确的叙述是( )。(2分)A在C程序中,语句之间必须要用分号“;”分隔B若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型C在C程序中,无论是整数还是实数,都能准确无误地表示D在C程序中,“/”是只能用于整数运算的运算符13、设有:int a=2,b=4,c=3,d=4,m=4,n=3;执行(m=ab)&(n=cd)后,n的值为( )。(2分)A1 B4 C3 D014、在下列运算符中,优先级最低的是( )。(2分)A& B= C| D=15、以下选项中,与k=+n完全等价的表达式是( )。(2分)Ak=n;n=n+1; Bn=n+1;k=n; Ck=+n; Dk+=n+1;16、以下选项中合法的字符常量是( )。(2分)A“B” B68 CD DD17、函数调用strcat(str1,str2)的功能是( )。(2分)A将串str1连接到串str2之后B将串str2连接到串str1之后C将串str2复制到串str1中D将串str1和串str2进行比较18、以下选项中,不合法的赋值语句是( )。(2分)Aa+=3; Bk=3; Ca=b=c=0; Da=3*4=2*1;19、以下选项中,合法的长整型常数是( )。(2分)A0L B65534 C32756& D453D20、在一个源文件中定义的全局变量的作用域为( )。(2分)A本源文件的全部范围 B本函数的全部范围C从定义该变量的位置开始至本源文件结束 D本程序的全部范围评阅人 得分 二、填空题(共40分) 1、 本程序功能是求解1357911,请在横线上填写正确内容完成程序。(6分)#include void main()int i,t; t=1; i=3; (3分)t=t*i; (3分) printf(“%d”,t);2、 本程序功能是求a,b二个数中的较大者,请在横线上填写正确内容完成程序。(6分)#include void main()int a ,b , max ; scanf (“ %d ,%d ” ; &a , &b );if (3分) (3分) else max=b;printf (“max=%d “ ; max);3、 本程序功能是求一分数序列:2/1,3/2,5/3,8/5前10项之和。请在横线上填写正确内容完成程序。(9分)#include void main()int i,t;float a=2,b=1,s=0;for(i=1; ;i+)(3分) (3分)t=a; (3分) b=t;printf(“sum=%f”,s); 4、 本程序功能是输入十个整数,并统计大于0、等于0、小于0的个数。请在横线上填写正确内容完成程序。(9分)#include void main( ) int a10,j,m=0,n=0,k=0;for( ; j0) m=m+1; if(aj= =0) n=n+1;if(aj0) k=k+1;printf(“m=%d,n=%d,k=%d”,m,n,k);5、 分析本程序,并在横线上填入程序的输出。(5分)#include void main() char a,b; a=a; b=b; a=a-32; b=b-32; printf(%c %cn,a,b); 输出: (5分)6、 分析本程序,并在横线上填入程序的输出。(5分)#include “stdio.h”void main( ) int n; for (n=1;nsex);4 以下叙述中
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《保障孩子情感需求的离婚协议书探望条款》
- 离婚协议书分割房产并贷款购房合同示范文本
- 健身教练聘用与会员健身效果跟踪服务协议
- (正式版)DB65∕T 3802-2015 《吐鲁番黑羊饲养管理技术规程》
- 吊盘信号工岗位责任与质量控制合同
- 离婚协议中公司股权、分红分割及财产分配模板
- 直系亲属房产买卖合同范本:房产评估与交易保障措施
- 离婚协议女方不忠情形下的子女监护权争议解决合同
- 2025年辽宁省调兵山市电工证考试题模拟试题初级电工考试题库(含答案)
- 2025年专业公共营养师资格考试真题与答案解析
- 拖欠工资协议书
- 电缆沟及盖板作业指导书培训课件
- GB/T 19867.6-2016激光-电弧复合焊接工艺规程
- GB/T 19478-2018畜禽屠宰操作规程鸡
- 三级教育考试卷(焊工)答案
- 无生上课课堂教学评价标准
- 深圳低压电工作业-实际操作培训课件-科目四-作业现场应急处理
- 植物生理学第十三章植物的逆境生理课件
- 中控岗位培训课件
- 宾馆酒店前台责任书
- 2.2 第2课时 基本不等式的综合应用(课件)高一数学(人教A版2019必修第一册)
评论
0/150
提交评论