2013年下C复习资料

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2013年下C复习资料
等级考试计算机基础上机部分
⽂件操作主要内容:
建⽴⽂件夹,复制、删除⽂件或⽂件夹,修改⽂件、⽂件夹名或⽂件属性。

练习时不要拘泥于具体⽂件,把有关题型吃透练熟即可。

课外练习时也可以创建有关题⽬。

注意:⽂件操作题⽬,单击“回答”按钮,进⾏考试。

当前⽂件夹为:“FileTest”。

【例1】
1.在当前⽂件夹下新建⽂件夹USER1,在当前⽂件夹下的A⽂件夹中新建⽂件夹
USER2。

2.将当前⽂件夹下的AFILE.DOC⽂件复制到当前⽂件夹下的B⽂件夹中;将当前⽂
件夹下的B⽂件夹中的BFILE.DOC⽂件分别复制到当前⽂件夹和当前⽂件夹下的
A⽂件夹中。

3.删除当前⽂件夹下BUG.DOC⽂件,删除当前⽂件夹下的C⽂件夹中的CA T.DOC
⽂件,删除在C⽂件夹下的CCC⽂件夹中的DOG.DOC⽂件。

4.将当前⽂件夹下的OLD1.DOC⽂件改名为NEW1.DOC,将当前⽂件夹下的A⽂
件夹中OLD2.DOC⽂件改名为NEW2.DOC。

【例2】
1.将当前⽂件夹下的FOLD⽂件夹改名为FOX,将当前⽂件夹下的A⽂件夹中SEE
⽂件夹改名为SUN。

2.将当前⽂件夹下的TOM.DOC⽂件的⽂件属性改为“只读”和“隐藏”,将当前⽂
件夹下的A⽂件夹中的JERRY.DOC⽂件的⽂件属性改为“只读”和“隐藏”
3.删除当前⽂件夹下的C⽂件夹,删除当前⽂件夹下的A⽂件夹中的CCC⽂件夹。

Windows操作主要内容:
掌握任务栏属性、墙纸(背景)、屏幕保护等桌⾯显⽰属性框中各属性的设置⽅法。

【例1】
1.设置任务栏属性为“不显⽰时钟”。

2.设置⾃动隐藏任务栏。

【例2】
1.设置桌⾯墙纸,选择“GreenStone”为背景图⽚,墙纸显⽰⽅式为“居中”。

2.设置显⽰属性,使得“在活动桌⾯上显⽰Web内容”
3.设置显⽰属性背景图案为“柳钉板”
4.在显⽰属性效果设置“不平滑屏幕字体边缘”
【例3】
3.设置时间分隔符为“/”
【例4】
1.设置屏幕保护程序为“贝塞尔曲线”
2.设置屏幕保护程序的保护时间为“3”分钟
【例5】
1.查找到系统提供的应⽤程序“calc.exe”,并分别在桌⾯上和开始→程序中建⽴名为
“字处理”的快捷⽅式。

2.查找到系统提供的应⽤程序“winword.exe”,并分别在桌⾯上和开始→程序中建⽴
名为“字处理”的快捷⽅式。

(常⽤附件程序的⽂件名)
Internet Explorer主要内容:(必须在考试环境下做,注意⽹页保存的⽂件类型)
在浏览器地址栏输⼊“/doc/de87ce05a1c7aa00b42acbc6.html ”,进⼊IE操作题测试。

1.浏览浙江省计算机等级考试⽹站,将“杭州电⼦⼯学院”页⾯另存到考⽣⽬录,⽂件名为“djks”,保存类型为“web页,仅HTML(*.htm;*.html)”。

2.浏览浙江省计算机等级考试⽹站,将“CISCO认证简介”页⾯另存到考⽣⽬录,⽂件名为“djks”,保存类型为“⽂本⽂件,(*.txt)”。

3.浏览浙江省计算机等级考试⽹站,将“浙江省计算机等级考试发展简史”页⾯另存到考⽣⽬录,⽂件名为“djks”,保存类型
为“web页,全部(*.htm;*.html)”。

