2006级《面向过程程序设计(C语言)》试卷A解答
C语言程序设计试题及答案解析
C语言程序设计试题第1、2、3章 概述、类型、表达式一、选择题1、 一个C程序由若干个C函数组成,各个函数在文件中的位置顺序为:( )A、 任意B、 第一个函数必须是主函数,其他函数任意C、 必须完全按照执行的顺序排列D、 其他函数可以任意,主函数必须在最后2、 下列四个叙述中,正确的是:( )A、 C程序中的所有字母都必须小写B、 C程序中的关键字必须小写,其他标示符不区分大小写C、 C程序中的所有字母都不区分大小写D、 C语言中的所有关键字必须小写3、 下列四个叙述中,错误的是:( )A、 一个C源程序必须有且只能有一个主函数B、 一个C源程序可以有多个函数C、 在C源程序中注释说明必须位于语句之后D、 C源程序的基本结构是函数4、 下面不是C语言合法标识符的是:( )A、abcB、5nC、_4mD、x35、 以下叙述不正确的是:( )A. 分号是C语句的必要组成部分B. C程序的注释可以写在语句的后面C. 函数是C程序的基本单位D. 主函数的名字不一定非用main来表示6、 C语言中允许的基本数据类型包括:( )A. 整型、实型、逻辑型B. 整型、实型、字符型C. 整型、字符型、逻辑型D. 整型、实型、逻辑型、字符型7、 C语言中能用八进制表示的数据类型为:( )A、字符型、整型B、整形、实型C、字符型、实型、双精度型D、字符型、整型、实型、双精度型8、 下列属于C语言合法的字符常数是:( )A、’\97’B、”A”C、’\t’D、”\0”9、 在C语言(VC环境)中,5种基本数据类型的存储空间长度的排列顺序为:( )A、char<int<=long int <=float<doubleB、char=int<long int <=float<doubleC、char<int<long int=float=doubleD、char=int=<long int <=float<double10、 在C语言中(VC环境),一定是长整型常数的是:( )A、0LB、4962710C、0412765D、0xa34b7fe11、 若有以下定义语句char c1=’b’, c2=’e’;printf(“%d,%c\n”,c2-c1,c2-‘a’+’A’);则输出结果是:( )A、2,MB、3,EC、2,ED、输出项与相应的格式控制不一致,输出结果不确定12、 以下合法的赋值语句是:( )A、x=y=100B、d--;C、x + yD、c = int(a+b);13、 设变量t为int型,下列选项中不正确的赋值语句是:( )A、++t;B、n1=(n2=(n3=0));C、k=i==m;D、a=b+c=1;14、 在以下一组运算符中,优先级最高的是:( )A、<=B、==C、%D、&&15、 下列能正确表示a≥10或a≤0的关系表达式是:( )A、a>=10 or a<=0B、a<=10 || a>=0C、a>=10 || a<=0D、a>=10 && a<=016、 下列只有当整数x为奇数时,其值为“真”的表达式是:( )A、x%2==0B、!(x%2==0)C、(x-x/2*2)==0D、! (x%2)17、 设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是:( )A、1 0< a < 15B、!(a<=10 || a>=15)C、a>10 && a<15D、!(a<=10) && !(a>=15)18、 已知x=43, ch=’A’,y=0;则表达式(x>=y&&ch<’B’&&!y)的值是:( )A、0B、语法错C、1D、“假”19、 表达式17%4 /8的值为:( )A、0B、1C、2D、320、 语句printf(“%d”,(a=2)&&(b= -2));的输出结果是:( )A、无输出B、结果不确定C、-1D、121、 一个可执行的C程序的开始执行点是:( )A. 程序中的第一个语句B. 包含文件中的第一个函数C. 名为main的函数D. 程序中的第一个函数22、 组成C语句的一个必不可少的符号是:( )A. 逗号B. 引号C. 冒号D. 分号23、 若将int、long、float等类型的数据进行混合运算,其结果的数据类型是:( )A. intB. longC. floatD. double24、 下述是C语言中有关变量定义的几个说法,正确的是:( )A. 变量可以不定义直接使用B. 一个说明语句只能定义一个变量C. 几个不同类型的变量可在同一语句中定义D. 变量可以在定义时进行初绐化25、 与x * = y + z等价的赋值表达式是:( )A. x = y + zB. x = x * y + zC. x = x * (y + z)D. x = x + y * z26、 当代电子计算机能够自动地处理指定的问题是因为:( )A.计算机是电动的B.有解决该问题的计算机程序C.事先存储了解决该问题的程序D.以上都不是27、 以下叙述中最准确的是:( )A.计算机程序是处理某一问题所有指令的集合B.计算机程序是处理某一问题所用到的所有数据的集合C.计算机程序是处理某一问题的所有指令及其数据的集合D.计算机程序是处理某一问题的所有指令及其数据的有序集合28、 关于计算机程序设计,以下描述最准确的是:( )A.程序设计就是用语言来编写程序B.程序设计就是用计算机语言来编写程序C.程序设计就是用计算机程序设计语言来编写程序D.程序设计就是用计算机能识别的语言来编写程序29、 目前编写计算机程序一般采用的是:( )A.机器语言 B.汇编语言 C.高级语言 D.英语30、 设计一个计算机程序最基本的工作是:( )A.制定正确的算法 B.选择合理的数据结构C.制定正确的算法和选择合理的数据结构 D.以上都不是31、 算法具有五个特性,以下选项中不属于算法特性的是:( )A.有穷性 B.简洁性 C.可行性 D.确定性32、 下述哪一个不是结构化程序基本结构:( )A.顺序 B.选择 C.循环 D.嵌套33、 C语言是一种:( )A.机器语言 B.汇编语言 C.高级语言 D.以上都不是34、 C语言源程序的扩展名为:( )A..exe B..c C..obj D..cpp35、 C程序编译后最终产生(即计算机执行)的文件的扩展名为()A..exe B..c C..obj D..cpp36、 下列各项中,不是C语言的特点是:( )A.语言简洁、紧凑,使用方便B.程序执行效率高,可移植性好C.能实现汇编语言的大多数功能D.有较强的网络操作功能37、 构成C语言源程序的基本单位是:( ) A.子程序 B.过程 C.文本 D.函数38、 下列叙述正确的是:( )A.C语言源程序可以直接在DOS环境中运行B.编译C语言源程序得到的目标文件可以直接在DOS环境中运行C.C语言源程序经过编译、连接得到的可执行程序可以直接在DOS环境中运行D.C语言源程序可以直接在VC++环境中运行39、 某C程序由一个主函数main()和一个自定义函数max()组成,则该程序:( )A.写在前面的函数先开始执行B.总是从main()函数开始执行C.总是从max()函数开始执行D.写在后面的函数先开始执行40、 以下叙述不正确的是:( )A.分号是C语句的必要组成部分B.C程序的注释可以写在语句的后面C.函数是C程序的基本单位D.主函数的名字不一定用mian表示41、 以下为C语句的是:( )A.a=8 B.a++; C.if(a>8) D.#include <stdio.h>以下不是C语句的是:( )A.a=8; B.a++; C.if(a>8); D.for(i=1;i<5;i++)42、 以下所列语句中,合法的语句是:( )A.a=1,b=2 B.++a; C.a=a+1=5 D.y=int(a);43、 C程序中的复合语句指的是:( )A.并列的多个C语句 B.写在同一行中的多个C 语句C.用一对大括号对括的多个C语句 D.就是函数体中的语句44、 当一个很长的C语句(中间无字符串)在一行写不下(超出屏幕的宽度)时,应该:( )A.由系统自动换行 B.立即按回车键换行C.在任意一个空格处按回车键换行D.输入一个分号后并按回车键换行换行45、 在x值处于-2~2,4~8时值为“真”,否则为“假”的表达式是:( )。
C++程序设计面向过程习题
《Visual C++ 程序设计基础》练习题第一部分面向过程程序设计南通大学计算机科学与技术学院2006年3月第一章VC++语言的基础知识和简单的语句1.C++语言程序由〖C〗组成。
A)子程序B)过程C)函数D)主程序和子程序2.以下各标识符中,合法的用户标识符组为〖D〗。
A)PAd,P#d,b-b,abc,_0123,ssipedB)cin,a10,CPP,float,del_word,signedC)void,max,hiy,<fr>,list,*jerD)a,temp,_isw,INT,keep,wind3.在VC++中,char类型数据占〖A〗个字节,int类型数据占〖C〗个字节,short类型数据占〖B〗个字节,long类型数据占〖C〗个字节,float类型数据占〖C〗个字节,double类型数据占〖D〗个字节。
A)1 B)2 C)4 D)84.以下语句〖B〗。
int a=-2L; cout << a << endl;A)赋值不合法B)输出值为-2 C)输出为不确定值D)输出值为25.在VC++中,以下语句的输出为〖D〗。
short int k=-1;cout << k << ',' << (unsigned short)k <<endl;A)-1,-1 B)-1,32767 C)-1,32768 D)-1,655356.若有以下说明语句,则该语句〖B〗。
char s='\092';A)使s的值包含1个字符B)说明不合法,s的值不确定C)使s的值包含4个字符D)使s的值包含3个字符7.若a,b均为int型变量,为了将10赋给a,将20赋给b,则对应以下cin语句的正确输入方式为〖B〗。
(<CR>代表回车换行,_代表空格)。
cin >> a >> b;A)1020<CR> B)10_20<CR> C)10,20<CR> D)20_10<CR>8.以下语句的输出为〖D〗。
2006级软件工程C语言(A卷)答案
西华大学课程考试(考查)参考答案(A卷)课程代码:8422111 试卷总分: 100 分一、单项选择题(每小题2分,共计20分)1. B2. C3. A4. D5. C6. D7. B8. D9. D 10. C二、阅读程序题(每小题4分,共20分)1.*************************2. 7 8 93. x=35 y=-4 s=-294.x=8,y=45.16三、程序改错题(本题共10分)下面程序的功能是对a数组中的元素按从大到小的顺序排序。
其中有5处错误(包括语法错误和逻辑错误),请找出其中的错误,并改正之。
(每找对1个错误,得1分,每修改正确1个错误,再得1分。
)#include <stdio.h>#define N 10; 错!应为: #define N 10main(){int a[N]={2,17,8,3,24,53,82,1,29,101};int i,j,k,t;for(i=0;i<9;i++){ k=i;for(j=i+1;j<10;j++)if(a[j]<a[k]) k=j; 错!应为:if(a[j]>a[k])if(k=i) 错!应为:if(k!=i){t=a[j]; 错!应为:t=a[k];a[j]=a[i]; 错!应为:a[k]=a[i];a[i]=t;}}}四、程序填空题(每空3分,共计18分)1. (1) m = m + a (2) m == i 2.(1)*m (2)*m = *n(3)temp (4)&x ,&y五、程序设计(第1小题12分,第2小题20分,本题总计32分)1、参考程序:#include<stdio.h>void main(){char str[81];int i ;int letter,space ,num ,other ;char c;printf ("Please enter a string : ");gets(str);letter=space=num=other=0;for( i= 0;str[i]!='\0'; i++){c=str[i];if((c>= 'A'&&c<='Z')|| (c>='a'&& c<='z'))letter ++;else if (c>='0' && c<='9')num++;else if ( c== ' ')space++;else other ++;}printf("letter=%d,space=%d ,num=%d,other=%d",letter ,space,num,other); }阅卷标准:1. 相关变量的声明及初始化正确得2分;2. 字符串输入正确得2分3. 统计算法正确得6分;4. 结果输出正确得1分;5.程序结构正确得1分。
2006年9月国家二级(C语言)笔试真题试卷(题后含答案及解析)
2006年9月国家二级(C语言)笔试真题试卷(题后含答案及解析) 题型有:1. 选择题 2. 填空题选择题(1-10、21-40每题2分,11-20每题1分,共70分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。
1.下列选项中不符合良好程序设计风格的是______。
A.源程序要文档化B.数据说明的次序要规范化C.避免滥用goto语句D.模块设计要保证高耦合、高内聚正确答案:D解析:良好的程序设计风格可以使程序结构清晰合理,使程序代码便于维护,因此,程序设计风格对保证程序的质量很重要。
主要应注意和考虑下述—些因素:1、源程序要文挡化;2、数据说明的次序要规范化;3、语句的结构应该简单直接,不应该为提高效率而把语句复杂化,避免滥用goto语句。
模块设计要保证低耦合、高内聚。
2.从工程管理角度,软件设计—般分为两步完成,它们是______。
A.概要设计与详细设计B.过程控制C.软件结构设计与数据设计D.程序设计与数据设计正确答案:A解析:从工程管理角度看,软件设计分为两步完成:概要设计与详细设计。
概要设计(义称结构设计)将软件需求转化为软件体系结构、确定系统级接口、全局数据结构或数据库模式;详细设计确立每个模块的实现算法和局部数据结构,用适当方法表示算法和数据结构的细节。
3.下列选项中不属于软件生命周期开发阶段任务的是______。
A.软件测试B.概要设计C.软件维护D.详细设计正确答案:C解析:软件生命周期分为软件定义、软件开发及软件维护。
其中软件开发阶段的任务中软件设计阶段可分解成概要设计阶段和详细设计骱段;软件维护不属于软件开发阶段。
4.在数据库系统中,用户所见数据模式为______。
A.概念模式B.外模式C.内横式D.物理模式正确答案:B解析:数据库管理系统的三级模式结构由外模式、模式和内模式组成。
夕模式,或子模式,或用户模式,是指数据库用户所看到的数据结构,是用户看到的数据视图。
2006年秋季《C语言程序设计》期末考试题A卷答案答案--修改后
A卷2005—2006学年第二学期《程序设计语言(C)》试卷参考答案和评分标准专业班级姓名学号开课系室软件工程系考试日期 2006年7月3日题号一二三总分得分阅卷人程序设计语言(C)试卷(A卷)答题卡说明:1.选择题和判断题必须填在答题卡上才有效,综述题写在指定位置。
2.本试卷连同封面共13页,不得拆开.一、单项选择题(正确的答案涂黑或画圈,每题1分,共20分)二、读程序填空题(在空格处填写正确答案,每空2分,共20分)一、单项选择题(每题1分, 20分)1. 现有程序完成a、b两个值的交换,空白处正确的答案应该是 _______。
main(){int a,b,t;t=b ;b=a ;________ ;}A. a=bB. a=t C。
b=t D. t=a2.如果程序中用到标准库函数log(),那么该程序应含下面哪条语句_________。
A. #include ”stdio。
h”B. #include ”math。
h “C. #include ”string。
h” D。
#include ”stdlib。
h”3. int x=6;则下方程序段运行结果是_________.switch(x){ case 1: printf(“apple“);break;case 2: printf(“hello“);break;case 3: printf(“world “);default: printf(“thank you“);}A。
apple B. hello C. thank you D. world thank you4. 在C语言中,不合法的int型常量是_________。
A. 32767 B。
0578 C. 0XAAC D. 32768L5。
设x,y,z和k都是int型变量,则执行表达式:x=(y=2,z=15,k=30)后,x的值为________。
A。
52 B。
30 C。
15 D。
华中科技大学计算机学院06年C语言程序设计试卷-参考答案及评卷标准.doc
华中科技大学计算机学院2016年C语言程序设计试卷-参考答案及评卷标准4计算机学院2015-2016学年第2学期C语言程序设计考试试卷A卷(或B卷):A卷闭卷(或开卷):闭卷考试时间:2016年6 月日一、单项选择题(在下面每小题的A、B、C、D四个选项中,只有一个选项是正确的,请选择正确的选项并填写到括号内,选择正确得分。
本大题共10小题,每小题1分,共10分。
)1、D2、A3、C4、D5、B6、B7、B8、A9、C 10、B二、多项选择题(下面每小题的A、B、C、D备选项中,有两个或两个以上的选项是正确的,请选择正确的选项并填写到括号内。
本大题共5小题,每小题2分,共10分。
)1、BD2、AC3、ACD4、BD5、BCD三、填空题(本大题共10小题,每小题1分,共10分。
)1、2002、w3、l (字母L)4、e5、i6、double 15.07、double 6.08、double 9.09、double 4.010、double * 516四、判断改错题(先判断下面各题中是否存在错误;如果存在错误,请改正之;否则不必改。
本大题共5小题,每小题2分,共10分。
)1、正确2、void change(char *ch) {*ch = 'N’;}3、if('a' 4、#define SQ(x) ((x)*(x))5、for(i=1;i五、简答题(本大题共5小题,共20分)1、c = a++ - ++b;评分标准:正确4分,部分正确2、~(0xffffffff评分标准:正确4分,部分正确3、main();Displayhello();printf(“hello ”);Displayworld();printf(“world\n”);Displayworld();printf(“world\n”);评分标准:正确4分,一行1分4、(x/10%10 〉x%10 && x/10%10 > x/100)?1 :0或者(x/10%10 〉x%10 && x/10%10 > x/100)评分标准:正确4分,部分正确5、p是一个长度为10的数组,每个元素为一个指针,指向一个函数,函数参数为void,返回值是int *类型六、阅读程序并写出其运行结果(本大题共5小题,每小题4分,共20分。
2006级C--面向对象程序设计试题A-计算机学院2007年冬天
2007-2008学年第1学期2006级《C++面向对象程序设计》期末考试试题(A卷)考试时间:2008年1月15日班级学号姓名✧本试卷满分100分;✧请将答案写在答题纸上,写明题号,不必抄题,字迹工整、清晰;✧请在答题纸和试题纸上都写上你的班级,学号和姓名,交卷时请将试题纸、答题纸和草纸一并交上来。
一、单选题(共20分,每题2分)1.已知函数int f( );是类A的公有静态成员,a是用const A a; 的形式创建的一个对象,那么下列语句错误的是:(A)int num=A::f( );(B)int num=a.f( );(C) int num= a.f( ) const;(D)const int num= a.f( );2.在实现函数const A & f(A & obj)时,下面的哪一个表达式不能作为函数的返回值?(A) 全局静态变量(B) 局部静态变量(C) 函数参数obj对象(D) 局部自动变量(auto变量)3.下面关于new 和delete操作符的说法,哪个是不正确的:(A) 使用new操作符,可以动态分配全局堆中的内存资源。
(B) 用new[]申请的数组,应该用delete[] 释放。
(C) 执行语句A * p = new A成功后,调用了delete p;,则p的值为0。
(D) 执行语句A * p = new A[10];时,会调用10次构造函数。
4.下列哪种成员函数可以由const修饰?(A)无参构造函数(B) 拷贝构造函数(C) 自定义的转换函数(D) 虚的析构函数5.类D以public方式继承了类B,如下的哪个声明不能作为类D的成员?(A) B* pB; (B) B aB; (C) D aD; (D) D* pD;6.若一个头文件(.h文件)被多个源代码文件(.cpp文件)利用预处理指令#include引入,则下面哪种语法成分不应该放到这个头文件中?(A) 类的定义(B) 类的非内联形式的成员函数的函数体(C) 类的内联形式的成员函数的函数体(D) 类模板的函数体7.可以在类A的成员函数void f( ) const的函数体中使用的this指针类型是:(A) A* (B) const A* (C) const A * const (D) A * const8.判断类A的两个对象a1与a2是否是同一个对象的方法是:(A)利用调试器,查看a1与a2各成员数据的值是否相等(B)重载 == 运算符,用它来判断各成员数据的值是否相等。
C语言程序设计试题及答案解析[1]
C语言程序设计试题第1、2、3章概述、类型、表达式一、选择题1、一个C程序由若干个C函数组成,各个函数在文件中的位置顺序为:()A、任意B、第一个函数必须是主函数,其他函数任意C、必须完全按照执行的顺序排列D、其他函数可以任意,主函数必须在最后2、下列四个叙述中,正确的是:()A、C程序中的所有字母都必须小写B、C程序中的关键字必须小写,其他标示符不区分大小写C、C程序中的所有字母都不区分大小写D、C语言中的所有关键字必须小写3、下列四个叙述中,错误的是:()A、一个C源程序必须有且只能有一个主函数B、一个C源程序可以有多个函数C、在C源程序中注释说明必须位于语句之后D、C源程序的基本结构是函数4、下面不是C语言合法标识符的是:()A、abcB、5nC、_4mD、x35、以下叙述不正确的是:()A. 分号是C语句的必要组成部分B. C程序的注释可以写在语句的后面C. 函数是C程序的基本单位D. 主函数的名字不一定非用main来表示6、C语言中允许的基本数据类型包括:()A. 整型、实型、逻辑型B. 整型、实型、字符型C. 整型、字符型、逻辑型D. 整型、实型、逻辑型、字符型7、C语言中能用八进制表示的数据类型为:()A、字符型、整型B、整形、实型C、字符型、实型、双精度型D、字符型、整型、实型、双精度型8、下列属于C语言合法的字符常数是:()A、’\97’B、”A”C、’\t’D、”\0”9、在C语言(VC环境)中,5种基本数据类型的存储空间长度的排列顺序为:()A、char<int<=long int <=float<doubleB、char=int<long int <=float<doubleC、char<int<long int=float=doubleD、char=int=<long int <=float<double10、在C语言中(VC环境),一定是长整型常数的是:()A、0LB、4962710C、0412765D、0xa34b7fe11、若有以下定义语句char c1=’b’, c2=’e’;printf(“%d,%c\n”,c2-c1,c2-‘a’+’A’);则输出结果是:()A、2,MB、3,EC、2,ED、输出项与相应的格式控制不一致,输出结果不确定12、以下合法的赋值语句是:()A、x=y=100B、d--;C、x + yD、c = int(a+b);13、设变量t为int型,下列选项中不正确的赋值语句是:()A、++t;B、n1=(n2=(n3=0));C、k=i==m;D、a=b+c=1;14、在以下一组运算符中,优先级最高的是:()A、<=B、==C、%D、&&15、下列能正确表示a≥10或a≤0的关系表达式是:()A、a>=10 or a<=0B、a<=10 || a>=0C、a>=10 || a<=0D、a>=10 && a<=016、下列只有当整数x为奇数时,其值为“真”的表达式是:()A、x%2==0B、!(x%2==0)C、(x-x/2*2)==0D、!(x%2)17、设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是:()A、1 0< a < 15B、!(a<=10 || a>=15)C、a>10 && a<15D、!(a<=10) && !(a>=15)18、已知x=43, ch=’A’,y=0;则表达式(x>=y&&ch<’B’&&!y)的值是:()A、0B、语法错C、1D、“假”19、表达式17%4 /8的值为:()A、0B、1C、2D、320、语句printf(“%d”,(a=2)&&(b= -2));的输出结果是:()A、无输出B、结果不确定C、-1D、121、一个可执行的C程序的开始执行点是:()A. 程序中的第一个语句B. 包含文件中的第一个函数C. 名为main的函数D. 程序中的第一个函数22、组成C语句的一个必不可少的符号是:()A. 逗号B. 引号C. 冒号D. 分号23、若将int、long、float等类型的数据进行混合运算,其结果的数据类型是:()A. intB. longC. floatD. double24、下述是C语言中有关变量定义的几个说法,正确的是:()A. 变量可以不定义直接使用B. 一个说明语句只能定义一个变量C. 几个不同类型的变量可在同一语句中定义D. 变量可以在定义时进行初绐化25、与x * = y + z等价的赋值表达式是:()A. x = y + zB. x = x * y + zC. x = x * (y + z)D. x = x + y * z26、当代电子计算机能够自动地处理指定的问题是因为:()A.计算机是电动的B.有解决该问题的计算机程序C.事先存储了解决该问题的程序D.以上都不是27、以下叙述中最准确的是:()A.计算机程序是处理某一问题所有指令的集合B.计算机程序是处理某一问题所用到的所有数据的集合C.计算机程序是处理某一问题的所有指令及其数据的集合D.计算机程序是处理某一问题的所有指令及其数据的有序集合28、关于计算机程序设计,以下描述最准确的是:()A.程序设计就是用语言来编写程序B.程序设计就是用计算机语言来编写程序C.程序设计就是用计算机程序设计语言来编写程序D.程序设计就是用计算机能识别的语言来编写程序29、目前编写计算机程序一般采用的是:()A.机器语言B.汇编语言C.高级语言D.英语30、设计一个计算机程序最基本的工作是:()A.制定正确的算法B.选择合理的数据结构C.制定正确的算法和选择合理的数据结构D.以上都不是31、算法具有五个特性,以下选项中不属于算法特性的是:()A.有穷性B.简洁性C.可行性D.确定性32、下述哪一个不是结构化程序基本结构:()A.顺序B.选择C.循环D.嵌套33、C语言是一种:()A.机器语言B.汇编语言C.高级语言D.以上都不是34、C语言源程序的扩展名为:()A..exe B..c C..obj D..cpp35、C程序编译后最终产生(即计算机执行)的文件的扩展名为( )A..exe B..c C..obj D..cpp36、下列各项中,不是C语言的特点是:()A.语言简洁、紧凑,使用方便B.程序执行效率高,可移植性好C.能实现汇编语言的大多数功能D.有较强的网络操作功能37、构成C语言源程序的基本单位是:()A.子程序B.过程C.文本D.函数38、下列叙述正确的是:()A.C语言源程序可以直接在DOS环境中运行B.编译C语言源程序得到的目标文件可以直接在DOS环境中运行C.C语言源程序经过编译、连接得到的可执行程序可以直接在DOS环境中运行D.C语言源程序可以直接在VC++环境中运行39、某C程序由一个主函数main()和一个自定义函数max()组成,则该程序:()A.写在前面的函数先开始执行B.总是从main()函数开始执行C.总是从max()函数开始执行D.写在后面的函数先开始执行40、以下叙述不正确的是:()A.分号是C语句的必要组成部分B.C程序的注释可以写在语句的后面C.函数是C程序的基本单位D.主函数的名字不一定用mian表示41、以下为C语句的是:()A.a=8 B.a++;C.if(a>8) D. #include <stdio.h> 以下不是C语句的是:()A.a=8; B.a++;C.if(a>8);D.for(i=1;i<5;i++) 42、以下所列语句中,合法的语句是:( )A.a=1,b=2 B.++a; C.a=a+1=5 D.y=int(a);43、C程序中的复合语句指的是:()A.并列的多个C语句B.写在同一行中的多个C语句C.用一对大括号对括的多个C语句 D.就是函数体中的语句44、当一个很长的C语句(中间无字符串)在一行写不下(超出屏幕的宽度)时,应该:( )A.由系统自动换行B.立即按回车键换行C.在任意一个空格处按回车键换行D.输入一个分号后并按回车键换行换行45、在x值处于-2~2,4~8时值为“真”,否则为“假”的表达式是:( )。
通信06 面向对象程序设计 考试参考答案(A卷)
public:
int GetNum() { return Num;};
int GetAge() { return Age;};
Student(int Num0=1001, string Name0="张三", int Age0=20,char Sex0='1')
{
Num = Num0;
五、理解问答题(8分)
1.(3分,评分标准:前一份为1分,后一份为2分)
称为:虚函数。
作用:可以通过基类指针或引用来访问基类和派生类中的同名函数。
2.写出程序运行的结果。(3分,评分标准:正确给3分,格式不对扣1分)
25
10
3.(2分,评分标准:前一份为1分,后一份结果为1分)
程序能运行,其运行结果为:
}
int main()
{
Student s1,s2(1002,"李四",21,'1');
if (s1.GetAge()>s2.GetAge())
{
s1.display();
s2.display();
}
else
{
s2.display();
s1.display();
}
return 0;
}
2.答:三种继承的差异为:
(a)公用继承:基类的公用成员和保护成员在派生类中保持原有访问属性,其私有成员仍为基类私有。(2分)
(b)私有继承:基类的公用成员和保护成员在派生类中成了私有成员。其私有成员仍为基类私有。(3分)
(c)受保护的继承:基类的公用成员和保护成员在派生类中成了保护成员,其私有成员仍为基类私有。(3分)
2006年9月全国计算机等级考试二级C笔试试卷(含参考答案)
2006年9月全国计算机等级考试二级C笔试试卷(含参考答案)2006年9月全国计算机等级考试二级笔试试卷C语言程序设计(考试时间120分钟,满分100分)一、选择题。
(1~10每题2分,11~50每题1分,共60分)1、下列选项中不符合良好程序设计风格的是A、源程序要文档化B、数据说明的次序要规范化C、避免滥用goto语句D、模块设计要保证高耦合、高内聚2、从工程管理角度,软件设计一般分为两步完成,它们是A、概要设计与详细设计B、数据设计与接口设计C、软件结构设计与数据设计D、过程设计与数据设计3、下列选项中不属于软件生命周期开发阶段任务的是A、软件测试B、概要设计C、软件维护D、详细设计4、在数据库系统中,用户所见的数据模式为A、概念模式B、外模式C、内模式D、物理模式5、数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和A、编码设计B、测试阶段C、运行阶段D、物理设计6、设有如下三个关系表下列操作中正确的是A、T=R∩SB、T=R∪SC、T=R×SD、T=R/S7、下列叙述中正确的是A、一个算法的空间复杂度大,则其时间复杂度也必定大B、一个算法的空间复杂度大,则其时间复杂度必定小C、一人算法的时间复杂度大,则其空间复杂度必定小D、上述三种说法都不对8、在长度为64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为A、63B、64C、6D、79、数据库技术的根本目标是要解决数据的A、存储问题B、共享问题C、安全问题D、保护问题10、对下列二叉树进行中序遍历的结果是:A、ACBDFEGB、ACBDFGEC、ABDCGEFD、FCADBEG11、下列叙述中错误的是A、一个C语言程序只能实现一种算法B、C程序可以由多个程序文件组成C、C程序可以由一个或多个函数组成D、一个C函数可以单独作为一个C程序文件存在12、下列叙述中正确的是A、每个C程序文件中都必须要有一个main()函数B、在C程序中main()函数的位置是固定的C、C程序中所有函数之间都可以相互调用,与函数所在位置无关D、在C程序的函数中不能定义另一个函数13、下列定义变量的语句错误的是A、int _int;B、double int_;C、char For;D、float US$14、若变量x、y已正确定义并赋值,以下符合C语言语法的表达式是A、++x,y=x--B、x+1=yC、x=x+10=x+yD、double(x)/1015、以下关于逻辑运算符两侧运算对象的叙述中正确的是A、只能是整数0或1B、只能是整数0或非0整数C、可以是结构体类型的数据D、可以是任意合法的表达式16、若有定义int x,y;并已正确给变量赋值,则以下选项中与表达式(x-y)?(x++):(y++)中的条件表达式(x-y)等价的是A、(x-y>0)B、(x-y< 0)C、(x-y<0||x-y>0)D、(x-y==0)17、有以下程序main(){int x,y,z;x=y=1;z=x++,y++,++y;printf(“%d,%d,%d\n”,x,y,z);}程序运行后的输出结果是A、2,3,3B、2,3,2C、2,3,1D、2,2,118、设有定义:int a; float b; 执行scanf(“%2d%f”,&a,&b);语句时,若从键盘输入876 543.0<回车>,a和b的值分别是A、876 和543.000000B、87和6.000000C、87和543.000000D、76和543.00000019、有以下程序main(){int a=0,b=0;a=10;b=20;printf(“a+b=%d\n”,a+b);}A、a+b=10B、a+b=30C、30D、出错20、在嵌套使用if语句时,C语言规定else总是A、和之前与其具用相同缩进位置的if配对B、和之前与其最近的if配对C、和之前与其最近的且不带else的if配对D、和之前的第一个if 配对21、下列叙述中正确的是A、break语句只能用于switch语句B、在switch语句中必须使用defaultC、break语句必须与switch语句中的case配对使用D、在switch语句中,不一定使用break语句22、有以下程序main(){int k=5;while(--k ) printf(“%d”,k-=3);printf(“\n”);}A、1B、2C、4D、死循环23、有以下程序main(){int i;for(i=1;i<=40;i++){if(i++%5==0)if(++i%8==0) printf(“%d”,j);}printf(“\n”);}A、5B、24C、32D、4024、以下选项中,值为1的表达式是A、1-‘0’B、1-‘\0’C、‘1’-0D、‘\0’-‘0’25、有以下程序:fun(int x,int y){return(x+y);} main(){int a=1,b=2,c=3,sum;sum=fun((a++,b++,a+b),c++); printf("%d\n",sum);}执行后的输出结果是A、6B、7C、8D、926、有以下程序:main(){char s[]="abcde";s+=2;printf("%d\n",s[0]);}执行后的结果是A、输出字符a的ASCII码B、输出字符c的ASCII码C、输出字符cD、程序出错27、有以下程序fun(int x,int y){static int m=0,i=2;i+=m+1; m=i+x+y; return m; }main(){int j=1,m=1,k;k=fun(j,m); printf("%d",k);k=fun(j,m); printf("%d",k);}执行后的输出结果是A、5,5B、5,11C、11,11D、11,528、有以下程序:fun(int x){int p;if(x==0||x==1) return 3;p=x-fun(x-2);return p;}main(){printf("%d\n",fun(7));}执行后的输出结果是A、7B、3C、2D、029、在16位编译系统上,若有定义int a[]={10,20,30},*p=&a;当执行p++后,下列说法错误的是A、p向高地址移了一个字节B、p向高地址称了一个存储单元C、p向高地址移了两个字节D、p与a+1等价30、有以下程序main(){int a=1,b=3,c=5;int *p1=&a,*p2=&b,*p=&c;*p=*p1*(*p2);printf("%d\n",c);}执行后的输出结果是A、1B、2C、3D、431、若有定义:int w[3][5];,则以下不能正确表示该数组元素的表达式是A、*(*w+3)B、*(w+1)[4]C、*(*(w+1))D、*(&w[0][0]+1)32、若有以下函数首部int fun(double x[10], int *n)则下面针对此函数的函数声明语句中正确的是A、int fun(double x ,int *n);B、int fun(double ,int );C、int fun(double *x, int n);D、int fun(double *, int *);33、若有定义语句:int k[2][3], *pk[3];,则以下语句中正确的是A、pk=k;B、pk[0]=&k[1][2];C、pk=k[0];D、pk[1]=k;34、有以下程序void change(int k[]){k[0]=k[5];}main(){int x[10]={1,2,3,4,5,6,7,8,9,10},n=0;while(n<=4) {change(&x[n]);n++;}for(n=0;n<5;n++) printf("%d ",x[n]);printf("\n");}程序运行后输出的结果是A、6 7 8 9 10B、1 3 5 7 9C、1 2 3 4 5D、6 2 3 4 535、若要求定义具有10个int型元素的一维数组a,则以下定义语句中错误的是A、#define N 10B、#define n 5int a[N]; int a[2*n];C、int a[5+5];D、int n=10, a[n];36、有以下程序main(){int x[3][2]={0},i;for(i=0;i<3;i++) scanf("%d",x[i]);printf("%3d%3d%3d\n",x[0][0],x[0][1],x[1][0]);}若运行时输入:2 4 6<回车>,则输出结果为:A、2 0 0B、2 0 4C、2 4 0D、2 4 637、有以下程序main(){char s[]={"aeiou"},*ps;ps=s; printf("%c\n",*ps+4);}程序运行后的输出结果是A、aB、eC、uD、元素s[4]的地址38、以下语句存在语法错误的是A、char ss[6][20]; ss[1]=”right?”;B、char ss[][20]={“right?”};C、char *ss[6]; ss[1]=”right?”;D、char *ss[]={“right?”};39、若有定义:char *x=”abcdefghi’;,以下选项中正确运用了strcpy函数的是A、char y[10]; strcpy(y,x[4]);B、char y[10]; strcpy(++y,&x[1]);C、char y[10],*s; strcpy(s=y+5,x);D、char y[10],*s; strcpy(s=y+1,x+1);40、有以下程序int add( int a, int b) {return (a+b);}main(){ int k,(*f)(),a=5,b=10;f=add;…}则以下函数调用语句错误的是A、k=(*f)(a,b);B、k=add(a,b);C、k=*f(a,b)D、k=f(a,b);41、有以下程序#includemain(int argc,char *argv[]){int i=1,n=0;while(i<="" p="" {n="n+strlen(argv[i]);">printf("%d\n",n);}该程序生成的可执行文件名为:proc.exe 。
C语言程序设计试题及答案完整版
C语言复习资料5元必须清楚的:1)程序结构是三种: 顺序结构, 循环结构(三个循环结构), 选择结构(if 和switch)2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择)。
3)计算机的数据在电脑中保存是以二进制的形式. 数据存放的位置就是他的地址.4)bit是位是指为0 或者1。
byte 是指字节, 一个字节= 八个位.5)一定要记住二进制如何划成十进制。
概念常考到的:1、编译预处理不是C语言的一部分,不再运行时间。
C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。
2、每个C语言程序中main函数是有且只有一个。
3、在函数中不可以再定义函数。
4、算法的是一定要有输出的,他可以没有输入。
5、break可用于循环结构和switch语句。
6、逗号运算符的级别最低。
第一章1)合法的用户标识符考查:合法的要求是由字母,数字,下划线组成。
有其它元素就错了。
并且第一个必须为字母或则是下划线。
第一个为数字就错了。
关键字不可以作为用户标识符号。
main define scanf printf 都不是关键字。
迷惑你的地方If是可以做为用户标识符。
因为If中的第一个字母大写了,所以不是关键字。
2)实型数据的合法形式:2.333e-1 就是合法的,且数据是2.333×10-1。
考试口诀:e前e后必有数,e后必为整数。
.3)字符数据的合法形式::'1' 是字符占一个字节,"1"是字符串占两个字节(含有一个结束符号)。
'0' 的ASCII数值表示为48,'a' 的ASCII数值是97,'A'的ASCII数值是65。
4)整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节:考试时候一般会说,在16位编译系统,或者是32位系统。
碰到这种情况,不要去管,一样做题。
掌握整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节就可以了。
全国计算机等级考试二级C语言真题2006年4月
全国计算机等级考试二级C语言真题2006年4月(总分:82.00,做题时间:90分钟)一、{{B}}选择题{{/B}}(总题数:50,分数:50.00)1.下列选项中小属于结构化程序设计方法的是______。
(分数:1.00)A.自顶向下B.逐步求精C.模块化D.可复用√解析:知识点:结构化程序设计方法评析:20世纪70年代以来,提出了许多软件设计方法,主要有①逐步求精:对复杂的问题,应设计—些子目标作过渡,逐步细化:②自顶向下:程序设计时应先考虑总体,后考虑细节;先考虑全局目标,后考虑局部目标。
不要—开始就过多追求众多的细节,先从最上层总目标开始设计,逐步使问题具体化;③模块化:—个复杂问题,肯定是由若干稍简单的问题构成。
模块化是把程序要解决的总目标分解为分目标,再进一步分解为具体的小目标,把每个小目标称为—个模块,而可复用是面向对象程序设计的—个优点。
2.两个或两个以上的模块之间关联的紧密程度称为______。
(分数:1.00)A.耦合度√B.内聚度C.复杂度D.数据传输特性解析:知识点:耦台度评析:耦合度是模块间互相连接的紧密程度的度量;内聚度是一个模块内部各个元素间彼此结合的紧密程度的度量。
3.下列叙述中正确的是______。
(分数:1.00)A.软件测试应该由程序开发者来完成B.程序经调试后—般不需要再测试C.软件维护只包括对程序代码的维护D.以上三种说法都不对√解析:知识点:软件的测试与程序的调试评析:程序调试的任务是诊断和改正程序中的错误。
它与软件测试不同,软件测试是尽可能多地发现软件中的错误。
先要发现软件的错误,然后借助于一定的调试工具去找出软件错误的具体位置。
软件测试贯穿整个软件生命期,调试主要在开发阶段。
为了达到更好的测试效果,应该由独立的第三方来构造测试。
因为从心理学角度讲,程序人员或设计方在测试自己的程序时,要采取客观的态度是程度不同地存在障碍的。
软件的运行和维护是指将已交付的软件投入运行,并在运行使用中不断地维护,根据新提出的需求进行必要而且可能的扩充和删改。
2006年4月全国计算机等级考试二级C语言笔试试卷及标准解析
2006年4月全国计算机等级考试二级C语言笔试试卷及标准解析一、选择题((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)对如下二叉树ABDECF进行后序遍历的结果为A)ABCDEF B)DBEAFC C)ABDECF D)DEBFCA(7)在深度为7的满二叉树中,叶子结点的个数为A)32 B)31 C)64 D)63(8)“商品”与“顾客”两个实体集之间的联系一般是A)一对一B)一对多C)多对一D)多对多(9)在E-R图中,用来表示实体的图形是A)矩形B)椭圆形C)菱形D)三角形(10)数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是A)DB包含DBS和DBMS B)DBMS包含DB和DBSC)DBS包含DB和DBMS D)没有任何关系(11)以下不合法的用户标识符是A)j2_KEY B)Double C)4d D)_8_(12)以下不合法的数值常量是A)011 B)1e1 C)8.0E0.5 D)0xabcd(13)以下不合法的字符常量是A)′\018′B)′\"′C)′\\′D)′\xcc′(14)表达式3.6-5/2+1.2+5%2的值是A)4.3 B)4.8 C)3.3 D)3.8(15)以下能正确定义字符串的语句是A)char str[]={′\064′};B)char str="kx43";C)char str=";D)char str[]="\0";(16)以下数组定义中错误的是A)int x[][3]={0};B)int x[2][3]={{l,2},{3,4},{5,6}};C)int x[][3]={{l,2,3},{4,5,6}};D)int x[2][3]={l,2,3,4,5,6};(17)若要求从键盘读入含有空格字符的字符串,应使用函数A)getc() B)gets() C)getchar() D)scanf()(18)以下四个程序中,完全正确的是A)#include <stdio.h> B)#include <stdio.h>main();main(){/*programming*/ {/*/ programming /*/printf("programming!\n");} printf("programming!\n");}C) #include <stdio.h> D) include <stdio.h>main() main(){/*/*programming*/*/ {/*programming*/printf("programming!\n");} printf("programming!\n");}(19)若有定义:float x=1.5;int a=1,b=3,c=2;则正确的switch语句是A) switch(x) B) switch((int)x);{case 1.0:printf("*\n");{case 1:printf("*\n");case 2.0:printf("**\n");} case 2:printf("**\n");}C) switch(a+b) D) switch(a+b){case 1:printf("*\n");{case 1:printf("*\n");case 2+1:printf("**\n");} case c:printf("**\n");}(20)若各选项中所用变量已正确定义,函数fun中通过return语句返回一个函数值,以下选项中错误的程序是A)main() B)float fun(int a,int b){……}{……x=fun(2,10);……}main()float fun(int a,int b){……} {……x=fun(i,j);……}C)float fun(int,int);D)main()main() {float fun(int i,int j);{……x=fun(2,10);……} ……x=fun(i,j);……}float fun(int a,int b){……}float fun(int a,int b){……}(21)在以下给出的表达式中,与while(E)中的(E)不等价的表达式是A)(!E==0) )(E>0‖E<0) C)(E==0) D)(E!=0)(22)要求通过while循环不断读入字符,当读入字母N时结束循环。
2006年(春)笔试试卷参考答案及解析
2006年(春)笔试试卷参考答案及解析第一部分计算机基础知识(1)D)【解析】信息技术指的是用来扩展人的信息器官功能、协助人们进行信息处理的一类技术,用于扩展人的效应器官功能的是控制与显示技术。
(2)B)【解析】晶体管的发展导致了集成电路的发明,大、中、小规模集成电路的区别是它们内电路中三极管的数目不等,集成电路多为数字集成电路。
(3)A)【解析】通信系统必有“三要素”,即终端、通信设施、接收设备。
(4)C)【解析】若某带符号整数的8位补码表示为1000 000l,符号位为1是负数,然后符号位除外取反加1,即1111 1111,十进制为-127。
(5)D)【解析】Pentium处理器与PowerPC处理器虽然产自不同的厂商,其指令系统有一定的区别,但还是相互兼容。
(6)D)【解析】目前用作优盘存储器芯片的是Flash ROM。
(7)D)【解析】USB以串行方式工作,LPT接口以并行式工作。
(8)A)【解析】目前市场上常见数码相机的成像器件有CCD(电荷耦全器件)和CMOS(互补金属氧化物半导体)两种,但使用CMOS的数码相机相对数量较少。
(9)C)【解析】CRT功耗大,15英寸的功率平均为60W,17英寸的功率平均为75W,一台15英寸LCD显示器功耗大约是一台17英寸CRT显示器的1/4左右,CRT是电子管显示器激励电压要高,液晶显示器是晶体管的,所需激励电压比电子管低。
(10)B)【解析】共享软件是一种版权的软件。
(11)A)【解析】CPU在“一段时间”内,看起来同时执行着多个应用程序。
但是,在具体的某一个“时刻”内,CPU是在执行某一个具体的任务的。
操作系统为控制CPU在很多个应用程序的执行期间,进行不同程序执行上下文的快速切换,使得看起来很多程序在同时运行着一样。
如果用户只启动一个应用程序,那么该程序就可以优先占用CPU,操作系统的工作。
它可以把CPU的时间分成很小的片段,然后给每个片段一次执行的机会,这样,几个程序轮流执行。
C语言程序设计试题及答案解析
C语言程序设计试题及答案解析第1、2、3章概述、类型、表达式一、选择题1、一个C程序由若干个C函数组成,各个函数在文件中的位置顺序为:()A、任意B、第一个函数必须是主函数,其他函数任意C、必须完全按照执行的顺序排列D、其他函数可以任意,主函数必须在最后2、下列四个叙述中,正确的是:()A、C程序中的所有字母都必须小写B、C程序中的关键字必须小写,其他标示符不区分大小写C、C程序中的所有字母都不区分大小写D、C语言中的所有关键字必须小写3、下列四个叙述中,错误的是:()A、一个C源程序必须有且只能有一个主函数B、一个C源程序可以有多个函数C、在C源程序中注释说明必须位于语句之后D、C源程序的基本结构是函数4、下面不是C语言合法标识符的是:()A、abcB、5nC、_4mD、x35、以下叙述不正确的是:()A. 分号是C语句的必要组成部分B. C程序的注释可以写在语句的后面C. 函数是C程序的基本单位D. 主函数的名字不一定非用main来表示6、C语言中允许的基本数据类型包括:()A. 整型、实型、逻辑型B. 整型、实型、字符型C. 整型、字符型、逻辑型D. 整型、实型、逻辑型、字符型7、C语言中能用八进制表示的数据类型为:()A、字符型、整型B、整形、实型C、字符型、实型、双精度型D、字符型、整型、实型、双精度型8、下列属于C语言合法的字符常数是:()A、’\97’B、”A”C、’\t’D、”\0”9、在C语言(VC环境)中,5种基本数据类型的存储空间长度的排列顺序为:()A、char<int<=long int <=float<doubleB、char=int<long int <=float<doubleC、char<int<long int=float=doubleD、char=int=<long int <=float<double10、在C语言中(VC环境),一定是长整型常数的是:()A、0LB、4962710C、0412765D、0xa34b7fe11、若有以下定义语句char c1=’b’, c2=’e’;printf(“%d,%c\n”,c2-c1,c2-‘a’+’A’);则输出结果是:()A、2,MB、3,EC、2,ED、输出项与相应的格式控制不一致,输出结果不确定12、以下合法的赋值语句是:()A、x=y=100B、d--;C、x + yD、c = int(a+b);13、设变量t为int型,下列选项中不正确的赋值语句是:()A、++t;B、n1=(n2=(n3=0));C、k=i==m;D、a=b+c=1;14、在以下一组运算符中,优先级最高的是:()A、<=B、==C、%D、&&15、下列能正确表示a≥10或a≤0的关系表达式是:()A、a>=10 or a<=0B、a<=10 || a>=0C、a>=10 || a<=0D、a>=10 && a<=016、下列只有当整数x为奇数时,其值为“真”的表达式是:()A、x%2==0B、!(x%2==0)C、(x-x/2*2)==0D、!(x%2)17、设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是:()A、1 0< a < 15B、!(a<=10 || a>=15)C、a>10 && a<15D、!(a<=10) && !(a>=15)18、已知x=43, ch=’A’,y=0;则表达式(x>=y&&ch<’B’&&!y)的值是:()A、0B、语法错C、1D、“假”19、表达式17%4 /8的值为:()A、0B、1C、2D、320、语句printf(“%d”,(a=2)&&(b= -2));的输出结果是:()A、无输出B、结果不确定C、-1D、121、一个可执行的C程序的开始执行点是:()A. 程序中的第一个语句B. 包含文件中的第一个函数C. 名为main的函数D. 程序中的第一个函数22、组成C语句的一个必不可少的符号是:()A. 逗号B. 引号C. 冒号D. 分号23、若将int、long、float等类型的数据进行混合运算,其结果的数据类型是:()A. intB. longC. floatD. double24、下述是C语言中有关变量定义的几个说法,正确的是:()A. 变量可以不定义直接使用B. 一个说明语句只能定义一个变量C. 几个不同类型的变量可在同一语句中定义D. 变量可以在定义时进行初绐化25、与x * = y + z等价的赋值表达式是:()A. x = y + zB. x = x * y + zC. x = x * (y + z)D. x = x + y * z26、当代电子计算机能够自动地处理指定的问题是因为:()A.计算机是电动的B.有解决该问题的计算机程序C.事先存储了解决该问题的程序D.以上都不是27、以下叙述中最准确的是:()A.计算机程序是处理某一问题所有指令的集合B.计算机程序是处理某一问题所用到的所有数据的集合C.计算机程序是处理某一问题的所有指令及其数据的集合D.计算机程序是处理某一问题的所有指令及其数据的有序集合28、关于计算机程序设计,以下描述最准确的是:()A.程序设计就是用语言来编写程序B.程序设计就是用计算机语言来编写程序C.程序设计就是用计算机程序设计语言来编写程序D.程序设计就是用计算机能识别的语言来编写程序29、目前编写计算机程序一般采用的是:()A.机器语言B.汇编语言C.高级语言D.英语30、设计一个计算机程序最基本的工作是:()A.制定正确的算法B.选择合理的数据结构C.制定正确的算法和选择合理的数据结构D.以上都不是31、算法具有五个特性,以下选项中不属于算法特性的是:()A.有穷性B.简洁性C.可行性D.确定性32、下述哪一个不是结构化程序基本结构:()A.顺序B.选择C.循环D.嵌套33、C语言是一种:()A.机器语言B.汇编语言C.高级语言D.以上都不是34、C语言源程序的扩展名为:()A..exe B..c C..obj D..cpp 35、C程序编译后最终产生(即计算机执行)的文件的扩展名为( )A..exe B..c C..obj D..cpp 36、下列各项中,不是C语言的特点是:()A.语言简洁、紧凑,使用方便B.程序执行效率高,可移植性好C.能实现汇编语言的大多数功能D.有较强的网络操作功能37、构成C语言源程序的基本单位是:()A.子程序B.过程C.文本D.函数38、下列叙述正确的是:()A.C语言源程序可以直接在DOS环境中运行B.编译C语言源程序得到的目标文件可以直接在DOS环境中运行C.C语言源程序经过编译、连接得到的可执行程序可以直接在DOS环境中运行D.C语言源程序可以直接在VC++环境中运行39、某C程序由一个主函数main()和一个自定义函数max()组成,则该程序:()A.写在前面的函数先开始执行B.总是从main()函数开始执行C.总是从max()函数开始执行D.写在后面的函数先开始执行40、以下叙述不正确的是:()A.分号是C语句的必要组成部分B.C程序的注释可以写在语句的后面C.函数是C程序的基本单位D.主函数的名字不一定用mian表示41、以下为C语句的是:()A.a=8 B.a++;C.if(a>8) D. #include <stdio.h> 以下不是C语句的是:()A.a=8; B.a++;C.if(a>8);D.for(i=1;i<5;i++)42、以下所列语句中,合法的语句是:( )A.a=1,b=2 B.++a; C.a=a+1=5 D.y=int(a);43、C程序中的复合语句指的是:()A.并列的多个C语句B.写在同一行中的多个C语句C.用一对大括号对括的多个C语句 D.就是函数体中的语句44、当一个很长的C语句(中间无字符串)在一行写不下(超出屏幕的宽度)时,应该:( )A.由系统自动换行B.立即按回车键换行C.在任意一个空格处按回车键换行D.输入一个分号后并按回车键换行换行45、在x值处于-2~2,4~8时值为“真”,否则为“假”的表达式是:( )。
2006年秋季《C语言程序设计》期末考试题A卷答案答案--修改后
2005 — 2006学年第二学期《程序设计语言(C)》试卷参考答案和评分标准专业班级_________________________姓名_________________________学号_________________________开课系室________ 软件工程系考试日期 2006 年7月3日程序设计语言(C)试卷(A卷)答题卡说明:i •选择题和判断题必须填在答题卡上才有效,综述题写在指定位置。
2 •本试卷连同封面共 13页,不得拆开。
单项选择题(正确的答案涂黑或画圈,每题1分,共20分)读程序填空题(在空格处填写正确答案,每空2分,共20分){ case 1: printf( apple “);break;case 2: printf( hello “);break; case 3: printf( world ); default: printf(thank you “);4. 5. 6. A. apple B. hello 在 C 语言中,不合法的 A. 32767设 x , y , z 和 k 都是A. 52 设 x 为 int 型变量, int 型常量是B. 0578int C. thank you C. 0XAACD. world thank youD. 32768L型变量,则执行表达式:x=(y=2 , z=15, k=30)后,x 的值为B. 30C. 15D. 2 则执行以下语句后, x的值为A. 30B. 20C. 10D. 40一、单项选择题(每题 1 分, 20 分)1. 现有程序完成 a 、b 两个值的交换,空白处正确的答案应该是 ____________main() {int a,b,t; t=b ; b=a ;A. a=bB. a=tC. b=tD. t=a3. int x=6; 则下方程序段运行结果是 switch(x)x=10; x + = x - = x - x7. 在下列运算符中,优先级最高的运算符是(2. 如果程序中用到标准库函数 log(),那么该程序应含下面哪条语句A. #include ”stdio .hB.#include ”math.h C. #include ”string .hD. #include ”stdli b.hA.B.!= C.% D.||8. 设x,y,t 均为int 型变量,则执行语句:x=y=3; t=++x||--y ;后y 的值为A. 4B. 3C. 2D. 19. 语句printf( “%%%%n”); 的输出为A. ####B. %%%%\nC. %%D. %%%%scanf(printf( %c%c\n ” ,a5,a6);如: 123 回车 45678回车 结果是A. 1267B. 1256C.1278D. 124511.若有 int x, y, z ; scanf("%d%d%d",&x,&y,&z);则运行时输入方式错误的是A.4 5 6 C. 4printf( y=%d ” ,y);A. 0B. -1C. 1D.无限循环0'}10. #include<stdio.h>main()char a1,a2,a3,a4,a5,a6; %c%c%c%”c,&a1,&a2,&a3,&a4);a5=getchar();a6=getchar(); putchar(a1);putchar(a2);B. 4, 5, 6 D. 4 512. 下面程序段执行结果是int y=25;while(y--);13. 不正确的字符串赋值或赋初值方式是 A. char *str; str= "string";B. char str[7]={ 's', 't', 'r', 'i' , 'n', 'g'C. char str1[10]; str1= "string";D. char str1[]= "string", str2[]= "12345678";14. 对于 int a[ ]={1,2,3,4,5,6}, *p; p=a; *(p+3)+ = 2; 则程序段执行后 *(p+3) 的值为A. 5B. 3 C . 4 15. 若有说明语句: int a[ ]= {1,2,3,4,5,6,7,8} 数组元素的错误表示。
历年考试题-2006级C++面向对象程序设计试题A-计算机学院2007年冬天定稿
2007-2008学年第1学期2006级《C++面向对象程序设计》期末考试试题(A卷)考试时间:2008年1月15日班级学号姓名✧本试卷满分100分;✧请将答案写在答题纸上,写明题号,不必抄题,字迹工整、清晰;✧请在答题纸和试题纸上都写上你的班级,学号和姓名,交卷时请将试题纸、答题纸和草纸一并交上来。
一、单选题(共20分,每题2分)1.已知函数int f( );是类A的公有静态成员,a是用const A a; 的形式创建的一个对象,那么下列语句错误的是:(A)int num=A::f( );(B)int num=a.f( );(C) int num= a.f( ) const;(D)const int num= a.f( );2.在实现函数const A & f(A & obj)时,下面的哪一个表达式不能作为函数的返回值?(A) 全局静态变量(B) 局部静态变量(C) 函数参数obj对象(D) 局部自动变量(auto变量)3.下面关于new 和delete操作符的说法,哪个是不正确的:(A) 使用new操作符,可以动态分配全局堆中的内存资源。
(B) 用new[]申请的数组,应该用delete[] 释放。
(C) 执行语句A * p = new A成功后,调用了delete p;,则p的值为0。
(D) 执行语句A * p = new A[10];时,会调用10次构造函数。
4.下列哪种成员函数可以由const修饰?(A)无参构造函数(B) 拷贝构造函数(C) 自定义的转换函数(D) 虚的析构函数5.类D以public方式继承了类B,如下的哪个声明不能作为类D的成员?(A) B* pB; (B) B aB; (C) D aD; (D) D* pD;6.若类C的定义为class C:pubic A,private B{ public: int one,two; };则说法正确的是:(A) one和two的空间分配及初始化的顺序,要根据类C的构造函数的初始化列表。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
char *s="abcde"; s+=2;printf("%d",s); A. cde 12、 是( A. 3 13、 D ) B. 6 C. 10 D. 20 B. main(int arc,char **arv) D. main(int argc,char *argv[]) 不合法的 main 函数命令行参数表示形式是( C ) B. 字符'c' C. 字符'c'的地址 D. 无确定的输出结果 假定 int 类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组 x 在内存中所占字节数
4、 当 a=5,b=4,c=2 时,表达式 a > b !=c 的值是(
下列程序的输出结果是( C
5、 若有定义:int x=3,y=2;float a=2.5,b=3.5;则下面表达式的值为( (x+y)%2+(int)a/(int)b 6、 使用两个下标的数组称为( 二维 )数组。
7、 在 C 语言中,逻辑运算符的优先级别从高到低依次是( ! && ||
B. static int a[5]={0,1,2,3,4,5} D. static char a[]={0,1,2,3,4,5}; C ) B. 程序中第一个函数 D. 包含文件中的第一个函数 D )
姓名 姓名
8、 判断两个字符串 S1 和 S2 相等的正确语句是( 考生注意事项:1、本试卷共 4 页,试卷如有缺页或破损,请立即举手报告以便更换。 2、考试结束后,考生不得将试卷、答题纸和草稿纸带出考场。 3、答案全部做在答题纸上,并写在密封线内和纸卷正面,否则不记分。 B. if (S1==S2)
整型
) 、(
实型
) 、(
字符型
) 。
系(院)
第 2 页 共
4 页
三、 程序分析题(每小题 1.5 分,共 21 分)
1、 函数 fun 的功能是:使一个字符串按逆序存放,请填空 void fun (char str[]) { char m; int i,j; for(i=0,j=strlen(str);___i<=j_____;i++,j--) { m=str[i]; str[i]=___str[j-1]________; str[j-1]=m; } printf("%s\n",str); } 2、 写出该程序运行的结果.8,4 fun (int p) {int d=5; d+=p++; printf("%d,",d); } main( ) {int a=3; int d=1; fun(a); d+=a++; printf("%d\n",d);} 3、 要使以下程序段输出 10 个整数,请填入一个整数。 for(i=0;i < = __18__________ ;printf("%d\n",i+=2)) 4、 main( ) { int sum=0, i ; scanf( "%d",&i ); while (i < = 10) {sum=sum+i; i++;} printf("%d",sum);} 输入 1 输出 __55_____________ 5、 把 100-200 之间的不能被 3 整除的数输出: main ( ) { int n; _for(n=100;n<=200;n++)_________________; {if (n%3==0) ____continue_______________; printf( "%d",n); }}
课程名称:面向过程程序设计(C 语言) 适用专业年级:计 06 级,通信 06 级
学号 学号
题号 题分 得分 一 36 二 15 三 21 四 28 五 六 七 八 九
( A 卷 闭卷) 考试时间: 100 分钟
十 总分 100 统分人 签名
5、 执行下面程序中输出语句后,a 的值是( B main() { int a; printf("%d\n",(a=3*5,a*4,a+5));} A. 65 B. 20 C. 15 ) D. 10 6、 合法的数组定义是( D
A. 10 9 8 18、
B. 9 8 7
湖南工业大学考试试卷纸
以下叙述中不正确的是( D
A. 在不同的函数中可以使用相同名字的变量 B. 函数中的形式参数是局部变量 C. 在一个函数内定义的变量只在本函数范围内有效 D. 在一个函数内的复合语句中定义的变量在本函数范围内有效 1、 一个函数一般由两部分组成:它们分别是( 函数说明部分 2、 把数组元素按顺序存放的过程称为( 排序 3、 计算表达式 8.0*(1/2)的值是( 0 ). 1 ). 1 ) ). )和( 函数体 )。
4、 在 C 语言中的 if 语句中,用作判断的表达式为( D ) A. 关系表达式 B. 逻辑表达式
系 (院 )) 系 (院
第 1 页 共
4 页
16、
设有程序段
23、
C 程序中,若函数调用采用传值方式,则(A
)
int k=10; while(k=0) k=k-1; 则下面描述中正确的是( C A. while 循环执行 10 次 C. 循环体语句一次也不执行 ) B. 循环是无限循环 D. 循环体语句执行一次
int 型数据在内存中所占的字节数为( (4 10、 ) C 语言中最简单的数据类型是 (
2
) ;一个 float 型数据在内存中所占的字节数为
A. 其上面距它最近的,并且没有其他 else 与其配对的 if 相配对 B. 在同一行上的 if C. 缩排位置相同的 if D. 在其之前未配对的 if 22、 若有说明 int a[3][4];则 a 数组元素的非法引用是( D ) B. a[1][3] C. a[4-2][0] D. a[0][4] A. a[0][2*1]
A. 实参和虚参各自占有存储单元 C. 由用户指定 24、 main() {int *p,*q,a,b; p=&a; printf("input a:"); B ) scanf("%d",*p); } A. *p 表示的是指针变量 p 的地址
B. 实参和虚参共享存储单元 D. 由计算机随机确定 )
以下程序中调用 scanf 函数给变量 a 输入数值的方法是错误的,其错误原因是( B
湖南工业大学考试试卷纸 湖南工业大学考试试卷纸
D. if (strcmp(S1,S2)==0) ) C. (exp==1) D. (exp!=1)
9、 若有条件表达式 (exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是( B
一、 单选题。从供选择的答案中选出正确答案。 (每题 1.5 分,共 36 分)
A. main(int a,char *c[]) C. main(int argc,char *argv) 14、 *p=r; 则以下正确的叙述是( D ) 若有以下定义和语句: double r=99, *p=&r;
课程名称 课程名称
3、 以下程序的输出结果是( #define main( ) { int a=6,b=2,c; c=f(a) / f(b); printf("%d \n",c); } A. 9 B. 6 C. 36 f(x) x*x
2、 若有两条语句 static char x[] ="abcde"; static char y[] ={'a','b','c','d','e'}; 则下列语法中正确的是 ( C A. x 数组和 y 数组的长度相同 C. x 数组的长度大于 y 数组的长度 ) B. x 数组的长度小于 y 数组的长度 D. x 数组等价于 y 数组 )
1、 以下定义和语句:
B. (exp!=0)
若 fp 是指向某文件的指针,且已读到此文件末尾,则库函数 feof(fp)的返回值是( C )
A. EOF
B. 0
C. 非零值
C )
D. NULL
班级 班级
char cl='b',c2='e';
下面程序段的运行结果是(
密封线 密封线
printf(″%d,%c\n″,c2-c1,c2-'a'+'A'); 则输出结果是:( A. 2,M C. 2,E B ) B. 3,E D. 输出项与对应的格式控制不一致,输出结果不确定
6、 求(1+2!+……20!) 程序如下; main { float s=0,t=1; int n; for (n=1;n < =20;n++) {(1) _t=t*n_________________; (2) __s=s+t_______________;} printf("1+2!+……20!=%e\n",s);} 7、 #include < stdio.h > main( ) {int i=0,j=0,a=6; if ((++i > 0) || (j++ > 0)) a++; printf("i=%d,j=%d,a=%d\n",i,j,a);} 结果:__i=1,j=0,a=7________________ 8、 以下程序的输出结果是__16____________ 。 main() { int a=0 a+=(a=8); printf("%d\n",a); } 9、 下列程序段的输出结果是 ___Hello____________。 main() { char b[]="Hello,you"; b[5]=0; printf("%s \n", b ); } 10、 函数 pi 的功能是根据以下近似公式求 π 值: (π *π )/6=1+1/(2*2)+1/(3*3)+..+1/(n*n) 现在请你在下面的函数中填空,完成求 π 的功能。 #include double pi(long n) { double s=0.0; long i; for(i=1;i<=n;i++)s=s+ ___1.0/(i*i)______________ ; return(sqrt(6*s)); }