C语言2008-2009省考笔试题

合集下载

09年C语言试题及答案

09年C语言试题及答案

09年C语言试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述中,错误的是:A. C语言是一种高级语言B. C语言的源代码不能直接在计算机上运行C. C语言支持结构化编程D. C语言不支持面向对象编程答案:D2. 在C语言中,用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A3. 下列关于指针的描述中,正确的是:A. 指针可以存储地址B. 指针可以存储数据C. 指针不能存储地址D. 指针不能存储数据答案:A4. 在C语言中,用于定义一个函数的关键字是:A. intB. voidC. returnD. function答案:A5. 下列关于数组的描述中,错误的是:A. 数组可以存储相同类型的元素B. 数组的索引从0开始C. 数组的大小在定义时确定D. 数组的大小可以在运行时改变答案:D6. 在C语言中,用于控制循环的关键字是:A. ifB. whileC. forD. switch答案:C7. 下列关于文件操作的描述中,错误的是:A. 文件操作需要使用文件指针B. 文件操作需要包含stdio.h头文件C. 文件操作不需要使用文件指针D. 文件操作需要使用fclose函数关闭文件答案:C8. 在C语言中,用于定义一个枚举类型的关键字是:A. enumB. structC. unionD. typedef答案:A9. 下列关于函数参数的描述中,错误的是:A. 函数参数可以是常量B. 函数参数可以是变量C. 函数参数可以是数组D. 函数参数不可以是指针答案:D10. 在C语言中,用于定义一个联合体的关键字是:A. unionB. structC. enumD. typedef答案:A二、填空题(每题2分,共10分)1. C语言中,用于定义变量的关键字是________。

答案:int2. 在C语言中,用于定义一个宏的预处理命令是________。

2008-2009c语言试卷A

2008-2009c语言试卷A

吉林大学2008-2009学年第一学期《C语言程序设计》考试试卷(A卷)(考试时间:90分钟,本卷共4页,共印1820份一、选择题(本题共有15道小题,每道小题2分,满分30分)1.C语言中,int类型数据占2个字节,则long类型数据占()A、1个字节B、2 个字节C、3个字节D、4个字节2.以下说法中正确的是()A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main( )函数中定义C、C语言程序总是从main( )函数开始执行D、C语言程序中的main( )函数必须放在程序的开始部分3.下面的程序会()main( ){ int x=3,y=0,z=0;if(x=y+z) printf(“****”);else printf(“####”);}A、有语法错误不能通过编译B、输出****C、可以通过编译,但不能通过连接,因而不能运行D、输出####4.以下程序的输出结果是()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)6 B)7C)8 D)95.以下程序的输出结果是()main( ){ int x=10,y=10,i;for(i=0;x>8;y=++i)printf(“%d %d”,x - -,y);}A、10 1 9 2B、9 8 7 6C、10 9 9 0D、10 10 9 16.有如下程序main( ){static int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;for(i=1;i<3;i++)for(j=0;j<=i;j++) s+=a[i][j];printf(“%d”,s);}该程序的输出结果是()A、18B、19C、20D、217.执行下列程序时输入123<空格>456<空格>789<回车>,输出结果是( )。

2008年9月全国计算机等级考试二级C语言笔试真题及参考答案

2008年9月全国计算机等级考试二级C语言笔试真题及参考答案

2008年9月二級C語言筆試真題及答案(1)一個棧的初始狀態為空。

現將元素1、2、3、4、5、A、B、C、D、E 依次入棧,然後再依次出棧,則元素出棧的順序是()。

A)12345ABCDE B)EDCBA54321 C)ABCDE12345 D)54321EDCBA(2)下列敘述中正確的是()。

A)迴圈佇列有隊頭和隊尾兩個指針,因此,迴圈佇列是非線性結構B)在迴圈佇列中,只需要隊頭指針就能反映佇列中元素的動態變化情況C)在迴圈佇列中,只需要隊尾指針就能反映佇列中元素的動態變化情況D)迴圈佇列中元素的個數是由隊頭指針和隊尾指針共同決定3)在長度為n的有序線性表中進行二分查找,最壞情況下需要比較的次數是()。

A)O(n) B)O(n2) C)O(log2n) D)O(n log2n)4)下列敘述中正確的是()。

A)順序存儲結構的存儲一定是連續的,鏈式存儲結構的存儲空間不一定是連續的B)順序存儲結構只針對線性結構,鏈式存儲結構只針對非線性結構C)順序存儲結構能存儲有序表,鏈式存儲結構不能存儲有序表 D)鏈式存儲結構比順序存儲結構節省存儲空間5)數據流圖中帶有箭頭的線段表示的是()。

A)控制流 B)事件驅動 C)模組調用 D)數據流6)在軟體開發中,需求分析階段可以使用的工具是()。

A)N-S 圖 B)DFD 圖 C)PAD 圖 D)程式流程圖7)在面向對象方法中,不屬於“對象”基本特點的是()。

A)一致性 B)分類性 C)多態性 D)標識唯一性(8)一間宿舍可住多個學生,則實體宿舍和學生之間的聯繫是()。

A)一對一 B)一對多 C)多對一 D)多對多(9)在數據管理技術發展的三個階段中,數據共用最好的是()。

A)人工管理階段 B)檔系統階段 C)資料庫系統階段 D)三個階段相同(10)有三個關係R、S 和T 如下:R S TA B B C A B Cm 1 1 3 m 1 3n 2 3 5由關係R 和S 通過運算得到關係T,則所使用的運算為()。

2009计算机二级c语言考试真题及答案

2009计算机二级c语言考试真题及答案

2009计算机二级c语言考试真题及答案一、选择题(每题1分,共40分)1. 在C语言中,以下哪个选项是合法的标识符?A. 2variableB. variable2C. _variableD. variable-2答案:C2. 若有定义:int a=3, b=4, c=5;,则表达式a+b+c的值是:A. 12B. 9C. 15D. 3答案:C3. C语言中,以下哪个选项是正确的整型常量?A. 0x12B. 0x12.0C. 0x12LD. 0x12.0L答案:A4. 在C语言中,以下哪个选项是正确的字符常量?A. 'ab'B. '65'C. '\n'D. "A"答案:C5. 若有定义:int a=5, b=10;,则执行语句a=b后,变量a的值是:A. 5B. 10C. 15D. 0答案:B6. 在C语言中,以下哪个选项是正确的字符串常量?A. "Hello, World!"B. 'Hello, World!'C. "Hello World!"D. 'Hello World!'答案:A7. 若有定义:int a=5;,则执行语句a+=3后,变量a的值是:A. 5B. 8C. 3D. 2答案:B8. 在C语言中,以下哪个选项是正确的数组定义?A. int a[5] = {1, 2, 3, 4, 5};B. int a[5] = {1, 2, 3};C. int a[] = {1, 2, 3, 4, 5};D. int a[5] = {1, 2, 3, 4};答案:C9. 若有定义:int a[5] = {1, 2, 3, 4, 5};,则执行语句a[2]=6后,数组元素a[2]的值是:A. 1B. 2C. 6D. 5答案:C10. 在C语言中,以下哪个选项是正确的函数定义?A. int max(int x, int y) { return x > y ? x : y; }B. int max(int x, int y) { if(x > y) return x; else returny; }C. int max(int x, int y) { return x > y ? y : x; }D. int max(int x, int y) { if(x > y) return y; else returnx; }答案:A二、填空题(每题2分,共20分)1. 在C语言中,若要定义一个整型变量x并初始化为10,应使用语句:________。

