2011年全国计算机等级二级C语言模拟试题及答案(4)
全国计算机等级考试二级c语言题库及答案

全国计算机等级考试二级c语言题库及答案1. 以下哪个选项不是C语言中的运算符?A. 赋值运算符B. 逗号运算符C. 条件运算符D. 逻辑运算符答案:C2. 在C语言中,以下哪个关键字用于定义一个函数?A. structB. unionC. voidD. int答案:D3. 若有以下代码片段:```cint a = 5, b = 10;a = a + b;```执行后,变量a的值是多少?A. 5B. 10C. 15D. 20答案:C4. 在C语言中,哪个函数用于计算字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A5. 下列哪个选项不是C语言中的控制语句?A. ifB. switchC. whileD. do-while答案:B6. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A7. 若有以下代码片段:```cint x = 3;printf("%d", x++);```执行后,输出的结果是多少?A. 3B. 4C. 2D. 5答案:A8. 在C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcpy()B. strncpy()C. strcat()D. strcmp()答案:A9. 下列哪个选项不是C语言中的数组类型?A. 一维数组B. 二维数组C. 三维数组D. 指针数组答案:D10. 在C语言中,以下哪个关键字用于声明一个指针变量?A. intB. charC. floatD. void答案:D结束语:以上是全国计算机等级考试二级C语言的部分题库及答案,希望对您的学习和复习有所帮助。
计算机国家等级考试二级c试题及答案

计算机国家等级考试二级c试题及答案一、选择题1. 在C语言中,以下哪个选项是正确的数据类型?A. RealB. IntegerC. CharD. String答案:C2. 以下哪个函数用于计算两个数的最大值?A. max()B. min()C. sum()D. avg()答案:A3. 在C语言中,以下哪个关键字用于定义一个函数?A. classB. functionC. defD. void答案:D4. 下列哪个选项是C语言中的逻辑运算符?A. ||B. &&C. =D. +=答案:B5. 在C语言中,以下哪个选项用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A二、填空题1. 在C语言中,使用________关键字可以定义一个循环,直到满足某个条件。
答案:while2. 字符串在C语言中是以________结尾的字符数组。
答案:'\0'3. 在C语言中,________运算符用于计算两个数的差。
答案:-4. 函数________用于在C语言中输出字符串。
答案:printf5. 在C语言中,________关键字用于定义一个数组。
答案:array三、编程题1. 编写一个C语言程序,计算并输出100以内所有偶数的和。
```c#include <stdio.h>int main() {int sum = 0;for (int i = 2; i <= 100; i += 2) {sum += i;}printf("The sum of even numbers from 1 to 100 is: %d\n", sum);return 0;}```2. 编写一个C语言函数,实现两个整数的交换。
```c#include <stdio.h>void swap(int *a, int *b) {int temp = *a;*a = *b;*b = temp;}int main() {int x = 5, y = 10;swap(&x, &y);printf("x = %d, y = %d\n", x, y);return 0;}```以上为计算机国家等级考试二级C语言试题及答案的排版及格式。
2011年计算机等级二级C语言填空题练习题及答案解析

else return (x +1)/(x-2); } double fun( int n ) {int i; double s=0.0, y; for (i= -n; i<=___2___; i++) { y=f(1.0*i); s += y; } return ___3___; } main ( ) { printf("%f\n", fun(5) ); } 第一处:0.0 第二处:n 第三处:s 解析:函数 f ( double x) 求每个单项的值。 if……else 的条件是互斥的。 fun( ) 是求和。
7) return___3___; 8) } 第一处:n==0 第二处:n==1 第三处:fun(n-1)+fun(n-2) 解析:求斐波契数列:一项等于其前两项的和。 这也是一个递归。 求斐波契数列的第 n 项的值,n 从0开始。 3. 请补全函数 fun,该函数的功能是求出以下分数序列的前 n 项之和。和值通过函数 值返回到 main 函数。 1) #include 2) #include 3) ___1___ fun(int n) 4) {int a,b,c,k; 5) double s; 6) s=0.0; 7) a=2; 8) b=1; 9) for(k=1;k<=n;k++) 10) { 11) s=s+(___2___)a/(___3___)b; 12) c=a; 13) a=a+b; 14) b=c; 15) } 16) return s; 17) }
第一处:double 第二处:double 第三处:double 解析:从第11----14总结出数列的表达式。第1项是 a/b=2/1;3/2 4/3 故:s=2/1+3/2+4/3+…… 和的初值是0。 记住:两个整数进行算术运算结果也是整数,算术运算中只要有一个操作数是实数, 运
2011年计算机等级二级C语言笔试题及答案