4.浏览浙江省计算机等级考试⽹站,将“浙江财经学院”页⾯上的图⽚”051_1.jpg”另存到考⽣⽬录,⽂件名为“pictrue”,保存类型为“JPEG(*.JPG)”。

5.浏览浙江省计算机等级考试⽹站,将“浙江财经学院”页⾯上的图⽚”051_1.jpg”另存到考⽣⽬录,⽂件名为“pictrue”,保存类型为“位图(*.bmp)”。

6.浏览浙江省计算机等级考试⽹站,将“浙江省⾼校计算机等级考试考务细则”页⾯上的图⽚”tubiao.gif”另存到考⽣⽬录,⽂件名为“pictrue”,保存类型为“GIF(*.gif)”。

7.设置IE浏览器的收藏夹,增加新的收藏夹,命名为:“djks”.
IE⾼级选项
以下选项到IE→⼯具→Internet选项→⾼级中查找。

1.设置IE浏览器,使得浏览internet⽹页时不播放视频
2.设置IE浏览器,使得浏览internet⽹页时显⽰每个脚本错误通知
3.设置IE浏览器,使得浏览internet⽹页时允许脚本调试。

4.设置IE浏览器,使主页地址为“/doc/de87ce05a1c7aa00b42acbc6.html ”
Outlook主要内容:
1.删除Outlook Express中已有的邮件帐号,新建⼀个邮件帐户,并⽤此帐户接受邮件。

要求:邮件地址:
xxx@/doc/de87ce05a1c7aa00b42acbc6.html ,其中“xxx”为准考证号,⽤准考证号作为显⽰姓名,⼝令:hzcnn,POP3和SMTP服务器地址都为/doc/de87ce05a1c7aa00b42acbc6.html 。

2.⽤第1题中已经设置好的邮件帐号给地址hzjee@/doc/de87ce05a1c7aa00b42acbc6.html 发送⼀封邮件,要求主题“浙江省计算机等级考试”,内容为准考证号和姓名(准考证号和姓名间不能加空格)3.设置Outlook Express的选项,使得“⽴即发送邮件”
6.设置Outlook Express的选项,使得“每隔10分钟检查⼀次新邮件”
Excel 操作题
不要拘泥于具体数据表,关键是掌握有关的操作,没有现成表格可以⾃建。

题⽬:
要求:(主要掌握数据的编辑、⾏列的插⼊、删除,表格复制、数据格式设置,数据排序,求和、平均、最⼤、最⼩等计算,分类等统计,饼图等图表⽣成)
在当前考⽣⽂件夹下,已有Excel ⽂件存在,内容如上表,按下列要求操作,结果保存。

插⼊⼯作表Sheet2和sheet3,并将Sheet1复制到Sheet2中 1. 在Sheet2的D 列前增加⼀列:“物理,61,77,75,80,68,92,81,72,81”。

2.
在Sheet2的最后⼀列和最后⼀⾏分别增加平均成绩,并求出各位同学和各个科⽬的平
均成绩。

以及各课程的最低最⾼分。

3. 将Sheet2复制到Sheet3中,并对Sheet2按平均成绩降序排列(各个科⽬的平均成绩不
参加排序)。

4. ⽤函数统计《英语》课程的不及格⼈数并填写在F15单元格;⽤函数统计《⾼等数学》
课程的优秀成绩之和(以达到90为优秀成绩)并填写在C15单元格。

