文档库 最新最全的文档下载
当前位置:文档库 › C++题库 修订

C++题库 修订

C++题库  修订
C++题库  修订

C++机考题库一、填空题:〖第1题〗

关键字【1】用来向显示器输出数据.

〖第2题〗设n=10,i=4,则赋值运算n%=i+1执行后,n的值是【1】.

〖第3题〗若有定义语句"int a=3, b=2, c=1;",则表达式a

〖第4题〗『若有函数调用"fun(a+b, 3, max(n-1))",则fun的实参个数是【1】.

〖第5题〗『表达式5/2的运算结果是【1】.

〖第6题〗表达式operator+(x,y)还可以表示为【1】.

〖第7题〗一个函数可以在其函数体中调用另一个函数,如果被调用的函数就是调用者自身,或者两个函数互相调用,就形成了一个函数直接或间接地调用自身的现象,这一现象就是函数的【1】调用.

〖第8题〗C++语言的参数传递机制包括传值和传地址两种,如果调用函数时,需要

改变实参或者返回多个值,应该采取【1】方式.

〖第9题〗【1】是指把按C++语法规则编写的程序代码输入计算机,并存盘.

〖第10题〗关键字【1】的作用是输出回车换行.

〖第11题〗若有定义语句"int a=1, b=2;",则表达式a + + + - - b 的值为【1】.

〖第12题〗函数的返回值是通过返回语句【1】来实现的.

〖第13题〗函数调用语句fun(a+b,(x,y),fun(n+k,d,(a,b)));中实参的个数是【1】.

〖第14题〗执行下列语句段后,输出字符"*"的个数是【1】. for (int i=50;i>1;--i) cout<<"*"; 〖第15题〗在C++语言的结构化程序设计中,【1】是程序的基本组成单元.

〖第16题〗关键字【1】用来接收数据的输入.

〖第17题〗设i、j、k均为int型变量,则执行完"for(i=0, j=10; i<=j; i++, j- -) k=i+j;"语句后,k 的值为【1】.

〖第18题〗若整型变量a,b,c,d的值依次为1,4,3,2,则条件表达式a

〖第20题〗若有数组定义"int i[2][3];",则数组i有【1】个数组元素.

〖第21题〗编译是将编辑好的C++源程序通过编译器转换成【1】文件.

〖第22题〗执行语句序列

int i=0;

while(i<=25) i+=3;

cout<

后,程序的输出结果是【1】.

〖第23题〗若有数组定义:char array[ ]="China";,则数组array所占的空间为【1】个字节.〖第24题〗若有定义语句"int a=1, b=2;",则表达式(++a/b)* b - - 的值为【1】.

〖第25题〗在C++语言中,表达式的类型转换方式有两种:隐含转换和【1】转换.

〖第26题〗在文件作用域中声明的对象具有静态生存期,这种对象又称为【1】对象.

〖第27题〗若有定义语句"int k=7, x=12;",则表达式(x%=k) - (k%=5) 的值为【1】.

〖第28题〗C++语言提供的基本控制结构可以分为3种类型:顺序结构、【1】结构和

循环结构.

〖第29题〗表达式10%4的运算结果是【1】.

〖第30题〗每个C++程序至少包含一个函数,即【1】函数.

〖第31题〗若有定义语句"int *a,b;",则变量b的数据类型是【1】.

〖第32题〗执行语句序列

for(int a=0,x=0;!x&&a<=10;a++) a++; cout<

后,程序的输出结果是【1】.

〖第33题〗开发一个C++语言程序的步骤通常包括编辑、【1】、链接、运行和调试.

〖第34题〗C++中只有两个逻辑常量:true和【1】.

〖第35题〗语句"for(int a=0, b=1; b&&a<5; a++);"的循环次数为【1】.

〖第36题〗若有说明语句"int a[10]={1,2,3,4,5,6,7,8,9,10}, *p=a;",则表达式*(p+8)的值是【1】. 〖第37题〗字符常量通常是指用单引号括起来的一个字符,其数据类型的标识为【1】. 〖第38题〗若有定义语句"int a=10, b=11, c=12;",

则表达式(a+b)

〖第39题〗有如下函数定义:

void func (int a,int &b) {a++; b++;}

若执行代码段: int x=0 ,y=1;

func(x,y); 则变量x的值是【1】.

〖第40题〗程序语句"cout<

〖第41题〗C++语言是一种面向【1】的程序设计语言.

〖第42题〗如果函数的返回类型为【1】,说明该函数没有返回值.

〖第43题〗在int b[][3]={{1},{3,2},{4,5,6},{0}};中b[2][2]的值是【1】.

〖第44题〗定义符号常量的关键字是【】

〖第45题〗在16位机上运行cout<

〖第46题〗【】是程序的运行过程中其值可以改变的量.

〖第47题〗【】运算符,它的左右两边均为整数时,则其结果为整型数。

〖第48题〗在循环语句和switch语句中强行退出的是()语句

〖第49题〗【】语句用在循环语句中,作用为结束本次循环,继续执行下一次循环

〖第50题〗C++中循环语句分别为do…while,while,【】.

〖第51题〗若定义一维数组int a[6]={1,0,2};则数组中a[4]的值为【】.

〖第52题〗数组名代表的是数组元素的【】.

〖第53题〗定义一维数组int a[5]={0};代表数组当中5个元素的值都为【】

〖第54题〗若数组定义int a[10]={0,1,5,6,4,3,2,2};a[4]=a[0]+a[3]+a[9];则a[4]的值为【】. 〖第55题〗将【】作为参数传递给函数,实际上只是把数组的首地址传给函数.

〖第56题〗用&操作符可以获取变量的地址,指针变量用于存放【】

〖第57题〗C++提供两个与地址相关的运算符“*”和【】,后者称为取地址运算符。〖第58题〗声明枚举类型的变量时用到的关键字是

〖第59题〗若定义语句int a,b,c,d; d=(a=1,b=a+2,c=b+3);cout<

〖61〗执行完int i,*i_pointer;i_pointer=&i;i=10;三个语句后*i_pointer的值是【】。

〖第62题〗表达式x *= y+8等价于【】

〖第63题〗运算符【】用于计算某种类型的对象在内存中所占的字节数

〖第64题〗内联函数的关键字是【】

〖第65题〗【】可以同一个函数名定义多个函数。

〖第66题〗若代码如下,char *str="123";cout<

〖第67题〗若int k=2,*p=&k;cout<<*p<

〖第68题〗若定义char a[10]="china"; char *p=a;cout<

〖第69题〗若说明int a[][3]={1,2,3,4,5,6};则a数组后第一个中括号的值是【】

〖第70题〗若定义char array[]="china";则数组array所占的空间为【】字节

二、判断题〖第1题〗C++中,各种循环之间允许嵌套使用.

〖第2题〗函数在形式上必须要有参数.

〖第3题〗在一定条件下,C++中的字符型数据和整型数据是可以通用的.

〖第4题〗if语句和for语句之间不允许嵌套使用.

〖第5题〗C++中所有的运算符都可以重载.

〖第6题〗在用于控制输出格式的流成员函数中,setprecision(n)函数可以设置字段

宽度为n位.

〖第7题〗赋值表达式中也可以再包含复合的赋值运算符.

〖第8题〗C++中既可以用字符串常量给字符串变量赋值,也可以用一个字符串变量给另一个字符串变量赋值.

〖第9题〗算术运算符的优先级低于关系运算符的优先级.

〖第10题〗C++既可用于面向过程的结构化程序设计,又可用于面向对象的程序设计.

〖第11题〗C++中同一数组中的每一个数组元素必须属于同一数据类型.

〖第12题〗C++的源程序经过编译后直接生成可执行程序.

〖第13题〗"#include "是C++的一条语句.

〖第14题〗在一个for语句中,可以给多个变量赋初值.

〖15〗C++中的自增运算符( + + )和自减运算符( - - )只能用于变量,而不能用于常量或表达式. 〖第16题〗在for循环中,循环变量只能增加,不能减少.

〖第17题〗C++中所有运算符的结合方向是"自左向右"的.

〖第18题〗在定义一个变量时,不可以同时给它赋以初值.

〖第19题〗"*"运算符是取地址运算符.

〖第20题〗在一个整型常量后面加一个字母l或L,代表其类型为long int.

〖第21题〗二维数组可以看作是一种特殊的一维数组,即它的元素又是一个一维数组.

〖第22题〗if(x=3)和if(x==3)这两条语句作用是相同的,没有什么差别.

〖第23题〗函数原型中不必有参数名,只需要有参数类型.

〖第24题〗函数必须有返回值,在函数体中通过使用return语句来实现.

〖第25题〗C++中int类型的数据所占的字节数不大于long类型的所占的字节数.

〖第26题〗数组定义如下:double arrayTest[3][4][5]; 则该数组共有12个元素.

〖第27题〗C++中对语句注释时只能使用单行注释.

〖第28题〗在C++源程序中必须且只能包含一个main()函数.

〖第29题〗函数的参数不可以使用指针类型.

