《国家计算机二级c语言考试题库.docx》由会员分享,可在线阅读,更多相关《国家计算机二级c语言考试题库.docx(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、国家计算机二级c语言考试题库 在国家计算机二级的考试题库中,有哪些C语言的题目呢?下面是学习啦我给大家整理的国家计算机二级c语言考试题库及答案,供大家参阅! 国家计算机二级c语言考试题库 一、选择题 1.若有以下定义和语句: char s 10="abcd!",*s2="nl23" Drintf("%d%dn",strlen(sl),strlen(s2); 则输出结果是()。 A.5 5 B.10 5 C.10 7 D.5 8 2.有以下程序: #include #define N 8 void fun(int*x,int i) *x
2、=*(x+i);) main() int aN=1,2,3,4,5,6,7,8,i; fun(a,2); for(i=0;iprintf("Ha",ai); printf("n"); ) 程序运行后的输出结果是()。 A.1313 B.2234 C.3234 D.1234 3.有以下程序: #include int f(int t,int n); main() int a4=1,2,3,4,s; s=f(a,4);printf("%dn",s); int f(int t,int n) if(n>0)return tn-1+f(t
3、,n-1); else return 0; ) 程序运行后的输出结果是()。 A.4 B.10 C.14 D.6 4.有以下程序: #include int fun() static int x=1; X*=2;return X; main() int i,S=1; for(i=1;i<=2;i+)s=fun(); printf¨%dn",s); ) 程序运行后的输出结果是()。 A.0 B.1 C.4 D.8 5.有以下程序: #include #define SUB(a)(a)-(a) main() int a=2,b=3,c=5,d; d=SUB(a+b)*C;
4、printf("%dn",d); ) 程序运行后的输出结果是()。 A.0 B.-l2 C.-20 D.10 6.设有定义: struet complex int real,unreal;)datal=1,8,data2; 则以下赋值语句中错误的是()。 A.data2=datal; B.data2=2,6; C.data2.real=datal.real; D.data2.real=datal.unreal; 7.有以下程序: #include #include struct A int a;char b10;double C;); void f(struct A t);
5、 main() struct A a="1001,"ZhangDa",l098,0; f(a);printf("%d,%S,%6.1fn",a.a,a.b,a.c); void f(struct A t) t.a=1002;strcpy(t.b,"ChangRon9");t.c=1202.0; 程序运行后的输出结果是()。 A.1001,ZhangDa,1098.0 B.1002,ChangRong,1202.0 C.1001,ChangRong,1098.0 D.1002,ZhangDa,1202.0 8.有以下定义和语句
6、: struct workers int num;char name20;char C; struct (int day;int month;int year;)S; ; struct workers w,*pw; pw=&w; 能给w中year成员赋1980的语句是()。 A.*pw.year=1980; B.w.year=1980; C.pw->year=1980 D.w.S.year=1980; 9.有以下程序: #include main() int a=2,b=2,C=2; print("%dn",a/b&c); 程序运行后的输出结果是()。
7、 A.0 B.1 C.2 D.3 10.有以下程序: #include main() FILE*fp;char str10; fp=fopen("myfile,dat",""); puts("abe",ip);fclose(fp); fp=fopen("myfile.dat","a*"); fprintf(fp,"%d",28); rewind(fp); fscanf(fp,"%S",str);puts(str); fclose(fp); 程序运行后的输出
8、结果是()。 A.abc B.28c C.abc28 D.内类型不一样而出错 二、程序改错题 给定程序中,函数proc()的功能是:使数组中的元素的值缩小5倍。 请修改程序中的错误,使它能得出正确的结果。 留意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include #include #include float mlO; /*found* int proc(void) int j; printf("In subfunc after callingn"); for(j=0;j<10;j+) /*found* printf(&qu
9、ot;%f",mj%5); void main() int i; printf("In main before callingn"); for(i=0;i<10;i+) mi=i+20; printf("%f",mi); proc(); printf("nln main after callingn"); for(i=0;i<10;i+) printf("%f",mi/5); 三、程序设计题学生的记录由学号和成果组成,M名学生的数据已在主函数中放入结构体数组stu中,请编写函数proc(),其
10、功能是:按分数的凹凸排列学生的记录,高分在前。 留意:部分源程序给出如下。 请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。 试题程序: #include #define M l6 typedef struct char numl0; int S; STREC: void proc(STREC a) int i,j; STREC t; for(i=1;i排序*/ for(j=0;jif(aj.s的记录,高分在前*/ t=aj;aj=aj+1;aj+1=t;) void main() STREC stuM="GA005",8
11、5),"GA003",76, "GA002",69,"GA004",85),"GA001",91), "GA007",72),"GA008",64),"GA006",87), "GA015",85),"GA013",91),"GA012",64), ¨GA014",91),"GA011",66),"GA017",64, "GA01
12、8",64),"GA016",72; int i; proc(stu); printf("The data after sorted:n"); for(i=0;i if(i%4= =0) /每行输出4个学生记录 printf("n"); printf("%s%4d",stui,num,stui.s); printf("n"); 国家计算机二级c语言考试题库答案 一、选择题 1.A。【解析】n和分别为转义字符,各占据一个字符的位置。 2.C。【解析】本题考查了宏定义与局部变量的区分,宏定
13、义的作用范围为整个程序,而变量的作用范围只在定义它的函数体的部分,因此,主函数中定义的i与fun()中的i互不相干。 3.B。【解析】本题考查了函数的调用,并且运用了嵌套。 4.C。【解析】本题考查了static的用法。当static用于局部变量中,成为静态局部变量。静态局部变量有两个用法,记忆功能和全局生存期。当static用于全局变量,主要作用是限制此全局变量被其他的文件调用。当static用于类中的成员,表示这个成员是属于这个类,但是不属于类中随意特定对象。所以本题答案为C。 5.C。【解析】本题调用参数,并考查了优先级。SUB(a+b)*C调用后可写成(a书b)-(a+b)*C,结果为
14、5-25=-20。 6.B。【解析】B中的赋值方式仅限于在结构说明时,对每个变量成员初始化。在程序中对结构体成员赋值,或采纳选项A中的整体赋值方式,或采纳选项C、D中对结构成员依次赋值。 7.A。【解析】将结构变量作为形参,通过函数间形参加实参相结合的方式将整个结构传递给函数,这种传递方式是值传递。在被调用函数中,对结构形参变量值进行的任何修改都不会影啊到调凋函数中的结构变量。 8.D。【解析】结构workers中的成员s是一个嵌套的结构类型定义,因此在给year赋值时,要用;.;运算在深化一层访问到最基本的成员year,只有D项反映出了这一点。 9.A。【解析】依据C语言运算符的优先级与结合
15、性,先计算a/b,结果为l,再将a/b的结果与C做按位与运算,即l与2做按位与运算,其结果为0。 . . 10.C。【解析】本题考查文件的操作,首先打开文件,进行写操作,把;abc;写入;myfile;文件,再打开;myfile.data"文件,输入28,在键盘上接收字符,输出并关闭文件。本题结果为abc28。 二、程序改错题 (1)错误:int proc(void) 正确:void proc(void) (2)错误:printf("%f",mj%5); 正确:pfintf("%f",mj/5); 【解析】由主函数中的函数调用可知,函数proe
16、()没有返回值。因此;int proc(void);应改为;void proc(void);。题目中要求使数组中元素的值缩小到l/5,而不是对5取余。因此,;printf("%f",mj%5);应改为;printf(;%f;,mEjl/5);。 三、程序设计题 void proc(STREC a) int i,j; STREC t; for(i=1;ifor(j=0;jif(aj.st=aj;aj=aj+1;aj+1=t; 【解析】要按分数的凹凸排列学生的记录,可以运用冒泡排序法。将每一个学生的成果与其他学生的成果相比较,对不符合要求的记录交换位置。 看了;国家计算机二级c
17、语言考试题库;的人还看了: 1.2022年计算机二级C语言测试题及答案 2.2022年计算机二级C语言测试题及答案解析 3.计算机二级c语言考试题库及答案 4.2022年全国计算机考试二级C语言模拟卷 5.2022年9月计算机二级C语言高分突破模拟卷汇总 6.计算机二级考试c语言考试试题 本文来源:网络收集与整理,如有侵权,请联系作者删除,谢谢!第17页 共17页第 17 页 共 17 页第 17 页 共 17 页第 17 页 共 17 页第 17 页 共 17 页第 17 页 共 17 页第 17 页 共 17 页第 17 页 共 17 页第 17 页 共 17 页第 17 页 共 17 页第 17 页 共 17 页