5. 对Sheet3设置⾃动套⽤格式为“简单”格式,增加标题⾏“学⽣成绩表”跨列居中
6. 对Sheet3中的英语成绩每⼈加10%
7. 对Sheet3分别以不同的学⽣和科⽬做饼图和柱图等图表(例如:下图所⽰) 8.如何加⼈民币符号
PowerPoint 主要操作
多做考试环境中的练习题,主要掌握有关类型操作,重要操作题型:设置幻灯⽚的版式,如“标题幻灯⽚”、“项⽬清单”等设置幻灯⽚模板为“Notebook ”等
设置幻灯⽚的页眉页脚,如将页眉设为“浙江学院”,页脚设为“⼆级考试”等设置幻灯⽚的标题字体,如“楷体”等
设置幻灯⽚的背景纹理,如“信纸”等各种背景
设置幻灯⽚的⽂本动画,如“从上部飞⼊”等各类动画设置幻灯⽚的切换效果,如“随机⽔平线条”,速度为默认等
为⽂字或图⽚设置超连接,如:/doc/de87ce05a1c7aa00b42acbc6.html
插⼊⽂本框并设置⽂本框的内容
增加或删除项⽬符号
添加动作按钮
为幻灯⽚添加编号、插⼊艺术字
第⼆部分4套考试试卷
2011年上半年浙江省⾼等学校计算机等级考试
⼆级C程序设计试卷
⼀、程序阅读与填空(24⼩题,每⼩题3分,共72分)
1. 阅读下列程序说明和程序,在每⼩题提供的若⼲可选答案中,挑选⼀个正确答案。

【程序说明】
int i, n ;
double denominator, numerator, sum,temp;
scanf("%d",&n);
numerator = 1 ;
denominator = 2;
sum = 0 ;
for( i =1;____(1) ; i++ ) {
sum = sum + ____(2) ;
temp = denominator;
____(3) ;
____(4) ;
}
printf("sum = %.2f\n", sum);
}
【供选择的答案】
(1) A. i <= n B. i < n
C. i >= n
D. i > n
(2) A. denominator/ numerator B. numerator/ denominator
C. denominator
D. numerator
(3) A. numerator = numerator + denominator
B. denominator = numerator
C. denominator = numerator + denominator
D. numerator = temp
(4) A. denominator = temp B. denominator = numerator
C. numerator = denominator
D. numerator = temp
2. 阅读下列程序说明和程序,在每⼩题提供的若⼲可选答案中,挑选⼀个正确答案。

【程序说明】
int i; int is(int m, int digit);
for(i = 150; i <= 200; i++)
if( (5) _ )
printf("%d ",i);
}
int is(int n, int digit)
{ int count = 0;
do{
if( (6) _ ) count++;
n = n / 10;
}while ( __ (7) ) ;
if( (8)_ ) return 1;
else return 0;
}
【供选择的答案】
(5) A. !is(n, digit) B. is(i, 9) == 0
C. is(n, 9)!= 0
D. is(i, 9) != 0
(6) A. n % 10 == 9 B. n == digit
C. n % 10 == digit
D. n / 10 == digit
(7) A. n / 10 != 0 B. n != 0
C. n % 10 != 0
D. n == 0
(8) A. count == 1 B. count != 1
C. count != 0
D. count == 0
3. 阅读下列程序说明和程序,在每⼩题提供的若⼲可选答案中,挑选⼀个正确答案。

【程序说明】
输⼊⼀个以回车结束的字符串(少于10个字符),将其中的数字字符转换为整数后输出。

要求定义和调⽤函数atoi(s),该函数将字符串s转换为整数。

The integer: 123
【程序】
#include
int atoi(char *s)
{ int i, sum = 0;
for( i=0; (9) ; i++)
if( s[i] >= '0' && s[i] <= '9')
(10) ;
return sum;
}
main()
{ int i = 0, char s[80];
printf("Enter a string:");
while( (s[i] = getchar()) != '\n')
i++;
(11) ;
printf("The integer: %d\n", (12) );
}
【供选择的答案】
(9) A. s[i] != '\0' B. s[i] = '\0'
C. i < n
D. sum != 0
(10) A. sum = sum * 10 + (s[i] - '0')
B. sum = sum + s[i]
C. sum = sum * 10 + s[i]
D. sum = sum + s[i] - '0'
(11) A. s[i] != '\0' B. s[i] = '\0'
C. ;
D. i--
(12) A. sum B. atoi(s)
C. atoi(char *s)
D. atoi(*s)
4. 阅读程序并回答问题,在每⼩题提供的若⼲可选答案中,挑选⼀个正确答案。