2008年9月全国计算机二级笔试C语言程序设计真题及答案

2008年9月全国计算机二级笔试C语言程序设计真题及答案

2008年9月全国计算机二级笔试C语言程序设计真题及答案2008年9月全国计算机二级笔试C语言程序设计真题及答案一、选择题((1)~(10)、(21)~(40)每题2 分,(11)~(20)每题1 分,70 分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。

(1)一个栈的初始状态为空。

现将元素1、2、3、4、5、A、B、C、D、E 依次入栈,然后再依次出栈,则元素出栈的顺序是()。

A)12345ABCDE B)EDCBA54321 C)ABCDE12345 D)54321EDCBA(2)下列叙述中正确的是()。

A)循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B)在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C)在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D)循环队列中元素的个数是由队头指针和队尾指针共同决定(3)在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是()。

A)O(n) B)O(n2) C)O(log2n) D)O(n log2n)(4)下列叙述中正确的是()。

A)顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的B)顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C)顺序存储结构能存储有序表,链式存储结构不能存储有序表D)链式存储结构比顺序存储结构节省存储空间(5)数据流图中带有箭头的线段表示的是()。

A)控制流 B)事件驱动 C)模块调用 D)数据流(6)在软件开发中,需求分析阶段可以使用的工具是()。

A)N-S 图 B)DFD 图 C)PAD 图 D)程序流程图(7)在面向对象方法中,不属于“对象”基本特点的是()。

A)一致性 B)分类性 C)多态性 D)标识唯一性(8)一间宿舍可住多个学生,则实体宿舍和学生之间的联系是()。

A)一对一 B)一对多 C)多对一 D)多对多(9)在数据管理技术发展的三个阶段中,数据共享最好的是()。

2008--2009 C语言笔试真题

2008--2009 C语言笔试真题

2009.9(1)下列数据结构中,属于非线性结构的是(C )。

A)循环队列B)带链队C)二叉树D)带链栈(3)对于循环队列,下列叙述中正确的是(D )。

A)队头指针是固定不变的B)队头指针一定大于队尾指针C)队头指针一定小于队尾指针D)队头指针可以大于队尾指针,也可以小于队尾指针(8)数据库管理系统是(B )。

A)操作系统的一部分B)在操作系统支持下的系统软件C)一种编译系统D)一种操作系统(11)以下叙述中正确的是( D)。

A)程序设计的任务就是编写程序代码并上机调试B)程序设计的任务就是确定所用数据结构C)程序设计的任务就是确定所用算法D)以上三种说法都不完整(26)有以下程序# include <stdio.h>main(){ int m=1, n=2, *p=&m, *q=&n, *r;r=p; p=q; q=r;printf("%d,%d,%d,%d\n",m,n,*p,*q);}程序运行后的输出结果是(B )。

A)1,2,1,2 B)1,2,2,1 C)2,1,2,1 D)2,1,1,2(28)有以下程序# include <stdio.h># include <string.h>main(){ char str[][20]={"One*World","One*Dream!"},*p=str[1];printf("%d,",strlen(p));printf("%s\n",p);}程序运行后的输出结果是(C )。

A)9,One*World B)9,One*Dream! C)10,One*Dream! D)10,One*World(30)有以下程序# include <stdio.h># include <string.h>main(){ char a[10]="abcd";printf("%d,%d\n",strlen(a),sizeof(a));}程序运行后的输出结果是(B )。

全国计算机等级考试二级C历年考试真题2007年208年2009年2010年

全国计算机等级考试二级C历年考试真题2007年208年2009年2010年

2007年9月全国计算机等级考试二级C语言(答案附在后面)(考试时间120分钟,满分100分)一、选择题((1)-(10)每题2分,(11)-(50)每题1分.共60分)) 下列各题A)、B)、C)、D)四个选项中,只有一个是正确的,请将正确选项涂写在答题卡上,答在试卷上不得分。

(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)数据的逻辑结构与存储结构必定是一一对应的B)由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构C)程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线线结构D)以上三种说法都不对(7)冒泡排序在最坏情况下的比较次数是A)n(n+1)/2 B)nlog2n C)n(n-1)/2 D)n/2 (8)一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数为A)219 B)221 C)229 D)231(9)下列叙述中正确的是A)数据库系统是一个独立的系统,不需要操作系统的支持B)数据库技术的根本目标是要解决数据的共享问题C)数据库管理系统就是数据库系统D)以上三种说法都不对(10)下列叙述中正确的是A)为了建立一个关系,首先要构造数据的逻辑关系B)表示关系的二维表中各元组的每一个分量还可以分成若干数据项C)一个关系的属性名表称为关系模式A).exe B).C C).obj D).cp(12)可在C程序中用做用户标识符的一组标识符是A)and B)Date C)Hi D)case_2007 y-m-d Dr.Tom Bigl(13)以下选项中,合法的一组C语言数值常量是A)028 B)12. C).177 D)0x8A. 5e-3 OXa23 4c1.5 10,000-0xf 4.5e0 Oabc 3.e5(14)以下叙述中正确的是A)C语言程序将从源程序中第一个函数开始执行B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束D)main可作为用户标识符,用以命名任意一个函数作为主函数(15)若在定义语句:int a,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是A)scanf("%d",a,b,c); B)scanf("%d%d%d",a,b,c);C)scanf("%d",p); D)scanf("%d",&p);(16)以下关于long、int和short类型数据占用内存大小的叙述中正确的是A)均占4个字节 B)根据数据的大小来决定所占内存的字节数C)由用户自己定义 D)由C语言编译系统决定(17)若变量均已正确定义并赋值,以下合法的C语言赋值语句是A)x=y==5; B)x=n%2.5; C)x+n=I; D)x=5=4+1; (18)有以下程序段int j; float y; char name[50];scanf("%2d%f%s",&j,&y,name);当执行上述程序段,从键盘上输入55566 7777abc后,y的值为A)55566.0 B)566.0 C)7777.0 D)566777.0 (19)若变量已正确定义,有以下程序段i=0;do printf("%d,",i);while(i++);printf("%d\n",i)其输出结果是A)0,0 B)0,1 C)1,1 D)程序进入无限循环(20)有以下计算公式算上述公式的程序段是A)if(x>=0) y=sqrt(x); B)y=sqrt(x)else y=sqrt(-x); if(x<0) y=sqrt(-x);C)if(x>=0)y=sqrt(x); D)y=sqrt(x>=0?x:-x);If(x<0)y=sqrt(-x);(21)设有条件表达式:(EXP)?i++;j--,则以下表达式中(EXP)完全等价的是A)(EXP= =0) B)(EXP!=0) C)(EXP= =1) D)(EXP!=1)(22)有以下程序#include<stdio.h>main(){int y=9;for( y>0;y--)if(y%3= =0) printf("%d",--y);}程序的运行结果是A)741 B)963 C)852 D)875421(23)已有定义:char c; ,程序前面已在命令行中包含ctype.h文件,不能用于判断c中的字符是否为大写字母的表达式是A)isupper(c) B)’A’<=c<=’Z’C)’A’<=c&&c<=’Z’ D)c<=(‘2’-32)&&(‘a’-32)<=c(24)有以下程序#include<stdio.h>main(){int i,j,m=55;for(i=1;i<=3;i++)for(j=3;j<=i;j++) m=m%j;printf("%d\n",m);}程序的运行结果是A)0 B)1 C)2 D)3(25)若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是A)函数的实参和其对应的形参共占同一存储单元B)形参只是形式上的存在,不占用具体存储单元C)同名的实参和形参占同一存储单元D)函数的形参和实参分别占用不同的存储单元(26)已知字符’A’的ASCⅡ代码值是65,字符变量c1的值是’A’,c2的值是’D’。

