安徽省计算机等级二级考试真题C语言2013年6月参考答案1
计算机二级c语言历年真题及答案
计算机二级c语言历年真题及答案【篇一:国家计算机二级c语言历年真题及答案】class=txt>c语言程序设计(考试时间90分钟,满分100分)一、选择题((1)—(10)、(21)—(40)每题2分,(11)—(20)每题1分,共70分)(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)下列选项中不属于结构化程序设计原则的是a) 可封装d) 自顶向下c) 模块化d) 逐步求精(7)软件详细设计产生的图如下:该图是a) n-s图b) pad图c) 程序流程图d) e-r图(8)数据库管理系统是a)操作系统的一部分b) 在操作系统支持下的系统软件c) 一种编译系统d) 一种操作系统(9)在e-r图中,用来表示实体联系的图形是a) 椭圆图b) 矩形c) 菱形d) 三角形(10)有三个关系r,s和t如下:其中关系t由关系r和s通过某种操作得到,该操作为a) 选择b) 投影c) 交d) 并(11)以下叙述中正确的是a)程序设计的任务就是编写程序代码并上机调试b)程序设计的任务就是确定所用数据结构c)程序设计的任务就是确定所用算法d)以上三种说法都不完整(12)以下选项中,能用作用户标识符的是a)voidb)8_8c)_0_d)unsigned(13)阅读以下程序#includemain(){ int case; float printf;printf(“请输入2个数:”);scanf(“%d %f”,case,pjrintf);printf(“%d %f\n”,case,printf);}该程序编译时产生错误,其出错原因是a)定义语句出错,case是关键字,不能用作用户自定义标识符b)定义语句出错,printf不能用作用户自定义标识符c)定义语句无错,scanf不能作为输入函数使用d)定义语句无错,printf不能输出case的值(14)表达式:(int)((double)9/2)-(9)%2的值是a)0b)3c)4d)5(15)若有定义语句:int x=10;,则表达式x-=x+x的值为a)-20b)-10c)0d)10(16)有以下程序#includemain(){ int a=1,b=0;printf(“%d,”,b=a+b);printf(“%d\n”,a=2*b);}程序运行后的输出结果是a)0,0c)3,2d)1,217)设有定义:int a=1,b=2,c=3;,以下语句中执行效果与其它三个不同的是a)if(ab) c=a,a=b,b=c;b)if(ab) {c=a,a=b,b=c;}c)if(ab) c=a;a=b;b=c;d)if(ab) {c=a;a=b;b=c;}(18)有以下程序#includemain(){ int c=0,k;for (k=1;k3;k++)switch (k){ default: c+=kcase 2: c++;break;case 4: c+=2;break;}printf(“%d\n”,c);}程序运行后的输出结果是a)3b)5c)7d)9(19)以下程序段中,与语句:k=ab?(bc?1:0):0;功能相同的是 a)if((ab)(bc)) k=1;else k=0;b)if((ab)||(bc) k=1;else k=0;c)if(a=b) k=0;else if(b=c) k=1;d)if(ab) k=1;else if(bc) k=1;else k=0;20)有以下程序#include{ char s[]={“012xy”};int i,n=0;for(i=0;s[i]!=0;i++)if(s[i]=’a’s[i]=’z’) n++;printf(“%d\n”,n);}程序运行后的输出结果是a)0b)2c)3d)5(21)有以下程序#includemain(){ int n=2,k=0;while(k++n++2);printf(“%d %d\n”,k,n);}程序运行后的输出结果是a)0 2b)1 3c)5 7d)1 2(22)有以下定义语句,编译时会出现编译错误的是a)char a=’a’;b)char a=’\n’;c)char a=’aa’;d)char a=’\x2d’;(23)有以下程序#includemain(){ char c1,c2;c1=’a’+’8’-‘4’;c2=’a’+’8’-‘5’;printf(“%c,%d\n”,c1,c2);}已知字母a的ascii码为65,程序运行后的输出结果是a)e,68【篇二:2014年三月全国计算机二级c语言上机考试题库】txt>题库100套第01套:给定程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回所指变量。
2013年全国计算机等级二级C语言模拟试题及答案
2013年全国计算机等级二级C 语言模拟试题及答案2013年3月份全国计算机等级二级C语言试题及答案一、填空题1、C语言中基本的数据类型有:__________、__________ 、__________ 。
2、C语言中普通整型变量的类型说明符为__________,在内存中占__________字节,有符号普通整型的数据范围是__________。
3、整数-35在机内的补码表示为__________。
4、执行下列语句int a=8; a+=a-=a*a; 后,a的值是__________ 。
5、有如下语句:char A[ ]={”I am a student”}; 该字符串的长度是__________,A[3]=__________ 。
6、符号”a”和’a’的区别是__________。
7、所谓“指针”就是__________ 。
“&”运算符的作用是__________。
“*”运算符的作用是__________ 。
8、有如下输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是__________。
二、选择题1、设整型变量a为5,使b不为2的表达式是()。
A. b=a/2B. b=6-(--a)C. b=a%2D. b=a>3?2:12、为了避免嵌套的条件分支语句if-else的二义性,C语言规定:C程序中的else总是与()组成配对关系。
A. 缩排位置相同的ifB. 在其之前未配对的ifC. 在其之前未配对的最近的ifD.同一行上的if3、以下程序的输出结果是( )。
int x=10,y=10;printf(“%d%d\n”,x--,--y);A. 10 10B. 9 9C. 9 10D. 10 94、设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i 个元素的地址为()。
安徽省计算机等级二级考试真题C语言.doc
A ),机与外部设备B )主机与操作系统C )硬件系统与软件系统D )CPU 、存储器与外部设备A )十进制B )二进制O 八进制D )十六进制A )人工智能B )科学计算O 自动控制D )信息管理A)USBB)SCS1 O1DE D)UBSA )表格结构B )树形结构C )网状结构D )线性结构机密☆启用前二0一三年下半年全国高等学校(安徽考区)计算机水平考试试卷(二级 C 语言程序设计)考生须知:1. 请将准考证号末两位填在试卷第2页右上方的方框内。
2. 单项选择题请在答题卡上填涂;其他内容请在答题卡上作答,试卷上作答无效。
3. 不得将试卷、答题卡、答题卷及稿纸带离考场。
4. 考试试卷为120分钟。
一、单项选择题(每题1分,共40分)1 .一个完整的计算机系统应该包括 1。
2. 在计算机内,数据或指令是以形式传送。
储存及加工处理的。
3. 将计算机用于车票预售,属于计算机在方面的应用。
4. 收发电子邮件的必备条件之一是A )通信双方都要申请一个付费的电子信箱B )通信双方电了信箱必须在同一服务器上C )通信双方都有电子信箱D )电子邮件必须带有附件 5.通常U 盘通过借口与计算机相连。
6. Windows 的文件夹组织结构式一种7. 下列不属于多媒体播放工具的是_7_。
A)windows Media PlayerB )暴风影D )迅雷B )对计算机器起破坏作用的器件D )人为设计的程序B )通过电了邮件进行商务谈判 D )使用信用卡购买商品B )对网络信息进行加密 D )防止计算机数据丢失C ) RealPlayer 实时播放器 8.计算机病毒是一种_8_。
A )含有错误的程序0计算机硬件故障9.电子商务师指_9_。
A )借助于计算机网络进行商务活动 C )使用电子货币进行商品交易10. 安装防火墙的主要目的是_10_A )提高网络的运行效率 C )保护内网不被非法入侵11. C 语言程序中main ()函数可以写在 A )程序文件的开始 C )它所调用的函数的前面D )以上选项均正确 (2013-3)同类题目.下列对c 语言程序的描述中,正确的是A )c 语言程序是从第一个定义的函数开始执行B )c 语言程序总是从最后一个定义的函数执行 O c 语言程序总是从ma in 函数开始执行D ) c 语言函数中main 函数必须放在程序的开始部分)12.下列关于C 语言的叙述错误的是_12—A ) 大写字母和小写字母的意义相同B ) 不同类型的变量可以乐意出现在同一个表达式中C ) 在赋值表达式中,等号(二)左边的变量和右边表达式中的值可以是不同类型D ) 同一个运算符在不同的场合可以有不同的功能 13 .在C 语言中,错误的int 类型常量是_13_A ) 1234B )00039D ) OxAF(2013-3) 是不合法的常量。
全国计算机二级《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. C语言是一种高级语言B. C语言可以直接在计算机上运行C. C语言具有结构化的特点D. C语言可以用于系统软件和应用软件的开发答案:B2. 在C语言中,以下哪个选项是合法的变量名?()A. 2variableB. intC. _variableD. variable-name答案:C3. 下列哪个选项不是C语言中的运算符?()A. %B. &&C. ::D. <答案:C4. 在C语言中,以下哪个关键字用于定义一个函数?()A. intB. voidC. structD. char答案:B5. 下列关于C语言数组的描述中,正确的是()。
A. 数组的大小在编译时确定B. 数组的大小在运行时确定C. 数组可以存储不同类型的数据D. 数组的索引从1开始答案:A6. 在C语言中,以下哪个选项是正确的字符串字面量?()A. "Hello"B. 'Hello'C. "HelloD. 'Hello'答案:A7. 下列关于C语言指针的叙述中,错误的是()。
A. 指针可以存储地址B. 指针可以存储值C. 指针可以作为函数的参数D. 指针可以被赋值为NULL答案:B8. 在C语言中,以下哪个选项是正确的文件操作函数?()A. printfB. scanfC. fopenD. fclose答案:C9. 下列关于C语言函数的描述中,错误的是()。
A. 函数可以有返回值B. 函数可以没有返回值C. 函数可以有多个返回值D. 函数可以有参数答案:C10. 在C语言中,以下哪个选项是正确的逻辑运算符?()A. &&B. ||C. ==D. =答案:A二、填空题(每题2分,共20分)1. 在C语言中,用于定义一个整型变量的关键字是______。
安徽省计算机等级二级考试真题C语言2013年6月参考答案1
2013年6月计算机等级考试省二级C语言一.单项选择题1.计算机最主要的工作特点是_A____。
A)存储程序与程序控制B)高速度与高精度C)可靠性与可用性D)具有记忆能力2.__C___是用来衡量内存的性能指标。
A)主频和容量B)容量和I/O接口类型C)主频与运算速度D)存取周期和容量3.下列四个二进制数中,_D__与十进制数73等值。
A)1110111 B)1001100 C)1110110 D)10010014.计算机软件分为系统软件和应用软件,下列软件中,不属于应用软件的是_C___。
A)autoCAD B)MSN C)SQL Server D)Window media player5.下列关于Window回收站的说法,错误的是B______A) 在不打开回收站的情况下可以清空回收站B)回收站可以存放从U盘删除的文件C)回收站占用的是硬盘空间D) 回收站中的文件可以还原6.__C__不可能是Window窗口组成的元素。
A)工具栏B)状态栏C)任务栏D)滚动条7.通常所说的“带宽”指的是数据通信中的_B_____指标A)平均数据传输速率B) 最高数据传输速率C) 每分钟数据流量D)最低数据传输速率8.病毒是可以造成计算机故障的一种计算机__A____A)程序B)芯片C)部件D)设备9.__C___不是多媒体技术特征。
A)多样性B)集成性C)隐蔽性D)交互性10.在下列有关算法的叙述中,错误的是_D___A) 算法通常是用于解决某一个特定问题B) 算法的表示可以有多种形式C)一个问题可能存在多种算法D)算法必须有输入11.下列对c语言程序的描述中,正确的是_C____A) c语言程序是从第一个定义的函数开始执行B) c语言程序总是从最后一个定义的函数执行C)c语言程序总是从main函数开始执行D)c语言函数中main函数必须放在程序的开始部分12.__D__不是c语言的合法关键字。
A)switch B)default C)case D)printf13.__A___是不合法的常量。
2013全国计算机等级考试新大纲二级C语言题库及参考答案
参考答案第一套题二、程序填空题本题是根据给定的公式来计算函数的值。
第一处:程序中使用双精度double类型进行计算,所以函数的返回值类型也为double,所以应填:double。
第二处:当i等于1时,则返回f1函数的值,所以应填:f1。
第三处:如果i不等于1,则返回f2函数的值,所以应填:f2。
三、程序修改题解题思路:第一处: 试题要求返回字符串的首地址,所以应改为:char *fun(char *s,char *t)第二处: 取字符串指针ss的下一个位置,所以应改为:ss++;。
第三处:取字符串指针tt的下一个位置,所以应改为:tt++;。
四、程序设计题解题思路:本题是考察字符串的操作。
1. 由于函数fun1是将字符串中字符循环左移一个位置,并通过实参w返回循环左移一个位置的字符串。
2. 利用循环for语句来操作多少个字符(m)需要循环左移。
参考答案:void fun(char *w, int m) /* 可调用fun1函数左移字符*/{int i;for(i = 0 ; i < m ; i++) fun1(w);}第二套题一、选择题解题思路:第一处:计算好的平均值通过形参av返回,所以应填:*av。
第二处:计算小于平均值且最接近平均值的位置j,所以应填:i。
第三处:返回该数,所以应填:x[j]。
三、程序修改题解题思路:第一处:函数的返回是浮点型数,所以应改为:float fun(int n)。
第二处:for的终止条件应是i<=n。
四、程序设计题解题思路:本题是利用两重循环给二维数组右上三角元素中的值乘以m。
参考答案:int fun ( int a[][N], int m ){int i, j;for(i = 0 ; i < N ; i++)for(j = i ; j < N ; j++)a[i][j] *= m ;}第三套题一、选择题解题思路:第一处:如果n是奇数,则中间的元素不动,所以应填:1。
国家二级(C语言)机试历年真题试卷汇编1(题后含答案及解析)
国家二级(C语言)机试历年真题试卷汇编1(题后含答案及解析) 题型有:1. 选择题选择题1.下列叙述中正确的是( )。
【10年9月】A.线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B.线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构C.线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D.上述3种说法都不对正确答案:B解析:线性表的存储分为顺序存储和链式存储。
在顺序存储中,所有元素所占的存储空间是连续的,各数据元素在存储空间中是按逻辑顺序依次存放的。
所以每个元素只存储其值就可以了,而在链式存储的方式中,将存储空间的每一个存储结点分为两部分,一部分用于存储数据元素的值,称为数据域;另一部分用于存储下一个元素的存储序号,称为指针域。
所以线性表的链式存储方式比顺序存储方式的存储空间要大一些。
知识模块:公共基础知识2.下列叙述中正确的是( )。
【10年9月】A.在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B.在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D.上述3种说法都不对正确答案:C解析:在栈中,允许插入与删除的一端称为栈顶,而不允许插入与删除的另一端称为栈底。
栈跟队列不同,元素只能在栈顶压入或弹出,栈底指针不变,栈中元素随栈顶指针的变化而动态变化,遵循后进先出的规则。
知识模块:公共基础知识3.软件测试的目的是( )。
【10年9月】A.评估软件可靠性B.发现并改正程序中的错误C.改正程序中的错误D.发现程序中的错误正确答案:D解析:软件测试的目的是为了发现程序中的错误,而软件调试是为了更正程序中的错误。
知识模块:公共基础知识4.下面描述中,不属于软件危机表现的是( )。
【10年9月】A.软件过程不规范B.软件开发生产率低C.软件质量难以控制D.软件成本不断提高正确答案:A解析:软件危机主要表现在以下6个方面:①软件需求的增长得不到满足;②软件开发成本和进度无法控制;③软件质量难以保证;④软件不可维护或维护程序非常低;⑤软件的成本不断提高;⑥软件开发生产率的提高赶不上硬件的发展和应用需求的增长。
2013全国计算机等级考试新大纲二级C语言题库及参考答案-推荐下载
C
A
D
B
B
C
B
D
C
C
A
B
B
A
A
D
A
B
A
D
if(strcmp(a[i].num, b)==0) { /* 判断学号是否相等 */ strcpy(c.num, a[i].num) ; /* 相等,则对学号进行赋值 */ c.s=a[i].s; /* 相等,则对成绩进行赋值 */ break ; /* 退出循环体 */ } return c ; /* 返回结构体变量 */ }
第三套题
一、选择题
1-10 D
11-20 B
21-30 A
31-40 A
二、程序填空题
解题思路:
D
A
D
A
C
D
D
B
第一处:如果 n 是奇数,则中间的元素不动,所以应填:1。
第二处:使用 for 循环语句来交换数组元素的值,所以应填:i。 第三处:使用中间变量 t 来交换的,所以应填:t。 三、程序修改题
解题思路:
B
A
A
C
第一处:在函数 fun 体中,k 是一个浮点型变量,所以应改为:float k;。
C
D
D
D
第二处:三个数比较大小,第 1 个条件是第 1 个比第 2 个小,则交换。第 3 个条件是第 2
个比第 3 个小,则也交换。第 2 个条件是应该第 1 和第 3 个小,则交换就符合题意了,所
以应改为: if(*a<*c)。
解题思路:
第一处: 试题要求返回字符串的首地址,所以应改为:char *fun(char *s,char *t)
第二处: 取字符串指针 ss 的下一个位置,所以应改为:ss++;。 第三处:取字符串指针 tt 的下一个位置,所以应改为:tt++;。 四、程序设计题
全国计算机等级考试二级c语言模拟试题及答案一
全国计算机等级考试二级C语言模拟试题及答案(一)一、选择题(1)栈和队列的共同特点是A)都是先进先出B)都是先进后出C)只允许在端点处插入和删除元素?D)没有共同点正确答案:? C(2)已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是A)acbedB)decabC)deabcD)cedba正确答案:? D(3)链表不具有的特点是A)不必事先估计存储空间B)可随机访问任一元素C)插入删除不需要移动元素?D)所需空间与线性表长度成正比正确答案:? B(4)结构化程序设计的3种结构是A)顺序结构、选择结构、转移结构B)分支结构、等价结构、循环结构C)多分支结构、赋值结构、等价结构D)顺序结构、选择结构、循环结构正确答案:? D(5)为了提高测试的效率,应该A)随机选取测试数据B)取一切可能的输入数据作为测试数据C)在完成编码以后制定软件的测试计划D)集中对付那些错误群集的程序正确答案:? D(6)算法的时间复杂度是指A)执行算法程序所需要的时间B)算法程序的长度C)算法执行过程中所需要的基本运算次数D)算法程序中的指令条数正确答案:? C(7)软件生命周期中所花费用最多的阶段是A)详细设计B)软件编码C)软件测试D)软件维护正确答案:? D(8)数据库管理系统DBMS中用来定义模式、内模式和外模式的语言为A)CB)BasicC)DDLD)DML正确答案:? C(9)下列有关数据库的描述,正确的是A)数据库是一个DBF文件B)数据库是一个关系C)数据库是一个结构化的数据集合D)数据库是一组文件正确答案:? C(10)下列有关数据库的描述,正确的是A)数据处理是将信息转化为数据的过程B)数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变C)关系中的每一列称为元组,一个元组就是一个字段D)如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键字,则称其为本关系的外关键字正确答案:? D(11)以下叙述中正确的是A)C语言比其他语言高级B)C语言可以不用编译就能被计算机识别执行C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D)C语言出现的最晚,具有其他语言的一切优点正确答案:? C(12)C语言中用于结构化程序设计的3种基本结构是A)顺序结构、选择结构、循环结构B)if,switch,breakC)for,while,do-whileD)if,for,continue正确答案:? A(13)C语言中最简单的数据类型包括A)整型、实型、逻辑型B)整型、实型、字符型C)整型、字符型、逻辑型D)字符型、实型、逻辑型正确答案:? B(14)若变量已正确定义并赋值,以下符合C语言语法的表达式是A)a:=b+1B)a=b=c+2C)int %3D)a=a+7=c+b正确答案:? B(15)下列可用于C语言用户标识符的一组是A)void, define, WORDB)a3_b3, _123,CarC)For, -abc, IF CaseD)2a, DO, sizeof正确答案:? B(16)C语言中运算对象必须是整型的运算符是A)%=B)/C)=D)<=正确答案:? A(17)若变量a,i已正确定义,且i已正确赋值,合法的语句是A)a= =1B)++i;C)a=a++=5;D)a=int(i);正确答案:? B(18)已知int t=0;while (t=1){...}则以下叙述正确的是A)循环控制表达式的值为0B)循环控制表达式的值为1C)循环控制表达式不合法D)以上说法都不对正确答案:? B(19)若变量已正确说明为float型,要通过语句scanf("%f%f%f",&a,&b,&c);给a赋予,b赋予,c赋予,下列不正确的输入形式是A)10<回车>22<回车>33<回车>B),,<回车>C)<回车>22.033.0<回车>D)10? 22<回车>33<回车>正确答案:? B(20)有如下程序:main(){int x=1,a=0,b=0;switch(x){case 0: b++;case 1: a++;case 2: a++;b++;}printf("a=%d,b=%d\n",a,b);} 该程序的输出结果是A)a=2,b=1B)a=1,b=1C)a=1,b=0D)a=2,b=2正确答案:? A(21)有以下程序main(){int i=1,j=1,k=2;if((j++||k++)&&i++)printf("%d,%d,%d\n",i,j,k); }执行后输出结果是A)1,1,2B)2,2,1C)2,2,2D)2,2,3正确答案:? C(22)有如下程序main(){float x=,y;if(x<)y=;else if(x<)y=x;else y=;printf("%f\n",y);}该程序的输出结果是A)B)0.250000C)D)正确答案:? C(23)有如下程序:main(){int n=9;while(n>6){n--; printf("%d",n);} }该程序的输出结果是A)987B)876C)8765D)9876正确答案:? B(24)在下列选项中,没有构成死循环的是A)int i=100;while(1){i=i%100+1;if(i>100)break;}B)for(;;);C)int k=10000;do{k++;}while(k>10000);D)int s=36;while(s)--s;正确答案:? D(25)设int x=1,y=1;表达式(!x||y--)的值是A)0B)1C)2D)-1正确答案:? B(26)若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是A)函数调用可以作为独立的语句存在B)函数调用可以作为一个函数的实参C)函数调用可以出现在表达式中D)函数调用可以作为一个函数的形参正确答案:? D(27)有以下程序float fun(int x,int y){return(x+y);}main(){int a=2,b=5,c=8;printf("%3.0f\n",fun((int)fun(a+c,b),a-c));}程序运行后的输出结果是A)编译出错B)9C)21D)正确答案:? B(28)若有以下调用语句,则不正确的fun函数的首部是main(){ …int a[50],n;…fun(n, &a[9]);…}A)void fun(int m, int x[])B)void fun(int s, int h[41])C)void fun(int p, int *s)D)void fun(int n, int a)正确答案:? D(29)fseek函数的正确调用形式是A)fseek(文件指针,起始点,位移量)B)fseek(文件指针,位移量,起始点)C)fseek(位移量,起始点,文件指针)D)fseek(起始点,位移量,文件指针)正确答案:? B(30)若fp是指向某文件的指针,且已读到文件末尾,则函数feof(fp)的返回值是A)EOFB)-1C)1正确答案:? C(31)若有说明语句:char c='\72';则变量cA)包含1个字符B)包含2个字符C)包含3个字符D)说明不合法,c的值不确定正确答案:? A(32)若有说明int a[3][4];则a数组元素的非法引用是A)a[0][2*1]B)a[1][3]C)a[4-2][0]D)a[0][4]正确答案:? D(33)设有以下说明语句{int a;float b;} stutype;则下面的叙述不正确的是A)struct是结构体类型的关键字B)struct stu是用户定义的结构体类型C)stutype是用户定义的结构体类型名D)a和b都是结构体成员名正确答案:? C(34)在C语言中,引用数组元素时,其数组下标的数据类型允许是A)整型常量B)整型表达式C)整型常量或整型表达式D)任何类型的表达式正确答案:? C(35)若运行时给变量x输入12,则以下程序的运行结果是main(){int x,y;scanf("%d",&x);y=x>12?x+10:x-12;printf("%d\n",y);}A)0B)22C)12D)10正确答案:? A(36)以下说法正确的是A)C语言程序总是从第一个的函数开始执行B)在C语言程序中,要调用函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行D)C语言程序中的main()函数必须放在程序的开始部分正确答案:? C(37)表达式0x13^0x17的值是A)0x04B)0x13C)0xE8D)0x17正确答案:? A(38)有以下程序#define F(X,Y)(X)*(Y)main(){int a=3, b=4;printf("%d\n", F(a++, b++));}程序运行后的输出结果是A)12B)15C)16D)20正确答案:? A(39)下列程序执行后的输出结果是void func(int *a,int b[]){ b[0]=*a+6; }main(){int a,b[5];a=0; b[0]=3;func(&a,b); printf("%d\n",b[0]); }A)6B)7C)8D)9正确答案:? A(40)若有下面的程序段:char s[]="china";char *p; p=s;则下列叙述正确的是A)s和p完全相同B)数组s中的内容和指针变量p中的内容相等C)s数组长度和p所指向的字符串长度相等D)*p与s[0]相等正确答案:? D(41)以下程序中函数sort的功能是对a数组中的数据进行由大到小的排序void sort(int a[],int n){int i,j,t;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;} }main(){int aa[10]={1,2,3,4,5,6,7,8,9,10},i;sort(&aa[3],5);for(i=0;i<10;i++)printf("%d,",aa[i]);printf("\n");}程序运行后的输出结果是A)1,2,3,4,5,6,7,8,9,10,B)10,9,8,7,6,5,4,3,2,1,C)1,2,3,8,7,6,5,4,9,10,D)1,2,10,9,8,7,6,5,4,3,正确答案:? C?(42)以下程序的运行结果是#include ""main(){struct date{int year,month,day;}today;printf("%d\n",sizeof(struct date));}A)6B)8C)10D)12正确答案:? A(43)若有语句int *point,a=4;和point=&a;下面均代表地址的一组选项是A)a,point,*&aB)&*a,&a,*pointC)*&point,*point,&aD)&a,&*point,point正确答案:? D(44)在调用函数时,如果实参是简单的变量,它与对应形参之间的数据传递方式是A)地址传递B)单向值传递C)由实参传形参,再由形参传实参D)传递方式由用户指定正确答案:? B(45)已定义以下函数fun(char *p2, char *p1){while((*p2=*p1)!='\0'){p1++;p2++;}}函数的功能是A)将p1所指字符串复制到p2所指内存空间B)将p1所指字符串的地址赋给指针p2C)对p1和p2两个指针所指字符串进行比较D)检查p1和p2两个指针所指字符串中是否有'\0'正确答案:? A(46)若执行下述程序时,若从键盘输入6和8时,结果为main(){int a,b,s;scanf("%d%d",&a,&b);s=aif(a<b)s=b;s*=s;printf("%d",s);}A)36B)64C)48D)以上都不对正确答案:? B(47)fscanf函数的正确调用形式是A)fscanf(fp,格式字符串,输出表列);B)fscanf(格式字符串,输出表列,fp);C)fscanf(格式字符串,文件指针,输出表列);D)fscanf(文件指针,格式字符串,输入表列);正确答案:? D(48)下列关于C语言数据文件的叙述中正确的是A)文件由ASCII码字符序列组成,C语言只能读写文本文件B)文件由二进制数据序列组成,C语言只能读写二进制文件C)文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件D)文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件正确答案:? D(49)有以下程序void ss(char *s,char t){while(*s){if(*s= =t)*s=t-'a'+'A';s++;}}main(){char str1[100]="abcddfefdbd",c='d'; ss(str1,c); printf("%s\n",str1); }程序运行后的输出结果是A)ABCDDEFEDBDB)abcDDfefDbDC)abcAAfefAbAD)Abcddfefdbd正确答案:? B(50)若以下定义:struct link{int data;struct link *next;} a,b,c,*p,*q;且变量a和b之间已有如下图所示的链表结构:?指针p指向变量a,q指向变量c。
全国计算机等级考试二级教程:C语言程序设计(2013年版)
《全国计算机等级考试二级教程:C语言程序设计(2013年版)》根据教育部考试中心制订的《全国计算机等级考试二级C语言程序设计考试大纲(2013年版)》的要求而编写,是教育部考试中心组织编写的计算机等级考试系列教程之一。
《全国计算机等级考试二级教程:C语言程序设计(2013年版)》主要内容包括:C语言的各种数据类型和运算符,各种表达式,语句结构,函数及库函数,地址和指针,数组,字符串,变量的作用域及存储类,结构体及共用体,文件等。
《全国计算机等级考试二级教程——C语言程序设计(2013年版)》内容精练,结构合理,便于自学,对读者可能遇到的难点做了十分系统、清楚和详细的阐述,极大地减轻了读者学习C语言的困难,是应试人员考前必备的教材,也可作为普通高等学校的教材。
目录第1章程序设计基本概念1.1 程序和程序设计1.1.1 C程序1.1.2 程序设计1.2 算法1.3 结构化程序设计和模块化结构1.3.1 结构化程序1.3.2 模块化结构习题第2章 C程序设计的初步知识2.1 简单C语言程序的构成和格式2.2 标识符、常量和变量2.2.1 标识符2.2.2 常量2.2.3 符号常量2.2.4 变量2.3 整型数据2.3.1 整型常量2.3.2 整型变量2.3.3 整型数据的分类2.3.4 整数在内存中的存储形式2.4 实型数据2.4.1 实型常量2.4.2 实型变量2.5 算术表达式2.5.1 基本的算术运算符2.5.2 运算符的优先级、结合性和算术表达式2.5.3 强制类型转换表达式2.6 赋值表达式2.6 赋值运算符和赋值表达式2.6.2 复合赋值表达式2 6.3 赋值运算中的类型转换2.7 自加、自减运算符和逗号运算符2.7.1 自加运算符“++”和自减运算符2.7.2 逗号运算符和逗号表达式习题第3章顺序结构3.1 赋值语句3.2 数据输出3.2.1 printf函数的一般调用形式3.2.2 printf函数中常用的格式说明3.2.3 使用printf函数时的注意事项3.3 数据输入3.3.1 scanf函数的一般调用形式3.3.2 scanf函数中常用的格式说明3.3.3 通过scanf函数从键盘输入数据3.4 复合语句和空语句3.4.1 复合语句3.4.2 空语句3.5 程序举例习题第4章选择结构4.1 关系运算和逻辑运算4.1.1 C语言的逻辑值4.1.2 关系运算符和关系表达式4.1.3 逻辑运算符和逻辑表达式4.2 if语句和用if语句构成的选择结构4 2.1 “语句4 2.2 嵌套的if语句4.3 条件表达式构成的选择结构4.4 swilch语句以及用swltch语句和break语句构成的选择结构4.4.1 switch语句4.4.2 switch语句的执行过程4.4.3 在switch语句体中使用break语句4.5 语句标号和goto语句4.5.1 语句标号4.5.2 goto语句习题第5章循环结构5.1 while语句和用while语句构成的循环结构5.1.1 while循环的一般形式5.1.2 while循环的执行过程5.2 do-while语句和用do -while语句构成的循环结构5.2.1 do-while语句构成的循环结构5.2.2 do-while循环的执行过程5.3 for语句和用for语句构成的循环结构5.3.1 for语句构成的循环结构5.3.2 for循环的执行过程5.3.3 有关for语句的说明5.4 循环结构的嵌套5.5 break和continue语句在循环体中的作用5.5.1 break语句5.5.2 continue语句5.6 程序举例习题第6章字符型数据6.1 字符型常量6.1.1 字符常量6.1.2 转义字符常量6.1.3 字符串常量6.1.4 可对字符量进行的运算6.2 字符变量6.3 字符的输入和输出6.3.1 调用printf和scanf函数输出和输入字符6.3.2 调用putchar和getchar函数输出和输入字符6.4 程序举例习题第7章函数7.1 库函数7.2 函数的定义和返回值7.2.1 函数定义的语法7.2.2 函数的返回值7.3 函数的调用7.3.1 函数的两种调用方式7.3.2 函数调用时的语法要求7.4 函数的说明7.4.1 函数说明的形式7.4.2 函数说明的位置7.5 调用函数和被调用函数之间的数据传递7.6 程序举例习题第8章地址和指针8.1 变量的地址和指针8.2 指针变量的定义和指针变量的基类型8.3 给指针变量赋值8.3.1 给指针变量赋地址值8.3.2 给指针变量赋“空”值8.4 对指针变量的操作8.4.1 通过指针来引用一个存储单元8.4.2 移动指针8.4.3 指针比较8.5 函数之间地址值的传递8.5.1 形参为指针变量时实参和形参之间的数据传递8.5.2 通过传送地址值在被调用函数中直接改变调用函数中的变量的值8.5.3 函数返回地址值第9章数组第10章字符串第11章对函数的进一步讨论第12章 C语言中用户标识符的作用域和存储类第13章编译预处理和动态存储分配第14章结构体、共用体和用户定义类型第15章位运算第16章文件第17章考试指导附录1 C语言的关键字附录2 双目算术运算中两边运算量类型转换规律附录3 运算符的优先级和结合性附录4 常用字符与ASCII代码对照表附录5 库函数附录6 全国计算机等级考试二级C语言程序设计考试大纲(2013年版)附录7 全国计算机等级考试二级C语言程序设计样卷及参考答案。
2013年9月全国计算机等级考试二级c语言笔试试题(含参考答案)
全国计算机等级考试二级笔试试卷基础部分和C语言程序设计(考试时间120分钟,满分100分)2013年9月一、选择题((1)-(40)每个选项1分,(41)-(50)每个选项2分,共60分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应的位置上,答在试卷上不得分。
(1) 十进制数1385转换成十六进制数为A) 568 B) 569 C) D85 D) D55(2) 下列叙述中正确的是A) 计算机病毒只能传染给可执行文件B) 计算机软件是指存储在软盘中的程序C) 计算机每次启动的过程之所以相同,是因为RAM中的所有信息在关机后不会丢失D) 硬盘虽然装在主机箱内,但它属于外存(3) 一个字长的二进制位数是A) 8 B) 16 C) 32 D) 随计算机系统而不同的(4) CPU主要由运算器与控制器组成,下列说法中正确的是A) 运算器主要负责分析指令,并根据指令要求作相应的运算B) 控制器主要完成对数据的运算,包括算术运算和逻辑运算C) 控制器主要负责分析指令,并根据指令要求作相应的运算D) 控制器直接控制计算机系统的输入与输出操作(5) 下列叙述中正确的是A) 将数字信号变换成便于在模拟通信线路中传输的信号称为调制B) 以原封不动的形式将来自终端的信息送入通信线路称为调制解调C) 在计算机网络中,一种传输介质不能传送多路信号D) 在计算机局域网中,只能共享软件资源,而不能共享硬件资源(6) 各种网络传输介质A) 具有相同的传输速率和相同的传输距离B) 具有不同的传输速率和不同的传输距离C) 具有相同的传输速率和不同的传输距离D) 具有不同的传输速率和相同的传输距离(7) 多媒体计算机系统的两大组成部分是A) 多媒体功能卡和多媒体主机B) 多媒体通信软件和多媒体开发工具C) 多媒体输入设备和多媒体输出设备D) 多媒体计算机硬件系统和多媒体计算机软件系统(8) 按通信距离划分,计算机网络可以分为局域网和广域网。
全国计算机等级考试《二级C语言程序设计》历年真题精选及详解
全国计算机等级考试《二级C语言程序设计》历年真题精选及详解一、选择题(请在【答题】菜单上选择【选择题】命令,启动选择题测试程序,按照题目上的内容进行答题。
作答选择题时键盘被封锁,使用键盘无效,考生须使用鼠标答题。
选择题部分只能进入一次,退出后不能再次进入。
选择题部分不单独计时。
)1.下列叙述中正确的是()。
A.所有数据结构必须有根结点B.所有数据结构必须有终端结点(即叶子结点)C.只有一个根结点,且只有一个叶子结点的数据结构一定是线性结构D.没有根结点或没有叶子结点的数据结构一定是非线性结构【答案】D【解析】D项正确,线性结构的特点是:①集合中必存在“第一个元素”且惟一;②集合中必存在“最后一个元素”且惟一;③除最后一个元素外,其他数据元素均有惟一的“后继”;④除第一个元素外,其他数据元素均有惟一的“前驱”。
所以没有根结点或没有叶子结点的数据结构一定是非线性结构。
AB两项错误,不是所有数据结构都必须有根结点和叶子结点;C项错误,数据结构中若有中间结点不满足只有一个前件或者后件的条件,就不是线性结构。
答案选择D选项。
2.以下叙述中错误的是()。
A.C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令B.C程序经过编译、链接步骤之后才能形成一个真正可执行的二进制机器指令文件C.用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中D.C语言源程序经编译后生成后缀为.obj的目标程序【答案】A【解析】A项错误,注释语句不会被翻译成二进制的机器指令。
C源程序经过C编译程序编译之后生成后缀为.obj的二进制文件(称为目标文件),然后由“链接程序”(Link)的软件把.obj文件与各种库函数连接起来生成一个后缀为.exe的可执行文件。
答案选择A选项。
3.C语言主要是借助以下()功能来实现程序模块化的。
A.定义函数B.定义常量和外部变量C.三种基本结构语句D.丰富的数据类型【答案】A【解析】C程序的模块化主要通过函数来实现。
全国计算机等级考试二级-基础知识和C语言程序设计 模拟考试试卷及答案(一)
全国计算机等级考试二级-基础知识和C语言程序设计模拟考试试卷及答案(一)一、选择题(1)下列设备中只能作为输入设备的是A)磁盘驱动器 B)鼠标器 C)存储器 D)显示器(2)下列DOS组合控制键中,能使标准输出同时送到屏幕与打印机的是A)Ctrl+Break B)Ctrl+P C)Ctrl+C D)Ctrl+H(3)通常所说的386机是A)8位机 B)16位机 C)32位机 D)64位机(4)二进制数01100100转换成十六进制数是A)64 B)63 C)100 D)144(5)十六进制数100转换成十进制数是A)1024 B)512 C)256 D)128(6)对于存有重要数据的5.25英寸软盘,防止计算机病毒感染的主法A)不要与有病毒的软盘放在一起 B)在写保护口贴上胶条C)保持软盘清洁 D)定期对软盘格式化(7)在启支DOS系统时,启动盘的根目录下必须包含的文件有A) B) C) D)(8)DOS系统启动后,下列文件中常驻内存的是A) B) C) D)(9)下列字中,不能作为DOS磁盘文件名的是A)JTU B)93GZ.PRG C)CON D)ATT&T.BAS(10)下列命令中属于内部命令的是A)SYS B)COSP C)DIR D)DISKCOMP(11)下列文件名中,能与ABC?.?匹配的是A)AB12.C B)ABCD.FOR C)ABC.TXT D)ABCD.C(12)要列出当前盘当前目录中第三个字符为"B"的所有文件的清单, 可使用的命令为A)DIR* *B*.* B)DIR ??B*.*? C)DIR ??B.* D)DIR ??B*.*(13)设当前盘为C盘,其根目录下有两个子目录D1与D2,且当前目录为D1, 若要进入子目录D2,可使用的命令为A)CD D2 B)CD D2\C)CD \D2 D)CD D1\D2(14)设当前盘为C盘,A盘当前目录为根目录, 为了删除A 盘目录\ WS 下扩展名为.TXT的所有文件,可用的命令为A)DEL WS\*.TXT B)DEL \WS\*.TXTC)DEL A:\WS\?.TXT D)DEL A:WS\*.TXT(15)设当前盘为C盘,C盘当前目录为\AAA\BBB\A\B\X.下列命令中正确的是A)MD \AAA\BBB\A B)MD XC)MD \ D)MD \AAA\BBB\A\B\X(16)在下列各组的两个命令中,根据给定的条件,执行效果互相等价的是A)DEL \DOS 与 RD \DOS(当前盘上有目录\DOS)B)FORMAT A:与DEL A:*.*(A盘为启动盘)C)DISKCOPY A: B: 与 COPY A:*.* B:(A盘为启动盘)D)COPY F1 F2 与TYPE F1>F2(当前盘当前目录下有文件F1)(17)为了在1.2MB的高密驱动器A中格式化一张360KB的启动盘,可用的命令为A)FORMAT A: B)FORMAT A:/S/1C)FORMAT A:/S/4 D)FORMAT A:/S(18)要在打印机上输出当前盘当前目录下扩展名为.TXT的所有文件内容,正确的命令为A)COPY *.TXT PRN B)COPY *.TXT >PRNC)TYPE *.TXT PRN D)TYPE *.TXT >PRN(19)设B盘目录结构如下:B:\根目录─┬─F1子目录──F11子目录───FA.TXT│├─F2子目录┬─F21子目录─┬─FB.BAS│ │ ││ │ ││ └─F22子目录└─FC.TXT└─设B盘的当前目录为\F2,要将\A盘当前目录下的文件P.BAS复制到B盘的F3 子目录中,可用的命令为A)COPY P.BAS B: B)COPY A:P.BAS B:\C)COPY A:P.BAS B:\F3 D)COPY A:P.BAS B:F3\(20)设当前盘为A盘,要将B盘当前目录下的两个文件A.TXT与X.TXT 连接后以文件名Y.TXT存放到A盘的当前目录中,可用的命令为A)COPY A.TXT+X.TXT A:Y.TXTB)COPY B.A.TXT+X.TXT A:Y.TXTC)COPY B:A.TXT+B:X.TXT >Y.TXTD)COPY B:A.TXT+B:X.TXT Y.TXT(21)C语言中最简单的数据类型包括A)整型、实型、逻辑型 B)整型、实型、字符型C)整型、字符型、逻辑型 D)整型、实型、逻辑型、字符型(22)C语言中,运乍对象必须是整型数的运算符是A)% B)\C)%和\ D)* *(23)为表示关系x≥y≥z,应使用C语言表达式A)(x>=y)&&(y>=z) B(x>=y)AND(y>=z)C)(x>=y>=z) D)(x>=y)&(y>=z)(24)下述对C语言字符数组的描术中错误的是A)字符数组可以存放字符串B)字符数组中的字符串可以整体输入、输出C)可以在赋值语句中通过赋值运算符"="对字符数组整体赋值D)不可以用关系运算符对字符数组中的字符串进行比较(25)设有如下定义:int x=10,y=3,z;则语句printf("%d\n",z=(x%y,x/y));的输出结果是A)1 B)0C)4 D)3(26)以下程序的输出结果是main(){ int x=10,y=10;printf("%d %d\n",x--,--y);}A)10 10 B)9 9C)9 10 D)10 9(27)定义如下变题和数组:int i;int x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是for(i=0;i<3;i++) printf("%d",x[i][2-1]);A)1 5 9 B)1 4 7C)3 5 7 D)3 6 9(28)若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为A)a<>0 B)!aC)a=0 D)a(29)阅读程序:#includemain(){int a[10]={1,2,3,4,5,6,7,8,9,0},*p;p=a;printf("%x\n",p);printf("%x\n",p+9);}该程序有两个printf 语句, 如果第一个printf 语句输出的是194, 则第二个printf语句的输出结果是A)203 B)204C)1a4 D)1a6(30)设有如下函数定义:int f(char *s){ char *p=s;while(*p!='\0')\p++;return(p-s);}如果在主程序中用下面的语句调用上述函数,则输出结果为printf("%d\n",f("goodbey!"));A)3 B)6C)8 D)0(31)以下说法中正确的是A)C语言程序总是从第一个的函数开始执行B)在C语言程序中,要调用的函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行D)C语言程序中的main()函数必须放在程序的开始部分(32)执行下面的程序后,a的值为main(){ int a,b;for (a=1,b=1;a<=100;a++){ if(b>=20)break;if(b%3==1){b+=3;continue;}b-=5;}}A)7 B)8C)9 D)10(33)以下程序段的输出结果是int x=3;do{ printf("%3d",x-=2);}while(!(--x));A)1 B)3 0C)1-2 D)死循环(34)定义如下变量:int n=10;则下列循环的输出结果是while(n>7){ n--;printf("%d\n",n);}A)10 B)9 C)10 D)99 8 9 88 7 8 77 6(35)两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是main( ){ int x;scanf("%d",&x);if(x + + 〉 5)printf("%d",x);else printf("%d\n",x - -);}A)7和5 B)6和3 C)7和4 D)6和4(36)设有如下定义:char *aa[2]={"abcd","ABCD"};则以下就法中正确的是A)aa数组成元素的值分别是"abcd"和ABCD"B)aa是指针变量,它指向含有两个数组元素的字符型一维数组C)aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址D)aa数组的两个元素中各自存放了字符'a'和'A'的地址(37)以下程序的输出结果是main( ){ int a=-1,b=4,k;k=(+ +a〈0)&&!(b - -〈=0);printf("%d%d%d\n",k,ab);}A)104 B)103 C)003 D)004(38)设有以下定义:int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};int (*prt)[3]=a,*p=a[0]则下列能够正确表示数组元素a[1][2]的表达式是 A)*((*prt+1)[2]) B)*(*(p+5))C)(*prt+1)+2 D)*(*(a+1)+2)(39)下列程序的输出结果是main( ){ char*p1,*p2,str[50]="xyz";p1="abcd";p2="ABCD";strcpy(str+2,strcat(p1+2,p2+1);printf)"%s",str);}A)xyabcAB B)abcABzC)ABabcz D)xycdBCD(40)执行下面的程序后,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)10 B)1 C)9 D)0(41)下列程序执行后输出的结果是#include 〈stdio.h〉f(int a){ int b=0;statin c=3:a=c+ +,b+ +;returu(a);}main( ){ int a=2,i,k;for(i=0;i〈2;i=+ +)k=f(a+ +);printf("%d\n",k);}A)3 B)0 C)5 D)4(42)下列程序的输出结果是main( ){ int a[5]={2,4,6,8,10},*P,* *k;p=a;k=&p;printf("%d",*(p++));printf("%d\n",* *k);}A)4 4 B)2 2 C)2 4 D)4 6(43)阅读下列程序:main( ){ int n[3],i,j,k;for(i=0;i〈3;i++)n[i]=0;k=2;for (i=0;i〈k;i++)for (j=0;j〈k;j++)n[j]=n[i]+1;printf("%d\n",n[1]);}下述程序运行后输出结果是A)2 B)1 C)0 D)3(44)字符'0'的ASCII码的十进制数为48,且数组的第0个元素在低位,则以下程序的输出结果是#include〈stdio.h〉main( ){ union { int i[2];long k;char c[4];}r,*s=&r;s->i[0]=0x39;s->i[1]=0x38;printf("%c\n",s->c[0])}A)39 B)9 C)38 D)8(45)设有以下定义:typedef union{ long i;int k[5];char c;}DATE;struct date{ int cat;DATE cow;double dog;}too;DATE max;则下列语句的执行结果是printf("%d",sizeof(struct date)+sizeof(max));A)25 B)30 C)18 D)8(46)执行以下程序后,y的值是main ( ){ int a[]={2,4,6,8,10};int y=1,x,*p;p=&a[1];for(x=0;x<3;x++)y + = * (p + x);printf("%d\n",y);}A)17 B)18 C)19 D)20(47)下列程序执行后输出的结果是]int d=1;fun (int q){ int d=5;d + =p + +;printf("%d".d);}main( ){ int a=3;fun(a);d + = a + +;printf("%d\n",d);}A)8 4 B)9 6 C)9 4 D)8 5(48)下列程序的输出结果是main( ){ char ch[2][5]={"6934,"8254"},*p[2];int i,j,s=0;for(i=0;i<2;i + +)p[i]=ch[i];for(i=0;i<2;i + +)for(j=0;p[i][j]>'\0'&&p[i][j]<='9';j+=2) s=10*s+p[i][j]-'0';printf("%d\n",s);A)6385 B)69825 C)63825 D)693825(49)以下程序的输出结果是fut (int**s,int p[2][3]){ **s=p[1][1]; }main( ){ int a[2][3]={1,3,5,7,9,11},*p;p=(int*)malloc(sizeof(int));fut(&p,a);primtf("%d\n",*p);}A)1 B)7 C)9 D)11(50)以下程序的输出结果是#include"ctype.h"space (char *str){ int i,t;char ts[81];for(i=0,t=0;str[i]!='\0';i+=2)if(! isspace(*str+i)&&(*(str+i)!='a')) ts[t++]=toupper(str[i]);ts[t]='\0';strcpy(str,ts);}mian( ){ char s[81]={"a b c d e f g"};space(s);puts(s);}A)abcdeg B)bcde C)ABCDE D)BCDE二、填空题(1)十进制数112.375转换成十六进制数为(2)存储200个32×32点阵的汉字信息需 KB─(3)数字符号0的ASCⅡ码十进制表示为48,数字符号9的ASCⅡ码十进制表示为(4)DOS命令分为内部命令与外部命信,TREE命令属于命令.(5)自动批处理文件的文件名为(6)下列程序的输出结果是int ast(int x,int y,int * cp,int * dp){ *cp=x+y;*dp=x-y;}main(){ int a,b,c,d;a=4;b=3;ast(a,b,&c,&d);printf("%d %d/n",c,d);}(7)以下程序的功能是:人键盘上输入若干个学生的成绩, 统计并输出最高成绩和最低成绩,当输入负数时结束输入.请填空.main(){ float x,amax,amin;scanf("%f",&x);amax=x;amin=x;while(9)─{ if(x>amax)amax=x;if(10)amin=x;─scanf("%f",&x);}printf("\namax=%f\namin=%f\n",amax,amin);}(8)下面程序通过函数average计算数组中各元素的平均值,请填空.float average(int * pa,int n){ int i;float avg=0.0;for(i=0;imain(){ FILE * fp;char ch,fname[10];printf("lnput the name of file\n");gets(fname);if((fp=16)==NULL){ printf("Cannot open\n"); exit(0);}printf("Enter data\n");while((ch=getchar())!='#')fputc(17,fp);fclose(fp);}(9)以下函数creat用来建立一个带头结点的单向链表,新产生的结点总是插在链表的末尾.单向链表的头指针作为函数值返回,请填空: #includestruct list{ char data;struct list * next;};struct list * creat(){ struct list * h,* p,* q;char ch;h=18 malioc(sizeof(struct list));p=q=h;ch=getchar();while(ch!='?'){ p=19 malloc(sizeof(struct list));p->data=ch;p->next=p;q=p;ch=getchar();}p->next='\0';20}答案一、选择题(1)B(2)B(3)C(4)A(5)C(6)B(7)B(8)B(9)C(10)C(11)D(12)D(13)C(14)D(15)B(16)D(17)C(18)A(19)C(20)D(21)B(22)A(23)A(24)C(25)D(26)D(27)C(28)D(29)D(30)C(31)C(32)B(33)C(34)B(35)A(36)D(37)D(38)D(39)D(40)B(41)D(42)C(43)D(44)B(45)B(46)C(47)A(48)A(49)C(50)D二、填空题(1)70.6(2)25(答25KB不扣分)(3)57(4)外部(答外部命令不扣分)(5)AUTOEXEC.BAT(答AUTOEXEC扣1分)。
2013年全国计算机二级C语言考试真题
1、对于一个正常运行的C程序,以下叙述中确的是A)程序的执行总是从main 涵数开始B)程序的执行总是从程序的笫一个函数开始,在程序的最后一个函数中结束C)程序的执行总是从main函数幵始,在程序的最后一个函数中结束D)程序的执行总是从程序的笫一个函数开始,在main函数结束3、若变量x、y已正确定义并赋值,以下符合C语言语法的表达式是A)x+1=yB) x=x+10=x+yC)double (x)/10D)++x,y=x--4、以下选项中能表示合法常量的是A)‟\‟B)1,200C)1.5E2.0D)”\007”5、以下定义语句中正确的是A) double a=0.0;b=1.1;B) float a=1,*b=&a,*c=&b;C) int a=b=0;D) char A=65+1,b=‟b‟7、若变量已正确定义为int型,要通过语句scanf(“%d,%d,%d”,&a,&b,&c);给a赋值1、给b赋值2、给c赋值3,以下输入形式中错误的是(注:□代表一个空格符)A) □□□1,2,3<回车>B)1,2,3<回车>C)1, □□□2, □□□3<回车>D)1 □2 □3<回车>8、当变量c的值不为2、4、6时,值也为“真”的表达式是()A (c>=2&&c<=6)&&(c%2!=1)B) (c>=2&&c<=6)&&!(c%2) )C) (c==2)‖(c==4)‖(c==6)D) (c>=2&&c<=6)‖(c!=3)‖(c!=5)9、以下选项中,值为1的表达式是A) …\0‟-…0‟B)‟1‟-0C)1-…0‟D)1- 030、以下选项中,不合法的C语言用户标识符是A a——bB AaBcC _1D a_b31. 以下选项中关于C语言常量的叙述错误的是A经常被使用的变量可以定义成常量B 所谓常量,是指在程序运行过程中,其值不能被改变的量C常量可分为数值型常量和非数值型常量D常量分为整型常置、实型常量、字符常量和字符串常量34、以下叙述中正确的是A C语句必须在一行内写完B C语言程序中的注释必须与语句写在同一行C C程序中的每一行只能写一条语句D 简单C语句必须以分号结束37、以下选项中不能作为C语言合法常量的是A ‟cd‟B‟\011‟ C 0.le+6 D "\a"58、以下选项中不能用作C程序合法常量的是A."\x7D"B.1,234C.123D.'\123'60、C语言源程序名的后缀是A) . cpB) .objC) .exeD) .C61、阅读以下程序#include <stdio .h>main (){ int case ;float printF;printf ("请输入2个数:");scanf ( "%d %f",&case, &printF );printf("%d %f\n",case,printF );}该程序在编译时产生错误,其出错原因是A.定义语句出错,case是关键字,不能用作用户自定义标识符B.定义语句无错,printf不能输出case的值C.定义语句无错,scanf不能作为输入函数使用D.定义语句出错,printF不能用作用户自定义标识符62.若有定义语句:int x=12,y=8, z;在其后执行语句z= 0.9+x/y;则z的值为A.2.4B.1C.2D.1.963. 表达式a+=a-= a=9的值是A.-9B.0D.1868. 以下选项中非法的c语言字符常量是A.'\b'B.'\xaa'C.'\007'D.'aa'72. 以下叙述中正确的是A.英文大写字母X和荚文小写字母x都可以作为二进制数字的开头字符B.八进制数的开头要使用英文字母o,否则不能与十进制区分开C. 在C程序中的八进制和十六进制,可以是浮点数D.整型变量可以分为int型、short型、long型和unsigned型四种79. 以下选项中,当x为大于1奇数时,值为0的表达式是A.x%2==0B.x%2==lC.x%2!=0D.x/2101. 以下选项中不能作为c语言合法常量的是A.'cd'B.'\011'C.0.le+6D."\a"104. 以下选项中不能用作C程序合法常量的是A"\x7D"B.1,234C.123D.'\123'134. 若有定义语句:char a='\82 ';则变量aA.包含3个字符B.说明不合法C.包含1个字符D.包含2个字符135. 有以下程序#include <stdio.h>main (){char cl='A',c2='Y';printf ("%d,%d\n", cl,c2 );}程序的输4结果是A.输出格式不合法,输出出错信息B.65.89D.65.90154. 以下选项中,能用作数据常量的是A.115LB.0118C.0115D.1.5el.5155. 设变量已正确定义并赋值,以下正确的表达式是A.x=y*5=x+zB.int(15.8%5)C.x-25%5.0D.x=y+z+5,++y185. 有以下程序#include <stdio.h>main(){ char a='H';a = ( a>='A' && a<= 'Z' ) ? (a+32) : a;printf("%c\n",a );}程序运行后的输出结果是A) AB) aC) hD) H194. 以下叙述中正确的是A)程序可以包含多个主函数,但总是从第一个主函数处开始执行B)书写源程序时,必须注意缩进格式,否则程序会有编译错误C)程序的主函数名除main外,也可以使用Mainl或_mainD)在C程序中,模块化主要是通过函数来实现的199. 以下叙述中正确的是A)字符变量在定义时不能赋初值B)同一英文字母的大写和小写形式代表的是同一个字符常量C)转义字符用@符号开头D)字符常量可以参与任何整数运算200. 以下叙述中正确的是A)"a"表示一个字符常量B)"\"是非法的C)'\0'表示字符0D)表达式:'a'>'b'的结果是"假"202. 以下叙述中正确的是A)由&&构成的逻辑表达式与由||构成的逻辑表达式都有"短路"现象B)C语言的关系表达式:0<x<10完全等价于:(0<x)&& (x<10)C)逻辑"或"(即运算符||)的运算级别比算术运算要高D)逻辑"非〃〈即运算符!)的运算级别是最低的219. c源程序中不能表示的数制是A) 八进制B)十六进制C)十进制D) 二进制221. 以下四个程序中,完全正确的是A) # include<stdio .h>main (){/* programming */printf("programming!\n"); }B)include<stdio. h>main (){/* programming */printf("programming!\n"); }C) #include <stdio.h>main ();{/* programming /*/printf("programming!\n"}; }D) # include<stdio .h>main (){/*/* programming */*/printf("programming!\n"); }222. 若有定义语句:int x=10;则表达式x-=x+x的值为A) 10B) -10C) -20D) 0224. 己知大写字母A的ASCII码是65’小写字母a的ASCII码是97。
全国计算机二级考试《C语言》真题与答案
全国计算机二级考试《C语言》真题与答案全国计算机二级考试《C语言》真题与答案通过真题的练习,我们可以了解计算机等级考试的题型,有针对性的复习。
以下是店铺搜索整理的一份全国计算机二级考试《C语言》真题与答案,供参考练习,预祝考生们考出自己理想的成绩!想了解更多相关信息请持续关注我们店铺!全国计算机二级考试《C语言》真题与答案篇11.下列叙述中正确的是。
A.程序执行的效率与数据的存储结构密切相关B.程序执行的效率只取决于程序的控制结构C.程序执行的效率只取决于所处理的数据量D.以上三种说法都不对正确答案:A2.下列与队列结构有关联的是A.函数的递归调用B.数组元素的引用C.多重循环的执行D.先到先服务的作业调度正确答案:D3.一个栈的初始状态为空。
现将元素1,2,3,A,B,C依次入栈,然后再依次出栈,则元素出栈的顺序是A.1,2,3,A,B,CB.C,B,A,1,2,3C.C,B,A,3,2,1D.1,2,3,C,B,A正确答案:C4.下面属于白盒测试方法的是______。
A.等价类划分法B.逻辑覆盖C.边界值分析法D.错误推测法正确答案:B5.下面对对象概念描述正确的是()。
A.对象间的通信靠消息传递B.对象是名字和方法的封装体C.任何对象必须有继承性D.对象的多态性是指一个对象有多个操作正确答案:A6.软件设计中模块划分应遵循的准则是()。
A.低内聚低耦合B.高内聚低耦合C.低内聚高耦合D.高内聚高耦合正确答案:B7.下面描述中不属于数据库系统特点的是()。
A.数据共享B.数据完整性C.数据冗余度高D.数据独立性高正确答案:C8.数据库设计过程不包括()。
A.概念设计B.逻辑设计C.物理设计D.算法设计正确答案:D9.以下叙述正确的是()。
A.C语言函数可以嵌套调用,例如:fun(fun(x))B.C语言程序是由过程和函数组成的C.c语言函数不可以单独编译D.c语言中除了main函数,其他函数不可作为单独文件形式存在正确答案:A10.以下选项中合法的标识符是A)1_1B)1-1C)_11D)1_ _正确答案:C11.表达式3.6-5/2+1.2+5%2的值是()A.4.3B.4.8C.3.3D.3.8正确答案:D12.设循环队列的存储空间为Q(1:35),初始状态为front=rear=35。
历年全国计算机等级考试二级C语言笔试选择真题及答案
⼀、下列各题A、B、C、D四个选项中,只有⼀个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)下列叙述中正确的是A.栈是“先进先出”的线性表B.队列是“先进先出”的线性表C.循环队列是⾮线性结构D.有序性表既可以采⽤顺序存储结构,也可以采⽤链式存储结构(2)⽀持⼦程序调⽤的数据结构是A.栈B.树C.队列D.⼆叉树(3)某⼆叉树有5个度为2的结点,则该⼆叉树中的叶⼦结点数是A.10B.8C.6D.4(4)下列排序⽅法中,最坏情况下⽐较次数最少的是A.冒泡排序B.简单选择排序C.直接插⼊排序D.堆排序(5)软件按功能可以分为:应⽤软件、系统软件和⽀撑软件(或⼯具软件)。
下⾯属于应⽤软件的是A.编译软件B.操作系统C.教务管理系统D.汇编程序(6)下⾯叙述中错误的是A.软件测试的⽬的是发现错误并改正错误B.对被调试的程序进⾏“错误定位”是程序调试的必要步骤C.程序调试通常也称为DebugD.软件测试应严格执⾏测试计划,排除测试的随意性(7)耦合性和内聚性是对模块独⽴性度量的两个标准。
下列叙述中正确的是A.提⾼耦合性降低内聚性有利于提⾼模块的独⽴性B.降低耦合性提⾼内聚性有利于提⾼模块的独⽴性C.耦合性是指⼀个模块内部各个元素间彼此结合的紧密程度D.内聚性是指模块间互相连接的紧密程度(8)数据库应⽤系统中的核⼼问题是A.数据库设计B.数据库系统设计C.数据库维护D.数据库管理员培训(9)有两个关系R,S如下:RABCa32b01c21SABa3b0c2由关系R通过运算得到关系S,则所使⽤的运算为A.选择B.投影C.插⼊D.连接(10)将E-R图转换为关系模式时,实体和联系都可以表⽰为A.属性B.键C.关系D.域(11)以下选项中合法的标识符是A.1-1B.1—1C.-11D.1--(12)若函数中有定义语句:int k;,则A.系统将⾃动给k赋初值0B.这时k中值⽆定义C.系统将⾃动给k赋初值-1D.这时k中⽆任何值(13)以下选项中,能⽤作数据常量的是A.0115B.0118C.1.5e1.5D.115L(14)设有定义:int x=2;,以下表达式中,值不为6的是A.x*=x+1B.x++,2*xC.x*=(1+x)D.2*x,x+=2(15)程序段:int x=12;double y=3.141593; printf(“%d%8.6f”,x,y);的输出结果是A.123.141593B.123.141593C.12,3.141593D.123.141593(16)若有定义语句:double x,y,*px,*py,执⾏了px=&x, py=&y;之后,正确的输⼊语句是A.scanf(“%f%f”,x,y);B.scanf(“%f%f”,&x,&y);C.scanf(“%lf%le”,px,py);D.scanf(“%lf%lf”,x,y);(17)以下是if语句的基本形式:if(表达式)语句其中“表达式”A.必须是逻辑表达式B.必须是关系表达式C.必须是逻辑表达式或关系表达式D.可以是任意合法的表达式(18)有以下程序#includemain(){int x;scanf(“%d”,&x);if(x<=3); elseif(x!=10)printf(“%d\n”,x);}程序运⾏时,输⼊的值在哪个范围才会有输出结果A.不等于10的整数B.⼤于3且不等于10的整数C.⼤于3或等于10的整数D.⼩于3的整数(19)有以下程序#includeMain(){int a=1,b=2,c=3,d=0;if(a= =1 &&b++= =2)if(b!=2 || c--!=3)printf(“%d,%d,%d\n”,a,b,C.;else printf(“%d,%d,%d\n”,a,b,C.;else printf(“%d,%d,%d\n”,a,b,C.;}程序运⾏后的输出结果是A.1,2,3B.1,3,2C.1,3,3D.3,2,1(20)以下程序中的变量已正确定义for(i=0;i<4;i++,i++for(k=1;k<3;k++);printf(*”);程序段的输出结果是A.********B.****C.**D.*(21)有以下程序#includemain(){char*s=(“ABC.;do{printf(“%d”,*s%10);s++;}while(*s);}注意,字母A的ASCII码值为65。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2013年6月计算机等级考试省二级C语言一.单项选择题1.计算机最主要的工作特点是_____。
A)存储程序与程序控制B)高速度与高精度C)可靠性与可用性D)具有记忆能力2._____是用来衡量内存的性能指标。
A)主频和容量B)容量和I/O接口类型C)主频与运算速度D)存取周期和容量3.下列四个二进制数中,___与十进制数73等值。
A)1110111 B)1001100 C)1110110 D)10010014.计算机软件分为系统软件和应用软件,下列软件中,不属于应用软件的是____。
A)autoCAD B)MSN C)SQL Server D)Window media player5.下列关于Window回收站的说法,错误的是______A) 在不打开回收站的情况下可以清空回收站B)回收站可以存放从U盘删除的文件C)回收站占用的是硬盘空间D) 回收站中的文件可以还原6.____不可能是Window窗口组成的元素。
A)工具栏B)状态栏C)任务栏D)滚动条7.通常所说的“带宽”指的是数据通信中的______指标A)平均数据传输速率B) 最高数据传输速率C) 每分钟数据流量D)最低数据传输速率8.病毒是可以造成计算机故障的一种计算机______A)程序B)芯片C)部件D)设备9._____不是多媒体技术特征。
A)多样性B)集成性C)隐蔽性D)交互性10.在下列有关算法的叙述中,错误的是____A) 算法通常是用于解决某一个特定问题B) 算法的表示可以有多种形式C)一个问题可能存在多种算法D)算法必须有输入11.下列对c语言程序的描述中,正确的是_____A) c语言程序是从第一个定义的函数开始执行B) c语言程序总是从最后一个定义的函数执行C)c语言程序总是从main函数开始执行D)c语言函数中main函数必须放在程序的开始部分12.____不是c语言的合法关键字。
A)switch B)default C)case D)printf13._____是不合法的常量。
A)‟xabcde‟B)”xlf”C)0x12 D)2.1e314.下列定义语句中,正确的是____A)char a=‟A‟b=‟B‟; B)float a=b=6.5; C)int a=10,*b=&a;D)float *a,b=&a;15.在c语言中____表示逻辑真A)1 B)非0的数C)非1的数D)016. 设有定义int a; char c;,执行输入语句scanf(”%d%c”,&a,&c);时,若要求a和c得到的值为10和‘Y’,正确的输入方式是______.A)10,Y B)10.Y C)10Y D)10 Y17.下列运算符优先级最高的是_____A)< B)+ C)&& D)||18.z执行语句int a=3;a+=a-=a*a;后a的值_____A)-12B)0 C)3 D)919.若a、i和j都是int型变量,则执行语句a=(i=4,j=16);后a的值为____A)4 B)16 C)20 D)1220.设有定义int b=0;表达式_____与其他表达式的值不同A)b+=1 B)b++C)++b D)b+121设有预处理命令#define d 2 int a=10;float b=20;char c=‟a‟则下列语句错误的是____ A)a++ B)b++ C)c++ D)d++22设有定义char w ;int x;float y;;double z;则表达式w*x+z-y值的数据类型为____A)float B)char C)int D)double23.有定义int x=1,y=2,z=3;执行下列程序后,输出的结果是____if(x>y) z=x;x=y;y=z;printf(“%d,%d,%d”,x,y,z);A)1,2,3 B)2,3,3 C)2,3,1 D)2,3,224.在C语言中,表示结束当前循环的是____A)extern语句B)break语句C)continue语句D)end语句25.若i为整形变量,则下列循环执行的次数是____for(i=2;i= =0;)printf(“%d\n”,i--);A)2次B1次C)0次D)无限次26.设n为整形变量,执行语句for(n=1;n++<4;);后,变量n的值是____A)3 B)4C)5 D)627.下列程序段的运行结果是____char c[5]={…a‟,‟b‟,‟\0‟,‟c‟,‟\0‟};printf(“%s”,c);A)‟a‟‟b‟B)ab C)ab c D)ab\0c\028.下列数组定义语句中,正确的是____A)int a[ ]=”string”; B)int a[5]={0,1,2,3,4,5};C)char a =”string”; D) int a[]={0,1,2,3,4,5};29.若有定义int a[3][4];则对数组元素引用正确的是____A)a[1][4] B)a[1,3] C)a(2)(1) D)a[2][0]30.下列程序段的是____int k,a[3][3]={1,2,3,4,5,6,7,8,9};for(k=0;k<3;k++)printf(“%d”,a[k][2-k]);A)357B)369 C)159 D)14731. ____是正确的函数函数声明语句。
A)float func(int a,int b); B)float func(int a, b);C)float func( a,int b); D) float func(a, b);32.用户定义的函数____A)不可以调用非整形函数值的函数B)可以嵌套调用C)可以调用main()主函数D)定义的位置一定位于调用位置的前面33.下列语句中,定义指针变量P的正确语句是______A)int x,p=&x; B) int x,*p=x;C)int x,*p=&x;D) int x,*p=*x;34.下列不能输出字符串“Hello”的程序段是------A)char *t ; t=”Hello”;printf(“%s\n”,t);B)char *t, s[]=”Hello”;t=s; printf(“%s\n”,t)C)char s[20], *t=s; t=”Hello”; printf(“%s\n”,s)D)char *t, s[]=”Hello”;t=s; printf(“%s\n”,s)35, 设有定义char str[]=”game_over”,*p=&str[0]; 则语句printf(“%d,%d”,sizeof[str],strlen(p)) 的输出结果是_____-A)10,9 B)10,10 C)9,9 D)9,1036 下列关于语句int *p[10] 的说法正确的是A)p是一个指针,指向一个数组,数组的元素是整形B)p是一个数组,其数组的每一个元素是指向整数的指针C)A)和B)的说法均错,但它是C语言的正确语句D)C语言不允许使用这样的语句37 设有定义int a=80;执行语句a=a>>2后变量a的值是A)80 B)60 C)40 D)2038 设有定义语句:struct stu{int x;float y;}stutype;则下列的说法不正确的是-----A)struct是定义结构体类型的关键字B)struct stu 是用户定义的结构体类型C)x和y都是结构体成员D) stutype 是用户定义的结构体类型名39 若有#define ADD(x,y)x*y,则语句printf(”s=%d”,ADD(2,2+3))的输出结果是A)s=8 B)s=7C)s=10 D)s=1140 若要打开当前文件夹中的文本文件abc.txt 进行读和写操作,应使用_____打开文件A)fopen(”abc.txt”,”r”)B) fopen(”abc.txt”,”wb”)C) fopen(”abc.txt”,”w”)D) fopen(”abc.txt”,”r+”)二.填空题(每空2分,共20分)1.表达式25/3%3的值是___2____。
2若有定义int a=1,b=4,c=3;则表达式!(a<b)&&!c||1的值是_____1____。
3.若有定义float a=3.1,b=2.8;,则表达式(int)a+b的值是_____5.8______。
4.c语言标示符的第一个字符必须是字母或___下划线_____。
5.求a,b两个数的较大值_______。
6.设整型变量x的值为1,执行下列循环语句后,变量x的值是____2_____。
do{x++;}while (x++ <2);7.变量的___定义域__取决于变量定义的位置。
8.c语言源程序编译后生成__目标___程序,然后经过链接生成可执行程序。
9.若有定义int a[10];,则该数组下标最大的数组元素为______9____。
10.若定义int a[6]={1,2,3,4,5,6},*p=&a[2];,则p[3]的值是__6__.三.阅读理解题1.以下程序运行结果是_____2___。
#include<stdio.h>void main(){int x=2, y=-1,z=2;if(x<y)if(x<0)z=0;elsez+=1;printf(“%d\n”,z);}2.以下程序运行结果是___ga_____。
#include<stdio.h>void main(){char a[]=”program”,b[]=”language”;char *p1,*p2;int i;p1=a; p2=b;for(i=0;i<8;i++)if(*(p1+i)= =*(p2+i))printf(“%c”,*(p1+i));}3. 以下程序运行结果是_1111222334_______。
#include<stdio.h>void main(){int i;for(i=0;i<=4;i++)switch(i){case 1:printf(“%d”,i);case 2:printf(“%d”,i);case 3:printf(“%d”,i);case 4:printf(“%d”,i);}}4..以下程序运行结果是_________。
#include<stdio.h>void main(){int n=5,a=1,i,j,k;for(i=1;i<=n;i++){k=a;for(j=1;j<=n+1-i;j++){printf("%4d",k);k=k+(n-j+1);}printf("\n");a=a+1;}}参考答案:1 6 10 13 152 7 11 143 8 124 955. .以下程序运行结果是___7 8 9______。