〖第30题〗标准C++要求main函数返回值类型为int或void.

〖第31题〗break语句可以用来结束本次循环,continue语句可以用来提前结束循环.

〖32题〗字符数组只能定义和初始化为一个一维数组而不能定义和初始化为一个多维数组. 〖第33题〗语句是实现操作的基本成分,C++中的语句应以分号结束.

〖第34题〗引用是一种特殊类型的变量,可以被认为是另一个变量的别名.

〖第35题〗C++规定标识符只能由字母、数字和下划线3种字符组成,且第一个字符必须为字母或下划线.

〖第36题〗在C++中,for语句的使用非常灵活,其中的表达式甚至都可以省略.

〖第37题〗字符串常量是一对单引号括起来的字符序列.

〖第38题〗内联函数体内不能有循环语句、switch语句.

〖第39题〗在类内若没有定义构造与析构函数,系统会自动产生默认的构造与析构函数. 〖第40题〗数组名代表数组首元素的地址.

〖第41题〗goto语句的作用是执行时程序无条件地转移到语句标号所标识处去执行.

〖第42题〗C++标准规定了每种基本类型数据的字节数,例如:在任何情况下int类型的数据一定占4个字节,double类型的数据一定占8个字节等.

〖第43题〗C++中所有类型之间的转换都是系统自动进行的,不需要在程序中进行强制转换. 〖第44题〗一个C++程序总是从main函数开始执行,所以main函数必须放在源程序开头. 〖第45题〗在定义数组时,数组下标表达式中可以包括常量、常变量和符号常量以及变量. 〖第46题〗函数实参与形参应类型相同或赋值兼容.

〖第47题〗函数的形式参数属于局部变量,只在本函数中有效,其他函数不能调用.

〖第48题〗不同函数中不可以使用同名的变量,因为这样会互相干扰.

〖第49题〗指针变量的基类型用来指定该指针变量可以指向的变量的类型.

〖第50题〗程序在使用变量前,必须先声明变量名和变量类型.

〖第51题〗C++中的while循环和do-while循环的循环体执行情况没有什么差别.

〖第52题〗C++规定了一个字符串的结束标志,即以字符'\0'代表.

〖第53题〗C++中浮点型数据只有单精度(float)和双精度(double)两种.

〖第54题〗多分支选择结构只能通过switch-case语句来实现.

〖第55题〗一个变量的定义必须放在所有的执行语句之前.

〖第56题〗数组在内存中不必占据一片连续的存储单元.

〖第57题〗运算符重载是针对新类型数据的实际需要,对原有运算符进行适当的改造.

〖第58题〗C++中可以用字符串常量来初始化字符数组.

〖第59题〗条件运算符是C++中惟一要求三个操作对象的运算符.

〖第60题〗C++中的逻辑运算符都是双目运算符.

〖第61题〗C++中能够通过typedef声明一个新的类型名来代替已有的类型名.

〖第62题〗C++中允许用转义字符表示一些特殊情况的字符常量.

〖第63题〗"using namespace std;"的意思是使用命名空间std,如果要使用C++标准库就

应该使用该声明语句.

〖第64题〗指针的赋值是指把一个地址赋给指针变量.

〖第65题〗题两个字符串的的比较是地址的比较,同理两个和数组的比较也是地址的比较〖第66题〗函数的形参可以是变量也可以是常量

〖第67题〗数组元素做实参是传址

〖第68题〗全局变量在程序的任何位置都可见

〖第69题〗只有直接调用自身的函数才是递归函数

〖第70题〗for循环中的三个表达式都可以省略

三、选择题〖第1题〗在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用()比较合适. A:内联函数B:重载函数C:递归调用D:嵌套调用

〖第2题〗类型修饰符unsigned 修饰()类型是错误的. A:char B:int C:long int D:float

〖第3题〗在C++语言中,下列关于设置参数默认值的描述中,()是正确的.

A:不允许设置参数的默认值B:设置参数默认值只能在定义函数时设置

C:设置参数默认值时,应该是先设置右边的再设置左边的

D:设置参数默认值时,应该全部参数都设置

〖第4题〗当类中一个字符指针成员指向具有n个字节的存储空间时,它所能存储

字符串的最大长度为(). A:n B:n+1 C:n-1 D:n-2

〖第5题〗下列输出字符'A'的方法中()是错误的. A:cout<

C:cout.put('A'); D:char A='A';cout<

〖第6题〗下列()是C++语言的有效标识符. A:_No1 B:No.1 C:12345 D:int

〖第7题〗在对字符数组进行初始化时,()是正确的.

A:char s1[]="abcd"; B:char s2[3]="xyz";

C:char s3[3][]={'a','x','y' }; D:char s4[2][3]={ "xyz","mnp"};

〖第8题〗下列说明中,const char *ptr; ptr应该是().

A:指向字符常量的指针B:指向字符的常量指针

C:指向字符串常量的指针D:指向字符串的常量指针

〖第9题〗下列关于类型转换的描述中,()是错误的.

A:在不同类型操作数组成的表达式中,其表达式类型一定是最高类型double 型

B:逗号表达式的类型是最后一个表达式的类型

C:赋值表达式的类型是左值的类型D:在由低向高的类型转换中是保值映射

〖第10题〗下列各运算符中,()运算的结合性从左到右.A:三目B:赋值C:比较D:单目〖第11题〗已知一个类A有三个公有成员:void f1(int),void f2(int)和int a,()

是指向类A成员函数的指针. A:A *p B:int A::*pc=&A::a C:void A::*pa() D:A *pp 〖第12题〗在C++中,按照标识符的要求,()符号不能组成标识符.

A:连接符B:下划线C:大小写字母D:数字字符

〖第13题〗下列各运算符中,()可以作用于浮点数. A:+ B:% C:>> D:&

〖第14题〗下列定义中,()是定义指向数组的指针p.

A:int *p[5] B:int (*p)[5] C:(int *)p[5] D:int *p[]

〖第15题〗下列()是语句. A:; B:a=17 C:x+y D:cout<<"\n"

〖第16题〗对于int *pa[5];的描述,()是正确的.

A:pa 是一个指向数组的指针,所指向的数组是5个int型元素

B:pa 是一个指向某数组中第5个元素的指针,该元素是int型变量

C:pa[5]表示某个数组的第5 个元素的值

D:pa是一个具有5个元素的指针数组,每个元素是一个int型指针

〖第17题〗下列定义不合法的是().

A:int i; B:const int icl; C:int i=-1; D:const int ic=i;

〖第18题〗当一个函数无返回值时,该函数的类型应定义为().

A:void B:任意C:int D:无

〖第19题〗如果有定义double m=3.2;int n=3;则下列表达式中()是合法的.

A:m<<2 B:(m+n)|n C:!m*=n D:m=5,n=3.1,m+n

〖第20题〗对于函数原型:void testDefaulParam(int a,int b=7,char z='*');

下面的函数调用中,不合法的是().A:testDefaulParam(5); B:testDefaulParam(5,8);

C:testDefaulParam(6,'#'); D:testDefaulParam(0,0,'*');

〖第21题〗下列关于指针的运算中,()是非法的.

A:两个指针在一定条件下,可以进行相等或不等的运算

B:可以把空指针赋值给某个指针变量C:一个指针可以加上或减去一个整数值

D:两个指针在一定条件下,可以相加

〖第22题〗在函数的返回值类型与返回值表达式的类型的描述中,()是错误的.

A:函数返回值的类型是在定义函数时确定,在函数调用时是不能改变的

B:函数返回值的类型就是返回值表达式的类型

C:函数返回值表达式类型与函数返回值类型不同时,表达式类型应转换成函数返回值类型D:函数返回值类型决定了返回值表达式的类型

〖第23题〗在关于C++与C语言关系的描述中,()是错误的.

A:C语言是C++的一个子集B:C++是与C语言兼容的

C:C++对C语言进行了一些改进D:C++和C语言都是面向对象的

〖第24题〗在一个被调用函数中,关于return 语句使用的描述()是错误的.

A:被调用函数中可以不用return 语句B:被调用函数中可以使用多个return 语句

C:被调用函数中,如果有返回值,就一定要有return 语句

D:被调用函数中,一个return 语句可返回多个值给调用函数

〖第25题〗文件包含命令中被包含的文件的扩展名().

A:必须为.h B:不能用.h C:必须是.c D:不一定是.h

〖第26题〗下列关于结构体数组的描述中,错误的是().

A:结构体数组的元素可以是不同结构体类型的结构体变量

B:结构体数组在定义时可以被赋初值C:组成结构体数组的结构体变量的成员可以是数组D:结构体数组可定义在函数体内,也可定义在函数体外

〖第27题〗控制格式输入输出的操作中,()是设置域宽的.

A:ws B:oct C:setfill() D:setw()

〖第28题〗下列double 型常量表示中,()是错误的.A:E15 B:3.5 C:3E5 D:3E-5

〖第29题〗如果有定义int a=5;float b=5.5;则下列表达式中()是非法的.