全国计算机二级C语言笔试历届真题

全国计算机二级C语言笔试历届真题

2010年9月全国计算机二级C语言笔试试题一、选择题(每小题2分,共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)一组对象所具有的相似性质B)一个对象具有另一个对象的性质C)各对象之间的共同性质D)类之间共享属性和操作的机制(7)层次型、网状型和关系型数据库划分原则是A)记录长度B)文件的大小C)联系的复杂程度D)数据之间的联系方式(8)一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员、与实体计算机之间的联系是A)一对一B)一对多C)多对多D)多对一(9)数据库设计中反映用户对数据要求的模式是A)内模式B)概念模式C)外模式D)设计模式(10)有三个关系R、S 和T 如下:则由关系R 和S 得到关系T 的操作是A)自然连接B)交C)投影D)并(11)以下关于结构化程序设计的叙述中正确的是A)一个结构化程序必须同时由顺序、分支、循环三种结构组成B)结构化程序使用goto 语句会很便捷C)在C语言中,程序的模块化是利用函数实现的D)由三种基本结构构成的程序只能解决小规模的问题(12)以下关于简单程序设计的步骤和顺序的说法中正确的是A)确定算法后,整理并写出文档,最后进行编码和上机调试B)首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档C)先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档D)先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构(13)以下叙述中错误的是A)C 程序在运行过程中所有计算都以二进制方式进行B)C 程序在运行过程中所有计算都以十进制方式进行C)所有C 程序都需要编译链接无误后才能运行D)C 程序中整型变量只能存放整数,实型变量只能存放浮点数(14)有以下定义:int a;long b;doublex,y;则以下选项中正确的表达式是A)a%(int)(x-y)B)a=x!=y;C)(a*y)%bD)y=x+y=x(15)以下选项中能表示合法常量的是A)整数:1,200B)实数:1.5E2.0C )字符斜杠:‘\’D)字符串:"\007"(16)表达式a+=a-=a=9 的值是A)9 B)_9C)18 D)0(17)若变量已正确定义,在if (W)printf(“%d\n,k”);中,以下不可替代W 的是A)a<>b+c B)ch=getchar()C)a==b+c D)a++(18)有以下程序#include<stdio.h>main(){int a=1,b=0;if(!a)b++;else if(a==0)if(a)b+=2;else b+=3;printf(”%d\n”,b);}程序运行后的输出结果是A)0 B)1C)2 D)3(19)若有定义语句int a, b;double x;则下列选项中没有错误的是A)switch(x%2)B)switch((int)x/2.0{case 0: a++; break; {case 0: a++; break;case 1: b++; break; case 1: b++; break;default : a++; b++; default : a++; b++;} } C)switch((int)x%2)D)switch((int)(x)%2){case 0: a++; break; {case 0.0: a++; break;case 1: b++; break; case 1.0: b++; break;default : a++; b++; default : a++; b++;} }(20)有以下程序#include <stdio.h>main(){int a=1,b=2;while(a<6){b+=a;a+=2;b%二10;}printf(”%d,%d\n”,a,b);}程序运行后的输出结果是A)5,11 B)7,1C)7,11 D)6,1(21)有以下程序#include<stdio.h>main(){int y=10;while(y--);printf(”Y=%d\n”,Y);}程序执行后的输出结果是A)y=0 B)y= -1C)y=1 D)while 构成无限循环(22)有以下程序#include<stdio .h>main(){char s[」=”rstuv";printf(”%c\n”,*s+2);}程序运行后的输出结果是A)tuv B)字符t 的ASCII 码值C)t D)出错(23)有以下程序#include<stdio.h>#include<string.h>main(){char x[]=”STRING”;x[0」=0;x[1]=’\0’;x[2」=’0’;printf(”%d %d\n”,sizeof(x),strlen (x));}程序运行后的输出结果是A)6 1 B)7 0C)6 3 D)7 1(24)有以下程序#include<stdio.h>Int f(int x);main(){int n=1,m;m=f(f(f(n)));printf(”%d\n”,m);}int f(int x){return x*2;}程序运行后的输出结果A)1 B)2C)4 D)8(25)以下程序段完全正确的是A)int *p; scanf("%d",&p); B)int *p; scanf(“%d”,p); C)int k,*p=&k; scanf("%d",p);D)int k, *p:; *p= &k; scanf(“%d”,p);(26)有定义语句:int *p[4];以下选项中与此语句等价的是A)int p[4]; B)int **p;C)int *(p「4」); D)int (*p)「4」;(27)下列定义数组的语句中,正确的是A)int N=10;B)#define N 10int x[N]; int x[N];C)int x[0..10];D)int x[];(28)若要定义一个具有5 个元素的整型数组,以下错误的定义语句是A)int a[5]=﹛0﹜;B)int b[]={0,0,0,0,0};C)int c[2+3];D)int i=5,d[i];(29)有以下程序#include<stdio.h>void f(int *p);main(){int a[5]={1,2,3,4,5},*r=a;f(r);printf(”%d\n”;*r);}void f(int *p){p=p+3;printf(”%d,”,*p);}程序运行后的输出结果是A)1,4 B)4,4C)3,1 D)4,1(30)有以下程序(函数fun 只对下标为偶数的元素进行操作)# include<stdio.h>void fun(int*a;int n){int i、j、k、t;for (i=0;i<n 一1;1+=2){k=i;‘for(j=i;j<n;j+=2)if(a[j]>a〔k])k=j;t=a〔i];a〔i]=a[k];a〔k]=t;}}main(){int aa「10」={1、2、3、4、5、6、7},i;fun(aa、7);for(i=0,i<7; i++)printf(”%d,”,aa[i]));printf(”\n”);}程序运行后的输出结果是A)7,2,5,4,3,6,1B)1,6,3,4,5,2,7C)7,6,5,4,3,2,1D)1,7,3,5,6;2,1(31)下列选项中,能够满足“若字符串s1 等于字符串s2,则执行ST"要求的是A)if(strcmp(s2,s1)==0)ST;B)if(sl==s2)ST;C)if(strcpy(s l ,s2)==1)ST;D)if(sl-s2==0)ST;(32)以下不能将s 所指字符串正确复制到t 所指存储空间的是A)while(*t=*s){t++;s++;}B)for(i=0;t[i]=s[i];i++);C)do{*t++=*s++;}while(*s);D)for(i=0,j=0;t[i++]=s[j++];);(33)有以下程序(strcat 函数用以连接两个字符串)#include<stdio.h>#include<string .h>main(){char a[20]=”ABCD\OEFG\0”,b[]=”IJK”;strcat(a,b);printf(”%s\n”,a);}程序运行后的输出结果是A)ABCDE\OFG\OIJKB)ABCDIJKC)IJKD)EFGIJK(34)有以下程序,程序中库函数islower(ch)用以判断ch 中的字母是否为小写字母#include<stdio.h>#include<ctype.h>void fun(char*p){int i=0;while (p[i]){if(p[i]==’’&&islower(p「i-1」))p[i-1]=p[i-1]-‘a’+‘A’;i++;}}main(){char s1[100]=”ab cd EFG!”;fun(s1);printf(”%s\n”,s1);}程序运行后的输出结果是A)ab cd EFG!B)Ab Cd EFg!C)aB cD EFG!D)ab cd EFg!(35)有以下程序#include<stdio.h>void fun(int x){if(x/2>1)fun(x/2);printf(”%d”,x);}main(){fun(7);printf(”\n”);}程序运行后的输出结果是A)1 3 7 B)7 3 1C)7 3 D)3 7(36)有以下程序#include<stdio.h>int fun(){static int x=1;x+=1;return x;}main(){int i;s=1;for(i=1;i<=5;i++)s+=fun();printf(”%d\n”,s);}程序运行后的输出结果是A)11 B)21C)6 D)120(37)有以下程序#inctude<stdio.h>#include<stdlib.h>Main(){int *a,*b,*c;a=b=c=(int*)malloc(sizeof(int));*a=1;*b=2,*c=3;a=b;printf(“%d,%d,%d\n”,*a,*b,*c);}程序运行后的输出结果是A)3,3,3 B)2,2,3C)1,2,3 D)1,1,3(38)有以下程序#include<stdio.h>main(){int s,t,A=10;double B=6;s=sizeof(A);t=sizeof(B);printf(“%d,%d\n”,s,t);}在VC6 平台上编译运行,程序运行后的输出结果是A)2,4 B)4,4 C)4,8 D)10,6(39)若有以下语句Typedef struct S{int g; char h;}T; 以下叙述中正确的是A)可用S 定义结构体变量B)可用T 定义结构体变量C)S 是struct 类型的变量D)T 是struct S 类型的变量(40)有以下程序#include<stdio.h>main(){short c=124;c=c;printf(“%d\n”、C);}若要使程序的运行结果为248,应在下划线处填入的是A)>>2 B)|248 C)&0248 D)<<I二、填空题(每空2 分,共30 分)(1)一个栈的初始状态为空。

