2006级《面向过程程序设计(C语言)》试卷A解答
- 格式:doc
- 大小:100.00 KB
- 文档页数:4
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时值为“真”,否则为“假”的表达式是:( )。
《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〗。
西华大学课程考试(考查)参考答案(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语言)笔试真题试卷(题后含答案及解析) 题型有: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解析:数据库管理系统的三级模式结构由外模式、模式和内模式组成。
夕模式,或子模式,或用户模式,是指数据库用户所看到的数据结构,是用户看到的数据视图。
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。
华中科技大学计算机学院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分。
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、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时值为“真”,否则为“假”的表达式是:( )。
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 。