1.按照计算机应用领域分类,学校使用的成绩管理系统属于_______。
A. 实时控制
B. 计算机辅助设计
C. 数据处理
D. 科学计算
参考答案:C
2.下面关于计算机系统的叙述中,完整的计算机系统通常是指______。
A. 计算机的硬件系统
B. 计算机上配置的操作系统
C. 计算机的软件系统
D. 由硬件系统和软件系统组成
参考答案:D
3.微型计算机的微处理芯片上集成的主要组件包括______。
A. 控制器和运算器
B. 内存和控制器
C. 控制器和存储器
D. 运算器和I/O接口
参考答案:A
4.Windows的对话框窗口不可以______。
A. 关闭
B. 移动
C. 任意改变大小
D. 最小化
参考答案:C
5.某用户在域名为https://www.doczj.com/doc/5012176009.html,的邮件服务器上申请了一个账号,账号名为xing,那么该用户的电子邮件地址为______。
A. https://www.doczj.com/doc/5012176009.html,@xing
B. https://www.doczj.com/doc/5012176009.html,%xing
C. xing%https://www.doczj.com/doc/5012176009.html,
D. xing@https://www.doczj.com/doc/5012176009.html,
参考答案:D
6.下列对C语言程序的描述中,正确的是_______。
A. C语言程序总是从第一个定义的函数开始执行
B. C语言程序总是从最后一个定义的函数开始执行
C. C语言程序总是从main()函数开始执行
D. C语言程序中的main()函数必须放在程序的开始部分
参考答案:C
7.设有char ch='\\';,则变量ch包含______个字符。
A. 1
B. 2
C. 3
D. 4
参考答案:A
8.以下选项中合法的字符常量是____________。
A. '\101'
B. '\97'
C. '\xyz'
D. '\019'
参考答案:A
9.下面用户标识符中合法的是____________。
A. iPhone#
B. 13a
C. char
D. _int
参考答案:D
10.已知int c1=5,c2=2,c3;,则执行c3=c1/c2后,c3的值是_______。
A. 5
B. 2.5
C. 3
D. 2
参考答案:D
11.设有定义int b=0;,表达式_______与其它表达式的值不相同。
A. b+=1
B. b++
C. ++b
D. b+1
参考答案:B
12.执行语句int a=8;a+=a-=a*a;后,变量a的值是______。
A. -240
B. 64
C. 112
D. -112
参考答案:D
13.若a、i和j都是int型变量,则执行语句a=(i=4,j=16);后a 的值为_______。
A. 4
B. 16
C. 20
D. 12
参考答案:B
14.已知int x=10;float y=20;double z=30;,则表达式(int)(x+y)-z的数据类型是______。
A. int
B. float
C. double
D. 无法确定
参考答案:C
15.下列运算符中优先级最高的是_______。
A. <
B. +
C. &&
D. ||
参考答案:B
16.C语言中基本数据类型包括_______。
A. 整型、实型、逻辑型
B. 整型、字符型、逻辑型
C. 整型、实型、字符型
D. 字符型、实型、逻辑型
参考答案:C
17.已知int a,b,c;,若有
scanf("a=%d,b=%d,c=%d",&a,&b,&c);,为使变量a的值为1,b的值为2,c的值为3,从键盘输入数据的正确形式是_______。
A. 123
B. 1,2,3
C. a=1 b=2 c=3
D. a=1,b=2,c=3
参考答案:D
18.下列程序的输出结果是______。
#include
int x=3,y=5;
void main( )
{
int x=0;
x=x+y;
printf("%d",x);
}
A. 3
B. 4
C. 5
D. 8
参考答案:C
19.有定义int x=1,y=2,z=3;,执行下列程序段后,输出的结果是_______。
if(x>y) z=x;x=y;y=z;
printf("%d,%d,%d",x,y,z);
A. 1,2,3
B. 2,3,3
C. 2,3,1
D. 2,3,2
参考答案:B
20.执行以下程序段后,则输出的结果是______。int a=1;
switch(a)
{
case 1: printf("你好");
case 2: printf("再见"); break;
default : printf("晚安");
}
A. 你好
B. 再见
C. 晚安
D. 你好再见
参考答案:D
21.在C语言中,用_______表示逻辑真。
A. 1
B. 非0的数
C. 非1的数
D. 0
参考答案:A
22.若i为整型变量,则下列循环体执行次数是_______。for(i=2;i==0;) printf("%d\n",i--);
A. 2次
B. 1次
C. 0次
D. 无限次
参考答案:C
23.while(leap)和下列_______等价。
A. while (leap!=0)
B. while (5)
C. while (leap==0)
D. while (0)
参考答案:A
24.下列程序段中循环体语句_______。
int y=15;
printf("%d",--y);
do
{
printf("%d",--y);
}while(!y);
A. 一次也不执行
B. 执行一次
C. 有语法错误
D. 执行无限次
参考答案:B
25.在C语言中,表示结束本层循环的语句是_______。
A. extern语句
B. break语句
C. continue语句
D. end语句
参考答案:B
26.下列数组定义及初始化中,正确的是_______。
A. int a[]="string";
B. int a[5]={0, 1, 2, 3, 4, 5};
C. char a="string";
D. int a[]={0, 1, 2, 3, 4, 5};
参考答案:D
27.若有int a[ ]={1,2,3,4,5,6,7};char c1= 'b',c2= '2';,则下列表达式值不等于2的是______。
A. a[1]
B. 'd'-c1
C. a['3'-c2]
D. c2-0
参考答案:D
28.已知int a[3][2]={1,2,3,4,5,6};,则a[1][1]的值是_______。
A. 4
B. 5
C. 3
D. 2
29.若有定义int a[3][4];,则对数组元素引用正确是_______。
A. a[1][4]
B. a[1,3]
C. a(2)(1)
D. a[2][0]
参考答案:D参考答案:A
30.下列程序段的运行结果是_______。
char c[5]={'a','b','\0','c','\0'};
printf("%s",c);
A. 'a''b'
B. ab
C. ab c
D. ab\0c\0
参考答案:B
31.如果在程序中需要用到strcpy、strcat等库函数时,需要用#include包含_______头文件。
A. math.h
B. string.h
C. ctype.h
D. stdio.h
参考答案:B
32._______是正确的函数声明语句。
A. float func( int a, int b);
B. float func( int a, b );
C. double func( a, int b );
D. double func( a, b );
参考答案:A
33.C程序函数中的局部变量是指______。
A. 函数外部定义的变量
B. 函数体内定义的变量
C. 函数之间定义的变量
D. 函数之间定义的static类型变量
参考答案:B
34.若用数组名作为函数调用的实参,传递给形参的是_______。
A. 数组元素的个数
B. 数组第一个元素的值
C. 数组全部元素的值
D. 数组的首地址
参考答案:D
35.下列语句中,定义指针变量p的正确语句是_______。
A. int x,p=&x;
B. int x,*p=x;
C. int x,*p=&x;
D. int x,*p=*x;
参考答案:C
36.若有定义语句int a[5]={0,1,2,3,4},*p=a;,则不是对a数组元素的正确引用是____________。
A. a[p-a]
B. *(&a[2])
C. *p
D. *(*(a+2))
参考答案:D
37.若有int x[10],*p=x;,则*(p+5)表示______。
A. 数组元素x[5]的地址
B. 数组元素x[5]的值
C. 数组元素x[6]的地址
D. 数组元素x[6]的值
参考答案:B
38.设有预处理命令#define d 2和定义int a=10;long
b=20;char c='a';,则下列语句中错误的是_______。
A. a++;
B. b++;
C. c++;
D. d++;
参考答案:D
39.设有定义语句:
struct stu
{
int x;
float y;
}stutype;则下列的叙述不正确的是_______。
A. struct是定义结构体类型的关键字
B. struct stu是用户定义的结构体类型
C. x和y都是结构体成员
D. stutype是用户定义的结构体类型名
参考答案:D
40.以读写方式打开一个已有的二进制文件cct.bin,以下选项中正确的是______。
A. FILE *fp;fp=fopen("cct.bin","r");
B. FILE *fp;fp=fopen("cct.bin","w");
C. FILE *fp;fp=fopen("cct.bin","rb");
D. FILE *fp;fp=fopen("cct.bin","rb+");
参考答案:D
题目:
在屏幕上输出以下图形(字符之间没有空格)。ABCDE
BCDEA
CDEAB
DEABC
EABCD
#include
void main()
{
int i,j;
char ch;
for(i=0;i<5;i++)
{
j=0;
while(j<=5) /*$ERROR$*/
{
ch='A'+(i+j)%5;
printf("%d",ch);/*$ERROR$*/
j++;
}
printf("/n"); /*$ERROR$*/
}
}
参考答案:
$1$:j<5
$2$:printf("%c",ch);
$3$:printf("\n");
题目:
给定程序中规定输入的字符串全部为字母,fun函数的功能是:统计字符串中每个字母出现的次数(不区分大小写),并输出次数最多的字母(如果有多个相同,输出一个即可)。示例:输入字符串:dadbcdbabdb,对应的输出应为:b 或d。
#include
#include
void fun(char a[])
{
int b[26], i, n,max; /*数组b用于统计26个字母个数*/
for (i=0; i<26; i++)
a[i] = 0; /*$ERROR$*/
n= strlen(a);
for (i=0; i if (a[i] >='a' && a[i]<='z') b[a[i] - 'A']++; /*$ERROR$*/ else if( a[i] >='A' && a[i]<='Z' ) b[a[i] - 'A']++; max = 0; for (i=1; i<26; i++) if (b[max] > b[i]) /*$ERROR$*/ max=i; printf("出现次数最多的字符是: %c\n", max + 'a'); } void main( ) { char a[200]; printf("请输入一个待统计的字符串: "); scanf("%s", a); fun(a); } 参考答案: 1|3:b[i]=0; 2|3:b[a[i]-'a']++; 3|3:if(b[max] 题目: 求满足下列条件的三位数之和。条件如下: (1)各位数字只能从5、6、7、8中选; (2)各位数字互不相同。 输出格式: s=12345 参考程序一: #include void PRINT(long s) { FILE *out; printf("s=%d\n",s); if((out=fopen("result.dat","w+"))!=NULL) fprintf(out,"s=%ld",s); fclose(out); } void main() { /*考生在此设计程序*/ long s=0; int a,b,c; for (a=5;a<=8;a++) for (b=5;b<=8;b++) for (c=5;c<=8;c++) if (a!=b &&a!=c&&c!=b) s+=100*a+10*b+c; PRINT(s); } 参考程序二: #include void PRINT(long s) { FILE *out; printf("s=%d\n",s); if((out=fopen("result.dat","w+"))!=NULL) fprintf(out,"s=%ld",s); fclose(out); } void main() { /*考生在此设计程序*/ long s=0; int i,j,gw,sw,bw,v[6]={1,2,3,4,9,0}; for (i=567;i<=876;i++) { gw=i%10; sw=i/10%10; bw=i/100; if(gw!=sw && gw!=bw && sw!=bw) { for(j=0;j<6;j++) if(gw==v[j] || sw==v[j] || bw==v[j]) break; if(j>=6) s=s+i; } } PRINT(s); } 参考程序三: #include void PRINT(long s) { FILE *out; printf("s=%d\n",s); if((out=fopen("result.dat","w+"))!=NULL) fprintf(out,"s=%ld",s); fclose(out); } void main() { /*考生在此设计程序*/ long s=0; int i,v[4]={5,6,7,8}; for (i=0;i<4;i++) s=s+v[i]*111*6; PRINT(s); } 参考程序四: #include void PRINT(long s) { FILE *out; printf("s=%d\n",s); if((out=fopen("result.dat","w+"))!=NULL) { fprintf(out,"s=%ld",s); fclose(out); } } void main() { /*考生在此设计程序*/ 二级(C语言程序设计)上机题汇总 一、程序调试题 (一)程序填空 练习一: /*该程序功能:对x=1,2,。。。。。,10,f(x)=x*x*-5*x+sin(x)的最大值。*/ #include void Dec2Bin(int m) { int bin[32],j; for(j=0;m!=0;j++) { bin[j]= __m%2___; m=m/2; } for(;j!=0;j--) printf("%d", ____bin[j-1]_ _____ ); } void main() { int n; scanf("%d",&n); Dec2Bin(n); } 练习四: /*该程序功能:输入数组x[7],调用函数f,去除数组中的负数,输出结果为:1 3 4 6*/ #include 1 2009年9月全国计算机等级考试二级笔试 试卷 1)下列数据结构中,属于非线性结构的是 A )循环队列 B) 带链队列 C) 二叉树 D )带链栈 2)下列数据结果中,能够按照“先进后出”原则存取数据的是 A) 循环队列 B) 栈 C)队列 D)二叉树 3)对于循环队列,下列叙述中正确的是 A )队头指针是固定不变的 B )队头指针一定大于队尾指针 C )队头指针一定小于队尾指针 D )队头指针可以大于队尾指针,也可以小于队尾指针 4)算法的空间复杂度是指 A )算法在执行过程中所需要的计算机存储空间 B )算法所处理的数据量 C )算法程序中的语句或指令条数 D )算法在执行过程中所需要的临时工作单元数 5)软件设计中划分模块的一个准则是 A) 低内聚低耦合 B) 高内聚低耦合 C) 低内聚高耦合 D) 高内聚高耦合 6)下列选项中不属于结构化程序设计原则的是 A) 可封装 B) 自顶向下 C) 模块化 D) 逐步求精 7)软件详细设计产生的图如下: 该图是 A) N-S 图 B) PAD 图 C) 程序流程图 D) E-R 图 8)数据库管理系统是 A )操作系统的一部分B) 在操作系统支持下的系统软件C) 一种编译系统 D) 一种操作系统 9)在E-R 图中,用来表示实体联系的图形是 A) 椭圆图B) 矩形C) 菱形D) 三角形 10)有三个关系R ,S 和T 如下: 其中关系T 由关系R 和S 通过某种操作得到,该操作为 A) 选择 B) 投影 C) 交 D) 并 11)以下叙述中正确的是 A )程序设计的任务就是编写程序代码并上机 B )程序设计的任务就是确定所用数据结 构 C )程序设计的任务就是确定所用算法 D )以上三种说法都不完整 12)以下选项中,能用作用户标识符的是 A )void B )8_8 C )_0_ D )unsigned 13)阅读以下程序 #include 二级C语言上机编程题技巧 一、技巧的原理 首先使用这个技巧必须了解上机编程题的评分原理。以上机题的第5套编程题为例。二级C语言的上机试题是让我们自己编写某个小程序的子程序来实现题目中的功能。那么考官是怎么样来检查我们编的程序是否正确呢?根据编程题下面这段程序我们就可以看出: 在考生文件夹下存在一个名为in.dat的文件。首先以只读的方式打开in.dat文件,以只写方式打开out.dat文件,若out.dat不存在则自动新建该文件。然后使用fscanf 语句将其中的数据输入到变量a中,再将a当作实参调用我们需要编写的程序。将结果用fprintf语句输入到out.dat文件中。其中.dat为这个文件的扩展名(扩展名有可能被隐藏)。 所以考官不会直接检查我们的程序,只要检查out.dat里的数据是否正确就可以判断我们编的子程序是否正确。因此程序编写题,我们可以只通过修改out.dat里面的答案而不去编写程序就可以拿到满分。 二、使用技巧的条件 当然不是所有的编程题我们都能使用这个技巧的(不过90%的编程题都可以用这个方法)。使用这个技巧必须具备两个条件: 1、编程题是通过我上面讲的方法来检验,说白了就是我们的考生文件夹下面 含有in.dat文件。 2、编程题需要实现的功能我们编程者可以自己想出来程序完成的答案。例如 本题: 它让我们实现实型数据保留两位小数,并对第三位进行四舍五入。那么这个功能我们若知道任一个实数都可以自己计算出结果,那么我们才能将正确答案写在out.dat文件里面。若某程序让你编写子程序实现求取圆周率并精确到小数点后10位这个功能,那么我们就无法背出那么长的数字,因此也没有办法知道结果。那么这种技巧就不能使用。 三、步骤 确定了这个技巧可以使用后,我们就可以开始操作了。一般分为以下几步: 1、建立out.dat文件 上面可以看到我们的考生文件夹中是没有out.dat这个文件的。所以我们需要自己新建。最好的方法就是打开编程题直接编译、链接、执行。这样将程序执行一遍后我们的考生文件夹里就自动生成了我们需要的out.dat文件。(注意:这里生成了out.dat 文件后就不要再运行我们的程序了,因为每运行一次程序就会将程序生成的答案写入out.dat文件中,这样即算我们改成了正确答案,你如果再次运行程序,就会将我们修改的正确结果覆盖掉。) 2、修改答案 计算机二级C语言上机题库复习小抄 (最新校正,精美排版) 第一套 1.程序填空 程序通过定义学生结构体数组,存储了若干个学生的学号、姓名和三门课的成绩。函数fun 的功能是将存放学生数据的结构体数组,按照姓名的字典序(从小到大排序)。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 第一处struct student t; 第二处for(i=0;i 第101套 1、程序填空 给定程序中,函数fun的功能是:在任意给定的9个正整数中找出按升序排列时处于中间的数,将原数据序列中比该中间数小的数用该中间数替换,位置不变,在主函数中输出处理后的数据序列,并将中间数作为函数值返回。 例如,有9个正整数:1 5 7 23 87 5 8 21 45,按升序排列时的中间数为:8 处理后主函数中输出的数列为:8 8 8 23 87 8 8 21 45 请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。得增行或删行,也不得更改程序的结构! #include 声明:本资料由考试吧(https://www.doczj.com/doc/5012176009.html,)收集整理,转载请注明出自https://www.doczj.com/doc/5012176009.html, 服务:面向校园,提供计算机等级考试,计算机软件水平考试,英语四六级,研究生考试等校园相关考试信息。 特色:提供历年试题,模拟试题,模拟盘,教程,专业课试题下载等。资料丰富,更新快!考试交流论坛:https://www.doczj.com/doc/5012176009.html,/ 考试吧(https://www.doczj.com/doc/5012176009.html,)-第一个极力推崇人性化服务的综合考试网站! 服务:面向较高学历人群,提供计算机类,外语类,学历类,资格类,四大类考试的全套考试信息服务. 特色:极力推崇人性化服务!让您最便捷的在最短时间内得到对您最有价值考试信息!坚持每日更新!!! 全国计算机等级二级C语言上机编程题题型 第1题 函数fun的功能是:将n个人员的考试成绩进行分段统计,考试成绩放在a 数组中,各分数段的人数存到b数组中:成绩为60到69的人数存到b[0]中,成绩为70到79的人数存到b[1],成绩为80到89的人数存到b[2],成绩为90到99的人数存到b[3],成绩为100的人数存到b[4],成绩为60分以下的人数存到b[5]中。 例如,当a数组中的数据是: 93、85、77、68、59、43、94、75、98。 调用该函数后,b数组中存放的数据应是: 1、2、1、3、0、2。 注意:部分源程序存在文件PROG1.C中。 请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 Prog1.c #include #include void fun(int a[], int b[], int n) { for(int i=0;i 2012年9月全国计算机考试上机题库100套 第01套: 给定程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回所指变量。 例如,输入一个数:27638496,新的数:为739。请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! 给定源程序: #include 第一套题 上机填空: #include { int a, b, c, k; double s; s = 0.0; a = 2; b = 1; for ( k = 1; k <= n; k++ ) { /************found************/ s = s + (Double)a / b; c = a; a = a + b; b = c; } return s; } main( ) { int n = 5; printf( "\nThe value of function is: %lf\n", fun ( n ) ); } 第一处改错:将:void fun ( int n ) 改为double fun ( int n ) 第二处改错:s = s + (Double)a / b; 改为s = s + (double)a / b; 第二套题 上机填空题 #include 2020年全国计算机等级考试二级c语言上机精选题库(共80套) 第1套试题 第一题:给定程序中,函数fun的功能是:计算N*N矩阵的主对角元素和反向对角元素之和,并作为函数值返回。注意:要求先累加主对角线元素中的值,然后累加反向对角线元素中的值。 例如,若N=3,有下列矩阵: 1 2 3 4 5 6 7 8 9 fun函数首先累加1、5、9,然后累加3、5、7,函数的返回值为30。 请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填入所编写的若干表达式或语句。 #include 第二题:下列给定程序中,函数fun 的功能是:根据整型参n ,计算如下公式的值。 ,11=A ,1112A +=A ,1123A +=A … ,1 11-A +=A n n 例如,若n=10,则应输出0.617978。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main 函数,不得增行或删行,也不要更改程序的结构! #include 二级(C语言程序设计)上机题汇总
历年二级C语言笔试真题及答案
二级C语言上机编程题答题技巧
计算机二级C语言上机题库复习小抄(最新校正,精美排版)
计算机二级考试C语言 101~105套上机题
全国计算机等级二级C语言上机编程题题型
全国计算机二级C语言上机考试题库(可直接打印)
二级C语言上机题库及答案
2020年全国计算机等级考试二级c语言上机精选题库(共80套)