2018年9月计算机二级C语言考试章节习题及答案(8)

合集下载

2018计算机二级C语言考试真题汇总

2018计算机二级C语言考试真题汇总

模拟卷 11[ 填空题]下列给定程序中,函数 fun 的功能是:在形参 S 所指字符串中寻找与参数 C相同的字符,并在其后插入一个与之相同的字符,若找不到相同的字符则不做任何处理。

例如,若 s 所指字符串为“ baacda”, c 中的字符为 a,执行后 S 所指字符串为“ baaaacdaa ”。

请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。

注意:部分源程序给出如下。

不得增行或删行,也不得更改程序的结构!试题程序:参考解析:【参考答案】【解题思路】填空 1:for语句循环条件是判断是否到达字符串结尾,即当前字符是否为‘\0 ’。

填空 2:while语句用以确定字符串的长度,所以变量n 赋初值为 0。

填空 3:题目要求如果找到与参数 c 相同的字符,就在后面插入一个相同的字符,且找到后应该给数组元素赋值,本题目给出参数为 c。

二、程序修改题2[ 简答题]下列给定程序中函数 fun 的功能是:逐个比较 p、q 所指两个字符串对应位置上的字符,并把 ASCII 值大或相等的字符依次存放到 c 所指的数组中,形成一个新的字符串。

例如,若主函数中 a 字符串为“aBCDeFgH”,b 字符串为 "Abcd" ,则 c 中的字符串应为“aBcdeFgH”。

请改正程序中的错误,使它能得出正确的结果。

注意:部分源程序在文件MODl1.C中,不得增行或删行,也不得更改程序的结构!参考解析:【参考答案】(1)int k=0;(2)while(*p||*q)【考点分析】本题考查:变量初始化,需根据题意确定变量含义,然后对其进行初始化操作;while循环语句。

【解题思路】(1) 变量 k 存放数组 e 的下标,因此应初始化为0。

(2)while循环语句的循环条件是判断两个字符串是否到达结尾。

三.程序设计题3[ 简答题]规定输入的字符串中只包含字母和* 号。

请编写函数fun ,其功能是:将字符串尾部的* 号全部删除,前面和中间的 * 号不动。

《全国计算机等级考试二级教程——C语言程序设计》课后题及参考答案

《全国计算机等级考试二级教程——C语言程序设计》课后题及参考答案

本文由皓月90贡献 doc文档可能在WAP端浏览体验不佳。

建议您优先选择TXT,或下载源文件到本机查看。

《全国计算机等级考试二级教程——C 语言程序设计》课后题及参考答案 目 录 第一章、第二章、第三章、第四章、第五章、第六章、第七章、第八章、第九章、 第十章、第十一章、第十二章、第十三章、第十四章、第十五章、第十六章 第一章 程序设计基本概念 1.1 在 TRUBO C 环境中用 RUN 命令运行一个 C 程序时,所运行的程序的后缀是。

 答案:.exe 1.2 C 语言源程序文件的后缀是,经过编译后,生成文件的后缀是,经过连接后, 生成文件的后缀是。

 答案:.c .obj .exe 1.3 结构化程序由、、三种基本结构组成。

 答案:顺序、选择、循环 第二章 C 程序设计的初步知识 一、选择题 2.1 以下选项中正确的整型常量是 A)12. B)-20 C)1,000 D)4 5 6 答案:B 2.2 以下选项中正确的实型常量是 A)0 B)3. 1415 C)0.329×10(2)(10 的 2 次方) D).871 答案:D 2.3 以下选项中不正确的实型常量是 A)2.607E-1 B)0.8103e 2 C)-77.77 D)456e-2 答案:B 2.4 以下选项中不合法的用户标识符是 A)abc.c B)file C)Main D)PRINTF 答案:A 2.5 以下选项中不合法的用户标识符是 A)_123 B)printf C)A¥ D)Dim 答案:C 2.6 C 语言中运算对象必需是整型的运算符是 A)% B)/ C)! D)** 答案:A 2.7 可在 C 程序中用作用户标识符的一组标识符是 A)void define WORD B)as_b3 _123 If C)For -abc case D)2c DO SIG 答案:B 2.8 若变量已正确定义并赋值,符合 C 语言语法的表达式是 A)a=a+7; B)a=7+b+c,a++ C)int(12.3%4) D)a=a+7=c+b 答案:B 2.9 以下叙述中正确的是 A)a 是实型变量,C 允许进行以下赋值 a=10,因此可以这样说:实型变量中允许存放整 型值。

2018计算机二级C语言考试真题汇总(本站推荐)

2018计算机二级C语言考试真题汇总(本站推荐)

2018计算机二级C语言考试真题汇总(本站推荐)第一篇:2018计算机二级C语言考试真题汇总(本站推荐)模拟卷1 1 [填空题]下列给定程序中,函数fun的功能是:在形参S所指字符串中寻找与参数C相同的字符,并在其后插入一个与之相同的字符,若找不到相同的字符则不做任何处理。

例如,若s所指字符串为“baacda”,c中的字符为a,执行后S 所指字符串为“baaaacdaa”。

请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。

注意:部分源程序给出如下。

不得增行或删行,也不得更改程序的结构!试题程序:参考解析:【参考答案】【解题思路】填空1:for语句循环条件是判断是否到达字符串结尾,即当前字符是否为‘’。

填空2:while语句用以确定字符串的长度,所以变量n赋初值为0。