A:a%3+b B:b * b & & ++a C:(a>b)+(int(b)%2) D:---a+b

〖第30题〗下列字符串常量表示中,()是错误的.

A:"\" yes\"or\"No\" B:"\'OK\'" C:"abcd\n" D:"ABC\0 "

〖第31题〗下列运算符中()不能重载.A:&& B:[] C::: D:new

〖第32题〗设有定义int x; float v; ,则表达式10+x+v值的数据类型是().

A:int B:double C:float D:不确定

〖第33题〗如果有定义int a(5),b(6);则下列各表达式中()有二义性.

A:a+b>3 B:++a+b++ C:b+(a=3) D:(a=3) -a--

〖第34题〗『如果有定义int m=10,则下列表示引用的方法中()是正确的.

A:int &x=m; B:int &y=10; C:int &z; D:float &t=&m;

〖第35题〗下列字符常量表示中,()是错误的.A:'\105' B:'*' C:'\4f' D:'\a'

〖第36题〗重载函数在调用时选择的依据中,()是错误的.

A:参数个数B:参数的类型C:参数的顺序D:函数的类型

〖第37题〗在int a[5] = {1,3,5};中,数组元素a[1]的值是().A:1 B:0 C:3 D:2

〖第38题〗下列各运算符中,()优先级最高.

A:+(双目) B:*(单目) C:<= D:*=

〖第39题〗下列十六进制的整型常数表示中,()是错误的.A:Oxaf B:Oxlb C:2fx D:OxAE 〖第40题〗当使用ofstream流类定义一个流对象并打开一个磁盘文件时,文件的

隐含打开方式为(). A:ios::in B:ios::out C:ios::in | ios::out D:没有

〖第41题〗下列各种高级语言中,()最早提出了对象的概念.

A:Algol 60 B:Simula 67 C:Smalltalk D:C++

〖第42题〗下列关于开关语句的描述中,()是正确的.

A:开关语句中default 子句可以没有,也可有一个

B:开关语句中每个语句序列中必须有break 语句C:开关语句中default 子句只能放在最后D:开关语句中case 子句后面的表达式可以是整型表达式

〖第43题〗下述关于循环体的描述中,()是错误的.

A:循环体中可以出现break 语句和continue 语句B:循环体中还可以出现循环语句

C:循环体中不能出现goto语句D:循环体中可以出现开关语句

〖第44题〗下列关于do…while语句的叙述正确的是().

A:do…while语句所构成的循环不能用其他语句构成的循环来代替.

B:do…while语句所构成的循环可以用break语句跳出.

C:do…while语句所构成的循环只有在while后面的表达式非零时才结束.

D:do…while语句所构成的循环只有在while后面的表达式为零时才结束.

〖第45题〗使用操作子对数据进行格式输出时,应包含()文件.

A:iostream.h B:fstream.h C:iomanip.h D:stdlib.h

〖第46题〗如果有定义int a=3,*p=&a;则*p的值是().

A:变量a 的地址值B:无意义C:变量p的地址值D:3

〖第47题〗p是一个指向类A数据成员m的指针,A1是类A的一个对象.如果要给m赋

值为5,()是正确的. A:A1.p=5 B:A1->p=5 C:A1.*p=5 D:*A1.p=5

〖第48题〗在传值调用中,要求().

A:形参和实参类型任意,个数相等B:实参和形参类型都完全一致,个数相等

C:实参和形参对应的类型一致,个数相等D:实参和形参对应的类型一致,个数任意

〖第49题〗下列描述中()是引用调用.

A:形参是指针,实参是地址值B:形参和实参都是变量

C:形参是数组名,实参是数组名D:形参是引用,实参是变量

〖第50题〗下列关于条件语句的描述中,()是错误的.

A:if 语句中只有一个else 子句B:if 语句中可以有多个else if 子句

C:if 语句中if 体内不能是开关语句D:if 语句的if 体中可以是循环语句

〖第51题〗下述关于break 语句的描述中,()是错误的.

A:break 语句可用于循环体内,它将退出该重循环

B:break 语句可用于开关语句中,它将退出开关语句

C:break 语句可用于if 语句体内,它将退出if 语句

D:break 语句在一个循环体内可以出现多次

〖第52题〗在int b[][3]={{1},{3,2},{4,5,6},{0}};中b[2][2]的值是().A:0 B:5 C:6 D:2 〖第53题〗预处理命令在程序中都是以()开头的. A:* B:# C:: D:/

〖第54题〗在16 位机中,int 型数据在内存中占()字节. A:2 B:4 C:6 D:8

〖第55题〗下列各运算符中,()优先级最低. A:?: B:| C:|| D:!=

〖第56题〗下列各种高级语言中,()是面向对象的程序设计语言.

A:BASIC B:PASCAL C:C++ D:Ada

〖第57题〗如果有定义int a[3][7] ,则下列表示中()是错误的.

A:*(a+1)[5] B:*(*a+3) C:*(*(a+1)) D:*(&a[0][0]+2)

〖第58题〗下列变量名中,()是合法的. A:CHINA B:byte-size C:double D:A+a

〖第59题〗由C++目标文件连接而成的可执行文件的缺省扩展名为().

A:cpp B:exe C:obj D:lik

〖第60题〗C++程序中变量必须()再使用。A:赋值B:定义C:命名D:说明类型〖第61题〗关于‘a'和"a"的描述错误的是()。A:存储方式不同B:输出结果一样C:都是常量D:类型相同

〖第62题〗关于常量叙述错误的是()。

A:常量可以放在赋值符号的左边B:可以不说明直接使用

C:5 是常量D:const float pi=3.14159,pi是常量

〖第63题〗下列do-while循环语句执行循环体的次数是().int i(1),sum(0);do {sum+=i; i++;}while (i<=10);A:9 B:8 C:无限D:10

〖第64题〗下列哪个语句不是多分支语句()

A:if else嵌套B:switch语句C:if else if …else语句D:while语句

〖第65题〗对于for语句下列叙述正确的是().

A:表达式1表达式3都可以省略B:表达式2不可以省略

C:中间用逗号分割D:表达式2只能是逻辑和关系表达式B:B:

〖第66题〗下列叙述哪些是错误的()

A:循环语句可以和选择语句嵌套B:循环语句能强行退出

C:while和do…while执行结果没有差别D:for语句和while语句可以相互替代〖第67题〗关于数组的定义,以下叙述是错误的是().

A:数组名后面[]中可以是变量B:数组名后面方括号中表达式代表元素的个数

C:数组只能在编译阶段确定初值D:int a(5)表示含5个元素的数组

〖第68题〗关于数组描述错误的是()

A:数组必须先定义再使用B:数组可以在定义的同时赋初值

C:数组元素的类型可以不一致D:数组名代表数组元素的首地址

〖第69题〗int a[8][5],这个数组中元素的个数是().A:13 B:40 C:5 D:8 〖第70题〗对下列一段代码描述错误的是

int A[10],B[10];

for(int i=0;i<10;i++)

{ A[i]=2*i-1;

B[10-i-1]=A[i];

}

A:这段代码使B数组中的元素刚好是A数组中的元素的逆序排列

B:这段代码的循环体执行了10次C:这段代码退出时i的值为11

D:该for循环完全可以用一个while循环替代

四、程序填空〖第1题〗『程序填空』

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

题目:打印图形

*****

****

***

**

*

-------------------------------------------------------*/

#include

void main()

{

char c[6];int i,j;

for(i=0;i<5;i++)

{

/***********SPACE***********/

【?】;

/***********SPACE***********/

for(【?】)

/***********SPACE***********/

c【?】='*';

/***********SPACE***********/

cout<<【?】;

}

}

〖第2题〗『程序填空』

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

题目:输入若干学生成绩,以负数或者大于100作为输入结束。统计100,90-99,80-89,70-79,60-69,0-60各段的人数。

-------------------------------------------------------*/

#include

void main()

{

int s,n[6],i,m;

for(i=0;i<6;i++)

/***********SPACE***********/

【?】;

cin>>s;

while(s>=0 && s<=100)

/***********SPACE***********/

{m=【?】;

if(m<1)

m=0;

/***********SPACE***********/

【?】;

/***********SPACE***********/

【?】;

}

cout<<" 0-59"<<" "<

for(i=1;i<5;i++)

cout<<(i+5)*10<<"-"<<(i+5)*10+9<<" "<

cout<<" 100 "<

}

〖第3题〗『程序填空』(1分)(题号:340)

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

题目:判断一个自然数是否为降序数,如图1。

-------------------------------------------------------*/

#include

void main()

