随机组卷按大纲配比:判断 8 · 单选 20 · 填空 10 · 综合 2(共 40 题 · 80 分)
- 填空下面程序根据以下函数关系,对输入的每个x值,计算出y值。请分析程序填空。 | x | y | | --- | --- | | 2<x≤10 | x(x+2) | | -1<x≤2 | 2x | | x≤-1 | x-1 | main() {int x,y; scanf("%d",&x); if(【1】) y=x*(x+2); else if(【2】) y=x-1; else 【3】; if(y!=-1) printf("%d",y); else printf("error"); }做这题 →
- 填空以下程序的功能是判断输入的年份是否是闰年。请分析程序填空。 main() {int y,f; scanf("%d",&y); if(y%400==0) f=1; else if(【1】) f=1; else 【2】; if (f) printf("%d is",y); else printf("%d is not",y); printf(" a leap year.\n"); }做这题 →
- 填空以下程序段针对输入的截止日期(年:yend,月:mend,日:dend)和出生日期(yman,mman,dman),计算出实际年龄。请分析程序填空。 设有:int yend,mend,dend,yman,mman,dman; age=yend-yman; if(mend【1】)mman) age--; else if(mend【2】mman&&dend【3】dman) age--;做这题 →
- 填空设有变量定义:int a=5,c=4;则(--a==++c)?--a:c++的值是【1】,此时c的存储单元的值为【2】。做这题 →
- 综合将以下程序段改用非嵌套的if语句实现。 int s,t,m; t=(int)(s/10); switch(t) {case 10:m=5;break; case 9:m=4;break; case 8:m=3;break; case 7:m=2;break; case 6:m=1;break; default: m=0; } ;做这题 →
- 综合将以下程序段改用嵌套的if语句实现。 int s,t,m; t=(int)(s/10); switch(t) {case:m=5;break; case 9:m=4;break; case 8:m=3;break; case 7:m=2;break; case 6:m=1;break; default: m=0; }做这题 →
- 填空下面程序段是从键盘输入的字符中统计数字字符的个数,当输入换行符时结束循环。请分析程序填空。 int n=0,c; c=gethar(); while(【1】) {if(【2】) n++; c=getchar(); }做这题 →
- 填空有1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完?请分析程序填空。 #include<stdio.h> main() {int day,x1,x2; day=0;x1=1020; while(【1】){x2=【2】;x1=x2;day++;} printf("day=%d\n",day); }做这题 →
- 填空下面程序的功能是输出100以内个位数为6且能被3整除的所有数。请分析程序填空。 #include<stdio.h> main() {int i,j; for(i=0;【1】;i++) {j=i*10+6; if(【2】) continue; printf("%d",j); } }做这题 →
- 填空在c语言中,二维数组的定义方式为:类型说明符 数组名[【1】][【2】];做这题 →
- 填空若有定义:double x[3][5];则x数组中行下标的下限为【1】,列下标的上限为【2】。做这题 →
- 填空若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为【 】。(假设a[0][0]位于数组的第一个位置上)做这题 →
- 填空若有定义:int a[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]得到的初值是【1】,a[2][1]得到的初值是【2】。做这题 →
- 填空下面程序用“快速顺序查找法”查找数组a中是否存在某一关键字。请分析程序填空。 main() {int a[9]={11,23,41,27,42,64,82,59}; int i=0,x; scanf("%d",&x); 【1】; while(a[i]!=x) i++; if(【2】) printf("Found! The index is:%d\n",i); else printf("Can't found!\n"); }做这题 →
- 填空以下程序的功能是用二分法求方程2x3-4x2+3x-6=0的根,并要求绝对误差不超过0.001。请填空。 #include<stdio.h> float f(float x) {return (2*x*x*x-4*x*x+3*x-6);} main() {float m=-100,n=90,r; r=(m+n)/2; while(f(r)*f(n)!=0) {if(【1】) m=r; else n=r; if(【2】) break; r=(m+n)/2; } printf("方程的解是%6.3f\n",r); }做这题 →
- 填空以下程序的功能是用递归方法计算学生的年龄,已知第一位学生年龄最小,为10岁,其余学生一个比一个大2岁,求第5位学生的年龄。请填空。 递归公式如下: 10 n=1 age(n)=age(n-1)+2 n>1 #include<stdio.h> age(int n) {int c; if(n==1) c=10; else c=【1】; return c; } main() {int n=5; printf("age:%d\n",【2】); }做这题 →
- 填空下面程序的功能是【1】,运行结果是【2】。 long fib(int g) {switch(g) {case 0: return 0; case 1: case 2: return 1; } return(fib(g-1)+fib(g-2)); } main() { long k; k=fib(7); printf("k=%d\n",k); }做这题 →
- 填空以下程序是应用递归函数算法求某数a的平方根,请填空。求平方根的迭代公式如下: x1=1/2(x0+a/x0) #include <math.h> double mysqrt(double a,double x0) {double x1,y; x1=【1】; if(fabs(x1-x0)>0.00001) y=mysqrt(【2】); else y=x1; return y; } main() {double x; printf("Enter x:"); scanf("%lf",&x); printf("The sqrt of %f=%f\n",x,mysqrt(x,1.0)); }做这题 →
- 综合已有变量定义和函数调用语句:int a=1,b=-5,c;c=fun(a,b);fun函数的作用是计算两个数之差的绝对值,并将差值返回调用函数,请编写fun函数。做这题 →
- 综合已有变量定义和函数调用语句:int x=57; isprime(x);函数isprime()用来判断一个整型数a是否为素数,若是素数,函数返回1,否则返回0。请编写isprime函数。做这题 →
- 综合已有变量定义和函数调用语句double a=5.0; int n=5;和函数调用语句mypow(a,n);用来求a的n次方。请编写mypow函数。 double mypow(double x,int y){ }做这题 →
- 综合从键盘输入n个数存放在数组中,将最小值与第一个数交换,输出交换后的n个数。 #include <stdio.h> int main(void){ int i,n,iIndex,temp; int a[10]; printf("Enter n: "); scanf("%d", &n); printf("Enter %d integers:\n "); for(i=0;i<n;i++) scanf("%d", &a[i]); iIndex=0; for(i=1;i<n;i++){ if(a[i]<a[iIndex]) iIndex=i; } temp=a[0];a[0]=a[iIndex];a[iIndex]=temp; for(i=0;i<n;i++) printf("%5d", a[i]); printf("\n"); return 0; } 第二种解法 利用函数 #include<stdio.h> int comp(int arry[], int n) { int i,index,temp; printf("为数组赋值:\n"); for(i=0;i<n;i++) { scanf("%d",&arry[i]); } for(i=1,index=0;i<=n-1;i++) { if(arry[i]<arry[index]) { index=i; } } temp=arry[0];arry[0]=arry[index];arry[index]=temp; for(i=0;i<n;i++) { printf("%d ",arry[i]); } return 0; } main() { int n; int a[10]; printf("为n赋值:\n"); scanf("%d",&n); comp(a,n);}做这题 →
- 综合使用如何调用外部函数。写运行结果。 c #include int a,b,c; void add() { int a; a=3; c=a+b; } int main() { a=b=4; add(); printf("c 的值为 %d\n",c); return 0; }做这题 →
- 填空写运行结果。 #include int main() { int x=3; int m,n; n = (++x)+(x++); m =(x--)+(x--); printf("%d %d",m,n); } 程序运行结果: txt做这题 →
- 填空写运行结果。 c #include int main() { int x=3; int m,n; n = (++x)+(x++); m =(x--)+(x--); printf("%d %d",m,n); } 程序运行结果: 执行第一个++x 后,x 的值是 4。执行第二个 x++,x 先用,这时候 4+4 =8。 X=x+1=5.执行(x--)+(x--), x 自减之前是 5,5+5=10。x=3。做这题 →
- 综合输入三个整数,判断是否能够成为三角形的三条边。 c #include main(){ int a,b,c; scanf("%d%d%d", &a,&b,&c); printf("%d,%d,%d %s 构成三角形三条边\n", a, b, c, (a+b>c && a+c>b && b+c > a)?" 可以":"不可以"); }做这题 →
- 填空在 C 语言中,若有定义: double a; float b; short c; 若想把 1.2 输入给变量 a, 3.4 输入给变量 b, 5678 输入给变量 c, 程序运行时键盘输入:做这题 →
- 填空有以下程序 #include <stdio.h> main(){ int a = 0, b = 0; /* 给 a 赋值 a=10; b=20; 给 b 赋值 */ printf("a+b=%d\n",a+b); /* 输出计算结果 */ } 程序运行后的输出结果是做这题 →
- 填空若有以下程序 #include main(){ int a=-11, b=10; a /= b /= -4; printf("%d %d\n", a, b); } 则程序的输出结果是。 c做这题 →
- 填空写出下面这个程序的输出结果: void main() { char str[]="ABCDEFGHIJKL"; printf("%s\n",str); 屏幕上显示 printf("%s\n",&str[4]); 屏幕上显示 str[2]=str[5]; printf("%s\n",str); 屏幕上显示 str[9]='\0'; printf("%s\n",str); 屏幕上显示 }做这题 →
- 填空以下程序的输出结果是a=___,b=___,c=___。 #include <stdio.h> int func(int a,int *p); void main() { int a=1,b=2,c; c=func(a,&b); b=func(c,&a); a=func(b,&c); printf("a=%d,b=%d,c=%d",a,b,c); } int func(int a,int *p) { a++; *p=a+2; return(*p+a); }做这题 →
- 填空若有以下程序 #include <stdio.h> main(){ int b=10, a=-11; a %= b %= 4; printf("%d %d\n", a, b); 一 则程序的输出结果是做这题 →
- 填空若有以下程序: main() {int k=2,i=2,m; m=(k+=i*=k);printf("%d,%d\n",m,i); } 执行后的输出结果是做这题 →
- 填空若有以下程序 #include <stdio.h> main() { int a=-11, b=10; a /= b /= -4; printf("%d %d\n", a, b); 1 则程序的输出结果是做这题 →
- 填空{ int x=102,y=012; printf("%2d,%2d\n",x,y); } 执行后输出结果是做这题 →
- 单选有以下程序 main() { int a=666,b=888; printf("%d\n",a,b); } 程序运行后的输出结果是做这题 →
- 填空有以下程序 #include <stdio.h> main() { int a=3; printf("%d\n", ( a+=a-=a*a )); } 程序运行后的输出结果是做这题 →
- 填空以下程序的输出结果是。注:函数sqrt(x)是一个标准的数学函数,用于求×的二次方根 #include <stdio.h> #include <math.h> main() { int a=1,b=4,c=2; float x=10.5,y=4.0,z; z=(a+b)/c+sqrt((double)y)*1.2/c+x; printf("%f\n",z); }做这题 →
- 单选有以下程序 main() { int a,b,d=25; a=d/10%9; b=a&&(-1); printf("%d,%d\n",a,b); } 程序运行后的输出结果是做这题 →
- 填空有以下程序 #include <stdio.h> main() { int a,b,k; k=1,m=8; a=/*k -m; b+=m; printf("%d ",a); printf("%d\n",b); } 编译时编译器提示错误信息,你认为出错的语句是o做这题 →
- 填空有以下程序 #include <stdio.h> main() { int a=2,b; b=a<<2; printf("%d\n",b); } 程序运行后的输出结果是做这题 →
- 填空有以下程序 #include <stdio.h> main() { int a=5 ,b=1; printf("%d \n",a&b); } 程序运行后的输出结果是做这题 →
- 填空有以下程序 main() { char k; int i; for(i=1;i<3;i++) { scanf("%c",&k); switch(k) { case '0': printf("zero\n"); case '1': printf("one\n"); } } } 程序运行时,从键盘输入:01,程序执行后的输出结果是做这题 →
- 填空以下程序拟实现计算 s=1 + 2*2 + 3*3 + … + n*n +…,直到 s>1000 为止。 #include <stdio.h> main() { int s,n; s=1; n=1; 程序运行后,不能得到正确结果,请将 改为做这题 →
- 综合有如下程序 main() { int n=8; while(n>5) {n--; printf("%d",n);} } 则该程序输出的结果是:做这题 →
- 综合编写程序打印以下图案(必须使用循环结构,直接输出不给分) 1 23 456 7890做这题 →
- 综合以下程序运行后的输出结果是: #include"stdio.h" int f(int c) { static int a=10; int b=++a; printf("%d,%d,%d\n",a,b,c); return (a+b+c); } main() { printf("%d",f(f(5)));}做这题 →
- 综合以下程序运行后的输出结果是: #include"stdio.h" int fun( int n) { if(n<10) return n; else return (n%10)*fun(n/10); } main() { printf("%d",fun(218)); }做这题 →
- 综合以下程序运行后的输出结果是: int w=2; int f(int x) { int y=1; static int z=3; y++;z++; return(x+y+z); } main() { int k; for(k=0;k<3;k++) printf("%4d",f(w++)); }做这题 →
- 综合以下程序运行后的输出结果是: void swap(int x,int y) { int t; t=x;x=y;y=t; printf("%d %d ",x,y); } main() { int a=3,b=4; swap(a,b); printf("%d %d\n",a,b); }做这题 →