【程序】
{ int x;
return x = 7%4;
}
void f2(int n)
{ for(; n >= 1; n--)
printf("%2d", n%3);
printf("\n");
}
double f3(int n)
{ if(n == 1) return 1.0;
else return n + f3(n-1);
}
main()
{
printf("%d %d\n",T(5),T(1));
printf("%.1f\n",f1());
f2(4);
printf("%.1f\n",f3(3));
}
【问题】
(13) 程序运⾏时,第1⾏输出 (13) .
A. 1 0
B. 0 0
C. 0 1
D. 1 1
(14) 程序运⾏时,第2⾏输出 (14) .
A. 1.0
B. 1
C. 3.0
D. 3
(15) 程序运⾏时,第3⾏输出 (15) .
A. 0 2 1 0
(16) 程序运⾏时,第4⾏输出 (16) .
A. 1.0
B. 10.0
C. 3.0
D. 6.0
5. 阅读下列程序并回答问题,在每⼩题提供的若⼲可选答案中,挑选⼀个正确答案。

【程序】程序1
#include
main()
{
int i, j, n = 5;
for(i = 2; i <= n; i++){
for(j = 1; j <= i; j++)
printf("%d", i);
printf("\n");
}
}
程序2
#include
main()
{ char str[80];
int i;
gets(str);
for(i = 0; str[i] != '\0'; i++)
if(str[i] >= 'A' && str[i] <= 'Z')
str[i] = 'a' + 'Z' - str[i];
puts(str);
}
【问题】
(17) 程序1运⾏时,第1⾏输出 (17) .
A. 1
B. 4 4 4 4
(18) 程序1运⾏时,第2⾏输出 (18) .
A. 1
B. 4 4 4 4
C. 2 2
D. 3 3 3 (19) 程序2运⾏时,输⼊YEAR,输出 (19) .
A. year
B. BUZI
C. bvzi
D. YEAR (20) 程序2运⾏时,输⼊FLAG,输出 (20) .
A. flag
B. UOZT
C. FLAG
D. uozt
6. 阅读下列程序说明和程序,在每⼩题提供的若⼲可选答案中,挑选⼀个正确答案。

【程序】
#include main() {
int i,j;
char *s[4] = {"apple","fruit","berry","orange"}; for(i = 0; i < 4; i++){
for(j = 1; j <= i ; j++) printf("%s\n",s[i] + j); }
【供选择的答案】
(21) 程序运⾏时,第1⾏输出_________。

A. apple
B. ruit
C. fruit
D. pple (22) 程序运⾏时,第2⾏输出_________。

A. rry
B. erry
C. ruit
D. uit (23) 程序运⾏时,第3⾏输出_________。

A. rry B. ange C. uit D. ple (24) 程序运⾏时,第4⾏输出_________。

A. range B. gee
C. ry
D. ange
⼆、程序编写(每⼩题14分,共28分) 1.输⼊100个整数,将它们存⼊数组a ,再输⼊⼀个整数x ,统计并输出数组a 中不⼩于x 的元素个数。

