《浙江省2005年春二级《C语言程序设计》考试试卷.pdf》由会员分享,可在线阅读,更多相关《浙江省2005年春二级《C语言程序设计》考试试卷.pdf(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、浙江省 2005 年春二级 C 考试试卷2005 年春二级 C 考试试卷试题一、判断题(每小题试题一、判断题(每小题 1 1 分,共分,共 1010 分)分)说明:在以下提供的若干个陈述中,逐一判断其正确与否,选 A 表示正确,选 B 表示错误。(1)在 C 语言中,常量和变量都有数据类型。(2)C 语言的运算符只有单目运算符和双目运算符两种。(3)若变量己正确定义,表达式 x+y=z 符合 C 语言语法。(4)C 编译器可以找出 C 源程序中所有的语法错误和逻辑错误。(5)表达式 3*5/2 和表达式 3/2*等价。(6)表达式 m=n+的求解顺序是先计算 m=n,再计算 n=n+1。(7)
2、变量名 fahr 和 Fahr 代表两个不同的变量。(8)若表达式 sizeof(unsigned)的值为 2,则 unsigned 类型数据能表示的最大整数为 216-1。(9)break 语句只能用于循环结构中。(10)while 语句先判断循环条件,所以循环体有可能一次也不执行。试题二、单选题(每小题试题二、单选题(每小题 2 2 分,共分,共 2020 分)分)(11)执行 scanf(“%d%lf%d”,&money,&rate,&year),输入(11)后,money=1000,year=3,rate=0.025.A、1000 3 0.025 B、1000 0.025 3 C、10
3、00,3,0.025 C、1000,0.025,3(12)判断变量 ch 是英文字母的表达式为(12)。A、(a=ch=z)|(A=ch=a&ch=A&ch=a&ch=A&ch=Z)D、(A=ch=z)&(A=ch=z)(13)while(13)等价于 while(!x)。A、x=1 B、x=0 C、x!=0 D、x!=1(14)以下程序段输出字符串 str,其中循环条件 stri!=0 还可以写成(14)。char str80;for(i=0;stri!=0 i+)putchar(stri);A、stri!=NULL B、i 80 C、!(stri=0 D、i%c#,a,b);else f(
4、n-1,a,c,b);printf(%c-%c#,a,b);f(n-1,c,b,a);A、1-2#1-3#3-2#B、3-2#1-2#1-3#C、1-3#3-2#1-2#C、1-3#1-2#3-2#(18)下列程序段的输出结果是(18)。int t,a3=10,5,1;int*p;for(p=a;px=point.y;试题三、程序填空题(每空试题三、程序填空题(每空 2 2 分,共分,共 2020 分)分)说明:阅读下列程序说明和相应程序,在每小题提供的若干可选答案中,挑选一个正确答案。1.程序 1、程序说明 根据下式计算 s 的值,要求精确到最后一项的绝对值小于 106 。s=1-1/3+1
5、/5-1/7+.程序#include#include void main()int flag=1,t=1;(21)while(22)item=flag*1.0/t;s=s+item;(23);t=t+2;printf(“s=%fn”,s);(21)A、double item=2,s=0;B、double item=0,s=0;C、double item=1,s=1;D、double item=3,s=1;(22)A、item=1e-6;C、fabs(item)=1E-6(23)A、flag=-1 B、s=-s C、flag=-flag;D、t=-t 2、程序 2 程序说明 验证哥哥德巴赫猜想:
6、任何一个大于 6 的偶数均可表示为两个素数之和。例如 6=3+3,8=3+5,18=7+11。将 6100 之间的每个偶数都表示成两个素数之和。函数 prime(m)用于判断 m 是否为素数。素数就是只能被 1 和自身整除的正整数,1 不是素数,2 是素数。程序#include stdio.h#include math.h void main()int i,k;int prime(int m);for(i=6;i=100;i=i+2)for(k=3;k=50;k+)if(24 )printf(%d=%d+%dn,i,k,i-k);break;int prime(int m)int k,n;if
7、(m=1)return 0;n=(int)sqrt(m);for(k=2;k=n;k+)(25);(26);(24)A、prime(i)B、prime(i)&prime(k)C、prime(k)&prime(i-k)D、prime(k)(25)A、if(m%k!=0)return 0 B、if(m%k=0)return 0 C、if(m%k=0)return 1 D、if(m%k!=0)return 1(26)A、return 0;B、return 1;C、else return 0;D、else return 1;程序 3 程序说明 输入一个字符串(少于 80 个字符),滤去所有的非八进制字
8、符后,组成一个新符串(八 进制形式),然后将其转化为十进制整数后输入。函数 stoi(str)将八进制形式的字符串 str 转换为十进制整数,例如,stoi(“12”)的值为 10(八进制 12 对应十进制 10)。程序#include void main()int i,k;char s10;int stoi(char*str);gets(s);for(i=k=0;si!=0;i+)if(si=0)(27)(28)printf(“digit=%dn”,(29)int stoi(char*str)int i,n=0;for(i=0;stri!=0;i+)(30)return n;(27)A、sI
9、=sk;i+B、sk=si C、sk=si,k+D、si=sk(28)A、si!=0 B、sk!=0 C、si=0 D、sk=0(29)A、stoi(s)B、s C、stoi(si)D、n(30)A、n=n*8+(stri0)B、n=n*10+(stri0)C、n=n*8+stri D、n=n*10+stri 试题四、程序阅读题(每小题试题四、程序阅读题(每小题 5 5 分,共分,共 2020 分)分)说明:阅读下列程序,将运行时的输出结果写在答卷纸的相应题号下。1.1.程序程序 1 1#include void main()int x=10023 do printf(“%d#”,x%10);
10、x=x/10;while(x!=0);2.2.程序程序 2 2#inclde void main()int i,x=1,y=1;for(i=1;i=5;i+)x=x+y;y+;printf(“%d#”,x);3.3.程序程序 3 3#include void main()int i,x=1,y=1;void f(int m,int n,int*px,int*py);f(2004,70,&x,&y),printf(%d#%d#,x,y);f(2005,98,&x,&y);printf(%d#%d#,x,y);void f(int m,int n,int*px,int*py)int k,flag;
11、int tab 213=0,31,28,31,30,31,30,31,31,30,31,30,31,0,31,29,31,30,31,30,31,31,30,31,30,31 ;flag=m%4=0&m%100!=0|m%400=0;for(k=1;n tabflagk;k+)n=n-tabflagk;*px=k;*py=n;4.4.程序程序 4 4 /*假设读写文件的操作能正常完成*/#include#include void main()char ch,*s=ACEDB;int x;FILE*in;if(in=fopen(file.txt,w)!=NULL)while(*s!=0)fput
12、c(*s+,in);fclose(in);if(in=fopen(file.txt,r)!=NULL)while(ch=fgetc(in)!=EOF)switch(ch)case A:x=95;break;case B:x=85;break;case C:x=75;break;case D:x=60;break;default:x=0;break;printf(%d#,x);fclose(in);getch();试题五、程序设计题(每小题各试题五、程序设计题(每小题各 1010 分,共分,共 3030 分)分)1.输入法 x,计算并输出下列分段函数 f(x)的值。可以调用数学库函数:平方根函数 sqrt(),绝对值函数 fabs()和幂函数 pow()。f(x)=|x|x0 xx2(x+2)3 2x4 2x+5 x4 2.输出一张摄氏一华氏温度转换表,摄氏温度的取值区间是-1000 C,1500C,温度间隔 50C。要求定义和调用函数 ctof(c),将摄氏温度 C 转换成华氏温度 F,计算公式:F=32+C*9/5。3.输入一个正整数不胜 n(1 n 6),再输入一个 n 行 n 列的矩阵,找出该矩阵中绝对值最大的元素以及它的行下标和列下标。