{int m[100],n,i,j;

cin>>n;

for(i=0;n!=0;i++)

{

m[i]=n%10;

/***********SPACE***********/

【?】

}

/***********SPACE***********/

for(j=0;j

/***********SPACE***********/

if(【?】)

cout<<"yes";

else

/***********SPACE***********/

【?】<<"no";

}

〖第4题〗『程序填空』

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

题目:对任意10个串按升序排序,每个串的长度小于20个字符。-------------------------------------------------------*/

#include

#include

#include

void main()

{

/***********SPACE***********/

char temp[20],【?】;

int i,j,l;

for(i=0;i<10;i++)

gets(word[i]);

for(i=0;i<9;i++)

{

l=i;

/***********SPACE***********/

for(【?】)

if(strcmp(word[l],word[j])>0)

/***********SPACE***********/

【?】;

strcpy(temp,word[i]);

/***********SPACE***********/

【?】;

strcpy(word[l],temp);

}

for(i=0;i<10;i++)

cout<

}

〖第5题〗『程序填空』

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

题目:在一维数组中统计正数和负数的个数,正数的个数存入变量C1中,负数的个数存入变量C2中。

-------------------------------------------------------*/

#include

void main()

{

int a[10]={1,-2,3,4,-5,6,7,8,-9,10};

/***********SPACE***********/

【?】

/***********SPACE***********/

for (int i=0;【?】;i++)

/***********SPACE***********/

if(【?】>0)

c1++;

else

/***********SPACE***********/

【?】;

cout<

}

〖第6题〗『程序填空』

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

题目:将一维数组大于等于平均值的元素存入另一个数组,小于平均值的元素仍存在原数组,并打印这两个数组。

-------------------------------------------------------*/

#include

void main()

{

int i,la,lb,n;

float a[100],b[100],sum,av;

/***********SPACE***********/

【?】;

for(i=0;i

cin>>a[i];

/***********SPACE***********/

【?】;

for(i=0;i

sum+=a[i];

/***********SPACE***********/

【?】;

la=lb=0;

for(i=0;i

if(a[i]>=av)

b[lb++]=a[i];

else

/***********SPACE***********/

{【?】;

}

for(i=0;i

cout<

cout<<'\n';

for(i=0;i

cout<

}

〖第7题〗『程序填空』

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

题目:以下程序的功能是产生并输出杨辉三角的前七行。

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

1 5 10 10 5 1

1 6 15 20 15 6 1

-------------------------------------------------------*/

#include

void main ( )

{

/***********SPACE***********/

【?】;

int i,j,k;

for (i=0;i<7;i++)

/***********SPACE***********/

{a[i][0]=1; 【?】;}

for (i=2;i<7;i++)

for (j=1;j

/***********SPACE***********/

a[i][j]=【?】;

for (i=0;i<7;i++)

{

/***********SPACE***********/

for (j=0;【?】;j++)

cout<

cout<

}

}

〖第8题〗

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

题目:某公司有若干职员,利用循环来输入任意个职员的信息并计算工资。从标准输入读入某职员的工作时间(以小时计)和每小时的工资。若职员工作时间超过40小时,则超过部分按原工资的1.5倍来计算。

-------------------------------------------------------*/

#include

void main()

{

float n,m,s,rs;

cout<<"职工个数:";

/***********SPACE***********/

cin>>【?】;

/***********SPACE***********/

for(int i=1;i<=【?】;i++)

{

cout<<"第"<

cout<<"输入工作小时:";

cin>>n;

cout<<"输入每小时工资:";

cin>>m;

if(n>40)

/***********SPACE***********/

s=40*m+【?】*1.5*m;

else

/***********SPACE***********/

s=【?】;

cout<<"工资总数:"<

}

}

〖第9题〗

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

题目:从键盘输入一个正整数N,将N分解为质因数的积,并输出各因数。

-------------------------------------------------------*/

#include

#include

void main()

{

int n,r,k,m;

cin>>n;

m= sqrt(n);

for(k=2;k<=m;)

{

/***********SPACE***********/

r=【?】;

if(r==0)

{cout<

/***********SPACE***********/

n=【?】;}

else

/***********SPACE***********/

【?】;

}

/***********SPACE***********/

if(【?】)cout<

}

〖第10题〗『程序填空』

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

题目:以下程序用来对从键盘上输入的两个字符串进行比较,然后输出两个字符串中第一个不相同字符的ASCII码之差。

例如:输入的两个字符串分别为abcdef和abceef,则输出为-1,请填空。

-------------------------------------------------------*/

#include

#include

void main()

{

char str1[50],str2[50];

int i,s;

cout<<"\n input string 1:\n";

/***********SPACE***********/

【?】;

cout<<"\n input string 2:\n";

cin.getline(str2,50);

i=0;

/***********SPACE***********/

while((【?】)&&(str1[i]!='\0'))

/***********SPACE***********/

【?】;

/***********SPACE***********/

【?】;

cout<

}

〖第11题〗『程序填空』

/*------------------------------------------------------- 【程序填空】

---------------------------------------------------------

题目:求N个任意数的最大值和最小值之差。-------------------------------------------------------*/

#include

void main()

{

float x[100],max,min,r;

int i,n;

cin>>n;

/***********SPACE***********/

for(i=0;i<【?】;i++)

cin>>x[i];

/***********SPACE***********/

max=min=【?】;

for(i=0;i

/***********SPACE***********/

{if(【?】)

max=x[i];

/***********SPACE***********/

if(【?】)

min=x[i];

}

r=max-min;

cout<

}

〖第12题〗『程序填空』

/*------------------------------------------------------- 【程序填空】

--------------------------------------------------------- 题目:求1-50之间的偶数和。

-------------------------------------------------------*/ #include

void main()

{

/***********SPACE***********/

【?】;

k=0;i=1;

/***********SPACE***********/

while(【?】)

/***********SPACE***********/

{if(【?】)

{

k+=i;}

i++;

}

/***********SPACE***********/

cout<<【?】;

}

〖第13题〗『程序填空』

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

题目:在一维数组中统计正数和负数的和,正数的和存入变量s1中,负数的和存入变量s2中。

-------------------------------------------------------*/

#include

void main()

{

int a[10]={1,-2,3,4,-5,6,7,8,-9,10};

/***********SPACE***********/

【?】

/***********SPACE***********/

for (int i=0;【?】;i++)

/***********SPACE***********/

if(【?】>0)

s1=s1+a[i];

else

/***********SPACE***********/

【?】;

cout<

}

〖第14题〗『程序填空』

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

题目:从键盘输入两个正整数求最大公约数

-------------------------------------------------------*/

#include

void main()

{ int m,n,k;

cin>>m>>n;

/***********SPACE***********/

k=【?】;

/***********SPACE***********/

while(【?】)

{m=n;

/***********SPACE***********/

【?】;

/***********SPACE***********/

k=【?】;

}

cout<

}

〖第15题〗『程序填空』

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

题目:求100-1000之间的水仙花数(水仙花数是每位数字的立方和等于这个数本身的三位数,范例见图1。)

-------------------------------------------------------*/

#include

void main()

{

int i,i1,i2,i3,m;

/***********SPACE***********/

for(i=100; i<【?】;i++)

{

/***********SPACE***********/

i1=【?】;

/***********SPACE***********/

i2=【?】;

/***********SPACE***********/

i3=【?】;

m=i1*i1*i1+i2*i2*i2+i3*i3*i3;

if(i==m)

cout<

}

}

〖第16题〗『程序填空』

/*------------------------------------------------------- 【程序填空】

---------------------------------------------------------

题目:求三个数的最大公约数。

-------------------------------------------------------*/

#include

void main()

{

int a,b,c,n,n1,n2,n3;

cin>>a>>b>>c;

if(a

n=a;

else

n=b;

if(n>c)

n=c;

do

{

/***********SPACE***********/

n1=【?】;

/***********SPACE***********/

n2=【?】;

n3=c%n;

/***********SPACE***********/

【?】;

}

while(n1!=0||n2!=0||n3!=0);

/***********SPACE***********/

cout<<【?】;

}

〖第17题〗『程序填空』

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

题目:输出4行4列矩阵的转置矩阵

-------------------------------------------------------*/

#include

void zz(int a[4][4])

{ int b,i,j;

for(i=0;i<4;i++)

/***********SPACE***********/

for(j=0;j<【?】;j++)

{b=a[i][j];

a[i][j]=a[j][i];

/***********SPACE***********/ 【?】;}

}

void main()

{

/***********SPACE***********/

int【?】,i,j;

for(i=0;i<4;i++)

for(j=0;j<4;j++)

cin>>a[i][j];

/***********SPACE***********/

【?】;

for(i=0;i<4;i++)

{for(j=0;j<4;j++)

cout<

cout<

}

}

〖第18题〗『程序填空』

/*------------------------------------------------------- 【程序填空】

--------------------------------------------------------- 题目:计算1+2+3+ (10)

-------------------------------------------------------*/

C语言期末考试题库(第一章 c语言基

一、单项选择 1.算术运算符,赋值运算符和关系运算符的运算优先级按从高到低的顺序依次为(). A、关系运算,赋值运算,算术运算 B、算术运算,关系运算,赋值运算 C、算术运算,赋值运算,关系运算 D、关系运算,算术运算,赋值运算 答案:B 2.下述正确的C语言常量是:(). A、E2 B、3e-3 C、1.5E2.5 D、5.0E 答案:B 3.使用共用体变量,不可以(). A、进行动态管理 B、节省存储空间 C、同时访问所有成员 D、简化程序设计 答案:C 4.为表示关系x>=y>=z,应使用C语言表达式为:()

A、(x>=y)&(y>=z) B、(x>=y>=z) C、(x>=y)&&(y>=z) D、(x>=y)AND(y>=z) 答案:C 5.以下程序的输出结果是(). main() {char str[]="ABCD",*p=str;printf("%s\n",p);} A、68 B、ABCD C、不确定的值 D、字符D的地址 答案:B 6.char a[10];不能将字符串"abc"存储在数组中的是(). A、a="abc"; B、a[0]=0;strcat(a,"abc"); C、int i;for(i=0;i<3;i++)a[i]=i+97;a[i]=0; D、strcpy(a,"abc"); 答案:A 7.fscanf函数的正确调用形式是(). A、fscanf(文件指针,格式字符串,输入表列);

B、fscanf(格式字符串,文件指针,输出表列); C、fscanf(fp,格式字符串,输出表列); D、fscanf(格式字符串,输出表列,fp); 答案:A 8.下列数组说明中正确的是(). A、int array[][]={1,2,3,4,5,6,7,8,9,10}; B、int array[][][5]={1,2,3,4,5,6,7,8,9,10}; C、int array[][4]={1,2,3,4,5,6,7,8,9,10}; D、int array[3][]={1,2,3,4,5,6,7,8,9,10}; 答案:C 9.以下选项中,与k=n++完全等价的表达式是(). A、n=n+1,k=n B、k+=n+1 C、k=++n D、k=n,n=n+1 答案:D 10.针对下列程序段回答问题(). for(t=1;t<=100;t++) { scanf("%d",&x); if(x<0)continue;

C语言期末考试题(含答案)

《C 语言程序设计》期末试卷 一、单项选择题(10x2’=20’) 1、以下叙述正确的是() A )C 语言的源程序不必通过编译就可以直接运行。 B ) C 语言中的每条可执行语句最终都将被转换成二进制的机器指令。 C )C 语言源程序经编译形成的二进制代码可以直接运行。 D )C 语言中的函数不可以单独进行编译。 2、一个C 语言的源程序中() A )必须有一个主函数 B )可能有多个主函数 C )必须有除主函数外其它函数 D )可以没有主函数 3、以下不能定义为用户标识符的是() A )scanf B )Void C )_3com D )int 4、若以下选项中的变量已正确定义,则正确的赋值语句是() A )x1=26.8%3; B )1+2=x2; C )x3=0x12; D )x4=1+2=3; 5、设有定义:floata=2,b=4,h=3;以下C 语言表达式中与代数式h b a *)(2 1 的计算结果不.相符的是() A )(a+b)*h/2 B )(1/2)*(a+b)*h C )(a+b)*h*1/2 D )h/2*(a+b) 6、C 语言中用于结构化程序设计的3种基本结构是() A )顺序结构、选择结构、循环结构 B )if 、switch 、break C )for 、while 、do-while D )if 、for 、continue 7.在while (!x )语句中的!x 与下面条件表达式等价的是() A)x!=0B)x==1C)x!=1D)x==0