填空3:题目要求如果找到与参数c相同的字符,就在后面插入一个相同的字符,且找到后应该给数组元素赋值,本题目给出参数为c。

二、程序修改题[简答题]下列给定程序中函数fun的功能是:逐个比较p、q所指两个字符串对应位置上的字符,并把ASCII值大或相等的字符依次存放到c所指的数组中,形成一个新的字符串。

例如,若主函数中a字符串为“aBCDeFgH”,b字符串为“Abcd”,则c中的字符串应为“aBcdeFgH”。

请改正程序中的错误,使它能得出正确的结果。

注意:部分源程序在文件MODl1.C中,不得增行或删行,也不得更改程序的结构!参考解析:【参考答案】(1)int k=0;(2)while(*p||*q)【考点分析】本题考查:变量初始化,需根据题意确定变量含义,然后对其进行初始化操作;while循环语句。

【解题思路】(1)变量k存放数组e的下标,因此应初始化为0。

(2)while循环语句的循环条件是判断两个字符串是否到达结尾。

三.程序设计题[简答题]规定输入的字符串中只包含字母和*号。

请编写函数fun,其功能是:将字符串尾部的*号全部删除,前面和中间的*号不动。

全国计算机二级《C语言》考试题库与答案

全国计算机二级《C语言》考试题库与答案

全国计算机二级《C语言》考试题库与答案全国计算机二级《C语言》考试题库与答案在学习、工作中,我们都离不开试题,借助试题可以检验考试者是否已经具备获得某种资格的基本能力。

什么样的试题才能有效帮助到我们呢?以下是店铺为大家收集的全国计算机二级《C语言》考试题库与答案,欢迎大家分享。

全国计算机二级《C语言》考试题库与答案篇1(1)下列关于栈叙述正确的是( )。

A.栈顶元素最先能被删除B.栈顶元素最后才能被删除C.栈底元素永远不能被删除D.栈底元素最先被删除(2)下列叙述中正确的是( )。

A.在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B.在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D.以上说法都不正确某二叉树共有7个结点,其中叶子结点只有l个,则该二叉树的深度为(假设根结点在第1层)( )。

A.3B.4C.6D.7软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。

下面属于应用软件的是( ):A.学生成绩管理系统B.c语言编译程序C.UNIX操作系统D.数据库管理系统(5)结构化程序所要求的基本结构不包括( )。

A.顺序结构B.GOT0跳转C.选择(分支)结构D.重复(循环)结构(6)下面描述中错误的是( )。

A.系统总体结构图支持软件系统的详细设计B.软件设计是将软件需求转换为软件表示的过程C.数据结构与数据库设计是软件设计的任务之一D.PAD图是软件详细设计的表示工具(7)负责数据库中查询操作的数据库语言是( )。

A.数据定义语言B.数据管理语言C.数据操纵语言D.数据控制语言一个教师可讲授多门课程,一门课程可由多个教师讲授。

则实体教师和课程间的联系是( )。

A.1:1联系B.1:m联系C.m:1联系D.m:n联系(9)已知大写字母A的ASCIl码值是65,小写字母a的ASCIl码值是97。

以下不能将变量C中的大写字母转换为对应小写字母的语句是( )。

计算机二级c语言考试题库及答案

计算机二级c语言考试题库及答案

计算机二级c语言考试题库及答案在计算机二级考试的题库中,有哪些与c语言相关的题目呢?下面是店铺给大家整理的计算机二级c语言考试题库及答案,供大家参阅!计算机二级c语言考试题库一、单选题1). 若变量x、y已正确定义并赋值,以下符合C语言语法的表达式是( )A.++x,y=x--B.x+1=yC.x=x+10=x+yD.double(x)/102). 下列叙述中正确的是( )A.一个算法的空间复杂度大,则其时间复杂度也必定大B.一个算法的空间复杂度大,则其时间复杂度必定小C.一个算法的时间复杂度大,则其空间复杂度必定小D.算法的时间复杂度与空间复杂度没有直接关系3). 待排序的关键码序列为(15,20,9,30,67.65,45,90),要按关键码值递增的顺序排序,采取简单选择排序法,第一趟排序后关键码15被放到第( )个位置。

A.2B.3C.4D.54). 以下结构体类型说明和变量定义中正确的是( )A.typedef struct { int n; char c; } REC; REC t1,t2;B.struct REC ; { int n; char c; }; REC t1,t2;C.typedef struct REC; { int n=0; char c=′A′; } t1,t2;D.struct { int n; char c; } REC; REC t1,t2;二、程序填空题函数fun的功能是:输出a所指数组中的前n个数据,要求每行输出5个数。

请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。

注意:源程序存放在考生文件夹下的BLANKl.C中。

不得增行或删行,也不得更改程序的结构!三、程序设计题请编写函数fun,函数的功能是查找X在s所指数组中下标的位置,并作为函数值返回,若x不存在,则返回-l。

注意:部分源程序在文件PROG1.C文件中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

2018二级c考试模拟试题及答案

2018二级c考试模拟试题及答案

2018二级c考试模拟试题及答案在准备2018年二级C语言考试的过程中,模拟试题的练习是必不可少的环节。

以下是一套模拟试题及答案,帮助考生检验自己的学习成果。

