2011年(春季)江苏省计算机二级C语言考试试题与参考答案(全)
2011年计算机等级二级C语言章节习题及答案(13)
2011年计算机等级二级C语言章节习题及答案(13)2011年计算机等级二级C语言章节习题及答案(13)第13章文件一、选择题(在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡相应位置上。
)13.1 fseek函数的正确调用形式是A)fseek(文件指针,起始点,位移量)B)fseek(文件指针,位移量,起始点)C)fseek(位移量,起始点,文件指针)D)fseek(起始点,位移量,文件指针)正确答案: B13.2 若fp是指向某文件的指针,且已读到文件末尾,则函数feof (f p)的返回值是A)EOFB)-1C)1D)NULL正确答案: C13.3 fscanf函数的正确调用形式是A)fscanf(fp,格式字符串,输出表列);B)fscanf(格式字符串,输出表列,fp);C)fscanf(格式字符串,文件指针,输出表列);D)fscanf(文件指针,格式字符串,输入表列);正确答案: D13.4 下列关于C语言数据文件的叙述中正确的是A)文件由ASCII码字符序列组成,C语言只能读写文本文件B)文件由二进制数据序列组成,C语言只能读写二进制文件C)文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件D)文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件正确答案: D13.5 函数fseek(pf, OL,SEEK_END)中的SEEK_END代表的起始点是A)文件开始B)文件末尾C)文件当前位置D)以上都不对正确答案: B13.6 C语言中,能识别处理的文件为A)文本文件和数据块文件B)文本文件和二进制文件C)流文件和文本文件D)数据文件和二进制文件正确答案: B13.7 若调用fputc函数输出字符成功,则其返回值是A)EOFB)1C)0D)输出的字符正确答案: D13.8 已知函数的调用形式:fread(buf,size,count,fp),参数buf 的含义是A)一个整型变量,代表要读入的数据项总数B)一个文件指针,指向要读的文件C)一个指针,指向要读入数据的存放地址D)一个存储区,存放要读的数据项正确答案: C13.9 当顺利执行了文件关闭操作时,fclose函数的返回值是A)-1B)TRUEC)0D)1正确答案: C13.10 如果需要打开一个已经存在的非空文件“Demo”进行修改下面正确的选项是A)fp=fopen("Demo","r");B)fp=fopen("Demo","ab+");C)fp=fopen("Demo","w+");D)fp=fopen("Demo","r+");正确答案: D13.11 若要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要求的函数调用是A)fopen("A:\user\abc.txt","r")B)fopen("A:\\user\\abc.txt","rt+")C)fopen("A:\user\abc.txt","rb")D)fopen("A:\user\abc.txt","w")正确答案: B13.12 fwrite函数的一般调用形式是A)fwrite(buffer,count,size,fp);B)fwrite(fp,size,count,buffer);C)fwrite(fp,count,size,buffer);D)fwrite(buffer,size,count,fp);正确答案: D13.13 C语言中,文件组成的基本单位为A)记录B)数据行C)数据块D)字符序列正确答案: D13.14 C 语言中,系统的标准输入文件是指A)键盘B)显示器C)软盘D)硬盘正确答案: A13.15 有以下程序#includemain(){ FILE *fp; int i=20,j=30,k,n;fp=fopen("d1.dat","w");fprintf(fp,"%d\n",i);fprintf(fp,"%d\n",j);fclose(fp);fp=fopen("d1.dat","r");fscanf(fp,"%d%d",&k,&n); printf("%d %d\n",k,n);fclose(fp);}程序运行后的输出结果是A)20 30B)20 50C)30 50D)30 20正确答案: A13.16 阅读以下程序及对程序功能的描述,其中正确的描述是#includemain(){ FILE *in,*out;char ch,infile[10],outfile[10];printf("Enter the infile name:\n");scanf("%s",infile);printf("Enter the outfile name:\n");scanf("%s",outfile);if((in=fopen(infile,"r"))==NULL){ printf("cannot open infile\n");exit(0);}if((out=fopen(outfile,"w"))==NULL){ printf("cannot open outfile\n");exit(0);}while(! feof(in))fputc(fgetc(in),out);fclose(in);fclose(out);}A)程序完成将磁盘文件的信息在屏幕上显示的功能B)程序完成将两个磁盘文件合二为一的功能C)程序完成将一个磁盘文件复制到另一个磁盘文件中D)程序完成将两个磁盘文件合并并在屏幕上输出正确答案: C13.17 下面的程序执行后,文件test中的内容是#includevoid fun(char *fname,char *st){ FILE *myf; int i;myf=fopen(fname,"w" );for(i=0;ifclose(myf);}main(){ fun("test","new world"); fun("test","hello,");} A)hello, B)new worldhello,C)new worldD)hello, rld正确答案: A13.18 假定当前盘符下有两个文本文件,如下文件名a1.txt a2.txt内容123# 321#则下面程序段执行后的结果为#include "stdio.h"void fc(FILE *p){ char c;while((c=fgetc(p))!=′#′)putchar(C);}main(){ FILE *fp;fp=fopen("a1.txt","r");fc(fp);fclose(fp);fp=fopen("a2.txt","r");fc(fp);fclose(fp);putchar(′\n′);}A)123321B)123C)321D)以上答案都不正确正确答案: A13.19 阅读下面程序,程序实现的功能是(a123.txt在当前盘符下已经存在)#include "stdio.h"void main(){ FILE *fp;int a[10],*p=a;fp=fopen("a123.txt","w");while(strlen(gets(p))>0 ){ fputs(a,fp);fputs("\n",fp);}fclose(fp);}A)从键盘输入若干行字符,按行号倒序写入文本文件a123.txt 中B)从键盘输入若干行字符,取前2行写入文本文件a123.txt中C)从键盘输入若干行字符,第一行写入文本文件a123.txt中D)从键盘输入若干行字符,依次写入文本文件a123.txt中正确答案: D13.20 阅读下面程序,此程序的功能为#include "stdio.h"main(int argc,char *argv[]){ FILE *p1,*p2;int c;p1=fopen(argv[1],"r");p2=fopen(argv[2],"a");c=fseek(p2,0L,2);while((c=fgetc(p1))!=EOF)fputc(c,p2);fclose(p1);fclose(p2);}A)实现将p1打开的文件中的内容复制到p2打开的文件B)实现将p2打开的文件中的内容复制到p1打开的文件C)实现将p1打开的文件中的内容追加到p2打开的文件内容之后D)实现将p2打开的文件中的内容追加到p1打开的文件内容之后正确答案: C二、填空题(请将每一个空的正确答案写在答题卡相应序号后。
2011年全国计算机二级C语言考试真题及答案
2011年9月全国计算机等级考试二级笔试试卷一、选择题A)算法就是程序B)设计算法时只需考虑数据结构的设计C)设计算法时只需考虑结果的可靠性D)以上三种说法都不对(2)下列关于线性链表叙述中,正确的是A)各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B)各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续C)进入插入与删除时,不需要移动表中的元素D)以上三种说法都不对(3)下列关于二叉树的叙述中,正确的是A)叶子结点总是比度为2的结点少一个B)叶子结点总是比度为2的结点多一个C)叶子结点数是度为的结点数的两倍D)度为2的结点数是度为1的结点数的两倍(4)软件按功能分为应用软件、系统软件和支撑软件(或工具软件)。
下现属于应用软件的是A)统(5)该系统总体结构图的深度是A)7 B)6 C)3 D)2(6)程序调试的任务是A)设计测试用例B)验证程序的正确性C)发现程序中的错误D)诊断和改正程序中的错误(7)下列关于数据库设计的叙述中,正确是的A)在需求分析阶段建立数据字典B)在概念设计阶段建立数据字典C)在逻辑设计阶段建立数据字典D)在物理设计阶段建立数据字典(8)数据库系统的三级模式不包括A)概念模式B)内模式C)外模式D)数据模式R S T(9)有三个关系R 、S 和T 如下:则由关系R 和S 得到关系T 的操作是 A)自然连接 B)差C)交 D)并(10)下列选项中属于面向对象设计方法主要特征的是A)继承 B)自顶向下 C)模块化 D)逐步求精(11)以下叙述中错误的是A)C 语言编写的函数源程序,其文件名后缀可以是.C B)C 语言编写的函数都可以作为一个独立的源程序文件 C)C 语言编写的每个函数都可以进行独立的编译并执行 D)一个C 语言程序只有一个主函数(12)以下选项中关于程序模块化的叙述错误的是A)把程序分成若干相对独立的模块,可便于编码和调试B)把程序分成若干相对独立、功能单一的模块,可便于重复使用这些模块C)可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的程序 D)可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序 (13)以下选项中关于C 语言常量的叙述错误的是A)所谓常量,是指在程序运行过程中,其值不能被改变的量 B)常量分为整型常量、实型常量、字符常量和字符串常量 C)常量可分为数值常量和非数值常量 D)经常被使用的变量可以定义成常量(14)若有定义语句: int a=10; double b=3.14; ,则表达式'A'+a+b 的值的类型是 A)char B)int C)double D)float (15)若有定义语句: int x=12, y=8, z; ,在其后执行语句z=0.9+x/y;,则z 的值为 A)1.9 B)1 C)2 D)2.4(16)若有定义: int a,b;,通过语scanf("%d;%d",&a,&b);,能把整数3赋给变量a, 5赋给变量b 的输入数据是A)3 5 B)3,5 C)3;5 D)35(17)若有定义语句: int k1=10, k2=20;,执行表达式(k1=k1>k2) && (k2=k2>k1)后,k1和k2的值分别为 A)0和1B)0和20C)10和1D)10和20(18)有以下程序#include <stdio.h> main( ){ int a=1, b=0;if (--a) b++;else if(a==0) b+=2;else b+=3;printf("%d\n",b);}程序运行后的输出结果是A)0 B)1 C)2 D)3(19)下列条件语句中,输出结果与其他语句不同的是A) if(a) printf("%d\n", x); else printf("%d\n",y);B) if(a==0) printf("%d\n", y); else printf("%d\n",x);C) if(a!=0) printf("%d\n", x); else printf("%d\n",y);D) if(a==0) printf("%d\n", x); else printf("%d\n",y);(20)有以下程序#include <stdio.h>main( ){ int a=7;while (a--);printf("%d\n",a);}程序运行后的输出结果是A)-1 B)0 C)1 D)7(21)以下不能输出字符A的语句是(注:字符A的ASCII码值为65,字符a的ASCII码值为97)A)printf("%c\n",'a'-32); B)printf("%d\n",'A')C)printf("%c\n",65); D)printf("%c\n",'B'-1);(22)有以下程序(注:字符a的ASCII码值为97)#include <stdio.h>main( ){ char *s={"abc"};do{ printf("%d",*s%10); ++s; }while (*s);}程序运行后的输入结果是A)abc B)789 C)7890 D)979899(23)若有定义语句: double a,*p=&a; 以下叙述中错误的是A)定义语句中的 * 号是一个间址运算符B)定义语句中的 * 号只是一个说明符C)定义语句中的p只能存放double类型变量的地址D)定义语句中,*p=&a把变量a的地址作为初值赋给指针变量p#include <stdio.h>double f(double x);main( ){ double a=0; int i;for (i=0; i<30; i+=10) a+=f( (double)i);printf("%5.0f\n",a);}double f(double x){ return x*x+1; }程序运行后的输出结果是A)503 B)401 C)500 D)1404(25)若有定义语句: int year=2009, *p=&year;,以下不能使变量year中的值增至2010的语句是A)*p+=1; B)(*p)++; C)++(*p); D)*p++;(26)以下定义数组的语句中错误的是A)int num[]={1,2,3,4,5,6} B)int num[][3]={{1,2},3,4,5,6}; C)int num[2][4]={{1,2},{3,4},{5,6}}; D)int num[][4]={1,2,3,4,5,6};(27)有以下下程序#include <stdio.h>void fun(int *p){ printf("%d\n", p[5]); }main( ){ int a[10]={1,2,3,4,5,6,7,8,9,10};fun(&a[3]);}程序运行后的输出结果是A)5 B)6 C)8 D)9(28)有以下程序#include <stdio.h># define N 4void fun(int a[][N], int b[]){ int i;for (i=0; i<N; i++) b[i]=a[i][i]-a[i][N-1-i];}main( ){ int x[N][N]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}}, y[N], i;fun(x, y);for (i=0;i<N; i++) printf("%d,",y[i]); printf("\n");}程序运行后的输出结果是A)-12,-3,0,0, B)-3,-1,1,3, C)0,1,2,3, D)-3,-3,-3,-3,int fun(char *x, char *y){ int n=0;while ( (*x==*y) && *x!='\0') {x++; y++; n++; }return n;}函数的功能是A)查找x和y所指字符串中是否有'\0'B)统计x和y所指字符串中最前面连续相同的字符个数C)将y所指字符串赋给x所指存储空间D)统计x和y所指字符串中相同的字符个数(30)若有定义语句: char *s1="OK", *s2="ok";,以下选项中,能够输出"OK"的语句是A)if (strcm(s1,s2)==0 puts(s1); B)if (strcm(s1,s2)!=0 puts(s2);C)if (strcm(s1,s2)==1 puts(s1); D)if (strcm(s1,s2)!=0 puts(s1);(31)以下程序的主函数中调用了在其前面定义的fun函数#include <stdio.h>∶main( ){ double a[15],k;k=fun(a)∶}则以下选项中错误的fun函数首部是A)double fun( double a[15]) B)double fun( double *a)C)double fun( double a[]) D)double fun( double a)(32)有以下程序#include <stdio.h>#include <string.h>main( ){ char a[5][10]={"china", "beijing", "you", "tiananmen", "welcome"};int i,j; char t[10];for ( i=0; i<4; i++)for (j=i+1; j<5; j++)if( strcmp(a[i], a[j])>0){ strcpy(t,a[i]); strcpy(a[i],a[j]); strcpy(a[j],t); }puts(a[3]);}程序运行后的输出结果是A)beijing B)china C)welcome D)tiananmen(33)有以下程序#include <stdio.h>int f(int m){ static int n=0;n+=m;return n;}main( ){ int n=0;printf("%d,", f(++n));printf("%d\n", f(n++));}程序运行后的输出结果是A)1,2 B)1,1 C)2,3 D)3,3(34)有以下程序#include <stdio.h>main( ){ char ch[3][5]={"AAAA","BBB","CC"};printf( "%s\n", ch[1] );}程序运行后的输出结果是A)AAAA B)CC C)BBBCC D)BBB(35)有以下程序#include <stdio.h>#include <string.h>void fun(char *w, int m){ char s,*p1, *p2;p1=w; p2=w+m-1;while (p1<p2) { s=*p1; *p1=*p2; *p2=s; p1++; p2--; }}main( ){ char a[]="123456";fun( a, strlen(a) ); puts(a);}程序运行后的输出结果是A)654321 B)116611 C)161616 D)123456(36)有以下程序#include <stdio.h>#include <string.h>typedef struct {char name[9]; char sex; int score[2]; } STU;STU f(STU a){ STU b={"Zhao",'m',85,90};int i;strcpy(, );a.sex=b.sex;for (i=0; i<2; i++) a.score[i]=b.score[i];return a;}main( ){ STU c={"Qian",'f',95,92}, d;d=f(c);printf("%s,%c,%d,%d,",,d.sex,d.score[0],d.score[1]);printf("%s,%c,%d,%d\n",,c.sex,c.score[0],c.score[1]);}程序运行后的输出结果是A)Zhao,m,85,90,Qian,f,95,92 B)Zhao,m,85,90,Zhao,m,85,90A)Qian,f,95,92,Qian,f,95,92 B)Qian,f,95,92,Zhao,m,85,90(37)有以下程序#include <stdio.h>main( ){ struct node {int n; struct node *next;} *p;struct node x[3]={{2,x+1}, {4,x+2}, {6, NULL}};p=x;printf("%d,", p->n );printf("%d\n",p->next->n );}程序运行后的输出结果是A)2,3 B)2,4 C)3,4 D)4,6(38)有以下程序#include <stdio.h>main( ){ int a=2, b;b=a<<2; printf("%d\n",b);}程序运行后的输出结果是A)2 B)4 C)6 D)8(39)以下选项中叙述错误的是A)C程序函数中定义的赋有初值的静态变量,每调用一次函数,赋一次初值B)在C程序的同一函数中,各复合语句内可以定义变量,其作用域仅限于本复合语句内C)C程序函数中定义的自动变量,系统不自动赋确定的初值D)C程序函数的形参不可以说明为static型变量(40)有以下程序#include <stdio.h>main( ){ FILE *fp;int k,n,i,a[6]={1,2,3,4,5,6};fp = fopen("d2.dat","w");for (i=0; i<6; i++) fprintf(fp, "%d\n",a[i]);fclose(fp);fp = fopen("d2.dat","r");for (i=0; i<3; i++) fscanf(fp, "%d%d", &k, &n);fclose(fp);printf("%d,%d\n", k, n);}程序运行后的输出结果是A)1,2 B)3,4 C)5,6 D)123,456二、填空题(每空2分,共30分)请将每空的正确答案写在答题卡【1】至【15】序号的横线上,答在试卷上不得分。
2011年计算机等级考试二级C语言上机题库(含答案)
重要说明:本题库为从题中一题一题复制出来工作量大,而且有许多表达式无法在word中快速表示出来(这样会加大工作量)故而省略,或者表达错位,有的地方可能或者肯定会有错,我相信准备参加C语言二级考试的同学应当能够对照参考答案看出来,这是2011年最新版最完整考试题库,相信大家一定都能通过!第一套程序填空给定程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回所指变量。
如输入一个数:27638496,新的数为729第一空:{ t=*n%10;第二空:if(t%2!=0)第三空:*n=x;2.程序修改给定程序modi1.c中函数fun的功能是:计算n!。
例如,给n输入5,则输出120.000000。
double fun(int n ){ double result=1.0;/*****found******/if(n==0)return 1.0;while(n>1&&n<170)/*****found******/result*=n--;return result;}程序设计请编写一个函数fun,它的功能是:将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。
例如,若输入字符串“-1234”,则函数把它转换为整数值-1234。
long fun(char *p){int i,len,t;long x=0;len=strlen(p);if(p[0]==‘-‗){ t=-1;len--;p++;}else t=1;while(*p)x=x*10-48+(*p++);return x*t;}第二套1. 给定程序中,函数fun的功能是将形参给定的字符串、整数、浮点数写到文本文件中,再用字符方式从此文本文件中逐个读入并显示在终端屏幕上。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
江苏省计算机二级c语言机考试题及答案
江苏省计算机二级c语言机考试题及答案一、选择题1. 下列关于C语言的描述中,错误的是:A. C语言是一种高级语言B. C语言是一种面向过程的语言C. C语言源于B语言D. C语言是一种解释型语言答案:D. C语言是一种解释型语言2. 在C语言中,可以用于定义宏的命令是:A. #ifB. #defineC. #includeD. #endif答案:B. #define3. 在C语言中,标识符的命名规则中,不允许使用的符号是:A. 下划线(_)B. 感叹号(!)C. 加号(+)D. 美元符号($)答案:B. 感叹号(!)4. C语言中的运算符中,以下优先级最高的是:A. 关系运算符B. 逻辑运算符C. 赋值运算符D. 算术运算符答案:C. 赋值运算符5. 下列程序中,有语法错误的是:A.```c#include <stdio.h>int main() {printf("Hello, World!\n");return 0;}```B.```c#include <stdio.h>int main() {printf("Hello, World!\n") return 0;}```C.```c#include <stdio.h>int main() {printf("Hello, World!\n"); return;}```D.```c#include <stdio.h>int main() {printf("Hello, World!\n");return 0;```答案:B.```c#include <stdio.h>int main() {printf("Hello, World!\n")return 0;}```二、填空题1. 下列程序的输出结果是______:```c#include <stdio.h>int main() {int a = 5;printf("%d", a++);printf("%d", ++a);return 0;}```答案:562. 下列程序的输出结果是______:```c#include <stdio.h>int main() {int a = 2;int b = 3;int c = a | b;int d = a & b;printf("%d\n", c);printf("%d\n", d);return 0;}```答案:3, 2三、编程题编写一个程序,输出1~100之间所有能同时被3和5整除的数,并计算这些数的平均值。
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 个元素的地址为()。
2011年3月计算机二级考试c语言试题及答案详细解析
2011年3月计算机二级考试c 语言试题及答案详细解析2011年3月全国计算机等级考试二级笔试试卷C语言程序设计(考试时间90分钟,满分100分)一、选择题(1-10,21-40每题2分,11-20每题1分,共70分)(1)下列关于栈叙述正确的是A)栈顶元素最先能被删除B)栈顶元素最后才能被删除C)栈底元素永远不能被删除D)以上三种说法都不对(2)下列叙述中正确的是A)有一个以上根结点的数据结构不一定是非线性结构B)只有一个根结点的数据结构不一定是线性结构C)循环链表是非线性结构D)双向链表是非线性结构(3)某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)A)3 B)4 C)6 D)7(4)在软件开发中,需求分析阶段产生的主要文档是A)软件集成测试计划 B)软件详细设计说明书C)用户手册 D)软件需求规格说明书(5)结构化程序所要求的基本结构不包括A)顺序结构 B)GOTO跳转C)选择(分支)结构 D)重复(循环)结构(6)下面描述中错误的是A)系统总体结构图支持软件系统的详细设计B)软件设计是将软件需求转换为软件表示的过程C)数据结构与数据库设计是软件设计的任务之一D)PAD图是软件详细设计的表示工具(7)负责数据库中查询操作的数据库语言是A)数据定义语言B)数据管理语言C)数据操纵语言A)a=(b=4)=3; B)a=b=c+1;C)a=(b=4)+c; D)a=1+(b=c=4);(16)有以下程序段char name[20];int num;scanf("name=%s num=%d",name;&num);当执行上述程序段,并从键盘输入:name=Lili num=1001<回车>后,name 的值为A)Lili B)name=Lili C)Lili num= D)name=Lili num=1001(17)if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是A)必须是逻辑值 B)必须是整数值C)必须是正数 D)可以是任意合法的数值(18)有以下程序#includemain(){ int x=011;printf("%d\n",++x);}程序运行后的输出结果是A)12 B)11 C)10 D)9(19)有以下程序#includemain(){ int s;scanf("%d",&s);while(s>0){ switch(s){ case1:printf("%d",s+5);case2:printf("%d",s+4); break;case3:printf("%d",s+3);default:printf("%d",s+1);break;}scanf("%d",&s);}}运行时,若输入1 2 3 4 5 0<回车>,则输出结果是A)6566456 B)66656 C)66666 D)6666656(20)有以下程序段int i,n;for(i=0;i<8;i++){ n=rand()%5;switch (n){ case 1:case 3:printf("%d\n",n); break;case 2:case 4:printf("%d\n",n); continue;case 0:exit(0);}printf("%d\n",n);}以下关于程序段执行情况的叙述,正确的是A)for循环语句固定执行8次 B)当产生的随机数n为4时结束循环操作C)当产生的随机数n为1和2时不做任何操作D)当产生的随机数n为0时结束程序运行(21)有以下程序#includemain(){ char s[]="012xy\08s34f4w2";int i,n=0;for(i=0;s[i]!=0;i++)if(s[i]>='0'&&s[i]<='9') n++;printf("%d\n",n);}程序运行后的输出结果是A)0 B)3 C)7 D)8(22)若i和k都是int类型变量,有以下for语句for(i=0,k=-1;k=1;k++) printf("*****\n");下面关于语句执行情况的叙述中正确的是A)循环体执行两次B)循环体执行一次C)循环体一次也不执行D)构成无限循环(23)有以下程序#includemain(){ char b,c; int i;b='a'; c='A';for(i=0;i<6;i++){ if(i%2) putchar(i+b);else putchar(i+c);} printf("\n");}程序运行后的输出结果是A)ABCDEF B)AbCdEf C)aBcDeF D)abcdef(24)设有定义:double x[10],*p=x;,以下能给数组x下标为6的元素读入数据的正确语句是A)scanf("%f",&x[6]); B)scanf("%lf",*(x+6));C)scanf("%lf",p+6); D)scanf("%lf",p[6]);(25)有以下程序(说明:字母A的ASCII码值是65)#includevoid fun(char *s){ while(*s){ if(*s%2) printf("%c",*s);s++;}}main(){ char a[]="BYTE";fun(a); printf("\n");}程序运行后的输出结果是A) BY B) BT C) YT D) YE(26)有以下程序段#includemain(){ …while( getchar()!='\n');…}以下叙述中正确的是A)此while语句将无限循环B) getchar()不可以出现在while语句的条件表达式中C)当执行此while语句时,只有按回车键程序才能继续执行D)当执行此while语句时,按任意键程序就能继续执行(27)有以下程序#includemain(){ int x=1,y=0;if(!x) y++;else if(x==0)if (x) y+=2;else y+=3;printf("%d\n",y);}程序运行后的输出结果是A)3 B)2 C)1 D) 0(28)若有定义语句:char s[3][10],(*k)[3],*p;,则以下赋值语句正确的是A)p=s; B)p=k; C)p=s[0]; D)k=s;(29)有以下程序#includevoid fun(char *c){ while(*c){ if(*c>='a'&&*c<='z') *c=*c-('a'-'A');c++;}}main(){ char s[81];gets(s); fun(s); puts(s):}当执行程序时从键盘上输入Hello Beijing<回车>,则程序的输出结果是A)hello beijing B)Hello Beijing C)HELLO BEIJING D)hELLO Beijing(30)以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。
江苏省计算机c语言二级考试试题及答案
江苏省计算机c语言二级考试试题及答案一、选择题(每题2分,共40分)1. 下列哪个选项是C语言中合法的变量名?A. 2variableB. variable2C. variable-nameD. variable name答案:B2. 在C语言中,以下哪个关键字用于声明函数?A. classB. functionC. voidD. int答案:D3. 若有以下代码片段:```cint a = 3, b = 5;printf("%d", a + b);```输出结果是什么?A. 8B. 35C. 53D. 3+5答案:A4. 在C语言中,哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /答案:C5. 以下哪个选项是C语言中合法的数组声明?A. int array[10];B. int array[];C. int array[10][];D. int array[10][10];答案:A6. C语言中,哪个函数用于输入一个字符?A. scanf()B. getchar()C. printf()D. puts()答案:B7. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. %D. +=答案:A8. 在C语言中,哪个关键字用于声明一个结构体?A. structB. unionD. typedef答案:A9. 若有以下代码片段:```cint x = 10;printf("%d", x++);```输出结果是什么?A. 10B. 11C. 9D. 无法确定答案:A10. 在C语言中,哪个函数用于输出一个字符串?A. scanf()B. printf()C. gets()D. puts()答案:D11. 下列哪个选项是C语言中合法的指针声明?A. int *pointer;B. int pointer[];C. int pointer[10];D. int *pointer[10];答案:A12. 在C语言中,哪个关键字用于声明一个枚举?B. unionC. structD. typedef答案:A13. 若有以下代码片段:```cint a = 10, b = 20;printf("%d", a > b ? a : b);```输出结果是什么?A. 10B. 20C. 30D. 无法确定答案:B14. 在C语言中,哪个函数用于计算两个数的绝对值?A. abs()B. fabs()C. sqrt()D. pow()答案:A15. 下列哪个选项是C语言中合法的函数声明?A. int function();B. void function();C. int function(int x);D. All of the above答案:D16. 在C语言中,哪个关键字用于声明一个联合体?A. unionB. structC. enumD. typedef答案:A17. 若有以下代码片段:```cint a = 10, b = 20;printf("%d", a < b ? a : b);```输出结果是什么?A. 10B. 20C. 30D. 无法确定答案:A18. 在C语言中,哪个函数用于计算两个数的指数?A. pow()B. sqrt()C. fabs()D. abs()答案:A19. 下列哪个选项是C语言中合法的宏定义?A. #define PI 3.14159B. #define PI = 3.14159C. #define PI "3.14159"D. #define PI 3.14159答案:A20. 在C语言中,哪个关键字用于声明一个宏?A. defineB. macroC. constD. typedef答案:A二、填空题(每题2分,共20分)1. C语言中,用于定义一个整型变量的关键字是________。
2011年国家计算机二级c语言等级考试上机题库100题(含答案)
2011年全国计算机二级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)k++;}*n=k;}4: 第4题请编写一个函数void fun(char *tt,int pp[]),统计在tt字符中"a"到"z"26各字母各自出现的次数,并依次放在pp所指的数组中。
江苏省计算机二级考试c真题及答案
江苏省计算机二级考试c真题及答案一、单项选择题(每题2分,共20分)1. C语言中,以下哪个选项是合法的整型常量?A. 0x12B. 0x12.3C. 0x12LD. 0x12F答案:A2. 在C语言中,以下哪个选项是合法的字符常量?A. 'a'B. "a"C. 'ab'D. '0'答案:A3. 若有以下定义:int a=2, b=3; 则表达式a++ + b的值是多少?A. 4B. 5C. 6D. 7答案:B4. 在C语言中,以下哪个选项是合法的数组声明?A. int arr[5] = {1, 2, 3, 4, 5};B. int arr[] = {1, 2, 3, 4, 5};C. int arr[5] = {1, 2, 3};D. int arr = {1, 2, 3, 4, 5};答案:B5. 在C语言中,以下哪个选项是合法的函数声明?A. void func();B. int func(int a, int b);C. int func();D. void func(int a, int b);答案:D6. 在C语言中,以下哪个选项是合法的指针声明?A. int *ptr;B. int ptr[];C. int *ptr[];D. int ptr[5];答案:A7. 在C语言中,以下哪个选项是合法的循环结构?A. for(;;)B. while(1)C. do{} while(0);D. All of the above答案:D8. 在C语言中,以下哪个选项是合法的switch语句?A. switch(a) { case 1: break; }B. switch(a) { default: break; }C. switch(a) { case 1: case 2: break; }D. All of the above答案:D9. 在C语言中,以下哪个选项是合法的宏定义?A. #define PI 3.14159B. #define PI = 3.14159C. #define PI 3.14159D. #define PI 3.14159答案:A10. 在C语言中,以下哪个选项是合法的结构体声明?A. struct { int a; float b; } point;B. struct point { int a; float b; };C. struct { int a; float b; } point;D. Both A and B答案:D二、填空题(每题2分,共20分)1. 在C语言中,若变量a的值为5,执行语句a %= 3后,a的值为________。
2011年3月全国计算机二级C语言笔试题库&&答案
2011年3月全国计算机二级C语言笔试题库&&答案一、选择题在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为A)PAD图B)N-S图C)结构图D)数据流图(2)结构化程序设计主要强调的是A)程序的规模B)程序的效率C)程序设计语言的先进性D)程序易读性(3)为了使模块尽可能独立,要求A)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱C)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱D)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强(4)需求分析阶段的任务是确定A)软件开发方法B)软件开发工具C)软件开发费用D)软件系统功能(5)算法的有穷性是指A)算法程序的运行时间是有限的B)算法程序所处理的数据量是有限的C)算法程序的长度是有限的D)算法只能被有限的用户使用(6)对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是A)快速排序B)冒泡排序C)直接插入排序D)堆排序(7)如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是A)e3,e1,e4,e2 B)e2,e4,e3,e1 C)e3,e4,e1,e2 D) 任意顺序(8)将E-R图转换到关系模式时,实体与联系都可以表示成A)属性B)关系C)键D)域(9)有三个关系R、S和T如下:RB C Da 0 k1b 1 n1SB C Df 3 h2a 0 k1n 2 x1TB C Da 0 k1由关系R和S通过运算得到关系T,则所使用的运算为A)并B)自然连接C)笛卡尔积D)交(10)下列有关数据库的描述,正确的是A)数据处理是将信息转化为数据的过程B)数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变C)关系中的每一列称为元组,一个元组就是一个字段D)如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键字,则称其为本关系的外关键字(11)以下叙述中正确的是A)用C程序实现的算法必须要有输入和输出操作B)用C程序实现的算法可以没有输出但必须要有输入C)用C程序实现的算法可以没有输入但必须要有输出D)用C程序实现的算法可以既没有输入也没有输出(12)下列可用于C语言用户标识符的一组是A)void, define, WORD B)a3_3,_123,Car C)For, -abc, IF Case D)2a, DO, sizeof(13)以下选项中可作为C语言合法常量的是A)-80 B)-080 C)-8e1.0 D)-80.0e(14)若有语句:char *line[5];,以下叙述中正确的是A) 定义line是一个数组,每个数组元素是一个基类型为char为指针变量B) 定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组C) 定义line是一个指针数组,语句中的*号称为间址运算符D) 定义line是一个指向字符型函数的指针(15)以下定义语句中正确的是A)int a=b=0; B)char A=65+1,b=′b′; C)float a=1,*b=&a,*c=&b;D)double a=0 0;b=1.1;(16)有以下程序段char ch; int k;ch=′a′;k=12;printf("%c,%d,",ch,ch,k); printf("k=%d \n",k);已知字符a的ASCII码值为97,则执行上述程序段后输出结果是A)因变量类型与格式描述符的类型不匹配输出无定值B)输出项与格式描述符个数不符,输出为零值或不定值C)a,97,12k=12 D)a,97,k=12(17)有以下程序main(){ int i,s=1;for (i=1;i<50;i++)if(!(i%5)&&!(i%3)) s+=i;printf("%d\n",s);}程序的输出结果是A)409 B)277 C)1 D)91(18)当变量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)(19)若变量已正确定义,有以下程序段int a=3,b=5,c=7;if(a>b) a=b; c=a;if(c!=a) c=b;printf("%d,%d,%d\n",a,b,c);其输出结果是A)程序段有语法错B)3,5,3 C)3,5,5 D)3,5,7(20)有以下程序#include <stdio.h>main(){ int x=1,y=0,a=0,b=0;switch(x){ case 1:switch(y){ case 0:a++; break;case 1:b++; break;}case 2:a++; b++; break;case 3:a++; b++;}printf("a=%d,b=%d\n",a,b);}程序的运行结果是A)a=1,b=0 B)a=2,b=2 C)a=1,b=1 D)a=2,b=1(21)下列程序的输出结果是#include "stdio.h"main(){ int i,a=0,b=0;for(i=1;i<10;i++){ if(i%2==0){a++;continue;}b++;}printf("a=%d,b=%d",a,b); }A)a=4,b=4 B)a=4,b=5 C)a=5,b=4 D)a=5,b=5(22)已知#int t=0;while (t=1){...}则以下叙述正确的是A)循环控制表达式的值为0 B)循环控制表达式的值为1 C)循环控制表达式不合法D)以上说法都不对(23)下面程序的输出结果是main(){ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;printf("%d\n",*(p+2));}A)3 B)4 C)1 D)2(24)以下错误的定义语句是A)int x[][3]={{0},{1},{1,2,3}}; B)int x[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};C)int x[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}}; D)int x[][3]={1,2,3,4};(25)有以下程序void ss(char *s,char t){ while(*s){ if(*s==t)*s=t-′a′+′A′;s++; } }main(){ char str1[100]="abcddfefdbd",c=′d′;ss(str1,c); printf("%s\n",str1);}程序运行后的输出结果是A)ABCDDEFEDBD B)abcDDfefDbD C)abcAAfefAbA D)Abcddfefdbd(26)有如下程序main(){ char ch[2][5]={"6937","8254"},*p[2];int i,j,s=0;for(i=0;i<2;i++)p[i]=ch[i];for(i=0;i<2;i++)for(j=0;p[i][j]>′\0′;j+=2)s=10*s+p[i][j]-′0′;printf("%d\n",s);}该程序的输出结果是A)69825 B)63825 C)6385 D)693825(27)有定义语句:char s[10];,若要从终端给s输入5个字符,错误的输入语句是A)gets(&s[0]); B)scanf("%s",s+1); C)gets(s); D)scanf("%s",s[1]);(28)以下叙述中错误的是A)在程序中凡是以"#"开始的语句行都是预处理命令行B)预处理命令行的最后不能以分号表示结束C)#define MAX 是合法的宏定义命令行D)C程序对预处理命令行的处理是在程序执行的过程中进行的(29)设有以下说明语句typedef struct{ int n;char ch[8];} PER;则下面叙述中正确的是A)PER 是结构体变量名B)PER是结构体类型名C)typedef struct 是结构体类型D)struct 是结构体类型名(30)以下叙述中错误的是A)gets函数用于从终端读入字符串B)getchar函数用于从磁盘文件读入字符C)fputs函数用于把字符串输出到文件D)fwrite函数用于以二进制形式输出数据到文件(31)以下能正确定义一维数组的选项是A)int a[5]={0,1,2,3,4,5}; B)char a[]={′0′,′1′,′2′,′3′,′4′,′5′,′\0′}; C)char a={′A′,′B′,′C′}; D)int a[5]="0123";(32)有以下程序#include<string.h>main(){ char p[]={′a′, ′b′, ′c′},q[10]={ ′a′, ′b′, ′c′};printf("%d%d\n",strlen(p),strlen(q));}以下叙述中正确的是A) 在给p和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3B) 由于p数组中没有字符串结束符,长度不能确定,但q数组中字符串长度为3C) 由于q数组中没有字符串结束符,长度不能确定,但p数组中字符串长度为3D) 由于p和q数组中都没有字符串结束符,故长度都不能确定(33)有以下程序#include <stdio.h>#include <string.h>void fun(char *s[],int n){ char *t; int i,j;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(strlen(s[i])>strlen(s[j])) {t=s[i];s[i]:s[j];s[j]=t;}}main(){ char *ss[]={"bcc","bbcc","xy","aaaacc","aabcc"};fun(ss,5); printf("%s,%s\n",ss[0],ss[4]);}程序的运行结果是A)xy,aaaacc B)aaaacc,xy C)bcc,aabcc D)aabcc,bcc(34)有以下程序#include <stdio.h>int f(int x){ int y;if(x==0||x==1) return(3);y=x *x-f(x-2);return y;}main(){ int z;z=f(3); printf("%d\n",z);}程序的运行结果是A)0 B)9 C)6 D)8(35)下面程序段的运行结果是char str[]="ABC",*p=str;printf("%d\n",*(p+3));A)67 B)0 C)字符′C′的地址D)字符′C′(36)若有以下定义:struct link{ int data;struct link *next;} a,b,c,*p,*q;且变量a和b之间已有如下图所示的链表结构:指针p指向变量a,q指向变量c。
2011年计算机等级考试二级C语言上机题库(含答案)
认识实习报告9月初,我们先前往了山东威海滨田印刷机械有限公司进行认识实习。
此后我们又去了一家大型零件加工厂进行了参观。
通过这次的实习,我们了解到机械行业第一线的一些具体情况,了解了工业生产实施的具体过程,同时也对一些工厂的技术实施,管理方法有了一定的认识。
前往滨田印刷机械有限公司以后,我们在指导老师和工程师的带领下,分批开始了对该厂的参观。
这一切对我们而言陌生有新鲜。
开始,我们在一位严谨的工程师的带领下,去了零件加工厂了解了各类零件的加工。
其中参观了各种自动化得机床,我们还从一部分机床中看到了上学期我们金工实习那些机床的影子。
但给我最大的感触是整个车间里,国产的机床并不是很多。
整个过程纪律严明,一边参观零件的加工,一边聆听了工程师给予我们的讲解了解了整个工厂的第一道程序。
此后,我们前往了三间组装车间,参观了52系列,66系列和47系列三种印刷机的组装。
这次给我们介绍的是一位年轻的工程师,他详细的向我们介绍了这三种印刷机的一些知识。
我们也了解了刚知道这几个型号产生的疑惑,原来,47,52和66的意思是最大用纸尺寸的长。
其中47系列是单色印刷机,可用于印号码,打孔线和树脂凸版印刷。
使用的集中供油系统可以有效的防止因局部遗忘加油造成的零件磨损,延长零件的精度和使用寿命,杜绝润滑油浪费,保护环境卫生。
52系列性能较高,大都是以高级胶印机所具有的高耐久性、高精度的部件为基础,生产的高性能印刷机。
同时也是可适合文字、线条印刷,实地印刷等各种印刷需要。
另外通过添加多种备选装置,使机器升级到更高效率的印刷机。
到66系列时,工程师大哥向我们介绍的较为详细,它分为两款:WEIHAI HAMADA66-NP 实现精美平版印刷及号码印刷的高品质重型印刷机和WEIHAI HAMADA66 真正高品质的重型印刷机。
WEIHAI HAMADA66系列是以真正高质量印刷为目标而生产的大四开重型胶印机。
这款先进的机械拥有按扭式与触摸式键盘,所需操作全部集中在3处操作盘上。
2011年春江苏省计算机二级C考试笔试真题及答案
2011年春江苏省计算机二级C考试笔试真题绝密★启用前2011年春江苏省高等学校非计算机专业学生计算机基础知识和应用能力等级考试二级试卷试卷语种:C语言说明:1.本试卷包括计算机基础知识部分和程序设计部分,考试时间共12 0分钟;2.本试卷满分为60分,分选择题和填空题,试卷不分A、B类型;3.计算机基础知识部分全部是选择题(20分),程序设计部分分为选择题(1 0分)和填空题(30分)两种;4.选择题用答题卡答题。
每一项有A、B、C、D四个可供选择的答案,请选择其中一个你认为正确的答案,用HB铅笔涂写在答题卡的相应答题号内。
每选对一项得1分,不选或选错不得分;5.填空题用答题纸答题。
请将答案用蓝、黑色钢笔或圆珠笔填写在答题纸的相应答题号内,每个答案只占一行,不得换行。
每填对一个答案得1分,不填或填错不得分;6.请认真填写并仔细核对答题卡和答题纸上的学校名称、准考证号和姓名是否填写正确。
7.考试结束时将试卷、答题卡和答题纸放在桌上,不得带走。
待监考人员收毕清点后,方可离场。
第一部分计算机基础知识1.下列有关通信技术的叙述中,错误的是___(1)___ 。
A.无论是模拟通信还是数字通信,目前都是通过载波技术实现远距离的信息传输B.多路复用技术可以降低信息传输的成本,常用的多路复用技术有TDM和FDMC.卫星通信属于微波通信,它是微波接力通信技术和空间技术相结合的产物D.目前3G移动通信有多种技术标准,我国三大电信运营商均采用同一标准2.使用存储器存储二进位信息时,存储容量是一项很重要的性能指标。
存储容量的单位有多种,下面不是存储容量单位的是___(2)___ 。
A. TBB. XBC. GBD. MB3.设有补码表示的两个单字节带符号整数a=01001110和b=01001111。
则a-b的结果用补码表示为___(3)___ 。
A. 11111111B. 10011101C. 00111111D. 101111114.下列有关PC机主板上BIOS和CMOS的叙述中,错误的是___(4)___ 。
C语言计算机二级考试题目及答案
C语言计算机二级考试题目及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述中,错误的是()。
A. C语言是一种高级语言B. C语言可以直接在计算机上运行C. C语言具有结构化的特点D. C语言具有丰富的函数库答案:B2. C语言中,用于定义变量的关键字是()。
A. varB. intC. defineD. let答案:B3. 在C语言中,下列选项中不是合法的变量名的是()。
A. _nameB. name_C. 123nameD. name答案:C4. 下列关于数组的描述中,正确的是()。
A. 数组必须初始化B. 数组可以存储不同类型的数据C. 数组的索引从0开始D. 数组的大小在定义后可以改变答案:C5. C语言中,用于实现循环结构的关键字是()。
A. loopB. whileC. repeatD. do答案:B6. 下列关于指针的描述中,错误的是()。
A. 指针可以存储变量的地址B. 指针可以存储函数的地址C. 指针可以存储数组的索引D. 指针可以存储指针的地址答案:C7. 在C语言中,下列选项中可以作为函数参数的数据类型是()。
A. 结构体B. 联合体C. 枚举类型D. 所有选项答案:D8. C语言中,用于定义结构体的关键字是()。
A. structB. unionC. enumD. typedef答案:A9. 下列关于文件操作的描述中,错误的是()。
A. 文件操作需要使用库函数B. 文件操作需要使用文件指针C. 文件只能以文本模式打开D. 文件可以进行读写操作答案:C10. 在C语言中,下列选项中不属于运算符的是()。
A. %B. &&C. =D. sizeof答案:D二、填空题(每题2分,共20分)1. C语言中,用于定义一个整型变量的关键字是______。
答案:int2. 在C语言中,用于定义一个字符型变量的关键字是______。
答案:char3. C语言中,用于定义一个浮点型变量的关键字是______。
2011春江苏省计算机二级VC真题与答案
2011春江苏省计算机二级VC++试题第二部分 C++语言程序设计选择题(用答题卡答题,答案依次填在2l”30答题号内)21.下列关于switch语句的描述中,不正确的是___(21)___ 。
A.switch语句中的default子句可以没有,也可以有一个B.switch语句中的每一个case子句中必须有一个break语句C.switch语句中的default子句可放在switch语句中的任何位置D.switch语句中的case子句后面的表达式只能是整型、字符或枚举类型常量22.设有说明语句:int a=1,b=2;float x=3,y:4:以下赋值中存在语法错误的是___(22)___A. a=++x;B. y=++b;C. b++=x++;D. b+=x++ + y++23.设有说明语句:char ss[]={“I am a student.”};static float x[20];下列选项中,存在语法错误的是___(23)___A.cout<<ss;B.cin>>ss;C.cout<<x;D.cin>>x;24.设有说明语句:float f(int &a,int b):int x,y;以下对函数f的调用语句中,正确的是(24)A.f(x,y) ;B.f(&x,y);C.f(15,20);D.f(*x,y);25.设有说明:int a=1O,b=15,c;执行语句:c=a ||(a+=b)||(++b);则a、b、c的值分别为___(25)___A.10,15,1B.25,16,1C.10,15,10D.25,15,126.下列关于函数重载的描述中,不正确的是___(26)___ 。
A.两个或两个以上的函数取相同的函数名,但形参的个数不同B.两个或两个以上的函数取相同的函数名,各函数的返回值的类型必须不同C.两个或两个以上的函数取相同的函数名,形参的个数相同但类型不同D.两个或两个以上的函数取相同的函数名,形参的个数不同或类型不同27.在C++的集成环境中,系统约定c++源程序文件缺省的扩展名为___(27)___A.vcB.c++C.vc++D.cpp28.用友元函数进行双目运算符重载时, 该友元函数的参数表中应定义___(28)___个参数A.OB. 1C.2D.329.以下有关抽象类的叙述中,正确的是___(29)___A.抽象类不能含有纯虚函数B.可以定义抽象类的对象C.在抽象类中至少含有一个没有函数体的虚函数D.抽象类不能作为基类派生出新的类30.以下有关this指针的叙述中,不正确的是___(30)___A.当调用对象的非静态成员时,总存在一个this指针B.非静态成员函数调用类中的成员时,可直接使用this指针C.this指针隐含地指向要用到的当前对象D.静态成员函数也存在this指针二、填空题(请将答案填写在答题纸的相应答题号内,每个答案只占一行)●基本概念题,共5分1.成员函数实现双目运算符重载时, 该运算符的左操作数是___(1)___ , 其右操作数是___(2)___ 。
2011年计算机二级C语言上机题库及答案
2011年计算机二级C语言上机题库及答案(一部分)一、填空题:给定程序中,函数fun的功能是:对形参s所指字符串中下标为奇数的字符按ASCII码大小递增排序,并将排序后下标为奇数的字符取出,存入形参p所指字符数组中,形成一个新串。
例如,形参s所指的字符串为:baawrskjghzlicda,执行后p所指字符数组中的字符串应为:aachjlsw。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!给定源程序:#includevoid fun(char *s, char *p){int i, j, n, x, t;n=0;for(i=0; s[i]!='\0'; i++) n++;for(i=1; i< i="i+2)">/**********found**********/___1___;/**********found**********/for(j=___2___+2 ; jif(s[t]>s[j]) t=j;if(t!=i){x=s[i]; s[i]=s[t]; s[t]=x;}}for(i=1,j=0; i/**********found**********/p[j]=___3___;}main(){char s[80]="baawrskjghzlicda", p[50];printf("\nThe original string is : %s\n",s);fun(s,p);printf("\nThe result is : %s\n",p);}解题答案:/**********第一空**********/t=i;/**********第二空**********/for(j=i+2; j/**********第三空**********/p[j]=0;******************************************二、改错题:给定程序MODI1.C中函数fun 的功能是:用下面的公式求π的近似值,直到最后一项的绝对值小于指定的数(参数num )为止:π 1 1 1┄┄≈1 - ┄┄+ ┄┄- ┄┄+ ...4 35 7例如, 程序运行后, 输入0.0001, 则程序输出3.1414。
计算机二级c语言考试题及答案
计算机二级c语言考试题及答案一、选择题1. 下列关于C语言的描述中,错误的是()。
A. C语言是一种高级编程语言B. C语言具有可移植性C. C语言可以直接在操作系统上运行D. C语言具有结构化编程的特点答案:C2. 在C语言中,用于定义一个结构体的关键字是()。
A. structB. unionC. enumD. typedef答案:A3. 下列关于数组的描述中,正确的是()。
A. 数组必须在程序的开始处定义B. 数组的大小在定义后可以改变C. 数组可以存储不同类型的数据D. 数组的下标从0开始答案:D二、填空题1. 在C语言中,使用________关键字可以定义一个函数。
答案:void2. C语言中,用于输入输出的库函数分别是________和________。
答案:scanf; printf3. 在C语言中,声明一个字符型数组可以使用________关键字。
答案:char三、编程题1. 编写一个C语言程序,计算并输出100以内的奇数和。
```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i < 100; i += 2) {sum += i;}printf("100以内的奇数和为:%d\n", sum);return 0;}```2. 编写一个C语言程序,实现两个整数的交换。
```c#include <stdio.h>int main() {int a = 10, b = 20, temp;temp = a;a = b;b = temp;printf("交换后的值:a = %d, b = %d\n", a, b);return 0;}```四、简答题1. 简述C语言中指针的作用。
答案:指针在C语言中用于存储变量的内存地址,它允许程序间接访问内存中的数据。
2011年计算机等级二级C语言章节习题及答案(6)
2011年计算机等级二级C语言章节习题及答案(6)2011年计算机等级二级C语言章节习题及答案(6)温馨提示:帮考网计算机二级C语言免费练习题,如需完整题库请登录 /doc/429053078.html,一、选择题(在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡相应位置上。
)7.1 若有说明 int a[3][4];则a数组元素的非法引用是A)a[0][2*1]B)a[1][3]C)a[4-2][0]D)a[0][4]正确答案:D7.2 在C语言中,引用数组元素时,其数组下标的数据类型允许是A)整型常量B)整型表达式C)整型常量或整型表达式D)任何类型的表达式正确答案:C7.3 执行下面的程序段后,变量k中的值为int k=3, s[2];s[0]=k; k=s[1]*10;A)不定值B)33C)30D)10正确答案:A7.4 定义如下变量和数组:int k;int a[3][3]={9,8,7,6,5,4,3,2,1};则下面语句的输出结果是for(k=0;k《3;k++)printf(“%d”,a[k][k]);A)7 5 3B)9 5 1C)9 6 3D)7 4 1正确答案:B7.5 下列程序执行后的输出结果是main(){ char arr[2][4];strcpy(arr,“you”);strcpy(arr[1],“me”);arr[0][3]=′&′;printf(“%s\n”,arr);}A)you&meB)youC)meD)err正确答案:A7.6 设有数组定义: char array[]=“China”; 则数组 array所占的空间为A)4个字节B)5个字节C)6个字节D)7个字节正确答案:C7.7 以下不正确的定义语句是A)double x[5]={2.0,4.0,6.0,8.0,10.0};B)int y[5]={0,1,3,5,7,9};C)char c1[]={′1′,′2′,′3′,′4′,′5′};D)char c2[]={′\x10′,′\xa′,′\x8′};正确答案:B7.8 若有说明:int a[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是A)2B)3C)4D)无确定值正确答案:B7.9 对以下说明语句的正确理解是int a[10]={6,7,8,9,10};A)将5个初值依次赋给a[1]至a[5]B)将5个初值依次赋给a[0]至a[4]C)将5个初值依次赋给a[6]至a[10]D)因为数组长度与初值的个数不相同,所以此语句不正确正确答案:B7.10 若有说明:int a[][4]={0,0};则下面不正确的叙述是A)数组a的每个元素都可得到初值0B)二维数组a的第一维大小为1C)当初值的个数能被第二维的常量表达式的值除尽时,所得商数就是第一维的大小D)只有元素a[0][0]和a[0][1]可得到初值,其余元素均得不到确定的初值正确答案:D7.11 有以下程序main(){ char a[]={ ′a′,′b′,′c′,′d′,′e′,′f′,′g′,′h′,′\0′};int i,j;i=sizeof(a);j=strlen(a);printf(“%d,%d\b”,i,j);}程序运行后的输出结果是A)9,9B)8,9C)1,8D)9,8正确答案:D7.12 假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是A)3B)6D)20正确答案:D7.13 以下能对二维数组c进行正确的初始化的语句是A)int c[3][]={{3},{3},{4}};B)int c[][3]={{3},{3},{4}};C)int c[3][2]={{3},{3},{4},{5}};D)int c[][3]={{3},{},{3}};正确答案:B7.14 在C语言中,一维数组的定义方法为类型说明符数组名A)[常量表达式]B)[整型常量]C)[整型变量]D)[整型常量]或[整型表达式]正确答案:A7.15 若二维数组a有m列,则计算任一元素a[i][j]在数组中相对位置的公式为(假设a[0][0]位于数组的第一个位置上)A)i*m+jB)j*m+IC)i*m+j-1D)i*m+j+1正确答案:A7.16 下面程序输出的结果是{ int i;int a[3][3]={1,2,3,4,5,6,7,8,9};for(i=0;i《3;i++)printf(“%d ”,a[2-i][i]);}A)1 5 9B)7 5 3C)3 5 7D)5 9 1正确答案:B7.17 以下不能对二维数组a进行正确初始化的语句是A)int a[2][3]={0};B)int a[][3]={{1,2},{0}};C)int a[2][3]={{1,2},{3,4},{5,6}};D)int a[][3]={1,2,3,4,5,6};正确答案:C7.18 阅读下面程序,则程序段的功能是#include “stdio.h”main(){ int c[]={23,1,56,234,7,0,34},i,j,t; for(i=1;i 《7;i++){ t=c[i];j=i-1;while(j》=0 && t》c[j]){c[j+1]=c[j];j--;}c[j+1]=t;}for(i=0;i《7;i++)printf(“%d ”,c[i]);putchar(′\n′);}A)对数组元素的升序排列B)对数组元素的降序排列C)对数组元素的倒序排列D)对数组元素的随机排列正确答案:B7.19 下列选项中错误的说明语句是A)char a[]={′t′,′o′,′y′,′o′,′u′,′\0′}; B)char a[]={“toyou\0”};C)char a[]=“toyou\0”;D)char a[]=′toyou\0′;正确答案:D7.20 下述对C语言字符数组的描述中错误的是A)字符数组的下标从0开始B)字符数组中的字符串可以进行整体输入/输出C)可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值D)字符数组可以存放字符串正确答案:C7.21 阅读下列程序,则在执行后,程序的运行结果为#include “stdio.h”#include “string.h”main(){ char a[30]=“nice to meet you!”;strcpy(a+strlen(a)/2,“you”);printf(“%s\n”,a);}A)nice to meet you youB)nice toC)meet you youD)nice to you正确答案:D7.22 现有如下程序段#include “stdio.h”main(){ int k[30]={12,324,45,6,768,98,21,34,453,456}; int count=0,i=0;while(k[i]){ if(k[i]%2==0‖k[i]%5==0)count++;i++;}printf(“%d,%d\n”,count,i);则程序段的输出结果为A)7,8B)8,8C)7,10D)8,10正确答案:D7.23 有如下定义语句:int aa[][3]={12,23,34,4,5,6,78,89,45};,则45在数组aa中的行列坐标各为A)3,2B)3,1C)2,2D)2,1正确答案:C7.24 现在有如下程序#include “stdio.h”main(){ char s[80];int i,j;gets(s);for(i=j=0;s[i]!=′\0′;i++)if(s[i]!=′H′______)s[j]=′\0′;puts(s);这个程序段的功能是删除输入的字符串中字符′H′,则空线上应当添入的是A)s[j++]=s[i];j++;B)s[j]=s[i++];j++;C)s[j++]=s[i];D)s[j]=s[i];正确答案:C7.25 以下二维数组c的定义形式是A)int c[3][]B)float c[3,4]C)double c[3][4]D)float c(3)(4)正确答案:C7.26 已知:int c[3][4];则对数组元素引用正确的是A)c[1][4]B)c[1.5][0]C)c[1+0][0]D)以上表达都错误正确答案:C7.27 若有以下语句,则正确的描述是char a[]=“toyou”;char b[]={′t′,′o′,′y′,′o′,′u′};A)a数组和b数组的长度相同B)a数组长度小于b数组长度C)a数组长度大于b数组长度D)a数组等价于b数组正确答案:C7.28 已知:char a[15],b[15]={“I love china”};则在程序中能将字符串I love china赋给数组a的正确语句是A)a=“I love china”;B)strcpy(b,a);C)a=b;D)strcpy(a,b);正确答案:D7.29 已知:char a[20]= “abc”,b[20]= “defghi”;则执行下列语句后的输出结果为printf(“%d”,strlen(strcpy(a,b)));A)11B)6C)5D)以上答案都不正确正确答案:B7.30 阅读如下程序段,则程序在先后输入love和china后,输出结果是#include#includemain(){ char a[30],b[30];int k;gets(a);gets(b);k=strcmp(a,b);if(k》0) puts(a);else if(k《0) puts(b);}A)loveB)chinaC)lovechinaD)没有输出结果正确答案:A二、填空题(请将每一个空的正确答案写在答题卡相应序号后。
2011年春江苏省计算机二级考试c语言上机试题
2011年春江苏省计算机二级考试c语言上机试题2011年(春季)江苏省计算机二级考试C语言上机部分试卷上机试卷(01)一、改错题(16分)【程序功能】对存储在string数组内的英文句子中所有以a开始并以e结尾的单词做加密处理。
加密规则:若单词长度为偶数个字符,则将组成该单词的所有字母循环左移一次;否则循环右移一次。
例如,单词able经循环左移一次后变为blea;单词abide经循环右移一次后变为eabid。
【测试数据与运行结果】测试数据:she is able to abide her.屏幕输出:she is blea to eabid her.【含有错误的源程序】#include <stdio.h>#include <ctype.h>void wordchange(char str[]){ int i,j,k,m;char c;for(i=0;str[i];i++){for(j=i,k=i;isalpha(str[k]);k++);if(str[j]=='a' || &&str[k-1]=='e'){if((k-j)%2=0)=={c=str[j];for(m=k-1;m>j;m--)str[m]=str[m+1];str[k-1]=c;}else{c=str[k-1];for(m=k-1;m>j;m--)str[m]=sty[m-1];str[j]=c;}}i=k;} 。
}void main(){ char string[80]="she is able to abide her.";wordchange(string[80]);(string)puts(string);}【要求】1.将上述程序录入到文件myf1.c中,根据题目要求及程序中语句之间的逻辑关系对程序中的错误进行修改。
2.改错时,可以修改语句中的一部分内容,调整语句次序,增加少量的变量说明或编译预处理命令,但不能增加其他语句,也不能删去整条语句。
江苏省计算机c语言二级考试试题及答案
江苏省计算机c语言二级考试试题及答案一、选择题1. C语言中,下列语句中不会发生数据截断的是:A. float a = 3.14;B. char b = 'A';C. int c = 50000;D. short d = 32767;答案:A2. 下列哪个不是C语言的关键字?A. intB. floatC. doubleD. main答案:B3. 对于C语言中的逻辑运算符,下列表达式的值为真(非零)的是:A. 1 && 0B. 1 || 0C. !1D. 1 & 0答案:B二、编程题1. 编写一个程序,接受用户输入的三个整数,然后按照从小到大的顺序输出这三个整数。
```c#include <stdio.h>int main() {int num1, num2, num3;printf("请输入三个整数:\n");scanf("%d %d %d", &num1, &num2, &num3);if (num1 > num2) {int temp = num1;num1 = num2;num2 = temp;}if (num1 > num3) {int temp = num1;num1 = num3;num3 = temp;}if (num2 > num3) {int temp = num2;num2 = num3;num3 = temp;}printf("从小到大的顺序为:%d %d %d\n", num1, num2, num3); return 0;}```答案:请输入三个整数:3 1 2从小到大的顺序为:1 2 32. 编写一个递归函数,计算斐波那契数列的第 n 项(n >= 1)。
```c#include <stdio.h>int fibonacci(int n) {if (n == 1 || n == 2) {return 1;} else {return fibonacci(n - 1) + fibonacci(n - 2);}}int main() {int n;printf("请输入正整数 n:");scanf("%d", &n);int result = fibonacci(n);printf("斐波那契数列的第 %d 项为:%d\n", n, result); return 0;}```答案:请输入正整数 n:6斐波那契数列的第 6 项为:8以上是江苏省计算机C语言二级考试的部分试题及答案,希望能够对您有所帮助。
2011年计算机等级二级C语言课后练习题及答案解析(1)
2.下列说法中正确的是【 】。
A) C程序书写时,不区分大小写字母
B) C程序书写时,一行只能写一个语句
C) C程序书写时,一个语句可分成几行书写
D) C程序书写时每行必须有行号
分析:C语言严格区分大小写字母,如"A1"和"a1"被认为是两个不同的标识符,C程序的书写非常灵活,既可以一行多句,又可以一句多行,且每行不加行号。
本题正确答案为A。
7.二进制数00110101转换成八进制数是【 】。
A) 055 B) 065 C) 056 D) 152
分析:二进制数化成八进制数的方法是:从右向左划分,将每3位二进制数书写成1位八进制数。
本题正确答案为B。
8.将二进制数1011011.011转换成十进制数是【 】。
本题正确答案为C。
10.一个字长的二进制位数是【 】。
A) 2个BYTE,即16个bit B) 3个BYTE,即24个bit C) 4个BYTE,即32个bit D) 随计算机系统不同而不同
分析:一个二进制位也称做1bit,八个二进制位称做1个BYTE,即所说的一个字节,BYTE和bit有固定的换算关系,但是计算机中的字长WORD和字节BYTE没有固定的换算关系,字长WORD是随CPU型号而异的。
printf("%d\\n",k);
}
分析在C语言中当3个加号或3个减号连在一起时,中间的符号归属左边的变量,即-i---j相当于-(i--)-j。
本题正确答案为 【5】-j 。
本题正确答案为【2】 3.500000
3.若执行下面程序段后的输出为:3,4,5,请填空。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2011年(春季)江苏省计算机二级考试C语言上机部分试卷上机试卷(01)一、改错题(16分)【程序功能】对存储在string数组内的英文句子中所有以a开始并以e结尾的单词做加密处理。
加密规则:若单词长度为偶数个字符,则将组成该单词的所有字母循环左移一次;否则循环右移一次。
例如,单词able经循环左移一次后变为blea;单词abide经循环右移一次后变为eabid。
【测试数据与运行结果】测试数据:she is able to abide her.屏幕输出:she is blea to eabid her.【含有错误的源程序】#include <stdio.h>#include <ctype.h>void wordchange(char str[]){ int i,j,k,m;char c;for(i=0;str[i];i++){for(j=i,k=i;isalpha(str[k]);k++);if(str[j]=='a' || str[k-1]=='e'){if((k-j)%2=0){c=str[j];for(m=k-1;m>j;m--)str[m]=str[m+1];str[k-1]=c;}else{c=str[k-1];for(m=k-1;m>j;m--)str[m]=str[m-1];str[j]=c;}}i=k;} 。
}void main(){ char string[80]="she is able to abide her.";wordchange(string[80]);puts(string);}【要求】1.将上述程序录入到文件myf1.c中,根据题目要求及程序中语句之间的逻辑关系对程序中的错误进行修改。
2.改错时,可以修改语句中的一部分内容,调整语句次序,增加少量的变量说明或编译预处理命令,但不能增加其他语句,也不能删去整条语句。
3.改正后的源程序(文件名myf1.c)保存在T盘根目录中供阅卷使用,否则不予评分。
二、编程题(24分)【程序功能】矩阵数据生成及排序。
【编程要求】1.编写函数void cresort(int a[][3],int n)。
函数功能是先根据a指向的二维数组中第1列(列下标为0)和第2列(列下标为1)的值按下表所列规则生成第3列各元素的值,再以行为单位重排a数组的各行,使得所有行按第3列元素值从小到大排列。
第3列生成规则:对任意的i(0<=i<=n-1)有:2.编写main函数。
函数功能是声明5行3列二维数组a并用测试数据初始化,用数组a作为实参调用cresort函数,将a数组中的数据输出到屏幕及文件myf2.out中。
最后将考生本人的准考证号字符串输出到文件myf2.out中。
【测试数据与运行结果】测试数据:27 16 011 12 06 9 07 13 08 5 0屏幕输出:27 16 16 9 18 5 211 12 37 13 4【要求】1.源程序文件名为myf2.C,输出结果文件名为myf2.out。
2.数据文件的打开、使用、关闭均用C语言标准库中缓冲文件系统的文件操作函数实现。
3.源程序文件和运行结果文件均需保存在T盘根目录中供阅卷使用。
4.不要复制扩展名为obj和exe的文件到T盘中。
2011年(春季)江苏省计算机二级考试C语言上机部分试卷上机试卷(02)一、改错题(16分)【程序功能】统计一个字符串中包含的字母串个数并找出其中最长的字母串。
所谓字母串是指一个连续的字母序列(不区分大小写),字母串之间用非字母字符分隔。
函数count的功能是统计p指向的字符串中包含的字母串个数,找出的最长字母串存放在pmax指向的数组中,函数返回字母串的个数。
【测试数据与运行结果】测试数据:you are teaeher234too.屏幕输出:a=you are teacher234too.number is 4max string is:teacher【含有错误的源程序】#include <stdio.h>#include <string.h>#include <ctype.h>int count(char p[],char pmax[]){ int j=0,k,m=0;char temp[100];while(*p){ while((!isalpha(*p)) && *p) p++;k=0;if(*p!='\0') m++;while(isalpha(*p))temp[k++]=*p++;temp[k]="\0";if(k<j){ j=k;pmax=temp;}}return m;}void main(){ char a[100]="you are teacher234too.",max[100];int i;i=count(a[],max[]);if(i==0)printf("a=%S: No letter strings!\n",a);elseprinff("a=%s\nnumber is %d\nmax string is:%s\n",a,i,max);}【要求】1.将上述程序录入到文件myf1.c中,根据题目要求及程序中语句之间的逻辑关系对程序中的错误进行修改。
2.改错时,可以修改语句中的一部分内容,调整语句次序,增加少量的变量说明或编译预处理命令,但不能增加其他语句,也不能删去整条语句。
3.改正后的源程序(文件名myf1.c)保存在T:盘根目录中供阅卷使用,否则不予评分二、编程题(24分)【程序功能】将一个二维数组中的若干行数据按要求插入到另一个二维数组中。
【编程要求】1.定义符号常量N代表42.编写函数int insert_row(int a[][N],int n,int b[][N],int m)。
已知形参a指向的二维数组(简称a数组)前n行数据已按每行数据之和升序排列,形参b 指向的二维数组中有m行数据。
insert_row函数实现将b数组中m行数据插入到a 数组中,完成插入操作后a数组中所有行的数据仍按每行数据之和升序排列。
函数返回a数组中有效数据的行数。
3.编写main函数。
函数功能是声明两个二维数组x和y并用测试数据初始化,用x和y数组作为实参调用insert_row函数将y数组中的两行数据插入到x数组中。
输出x 数组中全部数据到屏幕及文件myf2.out中。
最后将考生本人的准考证号字符串输出到文myf2.out中。
【测试数据与运行结果】测试数据:x数组原数据:2 23 49 10 11 12y数组数据:1 3 5 75 10 15 20屏幕输出:2 23 41 3 5 79 10 11 125 10 15 20【答案】改错1:将第13行 "temp[0]="\0" 修改为 temp[0]='\0'改错2:将第 14行 if(k<j) 修改为 if(k>j)改错3:将第16行 pmax=temp,修改为 strcpy(pmax,temp);改错4:将第24行i=count(a[],max[])修改为i=count(a,max);C语言上机部分试卷解析上机试卷(01)一、改错题if(str[j]=='a' || str[k-1]=='e') 改为 &&if((k-j)%2=0) 改为==for(m=k-1;m>j;m--) 改为m=j;m<k-1;m++wordchange(string[80]); 改为string二、编程题#include<stdio.h>#define N 5int isprime(int m){ int i;for(i=2;i<=m/2;i++)if(m%i==0)return 0;retum 1;}void cresort(int a[][3],int n){ int i,j,k,m,c,t;for(i=0;i<n;i++){c=isprime(a[i][0])+isprime(a[i][1]);switch(c){case 0:a[i][2]=1;break;case 2:a[i][2]=4;break;case 1:if(isprime(a[i][0]))a[i][2]=3;else a[i][2]=2;break;}}for(i=0;i<n-1;i++){k=i;for(j=i+1;j<n;j++)}C语言上机部分试卷解析上机试卷(02)一、改错题【答案】改错1:将第13行 "temp[0]="\0" 修改为 temp[0]='\0'改错2:将第 14行 if(k<j) 修改为 if(k>j)改错3:将第16行 pmax=temp,修改为 strcpy(pmax,temp);改错4:将第24行i=count(a[],max[])修改为i=count(a,max);。