2008第2次C语言等级考试

2008第2次C语言等级考试

2008第2次C语言等级考试全国高等学校非计算机专业计算机等级考试二级C语言笔试试题(A卷)考试时间:2008年11月15日上午9:00——11:00考生必读:1.考生应严格遵守考场规则。

考生拿到试卷后应首先将自己的所在学校名称、考场地点、性命、准考证号填涂在答题纸和答题卡规定的位置上。

2. 考生得到监考人员指令后方可作答。

3.考生在答题前务必认真阅读题目要求,按要求作答。

客观题的答案(选择题和判断题)必须用2B铅笔填涂在答题卡的相应位置上;主观题的答案必须用蓝、黑色钢笔或圆珠笔填写在答题纸的相应位置上;且必须注明试卷类型(A 卷或B卷)。

否则答案无效。

4.注意字迹清楚,保持卷面整洁。

5. 考试时间为120分钟。

考试结束时,把试题册、答题卡、答题纸放在桌上,不得带走。

等监考人员收齐点清后,考生才可离开考场。

◆本试卷版权所有,任何单位或个人不得复制、出版和存留,违者必究◆重庆市教育委员会2008年11月二级C语言笔试试卷(A)(共100分)注意事项:1.一题答案填涂在答题卡上2.二、三、四、五题答案做在答题纸上一.单项选择题。

(每小题1分,共20分)1.假设有int x=11;,则表达式(x++*1/3)的值是( )(A) 3 (B)12 (C)11 (D)02.设有定义:char *s=”\t\”Name\\Address\”\n”;,那么strlen(s)等于( ) (A)15 (B)16 (C) 17 (D) 183.若有语句#define f(x,y) x+y及int a=2,b=3;,则执行p rintf(“%d”,f(a,b)*f(a,b))后输出的值为( )(A)36 (B)25 (C) 11 (D) 134.对于基类型相同的两个指针变量之间,不可进行的运算是( )(A)== (B)= (C) + (D) -5. 若程序中需要表示关系x≥y≥z,应使用C语言表达式为()(A)(x>=y)&&(y>=z) (B)(x>=y) AND (y>=z)(C)(x>=y>=z) (D) (x>=y)&(y>=z)6. 若有C语句int k=5;float x=1.2;,则表达式(int)(x+k) 的值是( )(A)5 (B)6.2 (C) 7 (D) 67. 设有定义:int x,*p;,能使指针变量p指向变量x的语句是()(A)*p=&x (B)p=&x (C)*p=x; (D) p=*&x8. 在执行语句if((x=y=2)>=x&&(x=5)) y*=x;后变量x,y的值应分别为()(A)2、2 (B)5、2 (C)5、10 (D) 执行时报错9. 以下程序的输出结果为()#includevoid main(){ int x,n;for(n=10,x=0;n=0;x++,n--);printf(〞%d\n〞,x);}(A)程序无限循环无输出(B)10 (C)1 (D)010. 下面程序的输出结果为()#includevoid main(){ int x=1,y=1,z;z=1||++x&&y--printf(〞\n%d,%d,%d〞,x,y,z);}(A)1,1,1(B)2,0,1 (C) 2,1,1 (D)2,0,0 11. 下面程序执行后输出为()#includevoid main(){ enum weekday{sun,mon=3,tue,wed,thu}; enum weekday day;day=wed;printf(〞%d\n〞,day);}(A)5(B)6 (C) 4 (D) 编译时出错12. 下面程序执行后输出为()#includevoid main(){ int a;printf(〞%d\n〞,(a=3*5,a*4,a+5));}(A)65(B)20 (C) 15 (D) 1013. 以下程序的输出结果是()。

2008-2009第二学期《C程序设计》试卷A(08级09.4,含答案)

2008-2009第二学期《C程序设计》试卷A(08级09.4,含答案)

一、选择题(每题1分,共20分)1.设 int b=2;表达式b/(b*2)的值是()。

A. 0B. 0.5C. 0.500000D. 0.000002.下列标识符中不合法的标识符的是()。