1. 以下哪个选项是C语言中的关键字?A. autoB. defineC. includeD. none of the above答案:A2. C语言中,哪个函数用于计算并返回字符串的长度?A. strlen()B. length()C. size()D. none of the above答案:A3. 在C语言中,以下哪个选项是合法的变量名?A. 2variableB. variable2C. variable-nameD. none of the above答案:B4. 如果int a=5; 那么表达式a++的值是多少?A. 5B. 6C. 4D. none of the above答案:A5. C语言中,以下哪个选项是正确的注释方式?A. // This is a commentB. /* This is a comment */C. both A and BD. none of the above答案:C6. 在C语言中,哪个关键字用于定义一个函数?A. functionB. defC. defineD. none of the above答案:D7. 下面哪个选项是C语言中的逻辑运算符?A. &&B. ||C. both A and BD. none of the above答案:C8. 在C语言中,以下哪个选项是正确的数组声明方式?A. int array[5] = {1, 2, 3, 4, 5};B. int array[] = {1, 2, 3, 4, 5};C. both A and BD. none of the above答案:C9. 在C语言中,以下哪个选项是正确的结构体声明方式?A. struct Student { int id; char name[50]; };B. struct { int id; char name[50]; } Student;C. both A and BD. none of the above答案:C10. 在C语言中,哪个函数用于将字符串复制到另一个字符串?A. strcpy()B. strncpy()C. both A and BD. none of the above答案:A11. 在C语言中,以下哪个选项是正确的指针声明方式?A. int *ptr;B. int ptr*;C. both A and BD. none of the above答案:A12. 在C语言中,哪个关键字用于定义一个宏?A. defineB. macroC. both A and BD. none of the above答案:A13. 在C语言中,以下哪个选项是正确的枚举声明方式?A. enum Color {Red, Green, Blue};B. enum {Red, Green, Blue} Color;C. both A and BD. none of the above答案:C14. 在C语言中,哪个函数用于打开一个文件?A. fopen()B. open()C. both A and BD. none of the above答案:A15. 在C语言中,以下哪个选项是正确的文件操作函数?A. fprintf()B. fscanf()C. both A and BD. none of the above答案:C通过这些模拟试题的练习,考生可以更好地掌握C语言的基础知识和编程技巧,为即将到来的考试做好准备。

2018年国家计算机二级C语言笔试真题及答案解析

2018年国家计算机二级C语言笔试真题及答案解析

2018年国家计算机二级C语言笔试真题及答案解析#include <stdio.h>main(){int x;scanf(“%d”,&x);if(x<=3); elseif(x!=10)printf(“%d\n”,x);} 程序运行时,输入的值在哪个范围才会有输出结果A)不等于10的整数B)大于3且不等于10的整数C)大于3或等于10的整数D)小于3的整数(19)有以下程序#include<stdio.h>Main(){ int a=1,b=2,c=3,d=0;if(a= =1 &&b++= =2)if(b!=2 || c--!=3)printf(“%d,%d,%d\n”,a,b,c);else printf(“%d,%d,%d\n”,a,b,c);else printf(“%d,%d,%d\n”,a,b,c);} 程序运行后的输出结果是A)1,2,3 B)1,3,2 C)1,3,3 D)3,2,1(20)以下程序中的变量已正确定义for(i=0;i<4;i++,i++for(k=1;k<3;k++);printf(*”); 程序段的输出结果是A)******** B)**** C)** D)*(21)有以下程序#include<stdio.h>main(){char*s=(“ABC);do{printf(“%d”,*s%10);s++;}while(*s);} 注意,字母A的ASCII码值为65。