2. 按下⾯要求编写程序:
)
12(**)1(*15*4*313*211-+++++
=n n n s 2011年下半年浙江省⾼等学校计算机等级考试
⼆级C 程序设计试卷
说明:⑴请将所有试题的答案填写在答卷上。

其中试题⼀到试题六请在答卷上的各⼩题选项的对应位置上填“√”。

⑵请将你的准考证号的后五位填写在答卷右下⾓的指定位置内;
⑶满分100分;考试时间为90分钟。

⼀、程序阅读与填空(24⼩题,每⼩题3分,共72分)
1.阅读下列程序说明和程序,在每⼩题提供的若⼲可选答案中,挑选⼀个正确答案。

【程序说明】
输⼊⼀批整数(以零或负数为结束标志),求奇数和。

运⾏⽰例:
Enter integers: 9 3 6 10 31 -1
Sum = 43
【程序】
#include
main( )
{ int x, odd;
printf("Enter integers:");
odd = 0;
scanf("%d",&x);
while ( (1) )
{ if( (2) ) odd = odd + x;
(3) ;
}
printf("Sum =%d ", (4) );
}
【供选择的答案】
(1) A. x > 0 B. x >= 0
C. x != 0
D. x <= 0
(2) A. x%2 != 0 B. x%2 == 0
(3) A. scanf("%d",&x) B. scanf("%d",x)
C. x != 0
D. x = odd
(4) A. sum B. odd
C. x
D. integers
2.阅读下列程序说明和程序,在每⼩题提供的若⼲可选答案中,挑选⼀个正确答案。

【程序说明】
输⼊⼀个正整数n ,找出其中最⼩的数字,⽤该数字组成⼀个新数,新数的位数与原数相同。

运⾏⽰例:
Enter an integer: 2187
The new integer: 1111
【程序】
#include
main( )
{
int count = 0, i, min_dig, n, new = 0;
min_dig = (5) ;
printf("Enter an integer:");
scanf("%d",&n);
do{
if( n%10 < min_dig) min_dig = n%10;
(6) ;
count++;
} while(n != 0 );
for( i = 0; (7) ; i++)
new = (8) ;
printf("The new integer: %d\n",new);
}
【供选择的答案】
(5) A. 0 B. 1;
C. 9
D. -1;
(6) A. n = min_dig B. n = n%10
C. n--
D. n = n/10
(7) A. i <= count B. i < n
C. i < new
D. i < count
(8) A. new + min_dig B. new + min_dig * 10
C. new *10 + min_dig
D. min_dig
3.阅读下列程序说明和程序,在每⼩题提供的若⼲可选答案中,挑选⼀个正确答案。

【程序说明】
输⼊⼀个以回车结束的字符串(少于80个字符),判断该字符串中是否包含"Hello"。

要求定义并调⽤函数in(s, t ),该函数判断字符串s中是否包含字符串t ,若满⾜条件则返回 1 ,否则返回 0 。

运⾏⽰例:
Enter a string: Hello world!
"Hello world!" includes "Hello"
【程序】
#include
int in(char *s,char *t)
{ int i, j, k;
for(i = 0; s[i] !=’\0’; i++)
{ (9) ;
if(s[i] == t[j])
{ for( k = i ; t[j] !=’\0’; k++, j++)
if( (10) )break;
if(t[j] ==’\0’) (11) ;
}
}
return 0;
}
main( )
{ char s[80];
printf("Enter a string:");
gets(s);
if( (12) )
printf("\"%s\" includes \"Hello \"\n", s);
else
printf("\"%s\" doesn’t includes \"Hello \"\n", s);
}
【供选择的答案】
(9) A. j = i B. j = 0;
C. i = j
D. ;
(10) A. s[k] != t[j] B. s[k] == t[j]
C. s[i] == t[k]
D. s[i] != t[j]
(11) A. break B. return 1
C. continue
D. return 0
(12) A. in(char *s, char *t) B. in(s, "Hello")
C. in(*s, *t)
D. in(s, t)
4. 阅读下列程序并回答问题,在每⼩题提供的若⼲可选答案中,挑选⼀个正确答案。

【程序】
#include
#define T(a, b) ((a) != (b)) ? ((a) > (b) ? 1 : -1) : 0
int f1()
{ int x = -10;
return !x == 10 == 0 ==1;
}
viod f2(int n)
{ int s = 0;
while(n--)
s += n;
printf("%d %d\n", n, s);
}
double f3(int n)
{ if(n == 1)return 1.0;
else return n * f3(n-1);
}
main( )
{ printf("%d %d %d\n", T(4, 5), T(10, 10), T(5, 4));
printf("%d\n", f1());
f2(4);
printf("%.1f\n", f3(5));
}
【问题】
(13) 程序运⾏时,第1⾏输出(13) 。

A. 0 1 -1
B. 1 -1 0
C. 1 0 -1
D. -1 0 1
(14) 程序运⾏时,第2⾏输出 (14) 。

A. 10
B. -10
C. 0
D. 1
(15) 程序运⾏时,第3⾏输出(15) 。

A. 0 10
B. -1 10
C. -1 6
D. 0 6
(16) 程序运⾏时,第4⾏输出 (16) 。

A. 1.0
B. 24.0
C. 120.0
D. 6.0
5.阅读下列程序并回答问题,在每⼩题提供的若⼲可选答案中,挑选⼀个正确答案。

【程序】
程序1
#include
main()
{ int i, j, n =4;
for(i =1; i < n; i++)
{ for(j =1; j <= 2*(n-i)-1; j++)
putchar(’*’);
putchar(’\n’);
}
}
程序2
#include
main()
{ char str[80];
int i;
gets(str);
for(i =0; str[i] != ’\0’; i++)
if(str[i] <= ’9’ && str[i] >= ’0’)
str[i] = ’z’ - str[i] + ’0’;
puts(str);
}
【问题】
(17) 程序1运⾏时,第1⾏输出(17) 。

A. **
B. ****
C. ***
D. *****
(18) 程序1运⾏时,第2⾏输出(18) 。

A. **
B. ****
C. ***
D. *****
(19) 程序2运⾏时,输⼊ 135,输出(19) 。

A. bdf
B. ywu
C. 864
D. 135
(20) 程序2运⾏时,输⼊ 086,输出(20) 。

A. zrt
B. aig
C. 913
D. 086
6.阅读下列程序并回答问题,在每⼩题提供的若⼲可选答案中,挑选⼀个正确答案。

#include main( ) { int i,j;
char *s[4] ={"continue","break","do-while","point"}; for(i = 3; i >= 0; i--) for(j = 3; j > i; j--) printf("%s\n", s[i] + j);
} 【问题】
(21) 程序运⾏时,第1⾏输出 (21) 。