A. hot_doB. cat1C. _priD. 2ab3.以下程序的输出结果是()。

void main(){int k=17;printf("%d,%o,%x \n",k,k,k);}A. 17,021,0x11B. 17,17,17C. 17,0x11,021D. 17,21,114.设x、y、z和k都是int型变量,则执行表达式:x=(y=4,z=16,k=32)后,x的值为()。

A.4 B.16 C.32 D.525.下述程序段中,while循环执行次数是( )。

int k=0;while(k=1) k++;A. 无限次B. 有语法错误,不能执行C. 一次也不执行D. 执行一次6. 若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为()。

A. a < > 0B. !aC. a=0D. a!=07.执行下述语句后,*(p+1)的值是( )。

char s[]= “ab”,*p;p=s;A.‘b’B. OC. 不定值D. 非法引用128.有以下语句:int b;char c[10];,则正确的输入语句是( )。

A. scanf("%d%s",&b,&c);B. scanf("%d%s",&b,c);C. scanf("%d%s",b,c);D. scanf("%d%s",b,&c);9.能正确表示a 和b 同时为正或同时为负的逻辑表达式是( )。

A. (a>=0‖b>=0)&&(a<0‖b<0)B. (a>=0&&b>=0)&&(a<0&&b<0)C. (a+b>0)&&(a+b<=0)D. a*b>010.C 语言中的逻辑运算结果,用( )表示逻辑“真”值。

2008春C语言笔试卷

2008春C语言笔试卷

第二部分 C语言程序设计一、选择题(用答题卡答题,答案依次填在21~30答题号内,共10分)21.下列叙述中正确的是 (21) 。

A. main函数必须出现在其他函数之前B. main函数中至少必须有一条语句C. C程序总是从main函数的第一条语句开始执行D. C程序总是在执行完main函数的最后一条语句后结束22.以下常量表示中正确的是 (22) 。

A. \xffB.5LC. aEbD. 3.14U23.若程序中已有相应的声明,下列语句中错误的是 (23) 。

A.printf(i==4 ? "%6d\n" : "%6d" , i );B.i==4 ? printf("%6d\n",i ) : printf("%6d" , i ) ;C.for (i=10 ; ; i--) if(i==1) break;D.for (i=10 ; ; ) if(i--); break;24.若有声明“float f=123.45678;”,则执行语句“printf( "%.3f",f );”后,输出结果是 (24) 。

A. 1.23e+02 B. 123.457 C. 123.456780 D. 1.234e+0225.若有声明“int x=2,y=1,z=0;”,则下列关系表达式中有语法错误的是 (25) 。

A. x>y=2 B.z>y>xC. x>y==1 D.x==(x=0,y=1,z=2)26.若有声明“int x[10]={0,1,2,3,4,5,6,7,8,9},*p;”,则值不为4的表达式是(26)。

A.p=x,*(p+4) B.p=x+4,*p++C.p=x+3,*(p++) D.p=x+3,*++p27.若有声明“int i,k=1; unsigned j;”,则下列语句执行时会出现无限循环的语句是 (27) 。

c语言题库01

c语言题库01

试卷编号:8125所属语言:C语言试卷方案:2008-2009第2学期期末考试试卷总分:100分共有题型:5种一、判断共10题(共计20分)第1题(2.0分)题号:1268逻辑运算的三种运算符&&,||,!优先级相同答案:N第2题(2.0分)题号:9int i=20;switch(i/10){case 2:printf("A");case 1:printf("B");}的输出结果为A。

答案:N第3题(2.0分)题号:1224在C语言程序中, 同一个问题可以有多种实现算法.答案:Y第4题(2.0分)题号:28如果函数值的类型和return语句中表达式的值不一致,则以函数类型为准。

答案:Y第5题(2.0分)题号:1249语句"char s[]="example";"与"char s[7]="example";"都定义了长度是7的s 数组. 答案:N第6题(2.0分)题号:1285C语言将大写字母和小写字母认为两个不同的字符.答案:Y第7题(2.0分)题号:1239若有定义int arr[]={1,2,3,4};则说明arr数组的长度任意.答案:N第8题(2.0分)题号:1254指针也是有类型的,它的类型就是它所指向的实体的类型.答案:Y第9题(2.0分)题号:26int a[3][4]={{1},{5},{9}}; 它的作用是将数组各行第一列的元素赋初值,其余元素值为0。

答案:Y第10题(2.0分)题号:1112字符处理函数strcpy(str1,str2)的功能是把字符串1接到字符串2的后面. 答案:N二、单项选择共15题(共计30分)第1题(2.0分)题号:173C语言执行程序的开始执行点是()。

A:程序中第一条可以执行语言B:程序中第一个函数C:程序中的main函数D:包含文件中的第一个函数答案:C第2题(2.0分)题号:3144若x=2,y=3则x||y的结果是A:0B:1C:2D:3答案:B第3题(2.0分)题号:3094C语言中,逻辑"真"等价于A:大于零的数B:非零的数C:大于零的整数D:非零的整数答案:B第4题(2.0分)题号:3113设变量定义为"int a, b;",执行下列语句时,输入_____,则a和b的值都是10. scanf("a=%d, b=%d",&a, &b);A:10 10B:10, 10C:a=10 b=10D:a=10, b=10答案:D第5题(2.0分)题号:3165main(){int x=1,a=0,b=0;switch (x){ case 0: b++;case 1: a++;case 2: a++;b++;}printf("%d,%d",a,b);}该程序的输出结果是( )A:2,1B:1,1C:1,0D:2,2答案:A第6题(2.0分)题号:164关于多路分支语句switch,下面说法不正确的是( ).A:凡是能用switch语句实现的分支控制都可以用if语句实现B:switch语句中可以出现多个空的case子句C:switch语句不能嵌套D:一般情况下,当有多路分支时使用switch语句比使用if语句方便答案:C第7题(2.0分)题号:613下面有关 for 循环的正确描述是()。

c语言笔试题及答案

c语言笔试题及答案

c语言笔试题及答案C语言笔试题及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言的关键字?A. voidB. intC. floatD. all of the above答案:D2. C语言中,哪个函数用于计算两个数的和?A. add()B. sum()C. max()D. min()答案:A3. 在C语言中,以下哪个是正确的字符串定义方式?A. char str[10] = "Hello";B. string str = "Hello";C. char str[] = "Hello";D. char str = "Hello";答案:A4. 以下哪个选项不是C语言的基本数据类型?A. intB. floatC. doubleD. string答案:D5. 在C语言中,以下哪个语句是正确的循环语句?A. whileB. do-whileC. forD. all of the above答案:D二、填空题(每空2分,共20分)6. C语言中,定义一个整型变量的关键字是________。

答案:int7. 在C语言中,表示逻辑与的运算符是________。

答案:&&8. 一个C语言程序的执行从________函数开始。

答案:main9. 在C语言中,数组的索引从________开始。

答案:010. C语言中,表示逻辑非的运算符是________。

答案:!三、简答题(每题10分,共20分)11. 简述C语言中函数的定义和调用过程。