程序运行后的输出结果是A)5670 B)656667 C)567 D)ABC(22)设变量已正确定义,以下不能统计出一行中输入字符个数(不包含回车符)的程序段是A)n=0;while((ch=getchar())!=’\n’)n++; B) n=0;while(getchar()!=’\n’)n++; C)for(n=0; getchar()!=’\n’;n++); D)n=0;for(ch=getchar();ch!=’\n’;n++);(23)有以下程序#include<stdio.h>main(){ int a1,a2;char c1,c2;scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);printf(“%d,%c,%d,%c”,&1,c1,a2,c2);}若想通过键盘输入,使得a1的值为12,a2的是为34,c1的值为字符a,c2的值为字符b,程序输出结果是:12,a,34,b,则正确的输入格式是(以下代表空格,<CR>代表回车)A)12a34b<CR> C)12,a,34,b<CR>B)12 D)12a a3434 b<CR>b<CR>24)有以下程序#include<stdio.h>int f(int x,int y){return()y-x)*x);}main(){int a=3,b=4,c=5,d;d=f(f(a,b),f(a,c));printf(“%d\n”,d);} 程序运行后的输出结果是A)10 B)9 C)8 D)7#include<stdio.h>void fun(char*s){while(*s){ if(*s%2==0)printf(“%c”,*s);s++;}}main(){ chara[]={“good”};fun(a);printf(“\n”);}注意:字母a的ASCⅡ码值为97,程序运行后的输出结果是A)d B)go C)god D)good(26)有以下程序#include <stdio.h>void fun( int *a,int *b){int *c;c=a;a=b;b=c;}main(){int x=3,y-5,*P=&x,*q=&y;fun(p,q);printf(“%d,%d,”,*p,*q);fun(&x,&y);printf(“%d,%d\n”,*p,*q);} 程序运行后的输出结果是A)3,5,5,3 B)3,5,3,5 C)5,3,3,5 D)5,3,5,3(27)有以下程序#include <stdio.h>viod f(int *p,int *q);main(){ int m=1,n=2,*r=&m;f(r,&n);printf(“%d,%d”,m,n);}void f(int *p,int *q){p=p+1;*q=*q+1;}程序运行后输出的结果是A)1,3 B)2,3 C)1,4 D)1,2(28)以下函数按每行8个输出数组中的数据void fun( int *w,int n){ int i;for(i=0;i<n;i++){_________________printf(“%d”,w);}printf(“\n”);} 下划线处应填入的语句是A)if(i/8==0)print(“\n”); B) if(i/8==0)continue;C) if(i%8==0)print(“\n”); D) if(i%8==0)continue;(29)若有以下定义 int x[10],*pt=x; 则对x数组元素的正确应用是A)*&x[10] B)*(x+3) C)*(pt+10) D)pt+330)设有定义:char s[81];int i=10;,以下不能将一行(不超过80个字符)带有空格的字符串真确读入的语句或语句组是A) gets(s) B)while((s[i++]=getchar())!=”\n”;s=”\0”;C)scanf(“%s”,s); D)do{scanf(“%c”,&s);}while(s[i++]!=”\n”);s=”\0”;(31)有以下程序#include <stdio.h>main(){ char *a[ ]={“abcd”,”ef”,”gh”,”ijk”};int I;for(i=0;i<4;i++)printf(“%c”,*a);} 程序运行后输出的结果是A)aegi B)dfhk C)abcd D)abcdefghijk32)以下选项中正确的语句组是A)char s[];s=”BOOK!”; B) char *s;s={”BOOK!”}; C)char s[10];s=”BOOK!”; D) char *s;s=”BOOK!”;#include <stdio.h>int fun{int x,int y}{ if(x==y) return(x);else returen((x+y)/2)}main(){ int a=4,b=5,c=6;printf(“%d\n”,fun(2*a,fun(b,c)))} 程序运行后的输出结果是A)3 B)6 C)8 D)12(34)设函数中有整型变量n,为保证其在未赋值的情况下初值为0,应选择的存储类别是A)auto B) register C)static D)auto或register(35)有以下程序#include <stdio.h>int b=2;int fun(int *k){ b=*k+b;return(b);}main(){ int a[10]={1,2,3,4,5,6,7,8},I;for(i=2;i<4;i++) {b=fun(&a)+b;printf(“%d”,b);}printf(“\n”);}程序运行后输出的结果是A)10 B)8 C)10 D)1012 10 28 1636)有以下程序#include <stdio.h>#define PT 3.5;#define S(x) PT*x*x;mian(){ int a=1, b=2; printf(“%4.1f\n”,S(a+b));}程序运行后输出的结果是A)14.0 B)31.5 C)7.5 D)程序有错无输出结果37)有以下程序#include <stdio.h>struct ord{ int x,y;} dt[2]={1,2,3,4};main(){ struct ord *p=dt;printf(“%d,”,++p->x); printf(“%d\n”,++p->y);}程序的运行结果是A)1,2 B)2,3 C)3,4 D)4,138)设有宏定义:#includeIsDIV(k,n)((k%n==1)?1:0且变量m已正确定义并赋值,则宏调用:IsDIV(m,5)&& IsDIV(m,7)为真时所要表达的是 A)判断m是否能被5或者7整除 B)判断m是否能被5和7整除C)判断m被5或者7整除是否余1 D)判断m被5和7整除是否余1(39)有以下程序#include <stdio.h>main(){ int a=5,b=1,t;t=(a<<2|b); printf(“%d\n”,t)}程序运行后的输出结果是 A)21 B)11 C)6 D)1 (40)有以下程序#include <stdio.h>main(){ EILE *f;f=fopen(“filea.txt”,”w”);fprintf(f,”abc”);fclose(f);} 若文本文件filea.txt中原有内容为:hello,则运行以上程序后,文件filea.txt中的内容为A) helloabc B)abclo C)abc D)abchello二、填空题(每空2分,共30分)(1)假设一个长度为50的数组(数组元素的下标从0到49)作为栈的存储空间,栈底指针bottom指向栈底元素,栈顶指针top指向栈顶元素,如果bottom=49,top=30(数组下标),则栈中具有【1】个元素。

2018年C语言二级考试及答案

2018年C语言二级考试及答案

2018年C语言二级考试及答案一、选择题1. 下列关于C语言中变量的描述,错误的是:A. 变量必须先声明后使用B. 变量的声明可以放在程序的任何位置C. 变量的类型决定了它所占用的内存大小D. 变量的声明必须在函数的开始处完成答案:B2. 在C语言中,以下哪个选项不是合法的标识符?A. _sumB. sum$C. 2valueD. sum答案:C3. C语言中,以下哪个选项是正确的字符串定义方式?A. char str[5] = "Hello";B. char str[] = "Hello";C. char str[6] = "Hello";D. char str = "Hello";答案:B4. 关于C语言中的数组,以下哪个说法是错误的?A. 数组名代表数组的首地址B. 数组的大小在定义后不能改变C. 数组的元素可以是不同类型的D. 数组的下标从0开始答案:C5. 在C语言中,以下哪个选项是正确的函数定义?A. int add(int a, int b);B. int add();C. int add(int a, int b) {}D. int add(int a, int b) { return a + b; }答案:D二、填空题1. 在C语言中,使用____关键字可以定义一个整型变量。

答案:int2. 字符串"Hello"在内存中所占的字节数是____。

答案:63. 若定义一个二维数组int arr[3][4],则该数组的元素总数为____。

