2013年下半年浙江省高等学校计算机等级考试
二级C程序设计试卷
说明:
⑴本试卷共6页,满分100分;考试时间为90分钟;
⑵考生应将所有试题的答案填写在答卷上;
⑶程序阅读与填空全部是选择题,请在答卷上的各小题选项的对应位置上填“√”;
⑷请将你的准考证号的后五位填写在答卷右下角的指定位置内。
一、程序阅读与填空(24小题,每小题3分,共72分)
1.阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。【程序说明】
输入一个正整数n,再输入n个整数,输出最小值。
运行示例:
Enter n:6
Enter n integers:8 -9 3 6 0 10
Min:-9
【程序】
#include
void main()
{ int i,min,n,x;
printf("Enter n:");
scanf("%d",&n);
printf("Enter %d integers:",n);
scanf("%d",&x);
(1);
for( (2);i (3) if( (4)) min=x; } printf("Min:%d\n",min); } 【供选择的答案】 (1)A、min=-9 B、min=x C、min=n D、min=0 (2)A、i=0 B、i=-1 C、i=1 D、i=n (3)A、scanf("%d",&min); B、; C、scanf("%d",&n); D、scanf("%d",&x); (4)A、min C、min D、min>x 2.阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序说明】 输入一组(5个)有序的整数,再输入一个整数x,把x插入到这组数据中,使该组数据仍然有序。 运行示例: Enter 5 integers:1 2 4 5 7 Enter :3 After inserted:1 2 3 4 5 7 【程序】 #include main() { int i,j,n=5,x,a[10]; printf("Enter %d integers:",n); for(i=0;i scanf("%d",&a[i]); printf("Enter x:"); scanf("%d",&x); for(i=0;i if(x>a[i]) (5); j=n-1; while(j>=i){ (6); (7); } a[i]=x; break; } if(i==n) a[n]=x; printf("After insterted:"); for(i=0; (8);i++) printf("%d ",a[i]); printf("\n"); } 【供选择的答案】 (5)A、break B、a[i]=x C、continue D、x=i (6)A、a[j]=a[j+1] B、a[j+1]=a[j] C、a[i]=a[j] D、a[j]=a[i] (7)A、j-- B、j++ C、i++ D、i-- (8)A、i C、i>j D、i 3.阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。【程序说明】 输入2个字符串,比较它们是否相等。要求定义和调用函数cmp(s,t),该函数比较字符串s和t是否相等,若相等则返回1,否则返回0。 运行示例: Enter 2 strings:Hello world “Hello”!=”world” 【程序】 #include int cmp(char *s,char *t) { int i; for(i=0; (9);i++) if( (10)) break; if( (11)) return 1; else return 0; } main() { char s[80],t[80]; printf("Enter 2 strings:"); scanf("%s%s",s,t); if( (12)) printf("\"%s\"=\"%s\"\n",s,t); else printf("\"%s\"!=\"%s\"\n",s,t); } 【供选择的答案】 (9)A、s[i]=='\0' B、s[i]='\0' C、s[i]!='\0' D、!s[i] (10)A、s[i]==t[i] B、t[i]== '\0' C、s[i]!=t[i] D、s[i]=='\0' (11)A、s[i]!=t[i] B、s[i]==t[i] C、s[i] !='\0' D、t[i] !='\0' (12)A、cmp(s,t) B、cmp(s,t)==0 C、cmp(char *s,char *t) D、cmp(*s,*t)!==0 4.阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。【程序】 #include #define TRUE 1 #define FALSE 0 int f1() { int x=0x02; return x<<2; } void f2(int n) { int s =10; if(n>0) n=-n; do{ s-=n; }while(++n); printf("%d %d\n",n,s); } double f3(int n) { if(n==1) return 1.0; else return 1.0/(1.0+f3(n-1)); } main() { printf("%d %d\n",TRUE,FALSE); printf("%d\n",f1()); f2(3); printf("%.1f\n",f3(3)); } 【问题】 (13)程序运行时,第1行输出(13)。 A、0 1 B、TRUE FALSE C、FALSE TRUE D、1 0 (14)程序运行时,第2行输出(14)。 A、4 B、16 C、8 D、2 (15)程序运行时,第3行输出(15)。 A、1 16 B、0 16 C、0 20 D、1 20 (16)程序运行时,第4行输出(16)。 A、0.5 B、0.7 C、1.0 D、0.6 5.阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。【程序】 程序1 #include main() { int f1,f2,f5,n=12; for(f5=3;f5>0;f5--) for(f2=10;f2>0;f2--){ f1=n-5*f5-2*f2; if(f1>0) printf("%d %d %d\n",f5,f2,f1); } } 程序2 #include main() { char str[80]; int i; gets(str); for(i=0;str[i]!='\0';i++) if(str[i]=='9') str[i]='0'; else str[i]=str[i]+1; puts(str); } 【问题】 (17)程序1运行时,第1行输出(17)。 A、0 6 0 B、1 1 5 C、1 3 1 D、1 2 3 (18)程序1运行时,第2行输出(18)。 A、0 6 0 B、1 1 5 C、1 3 1 D、1 2 3 (19)程序2运行时,输入2a9,输出(19)。 A、3b0 B、2a9 C、a02 D、3b9 (20)程序2运行时,输入s13,输出(20)。 A、s13 B、24t C、u35 D、t24 6.阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。【程序】 #include main() { int i,j; char *s[4]={"continue","break","do-while","point"}; for(i=3;i>=0;i--) for(j=0;j printf("%s\n",s[i]+j); } 【问题】 (21)程序运行时,第1行输出(21)。 A、point B、do-while C、break D、continue (22)程序运行时,第2行输出 (22) 。 A 、inue B 、reak C 、hile D 、oint (23)程序运行时,第3行输出 (23) 。 A 、int B 、ntinue C 、eak D 、-while (24)程序运行时,第4行输出 (24) 。 A 、do-while B 、continue C 、break D 、point 二、程序编写(每题14分,共28分) 1.输入100个学生的计算机成绩,统计优秀(大于等于90分)学生的人数。 2.按下面要求编写程序: (1)定义函数f()计算n+(n+1)+…+(2n-1),函数返回值类型是double 。 (2)定义函数main(),输入正整数n ,计算并输出下列算式的值。要求调用函数f(n)计算n+(n+1)+…+(2n-1)。 n n n n s )12()1(35432321-+?++++?++++++= 浙江省二级c语言上机考试真题 介绍:浙江省二级c语言考试分为笔试和上机考试两块.取笔试和上机中分数较低的那个作为计算机二级的最终成绩,最后证书上按档次划分等级,其中60-79及格,80-89良好,90-100优秀。 笔试部分分两块,一块是24道选择题(六道程序题,每题中间有四个空,每空有四个选项供选择),浙江省的计算机笔试选择题不考概念性内容,所以大家不用费心,另一块是程序编写,手写两个完整程序,一道循环数组(结合),一道是函数或指针。 上机部分分两块,一块是计算机基本操作,即从access,ppt,excel,outlook,word,网页制作,文件夹操作中随机选择四道,另一块是编程,编程题可以打开编程软件c-free来做,编程中共五道题,一道改错,两道填空,最后两道是编写程序。 (一)程序改错: 1,10个数求最大最小值 该程序中“/***** N ***** /”的下一行中有错误, 请改正(注意:不得加行、减行、加句、减句,否则后果自负)。 该程序功能:运行时输入10个数,然后分别输出其中的最大值、最小值。#include void main() { float x,max,min; int i; /******** 1 *******/ for(i=0;i<=10;i++) { scanf("%f",&x); /******* 2 ********/ if(i=1) { max=x;min=x;} if(x>max) max=x; if(x } printf("%f,%f\n",max,min); } ?#include 综合练习 一、判断题 1.在Trubo_C中运行一个C程序时,实际上是运行后缀为.EXE的可执行文件。2.在C语言中整数可用十进制数、八进制数和二进制数三种数制表示。 3.在程序的运行过程中,整型常量的值是可以改变的。 4. C程序中,用/* 和 */界定的部分称之为注释,注释部分对程序的运行不起作用。5.大括弧 { } 只能用来括复合语句。 6. do_while语句构成的循环不能用其它循环语句来代替。 7.不能用scanf 函数输入字符。 8.在 C 程序中,函数的定义不可以嵌套,但函数的调用可以嵌套。 9. 一个变量的作用域取决于变量定义语句在程序中出现的位置。 10.C 语言的一个编译预处理命令用 # 开始,最后加分号。 11. C语言源程序文件经过编译、连接之后生成一个后缀为.EXE的文件。 12. C语言中以 %o开头的数是八进制整数。 13.在程序的运行过程中,符号常量的值是可以改变的。 14.在 C 程序中,APH 和 aph 代表不同的变量。 15.一个复合语句在语法上被认为是一条语句。 16. 只能用while语句构成循环。 17.不能用printf函数输出字符。 18. C程序中各函数之间既允许直接递归调用也允许间接递归调用。 19. 在函数外部定义的变量称为全局变量。 20.宏定义的命令行可以看作是一条C 语句。 21. C语言源程序是可以用来直接运行的程序。 22. C语言中以 %x 开头的数是十六进制整数。 23. C程序中定义的变量,代表内存中的一个存储单元。 24.在 C 程序中,9ab是非法的用户标识符。 25. C语句必须用一个分号作为结束。 26. do_while语句构成的循环不能用break语句退出。 27. scanf 函数是 c 语言的标准输入函数。 28. C程序的main函数不能有参数。 29. 在函数内部定义的变量称为局部变量。 30.用#include包含的头文件的后缀必须是.h。 31. C 语言程序的三种基本结构是顺序结构、选择结构和循环结构。 32.在C语言中整数只能表示为十进制数的形式。 33.在 C 程序中,无论多少大的整数还是实数,都能准确无误的表示。 34. Turbo-C 语言中,字符类型数据占1个字节。 35.空语句是合法的C语句。 36. while语句的循环体不能是复合语句。 37. printf 函数是 c 语言的标准输出函数。 38. C程序的main函数可以有参数,但参数不能是指针类型。 39.在 main函数中定义的变量称为全局变量。 40.#include 和 #define 不是 C 语句。 41. C 语言程序的三种基本结构是嵌套结构、选择结构和循环结构。 42. C语言中 018是合法的八进制整数。 43. C程序中所要用到的变量应该先定义,后使用。 44.十六进制数0x11的十进制数是17。 45.赋值语句是一种可执行语句。 2003年秋浙江省高校非计算机专业学生 计算机等级考试试卷(二级C) 说明:⑴考生应将试题一至试题三的答案涂在答题卡上,将第四、五题的答案填写在答卷上,否则作无效处理; ⑵请将你的准考证号的后四位填写在答卷右下角的指定位置内; ⑶考试时间为120分钟。 试题一、计算机基础题(本题共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与WWW的关系是(4)。 A、都是因特网,只是名称不同 B、Internet就是WWW C、Internet与WWW完全没有关系 D、WWW是Internet上的一个应用(5)在Windows 98环境下,下面关于附件中应用程序的说法,(5)是不正确的。 A、写字板可以编辑文本文件 B、写字板的缺省扩展名为.DOC C、计算器中的计算结果,可以粘贴到文档文件中 D、记事本中设置的显示字体,将保存在文本文件中,当使用Word读入该文件时, 仍具有所设置的字体 (6)在Word编辑文本时,将文档中所有的“memory”都改成“存储器”,最快捷的方法是采用(6)操作。 A、中英文转换 B、替换 C、改写 D、翻译 (7)以下几种关于消除计算机病毒的说法中,正确的是(7)。 A、专门的杀毒软件并非总是有效的 B、删除所有带毒文件能消除所有病毒 C、对感染上病毒的软盘,格式化既能消除病毒,又能使数据不受破坏 D、要一劳永逸地使计算机不感染病毒,最好的方法是装上防病毒卡 (8)实现汉字字形表示的方法,一般可分为(8)两大类。 1.若i,j和k都是int型变量,则表达式(i=4,j=16,k=32,i=j)的值为 A. 4 B. 16 C. 32 D. 52 2.若有函数内部说明:int a[3][4];则数组a中各元素 A. 可在程序的运行阶段得到初值0 B. 可在程序的编译阶段得到初值0 C. 不能得到确定的初值 D. 可在程序的编译或运行阶段得到初值0 3.一个C语言程序是由 A. 一个主程序和若干子程序组成 B. 函数组成 C. 若干过程组成 D. 若干子程序组成 4.若有说明 int a[2][4];则a数组元素的非法引用是 A. a[0][2*1] B. a[1][3] C. a[4-3][0] D. a[0][4] 5.阅读下面程序,则执行后的输出结果是___。 #include "stdio.h" main() {int x,y,z; x=1;y=2;z=3; if(x>y)if(x>z)printf("%d",x); else printf("%d",y); printf("%d\n",z); } A. 0 B. 1 C. 2 D. 3 6.下面程序的输出结果为 main() { int a,b;b=(a=3*5,a*4,a*5); printf("%d",b ;} A. 60 B. 75 C. 65 D. 无确定值 7.下列选项中不是结构化程序基本结构的是 A. 顺序结构 B. 跳转分支结构 C. 选择结构 D. 循环结构 8.所有C函数的结构都包括的三部分是 A. 语句、花括号和函数体 B. 函数名、语句和函数体 C. 函数名、形式参数和函数体 D. 形式参数、语句和函数体 9.设int a=5,b=6,表达式(--b==6)?++a:--b的值是___ A. 5 B. 6 C. 7 D. 4 10.下列叙述中不是C语言的特点的是______。 A. 简洁、紧凑,使用方便、灵活,易于学习和应用 B. C语言是面向对象的程序设计语言 C. C语言允许直接对位、字节和地址进行操作 D. C语言数据类型丰富、生成的目标代码质量高 11.下列关于C语言注释的叙述中错误的是______。 A. 以“/*”开头并以“*/”结尾的字符串为C语言的注释符 B. 注释可出现在程序中的任何位置,用来向用户提示或解释程序的意义 C. 程序编译时,不对注释作任何处理 D. 程序编译时,需要对注释进行处理 12.s1和s2已正确定义并分别指向两个字符串。 若要求:当s1所指串大于s2所指串时,执行语句S;则以下选项中正确的是 A. if(s1>s2)S; B. if(strcmp (s1,s2))S; C. if(strcmp(s2,s1)>0) S; D. if(strcmp (s1,s2)>0)S; 13.设i,j,k均为int型变量,则执行完下面的for语句后,k的值为___ 。 for(i=0, j=10; j>=i; i++, j--) k=i+j; A. 10 B. 20 C. 8 D. 0 14.已知:int c[3][4];则对数组元素引用正确的是 A. c[1][4] B. c[1.5][0] C. c[1+0][0] 第1章C程序设计基础 ◆本章重点 1.C语言程序的结构。 2.变量与常量的表示方法。 3.运算符与表达式。 4.指针的概念及变量地址与指针的关系。 5.指针与数组的初步基本概念。 ◆本章难点 1.C语言中常量的表示方法。 2.整型数在计算机中存储的形式。 3.不同类型数据的转换。 4.转义字符。 5.各种运算符与表达式的正确理解。 6.指针的运算与数组的赋值。 1.1 C程序的结构 1.1.1 程序的概念 程序是指人们将需要计算机做的工作写成一定形式的指令,并把它们存储在计算机的内部存储器中。当人们给出命令之后,它就按指令操作顺序自动进行,把这种可以连续执行的一条条指令的集合称为“程序”。目前,正在使用的计算机程序设计语言有上百种,有些语言是面向机器的,如二进制语言,而多数是面向问题的语言。面向问题的语言都被称为计算机的“高级语言”,如C语言等。当然把C++等称为面向对象的语言。这些语言都是用接近人们习惯的自然语言和数学语言作为语言的表达形式,人们学习和操作起来感到十分方便。目前的程序设计一般可分为非结构化程序设计、结构化程序设计和面向对象的程序设计,C语言是结构化程序设计语言。 程序设计的过程一般包括: (1)问题的提出、要求及所采用的数据结构。 (2)算法的确定、程序的编制。 (3)程序的调试及修改。 (4)整理并写出文档资料。 结构化程序设计由三种结构组成:顺序结构、选择结构、循环结构。 (1)顺序结构:顺序结构的程序是一条语句接一条语句顺序地往下执行的。例如在图1.1中,先执行语句1,然后执行语句2,最后执行语句3,顺序结构 的程序是最简单的程序。 图1.1 顺序结构的程序段 (2)分支结构:若在程序执行过程中,程序的流程可由多路分支组成,根据不同的条件去执行不同的任务。例如在图1.2中程序执行到条件表达式时,首 先判断条件是否为“真“,如为真执行语句1,否则执行语句2。 图1.2 分支结构的程序段 (3)循环结构:如在程序中需要根据某项条件重复地执行某项任务若干次或直到满足或不满足某条件为止,这就构成循环结构。例如在图1.3中程序执行 到循环条件表达式时,首先判断循环条件是否为“真“,如循环条件为“真 “,执行循环语句,循环语句执行完成后,又转去判断循环条件,如循环条 件仍为真,再次执行循环语句,如此反复,直到循环条件为假,退出此循环。浙江省计算机二级c语言上机考试真题版
浙江大学C语言总复习题--综合
03年浙江省计算机等级考二级(C语言)
C语言二级考试试题及答案
浙江大学刘加海C语言课件1
浙江大学C语言期末考试试卷-2001Bd