【计算机类职业资格】二级C语言机试90及答案解析.doc

上传人:priceawful190 文档编号:1325892 上传时间:2019-10-17 格式:DOC 页数:2 大小:30.50KB
下载 相关 举报
【计算机类职业资格】二级C语言机试90及答案解析.doc_第1页
第1页 / 共2页
【计算机类职业资格】二级C语言机试90及答案解析.doc_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

1、二级 C语言机试 90及答案解析(总分:100.00,做题时间:90 分钟)一、B填空题/B(总题数:1,分数:30.00)1.请补充 main函数,该函数的功能是:输出一个 NN矩阵,要求非对角线上的元素赋值为 0,对角线元素赋值为 1。 注意:部分源程序给出如下。 请勿改动主函数 main和其他函数中的任何内容,仅在 main函数的横线上填入所编写的若干表达式或语句。 试题程序: #includestdio. h #define N 10 main ( ) int bbN N; int i, j,n; clrscr (); printf (“ /nInput n:/n“); scanf (

2、“%d“, for (i=0; in; i+) for (j=0; jn; j+) U 【1】 /U; if (i=j) bbi j=U 【2】 /U; if (U 【3】 /U) bbi j=1; printf(“ /n* the result * /n“); for (i=0; in; i+) printf (“ /n/n“); for (j=0; jn; j+) printf (“%4d“,bb i j ); (分数:30.00)填空项 1:_二、B改错题/B(总题数:1,分数:30.00)2.下列给定程序中,函数 fun()的功能是:求 k!(k13),所有阶乘的值作为函数值返回。例如

3、:若k=10,则应输出 3628800。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动 main函数,不得增行或删行,也不得更 改程序的结构。 试题程序: #include conio.h #include stdio.h long fun(int k) /*found*/ if k0 return (k* fun (k-l); /*found*/ else if (k=0) return 1; main ( ) int k=10; clrscr (); print, (“%d!=%1d/n “, k, fun (k); (分数:30.00)填空项 1:_三、B编程题/B(总题数

4、:1,分数:40.00)3.请编写函数 fun(),该函数的功能是:统计一行字符串中单词的个数,作为函数值返回。一行字符串在主函数中输入,规定所有单词由小写字母组成,单词之间有若干个空格隔开,一行的开始没有空格。 注意:部分源程序给出如下。 请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun的花括号中填入所编写的若干语句。 试题程序: #includestring. h # includestdio, h #define N 80 int fun (char *s) main ( ) char line N; int num=0; printf (“Enter a string:

5、 /n “); gets (line); num=fun (line); printf (“The number of word is: %d/n/n “, num); (分数:40.00)_二级 C语言机试 90答案解析(总分:100.00,做题时间:90 分钟)一、B填空题/B(总题数:1,分数:30.00)1.请补充 main函数,该函数的功能是:输出一个 NN矩阵,要求非对角线上的元素赋值为 0,对角线元素赋值为 1。 注意:部分源程序给出如下。 请勿改动主函数 main和其他函数中的任何内容,仅在 main函数的横线上填入所编写的若干表达式或语句。 试题程序: #includestd

6、io. h #define N 10 main ( ) int bbN N; int i, j,n; clrscr (); printf (“ /nInput n:/n“); scanf (“%d“, for (i=0; in; i+) for (j=0; jn; j+) U 【1】 /U; if (i=j) bbi j=U 【2】 /U; if (U 【3】 /U) bbi j=1; printf(“ /n* the result * /n“); for (i=0; in; i+) printf (“ /n/n“); for (j=0; jn; j+) printf (“%4d“,bb i

7、j ); (分数:30.00)填空项 1:_ (正确答案:bbij=0 (2)1 (3)j=n-1-i)解析:解析 填空 1:本题的解题思路是先将所有元素都置 0,然后再将对角线上的元素置 1。所以此空是先将当前元素置 0。 填空 2:如果当前元素的下标 i和 j相等,则此元素是主对角线元素,要将它赋值为 1。填空 2:如果当前元素的下标 i和 j满足关 j=n-1-i,则此元素也是对角线元素,也要将它赋值为 1。二、B改错题/B(总题数:1,分数:30.00)2.下列给定程序中,函数 fun()的功能是:求 k!(k13),所有阶乘的值作为函数值返回。例如:若k=10,则应输出 362880

8、0。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动 main函数,不得增行或删行,也不得更 改程序的结构。 试题程序: #include conio.h #include stdio.h long fun(int k) /*found*/ if k0 return (k* fun (k-l); /*found*/ else if (k=0) return 1; main ( ) int k=10; clrscr (); print, (“%d!=%1d/n “, k, fun (k); (分数:30.00)填空项 1:_ (正确答案:错误:if k0 正确:if(k0))解析:(

9、2)错误:else if(k=O) 正确:else if(k=O) 解析 由数学知识我们可以知道,0 和 1的阶乘都等于 1,if kO 中是一个简单的语法错误,if 后面没有“()”说明,在 else if(k=0)中,程序想说明的是“如果 k值为 0,则函数返回 1”,转换成 c语言语句就是“else if(k=0) return 1”。三、B编程题/B(总题数:1,分数:40.00)3.请编写函数 fun(),该函数的功能是:统计一行字符串中单词的个数,作为函数值返回。一行字符串在主函数中输入,规定所有单词由小写字母组成,单词之间有若干个空格隔开,一行的开始没有空格。 注意:部分源程序给

10、出如下。 请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun的花括号中填入所编写的若干语句。 试题程序: #includestring. h # includestdio, h #define N 80 int fun (char *s) main ( ) char line N; int num=0; printf (“Enter a string: /n “); gets (line); num=fun (line); printf (“The number of word is: %d/n/n “, num); (分数:40.00)_正确答案:()解析:int fun(char *s) int i, j=0; for (i=0;s i!=/0 ;i+) if(si != return j; /*返回单词个数*/ 解析 判断单词的个数,我们首先想到的是程序怎样识别是一个单词,也即循环语句中的 fir(i=0;si!=“/0“;i+),本题重点是 if句中的条件表达方式。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1