答案:在C语言中,函数定义包括返回类型、函数名、参数列表和函数体。

调用函数时,需要使用函数名和相应的参数列表。

12. 解释C语言中指针的概念及其用途。

答案:指针是C语言中一种特殊的变量,它存储了另一个变量的内存地址。

指针主要用于直接访问内存地址,实现动态内存分配,以及函数参数的传递等。

C语言程序设计考前复习资料

C语言程序设计考前复习资料

二级C语言笔试试卷(2009第一次)(共100分)注意事项:1.一、二题为客观题,请将答案涂在机读答题卡上2. 三、四、五、六题为主观题,请将答案做在答题纸上一.单项选择题。

(每小题1分,共20分)1.一个C程序的执行是从( A )。

(A)本程序的main函数开始,到main函数结束(B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束(C)本程序的main函数开始,到本程序文件的最后一个函数结束(D)本程序文件的第一个函数开始,到本程序main函数结束2.设x、y和z是int型变量,且x = 3,y = 4,z = 5,则下面表达式中值为0的是( D )。

(A) x && y; (B) x <= y;(C) x || y + z && y – z ; (D) !((x<y)&& ! z || 1);3.以下有关宏替换的叙述不正确的是( D )。

(A)宏替换不占用运行时间 (B)宏名无类型(C)宏替换只是字符串替换; (D)宏替换是在运行时进行的4.已知函数的调用形式: fread ( buffer , size , count , fp ) ; 其中buffer代表的是( C )。

(A)一个整型变量,代表要读入的数据项总数(B)一个文件指针,指向要读的文件(C)一个指针,指向要读入数据的存放地址(D)一个存储区, 存放要读的数据项5. 在位运算中,操作数每左移一位,其结果相当于 ( A )。

(A)操作数乘以2 (B)操作数除以2(C)操作数除以4 (D)操作数乘以46.数字字符0的ASCII值为48,若有以下程序#include<stdio.h>void main(){char a='1',b='2';printf("%c,",b++);printf("%d\n",b-a);}程序运行后的输出结果是( C )。

C语言历年考题真题解析

C语言历年考题真题解析

1.C语言规定,在一个源程序中main函数的位置______ 。

(2010年春选择题第21题)A.必须在最开始???????????? ??B.必须在最后C.必须在预处理命令的后面? ?? ?D.可以在其他函数之前或之后【解析】main函数也叫主函数,是C语言编译系统提供的特殊函数,可以放在程序中的任何位置,但不能定义在其他函数体内。

C程序总是从main函数的第一条语句开始执行。

【答案】D2.以下叙述中正确的是________ 。

(2009年秋选择题第21题)A.C语言系统以函数为单位编译源程序B.main函数必须放在程序开始C.用户定义的函数可以被一个或多个函数调用任意多次D.在一个函数体内可以定义另外一个函数【解析】C语言系统以程序为单位编译源程序,程序由函数组成。

main函数可以放在其他函数之前或之后。

除了main函数外,函数可以被其他函数多次调用。

函数不能定义在其他函数体内,即不能嵌套定义。

【答案】C3.以下叙述中正确的是_________ 。

(2008年秋选择题第21题)A.在编译时可以发现注释中的拼写错误B.C语言程序的每一行只能写一条语句C.main(){}必须位于程序的开始D.C语言程序可以由一个或多个函数组成【解析】C程序的注释不产生编译代码,编译时跳过去,发现不了其中错误。

C程序书写格式自由,一行内可以写几个语句,一个语句可以分写在多行上。

main函数可以放在程序中的任何位置。

C程序可以由一个或多个函数组成,函数可以为空函数,包括main函数。

【答案】D4.以下关于C语言源程序的叙述中错误的是________。

(2007年春选择题第21题)A.一个C源程序由若干个函数定义组成,其中必须有且仅有一个名为main的函数定义B.函数定义由函数头部和函数体两部分组成C.在一个函数定义的函数体中允许定义另一个函数D.在一个函数定义的函数体中允许调用另一个函数或调用函数自身【解析】一个C语言源程序由若干个函数定义组成,其中必须有且仅有一个名为main的函数定义,函数定义由函数头部和函数体两部分组成。

安徽省计算机二级08年1月和09年6月c真题及答案

安徽省计算机二级08年1月和09年6月c真题及答案

安徽省09年6月二级C语言程序设计试题—卢小龙一:选择题(每空1分,共40分)1.在计算机领域中,MIPS通常用来描述计算机的1 。

A)运算速度B)内存容量C)分辨率D)主频2.下面属于计算机输出设备的是 2 。

A)显示器B)鼠标C)键盘D)扫描仪3.微型计算机在工作中突然断电,则 3 中的信息全部丢失。

A)硬盘B)RAM C)ROM D)光盘4.若X是二进制数1011,Y是十进制数13,Z是十六进制数1D,则X、Y、Z从大到小的顺序是4 。

(X,Y,Z都是无符号数)A)Z Y X B)Y Z X C)X Y Z D)Z X Y5.在Windows中,下面关于删除文件的描述错误的是 5 。

A)U盘上的文件被删除后,不能从回收站中还原B)可以不经过回收站直接将文件删除C)可以将文件先复制到回收站,需要时再将其从回收站还原D)利用“清空回收站”选项可以把回收站中的文件全部删除6.下面关于E-mail功能的描述中,错误的是6 。

A)在发送电子邮件时,可以同时发送给多人B)在发送电子邮件时,可以发送附件C)在接收电子邮件时,可以将附件下载到本地计算机上D)在接收电子邮件时,必须将附件下载到本地计算机上7.为减少多媒体数据所占存储空间,常采用7 技术。

A)高速缓冲B)数据压缩C)多通道D)流媒体8.中的“http”指的是8 。

A)计算机主机域名B)文件传输协议C)超文本传输协议D)TCP/IP协议9.下面关于计算机病毒的描述中,正确的是9 。

A)计算机病毒不能感染安装了杀毒软件的计算机系统B)计算机病毒只能通过网络传播C)计算机病毒不能感染加密或压缩后的文件D)计算机病毒可以通过U盘进行传播10.下面系统软件中,最核心的是10 。

A)编译系统B)语言处理系统C)操作系统D)数据库管理系统11.下列定义变量错误的语句是______。

A)int _abc; B)double int_; C)char For;D)float US$;12.设有int x=3,y=4;,以下不合法的C语言语句是 ______。

2008-2009年二级C语言笔试真题及答案2

2008-2009年二级C语言笔试真题及答案2
for(i=0;i<2;i++) a.score[i]=b.score[i];
}
main()
{ STU c={“Qian”,’p’,95.0,92.0};
f(c); printf(“%s,%c,%2.0f,%2.0f\n”,,c.sex,c.score[0],c.score[1]);
}
程序的运行结果是
typedef struct { char name[9]; char sex; float score[2]; } STU;
void f( STU a)
{ STU b={“Zhao”,’m’,85.0,90.0} ; int i;
strcpy(,);
a.sex=b.sex;
b 1 n1
B C D
f 3 h2
a 0 k1
n 2 x1
有关系R和S通过运算得到关系T,则所使用的运算为
A)并B)自然连接C)笛卡尔积D)交
(10)设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为
for(k=0;k<10;k++)printf(“%d”,a[k]); printf(“\n”);
}
程序运行的结果是
A)0987654321 B)4321098765
C)5678901234 D)0987651234
(33)有以下程序
#include <stdio.h>
#include <string.h>
while(*b=*a) {b++;a++;}
}

