《2023年计算机等级二级C笔试考前练习习题.doc》由会员分享,可在线阅读,更多相关《2023年计算机等级二级C笔试考前练习习题.doc(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、计算机等级二级C笔试考前练习习题一1.打开一个已经存在的非空文本文献,若文献名为stu,则对的的打开语句为()A)FILE *fp;fp=fopen(stu.txt,r)B)FILE *fp;fp=fopen(stu.txt,r)C)FILE *fp;fp=fopen(stu.txt,wb)D)FILE *fp;fp=fopen(stu.txt,wb)2.设有如下程序:char sub(char *q) while(*q!=0)if(*q=A&*q=a&*q=z) *q=*q-32;printf(%c,*q);q+;main()char *s=abcABC;sub(s);则程序运营后的输出结果
2、是()A)ABCabcB)abcABCC)abcabcD)ABCABC3.在下列语句中,对的的是()A)static char str=China;B)static char str;str=China;C)static char str15,str2=China;str1=str2;D)static char str1,str2;str2=China;strcpy(str1,str2);4.若在fopen函数中使用文献的方式是wb+,该方式的含义是()A)为读/写打开一个文本文献B)为输出打开一个文本文献C)为读/写建立一个新的文本文献D)为读/写建立一个新的二进制文献5.以下关于宏与函数的
3、叙述中对的的是()A)使用函数或宏命令对C的源程序都没有影响B)函数具有类型,宏不具有类型C)函数调用和带参的宏调用都是将实参的值传给形参D)使用函数比使用宏运营速度快6.有以下程序:intx=1,y=2;void fun1()x=3;y=4;void fun2(intx,inty)printf(%d,%d,n,x,y);main()fun1();printf(%d,%d,x,y);fun2(5,6);程序的运营结果是()A)1,2,3,4B)1,2,5,6C)3,4,5,6D)3,4,1,27.若有如下调用函数:int sub(int *t) return(t);该函数的返回值是()A)形参
4、t中存放实参变量的地址值B)形参t自身的地址值C)指针变量t所指的实参变量的值D)随机的值8.下面程序的输出结果是()#define PI3.1415#define ARE(x)PI*x*xmain () int r=2;printf (%f,ARE (r+1);A)28.26B)28.260000C)9.28D)9.2800009.以下程序的输出结果是()main()int a=2, k;for (k=0; k3; k+) printf (M,f1(a);f1(int a)int b=0; static int c=3;b+;c+;return (a+b+c); A)7 7 7B)7 10
5、13C)7 9 11D)7 8 910.在下面关于指针的说法中,错误的一条是()A)变量的指针就是变量的地址B)可以将一个整型量或任何其他非地址类型的数据赋给一个指针变量C)一个指针变量只能指向同一个类型的变量D)指针变量中只能存放地址(指针)答案:1.A 2.A 3.A 4.D 5.B 6.C 7.A 8.D 9.D 10.B计算机等级二级C笔试考前练习习题二1.sizeof(double)是()A)一种函数调用B)一个双精度型表达式C)一个整型表达式D)一个不合法的表达式2.以下选项中错误的是()A)char*sp;gets(sp);B)charsp5;gets(sp);C)char *s
6、p=12345;gets(sp);D)char sp5=0;gets(sp);3.在宏定义#define PI 3.14159中,用宏名PI代替一个()A)单精度数B)双精度数C)常量D)字符串4.设有如下定义:char *aa2=abcd,ABCD;则以下说法中对的的是()A)aa数组元素的值分别是abcd和ABCDB)aa是指针变量,它指向具有两个数组元素的字符型一维数组C)aa数组的两个元素分别存放的是具有4个字符的一维字符数组的首地址D)aa数组的两个元素中各自存放了字符a和A的地址5.有以下程序:#includevoid fun(int*s,int*d)*d=*(s+2);main(
7、) inta=1,2,3,4,5,*b;b=(int*)malloc(sizeof(int);fun(a,&b);printf(%dn,*b+1);程序的输出结果是()A)2B)3C)4D)56.若有如下程序:sub(int x)int y=0;static int z=1;y+=x+2;z+=y+x;return(z);main()int t=1,n;for(n=0;n3;n+)printf(%d,sub(t);则程序运营后的输出结果是()A)5,5,5B)5,9,13,C)5,7,9,D)5,8,11,7.若有如下定义和声明:structs int m;char ch;double x;u
8、nion t char a6;int b3; tt; ss;则sizeof(struct s)的值是()A)6B)14C)17D)208.以下选项中的表达式调用库函数依次求-4.5的绝对值、-4.0的平方根值、30角的正弦值和2的3次方值。对的的调用是()A)abs(-4.5)B)sqrt(-4.0)C)sin(3.1416/6.0)D)paw(2.0,3.0)9.若有如下程序:#definePI3.1415926#defineA(r)2*PI*rmain()floata,l;a=3.0;l=A(a);printf(r=%.2f,l=%.2fn,a,l);则程序运营后的输出结果是()A)r=3
9、.00l=18.85B)3.00,18.85C)r=3.000000l=18.8495555D)r=3.0 l=18.849555510.若有如下程序:#includestdio.hvoidmain()FILE*fp;fp=fopen(test,wb)fprintf(fp,%d%.1f,%c%c,5,238.41,B,h);fclose(fp);则程序运营后向文献输出的结果是()A)5 238.41B hB)5238.4,BhC)5,238.4,B,hD)5238.41Bh答案:1.C 2.A 3.D 4.C 5.C 6.B 7.C 8.C 9.A 10.B计算机等级二级C笔试考前练习习题三1
10、.若有如下程序:void s(char *m,int n)*m=*m+3;n=n+3;printf(%c,%c,*m,n);main()char p=b,q=B;s(&q,p);printf(%c,%cn,p,q);则程序运营后的输出结果是()A)E,e,b,EB)e,E,b,FC)E,e,e,ED)e,E,b,E2.在C语言的函数中()A)必须有形参B)形参必须是变量名C)可以有也可以没有形参D)数组名不参与形参3.若有如下程序:sub(int *t,int n)int *p1,*p2;for(p1=t,p2=t;p1-tN;P1+) if(*p1*p2)p2=p1;return(*p2);
11、 main()int a9=9,36,19,39,26,5,6,33,15;printf(%dn,sub(a,9); 则程序运营后的输出结果是()A)5B)9C)15D)394.在表达C语言的整型变量时,表达“无符号整型”的符号是()A)unsigned intB)unsigned shortC)long intD)unsigned long5.以下程序段给数组所有的元素输入数据,请选择对的答案填入。()#includemain() int a10,i=0;while(i10) scanf(%d,);A)a+(i+)B)&ai+1C)a+iD)&ai+6.若输入60和13,以下程序的输出结果为
12、()#define SURPLUS(a,b)(a)%(b)main() int a,b;scanf(%d,%d,&a,&b);printf(n,SURPLUS(a,b);A)60B)13C)73D)87.在下列叙述中,对的的一条是()A)语句int *pt中的*pt是指针变量名B)语句“int *p=a;”等价于“int *p;p=&a0;”C)运算符*和&都是取变量地址的运算符D)已知指针变量p指向变量a,则&a和*p值相同,都是变量a的值8.设有定义:#defineSTR12345;,则以下叙述中对的的是()A)宏名STR代替的是数值常量12345B)宏定义以分号结束,编译时一定会产生错误
13、信息C)宏名STR代替的是字符串12345;D)宏名STR代替的是字符串常量123459.fprintf函数的一般调用方式是()A)fprintf(格式字符串,文献指针,输出表列);B)fprintf(文献指针,格式字符串,输出表列)C)fprintf(文献指针,格式字符串,输出表列);D)fprintf(fp,格式字符串,输出表列);10.函数调用语句:fseek(fp,-20L,SEEK_END);的含义是()A)将文献位置指针移到距离文献头20个字节处B)将文献位置指针从当前位置向后移动20个字节C)将文献位置指针从文献末尾处向后退20个字节D)将文献位置指针移到离当前位置20个字节处答
14、案:1.A 2.C 3.A 4.A 5.D 6.D 7.D 8.C 9.C 10.C计算机等级二级C笔试考前练习习题四1.下面程序的输出结果是()func (int x) static int a=2;return (a+=x); main() int b=2, c=4, d;d=func (b);d=func (c);printf(%dn,d); A)4B)6C)8D)122.以下程序运营后的输出结果是()main() chars=1234,*ps;for(ps=s;ps printf(n);A)123B)112123C)1234D)乱码3.以下关于宏的叙述中对的的是()A)宏名必须用大写字
15、母表达B)宏替换时要进行语法检查C)宏替换不占用运营时间D)宏定义中不允许引用已有的宏名4.假如文献1包含文献2,文献2中要用到文献3的内容,而文献3中要用到文献4的内容,则可在文献1中用三个#include命令分别包含文献2、文献3和文献4。在下列关于这几个文献包含顺序的叙述中,对的的一条是()A)文献4应出现在文献3之前,文献3应出现在文献2之前B)文献2应出现在文献3之前,文献3应出现在文献4之前C)文献3应出现在文献2之前,文献2应出现在文献4之前D)出现的先后顺序可以任意5.有以下程序段main() char a7=abcdef;char b4=ABC;strcpy(a,b);pri
16、ntf(%c,a5);程序段运营后的输出结果是()A)aB)0C)eD)f6.下面程序的输出结果是()# includef (b,n)int b, n; int i, r;r=1;for (i=0; i=n; i+)r=r*bi;return r;main () int x, a=2,3,4,5,6,7,8,9;x=f(a,3);printf(%dn,x);A)720B)120C)24D)67.下面程序的输出结果是()# includestdio.hfun (x)intx;int y=0;static int z=5;z=x+,y+;return (z);main ()int a=4, i,
17、j;for(i=0; i0)printf(&);a-;goto Loop;Else goto End;End;不能与上面程序等价的是()A)a=q;dof(a0;a-)printf(&);C)a=q;while(a) printf(&);a-;D)for(a=q;a0;-a,printf(*);9.有以下程序#include#define PT 5.5#define S(x) PT*x*xmain()int a=1,b=2;printf(%4.1fn,S(a+b);程序运营后的输出结果是()A)49.5B)9.5C)22.0D)45.010.设有以下语句:structSSintno;charname10;PERSON;则下面叙述中错误的是()A)struct是结构体类型的关键字B)struct SS是结构体类型C)PERSON是结构体类型名D)name是结构体成员名答案:1.C 2.D 3.C 4.A 5.D 6.B 7.D 8.C 9.B 10.C