2016年计算机基础期末C语言
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
试卷编号:8476
所属语言:C语言
试卷方案:lx
试卷总分:400分
共有题型:4种
一、填空共50题(共计50分)
第1题(1.0分)题号:2066 难度:中第1章
已知 a=10,b=15,c=1,d=2,e=0,则表达式 a*b&&c 的值为【1】.
答案:
=======(答案1)=======
1
第2题(1.0分)题号:2062 难度:中第1章
C语言中一个函数由函数首部和【1】两部分组成.
答案:
=======(答案1)=======
函数体
第3题(1.0分)题号:2100 难度:中第1章
以下程序段要求从键盘输入字符,当输入字母为'Y' 时,执行循环体,则括号内应填写【1】.
ch=getchar();
while(ch ____ 'Y')/*在括号中填写*/
ch=getchar();
答案:
=======(答案1)=======
==
第4题(1.0分)题号:2072 难度:中第1章
在C语言中,最大整型数是【1】.
答案:
=======(答案1)=======
32767
第5题(1.0分)题号:2061 难度:中第1章
C语言源程序文件的后缀是.C,经过编译之后,生成后缀为.OBJ的【1】文件,经连接生成后缀.EXE 的可执行文件.
答案:
=======(答案1)=======
目标
第6题(1.0分)题号:2102 难度:中第1章
getchar()函数只能接收一个【1】.
答案:
=======(答案1)=======
字符
第7题(1.0分)题号:2068 难度:中第1章
int x=2;z=++x+1; 则x的值为【1】.
答案:
=======(答案1)=======
3
第8题(1.0分)题号:2078 难度:中第1章
一个C源程序中至少应包括一个【1】函数.
答案:
=======(答案1)=======
main
第9题(1.0分)题号:2059 难度:中第1章
设有int x=11,则表达式(x++ * 1/3)的值是【1】.
答案:
=======(答案1)=======
3
第10题(1.0分)题号:2060 难度:中第1章一个C程序总是从【1】开始执行.
答案:
=======(答案1)=======
main()
=========或=========
main函数
第11题(1.0分)题号:2096 难度:中第1章C语言中,二维数组在内存中的存放方式为按【1】优先存放.
答案:
=======(答案1)=======
行
第12题(1.0分)题号:2085 难度:中第1章假设所有变量都为整型,表达式(a=2,b=5,a>b?a++:b++,a+b)的值是【1】.
答案:
=======(答案1)=======
8
第13题(1.0分)题号:2063 难度:中第1章
从函数的形式上看,函数分为无参函数和【1】两种类型.
答案:
=======(答案1)=======
有参函数
第14题(1.0分)题号:2084 难度:中第1章
以下程序的输出结果为【1】,
#include "stdio.h" main(){int a=010,j=10;printf("%d,%d\n",++a,j--);} 答案:
=======(答案1)=======
9,10
第15题(1.0分)题号:2094 难度:中第1章
按内存排列顺序, 数组char a[2]中的所有元素是a[1]和【1】.
答案:
=======(答案1)=======
a[0]
第16题(1.0分)题号:2106 难度:中第1章
表达式 a+=b 相当于表达式【1】.
答案:
=======(答案1)=======
a=a+b
=========或=========
a=b+a
第17题(1.0分)题号:2090 难度:中第1章程序段int k=10; while(k=0) k=k-1循环体语句执行【1】次.
答案:
=======(答案1)=======
第18题(1.0分)题号:2105 难度:中第1章C语言中的字符变量用保留字【1】来说明.
答案:
=======(答案1)=======
char
第19题(1.0分)题号:2091 难度:中第1章C语言源程序的基本单位是【1】.
答案:
=======(答案1)=======
函数
第20题(1.0分)题号:2095 难度:中第1章定义int a[2][3];表示数组a中的元素个数是【1】个.
答案:
=======(答案1)=======
6
第21题(1.0分)题号:2074 难度:中第1章以下do-while语句中循环体的执行次数是【1】.
a=10;
b=0;
do { b+=2; a-=2+b; } while (a>=0);
答案:
=======(答案1)=======
3
第22题(1.0分)题号:2064 难度:中第1章
表示"x≥y≥z"的C表达式是【1】
答案:
=======(答案1)=======
x>=y&&y>=z
第23题(1.0分)题号:2107 难度:中第1章
设a,b,t 为整型变量,初值为a=7,b=9,执行完语句t=(a>b)?a:b后,t 的值是【1】. 答案:
=======(答案1)=======
9
第24题(1.0分)题号:2099 难度:中第1章
执行语句char str[81]="abcdef";后,字符串str结束标志存储在str[【1】] (在括号内填写下标值)中.
答案:
=======(答案1)=======
6
第25题(1.0分)题号:2073 难度:中第1章
在C语言中,最小整型数是【1】.
答案:
=======(答案1)=======
-32768
第26题(1.0分)题号:2070 难度:中第1章
设x=2,表达式x>=60==1的值为【1】.
答案:
=======(答案1)=======
第27题(1.0分)题号:2087 难度:中第1章
若int x=6;则x+=x-=x*x表达式最后x的值是【1】.
答案:
=======(答案1)=======
-60
第28题(1.0分)题号:2065 难度:中第1章
表达式!10 的值是【1】.(填数字)
答案:
=======(答案1)=======
第29题(1.0分)题号:2082 难度:中第1章
c语言表达式5>2>7>8的值是【1】.
答案:
=======(答案1)=======
第30题(1.0分)题号:2088 难度:中第1章
设a取二进制数00101101,若想通过a^b运算使a的高4位取反,低4位不变,则b的二进制数是【1】.
答案:
=======(答案1)=======
11110000
第31题(1.0分)题号:2083 难度:中第1章
下列程序的输出是【1】,
main(){int a=011;printf("%d\n",++a);}
答案:
=======(答案1)=======
10
第32题(1.0分)题号:2097 难度:中第1章
若有以下数组a,数组元素:a[0]~a[9],其值为
9 4 12 8 2 10 7 5 1 3
该数组的元素中,数值最大的元素的下标值是【1】.
答案:
=======(答案1)=======
2
第33题(1.0分)题号:2098 难度:中第1章C语言中,数组元素的下标下限为【1】.
答案:
=======(答案1)=======
第34题(1.0分)题号:2069 难度:中第1章设 int x=1/4;则x的值为【1】.
答案:
=======(答案1)=======
第35题(1.0分)题号:2081 难度:中第1章设x的值为15,n的值为2,则表达式x%=(n+=3)运算后x的值是【1】.
答案:
=======(答案1)=======
第36题(1.0分)题号:2086 难度:中第1章若输入字符串:abcde<回车>,则以下while循环体将执行【1】次.
While((ch=getchar())=='e') printf("*");
答案:
=======(答案1)=======
第37题(1.0分)题号:2092 难度:中第1章预处理命令行都必须以【1】号开始.
答案:
=======(答案1)=======
#
第38题(1.0分)题号:2103 难度:中第1章已知a=13,b=6, a/b的十进制数值为【1】.
答案:
=======(答案1)=======
2
第39题(1.0分)题号:2093 难度:中第1章如果函数不要求带回值,可用【1】来定义函数返回值为空.
答案:
=======(答案1)=======
void
第40题(1.0分)题号:2076 难度:中第1章在C语言中的实型变量分为两种类型,它们是float型和【1】型.
答案:
=======(答案1)=======
double
第41题(1.0分)题号:2080 难度:中第1章c语言程序的三种基本结构是:顺序结构,选择结构,【1】结构.
答案:
=======(答案1)=======
循环
第42题(1.0分)题号:2058 难度:中第1章
变量的本质是代表内存中的一个存储单元的【1】.
答案:
=======(答案1)=======
地址
第43题(1.0分)题号:2077 难度:中第1章
若a是int型变量,则计算表达式 a=25/3%3 后a的值为【1】.
答案:
=======(答案1)=======
2
第44题(1.0分)题号:2101 难度:中第1章
为了避免嵌套条件语句的二义性,C语言规定else与其前面最近的【1】语句配对. 答案:
=======(答案1)=======
if
第45题(1.0分)题号:2079 难度:中第1章
数组在内存中占一段连续的存储区,由【1】代表它的首地址.
答案:
=======(答案1)=======
数组名
第46题(1.0分)题号:2075 难度:中第1章
若s是int型变量,且s=6,则下面表达式的值是【1】.
s%2+(s+1)%2
答案:
=======(答案1)=======
1
第47题(1.0分)题号:2067 难度:中第1章int x=2,y=2,z=0; 则表达式x==y>z的值为【1】.
答案:
=======(答案1)=======
第48题(1.0分)题号:2089 难度:中第1章函数的定义不可以嵌套,但函数的调用【1】嵌套.
答案:
=======(答案1)=======
可以
第49题(1.0分)题号:2071 难度:中第1章若所用变量都已正确定义,请填写以下程序段的输出结果【1】.
for(i=1;i<=5;i++);
printf("OK\n");
答案:
=======(答案1)=======
OK
第50题(1.0分)题号:2104 难度:中第1章已知a=13,b=6, a%b的十进制数值为【1】.
答案:
=======(答案1)=======
1
二、单选共50题(共计50分)
第1题(1.0分)题号:4776 难度:中第1章下列程序的输出结果为().
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.000000
B:27.500000
C:28.000000
D:28.500000
答案:A
第2题(1.0分)题号:4762 难度:中第1章以下数据中,不正确的数值或字符常量是().
A:c
B:66
C:0xaa
D:50
答案:A
第3题(1.0分)题号:4804 难度:中第1章
int a[10];合法的数组元素的最小下标值为().
A:10
B:9
C:1
D:0
答案:D
第4题(1.0分)题号:4763 难度:中第1章以下运算符中,优先级最高的运算符是().
A:=
B:!=
C:*(乘号)
D:()
答案:D
第5题(1.0分)题号:4791 难度:中第1章下列数组说明中,正确的是().
A:int array[][4];
B:int array[][];
C:int array[][][5];
D:int array[3][];
答案:A
第6题(1.0分)题号:4802 难度:中第1章下列程序段的输出结果为().
float x=213.82631;
printf("%3d",(int)x);
A:213.82
B:213.83
C:213
D:3.8
答案:C
第7题(1.0分)题号:4801 难度:中第1章以下字符中不是转义字符的是().
A:\a'
B:\b'
C:\c'
D:'\\'
答案:C
第8题(1.0分)题号:4769 难度:中第1章已知year为整型变量,不能使表达式(year%4==0&&year%100!=0)
||year%400==0的值为"真"的数据是().
A:1990
B:1992
C:1996
D:2000
答案:A
第9题(1.0分)题号:4773 难度:中第1章下列程序的输出结果是().
main()
{int a=011;
printf("%d\n",++a);
}
A:12
B:11
C:10
D:9
答案:C
第10题(1.0分)题号:4777 难度:中第1章若给定条件表达式(M)?(a++):(a--),则其中表达式M().
A:和(M==0)等价
B:和(M==1)等价
C:和(M!=0)等价
D:和(M!=1)等价
答案:C
第11题(1.0分)题号:4767 难度:中第1章
下列程序的输出结果是().
main()
{char c1=97,c2=98;
printf("%d %c",c1,c2);
}
A:97 98
B:97 b
C:a 98
D:a b
答案:B
第12题(1.0分)题号:4790 难度:中第1章下列程序的输出结果是().
main()
{ int x=1,y=0,a=0,b=0;
switch(x)
{
case 1:switch(y)
{
case 0:a++;break;
case 1:b++;break;
}
case 2:a++;b++;break;
case 3:a++;b++;break;
}
printf("a=%d,b=%d\n",a,b);
}
A:a=1,b=0
B:a=2,b=1
C:a=1,b=1
D:a=2,b=2
答案:B
第13题(1.0分)题号:4805 难度:中第1章下列数据中,为字符串常量的是().
A:A
B:"house"
C:How do you do.
D:$abc
答案:B
第14题(1.0分)题号:4796 难度:中第1章下列各m的值中,能使m%3==2&&m%5==3&&m%7==2为真的是().
A:8
B:23
C:17
D:6
答案:B
第15题(1.0分)题号:4783 难度:中第1章以下程序的输出结果是().
main()
{float x=3.6;
int i;
i=(int)x;
printf("x=%f,i=%d\n",x,i);
}
A:x=3.600000,i=4
B:x=3,i=3
C:x=3.600000,i=3
D:x=3 i=3.600000
答案:C
第16题(1.0分)题号:4765 难度:中第1章C语言中,double类型数据占().
A:1个字节
B:2个字节
C:4个字节
D:8个字节
答案:D
第17题(1.0分)题号:4770 难度:中第1章下列运算符中,不属于关系运算符的是().
A:<
B:>
C:>=
答案:D
第18题(1.0分)题号:4787 难度:中第1章在C语言中,if语句后的一对原括号中,用以决定分支的流程的表
达式().
A:只能用逻辑表达式
B:只能用关系表达式
C:只能用逻辑表达式或关系表达式
D:可用任意表达式
答案:D
第19题(1.0分)题号:4766 难度:中第1章设C语言中,int类型数据占2个字节,则unsigned类型数据占().
A:1个字节
B:2个字节
C:4个字节
D:8个字节
答案:B
第20题(1.0分)题号:4772 难度:中第1章执行下列程序后,其输出结果是().
main()
{int a=9;
a+=a-=a+a;
printf("%d\n",a);
}
A:18
B:9
C:-18
D:-9
答案:C
第21题(1.0分)题号:4785 难度:中第1章以下程序的运行结果是().
main()
int i=1,sum=0;
while(i<10) sum=sum+1;i++;
printf("i=%d,sum=%d",i,sum);
}
A:i=10,sum=9
B:i=9,sum=9
C:i=2,sum=1
D:运行出现错误
答案:D
第22题(1.0分)题号:4794 难度:中第1章
以下对C语言函数的描述中,正确的是().
A:C程序必须由一个或一个以上的函数组成
B:C函数既可以嵌套定义又可以递归调用
C:函数必须有返回值,否则不能使用函数
D:C程序中有调用关系的所有函数必须放在同一个程序文件中
答案:A
第23题(1.0分)题号:4761 难度:中第1章
以下不正确的叙述是().
A:在C程序中所用的变量必须先定义后使用
B:程序中,APH和aph是两个不同的变量
C:若a和b类型相同,在执行了赋值语句a=b;后b中的值将放入a中,b中的值不变D:当输入数值数据时,对于整型变量只能输入整型值;对于实型变量只能输入实型值
答案:D
第24题(1.0分)题号:4780 难度:中第1章
C 语言中以下几种运算符的优先次序()的排列是正确的.
A:由高到低为:!,&&,||,算术运算符,赋值运算符
B:由高到低为:!,算术运算符,关系运算符,&&,||,赋值运算符
C:由高到低为:算术运算符,关系运算符,赋值运算符,!,&&,||
D:由高到低为:算术运算符,关系运算符,!,&&,||,赋值运算符
答案:B
第25题(1.0分)题号:4764 难度:中第1章
以下叙述中不正确的是().
A:一个好的程序应该有详尽的注释
B:在C程序中,赋值运算符的优先级最低
C:在C程序中,j++;是一条赋值语句
D:C程序中的#include和#define均不是C语句
答案:B
第26题(1.0分)题号:4800 难度:中第1章设j和k都是int类型,则下面的for循环语句().
for(j=0,k=0;j<=9&&k!=876;j++) scanf("%d",&k);
A:最多执行10次
B:最多执行9次
C:是无限循环
D:循环体一次也不执行
答案:A
第27题(1.0分)题号:4781 难度:中第1章设a为整型变量,初值为12,执行完语句a+=a-=a*a后,a的值是().
A:552
B:144
C:264
D:-264
答案:D
第28题(1.0分)题号:4798 难度:中第1章在位运算中,操作数每右移一位,其结果相当于().
A:操作数乘以2
B:操作数除以2
C:操作数乘以16
D:操作数除以16
答案:B
第29题(1.0分)题号:4797 难度:中第1章若有以下程序段:int a=3,b=4; a=a^b;b=b^a;a=a^b;则执行以上
语句后,a和b的值分别是().
A:a=3,b=4
B:a=4,b=3
C:a=4,b=4
D:a=3,b=3
答案:B
第30题(1.0分)题号:4778 难度:中第1章以下程序的输出结果是().
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=3
B:i=1,j=1,k=2
C:i=4,j=2,k=4
D:i=1,j=1,k=3
答案:D
第31题(1.0分)题号:4807 难度:中第1章执行下列语句后变量x和y的值是().
y=10;x=y++;
A:x=10,y=10
B:x=11,y=11
C:x=10,y=11
D:x=11,y=10
答案:C
第32题(1.0分)题号:4775 难度:中第1章已知字母a的ASCII十进制代码为97,则执行下列语句后的输出结果为(). char a='a'; a--;
printf("%d,%c\n",a+'2'-'0',a+'3'-'0');
A:b,c
B:a--运算不合法,故有语法错
C:98,c
D:格式描述和输出项不匹配,输出无定值
答案:C
第33题(1.0分)题号:4759 难度:中第1章C语言源程序的基本单位是().
A:过程
B:函数
C:子程序
D:标识符
答案:B
第34题(1.0分)题号:4768 难度:中第1章设a=12,且a定义为整型变量.执行语句a+=a-=a*=a;后a的值为(). A:12
B:144
C:0
D:132
答案:C
第35题(1.0分)题号:4792 难度:中第1章下列定义数组的语句中不正确的是().
A:static int a[2][3]={1,2,3,4,5,6};
B:static int a[2][3]={{1},{4,5}};
C:static int a[][3]={{1},{4}};
D:static int a[][]={{1,2,3},{4,5,6}};
答案:D
第36题(1.0分)题号:4771 难度:中第1章假设所有变量均为整型,表达式:a=2,b=5,a>b?a++:b++,a+b的值
是().
A:7
B:8
C:9
D:2
答案:B
经过以下语句定义后,表达式z+=x>y?++x:++y的值为().
int x=1,y=2,z=3;
A:2
B:3
C:6
D:5
答案:C
第38题(1.0分)题号:4779 难度:中第1章
a,b为整型变量,二者均不为0,以下关系表达式中恒成立的是().
A:a*b/a*b==1
B:a/b*b/a==1
C:a/b*b+a%b==a
D:a/b*b==a
答案:C
第39题(1.0分)题号:4793 难度:中第1章
下列说法不正确的是().
A:主函数main中定义的变量在整个文件或程序中有效
B:不同函数中,可以使用相同名字的变量
C:形式参数是局部变量
D:在一个函数内部,可以在复合语句中定义变量,这些变量只在复合语句中有效答案:A
第40题(1.0分)题号:4789 难度:中第1章
执行下列语句后的输出为().
int j=-1;
if(j<=1) printf("****\n");
else printf("%%%%\n");
A:****
B:%%%%
C:%%%%c
D:有错,执行不正确
答案:A
先用语句定义字符型变量c,然后要将字符a赋给c,则下列语句中
正确的是().
A:c='a';
B:c="a";
C:c="97";
D:C='97'
答案:A
第42题(1.0分)题号:4786 难度:中第1章以下程序的运行结果是().
main()
{ int n;
for(n=1;n<=10;n++)
{
if(n%3==0) continue;
printf("%d",n);
}
}
A:12457810
B:369
C:12
D:1234567890
答案:A
第43题(1.0分)题号:4803 难度:中第1章C语言的注释定界符是().
A:{ }
B:[ ]
C:\* *\
D:/* */
答案:D
第44题(1.0分)题号:4795 难度:中第1章以下对C语言函数的描述中,正确的是().
A:C程序必须由一个或一个以上的函数组成
B:C函数即可以嵌套定义又可以递归调用
C:函数必须有返回值,否则不能使用函数
D:C程序有调用关系的所有函数必须放在同一个程序文件中
答案:A
第45题(1.0分)题号:4788 难度:中第1章假定所有变量均已正确定义,下列程序段运行后x的值是().
k1=1;
k2=2;
k3=3;
x=15;
if(!k1) x--;
else if(k2) x=4;
else x=3;
A:14
B:4
C:15
D:3
答案:B
第46题(1.0分)题号:4799 难度:中第1章在C语言的函数中,下列正确的说法是().
A:必须有参数
B:形参必须是变量名
C:形参可以有也可以没有
D:数组名不能做形参
答案:C
第47题(1.0分)题号:4760 难度:中第1章以下标识符中,不能作为合法的C用户定义标识符的是().
A:a3_b3
B:void
C:_123
D:IF
答案:B
第48题(1.0分)题号:4782 难度:中第1章经下列语句定义后,sizeof(x),sizeof(y),sizeof(a),sizeof(b)在
微机上的值分别为().
char x=65;
float y=7.3;
int a=100;
double b=4.5;
A:2,2,2,4
B:1,2,2,4
C:1,4,2,8
D:2,4,2,8
答案:C
第49题(1.0分)题号:4808 难度:中第1章C语言中的标识符只能由字母,数字和下划线三种字符组成,
且第一个字符().
A:必须为字母
B:必须为下划线
C:必须为字母或下划线
D:可以是字母,数字和下划线中任一字符
答案:C
第50题(1.0分)题号:4774 难度:中第1章下列程序的输出结果是().
main()
{
printf("%d\n",null);
}
A:0
B:变量无定义
C:-1
D:1
答案:B
三、程序填空共15题(共计150分)
第1题(10.0分)题号:154 难度:中第94章/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
说明:fun函数的功能是计算s=1+1/2!+1/3!+……+1/n!,请填写程序所缺内容。
-------------------------------------------------------*/
#include "stdio.h"
double fun(int n)
{
double s=0.0,fac=1.0;
int i;
for(i=1; i<=n; i++)
{
/***********SPACE***********/
fac=fac * 【?】;
/***********SPACE***********/
s=【?】;
}
return s;
}
void main()
{
double fun(int n);
double s;
int t;
scanf("%d",&t);
s=fun(t);
printf("s=%f\n",s);
}
答案:
=======(答案1)=======
1.0/i
=========或=========
1/i
=======(答案2)=======
s + fac
=========或=========
fac+s
第2题(10.0分)题号:403 难度:易第2章/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
功能:输出9*9口诀。
-------------------------------------------------------*/
#include <stdio.h>
main()
{
int i,j,result;
printf("\n");
/***********SPACE***********/
for (i=1;【?】;i++)
{
/***********SPACE***********/
for(j=1;j<10;【?】)
{
result=i*j;
/***********SPACE***********/
printf("%d*%d=%-3d",i,j,【?】);
}
printf("\n");
}
}
答案:
=======(答案1)=======
i<10
=========或=========
10>i
=========或=========
i<=9
=========或=========
9>=i
=======(答案2)=======
j++
=========或=========
++j
=========或=========
j=j+1
=========或=========
j=1+j
=======(答案3)=======
result
第3题(10.0分)题号:14 难度:中第1章/*------------------------------------------------------- 【程序填空】
---------------------------------------------------------
功能:输出100到1000之间的各位数字之和能被15整除的所有数,输出时每10个一行。
-------------------------------------------------------*/
#include <stdio.h>
main()
{
int m,n,k,i=0;
for(m=100;m<=1000;m++)
{
/***********SPACE***********/
【?】;
n=m;
do
{
/***********SPACE***********/
k=k+【?】 ;
n=n/10;
}
/***********SPACE***********/
【?】;
if (k%15==0)
{
printf("%5d",m);i++;
/***********SPACE***********/
if(i%10==0) 【?】;
}
}
}
答案:
=======(答案1)=======
k=0
=======(答案2)=======
n%10
=========或=========
n-n/10*10
=========或=========
n-10*(n/10)
=======(答案3)=======
while(n>0)
=========或=========
while(0<n)
=========或=========
while(n!=0)
=========或=========
while(0!=n)
=======(答案4)=======
printf("\n")
第4题(10.0分)题号:140 难度:中第1章/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
功能:下面程序的功能是用do-while语句求1至1000之间满足
"用3除余2;且用5除余3"的数,且一行只打印五个数。
-------------------------------------------------------*/
#include <stdio.h>
main()
{
int i=1,j=0;
do{
/***********SPACE***********/
if(【?】)
{
printf("%4d",i);
j=j+1;
/***********SPACE***********/
if(【?】) printf("\n");
}
i=i+1;
}while(i<1000);
}
答案:
=======(答案1)=======
i%3==2&&i%5==3
=========或=========
i%5==3&&i%3==2
=======(答案2)=======
j%5==0
第5题(10.0分)题号:135 难度:中第1章/*-------------------------------------------------------
【程序填空】
--------------------------------------------------------- 题目:求100以内个位数为6且能够被3整除的所有数
-------------------------------------------------------*/
#include<stdio.h>
void main()
{
int i,j;
/***********SPACE***********/
for(i=0;【?】;i++)
{
j=i*10+6;
/***********SPACE***********/
if(【?】)
continue;
printf("%d\t",j);
}
}
答案:
=======(答案1)=======
i<10
=========或=========
i<=9
=========或=========
10>i
=========或=========
9>=i
=======(答案2)=======
j%3 !=0
=========或=========
(j/3) * 3 != j
=========或=========
j%3==1||j%3==2
=========或=========
j%3==2||j%3==1
第6题(10.0分)题号:427 难度:中第2章/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
功能:百鸡问题:100元买100只鸡,公鸡一只5元钱,母鸡一只3 元钱,小鸡一元钱三只,求100元钱能买公鸡、母鸡、小鸡
各多少只?
-------------------------------------------------------*/
#include <stdio.h>
main()
{
int cocks,hens,chicks;
cocks=0;
while(cocks<=19)
{
/***********SPACE***********/
【?】=0;
/***********SPACE***********/
while(hens<=【?】)
{
chicks=100-cocks-hens;
if(5*cocks+3*hens+chicks/3==100)
printf("%d,%d,%d\n",cocks,hens,chicks);
/***********SPACE***********/
【?】;
}
/***********SPACE***********/
【?】;
}
}
答案:
=======(答案1)=======
hens
=======(答案2)=======
33
=======(答案3)=======
hens++
=========或=========
++hens
=========或=========
hens=hens+1
=======(答案4)=======
cocks++
=========或=========
++cocks
=========或=========
cocks=cocks+1
=========或=========
cocks= cocks + 1
第7题(10.0分)题号:162 难度:中第1章
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
题目:下列程序的功能为:输出100以内能被4整除且个位数为8的所有整数;
请填写适当的符号或语句,使程序实现其功能。
-------------------------------------------------------*/
#include <stdio.h>
main()
{ int i,j;
/***********SPACE***********/
for(i=0;【?】; i++)
{ j=i*10+8;
/***********SPACE***********/
if ( 【?】)
/***********SPACE***********/
【?】;
printf("%d",j);
}
}
答案:
=======(答案1)=======
i<10
=========或=========
i<=9
=========或=========
10>i
=========或=========
9>=i
=======(答案2)=======
j%4!=0
=========或=========
j%4==1||j%4==2||j%4==3
=======(答案3)=======
continue
第8题(10.0分)题号:166 难度:中第2章
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
题目:以下程序按每行5个数的格式输出1至n范围内能被7或17 整除的整数,并求出其和。
如输入:50 则输出:
7 14 17 21 28
34 35 42 49
Sum=247
-------------------------------------------------------*/ #include <stdio.h>
void main()
{
int i, n, ct=0, sum=0;
scanf( "%d", &n );
for ( i=1; i<=n; i++ )
/***********SPACE***********/
if (【?】)
{
printf( "%d\t", i );
/***********SPACE***********/
【?】;
ct++;
/***********SPACE***********/
if (【?】)
printf( "\n" );
}
printf( "\nSum=%d\n", sum );
}
答案:
=======(答案1)=======
i%7==0 || i%17==0
=========或=========
i%17==0 || i%7==0
=======(答案2)=======
sum+=i
=========或=========
sum=sum+i
=========或=========
sum=i+sum
=======(答案3)=======
ct%5==0
第9题(10.0分)题号:4 难度:中第1章/*------------------------------------------------------- 【程序填空】
---------------------------------------------------------
功能:下面的程序是求1!+3!+5!+……+n!的和。
-------------------------------------------------------*/
#include <stdio.h>
main()
{
long int f,s;
int i,j,n;
/***********SPACE***********/
【?】;
scanf("%d",&n);
/***********SPACE***********/
for(i=1;i<=n; 【?】)
{
f=1;
/***********SPACE***********/
for(j=1; 【?】;j++)
/***********SPACE***********/
【?】;
s=s+f;
}
printf("n=%d,s=%ld\n",n,s);
}
答案:
=======(答案1)=======
s=0
=======(答案2)=======
i+=2
=========或=========
i=i+2
=========或=========
i++,i++
=========或=========
i=2+i
=======(答案3)=======
j<=i
=========或=========
i>=j
=========或=========
j<i+1
=========或=========
i+1>j
=======(答案4)=======
f= f * j
=========或=========
f=j*f
第10题(10.0分)题号:627 难度:中第20章/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
功能:调用函数fun计算m=1-2+3-4+……+9-10,并输出结果。
-------------------------------------------------------*/
#include <stdio.h>
int fun( int n)
{
int m=0,f=1,i;
/***********SPACE***********/
for(i=1;【?】;i++)
{
m+=i*f;
/***********SPACE***********/
【?】;
}
/***********SPACE***********/
return 【?】;
}
main()
{
printf("m=%d\n", fun(10));
}
答案:
=======(答案1)=======
i<=n
=========或=========
i<n+1
=========或=========
n>=i
=========或=========
n+1>i
=======(答案2)=======
f= -f
=======(答案3)=======
m
第11题(10.0分)题号:480 难度:难第2章/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
功能:输出Fibonacci数列的前15项,要求每行输出5项。
Fibonacci数列:1,1,2,3,5,8,13...........
-------------------------------------------------------*/
#include <stdio.h>
main()
{
/***********SPACE***********/
int 【?】[15],i;
fib[0]=1;fib[1]=1;
for (i=2;i<15;i++)
/***********SPACE***********/
fib[i]=【?】;
for(i=0;i<15;i++)
{
printf("%d\t",fib[i]);
/***********SPACE***********/
if ( 【?】 ) printf("\n");
}
}
答案:
=======(答案1)=======
fib
=======(答案2)=======
fib[i-2]+fib[i-1]
=========或=========
fib[i-2] + fib[i-1]
=========或=========
fib[i-1]+fib[i-2]
=======(答案3)=======
i%5 == 4
=========或=========
(i+1)%5==0
第12题(10.0分)题号:626 难度:中第20章/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
功能:下面程序是计算 sum=1+(1+1/2)+(1+1/2+1/3)+...
(1+1/2+...1/n)的值。
例如:当n=3,sum=4.3333333
-------------------------------------------------------*/
#include <stdio.h>
double f(int n)
{
int i;
double s;
s=0;
for(i=1;i<=n;i++)
/***********SPACE***********/
【?】;
return s;
}
main()
{
int i,m=3;
double sum=0;
for(i=1;i<=m;i++)
/***********SPACE***********/
【?】;
/***********SPACE***********/
printf("【?】\n",sum);
}
答案:
=======(答案1)=======
s+=1.0/i
=========或=========
s+=1/i
=========或=========
s= s + 1.0/i
=========或=========
s= s + 1/i
=========或=========
s=1.0/i+s
=========或=========
s=1/i+s
=======(答案2)=======
sum+=f(i)
=========或=========
sum= sum + f(i)
=========或=========
sum=f(i)+sum
=======(答案3)=======
%f
第13题(10.0分)题号:405 难度:中第2章/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
功能:要求输出结果为:
A,B
65,66
-------------------------------------------------------*/
#include<stdio.h>
void main()
{
/***********SPACE***********/
char a,【?】;
/***********SPACE***********/
a=【?】;
b='b';
a=a-32;
/***********SPACE***********/
b=b-【?】;
printf("%c, %c\n%d,%d\n",a,b,a,b);
}
答案:
=======(答案1)=======
b
=======(答案2)=======
'a'
=========或=========
97
=======(答案3)=======
32
第14题(10.0分)题号:648 难度:中第1章/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
给定程序中,程序的功能是:从键盘输入的字符中统计数字字符
的个数,用换行符结束循环。
请填空。
例如:
输入:CADX2012JSJ0623
输出:8
-------------------------------------------------------*/
#include<stdio.h>
void main()
{
int n=0,c;
c=getchar();
/***********SPACE***********/
while(【?】)
{
/***********SPACE***********/
if(【?】)
n++;
c=getchar();
}
printf("%d",n);
}
答案:
=======(答案1)=======
c!='\n'
=======(答案2)=======
c>='0' && c<='9'
=========或=========
c>=48 && c<=57
=========或=========
c<='9'&&c>='0'
=========或=========
c<=57&&c>=48
第15题(10.0分)题号:8 难度:中第1章/*------------------------------------------------------- 【程序填空】
---------------------------------------------------------
功能:以每行5个数来输出300以内能被7或17整除的偶数,并求出其和。
-------------------------------------------------------*/
#include <stdio.h>
#include <conio.h>
main()
{
int i,n,sum;
sum=0;
/***********SPACE***********/ 【?】;
/***********SPACE***********/
for(i=1; 【?】 ;i++)
/***********SPACE***********/
if(【?】)
if(i%2==0)
{
sum=sum+i;
n++;
printf("%6d",i);
/***********SPACE***********/ if(【?】)
printf("\n");
}
printf("\ntotal=%d",sum);
}
答案:
=======(答案1)=======
n=0
=======(答案2)=======
i<=300
=========或=========
i<300
=========或=========
300>=i
=========或=========
300>i
=======(答案3)=======
i%7 == 0 || i%17 == 0
=========或=========
!(i%7)||!(i%17)
=========或=========
!(i%17)||!(i%7)
=========或=========
!(i%7&&i%17)
=======(答案4)=======
n%5 == 0
=========或=========
!(n%5)
=========或=========
n/5*5==n
四、程序改错共15题(共计150分)
第1题(10.0分)题号:31 难度:易第1章
/*------------------------------------------------------ 【程序改错】
--------------------------------------------------------
功能:从键盘输入十个学生的成绩,统计最高分,最低分和平均分。
max代表最高分,min代表最低分,avg代表平均分。
------------------------------------------------------*/
#include <stdio.h>
main( )
{
int i;
/***********FOUND***********/
float a[8],min,max,avg;
printf("input 10 score:");
for(i=0;i<=9;i++)
{
printf("input a score of student:");
/***********FOUND***********/
scanf("%f",a);
}
/***********FOUND***********/
max=min=avg=a[1];
for(i=1;i<=9;i++)
{
/***********FOUND***********/
if(min<a[i])
min=a[i];
if(max<a[i])
max=a[i];
avg=avg+a[i];
}
avg=avg/10;
printf("max:%f\nmin:%f\navg:%f\n",max,min,avg);
}
答案:
=======(答案1)=======
float a[10],min,max,avg;
=======(答案2)=======
scanf("%f",&a[i]);
=========或=========
scanf("%f",a+i);
=======(答案3)=======
max=min=avg=a[0];
=======(答案4)=======
if (min>a[i])
=========或=========
if (a[i]<min)
第2题(10.0分)题号:397 难度:中第2章/*------------------------------------------------------ 【程序改错】
--------------------------------------------------------
功能:输入两个实数,按代数值由小到大输出它们,并在fun() 函数中输出。
(输出的数据都保留2位小数)
------------------------------------------------------*/
#include <stdio.h>
fun()
{
/**********FOUND**********/
float t
float a, b ;
scanf("%f %f",&a,&b);
/**********FOUND**********/
if(a<b)
{
t=a;
a=b;
b=t;
}
/**********FOUND**********/
printf("%5.2f ,%5.2f\n",&a,&b);
}
main()
{
fun();
}
答案:
=======(答案1)=======
float t;
=======(答案2)=======
if(a>b)
=======(答案3)=======
printf("%5.2f, %5.2f\n",a,b);
第3题(10.0分)题号:406 难度:中第2章/*------------------------------------------------------ 【程序改错】
--------------------------------------------------------
功能:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
------------------------------------------------------*/
#include <stdio.h>
main()
{
int i,j,k;
/**********FOUND**********/
printf("\n")
/**********FOUND**********/
for(i=1;i<=5;i++)
for(j=1;j<5;j++)
for (k=1;k<5;k++)
{
/**********FOUND**********/
if (i!=k||i!=j||j!=k)
printf("%d,%d,%d\n",i,j,k);。