8、有以下程序: #include voidmain(){ inti=1,j=1,k=2; if((j++||k++)&&i++) printf(“%d,%d,%d\n”,i,j,k);} 执行后的输出结果是() A)1,1,2 B)2,2,1 C)2,2,2 D)2,2,3 9、有以下程序: #include voidmain(){ inti,s=0; for(i=1;i<10;i+=2) s+=i+1; printf(“%d\n”,s);} 程序执行后的输出结果是() A)自然数1~9的累加和B)自然数1~10的累加和 C)自然数1~9中奇数之和D)自然数1~10中偶数之和 10、有以下函数定义: voidfun(intn,doublex){……} 若以下选项中的变量都已经正确定义并赋值,则对函数fun的正确调用语句是()A)fun(inty,doublem); B)k=fun(10,12.5); C)fun(x,n);D)voidfun(n,x); 二、填空题(10x2’=20’) 11、C语言描述“x和y都大于或等于z”的表达式是:。 12、函数定义时涉及的基本要素是:、、。

C语言期末考试试题

C语言试题1 一填空题(15分) 1.设x的值为15,n的值为2,则表达式x%=(n+=3)运算后,x的值为()。 2.设int a=7,b=9,t;执行完表达式t=(a>b)?a:b后,t的值是()。 3.下面程序段的输出结果是()。 int a=1234; a=a&0377; printf(“%d %o\n”,a,a); 4.a数组定义如下,按照内存排列顺序,a数组中的所有元素是()。 char a[3]; 5.设有以下宏定义,则执行赋值语句a=PP*20;(a为int型变量)后,a的值是()。 #define PR 80 #define PP PR+403 6.在C程序中,可以通过三种运算方式为指针变量赋地址值,它们是:()、()和()。7.在C文件中,数据存在的两种代码形式是()和()。 8.C语言中调用()函数打开文件,调用()函数关闭文件,调用()函数可实现文件的随机读写。 9.若有int a[3]={10,12,30};则a+1是()的地址,*(a+2)=()。 二判断对错(5分,对的划“√”,错的划“×” 1.在Turbo C中,整型数据在内存中占2个字节。() 2.表达式1/4+2.75的值是3。() 3.结构体类型只有一种。() 4.函数若无返回值,则它一定无形参。() 5.C语言只能处理文本文件和二进制文件。() 三选择题(20分) 1.设int a=12; 表达式a+=a-=a*=a的值是()。 A 12 B 144 C 0 D 132 2.以下程序的输出结果是()。 main( ) { int a=011; printf(“%d\n”,++a); } A 12 B 11 C 10 D 9 3.以下程序的输出结果是()。 #define ADD(x) (x)+(x) main() { int a=4,b=6,c=7,d=ADD(a+b)*c; printf(“d=%d”,d); } A d=70 B d=140 C d=280 D d=80 4.下面的选项中正确的赋值语句是(char a[5],*p=a;)()。 A p=“abcd”; B a=“abcd”; C *p=“abcd”; D *a=“abcd”; 5.若k为整形,则while循环执行()次。 k=2; while(k==0) printf(“%d”,k); k--; printf(“\n”); A 10 B 9 C 0 D 1

(完整版)c语言期末考试题及其答案

选择题(7分,每小题0.5分) 1.C语言源程序的基本单位是()。 A 过程 B 函数 C 子程序 D 标识符 2.下列程序的输出结果是()。 main( ) { int a=7,b=5; printf("%d\n",b=b/a); } A 5 B 1 C 0 D不确定值 3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是()。 A 7 B 8 C 9 D 2 4.设a为int型变量,执行下列赋值语句后,a的取值分别是()。 a=125.534; a=(int)125.521%4; a=5<<2; A 125,31,1 B 125,1,20 C 125,31,20 D 125.534,2,20 5.设有如下程序段,下面描述中正确的是()。 int k=10; while(k=0) k=k-1; A 循环执行一次B循环是无限循环C循环体语句一次也不执行D循环体语句执行一次 6.以下程序的输出结果为()。 int i; void prt( ) { for(i=5;i<8;i++) printf("%c",'*'); printf("\t"); } main( ) { for(i=5;i<=8;i++) prt( ); } A *** B *** *** *** *** C *** *** D * * * 7.在C语言程序中,以下说法正确的是()。 A函数的定义可以嵌套,但函数的调用不可以嵌套 B函数的定义不可以嵌套,但函数的调用可以嵌套

C函数的定义和函数的调用都不可以嵌套 D函数的定义和函数的调用都可以嵌套 8.以下函数调用语句中含有()个实参。 func((e1,e2),(e3,e4,e5)); A 2 B 3 C 5 D 语法错误 9.以下程序的输出结果为()。 #define ADD(x) x*x main( ) { int a=4,b=6,c=7,d=ADD(a+b)*c; printf("d=%d",d); } A d=70 B d=80 C d=140 D d=700 10.已知职工记录描述如下,在Turbo C中,系统为变量w分配()字节的空间。 struct worker { int no; char name[20]; char sex; union { int day; int month; int year;}birth; } w; A 29 B 20 C 25 D 6 11.设有以下定义,值为5的枚举常量是()。 enum week{sun,mon=4,tue,wed,thu,fri,sat} w; A tue B sat C fri D thu 12.下面选项中正确的赋值语句是(设char a[5],*p=a;)()。 A p="abcd"; B a="abcd"; C *p="abcd"; D *a="abcd"; 13.设有以下程序段,则值为6的表达式是()。 struct st { int n; struct st *next;}; static struct st a[3]={5,&a[1],7,&a[2],9,0 },*p; p=&a[0]; A p++->n B ++p->n C p->n++ D (*p).n++ 写出下列程序的运行结果(10分,每小题2分) 1.float average (float array[10]) { int i;

c语言期末考试试题