2011年计算机等级二级C语言笔试题及答案(1)计算机等级考试网更新:2011-6-19 编辑:风清云淡一、填空题1、C语言中基本的数据类型有:__________、__________ 、__________ 。
2、C语言中普通整型变量的类型说明符为__________,在内存中占__________字节,有符号普通整型的数据范围是__________。
3、整数-35在机内的补码表示为__________。
4、执行下列语句int a=8; a+=a-=a*a; 后,a的值是__________ 。
5、有如下语句:char A[ ]={”I am a student”}; 该字符串的长度是__________,A[3]=__________ 。
6、符号”a”和’a’的区别是__________。
7、所谓“指针”就是__________ 。
“&”运算符的作用是__________。
“*”运算符的作用是__________ 。
8、有如下输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是__________。
二、选择题1、设整型变量a为5,使b不为2的表达式是()。
A. b=a/2B. b=6-(--a)C. b=a%2D. b=a>3?2:12、为了避免嵌套的条件分支语句if-else的二义性,C语言规定:C程序中的else总是与()组成配对关系。
A. 缩排位置相同的ifB. 在其之前未配对的ifC. 在其之前未配对的最近的ifD.同一行上的if3、以下程序的输出结果是( )。
int x=10,y=10;printf(“%d %d\n”,x--,--y);A. 10 10B. 9 9C. 9 10D. 10 94、设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i 个元素的地址为()。
全国计算机等级考试二级c语言题库及答案

全国计算机等级考试二级c语言题库及答案一、单项选择题1. 在C语言中,以下哪个选项是正确的数据类型?A. 整型(int)B. 浮点型(float)C. 字符型(char)D. 所有选项都是答案:D2. 下列哪个函数用于计算两个数的和?A. max()B. min()C. sum()D. pow()答案:C3. 在C语言中,以下哪个关键字用于定义一个函数?A. ifB. whileC. returnD. void答案:D二、填空题1. 在C语言中,用于定义一个整型变量的关键字是________。
答案:int2. 字符串在C语言中是以________字符结尾的字符数组。
答案:'\0'3. C语言中,用于循环结构的关键字有________和________。
答案:for 和 while三、编程题1. 编写一个C语言程序,计算并输出1到100之间所有偶数的和。
```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}printf("The sum of even numbers from 1 to 100 is: %d\n", sum);return 0;}```2. 编写一个C语言函数,实现字符串的反转。
```c#include <stdio.h>#include <string.h>void reverseString(char str[]) {int len = strlen(str);for (int i = 0; i < len / 2; i++) {char temp = str[i];str[i] = str[len - i - 1];str[len - i - 1] = temp;}}int main() {char str[] = "Hello, World!";reverseString(str);printf("Reversed string: %s\n", str);return 0;}```以上是全国计算机等级考试二级C语言题库及答案的部分内容,涵盖了选择题、填空题和编程题。
全国计算机二级C2011年9月考试真题与答案(打印版)

