二级C语言分类模拟题577
计算机二级C语言考试模拟题包括答案.doc

2019 年 12 月计算机二级 C 语言考试模拟题及答案A.用户自己定义的函数只能调用库函数B. 实用的 C语言源程序总是由一个或多个函数组成C.不同函数的形式参数不能使用相同名称的标识符D.在 C语言的函数内部,能够定义局部嵌套函数参考答案: B参考解析: A 选项中,”用户自己定义的函数只能调用库函数”描述是不准确的,也能够调用自定义函数 ;C 选项中,对于不同函数的形式参数能够使用相同名称的标识符 ;D 选项中,关于函数的定义不能够嵌套,但函数的调用能够嵌套。
所以 B 选项准确。
2[ 单选题 ] 以下关于 C语言数据类型使用的叙述中错误的是( ) 。
A.若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型B.若要保存带有多位小数的数据,可使用双精度类型C.若只处理“真”和“假”两种逻辑值,应使用逻辑类型D.整数类型表示的自然数是准确无误差的参考答案: C参考解析: C语言中没有逻辑类型,所以 c 错误。
若要保存带有多位小数的数据,能够用单精度类型也能够用双精度类型。
处理包含不同类型的相关数据能够定义为结构体类型。
整数类型能够无误差的表示自然数。
3[ 单选题 ] 下面选项中关于编译预处理的叙述准确的是A.预处理命令行必须使用分号结尾B.凡是以 #号开头的行,都被称为编译预处理命令行C.预处理命令行不能出现在程序的最后一行D.预处理命令行的作用域是到最近的函数结束处参考答案: B参考解析:本题考查预编译的预编译处理命令行,预处理命令行不能以分号结尾,所以A 选项错误,预处理命令行能够出现在程序的最后一行,预处理命令行作用域是整个文件。
4[ 单选题 ] 设--X 树共有 150 个结点,其中度为 l 的结点有 l0 个,则该---X 树中的叶子结点数为 ( ) 。
A.71B.70C.69D. 不可能有这样的二叉树参考答案: D参考解析:在树结构中,一个结点所拥有的后件个数称为该结点的度,所有结点中的度称为树的度。
计算机二级《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语言程序设计》模拟题