答案:124. 在C语言中,使用____运算符可以实现逻辑与操作。

答案:&&5. 若变量a的值为5,b的值为10,则表达式a++ + b的值为____。

答案:15三、编程题1. 编写一个C语言程序,实现计算并输出两个整数的和。

```c#include <stdio.h>int main() {int a, b, sum;printf("请输入两个整数:");scanf("%d %d", &a, &b);sum = a + b;printf("两数之和为:%d\n", sum);return 0;}```2. 编写一个C语言程序,实现判断输入的年份是否为闰年,并输出结果。

计算机二级C语言测试题及答案解析

计算机二级C语言测试题及答案解析

计算机二级C语言测试题及答案解析计算机二级C语言测试题及答案解析C语言的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,下面给大家整理了计算机二级C语言测试题及答案,欢迎阅读!计算机二级C语言测试题及答案解析1.(A )是构成C语言程序的基本单位。

A、函数B、过程C、子程序D、子例程2.C语言程序从 C 开始执行。

A、程序中第一条可执行语句B、程序中第一个函数C、程序中的main函数D、包含文件中的第一个函数3、以下说法中正确的是( C )。

A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main( )函数中定义C、C语言程序总是从main( )函数开始执行D、C语言程序中的main( )函数必须放在程序的开始部分4.下列关于C语言的说法错误的是( B ) 。

A、 C程序的工作过程是编辑、编译、连接、运行B、 C语言不区分大小写。

C、 C程序的三种基本结构是顺序、选择、循环D、C程序从main函数开始执行5.下列正确的标识符是(C )。

A、-a1B、a[i]C、a2_iD、int t5~8题为相同类型题考点:标识符的命名规则只能由字母、数字、下划线构成数字不能作为标识符的开头关键字不能作为标识符选项A中的“-” ,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3)6.下列C语言用户标识符中合法的是(B )。

A、3axB、xC、caseD、-e2 E)union选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1);7.下列四组选项中,正确的C语言标识符是( C )。

A、 %xB、a+bC、a123D、123选项A中的“%” ,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2)8、下列四组字符串中都可以用作C语言程序中的标识符的是( A)。

2018计算机二级C语言考试真题汇总

2018计算机二级C语言考试真题汇总

模拟卷11[填空题]下列给定程序中,函数fun的功能是:在形参S所指字符串中寻找与参数C相同的字符,并在其后插入一个与之相同的字符,若找不到相同的字符则不做任何处理。

例如,若s所指字符串为“baacda”,c中的字符为a,执行后S所指字符串为“baaaacdaa"。

请在程序的下画线处填入正确的内容并将下画线删除,使程序得出止确的结果。

注意:部分源程序给出如下。

不得增行或删行,也不得更改程序的结构!试题程序:•Include<stdio.h>void fun(char•s・char c)(int n;/••••••••♦found•••••♦••♦/for11"0;s[i]!•(1J;£)if(S(1]••€)I/•••••••••found•••••••••/n-[21;whi!•(s[i1n]!n;for(j•1>n1;J>i;j—>j*1]•••found•••••••••/»[j*i]-Lil;main()<char s[80]-"baacda",c;print!("Vrthe string:ta'n",#);printf(Fnlnput a character:"I;scarf("lc",4C);fun( ,c);print f("'nThe r»sult is:参考解析:【参考答案】(I)'W(2)0【解题思路】填空L for语句循环条件是判断是否到达字符串结尾,即当前字符是否为填空2:while语句用以确定字符串的长度,所以变量n赋初值为0。

填空3:题目要求如果找到与参数c相同的字符,就在后面插入一个相同的字符,且找到后应该给数组元素赋值,本题目给出参数为c.二、程序修改题2[简答题]下列给定程序中函数fun的功能是:逐个比较p、q所指两个字符串对应位置上的字符,并把ASCII 值大或相等的字符依次存放到c所指的数组中,形成一个新的字符串.例如,若主函数中a字符串为“aBCDeFgH",b字符串为"Abed",则c中的字符串应为“aBcdeFgH”。

2018年浙江省计算机二级c语言考试真题及答案

2018年浙江省计算机二级c语言考试真题及答案

2018年浙江省计算机二级c语言考试真题及答案2018年浙江省计算机二级c语言考试真题及答案【计算机等级考试官网暂未公布2018年浙江省计算机二级c语言考试真题及答案,届时小编会为你第一时间收集整理】下面是店铺给大家整理的计算机二级c语言考试习题及答案,供大家参阅,对接下来的计算机二级C语言考试有一定的了解!计算机二级c语言考试真题及答案1.(A )是构成C语言程序的基本单位。

A、函数B、过程C、子程序D、子例程2.C语言程序从 C 开始执行。

A、程序中第一条可执行语句B、程序中第一个函数C、程序中的main函数D、包含文件中的第一个函数3、以下说法中正确的是( C )。

A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main( )函数中定义C、C语言程序总是从main( )函数开始执行D、C语言程序中的main( )函数必须放在程序的开始部分4.下列关于C语言的说法错误的是( B ) 。

A、 C程序的工作过程是编辑、编译、连接、运行B、 C语言不区分大小写。

C、 C程序的三种基本结构是顺序、选择、循环D、C程序从main函数开始执行5.下列正确的标识符是(C )。

A、-a1B、a[i]C、a2_iD、int t5~8题为相同类型题考点:标识符的命名规则只能由字母、数字、下划线构成数字不能作为标识符的开头关键字不能作为标识符选项A中的“-” ,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3)6.下列C语言用户标识符中合法的是(B )。

