二级C语言分类模拟题504
2020年全国计算机等级考试二级C语言上机模拟训练题库(共50套)
2020 年全国计算机等级考试二级 C 语言上机模拟训练题库(共50 套)第一套1 程序填空给定程序中,函数fun 的功能是:计算下式s=1/22+3/42+5/62+(2 ×n-1)/(2 ×n) 2 2 -3 并把计算结果作直到︱( 2×n-1 )/ (2×n)︱《 10为函数值返回。
例如,若形参 e 的值 le -3,函数值的返回值为 2.735678。
第 1 处 i=0;第 2 处 i++;第 3 处 x=(2.0*i-1) / ((2.0*i)* (2.0*i));2程序修改给定程序 MODI1.C中函数 fun 的功能是:将 s 所指字符串的正序和反序进行连接,形成一个新串放在 t 所指的数组中。
/**found**/void fun(char*s, char *t)/**found**/t[2*d]= 0’;3程序设计函数 fun 的功能是:将 s 所指字符串中除了下标为奇数、同时 ASCII 值也为奇数的字符之外,其余的所有字符都删除,串中剩余字符所形成的一个新串放在 t 所指的数组中。
viod fun(char*s, chat t[]){int i,j=0;for(i=1;i<strlen(s);i+=2)if(s[i]%2)t[j++]=s[i];t[j]=0;}第二套1程序填空给定程序中,函数 fun 的功能是:在 3× 4 的矩阵中找出在行上最大,列上最小的那个元素,若没有符合条件的元素则输出相应信息。
第 1 处 max=a[i][j];c=j;}第 2 处 find=0;第 3 处 i++;2 程序修改给定程序 MODI1.C中函数 fun 的功能是:根据整形形参 m 的值:计算如下公式的值 ?例如 : 若 m中的值为 5,则应输出: 0.536389 。
/**found**/for(i=2;i<=m;i++)/**found**/y-=1.0/(i*i);3 程序设计m个人的成绩存放在 score 数组中,请编写函数 fun ,它的功能是:将低于平均分的人数作为函数值返回,将低于平均分的分数放在below 所指的数组中。
c语言二级考试题及答案
c语言二级考试题及答案### C语言二级考试题及答案#### 单项选择题1. 题目:以下哪个选项是C语言中合法的变量名?- A. 2variable- B. variable-name- C. $variable- D. variable_name答案:B2. 题目:C语言中,以下哪个选项是正确的字符串字面量? - A. "Hello, World!"- B. 'Hello, World!'- C. "Hello World"- D. 'Hello World'答案:A3. 题目:在C语言中,以下哪个选项是正确的整型常量? - A. 0x1A- B. 1.2E3- C. 0123- D. 0b1010答案:A#### 填空题1. 题目:在C语言中,以下代码段的输出结果是____。
```cint a = 5;printf("%d", a++);```答案:52. 题目:以下代码段中,变量`b`的值是____。
```cint a = 10, b;b = a % 3;```答案:13. 题目:以下代码段中,变量`c`的值是____。
```cfloat a = 2.5, b = 4.5;int c = a + b;```答案:7#### 编程题1. 题目:编写一个C语言程序,计算并输出以下数列的前10项之和:1, 1/2, 1/3, 1/4, ...```c#include <stdio.h>int main() {double sum = 0.0;for (int i = 1; i <= 10; i++) {sum += 1.0 / i;}printf("Sum of the first 10 terms: %f\n", sum); return 0;}```2. 题目:编写一个C语言程序,实现两个整数的交换。
国家二级C语言机试(操作题)模拟试卷300(题后含答案及解析)
国家二级C语言机试(操作题)模拟试卷300(题后含答案及解析) 全部题型 2. 程序填空题 3. 程序修改题 4. 程序设计题程序填空题1.程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。
所有学生数据均以二进制方式输出到文件中。
函数fun的功能是重写形参filename所指文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其他学生的数据不变。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:部分源程序在文件BLANK1.C中。
不得增行或删行,也不得更改程序的结构!试题程序:1 #include<Stdio.H>2 #define N 53 typedef struct student {4 long sno;5 char name[10];6 float score[3];7 }STU;8 void fun(char*filename,STU n)9 {FILE*fp;10 /*********found*********/11 fp=fopen(【1】,”rb+”);12 /*********found*********/13 fseek(【2】,-(long)sizeof(STU),SEEK END);14 /*********found*********/15 fwrite(&n,sizeof(STU),1,【3】);16 fclose(fP);17 }18 main( )19 {STU t[N]={{10001,”MaChao”,91,92,77},{10002,”CaoKai”,75,60,88},{10003,”LiSi”,85,70,78),{10004,”FangFang”,90,82,87},{10005,”ZhangSan”,95,80,88)};20 STU n={10006,”ZhaoSi”,55,70,68},SS[N];21 int i,j;FILE*fP;22 fp=fopen(“student.dat”,”wb”);23 fwrite(t,sizeof(STU),N,fp);24 fclose(fp);25 fp=fopen(“student.da”,”rb”);26 freacl(ss,sizeof(STU),N,fp);27 fclose(fp);28 print;f(“\nThe original data:\n\n”);29 for(j=0;j<N;j++)30 {printf(“\nNo:%ld Name:%一8s Scores:”,ss[j].sno,ss[j].name);31 for(i=0;i<3;i++)32 printf(“%6.2f”,ss[j].score[i]);33 printf(“\n”);34 }35 fun(“student.dat”,n);36 printf(“\nThe data after modif-ing:\n\n”);37 fp=fopen(“student.dat”,”rb”);38 fread(ss,Sizeof(STU),N,fp);39 fclose(fp);40 for(j=0;j<N;j++)41 {printf(“\nNo:%ld Name:%-8s Scores:”,ss[j].sno,ss[j].name);42 for(i=0;i<3;i++)43 printf(“%6.2f”,ss[j].score[i]);44 printf(“\n”);45 }46 }正确答案:(1)filename(2)fp(3)fp解析:填空1:本空是对文本文件的打开,filename所指的文件中的最后数据要进行重写,因此首先是要打开,因而本空填写filename。
计算机二级《C语言》基础模拟题及答案
计算机二级《C语言》基础模拟题及答案计算机二级《C语言》基础模拟题及答案1[单选题] 以下叙述中正确的是( )。
A.用C语言编写的程序只能放在一个程序文件中B.C程序书写格式严格,要求一行内只能写一个语句C.C程序中的注释只能出现在程序的开始位置和语句的后面D.C程序书写格式自由,一个语句可以写在多行上参考答案:D参考解析:C语言编写的程序可以放置于多个程序文件中,所以A 错误。
C程序中的一行可以有多条语句,所以B错误。
C语言中的注释语句可以与原语句放在一行也可以不放在一行,所以C错误。
2[单选题] 以下选项中,能用作数据常量的是( )。
A.115LB.0118C.1.5el.5D.0115参考答案:A参考解析:A选项中l15L表示ll5是长整型数据,合法。
B选项是八进制常量的表示方法,但是在八进制中不能含有数字8,所以B错误。
c选项中e后面应该是整数不能是小数l.5,所以c错误。
D选项中八进制常量应该是数字…0开始,而不是字母…O开始。
3[单选题] 对于一个正常运行的C程序,以下叙述中正确的是( )。
A.程序的执行总是从main函数开始,在程序的最后一个函数中结束B.程序的执行总是从程序的第一个函数开始,在main函数结束.C.程序的执行总是从main函数开始、D.程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束参考答案:C参考解析:任何一个c程序都是从主函数main开始,至主函数main结束,所以选择c选项。
4[单选题] 有以下程序:程序运行后的输出结果是( )。
A.1 2B.1 4C.123 4D.123 456参考答案:D参考解析:fprintf()函数向文本文件输出数据,将输出的内容按格式输出翻硬盘的文本文件中。
执行两次fprintf后。
文件中的内容为。
l23 456”,所以D选项正确。
5[单选题] 有以下程序:程序运行后的输出结果是( )。
A.1,2,1,2,2,4B.1,2,6,6,7,8C.1,2,2,4,2,4D.1,2,6,6,2,4参考答案:A参考解析:全局变量与函数体内局部变量同名时,局部变量会覆盖全局变量,因此在subl()函数内,全局变量m,n是不可见的,在函数suhl()对m,n操作的是局部变量,对全局变量不产生影响。
国家二级C语言机试(操作题)模拟试卷504
国家二级C语言机试(操作题)模拟试卷504(总分:6.00,做题时间:90分钟)一、程序填空题(总题数:1,分数:2.00)1.程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。
所有学生数据均以二进制方式输出到文件中。
函数fun的功能是重写形参filename所指文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其他学生的数据不变。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构! #include #define N 5 typedef struct student { long sno; char name[10]; float score[3]; } STU; void fun(char *filename, STU n) {FILE *fp; /********* found**********/ fp = fopen(【1】, "rb+"); /********* found**********/ fseek(【2】, -(long)sizeof(STU), SEEK_END); /********** found**********/ fwrite(&n, sizeof(STU), 1, 【3】); fclose(fp); } main () {STU t [N] = { {10001,"MaChao",91,92, 77},{10002,"CaoKai",75,60,88}, {10003,"LiSi",85,70,78},{10004, "FangFang",90,82,87},{10005, "ZhangSan", 95, 80, 88}}; STU n={10006,"ZhaoSi",55,70,68}, ss[N]; int i,j; FILE *fp; fp = fopen("student.dat","wb"); fwrite(t, sizeof(STU), N, fp); fclose(fp); fp = fopen("student.dat", "rb"); fread(ss, sizeof(STU), N, fp); fclose(fp); printf("/nThe original data:/n/n"); for (j=0; j(分数:2.00)__________________________________________________________________________________________ 正确答案:(正确答案:(1) filename (2)fp (3)fp)解析:解析:第一空:“fp=fopen(【1】,"rb+");”补充fopen的参数,fopen的调用形式是:fp=fopen(文件名,文件使用方式),因此,第一空处应填文件名“filename”。
计算机等级《二级C语言程序设计》模拟题
计算机等级《二级C语言程序设计》模拟题计算机等级《二级C语言程序设计》模拟题1.【单选题】2分| 有定义:“inta=2,b=3,c=4;”,则下列选项中值为0的表达式是()。
A (!a==1)&&(!b==0)B (aC a&&bD a||(b+b)&&(c-a)2.【单选题】2分| 执行下面的程序后,a的值为()。
main(){inta,b;for(a=1,b=1;a=10;a++){if(b%3==l){b+=3;continue;}b-=5;}}A 7B 8C 9D 103.【单选题】2分| 若fp是指向某文件的指针,且尚未读到文件末尾,则函数feof(fp)的返回值是()。
A EOFB -lC 非零值D 04.【单选题】2分| 有以下程序:main(){inta=0,b=0;a=10;/*给a赋值b=20;给b赋值*/printf("a+b=%d\n",a+b);//输出计算机结果}程序运行后的输出结果是()。
A a+b=10B a+b=30C 30D 出错5.【单选题】2分| 以下程序的输出结果是()。
main(){inta=3:printf("%d\n",(a+a-=a*a));}A -6B 12C 0D -126.【单选题】2分| 执行下列程序中的输出语句后,a的值是()。
main(){inta;printf("%d\n",(a=2*3,a*5,a+7));}A 17B 37C 6D 137.【单选题】2分| 下列关于栈的描述中错误的是()。
A 栈是先进先出的线性表B 栈只能顺序存储C 栈具有记忆作用D 对栈的插入删除操作中,不需要改变栈底指针8.【单选题】2分| 函数调用strcat(strcpy(str1,str2),str3)的功能是()。
A 将字符串str1复制到字符串str2中后再连接到字符串str3之后B 将字符串str1连接到字符串str2之后再复制到字符串str3之后C 将字符串str2复制到字符串str1之后再将字符串str3连接到字符串str1之后D 将字符串str2连接到字符串str1之后再将字符串strl复制到字符串str3中9.【单选题】2分| 对两个数组a和b进行下列初始化:charm[]1="l234567":charn[]={'1','2','3','4','5','6','7');则下列叙述正确的是()。
全国计算机二级《C语言》考试题库与答案
全国计算机二级《C语言》考试题库与答案全国计算机二级《C语言》考试题库与答案在学习、工作中,我们都离不开试题,借助试题可以检验考试者是否已经具备获得某种资格的基本能力。
什么样的试题才能有效帮助到我们呢?以下是店铺为大家收集的全国计算机二级《C语言》考试题库与答案,欢迎大家分享。
全国计算机二级《C语言》考试题库与答案篇1(1)下列关于栈叙述正确的是( )。
A.栈顶元素最先能被删除B.栈顶元素最后才能被删除C.栈底元素永远不能被删除D.栈底元素最先被删除(2)下列叙述中正确的是( )。
A.在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B.在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D.以上说法都不正确某二叉树共有7个结点,其中叶子结点只有l个,则该二叉树的深度为(假设根结点在第1层)( )。
A.3B.4C.6D.7软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。
下面属于应用软件的是( ):A.学生成绩管理系统B.c语言编译程序C.UNIX操作系统D.数据库管理系统(5)结构化程序所要求的基本结构不包括( )。
A.顺序结构B.GOT0跳转C.选择(分支)结构D.重复(循环)结构(6)下面描述中错误的是( )。
A.系统总体结构图支持软件系统的详细设计B.软件设计是将软件需求转换为软件表示的过程C.数据结构与数据库设计是软件设计的任务之一D.PAD图是软件详细设计的表示工具(7)负责数据库中查询操作的数据库语言是( )。
A.数据定义语言B.数据管理语言C.数据操纵语言D.数据控制语言一个教师可讲授多门课程,一门课程可由多个教师讲授。
则实体教师和课程间的联系是( )。
A.1:1联系B.1:m联系C.m:1联系D.m:n联系(9)已知大写字母A的ASCIl码值是65,小写字母a的ASCIl码值是97。
以下不能将变量C中的大写字母转换为对应小写字母的语句是( )。
计算机二级c语言试题题库及答案
计算机二级c语言试题题库及答案一、单项选择题(每题2分,共20分)1. 在C语言中,用于定义变量的关键字是()。
A. defineB. varC. intD. let答案:C2. 下列关于C语言函数的描述,不正确的是()。
A. 函数可以没有参数B. 函数可以返回值C. 函数必须有返回值D. 函数可以嵌套定义答案:C3. 以下哪个选项不是C语言中的运算符()。
A. %B. &&C. ++D. :答案:D4. 在C语言中,用于定义一个结构体的关键字是()。
A. structB. unionC. enumD. typedef答案:A5. C语言中,用于表示逻辑与的运算符是()。
A. &&B. ||C. !D. =答案:A二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型数组的语句是:int array[10]; 其中array[0]的值默认为____。
答案:02. 如果一个函数的返回类型是int,那么在函数体中必须包含一条____语句。
答案:return3. 在C语言中,用于计算字符串长度的函数是____。
答案:strlen4. C语言中,用于将字符数组转换为字符串的字符是____。
答案:'\0'5. 当使用指针变量时,必须先对其进行____。
答案:初始化三、编程题(每题10分,共20分)1. 编写一个C语言函数,实现两个整数的交换。
```cvoid swap(int *a, int *b) {int temp = *a;*a = *b;*b = temp;}```2. 编写一个C语言程序,计算并输出100以内所有偶数的和。
```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}printf("Sum of even numbers from 1 to 100 is: %d\n", sum); return 0;}```四、简答题(每题10分,共40分)1. 简述C语言中指针和数组的关系。
计算机二级C语言模拟练习题
计算机二级C语言模拟练习题计算机二级C语言模拟练习题在学习和工作的日常里,我们最熟悉的就是试题了,借助试题可以更好地考核参考者的知识才能。
你所了解的试题是什么样的呢?下面是店铺整理的计算机二级C语言模拟练习题,希望能够帮助到大家。
计算机二级C语言模拟练习题篇1(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)对长度为n的线性表排序,在最坏情况下,比较次数不是n(n 一1)/2的排序方法是( )。
A.快速排序B.冒泡排序C.直接插入排序D.堆排序(7)下列关于栈的叙述正确的是( )。
A.栈按“先进先出”组织数据,B.栈按“先进后出”组织数据C.只能在栈底插入数据D.不能删除数据(8)在数据库设计中,将E—R图转换成关系数据模型的过程属于( )。
A.需求分析阶段B.概念设计阶段C.逻辑设计阶段D.物理设计阶段(9)有三个关系R、s和T如下:由关系R和s通过运算得到关系T,则所使用的运算为( )。
A.并B.自然连接C.笛卡尔积D.交(10)设有表示学生选课的三张表,学生s(学号,姓名,性别,年龄,身份证号),课程c(课号,课名),选课SC(学号,课号,成绩),则表sc的关键字(键或码)为( )。
A.课号,成绩B.学号,成绩C.学号,课号D.学号,姓名,成绩参考答案:(1)C【解析】在数据流图中,用标有名字的箭头表示数据流。
计算机二级《C语言》模拟试题及答案
计算机二级《C语言》模拟试题及答案计算机二级《C语言》模拟试题及答案1、以下语句的输出结果是( )。
int a=-1,b=4,k;k=(+ +a<0)&&!(b - -<=0);printf("%d,%d,%d\n",k,a,b);A. 1,0,4B. 1,0,3C. 0,0,3D. 0,0,42、下列程序的输出结果是( )。
char *p1="abcd", *p2="ABCD", str[50]="xyz";strcpy(str+2,strcat(p1+2,p2+1));printf("%s",str);A. xyabcABB. abcABzC. ABabczD. xycdBCD3、执行下面的程序后,a的值是( )。
#define SQR(X) X*Xmain( ){ int a=10,k=2,m=1;a/=SQR(k+m)/SQR(k+m);printf("%d\n",a); }A. 10B. 1C. 9D. 04、设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i 个元素的地址为( )。
A.P+i*2B. P+(i-1)*2来源:考试大C. P+(i-1)D. P+i5、下列程序执行后输出的结果是( )。
int d=1;fun (int p){ int d=5;d + =p + +;printf("%d,",d); }main( ){ int a=3;fun(a);d + = a + +;printf("%d\n",d); }A. 8, 4B. 9, 6C. 9, 4D. 8, 56、表达式:10!=9的值是( )。
A. trueB. 非零值C. 0D. 17、若有说明: int i,j=7, *p=&i;, 则与i=j; 等价的语句是( )。
2022年计算机等级考试二级C语言模拟试卷及其答案
(2)【2】软件开发
评析:基于软件工程旳目旳,软件工程旳理论和技术性研究旳内容重要包括:软件开发技术和软件工程管理。
软件开发技术包括:软件开发措施学、开发过程、开发工具和软件工程环境,其主体内容是软件开发措施学。
软件工程管理包括:软件管理学、软件工程经济学、软件心理学等内容。
(5)A
评析:确认测试旳任务是验证软件旳功能和性能及其他特性与否满足了需求规格阐明中确实定旳多种需求,以及软件配置与否完全、对旳。
(6)D
评析:常见旳需求分析措施有:构造化分析措施和面向对象旳分析措施。构造化分析旳常用工具有:数据流图(DFD)、数据字典(DD)、鉴定树和鉴定表等。
(7)C
评析:在软件设计过程中,必须遵照软件工程旳基本原则:这些原则包括抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可靠性。
(8)B
评析:内模式(Internal Schema)又称物理模式(Physical Schema),它给出了数据库物理存储构造与物理存取措施,如数据存储旳文献构造、索引、集簇及hash等存取方式与存取途径。
(9)D
评析:在关系数据库中,用二维表来表达实体之间元组所构成,因此关系可视为元组旳集合,将E-R图转换到关系模式时,实体与联络都可以表到达关系。
(7)【7】1.0/(i*i) 或 (double)1/(i*i)
评析:体现式1+1/(2*2)+1/(3*3)+...+1(n*n)可写为1/(1*1)+1/(2*2)+1/(3*3)+...+1(n*n)
n
即:∑1÷(i×i)
i=1
对应旳C语言旳体现式s = s + 1.0/(i*i)。注:必须要写成1.0旳形式,否则 1/(i*i)返回值为其值截尾取整,即恒为0。
计算机二级C语言模拟卷
计算机二级模拟卷一、选择题1.假定int类型变量占用两个字节,其有定义int x[10]={0,2,4};,则数组x在内存中所占字节数是( )。
A.3B.6C.10D.20参考答案:D参考解析:x数组共有10个元素,在花括号内只提供3个初值,这表示只给前面的3个成员赋值,后7个元素的值为0,所以,一共有20个字节。
2.对于循环队列,下列叙述中正确的是( )。
A.队头指针是固定不变的B.队头指针一定大于队尾指针C.队头指针一定小于队尾指针D.队头指针可以大于队尾指针,也可以小于队尾指针参考答案:D参考解析:循环队列的队头指针与队尾指针都不是固定的,随着入队与出队操作要进行变化。
因为是循环利用的队列结构所以队头指针有时可能大于队尾指针有时也可能小于队尾指针。
3.下列有关函数重载的叙述中,错误的是( )。
A.函数重载就是用相同的函数名定义多个函数B.重载函数的参数列表必须不同C.重载函数的返回值类型必须不同D.重载函数的参数可以带有默认值参考答案:C参考解析:所谓函数重载是指同一个函数名可以对应着多个函数的实现。
每种实现对应着一个函数体,这些函数的名字相同,但是函数参数的类型不同,还允许参数的个数不同,但不能只有函数的返回值类型不同而参数的个数和类型相同的重载。
所以本题答案为c。
4.下面关于类和对象的描述中,错误的是( )。
A.类就是C语言中的结构体类型,对象就是C语言中的结构体变量B.类和对象之间的关系是抽象和具体的关系C.对象是类的实例,一个对象必须属于一个已知的类D.类是具有共同行为的若干对象的统一描述体参考答案:A参考解析:在c++语言中,类和结构体有本质区别,类中包含数据及操作函数,而结构体只包含有数据。
5.有如下程序:#inCludeusing namespaCe std;Class test{private:int a;publiC:test( ){Cout<<”ConstruCtor”<test(int A.{Cout<test(Const test&_test){ a=test.a:Cout<<”Copy ConstruCtor”<test( ){Cout<<”destruCtor”<};int main( ){ test A(3); return 0;}执行这个程序的输出结果是( )。
闽高校计算机二级C语言模拟卷及答案
一、单项选择题(每小题2分,共20分)1.以下4组用户定义标识符中,全部合法的一组是()。
A)_totalclu_1sumB)if-maxturbC)txtREAL3COMD)intk_2_0012.以下程序的输出结果是()。
#include<stdio.h>voidmain(){inta=1,b=2,c=3;printf(“%d”,c>b>a);}A)2B)1C)0D)33.以下正确的叙述是()。
A)在C语言中,main函数必须位于文件的开头B)C语言每行中只能写一条语句C)C语言本身没有输入、输出语句D)对一个C语言进行编译预处理时,可检查宏定义的语法错误4.设n=3;则n++的结果是()。
A)2B)3C)4D)55.设整型变量n=10,i=4,则赋值运算n%=i+1执行后,n的值是()。
A)0B)1C)2D)36.能正确表示逻辑关系:“a≥=10或a≤0”的C语言表达式是()。
A)a>=10ora<=0B)a>=0|a<=10C)a>=10&&a<=0D)a>=10‖a<=07.执行下面的程序时,将1、2、3、4分别赋给a、b、c、d,正确的输入是()。
voidmain(){inta,b,c,d;scanf(“%d,%d,%d%d”,&a,&b,&c,&d);…}A)1234B)123,4C)1,2,3,4D)1,2,348.有以下程序段:voidmain(){intk=0;while(k=1)k++;}则while循环执行的次数是()。
A)无限次B)有语法错,不能执行C)一次也不执行D)执行1次9.以下程序的输出结果是()。
#include<stdio.h>voidmain(){inta=5,b=4,c=6,d;printf(“%d”,d=a>b?(a>c?a:c):b);}A)5B)4C)6D)不确定10.下面是对数组a的初始化,其中不正确的是()。
计算机二级《C语言》模拟试题及答案3篇
计算机二级《C语言》模拟试题及答案第一篇:C语言基础知识1. C语言的发明人是谁?简要介绍一下他的背景。
2. int型变量的取值范围是多少?unsigned int呢?3. 请问下面这段代码输出的结果是什么?char str1[] = "hello";char str2[] = "world";strcat(str1, str2);printf("%s", str1);4. 以下哪些数据类型可以用来存储浮点数?A. floatB. doubleC. long doubleD. char5. 下列代码的输出结果是什么?int a = 1;long b = 2;float c = 3.0;printf("%ld\n", a + b + c);答案:1. C语言的发明人是丹尼斯·里奇(Dennis Ritchie)。
他于1941年出生在美国,是贝尔实验室研究员和计算机科学家。
在20世纪70年代,他和肯·汤普逊(Ken Thompson)合作,发明了UNIX操作系统和C语言。
C语言是一种高级计算机程序语言,在操作系统、编译器、数据库、游戏等领域被广泛使用。
丹尼斯·里奇因发明了C语言,被誉为“计算机编程之父”。
2. int型变量的取值范围是-2147483648到2147483647,unsigned int的取值范围是0到4294967295。
3. 输出结果为“helloworld”。
strcat是C语言的字符串拼接函数,将两个字符串连接成一个字符串。
在拼接之前,需要保证第一个字符串的数组足够大,以容纳两个字符串的内容。
如果第一个字符串不够大,程序会出现内存溢出等问题。
4. A、B、C三个数据类型可以用来存储浮点数。
5. 输出结果为“6”。
在printf函数中,%ld表示输出长整型数据,而c是一个float型变量。
c语言二级模拟试题
c语言二级模拟试题# C语言二级模拟试题一、选择题(每题2分,共20分)1. 下列关于C语言的描述,不正确的是:A. C语言是一种高级编程语言B. C语言具有丰富的数据类型C. C语言是面向对象的编程语言D. C语言支持多文件编程2. 在C语言中,以下哪个关键字用于定义一个函数?A. `int`B. `void`C. `return`D. `function`3. 以下哪个运算符不能用于算术运算?A. `+`B. `-`C. `*`D. `&&`4. 在C语言中,以下哪个语句用于实现循环?A. `if`B. `switch`C. `while`D. `for`5. 以下哪个选项是C语言中的合法变量名?A. `2variable`B. `variable-name`C. `case`D. `default`6. 在C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. `strcpy`B. `strcat`C. `strlen`D. `strncat`7. 在C语言中,以下哪个关键字用于定义一个结构体?A. `struct`B. `union`C. `enum`D. `typedef`8. 在C语言中,以下哪个语句用于定义一个枚举类型?A. `typedef`B. `enum`C. `struct`D. `union`9. 在C语言中,以下哪个函数用于计算一个整数的绝对值?A. `abs`B. `fabs`C. `floor`D. `ceil`10. 在C语言中,以下哪个函数用于将一个浮点数转换为字符串?A. `sprintf`B. `strcpy`C. `strcat`D. `atoi`二、填空题(每题2分,共20分)1. 在C语言中,`printf`函数用于_______。
2. 一个C语言程序的执行从`main`函数开始,`main`函数的返回类型通常是_______。
3. 在C语言中,`scanf`函数用于_______。
全国计算机二级C语言模拟测试【含详细解析】 (4)
全国计算机二级C语言模拟测试卷【附带详细解析】@乡村教师胡劲1.设循环队列为Q(1:m),其初始状态为front=rear=m。
经过一系列入队与退队运算后,front=20,rear=15。
现要在该循环队列中寻找最小值的元素,最坏情况下需要比较的次数为A. 5B. 6C. m-5D. m-6正确答案:D你的答案:解析:【解析】循环队列是队列的一种顺序存储结构,用队尾指针rear指向队列中的队尾元素,用排头指针指向排头元素的前一个位置,因此,从排头指针front指向的后一个位置直到队尾指针rear指向的位置之间所有的元素均为队列中的元素,队列初始状态为front=rear=m,当front=20,rear=15时,队列中有m-20+15=m-5个元素,比较次数为m-6次,D选项正确。
2.某二叉树的前序序列为ABCDEFG,中序序列为DCBAEFG,则该二叉树的后序序列为A. EFGDCBAB. DCBEFGAC. BCDGFEAD. DCBGFEA正确答案:D你的答案:解析:【解析】二叉树遍历可以分为3种:前序遍历(访问根节点在访问左子树和访问右子树之前)、中序遍历(访问根节点在访问左子树和访问右子树两者之间)、后序遍历(访问根节点在访问左子树和访问右子树之后)。
二叉树的前序序列为ABCDEFG,A为根节点。
中序序列为DCBAEFG,可知DCB为左子树节点,EFG为右子树节点。
同理B为C父节点,C 为D父节点,且CD均为B的同侧子树节点。
同理E为F根节点,F为G根节点,且FG 为E同侧子树节点。
二叉树的后序序列为DCBGFEA,D选项正确。
3.下列叙述中正确的是A. 有两个指针域的链表一定是二叉树的存储结构B. 有多个指针域的链表一定是非线性结构C. 有多个指针域的链表有可能是线性结构D. 只有一个根结点的数据结构一定是线性结构正确答案:C你的答案:解析:【解析】一个非空的数据结构如果满足以下两个条件:有且只有一个根节点;每一个节点最多有一个前件,也最多有一个后件,称为线性结构,称为线性表。
全国计算机二级C语言考试模拟题
全国高校计算机等级考试(二级C)模拟一试题一、选择题1、设有语句:int k, *p; 以下能正确执行的赋值语句是(D )。
A、k=pB、k=&pC、P=KD、p=&k2、以下运算符中优先级最高的运算符是(A)。
A、!B、&&C、||D、<3、求字符串长度的函数是( D )。
A、strcatB、strcpyC、strcmpD、strlen4、下面程序段的运行结果是(A)。
char x[5]=“ab\0c\0”;printf("%s",x);说明:“\0”中的“0”是数字零。
A、abB、abcC、ab\0D、ab\0c\05、若有说明语句: int a[2][4]; 则对数组a元素的正确引用是( D )。
A、a[2]B、a[4]C、a[2][4]D、a[1][3]6、C语言允许函数值类型缺省定义,此时该函数值隐含的类型是( B )。
A、float型B、int型C、long型D、double型7、用数组名作为函数调用的实参时,传递给虚参的是(A)。
A、数组的首地址B、数组第一个元素的值C、数组中全部元素的值D、数组元素的个数8、以下程序的输出结果是( D )。
#include<stdio.h>#define F(y) 8-yvoid main(void){int x,y;y=F(2);printf(“y=%d”,y);}A、2B、y=2C、6D、y=69、以下程序的输出结果是(A)。
#include<stdio.h>struct{int x,y;} a;void main(void){int x,y=50,z;a.x=10;a.y=20;z=a.x+y;printf(“%d”,z);}A、60 B 、10 C、0 D、2010、语句fopen(“file.dat”,”r”); 的功能是(A)。
A、按照“读”方式打开文件B、按照“写”方式打开文件C、按照“读写”方式打开文件D、按照“追加”方式打开文件11、关闭文件的语句是( D )。
计算机二级C语言五套模拟卷与答案
计算机二级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 35.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循环的正确描述是。
计算机二级《C语言》模拟题及答案
计算机二级《C语言》模拟题及答案2016计算机二级《C语言》模拟题及答案1. 若“int n; float f=13.8;”,则执行“n=(int)f%3”后,n的值是(A)A、1B、4C、4.333333D、4.6“(int)f“表示将f中的值强制类型转换为整型,即将13.8的小数部分舍掉,转换为13;然后计算13%3,结果为1,再将结果赋给变量n,因此n的值为12. 以下对一维数组a的正确说明是: DA、char a(10);B、 int a[];C、int k=5,a[k];D、char a[3]={‘a’,’b’,’c’};详见教材P143~144,一维数组的定义、初始化类型符数组名 [常量表达式]类型符是指数组中数组元素的类型;数组名要符合标识符命名规则;常量表达式是指数组的长度(数组中包含元素的个数),其值只能是整数,不可以是变量,而且从1开始计数。
选项A,常量表达式只能放在中括号 [ ]中选项B,只有在对数组初始化(即赋值)的时候才可以省略数组的长度,B中并未对a进行初始化。
选项C,常量表达式不能为变量。
3.以下能对一维数组a进行初始化的语句是:( C )A、int a[5]=(0,1,2,3,4,)B、 inta(5)={}C、 int a[3]={0,1,2}D、 int a{5}={10*1}详见教材P145,一维数组的定义、初始化选项B,D,常量表达式只能放在中括号 [ ]中选项A,数组可以看做是若干个相同数据类型元素的有序集合,因此以集合的形式对其初始化,使用{ }对其初始化,选项A用了().4.在C语言中对一维整型数组的正确定义为 D 。
A、int a(10);B、int n=10,a[n];C、int n;a[n];D、#define N 10int a[N];5、已知:int a[10]; 则对a数组元素的正确引用是( D )。
A、a[10]B、a[3.5]C、a(5)D、a[0]详见教材P144,数组元素的引用数组名[下标]引用数组元素时,[ ]中的下标为逻辑地址下标,只能为整数,可以为变量,且从0开始计数int a[10]表示定义了一个包含10个整型数据的数组a,数组元素的逻辑地址下标范围为0~9,即a[0] 表示组中第1个元素; a[1] 表示组中第2个元素; a[2] 表示组中第3个元素; ......;a[9] 表示组中第10个元素.选项A,超过了数组a的逻辑地址下标范围;选项B,逻辑地址下标只能为整数选项C,逻辑地址下标只能放在[ ]中6.下列不正确的定义是(A )。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
二级C语言分类模拟题504一、选择题1、以下叙述中正确的是______。
A.在C语言中,预处理命令行都以“#”开头B.预处理命令行必须位于C源程序的起始位置C.#include <stdio.h>必须放在C程序的开头D.C语言的预处理不能实现宏定义和条件编译的功能2、下面关于编译预处理的命令行,正确的是______。
A.#define PAI 3.14B.#Define Eps 0.00001C.##DEFINE FALSE 0D.#define int INT3、有以下程序:#include <stdio.h>#define PT 3.5;#define S(x) PT*x*x;main(){ int a=1,b=2; printf("%4.lf\n",S(a+b)); } 程序运行后的输出结果是______。
A.7.5B.31.5C.程序有错,无输出结果D.14.04、有以下程序:#include <stdio.h>#define S(x) 4*(x)*x+1main(){ int k=5,j=2;printf("%d\n",S(k+j));}程序运行后的输出结果是______。
A.33B.197C.143D.285、以下叙述中错误的是______。
A.C程序对预处理命令行的处理是在程序执行的过程中进行的B.预处理命令行的最后不能以分号表示结束C.#define MAX是合法的宏定义命令行D.在程序中凡是以“#”开始的语句行都是预处理命令行6、有以下程序段:int *p;p=______ malloc(sizeof(int));若要求使p指向一个int型的动态存储单元,在横线处应填入的是______。
A.(int*)B.intC.int *D.(*int)7、有以下程序:#include <stdio.h>#include <string.h>#include <stdlib.h>main(){ char *p1,*p2;p1=p2=(char*) malloc(sizeof(char)*10); strcpy(p1,"malloc");strcpy(p2,p1+1);printf("%c%c\n",p1[0],p2[0]);}程序的运行结果是______。
A.aaB.maC.amD.mm8、有以下程序:#include <stdio.h>#include <stdlib.h>void fun(int *p1,int *p2,int *s){ s=(int *)calloe(1,sizeof(int));*s=*p1+*p2;free(s);}main(){ int a[2]={1,2},b[2]={40,50},*q=a; fun(a,b,q);printf("%d\n",*q);}程序运行后的输出结果是______。
A.42B.41C.1D.09、有以下程序:#include <stdio.h>#define SUB(a) (a)-(a)main(){ int a=2,b=3,c=5,d;d=SUB(a+b)*c;printf("%d\n",d);}程序运行后的输出结果是______。
A.0B.-12C.-20D.1010、有以下程序:#include <stdio.h>#define f(x)x*x*xmain(){ int a=3,s,t;s=f(a+1);t=f((a+1));printf("%d,%d\n",s,t);}程序运行后的输出结果是______。
A.10,64B.10,10C.64,10D.64,6411、有以下程序:#include <stdio.h>#define N 5#define M N+1#define f(x) (x*M)main(){ int i1,i2;i1=f(2);i2=f(1+1);printf("%d%d\n",i1,i2);}程序的运行结果是______。
A.12 7B.12 12C.11 11D.11 712、有以下程序:#include <stdio.h>#define N 2#define M N+1#define NUM (M+1)*M/2main(){ printf("%d\n",NUM); }程序运行后的输出结果是______。
A.4B.8C.9D.613、以下叙述中正确的是______。
A.在一个程序中,允许使用任意数量的#include命令行 B.在包含文件中,不得再包含其他文件C.#include命令行不能出现在程序文件的中间D.虽然包含文件被修改了,包含该文件的源程序也可以不重新进行编译和连接14、下面关于编译预处理的叙述中正确的是______。
A.预处理命令行必须使用分号结尾B.凡是以#号开头的行,都被称为编译预处理命令行C.预处理命令行不能出现在程序的最后一行D.预处理命令行的作用域是到最近的函数结束处15、有以下程序:#include <stdio.h>#include <stdlib.h>void fun(int **s,int x[2][3]){ **s=*(x[1]+1); }main(){ int a[2][3]={1,2,3,4,5,6},*p;p=(int*)malloc(sizeof(int));fun(&p,a);printf("%d\n",*p);}程序的运行结果是______。
A.6B.2C.5D.316、以下选项中,不能对主函数中变量i和j的值进行交换的程序是______。
A.#include <stdio.h>void swap(int *p,int *q){ int *t;*t=*p; *p=*q; *q=*t;}main(){ int i=10,j=20,*a=&i,*b=&j;swap(a,b);printf("i=%d j=%d\n",i,j);}B.#include <stdio.h>void swap(int *p,int *q){ int t;t=*p;*p=*q;*q=t;}main(){ int i=10,j=20,*a=&i,*b=&j;swap(a,b); printf("i=%d j=%d\n",i,j);}C.#include <stdio.h>#include <stdlib.h>void swap(int *p,int *q){ int *t;t=(int *)malloc(sizeof(int));*t=*p; *p=*q; *q=*t;free(t);}main(){ int i=10,j=20;swap(&i,&j);printf("i=%d j=%d\n",i,j);}D.#include <stdio.h>void swap(int *p,int *q){int t;t=*p; *p=*q; *q=t;}main(){int i=10,j=20,*x=&i,*y=&j;swap(x,y);printf("i=%d j=%d\n",i,j);}17、有以下程序:#include <stdio.h>#include <stdlib.h>void fun(double *p1,double *p2,double *s){ s=(double*)calloc(1,sizeof(double));*s=*p1+*(p2+1);}main(){ double a[2]={1.1,2.2},b[2]={10.0,20.0},*s=a;fun(a,b,s);printf("%5.2f\n",*s);}程序的输出结果是______。
A.21.10B.11.10C.12.10D.1.1018、以下叙述中错误的是______。
A.可以通过typedef增加新的类型B.可以用typedef将已存在的类型用一个新的名字来代表C.用typedef定义新的类型名后,原有类型名仍有效D.用typedef可以为各种类型起别名,但不能为变量起别名19、typedef int* T;T a[10];则a的定义与下面哪个语句等价______。
A.int (*a)[10];B.int *a[10];C.int *a;D.int a[10];20、以下叙述中正确的是______。
A.使用typedef说明新类型名时,其格式是:typedef新类型名原类型名; B.在程序中,允许用typedef来说明一种新的类型名C.使用typedef说明新类型名时,后面不能加分号D.在使用typedef改变原类型的名称后,只能使用新的类型名21、以下叙述中正确的是______。
A.结构体类型中各个成分的类型必须是一致的B.结构体类型中的成分只能是C语言中预先定义的基本数据类型 C.在定义结构体类型时,编译程序就为它分配了内存空间D.一个结构体类型可以由多个称为成员(或域)的成分组成22、设有定义:struct complex{ int real,unreal;} data1={1,8},data2;则以下赋值语句中错误的是______。
A.data2=(2,6);B.data2=data1;C.data2.real=data1.real;D.data2.real=data1.unreal;23、有以下程序段:struct st{ int x; int *y;} *pt;int a[]={1,2},b[]={3,4};struct st c[2]={10,a,20,b};pt=c;以下选项中表达式的值为11的是______。
A.++pt->xB.pt->xC.*pt->yD.(pt++)->x24、有以下程序:#include <stdio.h>struct S{ int n;int a[20]; };void f(int *a,int n){ int i;for(i=0;i<n-1;i++) a[i]+=i;}main(){ int i;struet S s={10,{2,3,1,6,8,7,5,4,10,9}};f(s.a,s.n);for(i=0;i<s.n;i++)printf("%d,",s.a[i]);}程序运行后的输出结果是______。
A.2,3,1,6,8,7,5,4,10,9,B.3,4,2,7,9,8,6,5,11,10,C.2,4,3,9,12,12,11,11,18,9,D.1,2,3,6,8,7,5,4,10,9,25、设有以下程序段:struct person{ char name[10];char sex;float weight;}zhangsan, *ptr;ptr=&zhangsan;若要从键盘读入姓名给结构体变量zhangsan的name成员,输入项错误的是______。