计算机等级《二级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.逐步求精(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语言模拟练习题C语言的运算符包含的范围很广泛,共有34种运算符。
下面给大家整理了计算机二级考试C语言模拟练习题,欢迎阅读!计算机二级考试C语言模拟练习题1). 关于C语言的变量,以下叙述中错误的是( )A.所谓变量是指在程序运行过程中其值可以被改变的量B.变量所占的存储单元地址可以随时改变C.程序中用到的所有变量都必须先定义后才能使用D.由三条下划线构成的符号名是合法的变量名正确答案:B答案解析:变量是指在程序运行过程中其值可以改变的值,一个变量实质上是代表了内存中的某个存储单元。
在程序中对某个变量的操作实际上就是对这个存储单元的操作,程序运行期间,这个分配的存储单元不会改变,但是其值可以变化。
变量命名要符合标识符的规定,其中下划线是标识符的组成字符。
程序中所有变量都必须先定义后使用。
2). 当变量c的值不为2、4、6时,值也为″真″的表达式是( )A.(c==2)||(c==4)||(c==6)B.(c>=2 && c<=6)&&!(c%2)C.(c>=2 &&c<=6)&&(c%2!=1)D.(c>=2 && c<=6) || (c!=3)|| (c!=5)正确答案:D答案解析:逻辑或运算中,只要有一项为真,表达式的值就为真,故选项D中c的值不为2、4、6时,那么表达式(c>=2&& c<=6)以及(c!=3)、(c!=5)必有一个成立,表达式的值也为真。
3). 在C语言中,函数返回值的类型最终取决于A.函数定义时在函数首部所说明的函数类型B.return语句中表达式值的类型C.调用函数时主调函数所传递的实参类型D.函数定义时形参的类型正确答案:A答案解析:在C语言中,应当在定义函数时指定函数值的'类型,凡不加类型说明的函数,一律按整型处理。
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语言程序设计模拟试题及答案解析(最终)
二级C语言程序设计模拟试题及答案解析〔9〕(1/2) 程序填空题第1 题程序通过定义学生布局体变量,存储了学生的学号、姓名和三门课的成就。
所有学生数据均以二进制方式输出到文件中。
函数fun 的功能是重写形参filename 所指文件中最后一个学生的数据,即用新的学生数据覆盖该学生本来的数据,其他学生的数据不变。
请在程序的下划线处填入正确的内容,使程序得出正确的成果。
注意:局部源程序给出如下。
!不得增行或删行,也不得更改程序的布局试题程序:#include<>#define N 5typedef struct student{long sno;char name[10];float score[3];}STU;void fun(char*filename,STU n)(FILE*fp;/**********found**********/fp=fopen(______,"rb+");/**********found**********/fseek(______,-(long)sizeof(STU),SEEK_END);/**********found**********/fwrite(&n,sizeof(STU),1,______);fclose(fp);}main()(STUt[N]={{10001,"MaChao",91,92,77},{10002,"CaoKai",75,60,88},{10003,"LiSi",85,70,78},{10004,"Fa ngFang",90,82,87},{10005,"ZhangSan",95,80,88}};STU n={10006,"ZhaoSi",55,70,68},ss[N];inti,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 <N; j++){printf("\nNo:%ld Name:%-8s Scores:",ss[j]. sno,ss[j].name);for(i=0;i <3;i++)printf("%6.2f"ss[j].score[i]);}fun("student.dat",n);printf("\nThe data after modifing:\n\n");fp=fopen("student.dat","rb");fread(ss,sizeof(STU),N,fp);fclose(fp);for (j=0; j <N;j++){printf("\nNo:%ld Name:%-8s Scores:",ss[j]. sno,ss[j].name);for(i=0; i <3;i++)printf 〔““. ss[j].score[i];printf(:\n");}}下一题(2/2) 程序填空题第2 题给定程序中,函数fun 的功能是:判定形参 a 所指的N×N(规定N 为奇数)的矩阵是否是“幻方〞,假设是,那么函数返回值为1;假设不是,那么函数返回值为0。
计算机二级《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`函数用于_______。
9月全国计算机二级C语言模拟题
9月全国计算机二级C语言模拟题2023年9月的计算机二级考试目前正在进行着考试,今天已经是考试的最后一天了,各位考生们的考试状态如何呢?下面是我精心整理的2023年9月全国计算机二级C语言模拟题,欢迎阅读与收藏。
9月全国计算机二级C语言模拟题1一、单项选择题1、运算符___________的优先级最高。
A、[ ]B、+=C、?:D、++2、main( ){ int n; ( n=6*4,n+6),n*2; printf(“n=%d ”,n); }此程序的输出结果是______________、A、30B、24C、60D、483、若有如下定义,则__________是对数组元素的正确的引用。
、int a[10] , *p ; p=a ;A、*”后,n的值是__________A、0B、4C、- 4D、25、各种基本数据类型的存贮空间正确的长度排列为__________。
A、CharC、Char6、下面的变量说明中_____________是正确的。
A、char:a, b, c;B、char a; b; c;C、char a, b, c;D、char a, b, c7、表达式y=(13>12?15:6>7?8:9)的值为____________ 。
A 9B 8C 15D、18、若x=5,y=3 则y*=x+5; y的值为_______________、A、10B、20C、15D、309、能正确表示a和b同时为正或同时为负的逻辑表达式是_________。
A、a>=0||b>=0)则表达式“!(x+y)+z-1 则以下能够正确输出变量x值的语句是_______。
A、printf(“x=%d ”,x)B、printf(“x=%ld ”,x)C、printf(“x=l ”,x)C、printf(“x=%D ”,x);14、从循环体内某一层跳出,继续执行循环外的语句是:___________。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
二级C语言分类模拟题577(总分:39.50,做题时间:90分钟)一、选择题(总题数:30,分数:39.50)1.若有以下的定义:“int t[3][2];”,能正确表示t数组元素地址的表达式是______。
(分数:1.00)A.&t[3][2]B.t[3]C.t[1] √D.t[2][2]解析:[解析] 数组的下标是从0开始的,A中越界,行下标和列下标都不能越界;B中,虽然是个地址,但是也同样越界了;选项C中表示的是第一个的首地址;选项D表示的为其元素的值,并不是地址。
2.下面程序段的输出结果是______。
int i=32770; printf("%d/n", i);(分数:2.50)A.32769B.32767C.-32766 √D.输出不确定数解析:[解析] 在Turbo C 2.0环境中,int数据类型在内存中只占两个字节,其表示形式为二进制补码形式,所以范围是:-32768~32767,即10000000000000002~01111111111111112(首位为符号位)。
而32770转换为二进制为10000000000000102,其符号位为1故输出时为一个负数,而它的绝对值是求负后的结果,补码求负的方法是:先按位求反,再加一。
所以求得的绝对值为01111111 111111012+1=0111111111111102,即十进制的32766。
综上所述,选项C正确。
3.下列关于栈的叙述正确的是______。
(分数:2.00)A.栈按“先进先出”组织数据B.栈按“先进后出”组织数据√C.只能在栈底插入数据D.不能删除数据解析:[解析] 栈是只允许在同一端进行插入和删除运算的线性表,按“先进后出”组织数据,因此本题答案为B。
4.利用fseek函数可实现的操作是 ____ 。
(分数:1.00)A.实现文件的顺序读写B.改变文件的位置指针C.实现文件的随机读写D.以上答案均正确√解析:[解析] 改变文件位置指针函数fseek()的功能是:①改变文件的位置指针;②辅助实现文件的顺序读写;③辅助实现文件的随机读写。
5.有以下程序main(){char a[]={"a","b","c","d","e","f","g","h","/0"};int i,j;i=sized(a);j=stden(a);printf(“%d,%d/n”,i,j);}程序运行后的输出结果是(分数:1.00)A.9,9B.8,9C.1,8D.9,8 √解析:[解析] 本题中首先定义了字符数组a,由于它的长度省略,所以其长度由初值个数确定,为9。
接着将sizeof()函数返回的值赋给i(sizeof()函数的作用是返回运算对象占用的字符数),所以i值为9;然后将strlen()函数的返回值赋给j(strlen()函数的作用是返回字符串的长度,不包括字符串的结束标记"/0"),所以j值为8,所以最后输出的i, j的值为9,8。
6.有以下程序#include<stdio.h>main(){ int i=5;do{ if(i%3==1)if(i%5==2)(printf("%d",i);break;}i++;} while(i!=0);printf("/n"1);}程序的运行结果是______。
(分数:2.00)A.*7 √B.*3*5C.*5D.*2*6解析:[解析] 本题考查的是break语句。
do…while循环是“先执行,后判断”,所以无论条件如何,它都至少会执行一遍。
程序首先初始化变量i为5,然后进入do…while循环体,首先判断(i%3==1),因为5%3=2,所以if条件不满足,跳过下面的if语句,执行i++,i变为6。
第1遍循环结束,判断(i!=0)为真,继续循环。
现在i%3=6%3=0,所以if语句还是不被执行,继续i++,i变为7,仍然满足(i!=0),继续循环。
第3遍循环i%3=7%3=1,满足条件(i%3==1),继续判断条件i%5==2 成立,即输出*7,然后执行break 语句跳出循环。
7.若有以下定义和语句;int a[]={1,2,3,4,5,6,7,8,9,10},*p=a;(分数:2.00)A.p+=2,*(p++) √B.p+=2,*++pC.p+=3,*p++D.p+=2,++*p解析:[解析] 引用一个数组元素,可以用:(1)下标法,如a[i]形式;(2)指针法,如*(a+i)或*(p+i)。
数组的下标从0开始,值为3的数组元素是a[2]。
B、C的内容为a[3],D将a[2]前自加,结果为4。
8.下面叙述中错误的是______。
(分数:1.00)A.软件测试的目的是发现错误并改正错误√B.对被调试的程序进行“错误定位”是程序调试的必要步骤C.程序调试通常也称为DebugD.软件测试应严格执行测试计划,排除测试的随意性解析:[解析] 程序调试的基本步骤有:①错误定位;②修改设计和代码,以排除错误;③进行回归测试,防止引进新的错误。
所以B选项正确。
程序调试通常称为Debug,即排错,所以C选项正确。
软件测试的基本准则有:①所有测试都应追溯到需求;②严格执行测试计划,排除测试的随意性;③充分注意测试中的群集现象;④程序员应避免检查自己的程序;⑤穷举测试不可能;⑥妥善保存测试计划等文件。
所以D 选项正确。
软件测试的目的是为了发现错误,而执行程序的过程并不涉及改正错误,所以A选项错误。
9.以下叙述中正确的是______。
(分数:1.00)A.a是实型变量,C允许进行赋值a=10,但不可以这样说:实型变量中允许存放整型值√B.在赋值表达式中,赋值号左边既可以是变量也可以是任意表达式C.执行表达式a=b后,在内存中a和b存储单元中的原有值都将被改变,a的值已由原值改变为b的值,b的值由原值变为0D.已有a=3,b=5,当执行了表达式a=b,b=a之后,使a中的值为5,b中的值为3解析:[解析] C语言中语法上规定实型变量是不能存放整型类的数据的,整型数据也不能存放实型数据。
这是为了避免类型转换之间可能会发生错误。
10.当变量c的值不为2、4、6时,值也为“真”的表达式是______。
(分数:1.00)A.(c>=2 && c<=6)‖(c!=3)‖(c!=5)√B.(c==2)‖(c==4)‖(c==6)C.(c>=2 && c<=6)&& !(c%2)D.(c>=2 && c<=6)&&(c%2!=1)解析:[解析] (c>=2 && c<=6)‖(c!=3)‖(c!=5)可以满足题目条件,所以选择A。
11.当用户要求输入的字符串中含有空格时,应使用的输入函数是 ____ 。
(分数:2.00)A.scanf()B.getchar()C.gets() √D.getc()解析:[解析] 本题考查的知识点是:输入函数。
C语言提供了许多输入函数,其中有:qecchar(输入字符)、scanf(格式输入)和gecs(输入字符串)等。
题目要求输入的是字符串,所以可以排除getchar,而且要求输入的字符串中包含空格,而scanf函数默认将输入的空格字符作为分隔符,所以空格不会被输入,故可排除scanf。
getc的作用是从文件中输入一个字符,故也不可取。
aecs函数可以输入一整行作为一个字符串,其中也包括空格字符,故应该选择C)。
12.若有语句:int a[3][4],(*p)[4];p=a;,则以下选项中叙述错误的是______。
(分数:1.00)A.系统将开辟一个名为p的二维数组,p[0][0]中的值即为a[0][0]中的值√B.p+1代表a[1][0]的地址C.p中将存放a数组的首地址D.p+2代表a数组最后一行的首地址解析:[解析] (*p)[4]定义了一个数组指针。
p可以指向类似于arry[][4]的数组,题设中,p不是一个二维数组,只是可以指向这类二维数组,因此A选项错误。
p+1代表了第一行第一个元素的地址,p=a指向数组a的首地址,则B、C选项正确,同理可知D选项也正确。
故答案为A选项。
13.以下叙述中错误的是______。
(分数:1.00)A.用typedef定义新的类型名后,原有类型名仍有效B.可以用typedef将已存在的类型用一个新的名字来代表C.可以通过typedef增加新的类型√D.用typedef可以为各种类型起别名,但不能为变量起别名解析:[解析] 关键字typedef的作用只是将C语言中已有的数据类型作置换,并不是增加新的类型,因此C错误。
14.表示关系式x≤y≤z的C语言表达式的是______。
(分数:2.50)A.(x<=y)&&(y<=x) √B.(x<=y)||(y<=x)C.(x<=y<=z)D.x<=y)!(y<=x)解析:[解析] 本题考察关系表达式和逻辑表达式,y大于等于x同时y小于等于z,因此x<=y和y<=z 是逻辑与的关系。
因此A选项正确。
15.下面程序的输出是________。
char s[]="ABCD";main(){ char*pfor(p=s;p<s+4,p++)printf("%s/n",p);}(分数:1.00)A.ABCDBCDCDD √B.ABCDC.DCBAD.ABCDABCABA解析:[解析] 在第一次执行for循环时,字符数组的首地址赋给了指针变量p,使得指针变量p指向了s 的首地址,输出p所指向的字符串;第二次执行for循环时, p值增加1,p指向了s的第二个元素输出BCD;第三次输出CD;第四次输出 D;直到P指向字符串的结束字符“/0”,for循环终止抽行。
16.以下程序的输出结果是______。
point(char*pt);main(){char b[4]={"a","c","s","f"),*pt=b;pt=point(pt);printf("%c/n",*pt);}point(char*p){p+=3;return p;}(分数:2.00)A..sB..cC..f √D..a解析:17.有以下程序:#include <stdio.h>main( ){int a[]={10,20,30,40}, *p=a,i;for(i=0;i<=3;i++){a[i]=*p;p++;}printf("%d/n",a[2]);}程序运行后的输出结果是______。