A、3axB、xC、caseD、-e2 E)union选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1);7.下列四组选项中,正确的C语言标识符是( C )。

A、 %xB、a+bC、a123D、123选项A中的“%” ,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2)8、下列四组字符串中都可以用作C语言程序中的标识符的是( A)。

计算机二级C语言章节练习题及答案

计算机二级C语言章节练习题及答案

计算机二级C语言章节练习题及答案计算机二级C语言章节练习题及答案计算机二级考试成绩查询时间一般为考试结束后45-60日,自2009年起计算机二级考试成绩查询时间一直为45日。

下面是店铺给大家搜集的计算机二级C语言章节练习题及答案,快来看看吧。

1.2 算法1[填空题]一颗二叉树的中序遍历结果为DBEAFC,前序遍历结果为ABDECF,则后序遍历结果为【2】。

参考解析:【2】DEBFCA【解析】根据二叉树的中序遍历原则可知D为二叉树的最左边的叶子结点,根据二叉树的前序遍历原则可知A是二叉树的根结点,就可以确定二叉树的结构,所以二叉树的后序遍历结果为:DEBFCA。

2[填空题]队列是限定在表的一端进行插入和在另一端进行删除操作的线性表。

允许删除的一端称作__________。

参考解析:队头【解析】队列是只允许在一端删除,在另一端插入的顺序表,在队列中。

允许插入的一端叫做“队尾”,允许删除的一端叫做“队头”。

3[填空题]在最坏情况下,堆排序需要比较的次数为_________。

参考解析:O(nlog2n)【解析】在最坏情况下,冒泡排序所需要的比较次数为n(n-1)/2;简单插入排序所需要的比较次数为n(n-1)/2;希尔排序所需要的比较次数为O(n1.5);堆排序所需要的比较次数为O(nlog2n)。

4[单选题] 算法的有穷性是指( )。

A.算法程序的运行时间是有限的B.算法程序所处理的数据量是有限的C.算法程序的长度是有限的D.算法只能被有限的用户使用参考答案:A参考解析:算法具有5个特性:①有穷性:一个算法必须(对任何合法的输入值)在执行有穷步之后结束,且每一步都可在有限时间内完成,即运行时间是有限的;②确定性:算法中每一条指令必须有确切的含义,读者理解时不会产生歧义。

③可行性:一个算法是可行的,即算法中描述的操作都是可以通过已经实现的基本运算执行有限次来实现。

,④输入:一个算法有零个或多个输入,这些输入取自于某个特定的对象的集合。

计算机二级《C语言》考试题库与答案

计算机二级《C语言》考试题库与答案

计算机二级《C语言》考试题库与答案一、程序填空题(共18分)、下列给定程序中,函数flm的功能是:将s所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的次序。

例如,s所指的字符串为“def35adh3kjsdt7”,执行后结果为“defadhajsdt3537”。

请在程序的下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。

注意:部分源程序在文件BLANKl.c中。

不得增行或删行,也不得更改程序的结构!二、程序修改题(共l8分)下列给定程序中函数fun的功能是:用冒泡法对6个字符串进行升序排列。

请改正程序中的错误,使它能得出正确的结果。

注意:部分源程序在文件MODIl.C中,不得增行或删行,也不得更改程序的结构!三、程序设计题(共24分)编写函数fun,其功能是:求ss所指字符串中指定字符的个数,并返回此值。

例如,若输入字符串123412132,输入字符为l,则输出3。

注意:部分源程序在文件PROCl.C中。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填人你编写的若干语句。

参考答案一、程序填空题【参考答案】(1)j++或j+=1或++j或j=j+1(2)s[i]=t1[i](3)j【考点分析】本题考查:指针型变量;数组变量赋值;for循环语句。

【解题思路】填空1:根据函致fun中的内容可知,数组t1存储了s中的非数字字符,数组口存储了s中的数字字符,为了存储下一个数字字符,下标j要进行加1操作。

填空2:将S串中的数字与非数字字符分开后,要先将非数字字符放入字符串s中,因此填入s[i]=t1[i]。

填空3:最后将敦字字符加到s串之后,并且i要小于数字的.个数j。

二、程序修改题【参考答案】(1)fh(j=i+1;j<6;j++)(2)*(pstr+i)=}(pstr+j);【考点分析】本题考查:冒泡排序算法;for循环语句格式;指针数组。

计算机二级C语言2018年试题及答案

计算机二级C语言2018年试题及答案

计算机二级C语言2018年试题及答案一、选择题1. 在C语言中,下面哪个选项是正确的定义一个整型变量的语句?A. int a;B. int a[];C. int a[10];D. int a(10);答案:A2. 下列关于C语言函数的描述中,错误的是?A. 函数可以没有返回值B. 函数可以有多个返回值C. 函数可以有多个参数D. 函数可以嵌套定义答案:D二、填空题1. 在C语言中,表示逻辑“与”操作的运算符是______。

答案:&&2. 若有定义 int a[10], *p=a; 则*(p+5)表示数组的第______个元素。

答案:6三、编程题1. 编写一个C语言程序,实现输入一个整数,输出该整数的绝对值。

```c#include <stdio.h>#include <stdlib.h>int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (num < 0) {num = -num;}printf("该整数的绝对值是:%d\n", num);return 0;}```2. 编写一个C语言程序,实现输入一个字符串,然后输出该字符串的逆序。

