收藏 分销(赏)

2023年计算机二级C语言五套模拟卷及答案.doc

上传人:精*** 文档编号:3245152 上传时间:2024-06-26 格式:DOC 页数:66 大小:97.04KB 下载积分:16 金币
下载 相关 举报
2023年计算机二级C语言五套模拟卷及答案.doc_第1页
第1页 / 共66页
2023年计算机二级C语言五套模拟卷及答案.doc_第2页
第2页 / 共66页


点击查看更多>>
资源描述
计算机二级C语言五套模仿卷及答案 模仿试题一 一、 选用题(本大题30分,每题2分) 1.下列说法对旳是 。 E) main函数必要放在C程序开头 F) main函数必要放在C程序最终 G) main函数可以放在C程序中间某些,但在执行C程序时是从程序开头执行 H) main函数可以放在C程序中间某些,但在执行C程序时是从main函数开始 2.在下面几组数据类型中,全为最常用基本数据类型是哪一组: 。 A)整型 实型 字符型 B)整型 数组 指针 C)数组 构造体 共用体 D)指针 逻辑型 空类型 3.若有阐明语句:char c= ‘\64’ ;则变量C包括: 。 A)1个字符 B)2个字符 C)3个字符 D)阐明不合法,C值不确定 4.设有如下定义和执行语句,其输出成果为: 。 int a=3,b=3; a = --b + 1; printf(“%d %d”,a,b); A)3 2 B)4 2 C)2 2 D)2 3 5.C语言中,运算对象必要是整型数运算符是 。 A)% B)\ C)% 和 \ D)** 6.能对旳体现x取值范围在[0,100]和[-10,-5]内体现式是 。 A)(x<=-10)||(x>=-5)&&(x<=0)||(x>=100) B)(x>=-10)&&(x<=-5)||(x>=0)&&(x<=100) C)(x>=-10)&&(x<=-5)&&(x>=0)&&(x<=100) D)(x<=-10)||(x>=-5)&&(x<=0)||(x>=100) 7.程序段如下 int k=0; while(k++<=2); printf("last=%d\n",k); 则执行成果是last= 。 A)2 B)3 C)4 D)无成果 8.下面有关for循环对旳描述是 。 A)for循环只能用于循环次数已经确定状况 B)for循环是先执行循环体语句,后判断体现式 C)在for循环中,不能用break语句跳出循环体 D)for循环循环体语句中,可以包括多条语句,但必要用花括号括起来 9.若二维数组a有m列,则a[I][j]元素前数组元素个数为: 。 A)j*m+i B)i*m+j C)i*m+j-113 D)i*m+j+1 10.C语言中变量指针指是: 。 A)变量类型 B)变量值 C)变量值 D)变量地址 11.设有两字符串“Beijing”、“China”分别存储在字符数组str1[10],str2[10]中,下面语句中能把“China”连接到“Beijing”之后为: 。 A)strcpy(str1,str2); B)strcpy(str1,“China”); C)strcat(str1,“China”) D)strcat(“Beijing”,str2); 12.如下程序运行成果是: 。 main( ) { int a=2,i ; for(i=0;i<3;i++) printf(“%4d”,f(a) ) ; } f( int a) { int b=0,c=3; b++; c++; return(a+b+c);} A)7 10 13 B)7 7 7 C)7 9 11 D)7 8 9 13.在C语言程序中,若未在函数定义时阐明函数类型,则函数默认类型为: 。 A)void B)double C)int D)char 14.在阐明一种构造体变量时系统分派给它存储空间是 。 E) 该构造体中第一种组员所需存储空间 F) 该构造体中最终一种组员所需存储空间 G) 该构造体中占用最大存储空间组员所需存储空间 H) 该构造体中所有组员所需存储空间总和 15.使用fseek函数可以实现操作是 。 E) 变化文献位置指针目前位置 F) 文献次序读写 G) 文献随机读写 H) 以上都不对 二、判断题(本大题10分,每题1分) 1、C程序可以由若干个源文献构成,因而最小功能单位是源文献,最小编译单位是函数。( ) 2、C程序有三种构造化程序设计措施,分别次序构造、选用构造和循环构造。( ) 3、在if语句中,if子句与else子句都可以单独使用,构成了if语句两种缺省形式。( ) 4、for语句作为循环控制语句时,其括号内各个体现式及其后分号都可缺省。( ) 5、C程序中函数不可以嵌套定义但可以嵌套调用。( ) 6、字符串可以用来给数组赋值,在C程序执行语句中可以直接用字符串给数组名赋值。 ( ) 7、数组名也可作为函数参数使用,此时数组名代表数组起始地址。( ) 8、在函数内复合语句中定义变量在本函数范围内有效。( ) 9、申明一种构造体类型一般形式为struct 构造体名 {组员表列};。( ) 10、ANCI C规定了原则输入输出函数库,用fseek()函数来实现打开文献。( ) 三、程序填空题(本大题12分,每题2分) 1.下面程序可求出1~1000自然数中所有完数(因子和等于该数自身数)请填空。 main( ) { int m,n,s; for(m=2;m<1000;m++) { ____(1)____; for(n=1;n<=m/2;n++) if(__(2)___) s+=n; if(__(3)___) printf(“%d\n”,m);} } 2.. 用起泡法对十个数由大到小排序。 main( ) { int a[11],i,j,t; printf(“input 10 numbers:\n”); for(i=1;i<11;i++) scanf(“%d”,&a[i]); printf(“\n”); for (j=1;j<=9;j++) for(i=1; _(1)__;i++) if (__(2)___) {t=a[i]; a[i]=a[i+1]; __(3)__ ;} printf(“the sorted numbers:\n”); for ( i=1;i<11;i++) printf(“%d”,a[i]); } 四、写出下面程序执行成果(本大题24分,每题4分) 1.#include<stdio.h> main( ) { char c=‘A’+‘10’-‘5’; printf(“c=%c\n”,c); } 2.#include<stdio.h> main( ) { int a,b,c; a=1;b=2;c=3; if(a>b) if(a>c) printf(“%d\n”,a); else printf(“%d\n”,b); printf(“over\n”); } 3. main( ) { char a[6][6],i,j; for(i=0;i<6;i++) for(j=0;j<6;j++) { if ( i<j ) a[i][j]= ‘#’; else if(i==j) a[i][j]= ‘ ’; else a[i][j]= ‘*’ ;} for(i=0;i<6;i++) { for(j=0;j<6;j++) printf(“%c”,a[i][j]); printf(“\n”);} } 4.main( ) { int i=2,x=5,j=7; fun (j,6); printf(“i=%d;j=%d;x=%d\n”,i,j,x ) ; } printf(“i=%d;j=%d;x=%d\n”,i,j,x) ; 5. # include <stdio.h> main ( ) { int i,j; int ﹡p,﹡q; i=2; j=10; p=&i; q=&j; ﹡p=10; ﹡q=2; printf(〞i=%d,j=%d\n 〞,i,j); } 6. struct stru {int x; char c; }; main( ) { struct stru a={10,’x’},*p=&a; func (p); printf ( “%d,%c”,a.x,a.c); } func (struct stru *b) {b->x=20; b->c=’y’; } 五、编程题(本大题24分,第一题7分,第二题8分,第三题9分) 1.把输入整数(最多不超过5位)按输入次序反方向输出,例如,输入数是12345,规定输出成果是54321,编程实现此功能。 2.编一程序,从键盘输入10个整数并保留到数组,规定找出最小数和它下标,然后把它和数组中最前面元素对换位置。 3.编写一种函数计算一种字符串长度,输入输出在主函数内完毕。(使用指针) 模仿试题二 一、选用题(本大题30分,每题2分) 1.C语言中不能用来体现整常数进制是 。 A)十进制 B)十六进制 C)八进制 D)二进制 2.C语言规定标识符由 等字符构成。 A)字母 数字 下划线 B)中划线 字母 数字 C)字母 数字 逗号 D)字母 下划线 中划线 3.若有如下定义:int a=2,b=3;float x=3.5,y=2.5;则体现式: (float)(a+b)/2+(int)x%(int)y值是 。 A)2.500000 B)3.500000 C)4.500000 D)5.000000 4.如下体现式: 2+’a’+i*f,其中i为整型变量,f为float型变量,则体现式最终数据类型为 。 A)int B)float C)char D)double 5.有如下语句: printf(“%s,%5.3s\n”,“COMPUTER”,“COMPUTER”); 执行语句后最终成果为 。 A)COMPUTER ,CMP . B)COMPUTER, CMP. C)COMPU, CMP. D)COMPU,CMP . 6.如下if语句中语法错误是 。 A)if (a>b)printf(“%f”,a); B)if(a>b)printf(“%f”,a); else printf(“%f”,b); C)if(a>b)printf(“%f”,a) D)if(a>b)printf(“%f”,b); else printf(“%f”,b); else printf(“%f”,a); 7.能体现整数x符合下面两个条件语句是 。 (1)“能被4整除,但不能被100整除”.(2)能被4整除,又能被400整除. A)(x%4==0&&x%100!=0)||x%400==0 B)(x%4==0||x%100!=0)&&x%400==0 C)(x%4==0&&x%400!=0)||x%100==0 D)(x%100==0||x%4!=0)&&x%400==0 8.循环语句中for语句,其一般形式如下: for(体现式1;体现式2;体现式3) 语句 其中体现循环条件是 。 A)体现式1 B)体现式2 C)体现式3 D)语句 9.以数组作为函数参数时传递数组首地址,那么实参数组与形参数组之间数据传递方式为 。 A)地址传递 B)单向值传递 C)双向值传递 D)随机传递 10.将字符串str2连接到字符串str1中应使用 。 A)strcpy(str1,str2) B)strcat(str1,str2) C)strcmp(str1,str2) D)strcat(str2,str1) 11.若有如下定义: int a[10],*p=a;则*(p+3)体现是 。 A)元素a[3]地址 B)元素a[3]值 C)元素a[4]地址 D)元素a[4]值 12.若有如下语句: int *p1,*p2;则其中int所指是 。 A)p1类型 B)*p1和*p2类型 C)p2类型 D)p1和p2所能指向变量类型 13.若有如下阐明: int a[10]={1,2,3,4,5,6,7,8,9,10}; char b=’a’,d,e; 则数值为4体现式是 。 A)a[4] B)a[d-b] C)a[‘d’-b] D)a[e-b] 14.有如下程序段,在Turbo C环境下运行成果为 。 main( ) { int i=2,p,k=1; int f(int a,int b) p=f(i,++k); { int c; printf(“I=%d,p=%d”,k,p); if(a>b) c=1; } else if (a==b) c=0; else c=-1;return(c); } A)1,0 B)2,0 C)2,-1 D)1,1 15.若fp是指向某文献指针,且已读到此文献末尾,则库函数feof(fp)返回值是 。 A) EOF B) 0 C) 非零值 D) NULL 二、判断题(本大题10分,每题1分) 1.在每个C语言程序中都必要并且只能有一种main函数。( ) 2.在C语言中,整型数据与字符型数据在任何状况下都可以通用。( ) 3.在C语言程序中,AHP和ahp分别代表两个不一样标识符。( ) 4. 在if语句中,不可以没有else子句。( ) 5.C语言规定,简朴变量做实参时,与其对应形参之间是单向值传递。( ) 6. for语句作为循环控制语句时,括号内分号是用来分开体现式,因而要根据需要加分号。( ) 7. 数组名也可作为函数参数使用,此时是地址传递。( ) 8. C程序有三种构造化程序设计措施,分别嵌套构造、选用构造和循环构造。( ) 9.数组在定义时没有必要指定数组长度,其长度可以在程序中根据元素个数再决定。( ) 10.在定义指针型变量时指定基类型为该指针变量所能指向变量类型。( ) 三、程序填空题(本大题12分,每题2分) 1.输入3个实数 a,b,c规定按从大到小次序输出三数. main( ) { float a,b,c,t; scanf(“%f,%f,%f”,&a,&b,&c); if (a<b) {t=a; (1) ;b=t;} if( (2) ) {t=a;a=c;c=t;} if(b<c) { (3) b=c;c=t;} printf(“%f,%f,%f”,a,b,c); } 2.打印如下杨辉三角形.(规定打印出10行) main( ) { int a[10][10],i,j ; 1 for( i=0;i<10;i++) 1 1 { (4) (5) } 1 2 1 for( i=2;i<10;i++ ) - 1 3 3 1 for(j=1;j<i ;j++ ) 1 4 6 4 1 a[i][j] = (6) ; … … … for(i=0;i<10;i++) { for( j=1;j<=i;j++) printf(“%5d”,a[i][j]); printf(“\n”);} } 四、写出下面程序执行成果(本大题24分,每题4分) 1.main( ) { int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12},b[4][3]; int i,j; for (i=0;i<3;i++ ) for (j=0;j<4;j++ ) b[j][i]=a[i][j]; for ( i=0;i<4;i++ ) { for ( j=0;j<3;j++ ) printf( “%5d”,b[i][j] ); printf( “\n” );} } 2.main( ) { int a[21],i,j,n=0; for(i=2;i<20;i++ ) a[i]=i; for ( i=2;i<10;i++ ) {if (a[i]==0) continue; for (j=i+1;j<=20;j++) if (a[j]%a[i]==0) a[j]=0;} for ( i=2;i<=20;i++ ) if (a[i]!=0) { printf(“%4d”,a[i]);n=n+1;} if (n%4==0) printf(“\n”); } 3. float fac(int n) { float f ; if(n<0){printf(“n<0,dataerror!”); f=-1; else if (n==0||n==1) f=1; else f=fac(n-1)*n; return(f); } main( ) {int n ; float y ; printf(“input a integer number:”); scanf(“%d”,&n); y=fac(n); printf(“%d!=%5.0f”,n,y); } 假如在运行程序时输入5 ,写出程序运行状况及最终成果: 。 4.main() {int i=10,j=0; do {j=j+i;i--; while(i>2); printf("%d\n",j); } 5. # include <stdio.h> main ( ) { int ﹡p; p=&i; ﹡p=2; p++; ﹡p=5; printf(〞%d,〞,﹡p); p﹣﹣; printf(〞%d\n 〞,﹡p); } } 6. #include <stdio.h> void f(int c) { int a=0; static int b=0; a++; b++; printf("%d:a=%d,b=%d\n",c,a,b); } void main(void) { int i; for (i=1;i<=3;i++) f( i ); } 五、编程题(本大题24分,第一题7分,第二题8分,第三题9分) 1. 已知三角形三边长,试编程求三角形面积. 规定:三边长从键盘输入,要考虑数据输入与否对旳,能否构成三角形等状况.假设三 边分别为:a,b,c,s=1/2 (a+b+c),area= s(s-a)(s-b)(s-c) 2.有一分数序列: 2/1,3/2,5/3,8/5,13/8,21/13,… … 试编程求数列前20项和. 3. 输入10个学生成绩,分别用函数实现: (1)求平均成绩; (2)按分数高下进行排序并输出。 模仿试题三 一、选用题(本大题30分,每题2分) 1.下列有关C程序说法中,对旳是: 。 A) 一种C程序中只能有一种主函数且位置任意; B) 一种C程序中可有多种主函数且位置任意; C) 一种C程序中只能有一种主函数且位置固定; D) 一种C程序中可以没有主函数。 2.如下论述中不对旳是: 。 A)在C程序运算符中,逗号运算符优先级最低; B)C程序中,AHP和ahp代表两个不一样变量; C)C程序中,整数和实数在内存中存储形式相似; D)在C程序中,%是只能用于整数运算运算符. 3.已知ch是字符型变量,下面不对旳赋值语句是: 。 A)ch=‘\0’ B)ch=‘a+b’ C)ch=‘7’+‘9’ D)ch=7+9 4.设有如下定义 int x=10,y=5,z; 则语句printf("%d\n",z=(x+=y,x/y)); 输出成果是 。 A)1 B)0 C)4 D)3 5.设有如下定义:char ch=’z’,则执行下面语句后变量ch是值为: 。 ch=(‘A’<=ch&&ch<=‘Z’)?(ch+32):ch A)A B)a C)Z D)z 6.若x和y都为float型变量,且x=3.6,y=5.8 执行下列语句后输出成果为: 。 printf(“%f”,(x,y)); A)3.600000 B)5.800000 C)3.600000,5.800000 D)输出符号不够,输出不对旳值 7.设有两字符串“Beijing”、“China”分别存储在字符数组str1[10],str2[10]中,下面语句中能把“China”连接到“Beijing”之后为: 。 A)strcpy(str1,str2); B)strcpy(str1,“China”); C)strcat(str1,“China”) D)strcat(“Beijing”,str2); 8.如下对一维整型数组a对旳阐明是 。 A)int a(10); B)int n=10,a[n]; C)int n;scanf(“%d”,&n);int a[n]; D)#define SIZE 10 int a[SIZE]; 9.设有如下程序段,则其执行成果为: 。 static int a[ ]= { 1,2,3,4 },*p ; int i; p=a; (p+3) + =2; printf(“%d”,*(p+3) ); A)0 B)6 C)a[3]地址 D)不对旳值10.若I为整型变量,则下列程序段运行成果为 。 I=322; if(I%2==0) printf(“#####”) else printf(“*****”); A)##### B)#####***** C)***** D)有语法错误,无法输出成果 11.已知 int x=30,y=50,z=80;如下语句执行后变量x、y、z值分别为: 。 if (x>y||x<z&&y>z) z=x;x=y;y=z; A)x=50,y=80,z=80 B)x=50,y=30,z=30 C)x=30,y=50,z=80 D)x=80,y=30,z=50 12.下面程序段运行成果是: 。 x=y=0; while(x<15) y++,x+=++y; printf(“%d,%d”,y,x); A)20,7 B)6,12 C)20,8 D)8,20 13.若有语句 int *point ,a =45; point = &a; 下面均代表同一变量地址一组选项是: 。 A)&a point *&a B)&*a &a *point C)point &point &a D) &a, &*point point 14.如下程序运行成果是: 。 main( ) { int a=2,i ; for(i=0;i<3;i++) printf(“%4d”,f(a) ) ; } f( int a) { int b=0;static int c=3 b++; c++; return(a+b+c);} A)7 10 13 B)7 7 7 C)7 9 11 D)7 8 9 15.若有如下定义: int a[3][3]={1,2,3,4,5,6,7,8,9},i ; 则下列语句输出成果是: 。 for (i=0;i<=2;i++) printf(“%d”,a[i][2-i]); A)3 5 7 B)3 6 9 C)1 5 9 D)1 4 7 二、判断题(本大题10分,每题1分) 1.C语言自身没有输入输出语句,输入输出操作都是通过调用库函数来实现。( ) 2.在C语言中,int、char和short三种类型数据在内存中所占用字节数都是由顾客自己定义。( ) 3.在C程序中一行内可以写几种语句,一种语句可以分写在多行上。因而,并不是每一条C语句都必要有一种分号。( ) 4.在C语言if语句中,用作条件判断体现式只能是关系和逻辑体现式。( ) 5.在C语言中break和continue都是循环中途退出语句,其中break语句用来跳出一层循环构造;continue语句用来结束一次循环。( ) 6.C语言中while和do-while循环重要区别是while语句循环体至少会被执行一次,而do-while语句循环体则也许一次也不执行。( ) 7.数组首地址不仅能通过数组中第一种元素地址体现,也可以通过数组名来体现。( ) 8.在C语言中,只有在两个字符串所包括字符个数相似时,才能比较大小。如字符串“That”与“The”就不能进行大小比较。( ) 9.函数返回值类型是由函数类型和return语句中体现式类型共同决定,当这两类型不一致时最终起决定作用是return中体现式类型。( ) 10.定义指针变量时指定类型称为基类型,基类型是指针变量所指向变量类型,因而指针变量被定义之后都只能指向某一类型变量。( ) 三、程序填空题(本大题12分,每题2分) 1.输入一种字符,假如是大写字母,则把其变成小写字母;假如是小写字母,则变成大写字母;其他字符不变。请填空: main( ) { char ch; scanf(“%c”,&ch); if ( (1) ) ch=ch+32; else if(ch>’a’&&ch<‘z’) ((2)); printf(”%c\n”,ch); } 2. 如下程序是求矩阵a ,b和,成果存入矩阵c中并按矩阵形式输出。请填空: main( ) { int a[3][4] = { { 7,5,-2,3 },{ 1,0,-3,4 },{ 6,8,0,2 } }; int b[3][4] = { { 5,-1,7,6 },{ -2,0,1,4 },{ 2,0,8,6 } }; int i,j,c[3][4]; for ( i=0;i<3;i++ ) for ( j=0;j<4;j++ ) c[i][j] = ___(3)____ ; for ( i=0;i<3;i++ ) { for ( j=0;j<4;j++ ) printf ( “%3d”,c[i][j] ) ; ____(4)___ ; } } 3.如下程序使用递归法求n!,请填空: float fac( int n) { float f; if(n<0) {printf(“n<0” data error);f=-1;} else if(n==0||n==1) f=1; else f= (5) ; return( f ); } main( ) { int n; float y; printf(“input a integer number”); scanf(“%d”,&n); y= (6); printf(“%d! = %15.0f”,n,y ); } 四、写出下面程序执行成果(本大题24分,每题4分) 1.main( ) { float a=3.14,b=3.14159; printf(“%f,%5.3f\n”,a,b); } 2.main( ) { char a[5][5],i,j; for(i=0;i<5;i++) for(j=0;j<5;j++) if(i==0 ||i+j==4) a[i][j]='*'; else a[i][j]=' '; for(i=0;i<5;i++) {for(j=0;j<5;j++) printf("%c",a[i][j]); printf("\n"); } } 3.main( ) { int x,i ; for( i=1,x=1; i<=50; i++ ) { if(x>=10) break; if(x%2==1) { x+=5;continue;} x - = 3;} printf(“%d\n”,i ); } 4.func( int x, int y) { int z; z=a+b; return(z);} main( ) { int a=6,b=7,c=8,r; r=func( ( a--,b++,a+b),c--) printf(“%d”,r) ;} 5.#include <STDIO.H> void increment(void); void main(void) { increment(); increment(); } void increment(void) { static int x = 8; x ++; printf("x = %d\n",x); } 6. #include <stdio.h> void main(void) { static char a[]="ABCDEFGH",b[]="abCDefGh"; char *p1,*p2; int k; p1=a;p2=b; for(k=0;k<=7;k++) if (*(p1+k)==*(p2+k)) printf("%c",*(p1+k)); printf("\n"); } 五.编程题(共30分) 1.有一函数,其函数关系如下,试编程求对应于每一自变量函数值。 x2 (x<0) y = -0.5x+10 (0 x<10) x- (x 10) 2.若有如下公式: + + +。。。。。。。+ 试根据上述公式编程计算 近似值 (精确到10-6)。 3.编一程序,首先将一种包括10个数数组按照升序排列,然后将从一指定位 置m开始n个数按照逆序重新排列,并将新生成互相组输出。规定使用指 针控制措施实现上述功能。 模仿试题四 一、选用题(本大题30分,每题2分) 1.在C语言中,反斜杠符是 。 A)\n B)\t C)\v D)\ \ 2.体现式 18/4*sqrt(4.0)/8值数据类型为 。 A)int B)float C)double D)不确定 3.设整型变量a值为9,则下列体现式中使b值不为4体现式 。 A)b=a/2 B)b=a%2 C)b=8-(3,a-5) D)b=a>5?4:2 4.已知变量C1为字符型变量,下面不对旳赋值语句是: 。 A)C1 = ‘abc’ B)C1= ‘\0’ C)C1 = ‘7’+ ‘9’ D)C1= 7 + 9 5.如下程序输出成果是: 。(注:▂体现空格) main( ) { printf(“\n*s1=%8s*”,“china”); printf(“\n*s2=%-5s*”,“chi”) ; } A)*s1=china▂ ▂ ▂* B)*s1=china▂ ▂ ▂* *s2=chi* *s2=chi▂ ▂* C)*s1=▂ ▂ ▂china* D)*s1=▂ ▂ ▂china* *s2=▂ ▂chi * *s2=chi▂ ▂* 6.设a、b和c是int型变量,且a=2,b=4,c=6,则下面体现式中
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 考试专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服