c语言经典笔试题及答案详解

c语言经典笔试题及答案详解

c语言经典笔试题及答案详解1. 题目:以下代码的输出是什么?```c#include <stdio.h>int main() {int a = 1;int b = 2;int c = a + b;printf("%d", c);return 0;}```答案:输出是3。

2. 题目:如何使用指针交换两个变量的值?答案:可以使用以下代码:```c#include <stdio.h>void swap(int *x, int *y) {int temp = *x;*x = *y;*y = temp;}int main() {int a = 10;int b = 20;swap(&a, &b);printf("a = %d, b = %d\n", a, b); return 0;}```输出将是:a = 20, b = 10。

3. 题目:以下代码的输出是什么?```c#include <stdio.h>int main() {char *str = "Hello, World!";printf("%c", *(str + 7));return 0;}```答案:输出是W。

4. 题目:以下代码段的输出是什么?```c#include <stdio.h>int main() {int x = 10;if (x = 20)printf("x is 20\n");elseprintf("x is not 20\n");return 0;```答案:输出是x is 20。

注意这里if语句中使用了赋值运算符(=)而不是比较运算符(==),因此x被赋值为20,条件判断为真。

5. 题目:以下代码的输出是什么?```c#include <stdio.h>int main() {int a = 2;int b = 4;int c = a & b;printf("%d", c);return 0;}```答案:输出是0。

2008^2009_3月+9月_计算机二级C真题及答案

2008^2009_3月+9月_计算机二级C真题及答案

2009年3月二级C语言笔试真题及答案(1)下列叙述中正确的是A)栈是“先进先出”的线性表 B)队列是“先进先出”的线性表C)循环队列是非线性结构 D)有序性表既可以采用顺序存储结构,也可以采用链式存储结构(2)支持子程序调用的数据结构是 A)栈 B)树 C)队列 D)二叉树(3)某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是 A)10 B)8 C)6 D)4(4)下列排序方法中,最坏情况下比较次数最少的是A)冒泡排序 B)简单选择排序 C)直接插排序 D)堆排序(5)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。

下面属于应用软件的是A)编译软件 B)操作系统 C)教务管理系统 D)汇编程序(6)下面叙述中错误的是A)软件测试的目的是发现错误并改正错误 B)对被调试的程序进行“错误定位”是程序调试的必要步骤C)程序调试通常也称为Debug D)软件测试应严格执行测试计划,排除测试的随意性(7)耦合性和内聚性是对模块独立性度量的两个标准。

下列叙述中正确的是A)提高耦合性降低内聚性有利于提高模块的独立性 B)降低耦合性提高内聚性有利于提高模块的独立性C)耦合性是指一个模块内部各个元素间彼此结合的紧密程度 D)内聚性是指模块间互相连接的紧密程度(8)数据库应用系统中的核心问题是A)数据库设计 B)数据库系统设计 C)数据库维护 D)数据库管理员培训(9)有两个关系R,S如下:RA)必须是逻辑表达式 B)必须是关系表达式C)必须是逻辑表达式或关系表达式 D)可以是任意合法的表达式(18)有以下程序#include <stdio.h>main(){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)有以下程序#include<stdio.h>Main(){ 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,3 B)1,3,2 C)1,3,3 D)3,2,1(20)以下程序中的变量已正确定义for(i=0;i<4;i++,i++for(k=1;k<3;k++);printf(*”); 程序段的输出结果是A)******** B)**** C)** D)*(21)有以下程序#include<stdio.h>main(){char*s=(“ABC);do{printf(“%d”,*s%10);s++;}while(*s);} 注意,字母A的ASCII码值为65。

c语言往年试题及答案

c语言往年试题及答案

c语言往年试题及答案C语言往年试题及答案一、单项选择题(每题2分,共20分)1. C语言中,一个整型变量所占的基本存储单位是()。

A. 1个字节B. 2个字节C. 3个字节D. 4个字节答案:B2. 下列哪个关键字用于定义C语言的结构体()。

A. structB. unionC. enumD. typedef答案:A3. 在C语言中,用于计算两个浮点数之间和的函数是()。

A. pow()B. sqrt()C. fabs()D. fmod()答案:C4. 下面哪个不是C语言的标准输入输出库函数()。

A. printf()B. scanf()C. getchar()D. malloc()答案:D5. C语言中,字符串常量存储在内存的()。

A. 栈区B. 堆区C. 数据区D. 代码区答案:D6. 下列哪个运算符不能用于位运算()。

A. &B. |C. ++D. ^答案:C7. C语言中,用于动态分配内存的函数是()。

A. malloc()B. free()C. realloc()D.calloc()答案:A8. 下列哪个不是C语言的存储类别说明符()。

A. autoB. staticC. registerD. extern答案:C9. 在C语言中,sizeof运算符的作用是()。

A. 返回变量的地址B. 返回变量的值C. 返回变量的数据类型大小D. 返回变量的引用答案:C10. C语言中,用于实现字符串连接的函数是()。

A. strcat()B. strcpy()C. strncat()D. strncpy()答案:A二、填空题(每题2分,共20分)11. 在C语言中,一个浮点型变量定义为`float x;`,其默认的初始值是________。

答案:0.012. C语言中,`printf("%d", x);`语句的功能是________。

答案:输出变量x的整数值13. 当使用`scanf("%f", &x);`从键盘输入数据时,应该输入一个________。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