A. tinue B. ak
C. nt
D. while
(22) 程序运⾏时,第2⾏输出 (22) 。

A. uer
B. le
C. ak
D. nt
(23) 程序运⾏时,第3⾏输出 (23) 。

A. ile
B. eak
C. int
D. nue
(24) 程序运⾏时,第4⾏输出 (24) 。

A. tinue
B. break
C. while n
D. point
⼆、程序编写(每⼩题14分,共28分)
1.输⼊100个学⽣的计算机成绩,统计不及格(⼩于 60 分)学⽣的⼈数。

2. 按下⾯要求编写程序:
(1)定义函数f (n )计算n+(n+1)+...+(2n – 1),函数返回值类型是double 。

(2)定义函数main (),输⼊正整数n ,计算并输出下列算式的值。

要求调⽤f (n ),计算n+(n+1)+...+(2n – 1)。

)
12()1(154313211-+++++++++++
=n n n s 2012年下半年浙江省⾼等学校计算机等级考试
⼆级C 程序设计试卷
⼀、程序阅读与填空(24⼩题,每题3分,共72分)
1.阅读下列程序说明和程序,在每⼩题提供的若⼲可选答案中,挑选⼀个正确答案。

【程序说明】
输⼊⼀个正整数n ,再输⼊n 个整数,判断他们是否按从⼤到⼩的次序排列。

运⾏⽰例: Enter n: 6
Enter 6 integers: 1 3 6 40 12 50 Sorted: No Enter n: 5
Enter 5 integers: 10 8 7 3 1 Sorted: Yes
{
int cur, i, n, pre;
printf("Enter n:");
scanf("%d", &n);
(1)
scanf("%d", &pre);
for(i = 1; i < n; i++){
(2)
if(cur > pre) (3) ;
(4)
}
if(i >= n) printf("Sorted: Yes\n");
else printf("Sorted: No\n");
}
【供选择的答案】
(1) A. printf("Enter integers:", n);
B. printf("Enter 6 integers:");
C. printf("Enter %d integers:");
D. printf("Enter %d integers:", n);
(2) A. scanf("%d", &pre); B. ;
C. scanf("%d", &cur);
D. scanf("%d", &n);
(3) A. cur = n B. break
C. pre = n
D. continue
(4) A. pre = cur; B. cur = 0;
C. cur = pre;
D. pre = 0;
2.阅读下列程序说明和程序,在每⼩题提供的若⼲可选答案中,挑选⼀个正确答案。

【程序说明】
输出10到99之间各位数字之和为12的所有整数。

要求定义和调⽤函数sumdigit(n),计算整数n的各位数字之和运⾏⽰例:
39 48 57 66 75 84 93
main()
{
int i;
int sumdigit(int n);
for(i = 10; i <= 99; i++)
if( (5) )
printf("%d ", i);
printf("\n");
}
int sumdigit(int n)
{
int sum;
(6)
do{
(7)
(8)
}while(n != 0);
return sum;
}
【供选择的答案】
(5) A. sumdigit(i) == 12 B. sumdigit(i) == i
C. sumdigit(n) == n
D. sumdigit(n) == 12
(6) A. sum = sum; B. sum = 0;
C. ;
D. sum = n;
(7) A. sum = 0; B. sum = sum + n;
C. sum = sum + n % 10;
D. sum = sum + n / 10;
(8) A. n = n * 10; B. n = n % 10;
C. n = n - 10;
D. n = n / 10;
3.阅读下列程序说明和程序,在每⼩题提供的若⼲可选答案中,挑选⼀个正确答案。

【程序说明】
输⼊⼀个字符串(少于80个字符),将其两端分别加上括号后组成⼀个新字符串。

要求定义和调⽤函数cat(s,t),该函数将字符串t连接到字符串s。

运⾏⽰例:
Enter a string: hello
After: (hello)
【程序】
#include
void cat(char *s, char *t)
{
int i, j;
i = 0;
while(s[i] != '\0')
i++;
(9) _
while(t[j] != '\0'){
(10)
j++;
}
(11)
}
main()
{
char s[80] = "(", t[80];
printf("Enter a string:");
gets(t);
(12)
cat(s,")");
printf("After:");
puts(s);
}
【供选择的答案】
(9) A. j = 0; B. s[j] = '\0';
C. i--; j = 0;
D. j = i;
(10) A. s[i] = t[j]; B. t[j] = s[i];
C. s[i+j] = t[j];
D. t[i] = s[j];
(11) A. t[j] = '\0'; B. s[i+j] = '\0';
C. s[j] = '\0';
D. t[i] = '\0';
(12) A. cat("(",t); B. cat(t, s);
C. cat("(", t, ")");
D. cat(s, t);
4. 阅读程序并回答问题,在每⼩题提供的若⼲可选答案中,挑选⼀个正确答案。

【程序】#include
void f1(int n)
{
while(n--)
printf("%d ", n);
printf("%d\n", n);
}
int f2(int n)
{
if(n <= 2) return 1;
else return f2(n - 1) + f2(n - 2);
}
main()
{
int a = 4;
printf("%d %d\n", a != a, a && 10);
printf("%d %d\n", -(-a^a),a|1);
f1(3);
printf("%d %d\n", f2(4), f2(5));
}
【问题】
(13) 程序运⾏时,第1⾏输出 (13) 。

A. 0 1
B. 1 0
C. 0 4
D. 1 10
(14) 程序运⾏时,第2⾏输出 (14) 。

A. 1 4
B. 0 5
C. 0 4
D. 0 1
(15) 程序运⾏时,第3⾏输出 (15) 。

A. 3 2 1 0
B. 3 1
C. 2 1 0 -1
D. 2 1 0
(16) 程序运⾏时,第4⾏输出 (16) 。

A. 3 4
B. 2 3
C. 5 8
D. 3 5
5. 阅读下列程序并回答问题,在每⼩题提供的若⼲可选答案中,挑选⼀个正确答案。

【程序】程序1
#include "stdio.h"
main()
{
int i, j, n = 4;
for(i = 1; i < n; i++){
for(j = 1; j <= i; j++)
putchar('*');
putchar('\n');
}
}
程序2
#include
int f(int n)
{
static int k = 1;
k++;
return 2*n + k;
}
{
printf("%d\n", f(4));
printf("%d\n", f(f(4)));
}
【问题】
(17) 程序1运⾏时,第1⾏输出 (17) 。

A. *****
B. ****
C. **
D. *
(18) 程序1运⾏时,第2⾏输出 (18) 。

A. *****
B. ****
C. **
D. *
(19) 程序2运⾏时,第1⾏输出 (19) 。

A. 26
B. 10
C. 22
D. 6
(20) 程序2运⾏时,第2⾏输出 (20) 。

A. 26
B. 7
C. 22
D. 6
6. 阅读下列程序并回答问题,在每⼩题提供的若⼲可选答案中,挑选⼀个正确答案。

#include
main()
{
int i, j;
char *s[4] = {"five", "four", "three", "seven"};
for(i = 0; i < 4; i++)
for(j = i; j < 4 - i; j++)
printf("%s\n", s[i] + j);
(21) 程序运⾏时,第1⾏输出 (21) 。

A. three
B. five
C. four
D. seven
(22) 程序运⾏时,第2⾏输出 (22) 。

A. our
B. hree
C. even
D. ive
(23) 程序运⾏时,第3⾏输出 (23) 。

A. ve
B. ree
C. ur
D. ven
(24) 程序运⾏时,第4⾏输出 (24) 。

A. n
B. r
C. e
D. en
⼆、程序编写(每题14分,共28分)
1.输⼊⼀个正整数n(1≤n≤6),再输⼊⼀个n⾏n列的矩阵,统计并输出该矩阵中⾮零元素的数量。

2. 按下⾯要求编写程序:
(1)定义函数power( x, n )计算x 的n 次幂(即x n ),函数返回值类型是double。

(2)定义函数main( ),输⼊正整数n,计算并输出下列算式的值。

要求调⽤函数power(x, n)计算 x 的 n 次幂。

23
s=++++
222...2n
2013年上半年浙江省⾼等学校计算机等级考试
⼆级C程序设计试卷
⼀、程序阅读与填空(24⼩题,每题3分,共72分)
1.阅读下列程序说明和程序,在每⼩题提供的若⼲可选答案中,挑选⼀个正确答案。

【程序说明】
输⼊⼀个正整数n,计算1! + 2! + 3! + … + n!。

1!+...+3! = 9
Enter n: 5
1!+...+5! = 153
#include
main()
{
int i,n;
double fact, sum;
printf("Enter n:");
scanf("%d",&n);
(1) ;
for(i=1; (2) ;i++){
(3) ;
sum = sum + fact;
}
printf("1!+...+ (4) =%.0f\n",n,sum);
}
【供选择的答案】
(1) A. sum = 0 B. fact = 0, sum = 0
C. fact = n
D. fact = 1, sum = 0
(2) A. i < n B. i <= 100
C. i <= n
D. i > 0
(3) A. fact = fact * n B. fact = 1
C. fact = sum * i
D. fact = fact * i
(4) A. %d! B. %f!
C. %d
D. 5!
2. 阅读下列程序说明和程序,在每⼩题提供的若⼲可选答案中,挑选⼀个正确答案。

【程序说明】输⼊⼀个正整数n(1
运⾏⽰例:
Enter 9 integers: 3 5 8 1 22 89 0 -1 7 After sorted: -1 0 1 3 5 7 8 22 89【程序】
#include
main()
{
int i, index, k, n, temp, a[10];
printf("Enter n:");
scanf("%d",&n);
printf("Enter %d integers:", (5) );
for(i=0;i
scanf("%d",&a[i]);
for(k=0;k
(6) ;。

相关文档
最新文档