```c#include <stdio.h>#include <string.h>int main() {char str[100];printf("请输入一个字符串:");gets(str);int len = strlen(str);for (int i = len - 1; i >= 0; i--) {printf("%c", str[i]);}printf("\n");return 0;}```四、简答题1. 请简述C语言中指针和数组的关系。

2018年国家计算机二级C语言笔试真题及答案解析7

2018年国家计算机二级C语言笔试真题及答案解析7

2018年国家计算机二级C语言笔试真题及答案解析72018年国家计算机二级C语言笔试真题及答案解析(1)下列选项中不符合良好程序设计风格的是________。

A)源程序要文档化B)数据说明的次序要规范化C)避免滥用goto语句D)模块设计要保证高耦合、高内聚(2)从工程管理角度,软件设计一般分为两步完成,它们是________。

A)概要设计与详细设计B)数据设计与接口设计C)软件结构设计与数据设计D)过程设计与数据设计(3)下列选项中不属于软件生命周期开发阶段任务的是________。

A)软件测试B)概要设计C)软件维护D)详细设计(4)在数据库系统中,用户所见的数据模式为________。

A)概念模式B)外模式C)内模式D)物理模式(5)数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和________。

A)编码设计B)测试阶段C)运行阶段D)物理设计|************(6)设有如下三个关系表下列操作中正确的是________。

(7)下列叙述中正确的是________。

A)一个算法的空间复杂度大,则其时间复杂度也必定大B)一个算法的空间复杂度大,则其时间复杂度必定小C)一个算法的时间复杂度大,则其空间复杂度必定小D)上述三种说法都不对(8)在长度为64的有序线性表中进行顺序查找,最环境情况下需要比较的次数为________。

A)63 B)64C)6 D)7(9)数据库技术的根本目标是要解决数据的________。

A)存储问题B)共享问题C)安全问题D)保护问题*****************(10)对下列二叉树进行中序遍历的结果是________。

A)ACBDFEG B)ACBDFGEC)ABDCGEF D)FCADBEG(11)下列叙述中错误的是________。

A)一个C语言程序只能实现一种算法B)C程序可以由多个程序文件组成C)C程序可以由一个或多个函数组成D)一个C函数可以单独作为一个C程序文件存在(12)下列叙述中正确的是________。

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

2018年9月计算机二级C语言考试章节习题及答案(8) 第2章 C程序设计的初步知识2.5 算术表达式1 [单选题] 以下不能正确计算代数式值的C语言表达式是( )。

A.1/3*sin(1/2)*sin(1/2)B.sin(0.5)*sin(0.5)/3C.pow(sin(0.5),2)/3D.1/3.0*pow(sin(1.0/2),2)参考答案:A2 [单选题] 若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是( )。

A.1B.0C.2D.不知道a的值,不能确定参考答案:A参考解析:逻辑或”||”要求只要两边的运算对象有一个非零,结果就为真。

虽然不知道a的值,但是若a为l,则左边运算对象为1;若a的值不是1,则右边运算对象的值为1,所以总能保证一边非零,所以结果为真,即1。

3 [单选题] 设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是( )A.x=x*100+0.5/100.0;B.x=(x*100+0.5)/100.0;C.x=(int)(x*100+0.5)/100.0;D.x=(x/100+0.5)*100.0;4 [单选题] 表达式3.6-5/2+1.2+5%2的值是( )。

A.4.3B.4.8C.3.3D.3.8参考答案:D 。

参考解析:此题考核的是算术运算符的运算规则,算术运算符的结合方向为“自左至右”,先按运算符的优先级别高低次序执行,同时在C中两个整数相除或求余数其结果依旧为整数。

计算后结果为3.8。