201 1 年 9 月全国计算机等级考试二级笔试试卷(考试时间 90 分钟,满分 100 分)一、选择题((1)-(10)、(21)-(40)每题 2 分,(11)-(20)每题 1 分,共 70 分)下列各题 A)、B)、C)、D)四个选项中,只有一个选项是正确的。
请将正确选项填涂在答题卡相应位置上答在试卷上不得分。
(1)下列叙述中正确的是( )。
A)算法就是程序 B)设计算法时只需要考虑数据结构的设计C)设计算法时只需要考虑结果的可靠性 D)以上三种说法都不对(2)下列关于线性链表的叙述中,正确的是( )。
A)各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B)各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续C)进行插入与删除时,不需要移动表中的元素D)以上三种说法都不对(3)下列关于二叉树的叙述中,正确的是( )。
A)叶子结点总是比度为 2 的结点少一个B)叶子结点总是比度为 2 的结点多一个C)叶子结点数是度为 2 的结点数的两倍D)度为 2 的结点数是度为 1 的结点数的两倍(4)软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。
下面属于应用软件的是( )。
A)学生成绩管理系统 B)C 语言编译程序 C)UNIX 操作系统 D)数据库管理系统(5)该系统总体结构图的深度是( )。
A)7 B)6 C)3 D)2(6)程序调试的任务是( )。
A)设计测试用例 B)验证程序的正确性 C)发现程序中的错误 D)诊断和改正程序中的错误(7)下列关于数据库设计的叙述中,正确的是( )。
A)在需求分析阶段建立数据字典 B)在概念设计阶段建立数据字典C)在逻辑设计阶段建立数据字典 D)在物理设计阶段建立数据字典(8)数据库系统的三级模式不包括( )。
A)概念模式 B)内模式 C)外模式 D)数据模式(9)有三个关系 R 、S 利 T 如下:A)自然连接B)差C)交D)并(10)下列选项中属于面向对象设计方法主要特征的是( )。
2011年计算机等级二级C语言填空题练习题及答案解析)
2011年计算机等级二级C语言填空题练习题及答案解析求阶乘1.该fun函数的功能是求10的阶乘。
1)#include2)long fun(int n)3){if(___1___)4)return(n*fun(___2___));5)else if(___3___)6)return1;}第一处:n>1第二处:n-1·第三处:n==1解析:从第2、4行看到了函数名,函数体中又出现了函数的调用,则是递归。
我们知道:n!=n*(n-1)!这就是一个递归的表达式,写成函数就是fun(n)=n*fun(n-1)。
因此,4行处填写n-1。
又:1!=1故3,5行就好填了。
因此答案是n>1n-1n==1。
还有0!=1故,还可填写:n>0n-1n==0注意:35行的条件是相反的,这也是if与else条件的互斥性。
2.程序的功能是计算s=1!+2!+3!+……+n!1)long fun(int n)2){int i;3)long s;4)s=___1___;5)for(i=1;i<=n;i++)6)s=___2___;7)return s;8)}9)main()10){long s;11)int k,n;12)scanf("%d",&n);13)s=___3___;14)for(k=1;k<=n;k++)15)s=___4___;16)printf("%ld\n",s);17)}第一处:1第二处:s*i第三处:0第四处:s+fun(k)解析:首先,搞清楚函数fun、main各自的功能。
Fun是求一个数的阶乘,我们知道:n!=1*2*3*…*n同时要死记住:求积,积的初值一般等于1。
故fun中s是用来存放积的,其初值等于1;求阶乘是连乘,故s=s*iMain是求和,记住:和的初值一般等于0.两个函数中的局部变量s的作用是不同的。
Main中的s是存放和的。
2011计算机二级C语言上机(南开100题)
计算机二级C语言上机南开100题1: 第1题 m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中。
答案:int fun(int score[],int m,int below[]){int i,k=0,aver=0;for(i=0;i<m;i++)aver+=score[i];aver/=m;for(i=0;i<m;i++)if(score[i]<aver){below[k]=score[i];k++;}return k;}2: 第2题请编写函数fun,它的功能是:求出1到100之内能北7或者11整除,但不能同时北7和11整除的所有证书,并将他们放在a所指的数组中,通过n返回这些数的个数。
答案:void fun(int *a, int *n){int i,j=0;for(i=2;i<1000;i++)if ((i%7==0 || i%11==0) && i%77!=0)a[j++]=i;*n=j;}3: 第3题请编写函数void fun(int x,int pp[],int *n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n 返回。
答案:void fun(int x, int pp[ ], int *n){int i=1,j=0;k=0,*t=pp;for(i=0;i<=x;i++)if(i%2!=0){t[j]=I;j++;}for(i=0;i<j;i++)if(x%t[i]==0){pp[k]=t[i];k++;}*n=k;}4: 第4题请编写一个函数void fun(char *tt,int pp[]),统计在tt字符中"a"到"z"26各字母各自出现的次数,并依次放在pp所指的数组中。
计算机国家等级考试二级c试题及答案
计算机国家等级考试二级c试题及答案一、选择题(每题2分,共20分)1. 在C语言中,用于定义一个结构体的关键字是______。
A. structB. unionC. enumD. typedef答案:A2. 下列关于数组的描述中,错误的是______。
A. 数组可以存储相同类型的元素B. 数组的元素在内存中是连续存储的C. 数组的大小在定义时必须确定D. 数组的大小可以根据需要动态改变答案:D3. C语言中,用于字符串比较的函数是______。
A. strcmpB. strcpyC. strcatD. strlen答案:A4. 在C语言中,以下哪个运算符用于取地址?A. *B. &C. %D. #答案:B5. 下列关于函数的描述中,正确的是______。
A. 函数可以没有返回值B. 函数可以有多个返回值C. 函数的返回值类型必须与声明的一致D. 函数的参数可以是任意类型答案:C6. 在C语言中,用于定义指针的关键字是______。
A. intB. charC. floatD. void答案:D7. 下列关于循环的描述中,错误的是______。
A. for循环可以嵌套使用B. while循环可以无限循环C. do-while循环至少执行一次D. break语句可以用于任何循环答案:D8. 在C语言中,以下哪个关键字用于定义一个全局变量?A. staticB. externC. autoD. register答案:B9. 下列关于指针的描述中,错误的是______。
A. 指针可以指向任何类型的数据B. 指针可以作为函数的参数C. 指针可以指向函数D. 指针可以存储字符串答案:D10. 在C语言中,用于定义一个枚举类型的关键字是______。
A. enumB. structC. unionD. typedef答案:A二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型变量的关键字是______。
2011年计算机二级考试C语言十套上机题
2011年计算机二级考试C语言十套上机题1.填空题请补充函数fun(),该函数的功能是:把从主函数中输入的字符串str2接在字符串str1的后面。
例如:str1=“How do”,str2=“ you do?”,结果输出:How do you do?注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
试题程序:#include#include#define N 40void fun(char *str1,char *str2){int i=0;char *p1=str1;char *p2=str2;while(【1】)i++;for( ;【2】;i++)*(p1+i)=【3】;*(p1+i)='\0';}main(){char str1[N],str2[N];clrscr();printf("*****Input the string str1 &str2*****\n");printf(" \nstr1:");gets(str1);printf(" \nstr2:");gets(str2);printf("**The string str1 & str2**\n");puts(str1);puts(str2);fun(str1,str2);printf("*****The new string *****\n");puts(str1);}答案及评析:【1】*(p1+i) 【2】*p2 【3】*p2++【解析】填空1:变量i用来记录字符串str1的长度,当指针指到字符串str1结束标志符‘\0'时,while循环结束,变量i停止累加。
填空2:指针p2指向字符串str2,通过for循环将字符串str2接在str1后面,循环结束的条件是指针p2所指的字符是字符串结束标志符‘\0'。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一.单项选择题 1. 运算符___________的优先级最高。 A.[ ] B. += C. ?: D.++
2.main( ) { int n; ( n=6*4,n+6),n*2; printf(“n=%d\n”,n); } 此程序的输出结果是______________. A.30 B. 24 C. 60 D. 48
3.若有如下定义,则__________是对数组元素的正确的引用。. int a[10] , *p ; p=a ; A. *&a[10] B. a[11] C. *(p+11) D. *p *p *p
4.设整型变量n的值为2,执行语句“n+=n-=n*n;”后,n的值是__________ A. 0 B. 4 C. - 4 D. 2
5.各种基本数据类型的存贮空间正确的长度排列为__________。 A.CharONG
C.Char
6.下面的变量说明中_____________是正确的。 A.char:a, b, c; B.char a; b; c; C.char a, b, c; D.char a, b, c
7.表达式y=(13>12?15:6>7?8:9)的值为____________ 。 A 9 B 8 C 15 D. 1
8.若x=5,y=3 则y*=x+5; y的值为_______________. A. 10 B. 20 C. 15 D. 30
9.能正确表示a和b同时为正或同时为负的逻辑表达式是_________。 A.a>=0||b>=0)&&(a<0 ||b<0) B.(a>=0 && b>=0)&&(a<0 && b<0) C.(a+b>0) &&(a+b<=0) D. a*b>0
10.C语言中,合法的字符型常数是_________。 A.„A‟ B.“A” C. 65 D. A
11.已有定义 int x=3, y=4, z=5;则表达式“!(x+y)+z-1&&y+z/2”的值是________。 A.6 B.0 C.2 D.1
12.若变量c为char类型,能正确判断出c为小写字母的表达式是_______。 A.‟a‟<=c<=‟z‟ B. (c>=‟a‟) || (c<=‟z‟) C.(„a‟<=c) and („z‟>=c) D. (c>=‟a‟) && (c<=‟z‟)
13.设有定义:long x=-123456L; 则以下能够正确输出变量x值的语句是_______。 A.printf(“x=%d\n”,x) B.printf(“x=%ld\n”,x) C.printf(“x=•l\n”,x) C.printf(“x=%D\n”,x);
14.从循环体内某一层跳出,继续执行循环外的语句是:___________。 A. break语句 B.return语句 C.continue语句 D.空语句。 15.C语言用_______表示逻辑“真”值。 A.true B.t或y C.非零整型值 D.整型值0
16.为了避免嵌套的条件分支语句if—else 的二义性,C语言规定:C程序中的else总是与_____组成配对关系。 A.缩排位置相同的if B.在其之前未配对的if C.在其之前未配对的最近的if D.同一行上的if
17.在函数中默认存储类型说明符的变量应该是________存储类型。 A.内部静态 B. 外部 C.自动 D. 寄存器
18.C语言中以只读方式打开一个文件应选择_______________参数。 A.“r” B.“w” C.“rb” D.“a”
19.设有数组定义:char array[]=”student”;则数组所占的存贮空间为__________。 A.6个字节 B. 7个字节 C. 8个字节 D. 9个字节
20.根据C语言的语法规则,下列________个是不合法标识符。 A.do B. Name C. R5 D. _exam
二.判断题 1. C 语言源程序文件通过了编译、连接之后 , 生成一个后缀为 .EXE 的文件。 ( ) 2.在 C 程序中 , 函数既可以嵌套定义 , 也可以嵌套调用。( ) 3.在 C 程序中 ,APH 和 aph 代表不同的变量。( ) 4.表达式 0195 是一个八进制整数。( ) 5.Continue语句的作用是结束本次循环。( ) 6.Extern变量的生命期是整个程序执行期。 ( ) 7.C语言中字符串的结束符是‟\0‟。 ( ) 8.利用fclose函数关闭已打开的文件。 ( )。 9.C程序总是从main( ) 函数的第一条语句开始执行的。 ( ) 10.数组名代表数组的首地址。( )
三.填空 1.C语言的预处理语句以__________开头。 2.表达式7+10>2 && 25 %5的结果是_______________________。 3.下列程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。 Int n=0, ch; Ch=getchar( ); While( __________________ ) { if ( ________________ ) n++; c=getchar( ); } 4.C语言中getchar() 函数的功能是_________________________________。 5.int *p 的含义是___________________________________________。 6.定义fp为文件型指针变量的定义方法为_______________________。 7.数组 int a[3][3];共定义了____________个数组元素。
四、读程序。 1. 改正下列程序中不正确的语句。 main( ) { int a; scanf(“%d”, a); if (a = 1) printf(“One\n”) ; }
2.写出下列程序的运行结果。 fun(int a, int b) { if(a>b) return (a); Else return (b); } main() { int x=3,y=8,z=6,r; r=fun(fun(x,y),2*z); printf(“%d\n”,r); }
3. 改正下列程序中不正确的语句。 main() { int n ; float s=1.0; for(n=10;n>1;n- -) s=s+1/n; printf(“%6.1f\n”,s); }
4. 写出下列程序的运行结果。 main() { int n; For(n=3; n<=10; n++) { if(n%6= =0) break; Printf(“%d”,n); } } 5.写出下列程序的运行结果。 #include “stdio.h” Main() { int a[]={1,2,3,-4,5}; int m,n,*p; p=&a[0]; m=*(p+1); n=*(p+4); printf(“%d %d %d ”,*p,m,n); }
五.编程 1. 编程计算下列表达式:s=n!(n从键盘上输入) 2.输出1—100之间不能被12整除的数。 3.从键盘上输出10个整数存入一维数组中,按由大到小的顺序输出。 4.从键盘上输入9个数,按3行3列的格式输出。 5.编程将文件read.txt中的字符读出显示到屏幕上。
参考答案 一.单项选择题 1 A 2B 3D 4C 5C 6C 7C 8D 9D 10A 11D 12D 13B 14A 15C 16C 17A 18A 19C 20A
二.判断题 1√ 2Ⅹ 3√ 4Ⅹ 5√ 6√ 7√ 8√ 9√ 10√
三、填空 1 #号 2 0 3 ch!=‟\n‟ ch>=‟0‟ && ch<=‟9‟ 4 从键盘上输入一个字符。 5 指针变量p为整型 6 FILE *fp 7 9
四、读出程序。 1 printf("%d,",&a); if (a==1) 2 12 3 s=s+1.0/n 4. 3 4 5 5 1 2 5
五.编程序 1. #include "stdio.h" main() { long t=1; int i; for(i=1;i<=10;i++) t=t*i; printf("%ld",t); }
2 #include "stdio.h" main() { int i; for(i=1;i<=100;i++) { if(i==0) continue; printf("%d ",i); }
3. #include "stdio.h" main() { int i,j,a[10]; for(i=1;i<=10;i++) scanf("%d",&a[i]); for(i=0;i<9=;i++) for(j=9;j>i;j--) if(a[j-1]{ t=a[j-1]; a[j-1]=a[j]; a[j]=t; } for(i=0;i<10;i++) printf("%d",a[i]); }
4. #include "stdio.h" main() { int a[3][3],i,j,s=0; for(i=0;i<3;i++) for(j=0;j<3;j++) scanf("%d",&a[i][j]); for(i=0;i<3;i++) { for(j=0;j<3;j++) printf(“%d ”,a[i][j] ); printf(“\n”);