附录1计算机水平考试模拟试卷1(二级C)2008年六月一、选择题(40分)1、通常将个人计算机简称为_____A) PLC B) LCD C) PC D) CRT2、下列表示存储容量的数据中,最大的是______A) 1GB B) 211MB C) 220 KB D) 210B3、将十进制数41转换为二进制数,下面结果中正确的是______A) 00101001 B) 00101011 C) 00100011 D) 001001014、按照计算机应用领域分类,学校使用的成绩管理系统属于_______A) 实时控制 B) 科学计算 C) 数据处理 D) 计算机辅助设计5、删除Windows桌面上应用程序的快捷图标,意味着___________A) 该程序连同其图标一起被删除 B) 只删除了该程序,对应的图标被隐藏C) 该程序连同其图标一起被隐藏 D) 只删除了图标,对应的程序仍然存在6、以下关于多媒体技术的叙述中,错误的是______A) 多媒体技术将各种媒体以数字化的方式集成在一起B) 多媒体技术就是能用来观看DVD电影的技术C) 多媒体技术已经成为声、文、图等媒体信息在计算机系统中的综合应用的代名词D) 多媒体技术和计算机技术的融合开辟出一个多学科交叉、跨行业的崭新领域7、下列的网络IP地址中,正确的是_____________A) 249.220.258.202 B)204.250.9 C)202.155.98.C D)202.245.101.2018、“熊猫烧香”是一种__________A) 办公软件 B) 杀毒软件 C) 计算机病毒 D) 下载工具9、下列有关计算机病毒和黑客的说法中,不正确的是___________A) 所有计算机病毒都可以通过杀毒软件彻底清除B)计算机黑客是指利用网络入侵别人计算机的人C) 防范计算机病毒的一种常用办法是在计算机上安装正版的防病毒软件D) 防范计算机黑客的一种常用办法是在计算机上安装网络防火墙10、____是程序、数据以及相关文档的集合A) 软件 B) 程序 C) 指令 D)算法11、下列关于C语言程序说法正确的是__________A) C程序书写时,不区分大小写字母 B) C程序书写时,一行只能写一条语句C) C程序书写时,一条语句可分成几行书写 D)C程序书写时,每行必须有行号12、C语言中的源程序文件和目标文件的扩展名分别是__________A) c和obj B) c和exe C) com和 exe D)obj和c13、以下四项中属于ANSI C 语言关键字的是________A) CHAR B) define C) max D) return14、在C语言中,double、long、unsigned int、char类型数据所占字节数分别是________A) 8,2,4,1 B) 2,8,4,1 C) 4,2,8,1 D) 8,4,2,115、设 int a=0,b=1,c=2;,则表达式a?a+b:a+c的值是____________A) 0 B) 1 C) 2 D) 316、下列______是字符型常量A) ‘\n’ B) “A” C) “\” D) ‘65’17、已知int x,y;,执行语句x=(y=10-5,y*2),y-5;后,变量x和y 的值分别是_________________A) x=0,y=5 B) x=10,y=5 C) x=5,y=0 D) x=5,y=518、已知int x;,当x为大于1的奇数时,下列值为0的表达式是__________A) x%2= =1 B)x/2 C) x%2!=0 D) x%2= =019、下面程序段执行结果是__________int i=5,k;k=(++i)+(++i)+(i++);printf(“%d,%d”,k,i);A) 24,8 B) 21,8 C) 21,7 D) 24,720、下列正确的赋值语句是___________。

A) 10=a; B) b=45.6 C) c=15*5; D) a+47=c;21、已知 int x=1, y=2,z=3; , 则逻辑表达式x<y||++z 运算后,z的值是_______A) 1 B) 2 C) 3 D) 422、若变量c为char类型,能正确判断出c 为大写字母的表达式是_______A) ‘A’<=c<=’Z’ B) c>=’A’||c<=’Z’C) ‘A’<=c and ‘Z’>=c D) c>=’A’&&c<=’Z’23、已知int x, y; float z; , 以下正确的输入语句是__________A) scanf(“%d%d%f”,x,y,z); B) scanf(“%d%d%f”,&x,&y,&z);C) scanf(“%d%6d%6.2f”,&x,&y,&z); D) scanf(“%d%d%f”;&x;&y;&z);24、执行下面程序:main(){ int x=-1;printf(“%d,%x,%u”,x,x,x);}A) -1,-1,-1 B) -1,-ffff,-32768 C) -1,ffff,-32768 D) -1,ffff,6553525、c语言对于嵌套if语句规定else总是____________匹配。

A)与最外层的if B)与之前最近的ifC)与之前最近的不带else的if D)与最近的{}之前的if26、下面程序运行结果为__________main(){char c=’a’;if(‘a’<c<=’z’) printf(“LOW”);else printf(“UP”);}A) LOW B) UP C) LOWUP D) 语句错误,编译不能通过27、以下叙述正确的是_____________A) do-while语句构成的循环,在while后的表达式为非零时结束循环B) do-while语句构成的循环,在while后的表达式为零时结束循环C) do-while语句构成的循环只能用break语句退出D) do-while语句构成的循环不能用其他语句构成的循环来代替28、要使下面程序输出10个整数,则在下划线处填入正确的数是_____________for(i=0;i<=___________;i+=2)printf(“%d”,i);A) 9 B) 10 C) 18 D) 2029、下列描述中不正确的是___________________A) 字符型数组中可以存放字符串 B)可以对字符型数组进行整体输入、输出C) 可以对实型数组进行整体输入,输出D)不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值30、下面不能正确进行初始化操作的语句是____________A) char s[5]={‘C’,’H’,’I’,’N’,’A’}; B) char s[5] ={“CHINA”};C) char s[]=”CHINA”;D) char s[5]; s[0]=’C’; s[1]=’H’; s[2]=’I’; s[3]=’N’; s[4]=’A’;31、下面程序段的输出结果是______。

char s[]=”\\\101abc\0”;printf(“%s\n”,s);A) \Aabc\0 B)\101abc\0 C) \101abc D) \Aabc32、有如下程序:main(){int a[6],i,s=0;for(i=1;i<6;i++) {a[i]=i+1; s+=a[i];}printf(“%d\n”,s);}该程序的输出结果是_____________。

A) 18 B) 19 C) 20 D) 2133、当调用函数时,实参是一个数组名,则向函数传送的是_________A) 数组的长度 B) 数组的首地址 C) 数组每一个元素的地址 D)数组每个元素中的值34、C语言中,如果在定义函数时没有指定函数类型,系统会隐含指定为_______A) char B) int C) Register D) static35、一个源文件中定义的全局变量的作用域是___________A) 本函数的全部范围B) 本程序的全部范围 C) 本文件的全部范围 D) 从定义开始至文件结束36、对于类型相同的两个指针变量之间,不能进行的运算是_____________A) < B) = C) + D) -37、已知 int s[]={1,3,5,7,9} , *p=&s[0]; ,则值为5的表达式是_______________。

A) *p+2 B) *p+3 C) *(p+2) D) *(p+3)38、若有如下语句:int c[4][5], (*p)[5];p=c;则能正确引用c数组元素的是_____________A) p+1 B) *(*p+2) C) *(p+3) D) *(p+1) +339、有如下定义:struct person{char name[9] ; int age;};struct person class[10]={“john”,17,”Paul”,19,”Mary”,18,”Adam”,16};根据上述定义,能输出字母M的语句是________________A) printf(“%c\n”,class[3].name); B) printf(“%c\n”,class[3].name[1]);C) printf(“%c\n”,class[2].name[1]);D)printf(“%c\n”,class[2].name[0]);40、设int b=8 ; ,表达式(b>>2)/(b>>1)的值是______________A) 0 B) 2 C) 4 D) 8二、填空题(每空2分,共20分)1.在Turbo C 2.0编辑环境中,激活主菜单的热键是_________。

2.已知 int a=7;float x=3.5,y=4.8;则表达式x+a%2*(int)(x+y)的值是______。

3.设有 int x,y; scanf(“%d%*d%d”,&x,&y);,从键盘输入数据10 20 30 <回车>后,y的值是______。

4.已知char s1[10]=”ABCD”,s2[5]=”xy”;则strlen(strcpy(s1,s2))的值是_______。

5.有函数调用语句fun(a,b+c,(d,e));,则该函数调用语句中含有的实参的个数是____。

相关文档
最新文档