5 [单选题] 已知字母A的ASCIl代码值为65,若变量kk为char型,以下不能正确判断出kk中的值为大写字母的表达式是A.kk>='A'&&kk<='Z'B.!(kk>='A'||kk<='Z')C.(kk+32)>='a'&&(kk+32)<='z'D.isalpha(kk)&&(kk<91)参考答案:B6 [单选题] 当变量 c 的值不为 2、4、6时,值也为“真”的表达式是A.(c==2)||(c==4)||(c==6)B.(c>=2&&c<=6)||(c!=3)||(c!=5)C.(c>=2&&c<=6)&&!(c%2)D.(c>=2&&c<=6)&&(c%2!=1)参考答案:B参考解析:条件语句if(a>B.不成立,所以语句a=b;不执行,语句c=a;执行后, c=3,此时条件语句if(C!=A.不成立,所以语句c=b;不执行。

结果为a=3,b=5,c=3。

C.6D.1参考答案:A参考解析:a左移两位与b值求或,a左移两位结果为20,b值为1,a和b求或得值为21。

所以A为正确选项。

10 [单选题] 表达式:(int)((double)9/2)-(9)%2的值是 ( )A.0B.3C.4D.5收藏本题参考答案:B参考解析:(int)((double)9,/2)的值为4,(9)%2的值为1,则整个表达式的值为3。

11 [单选题] 若有定义语句:intx=10;则表达式x-=x+X的值为 ( )A.-20B.-10C.0D.10参考答案:B参考解析:x-=x+X,即x=x-(x+x),x=-X,故x=-10。

12 [单选题] 有以下程序:#includevoid main(){int s;scanf("%d",&s);while(s>0){switch(s){case 1:printf("%d",s+5);case 2:printf("%d",s+4);break;case 3:printf("%d",s+3);default:printf("%d",s+1);break;}scanf("%d",&s);}}运行时,若输入1 2 3 4 5 0<回车>,则输出结果是A.6566456B.66656C.66666D.6666656参考答案:A参考解析:这道试题主要考察了switch和break语句,当变量S的值为1时,执行case1、case 2两条语句,输出65;当变量S的值为2时,执行case 2语句,输出6;变量s的值为3时,执行case3、default两条语句,输出64;变量S的值为4时,执行defauR语句,输入5;变量s的值为5时,执行default语句,输出6;变量S的值为0时,程序运行结束。

13 [单选题] 有以下程序#includemain(){char a='H';a=(a>='A'&&a<='Z')?(a-'A'+'a'):a;printf("%c\n",a);}程序运行后的输出结果是A.AB.aC.HD.h参考答案:D参考解析:由于a 的值为'H',符合(a>='A'&&a<='Z'),所以条件表达式的值等于(a-'A'+'a'),即'h'。

14 [单选题] 若有定义语句 int b=2; 则表达式(b<<2)/(3||b)的值是A.4B.8C.0D.2参考答案:B参考解析:变量b 的值等于2,其向左移动2 位,其值等于8,即b<<2 的值等于8。

而3||b 做或运算的结果等于1。

所以表达式(b<<2)/(3||b)的值等于8。

15 [填空题]本题型不支持在线作答,请电脑操作演示,部分试题“考生文件夹”是指考试时答题指定的保存位置。

参考解析:1-a16 [填空题]下列 y 的值是。

int y;y=sizeof(2.25*4);参考解析:解析:sizeof(2.25*4)为sizeof(9.00)值为8,C语言规定浮点型常量当双精度处理,双精度实数的存储单元为 8 个字节。

17 [填空题]若int x=1,y=2;则计算表达式y+=y-=x*=y后的y值是_________。

参考解析:0【解析】对表达式从右向左进行计算x+=y得x=2,则Y+=y.=2,右边即y一.2得y=0,则y+=0得y=0。

18 [填空题]若S是int型变量,且s=8,则s%3+(s+1)%3表达式的值为________。

参考解析: 2【解析】考查基本表达式的计算,“%”运算符的功能是取余。

题中条件s=8,则s%3=2,(s+1)%3=9%3=0,所以表达式s%3+ (s+1)%3=2+0=2。

19 [填空题]以下程序的输出结果是( )。

#includemain(){ int a=37;a+=a%=9; printf(“%d\n”,a);}参考解析:2 a+=a%=9;其中a%=9等价于a=a%9;结果为1,所以a+=a%=9等价于a=a+1,故答案为2.20 [填空题]请写出与 !(a<=B)等价的C语言表达式。

参考解析:(a<=b)||(a>b) 表达式!(a<=b)含义是对a 小于等于b 取非,所以与其等价的表达式是(a<=b)||(a>b)。

21 [单选题] 下面程序段的输出结果是( )。

#includemain(){float x = 1.236547;printf("%f\n",(int)(x*1000+0.5)/(float)1000);}A.1.237000B.输出格式说明与输出项不匹配,输出无定值C.1.236000D.1.24参考答案:A参考解析:本题中,(int)(x*1000+0.5)的结果为1237,(float)1000是将1000强制转换成float类型;整个表达式(int)(x*1000+0.5)/(float)1000的结果为1.237000,再以实数(6位小数)形式输出。

22 [单选题] 以下选项中,当x为大于1的奇数时,值为0的表达式为( )。

A.x%2==1B.x/2C.x%2!=0D.x%2==0参考答案:D参考解析:当x为大于1的奇数时,x对2求余的结果为1,不为0,所以选项D)中表达式的值为0。

23 [单选题] 若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,X 的值为( )。

A.4B.16C.32D.52参考答案:C参考解析:本题考查逗号表达式的运用。

x=(i--4,j=16,k=32)中的i=4j=16,k=32构成一个逗号表达式,整个表达式的值取最后一项的值,即32,所以x的值为32。

24 [单选题] 以下不能正确表示代数式4cd/ab的C语言表达式县( ).A.4*c*d/a/bB.c*d/a/b*4C.c/a/b*d*4D.4*c*d/a*b收藏本题参考答案:D参考解析:c语言中算术运算符的结合性均为自左向右。

选项D中表达式计算结果是4cdb/a,和题目要求的代数式不一致,因此选项D不能正确表示题目所给代数式的内容。

25 [单选题] 有以下程序:程序运行后的输出结果是( )。

A.0B.-1C.1D.7参考答案:B参考解析:a--的含义是先用后减1,所以当a的值为0时,跳出循环,但是仍要执行a--,a的值变为-1。

26 [单选题] 已有定义:char c;,程序前面已在命令行中包含ctype.h文件,不能用于判断e中的字符是否为大写字母的表达式是( )。

A.isupper(c)B.'A' <= c <= 'Z'C.'A'<= c&&c <= 'Z'D.c <= ('z' - 32)&&('a' - 32) <= c参考答案:B参考解析:解析:在本题中,选项B,实际是先计算关系表达式“‘A <= c’”的值是0还是1,再比较该值与字符‘Z’之间的大小关系,显然不能实现题目所要求的功能,而选项 A,C,D都可以。

27 [单选题] 有以下定义:int a;long b;double x,y;则以下选项中正确的表达式是( )。

相关文档
最新文档