一、单项选择题。(每题1分,共20分) 1. C程序的基本单位是:() A.子程序 B.程序 C.子过程 D.函数 2.在C语言中,非法的八进制是:() A.016 B.018 C.017 D.02 3. 不是C语言实型常量的是:() A.55.0 B.0.0 C.55.5 D.55e2.5 4 .字符串“xyzw”在内存中占用的字节数是:() A.6 B.5 C.4 D.3 5. 若已定义f,g为double类型,则表达式:f=1,g=f+5/4的值是:() A.2.0 B.2.25 C.2.1 D.1.5 D.1.5 D.1.5 D.1.5 6. 若有语句char c1=`d`,c2=`g`;printf(“%c,%d\n”,c2- `a`,c2-c1);则输出结果为:() (a的ASCII码值为97) A.M,2 B.G,3 C.G,2 D.D,g 7. 使用语句scanf(“a=%f,b=%d”,&a,&b);输入数据时,正确的数据 输入是:() A.a=2.2,b=3 B.a=2.2 b=3 C.2.2 3 D.2.2,3 8.表示关系12<=x<=y的C语言表达式为:() A.(12<=x)&(x<=y) B. (12<=x)&&(x<=y) C. (12<=x)|(x<=y) D.(12<=x)||(x<=y) 9.设x=1,y=2,m=4,n=3,则表达式x>y?x:mc4)后,s,t的值为:() A.1,2 B.1,1 C.0,1 D.1,0 12. 语句for(a=0,b=0;b!=100&&a<5;a++)scanf(“%d”,&b); scanf最多可执行次数为:() A.4 B.6 C.5 D.1 13. 对于for(s=2;;s++)可以理解为:()

2019年C语言期末考试题与答案

1、给定n个数据, 求最小值出现的位置(如果最小值出现多次,求出第一次出现的位置即可)。 最大值第三行i<=n五行k+1 2、编写程序求无理数e的值并输出。计算公式为: e=1+1/1!+1/2!+1/3!+......+1/n! 当1/n!<0.000001时e=2.718282。 3、求一批数中最大值和最小值的积。 4、某一正数的值保留2位小数,对第三位进行四舍 五入。 5、从键盘上输入任意实数x,求出其所对应的函数值。 z=(x-4)的二次幂(x>4) z=x的八次幂(x>-4) z=z=4/(x*(x+1))(x>-10) z=|x|+20(其他)6、求出N×M整型数组的最大元素及其所在的行坐标 及列坐标(如果最大元素不唯一,选择位置在最前面 的一个)。 例如:输入的数组为: 1 2 3 4 1 5 6 12 18 9 10 11 2 求出的最大数为18,行坐标为2,列坐标为1。 7、求一个n位自然数的各位数字的积。(n 是小于10的自然数) 8、计算n门课程的平均值,计算结果作为函数值返回。例如:若有5门课程的成绩是:92,76,69,58,88,则函数的值为76.599998。 9、求一批数中小于平均值的数的个数。

10、编写函数判断一个整数m 的各位数字之和能否被7整除, 可以被7整除则返回1,否则返回0。调用该函数找出 100~200之间满足条件的所有数。 11、请编一个函数void fun(int tt[M][N],int pp[N]), tt 指向一个M 行N 列的二维数组,求出二维数组每列 中最大元素,并依次放入pp 所指一维数组中。二维 数组中的数已在主函数中赋予。 12、编写函数fun 用比较法对主程序中用户输入的具有10 个数据的数组a 按由大到小排序,并在主程序中输出 排序结果。 13、编写main 程序调用函数fact 求解从m 个元素选n 个元 素的组合数的个数。计算公式是:组合数=m!/(n!.(m-n)!)。 要求:m 不能小于n ,否则应有容错处理。 说明:函数fact(x)的功能是求x!。 14、找出一批正整数中的最大的偶数。 15、实现两个整数的交换。 例如:给a 和b 分别输入:60和65,输入为: a=65 b=60 16、将字符串中的小写字母转换为对应的大写字母, 其它字符不变。 17、求一个四位数的各位数字的立方和。 18、求一组数中大于平均值的数的个数。 例如:给定的一组数为1,3,6,9,4,23,35,67,12,88时,函 数值为3。 19、对任意输入的 x ,用下式计算并输出 y 的值。 5 x<10 y= 0 x=10 -5 x>10

大学C语言期末考试习题集(带详解答案)

一、单项选择题 1.(A)是构成C语言程序的基本单位。 A、函数 B、过程 C、子程序 D、子例程 2.C语言程序从 C开始执行。 A) 程序中第一条可执行语句 B) 程序中第一个函数 C) 程序中的main函数 D) 包含文件中的第一个函数 3、以下说法中正确的是(C)。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是(B)。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C)。 A.-a1 B.a[i] C.a2_i D.int t 5~8题为相同类型题 考点:标识符的命名规则 (1)只能由字母、数字、下划线构成 (2)数字不能作为标识符的开头 (3)关键字不能作为标识符 选项A中的“-”,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3) 6.下列C语言用户标识符中合法的是( B)。 A)3ax B)x C)case D)-e2 E)union 选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1); 7.下列四组选项中,正确的C语言标识符是(C)。 A) %x B) a+b C) a123 D) 123 选项A中的“%”,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2) 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。 A、print _3d db8 aBc B、I\am one_half start$it 3pai

大一C语言期末考试题

大一C语言期末考试题 悬赏分:40 |解决时间:2010-6-29 14:28 |提问者:345387547 1. 数组int a[3][5]; 共定义了_______________个元素。 2. 有float f= 3.1415927; 则printf(“%5.4f”, f );输出的结果是 _______________。 3. 下面程序的功能是:输出100以内(不包含100)能被3整除且个位数为6的所有整数,请填空。 main( ) { int i; for(i=1; _______________; i++) if (_______________) printf("%d", i); } 4. 设有“int x=2, y”说明,则逗号表达式“y=x+5,x+y”的值是 _______________ 5. 以下是使用指针,进行字符串复制的程序,请填空。 main() { char a[]= “Tsinghua University”, b[30], *p1,*p2; p1=a; p2=b; for(; *p1!= _______________; p1++, p2++) _______________=_______________; *p2= ______________; printf(“string a is:%s\n”,a); printf(“string b is:%s\n”,b); } 6. 下面程序用冒泡法对数组a进行降序排序,请填空。 main() { int a[5]={4,7,2,5,1}; int i,j,m; for(i=0;i<4;i++) for(j=0;j<_______________;j++) if( _______________< _______________ ) { m=a[ j]; a[ j]=a[ j+1]; a[ j+1]= m; } for(i=0;i<5;i++) printf("%d ",a[i]); } 7. 函数fun的功能是:使一个字符串按逆序存放,请填空。 void fun (char str[]) { char m; int i,j; for(i=0,j=strlen(str);i<_______________;i++,j--)

2013年c语言期末考试题

1、给定n 个数据, 求最小值出现的位置(如果最小值 出现多次,求出第一次出现的位置即可)。 最大值 第三行i<=n 五行k+1 2、编写程序求无理数e 的值 并输出。计算公式为: e=1+1/1!+1/2!+1/3!+......+1/n! 当1/n!<0.000001时e=2.718282。 3、求一批数中最大值和最小值的积。 4、某一正数的值保留2位小数,对第三位进行四舍 五入。 5、从键盘上输入任意实数x,求出其所对应的函数值。 z=(x-4)的二次幂(x>4) z=x 的八次幂(x>-4) z=z=4/(x*(x+1))(x>-10) z=|x|+20(其他) 6、求出N ×M 整型数组的最大元素及其所在的行坐标 及列坐标(如果最大元素不唯一,选择位置在最前面 的一个)。 例如:输入的数组为: 1 2 3 4 15 6 12 18 9 10 11 2 求出的最大数为18,行坐标为2,列坐标为1。 7、求一个n 位自然数的各位数字的积。(n 是小于10的 自然数) 8、计算n 门课程的平均值,计算结果作为函数值返回。 例如:若有5门课程的成绩是:92,76,69,58,88, 则函数的值为76.599998。 9、求一批数中小于平均值的数的个数。 10、编写函数判断一个整数m 的各位数字之和能否被7整除, 可以被7整除则返回1,否则返回0。调用该函数找出 100~200之间满足条件的所有数。 11、请编一个函数void fun(int tt[M][N],int pp[N]), tt 指向一个M 行N 列的二维数组,求出二维数组每列 中最大元素,并依次放入pp 所指一维数组中。二维 数组中的数已在主函数中赋予。

C语言期末考试复习题及答案

C语言期末考试复习题及答案 一、选择题:下列各题A)、B)、C)、D)四个选项中只有一个是正 确的,请将正确的选项涂写在答案纸上。答在试卷上不得分。 (1)C语言规定:在一个源程序中,main函数的位置 D 。 A)必须在最后B)必须在系统调用的库函数的后面。 C)必须在最开始。。D)可以任意 (2) C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符 A 。 A)必须为字母或下划线。。B)必须为下划线。 C)必须为字母D)可以是字母、数字和下划线中的任一种字符。 (3)下面四个选项中,均是正确的八进制数或十六进制数的选项是 B 。 A)-10 0x8f -011 B) 010 -0x11 0xf1 C) 0abc -017 0xc D) 0a12 -0x123 -0xa (4) C语言中int型数据在内存中占两个字节,则unsegned int取值范围是 A 。 A)0 ~ 65535 B)0 ~ 32767 C)-32767 ~ 32768 D)-32768 ~ 327687 (5) 若有定义:int a = 7; floa x = , y = ; 则表达式x + a % 3 * (int) (x + y) % 2/4 的值是 D 。 A) B) 0.00000 C) D) (6)已知ch是字符型变量,下面不正确的赋值语句是 B 。 A)ch = 5 + 9 ; B) ch= ' a + b '; C) ch = ' \ 0 '; D) ch= '7' + '6' ; (7) 设x , y和z是int型变量,且x = 3, y = 4 , z = 5 则下面表达式中值为0的

c语言期末测试题

课程代码:A100002座位号: 《计算机技术基础(C语言)》试卷A 姓名: 学号: 专业: 学院: 班级: 20 年月日 第一部分 选择题(共 30 分) 一、单项选择题(本大题共 15 小题,每题只有一个正确答案,答对一题得 2 分,共 30 分) 1、以下关于C语言标识符的描述中,正确的是【】。 A)标识符可以由汉字组成 B)标识符只能以字母开头 C)关键字可以作为用户标识符 D)Area与area是不同的标识符 2、使下列程序段输出“123,456,78”,键盘输入数据,正确的输入是【】。 int i,j,k; scanf(“%d,%3d%d”,&i,&j,&k); printf(“%d,%d,%d\n”,i,j,k); A) B)123,456,78 C)123,45678 D)123,*45678 3、判断char类型的变量c1是否为数字字符的正确表达式为【】。 A) (c1>=0)&&(c1<=9) B) (c1>=’0’)&&(c1<=’9’) C) ’0’<=c1<=’9’ D) (c1>=’0’)||(c1<=’9’) 4、若有语句int a=1,b=2,c=3;则以下值为0的表达式是【】。 A)’a’&&’b’ B)a<=b C)((a>b)||(b

A. *(a[0]+2) B. a[1][3] C . a[1][0] D. *(*(a+1)+2) 6、在循环语句的循环体中执行break语句,其作用是【】。A)跳出该循环体,提前结束循环 B)继续执行break语句之后的循环体各语句 C)结束本次循环,进行下次循环 D)终止程序运行 7、执行语句for(i=10;i>0;i--);后,变量i的值为【】。A)10 B)9 C)0 D)1 8、若有int *p1, *p2,k; 不正确的语句是【】 A. p1=&k B. p2=p1 C. *p1=k+12 D. k=p1+p2 9、在函数中未指定存储类别的局部变量,其隐含的存储类别是【】 A. 静态(static) B. 外部(extern) C. 自动(auto)D. 寄存器(register) 10、如下程序的输出结果是【】 main( ) { int x=2,a=0,b=0; switch(x) { case 2: a++; b++; case 1: ++a; b--; break; case 0: b++;} printf("a=%d, b=%d\n", a, b);} A. a=2, b=0 B. a=2, b=1 C. a=1, b=1 D. a=1, b=0 11、表示关系a main() {int x; scanf(“%d”,&x); if(x<=3) ; else if(x !=10)printf(“%d\n”,x); } 程序运行时,输入的值在哪个范围才会有输出结果。【】

C语言期末考试_试题及答案_最新201

C语言期末考试试题及答案最新2012年 一、单项选择题 1. ()是合法的用户自定义标识符。 A、b-b B、float C、 D、_isw 2. 若变量已正确定义并赋值,表达式()不符合C 语言语法。 A、a*b/c; B、3.14%2 C、2, b D、a/b/c 3. ()是不正确的字符常量。 A、'n' B、'1' C、"a" D、'101' 4?在C程序中,用()表示逻辑值真” A、1 B、非0的数 C、非1的数 D、大于0的数 5. ()把x、y 定义成float 类型变量,并赋同一初值3.14。 A、float x, y=3.14; B、float x, y=2*3.14; C、float x=3.14, y=x=3.14; D、float x=y=3.14; 6. 若变量已正确定义,表达式()的值不是2。 A、2&3 B、1?1G a==2D 1八3 7?若变量已正确定义,语句“ if(a>b)k=0;elsek=1和()等价。 A、k=(a>b)?1:0; B、k=a>b; C、k=a<=b; D、a<=b ? 0 : 1; 8?设变量定义为“int a, b;,执行下列语句时,输入(),则a和b的值都是10。 scanf("a=%d, b=%d",&a, &b);

A、10 10 B、10, 10 C、a=10 b=10 D、a=10, b=10 9. 下列程序的输出结果是()。 fun(int a, int b, int c) { c =a*b; } void main() { int c; fun(2,3,c); printf(” %dn” ,c); } A、0 B、1 C 6 D、无法确定 10. 在C 程序中,若对函数类型未加说明,则函数的隐含类型为() A、int B、double C、void D、char 11. 表达式strlen(” he的0值是)()。 A、4 B、5 C、6 D、7 12. 设变量定义为“ int a[4];,则表达式()不符合C语言语法。 A、*a B、a[0] C、a D、a++ 13. 设变量定义为“int x, *p=&x;,则&*p相当于()。 A、p B、*p C、x D、*&x 14. 若变量已正确定义,()不能使指针p成为空指针。 A、p=EOF B、p=0 C、p=''、D p=NULL 15. 对于以下的变量定义,表达式()不符合C语言语法。 struct node { int len;

c语言期末测试题附答案)

课程代码:A100002 座位号: 《计算机技术基础(C 语言)》试卷A 姓名: 学号: 专业: 学院: 班级: 20 年 月 日 第 一、 单项选择题(本大题共 15 小题,每题只有一个正确答案,答对 一题得 2 分,共 30 分) 1、以下关于C 语言标识符的描述中,正确的是 【 】。 A )标识符可以由汉字组成 B )标识符只能以字母开头 C )关键字可以作为用户标识符 D )Area 与area 是不同的标识符 2、使下列程序段输出“123,456,78”,键盘输入数据,正确的输入是【 】。 int i,j,k; scanf(“%d,%3d%d”,&i,&j,&k ); printf(“%d,%d,%d \n”,i,j,k); 3、判断char 类型的变量c1是否为数字字符的正确表达式为 【 】。 A) (c1>=0)&&(c1<=9) B) (c1>=’0’)&&(c1<=’9’) C) ’0’<=c1<=’9’ D) (c1>=’0’)||(c1<=’9’) 4、若有语句int a=1,b=2,c=3;则以下值为0的表达式是 【 】。 A )’a’&&’b’ B )a<=b C )((a>b)||(b0;i--);后,变量i 的值为 【 】。 A )10 B )9 C )0 D )1 8、若有int *p1, *p2,k; 不正确的语句是 【 】

c语言期末考试试题及答案

1. 一个C程序的组成部分可以是()。 A)一个主函数和一至若干个其他函数B)一至若干个主函数 C)一个主程序和一至若干个其他函数D)一个主程序和一至若干个子程序 2. 一个C程序的执行是从()。 (A)本程序的main函数开始,到main函数结束 (B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 (C)本程序的main函数开始,到本程序文件的最后一个函数结束 (D)本程序文件的第一个函数开始,到本程序main函数结束 3. C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符()。 A)必须为字母B)必须为下划线C)必须为字母或下划线 D)可以是字母、数字和下划线中任一种字符 4. 设有定义:int m=1,n=-1;则执行语句printf("%d\n",(m--&++n);后的输出结果是()。 A)–1 B)0 C) 1 D) 2 5. 表达式11&10的结果用二进制表示为()。 A)11B)3C)1D)10 6. 设有语句int a=3;则执行语句a+=a-=a*a后,变量a的值是()。 (A)3(B)0(C)9(D)-12 7. 在下列选项中,不的赋值语句是()。 A)t/=5;B)n1=(n2=(n3=0));C)k=i==j;D)a=b+c=1; 8. 下列( )表达式不满足:当x的值为偶数时值为"真",为奇数时值"假"。 A)X%2==0B)!x%2!=0 C)(x/2*2-x)==0D)!(x%2) 9. 若有定义:int a=8,b= 5,c;执行语句c=a/b+0.4 后c的值为() A)1.4 B)1 C)2.0 D)2 10. 假设a=3,b=4,c=5,则逻辑表达式: !(a+b)+c-1&&b+c/2的值是()。 A)true B)false C)0D) 1 11. 若int a=3,b=4;则执行c=a++>2||b-->=4之后,b变量的值为()。 A)3B)0C)4D)2 12. 以下哪个表达式的值为4()

c语言期末复习试题(附答案)上课讲义

试卷编号:11201 所属语言:C语言 试卷方案:C语言期末考试 试卷总分:100分 共有题型:4种 一、单项选择共30题(共计60分) 第1题(2.0分) 设有定义:int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是( A ). A:k++ B:k+=1 C:++k D:k+1 第2题(2.0分) 已知int i=5,执行语句i+=++i后, i的值是( C). A:10 B:11 C:12 D:A、B、C都不对 第3题(2.0分) 以下程序的功能是:给r输入数据后,计算半径为r的圆面积s.程序在编译时出错. #include void main( ) /* Beginning */ { int r; float s; scanf("%d",&r); s=p*r*r; printf("s=%f\n",s); 出错的原因是(D ). A:注释语句书写位置错误 B:存放圆半径的变量r不应该定义为整型

C:输出语句中格式描述符非法 D:计算圆面积的赋值语句中使用了非法变量 第4题(2.0分) "\\\″ABC\″\\″的长度是( B ). A:11 B:7 C:5 D:3 第5题(2.0分) 已知int j,i=1;,执行语句j=–i++;后,j的值是( C ). A:1 B:2 C:-1 D:-2 第6题(2.0分) 有以下程序: #include void main( ) { int s=0, a=1, n; scanf("%d", &n); do{ s+=1; a=a–2; }while(a!=n); printf("%d\n", s); } 若要使程序的输出值为2,则应该从键盘输入给n的值是( B ). A:-1 B:-3

计算机C语言期末考试试题及答案

1、 分别求100以内所有奇数之和、所有偶 数 之 积 。 /* Note:Your choice is C IDE */ #include "stdio.h" main() { int i,y,sum,s; sum =0;s =1; for (i =1;i <=100;i ++) { y =i %2; if (y ==0) s =s *i; else sum =sum +i; } printf("100以内所有奇数之和为:%d\n",sum); printf("100以内所有偶数之积为:%d\n",s); } 2、 输入 m,n ,求n m C (已知 )! (!! n m n m C n m -= ),要求用函数实现。 /* Note:Your choice is C IDE */ #include "stdio.h" int fac(int x); main() { int m,n,cmn; scanf("%d%d",&m,&n); cmn =fac(m)/(fac(n)*fac(m -n)); printf("cmn=%d",cmn); } int fac(int x) { int s,i; s =1; for (i =1;i <=x;i ++) s =s *i; return s; } 3、 求1!+3!+5!+7!(用函数实现) /* Note:Your choice is C IDE */ #include "stdio.h" int fac(int x); main() { int m; m =fac(1)+fac(3)+fac(5)+fac(7); printf("m=%d",m); } int fac(int x) { int s,i; s =1; for (i =1;i <=x;i ++) s =s *i; return s; } 4、输入一个数,判定其是否是素数(用函 数实现)。 /* Note:Your choice is C IDE */ #include "stdio.h" int sushu(int x); main() { int i; scanf("%d",&i); if (sushu(i)==1) printf("是素数"); else printf("不是素数"); } int sushu(int x) { int i,s; s =1; for (i =2;i <=x -1;i ++) if (x %i ==0)s =0; return s; }

大学C语言期末考试试题及答案

大学C语言期末考试试题 一选择题(7分,每小题0.5分) 1.C语言源程序的基本单位是()。 A 过程 B 函数 C 子程序 D 标识符 2.下列程序的输出结果是()。 main( ) { int a=7,b=5; printf("%d\n",b=b/a); } A 5 B 1 C 0 D不确定值 3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是()。 A 7 B 8 C 9 D 2 4.设a为int型变量,执行下列赋值语句后,a的取值分别是()。 a=125.534; a=(int)125.521%4; a=5<<2; A 125,31,1 B 125,1,20 C 125,31,20 D 125.534,2,20 5.设有如下程序段,下面描述中正确的是()。 int k=10; while(k=0) k=k-1; A 循环执行一次B循环是无限循环C循环体语句一次也不执行D循环体语句执行一次 6.以下程序的输出结果为()。 int i; void prt( ) { for(i=5;i<8;i++) printf("%c",'*'); printf("\t"); } main( ) { for(i=5;i<=8;i++) prt( ); } A *** B *** *** *** *** C *** *** D * * * 7.在C语言程序中,以下说法正确的是()。 A函数的定义可以嵌套,但函数的调用不可以嵌套 B函数的定义不可以嵌套,但函数的调用可以嵌套 C函数的定义和函数的调用都不可以嵌套 D函数的定义和函数的调用都可以嵌套 8.以下函数调用语句中含有()个实参。 func((e1,e2),(e3,e4,e5)); A 2 B 3 C 5 D 语法错误 9.以下程序的输出结果为()。 #define ADD(x) x*x main( ) { int a=4,b=6,c=7,d=ADD(a+b)*c; printf("d=%d",d); }

C语言期末考试试题及详细答案

选择练习题 1、C 语言中最简单的数据类型包括( B )。 A 、整型,实型,逻辑型 B 、整型,实型,字符型 C 、整型,字符型,逻辑型 D 、整型,实型,逻辑型,字符型 2、C 语言中,运算对象必须是整型数的运算符是(A )。 A 、% B 、/ C 、%和/ D 、* 3、为表示关系x <y <z ,应使用C 语言表达式( A )。 A 、(x <y)&&(y <z ) B 、(x <y)AND (y <z) C 、(x <y <z) D 、(x <y) &(y <z) 4、C 语言程序的基本单位是( C )。 A 、程序行 B 、语句 C 、函数 D 、字符 5、C 语言的程序一行写不下时,可以( D )。 A 、用逗号换行 B 、用分号换行 C 、用回车符换行 D 、在任意一空格处换行 6、下述标识符中,( C )是合法的用户标识符。 A 、A& B B 、void C 、_student D 、 7、在C 语言中,字符型数据在内存中以( B A 、补码 B 、ASCII 码 C 、反码 D 、原码 8、一个程序由若干文件组成,共用同一变量,则此变量的存储类别应该为( B )。 A 、auto B 、extern C 、static D 、Register 9、以下关于switch 语句和break 语句的描述中,只有(B A 、在switch 语句中必须使用break 语句 B 、在switch 语句中,可以根据需要使用或不使用break 语句 C 、break 语句只能用于switch 语句中 D 、break 语句是switch 语句的一部分 10、C 语言规定:调用一个函数时,实参变量和形参变量之间的数据传递是(B )。 A 、地址传递 B 、值传递 C 、由实参传给形参,并由形参传回给实参 D 、由用户指定传递方式 11、下述C 语言转义符中( D )是非法的。 A 、'\b' B 、'\037' C 、'\0xf ' D 、'\'' 12、为了要计算s=10!(10的阶乘),则以下对s 的定义正确的是( D )。

C语言期末考试题目

指针 一、单项选择题 1. 已知:int a, *y=&a;则下列函数调用中错误的是。 A) scanf("%d", &a);B) scanf("%d", y); C) printf("%d", a);D) printf("%d", y); 2. 说明语句"int (*p)( );"的含义是。 A) p是一个指向一维数组的指针变量 B) p是指针变量,指向一个整型数据 C) p是一个指向函数的指针,该函数的返回值是一个整型 D) 以上都不对 3. 设有说明int (*p)[4];其中的标识符p是。 A) 4个指向整型变量的指针变量 B) 指向4个整型变量的函数指针 C) 一个指向具有4个整型元素的一维数组的指针 D) 具有4个指向整型变量的指针元素的一维指针数组 4. 已知:char s[10], *p=s,则在下列语句中,错误的语句是。 A) p=s+5;B) s=p+s;C) s[2]=p[4];D) *p=s[0]; 5. 已知:char s[100];int i;则引用数组元素的错误的形式是。

A) s[i+10] B) *(s+i) C) *(i+s) D) *((s++)+i) 6. 已知:char s[6], *ps=s;则正确的赋值语句是。 A) s="12345";B) *s="12345";C) ps="12345";D) *ps="12345"; 7. 已知:char a[3][10]={"BeiJing","ShangHai","TianJin"}, *pa=a;不能正确显示字符串"ShangHai"的语句是。 A) printf("%s",a+1);B) printf("%s",*(a+1)); C) printf("%s",*a+1);D) printf("%s",&a[1][0]); 8. 已知:int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12}; int (*ptr)[3]=a,*p=a[0]; 则以下能够正确表示数组元素a[1][2]的表达式是。 A) *(*(a+1)+2) B) *(*(p+5)) C) (*ptr+1)+2 D) *((ptr+1)[2]) 9. 已知:int a[ ]={1,2,3,4,5,6,7,8,9,10,11,12},*p=a;则值为3的表达式是。 A) p+=2,*(p++) B) p+=2,*++p C) p+=2,*p++ D) p+=2,++*p 10. 已知:int a[]={1,2,3,4}, y, *p=a;则执行语句y = (*++p)--;之后, 数组a各元素的值变为。 A) 0,1,3,4 B) 1,1,3,4 C) 1,2,2,4 D) 1,2,3,3 变量y的值是。 A) 1 B) 2 C) 3 D) 4

相关文档
相关文档 最新文档