C程序设计上练习答案

C程序设计上练习答案
C程序设计上练习答案

一、单项选择题

1. 编写C++程序一般需经过的几个步骤依次是()

A. 编辑、调试、编译、连接

B. 编辑、编译、连接、运行

C. 编译、调试、编辑、连接

D. 编译、编辑、连接、运行

答案:B

2. 设有定义int i;double j=5;,则10+i+j值的数据类型是()

A. int

B. double

C. float

D. 不确定

答案:B

3. 有关C++编译指令,以下叙述正确的是()

A. C++每行可以写多条编译指令

B. #include指令中的文件名可含有路径信息

C. C++的编译指令可以以#或//开始

D. C++中不管#if后的常量表达式是否为真,该部分都需要编译答案:B

4. 在下列成对的表达式中,运算结果类型相同的一对是()

A. 7.0/2.0和7.0/2

B. 5/2.0和5/2

C. 7.0/2和7/2

D. 8/2和6.0/2.0

答案:A

5. 在C++中不返回任何类型的函数应该说明为()

A. int

B. char

C. void

D. double

答案:C

6. 决定C++语言中函数的返回值类型的是()

A. return语句中的表达式类型

B. 调用该函数时系统随机产生的类型

C. 调用该函数时的主调用函数类型

D. 在定义该函数时所指定的数据类型

答案:D

7. 在C++中,函数原型不能标识()

A. 函数的返回类型

B. 函数参数的个数

C. 函数参数类型

D. 函数的功能

答案:D

8. 在int a=3,int *p=&a;中,*p的值是()

A. 变量a的地址值

B. 无意义

C. 变量p的地址值

D. 3

答案:D

9. 一个函数功能不太复杂,但要求被频繁调用,则应把它定义为()

A. 内联函数

B. 重载函数

C. 递归函数

D. 嵌套函数

答案:A

10. 适宜采用inline定义函数情况是()

A. 函数体含有循环语句

B. 函数体含有递归语句

C. 函数代码少、频繁调用

D. 函数代码多、不常调用

答案:C

11. 在函数定义中的形参属于()

A. 全局变量

B. 局部变量

C. 静态变量

D. 寄存器变量

答案:B

12. C++语言中所有在函数中定义的变量,连同形式参数,都属于()

A. 全局变量

B. 局部变量

C. 静态变量

D. 函数

答案:B

13. 下列有关重载函数的说法中正确的是()

A. 重载函数必须具有不同的返回值类型

B. 重载函数参数个数必须相同

C. 重载函数必须有不同的形参列表

D. 重载函数名可以不同

答案:C

14. 使用地址作为实参传给形参,下列说法正确的是()

A. 实参是形参的备份

B. 实参与形参无联系

C. 形参是实参的备份

D. 实参与形参是同一对象

答案:D

15. 在C++中,使用流进行输入输出,其中用于屏幕输入()

A. cin

B. cerr

C. cout

D. clog

答案:A

16. 若有以下定义,则说法错误的是()

int a=100,*p=&a;

A. 声明变量p,其中*表示p是一个指针变量

B. 变量p经初始化,获得变量a的地址

C. 变量p只可以指向一个整型变量

D. 变量p的值为100

答案:D

17. C++对C语言做了很多改进,即从面向过程变成为面向对象的主要原因是()

A. 增加了一些新的运算符

B. 允许函数重载,并允许设置缺省参数

C. 规定函数说明符必须用原型

D. 引进了类和对象的概念

答案:D

18.3.可替换#define PI 3.1415926的语句是()

A. float PI 3.1415926;

B. const float PI=3.1415926;

C. const PI(3.1415926);

D. const 3.1415926;

答案:B

19.如果一个函数没有返回值,则应选择下列说明符中的()。

A. double

B. void

C. int

D. char

答案:B

20.8.下列哪种默认参数的声明是不正确的(C)

A. int max(int a,int b,int c,int d=0);

B. int max(int a,int b,int c=0,int d=0);

C. int max(int a=0,int b,int c=0,int d=0);

D. int max(int a,int b=0,int c=0,int d=0);

21.包含哪种语句的函数不能声明为内联函数(A)

A.循环

B.变量自增自减

C.if...else…

D.变量声明

22.已知:const char *ptr ; 那么ptr 应该是( A )。

A、指向字符串常量的指针

B、指向字符串的常量指针

C、指向字符的常量的指针

D、指向字符常量的指针

23.11、在C++中,关于下列设置参数默认值的描述中,正确的是( C ).

A. 不允许设置参数的默认值

B.设置参数默认值只能在定义函数时设置

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

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

二、填空题

1. 开发一个C++语言程序的步骤通常包括编辑、___、连接、运行和调试。答案:编译

2. 假设int a=1,b=2;则表达式(++a/b)*b--的值为___。

答案:2

3. 下面程序的输出结果为___。

#include

void main()

{int num=2,i=6;

do

{i--;

num++;

}while(--i);

cout<

}

答案:5

4. 由const修饰的对象称为___。

答案:常对象

5. 表达式cout<

答案:‘\n’

6. 在C++中,访问一个指针所指向的对象的成员所用的指向运算符是___。

答案:->

7. C++程序的源文件扩展名为___。

答案:cpp

8. 在#include命令中所包含的头文件,可以是系统定义的头文件,也可以是___的头文件。答案:自定义

9. C++语言中如果调用函数时,需要改变实参或者返回多个值,应该采取___方式。

答案:传地址或引用

10. 若函数的定义处于调用它的函数之前,则在程序开始可以省去该函数的___语句。

答案:声明

11. 在C++中有两种参数传递方式:传值和___。

答案:传引用或地址

12. 在函数前面用___保留字修饰时,则表示该函数表为内联函数。

答案:inline

13. C++是通过引用运算符___来定义一个引用的。

答案:&

14. 局部对象和全局对象中,在同一程序中___生存期最长。

答案:全局对象

15.布尔类型标识符是()

答案:bool

16.若要使用C++标准类库,需要指定相应的命名空间,所用的语句是——————。

答案:using namespace std;

17.使用new为int数组动态分配10个存储空间是___。

答案:new int[10];

18.在已经定义了整型指针ip后,为了得到一个包括10个整数的数组并由ip所指向,应使用语句___。答案:int *ip=new int[10];

19.8. C++中语句const char * const p=“hello”;所定义的指针p和它所指的内容都不能被___。答案:修改

20.如果要把PI声明为值为3.14159类型为双精度实数的符号常量,该声明语句是___。

答案:const double PI(3.14159);或者const double PI=3.14159;

21.面向对象程序设计的3个主要性质是:______、继承、______。

答案:封装,多态

22.使用cin和cout进行输入输出操作的程序必须包含头文件___

答案:iostream.h

三、改错题

1. #include

void main()

{int i,*p;

i=10;

*p=i;

cout<<*p<

}

答案:*p=i;指针即地址没有被赋值。

[修改]p=&i;

2. 以下程序实现交换a,b变量的值,请用下横线标出错误所在行并给出修改意见。#include

void swap(int &a,int &b)

{a=a+b;

b=a-b;

a=a-b;

}

void main()

{int a=19,b=15;

cout<<"a="<

swap(&a,&b);

cout<<"a="<

}

答案:swap(&a,&b);函数的形参是变量的引用,调用时的实参应该是地址。

[修改]swap(a, b);

四、完成程序题(本大题共5小题,每小题4分,共20分)

1. 下面是一个三角形三边,输出其面积C++程序,在下划线处填上正确的语句。#include

#include

void area()

{double a,b,c;

cout<<"Input a b c:";

________

if(a+b>c&&a+c>b&&c+b>a)

{double l=(a+b+c)/2;

_______

cout<<"The area is:"<

}

else

cout<<"Error"<

}

void main()

{area();}

答案:cin>>a>>b>>c;,double s=sqrt(l*(l-a)*(l-b)*(l-c));

[解析]输入三个边的长度,由公式得出三角形的面积double s=sqrt(l*(l-a)*(l-b)*(l-c));

2. 下面是一个输入半径,输出其面积和周长的C++程序,在下划线处填上正确的语句。

#include

_________;

_________;

void main()

{double rad;

cout<<"rad=";

cin>>rad;

double l=2.0*pi*rad;

double s=pi*rad*rad;

cout<<"\n The long is:"<

cout<<"The area is:"<

答案:using namespace std,#define pi 3.14159

[解析]进行输入或输出要引入iostream, 所以using namespace std;从标点看没有分号,所以使用宏定义,#define pi 3.14159。

3. 程序实现大写字母转换成小写字母。

#include

void main()

{char a;

_______;

cin>>a;

if(_______)

a=a+i;

cout<

}

答案:int i=32;,a>=A && a<=Z

[解析]大写字母变小写字母相差32,需要对i声明并初始化。大写字母变小写字母。要判断字

符是大写字母。

4. 在下面程序横线处填上适当内容,使程序执行结果为:

S=2

S=5

S=9

#include

void sum(int i)

{static int s;

_________;

cout<<"s="<

}

void main (void)

{int i;

for (i=0;________)

sum(i);

}

答案:s=s+i+2;,i<3,i++

5. 下面程序段用来求三角形的面积,首先判断三边不符合组成三角形时,返回-1,符合时输出三角形面积。#include

#include

double area(double a,double b,double c)

{if(____)

return -1;

else

{

double ar,l;

l=(a+b+c)/2;

ar=sqrt(l*(l-a)*(l-b)*(l-c));

return ar;

}

}

void main()

{double i=0,j=0,k=0;

cout<<"输入三角形三边:";

cin>>i>>j>>k;

double s=area(i,j,k);

if(s<0)

cout<<"不是三角形"<

else

______

}

答案:a+b>c||a+c>b||b+c>a,cout<

[解析]三角形组成规则:两边之和大于第三边。s<0不是三角形,是则输出s。

6.参数顺序不同的函数重载,写出运行结果。

#include

using namespace std;

void info(char *name,int age)

{ cout<<"名称:"<

}

void info(int age,char *name)

{ cout<<"名称:"<

}

int main()

{ info("书包",16);

info(18,"笔记本");

return 0;

}

7.比较内部auto变量和内部static变量的不同,写出运行结果。#include

using namespace std;

void test ()

{ int x=10; // 动态变量x

static int y=10; // 静态变量y

cout<<"auto_x="<< x <<",static_y=" <

}

void main( )

{ int i;

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

test ( );

}

五、编程题

1.求分段函数y=f(x)的值,f(x)的表达式如下:

x2 ―1 (x<–1)

y= x2 (–1≤x≤1)

x2 +1 (x>1)

. #include

using namespace std;

void main()

{

float x,y;

cout<<"Enter x: ";

cin>>x;

if(x<-1)

y=x*x-1;

else if(x>=-1&&x<=1)

y=x*x;

else y=x*x+1;

cout<<"f(x)="<

}

2.用switch语句实现计算器的简单功能。

#include

using namespace std;

void main()

{

float x,y; //运算数

char oper; //运算符

cout<<"Enter x,oper,y: ";

cin>>x>>oper>>y;

switch(oper)

{

case '+': cout<<"x+y="<

case '-': cout<<"x-y="<

case '*': cout<<"x*y="<

case '/': if(y==0)

{

cout<<"divisor is zero!\n";

break;

}

cout<<"x/y="<

default: cout<<"operator has no effect!\n";

}

}

3.求100以内的奇数之和

#include

using namespace std;

void main()

{

int i=1,sum=0;

while(i<=100)

{

sum+=i;

i+=2;

}

cout<<"sum="<

}

#include

using namespace std;

void main()

{

int i=1,sum=0;

do

{

sum+=i;

i+=2;

}while(i<=100);

cout<<"sum="<

}

#include

using namespace std;

void main()

{

int i,sum;

sum=0;

for(i=1;i<=100;i+=2)

sum+=i;

cout<<"sum="<

}

4. 输入一个整数,求出它的所有因子。#include

using namespace std;

void main()

{

int n,k;

cout<<"Enter a positive integer: ";

cin>>n;

cout<<"Number "<

for(k=1;k<=n;k++)

if(n%k==0)

cout<

cout<

}

5. 定义函数up(ch),如字符变量ch是小写字母就转换成大写字母并通过up返回,否则字符ch不改变。

#include < iostream >

using namespace std;

char up (char c)

{

if(c >= 97 && c <= 123)

return (c - 32) ;

else

return c;

}

void main()

{

int i;

char c;

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

{ cin>>c;

cout<< up(c)<<", ";

}

cout<< endl;

}

6. 编写主程序输入实数r和整数n, 用函数求r的n次幂。

#include < iostream.h >

#include < math.h >

double power(double a, int b)

{

int i;

double result = 1.0;

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

result = result * a;

return result;

}

void main()

{

double r;

int n;

cout<<"r = ";

cin>>r;

cout<<"n = ";

cin>>n;

cout<< r<<"的"<< n<<"次幂是:"<< power(r,n)<< endl;

}

7.编写程序计算两个整数绝对值阶乘之差。

#include

#include

using namespace std;

int fac(int n) //计算一个整数绝对值的阶乘{ int i,f=1;

n=abs(n);

for(i=1;i<=n;i++) f=f*i;

return(f);

}

void main( )

{ int x,y,c1,c2;

cout<<"please enter x, y : ";

cin>>x>>y;

c1=fac(x); //调用函数fac,求x绝对值的阶乘

c2=fac(y); //调用函数fac,求y绝对值的阶乘

cout<<“the outcome is ”<

}

8.用函数实现交换两个数a和b的值。

方法一: 简单变量作为函数形参(值传递)

#include

using namespace std;

void swap(int x,int y)

{ int temp;

temp=x; x=y; y=temp;

cout<<"x="<

#include { int i=10,j=10; printf("%d,%d\n",++i,j--); } A、11,10 B、9,10 C、11,9 D、10,9 10、巳知字母A的ASCII码是65,以下程序的执行结果是( ) #include main() { char c1='A',c2='Y'; printf("%d,%d\n",c1,c2); A、A,Y B、65,65 C、65,90 D、65,89 11、下列运算符中优先级最高的是( ) A、< B、十 C、% D、!= 12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。 A、’x’&&’y’ B、x<=y C、x||y+z&&y-z D、!((x<y)&&!z ||1) 13、判断char型变量cl是否为小写字母的正确表达式为( ) A、’a’<=c1<=f’z’ B、(c1>=a)&&(c1<=z) C、(‘a’>=c1) (‘z’<=c1) D、(c1>=’a’)&&(c1<=’z’) 14、字符串"a"在内存中占据的字节个数为( ) A、0 B、 1 C、 2 D、 3 15、下面有关for循环的正确描述是( ) A、for循环只能用于循环次数已经确定的情况 B、for循环是先执行循环体语句,后判定表达式 C、在for循环中,不能用break语句跳出循环体 D、for循环体语句中,可以包含多条语句,但要用花括号括起来 16、下面程序的运行结果是( ) #include main() {int num=0; while(num<=2) {num++; printf(“%d ,num); } } A、 1 B、 1 2 C、 1 2 3

程序设计大赛试题及答案

试题 1、数学黑洞(程序文件名maths.c/maths.cpp) 【问题描述】 任给一个4位正整数,其各位数位上的数字不全相同,将数字重新组合成一个最大的数与最小的数相减,重复这个过程,最多7步,必得6174。对任给的4位正整数(各位数位上的数字不全相同),编程输出掉进黑洞的步数。 【输入】 一行,一个4位正整数n(1000< n<9999) 【输出】 掉进黑洞的步数 输入 1234 输出 3 2、进制转换(程序文件名conver.c/conver.cpp) 【问题描述】 任给一个十进制整数n,及正整数m(m<=16且m≠10), 将n转换成m进制并输出。 【输入】 一行,两个整数n,m(0 ≤ n ≤ 500000,2 ≤ m ≤ 16,且m≠10),中间用一个空格隔开,其中n 表示十进制数。 【输出】 转换后的数 【输入输出样例】 输入 255 8 输出 377 3、分数线划定(程序文件名score.c/score.cpp) 【问题描述】 公务员选拔工作正在 A 市如火如荼的进行。为了选拔优秀人才,A 市对所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试。面试分数线根据计划录取人数的150%划定,即如果计划录取m名公务员,则面试分数线为排名第m*150%(向下取整)名的选手的分数,而最终进入面试的选手为笔试成绩不低于面试分数线的所有选手。现在就请你编写程序划定面试分数线,并输出所有进入面试的选手的报名号和笔试成绩。 【输入】 第一行,两个整数n,m(5 ≤ n ≤ 5000,3 ≤ m ≤ n),中间用一个空格隔开,其中n 表示报名参加笔试的选手总数,m 表示计划录取的人数。输入数据保证m*150%向下取整后小于等于n。 第二行到第 n+1 行,每行包括两个整数,中间用一个空格隔开,分别是选手的报名号k(1000 ≤ k ≤ 9999)和该选手的笔试成绩s(1 ≤ s ≤ 100)。数据保证选手的报名号各不相同。 【输出】 第一行,有两个整数,用一个空格隔开,第一个整数表示面试分数线;第二个整数为进入面试的选手的实际人数。 从第二行开始,每行包含两个整数,中间用一个空格隔开,分别表示进入面试的选手的报名号和笔试成绩,按照笔试成绩从高到低输出,如果成绩相同,则按报名号由小到大的顺序输出。 【输入输出样例】 输入 6 3 1000 90 3239 88 2390 95 7231 84 1005 95 1001 88

04737c程序设计试题及答案20200_图文

全国2009年10月高等教育自学考试 C++程序设计试题 课程代码:04737 一、单项选择题(本大题共20小题,每小题1分,共20分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.对C++中主函数描述正确的是( ) A.名称为main,可为多个 B.名称不限,可为多个 C.名称为main,必须有且只能有一个 D.名称不限,必须有且只能有一个 2.调用声明为int result(int a,int b)的函数时,正确的方法是( ) A.result(1,2) B.result(1) C.result(0.1,0.3) D.result(1,2,3) 3.用于包含C++标准库iostream的预处理指令是( ) A.#define B.#include C.#define ‘iostream’ D.#include‘iostream’ 4.无类型标识符是指( ) A.void B.bool C.short D.long 5.从本质上看,引用是被引用变量的( ) A.拷贝 B.别名 C.复制 D.克隆 6.下面关于数组的初始化正确的是( ) A.char str[ ]={'a','b','c'}; B.char str[2]={'a','b','c'}; C.char str[1][2]={{'a','b'},{'e','d'}}; D.char str[ ][ ]={'a','b','c'}; 7.C++类中定义的成员默认访问属性为( ) A.public B.private C.protected D.friend 1文档来源为:从网络收集整理.word版本可编辑.

C++程序设计试题及答案

C++程序设计试题 一、单项选择题(本大题共20小题,每小题1分,共20分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 ++源程序文件扩展名为( A ) A..cpp B..h C..1ib D..obj 2.在C++中使用流进行输入输出,其中专用于从键盘进行输入的流是( B ) 3.包含自定义头文件的预处理指令是( D ) A.#define<> B.#include C.#define D.#include"" 4.用于标识十六进制前缀或后缀是( D ) A.元 B.后缀L或e C.前缀零 D.前缀0x 5.设存在整型变量int x,则下列句与其它三项含义不同的是( A ) * p=&x; & p=x; & p=x; &p=x; 6.在定义类成员时,为产生封装性,则需使用哪个关键字( D ) 7.设函数void swap(int&,int&)将交换两形参的值,如两整型变量int a=10;int b=15; 则执行swap(a,b)后,a、b值分别为( C ) ,10 ,15

,10 ,15 8.函数默认参数在函数原型中说明,默认参数必须放在参数序列的( C) A.前部 B.中部 C.后部 D.两端 9.设存在函数int min(int,int)返回两参数中较小值,若求15,26,47三者中最小值,下列表达式中错误的是( B ) m=min(min(15,26),min(15,47)); m=min(15,26,47); m=min(15,min(47,26)); m =min(min(47,26),16); 10.下列函数不能和函数void print(char)构成重载的是(C ) print(int); print(char,char); print(char); print(int,int); 11.在下列成对的表达式中,运算结果类型相同的一对是( D ) /2和/ /和7/2 0和/2 l2.内联函数的特点是( D ) A.减少代码量,加快访问速度 B.减少代码量,减缓访问速度 C.增加代码量,减缓访问速度 D.增加代码量,加快访问速度

C语言程序设计试题集及其答案

第一章基础知识 一.填空 1. 每个C程序都必须有且仅有一个________ 函数。 2. C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。 3. 软件是程序,以及______、使用和维护所需要的所有文档。 4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。 5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。 6. C语言是由________组成的。 7. C语言的函数可分为主函数main、标准库函数和_________。 8. 一个函数是由两部分组成的,即:________和函数体。 9. 编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。 10. 程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作 的要求。不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。 11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。 12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对 象,也可以用标号和符号来代替地址、常量和变量。 13. 在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。 14. C程序的执行均是由执行_________开始。 15. 函数体即为包含在{}内的部分。它分为________和为完成功能任务由若干个C 语句 组成的执行部分。 16. C语言程序中一条简单语句是以________字符作为结束符的。 17. C语言是结构化、________的程序设计语言。 18. 由于计算机硬件不能直接识别高级语言中的语句,因此,必须经过“_______程序”,将用高级语言编写的程序翻译成计算机硬件所能识别的机器语言程序方可执行。 19. 用高级语言编写的程序需翻译成计算机硬件所能识别的机器语言程序方可执行。所以 说,用高级语言进行程序设计,其编程效率高,方便易用,但_______没有低级语言高。

C.语言程序设计试题试题及答案

C 语言程序设计试卷 ,C++语言程序设计试题及答案 一、单项选择题(每题1分,共20分) 1. C语言规定:在一个源程序中,main函数的位置( C )。 A. 必须在最开始 B. 必须在系统调用的库函数的后面 C. 可以任意 D. 必须在最后 2. 下面四个选项中,均是合法浮点数的选项是( B )。 A. +1e+1 5e-9.4 03e2 B. -.60 12e-4 -8e5 C. 123e 1.2e-.4 +2e-1 D. -e3 .8e-4 5.e-0 3. 若a=-14,b=3,则条件表达式 a

C语言程序设计试题集及答案

单项选择题 (002) 阅读程序题 (018) 程序填空题 (039) 编写程序题 (070) 一、单项选择题 导读:单项选择题要求从给出的四个备选答案中,选出一个最符合题意的答案。本类习题主要检查对C语言基本概念的掌握情况,读者可根据学习进度选做部分习题。在完成习题的过程中,不但要选出正确的答案,而且要清楚不正确的选项错在何处,以加深对概念的理解。对于掌握不准的问题,应该通过上机实验来检验。 【1.1】以下不正确的C语言标识符是____。 A) int B) a_1_2 C) ab1exe D) _x 【1.2】以下是正确的C语言标识符是____。 A) #define B) _123C) %d D) \n

【1.3】下列四组字符串中都可以用作C语言程序标识符的一组是。 ??? A) print B) i\am C) Pxq D) str_l ??? _3d one_half My->book Cpp ??? oodbs tart$it line# pow ??? aBc 3pai His.age while 【1.4】下面各选项组中,均是C语言关键字的组是。 A) auto,enum,include B) switch,typedef,continue C) signed,union,scanf D) if,struct,type 【1.5】下列不属于C语言关键字的是。 A) default B) register C) enum D) external 【1.6】C语言程序从main()函数开始执行,所以这个函数要写在____。 A) 程序文件的开始B) 程序文件的最后 C) 它所调用的函数的前面D) 程序文件的任何位置 【1.7】下列关于C语言的叙述错误的是____ A) 大写字母和小写字母的意义相同 B) 不同类型的变量可以在一个表达式中 C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型 D) 同一个运算符号在不同的场合可以有不同的含义 【1.8】在C语言中,错误的int类型的常数是。 A) 32768 (超过了范围) B) 0 C) 037 D) 0xAF 【1.9】执行语句printf("%x",-1);屏幕显示____。 A) -1 B) 1 C) –ffff D) ffff 【1.10】已知long i=32768;执行语句printf("%d",i);屏幕显示____。 A) -1 B) -32768C) 1 D) 32768 【1.11】已知long i=65539; 执行语句printf("%d",i);屏幕显示____。 A) 65539 B) -3 C) 3D) 程序不能执行 【1.12】在C语言中,整数-8在内存中的存储形式是。 A) 1111 1111 1111 1000B) 1000 0000 0000 1000 C) 0000 0000 0000 1000 D) 1111 1111 1111 0111 【1.13】C语言中字符型(char)数据在内存中的存储形式是____。

C语言程序设计期末考试试题及答案

C 语言程序设计 试 题 (2008 /2009 学年 第 二 学期) 一. 选择题(满分30分,每题2分) 1.若a 、b 、c 都定义为int 类型且初值为0,则以下不正确的赋值语句是 D 。 A. a=b=c+8; B. a+=y+3; C. c++; D. a+b+c 2. 已知int j ,i=1;执行语句“j=i++;”后,变量i 的值是 B 。 A. 1 B. 2 C. –1 D. -2 3.执行下面程序: #include "stdio.h" void main() { int a=1,b=2,c=3; c=(a+=a+2),(a=b,b+3); printf(“%d,%d,%d ”,a,b,c); } 则输出结果是: A 。 A. 2,2,4 B. 4,2,3 C. 5,5,3 D. 4,2,5 4.若要求在if 后一对圆括号中表示a 不等于0的关系,则能正确表示这一关系的表达式为 D 。 A. a< >0 B. !a C. a=0 D. a 5. for (j=0;j<11;j++);循环结束后,j 的值是 B 。 A. 12 B. 11 C. 10 D. 9 6. C 语言中函数返回值的类型由 D 决定的。 A. return 语句中的表达式类型 B. 调用该函数的主调函数的类型 C. 调用函数时临时决定 D. 定义函数时所指定的函数类型 7. 下列说法中正确的是 B 。 A 在调用用户自定义函数时,必须对其进行声明。 B 函数可以返回一个值,也可以什么值也不返回。 C 说明函数时,必须明确参数的类型和返回值。 D 在程序设计中空函数没有什么作用。 8. 若int i=10;执行下列程序后,变量i 的正确结果是 D 。 switch ( i ) {case 0: i+=1; case 10: i+=1; case 11: i+=1; default: i+=1; } A. 10 B. 11 C. 12 D. 13 9. 下列语句中不正确的字符串赋值或初始化的是 C 。 A . char str[10]={"strings"}; B.char str[8]={'s','t','r','i','n ','g','s','\0'}; C. char str[10]; str= "strings"; D. char str[]= "strings"; 10. 有如下程序: #include void main() { int a=1,b=0,c=0; if (a

VB程序设计试题及答案一

V B程序设计试题及答案(一) 一、单选题 1. VB6.0是一种面向B 的编程环境。 (A) 机器(B) 对象 (C) 过程(D) 应用 2. 要使FormI窗体的标题栏显示"欢迎使用VB",以下D 语句是正确的。 (A) Forml.Caption=“欢迎使用VB” (B) Forml.Caption='欢迎使用VB' (C) Forml.Caption=欢迎使用VB (D) Forml.Caption="欢迎使用VB" 3. 若要使命令按钮不可操作,要对A 属性进行设置。 (A) EnabIed (B)Visible (C) Backcolor (D)Caption 4. 如果在窗体上已经创建了一个文本框对象TextI,可以通过C 事件获得输入键值的ASCII码。 (A) Change (B) LostFocus (C) KeyPress (D) GotFocus 5. 下面A 是合法的变量名。 (A) X_yz (B) 123ab。(C) integer (D) X-Y 6. 以下关系表达式中,其值为False的是A 。 (A) "ABC">"AbC" (B) "女">"男" (C) "BASIC"=UCase("basic) (D) "123"<"23" 7. 为了给x、y、z三个变量赋初值1,下面正确的赋值语句是A 。 (A) x=1:y=1:z=1 (B) x=1,y=1,z=1 (C) x=y=z=1 (D) xyz=1 8. VB提供了结构化程序设计的三种基本结构,三种基本结构是D 。 (A)递归结构、选择结构、循环结构 (B)选择结构、过程结构、顺序结构 (C)过程结构、输入输出结构、转向结构 (D)选择结构、循环结构、顺序结构 9. 下面If语句统计满足性别为男、职称为副教授以上、年龄小于40岁条件的人数,不正确的语句是 D 。 (A) If sex="男" And age=4O And InStr(duty,"教授")>O Then n=n+l (B) If sex="男" And age=4O And (duty="教授" Or duty="副教授") Then n=n+l (C) If sex="男" And age=4O And Right(duty,2)="教授" Then n=n+l (D) If sex="男" And age=4O And duty="教授" And duty="副教授" Then n=n+l 10.下列关于Do…Loop循环结构执行循环次数的描述正确的是D 。 (A) Do While…Loop循环和Do…Loop Until循环至少都执行一次 (B) Do While…Loop循环和Do…Loop Until循环可能都不执行 (C) Do While…Loop循环至少执行一次和Do…Loop Until循环可能不执行 (D) Do While…Loop循环可能不执行和Do…Loop Until循环至少执行一次 11.以下B 是正确的For…Next结构。 (A) For x=1 To Step 10 (B) For x=3 To -3 Step -3 ……

c语言程序设计题目及答案

一、程序设计共113 题第1 题题 号:319 #include "stdio.h" void wwjt(); int fun(int m) { int i,k=1; if(m<=1) k=0; for(i=2;i #include #define M 3 #define N 4 void wwjt(); void fun(int tt[M][N],int pp[N]) { int i,j; for(j=0;jpp[j]) pp[j]=tt[i][j]; } 第3 题题号:375 功能:从键盘上输入任意实数, 求出其所对应的函数值。 z=e 的x 次幂( x>10) z=log(x+3) (x>-3) z=sin(x)/((cos(x)+4) #include #include void wwjt(); double y(float x) { double z; if(x>10) z=exp(x); else if(x>-3) z=log(x+3); else z=sin(x)/(cos(x)+4); return(z); } 第4 题题号:334 功能:求给定正整数n 以内的素数之积。( n<28) #include #include"conio.h" void wwjt(); long fun(int n) { long i,k; long s=1; for(i=2;i<=n;i++) {for(k=2;k #include"conio.h" void wwjt(); long int fun(int n) { long s=1,i; for(i=2;i<=n;i++) if(n%i==0)s=s*i; return s; } 第6 题题号:50 功能:求出菲波那契数列的前一项与后一项之比的极限的 近似值例如:当误差为0.0001 时,函数值为0.618056 。 #include #include "math.h" void wwjt(); float fun() { float f1=1,f2=1,f3; float r1=2,r2; do {r2=r1; r1=f1/f2; f3=f1+f2; f1=f2; f2=f3; }while(fabs(r1-r2)>1e-4); return r1; } 第7 题题号:394 功能:产生20个[30,120] 上的随机整数放入二维数组 a[5][4] 中, 求其中的最小值。 #include "stdlib.h" #include void wwjt(); int amin(int a[5][4]) { int i,j,s; s=a[0][0];

C语言程序设计试题及答案

C语言程序设计试题及 答案 内部编号:(YUUT-TBBY-MMUT-URRUY-UOOY-DBUYI-0128)

C语言程序设计 一、选择题(共40分,每小题2分) 1、以下叙述不正确的是() A、一个C源程序可由一个或多个函数组成 B、一个C源程序必须包含一个main函数 C、C程序的基本组成单位是函数 D、在C程序中,注释说明只能位于一条语句的后面 2、下列四个选项中,是不合法的用户标识符的选项是() A、abc B、12AC C、sun D、 A2 3、设有语句int a=4;则执行了语句a+=a- =a*a后,变量a的值是() A、-24 B、0 C、4 D、16 4、下列运算符中优先级最高的是() A、< B、+ C、&& D、== 5、在C语言中,运算对象必须是整型数的运算符是() A、% B、/ C、%和/ D、 + 6、以下关于运算符的优先顺序的描述正确的是() A、关系运算符<算术运算符<赋值运算符<逻辑与运算符 B、逻辑与运算符<关系运算符<算术运算符<赋值运算符 C、赋值运算符<逻辑与运算符<关系运算符<算术运算符 D、算术运算符<关系运算符<赋值运算符<逻辑与运算符 7、在C语言中,如果下面的变量都是int类型,则输出的结果是() sum=pad=5;pAd=sum++,pAd++,++pAd;

printf(“%d\n”,pad); A、7 B、6 C、5 D、4 8、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是() A、 INPUT x、y、z; B、scanf(“%d%d%d”,&x,&y,&z); C、 scanf(“%d%d%d”,x,y,z); D、read(“%d%d%d”,&x,&y,&z); 9、假定从键盘输入23456< 回车 >,下面程序的输出结果是:() void main ( ) { int m,n; scanf(“%2d%3d”,&m,&n); printf(“m=%d n=%d\n”,m,n); } A、m=23 n=45 B、m=234 n=56 C、m=23 n=456 D、语句有错误 10、若运行时,给变量x输入12,则以下程序的运行结果是() main( ) { int x,y; scanf(“%d”,&x); y=x>12?x+10:x-12; printf(“%d\n”,y); } A、 0 B、 22 C、 12 D、10 11、C语言中while和do-while循环的主要区别()

程序设计习题及答案

2011-2012年度第一学期“C语言程序设计”期末考试复习提纲一、考试题型 二、题例: (一)项目二数据类型、运算符和表达式 选择题: 1. 不合法的C语言整型常量是 A 。 A. –012 B. 0x35 C. 123L D. 8E2 2. 不合法的C语言实型常量是 A 。 A. E3 B. . 123 C. –6.2E4 D. 5.0 3. 不合法的C字符常量是 C 。 A. ’2’ B. ’\101’ C. ’AB’ D. ’\n’ 4.下列四组选项中,均是不合法的用户标识符的选项是 B 。 A. W P_0 do B. b-a goto int C. float la0 _A D. -123 abc TEMP 5.下列四组选项中,均是合法转义字符的选项是 A 。 A. ’\”’’\\’’\n’ B. ’\’’\017’’\”’ C. ’\018’’\f’’xab’ D. ’\\0’’\101’’xlf’ 6. 定义三个变量a、b、c,并分别赋初值为5。能实现该功能的语句是 C 。 A. int a=b=c=5; B. int a,b,c=5; C. int a=5,b=5,c=5; D. int a=5;b=5;c=5; 7. 若x,y,t均为int类型,则执行语句x=y=3;t=++x||++y;后,y的值是 D 。 A. 不定值 B. 4 C. 1 D. 3 8.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为 C 。 x=(i=4,j=16,k=32) A. 4 B. 16 C. 32 D. 52 9.设有说明:char w; int x; float y; double z;则表达式w*x+z-y值的数据类型为 D 。 A. float B. char C. int D. double

C程序设计试题及答案

20XX年lO月高等教育自学考试全国统一命题考试 C++程序设计试卷 (课程代码04737) 本试卷共8页,满分l00分,考试时间l50分钟。 考生答题注意事项: 1.本卷所有试题必须在答题卡上作答。答在试卷上无效,试卷空白处和背面均可作草稿纸。2.第一部分为选择题。必须对应试卷上的题号使用2B铅笔将“答题卡”的相应代码涂黑。3.第二部分为非选择题。必须注明大、小题号,使用0.5毫米黑色字迹签字笔作答。4.合理安排答题空间,超出答题区域无效。 第一部分选择题 一、单项选择题(本大题共20小题,每小题l分,共20分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题卡”的相应代码涂黑。未涂、错涂或多涂均无分。 1.在编译指令中,宏定义使用的指令是 A.#include B.#define C.#if D.#else 2.基类中的protected成员,通过哪种派生,其在派生类中的可见性为protected? A.public和private B.public和protected C.protected和private D.仅protected 3.基类中的public成员,通过public派生,基在派生类中的可见性为 A.不可访问 B.private C.protected D.public 4.不同对象调用同名函数,但导致完全不同行为的现象称为 A.抽象 B.封装 C.继承 D.多态性 5.头文件扩展名为 A.cpp B.h C.ub D.ob 6.声明函数为内联使用的关键字为 A.const B.inline C.short D.signed 7.设类A中有静态数据成员x,两个A类对象a和b,若a.x=10,则b.x的值为 A.9 B.10 C.1l D.不能确定

C语言程序设计试卷及答案

C 语言程序设计 笔试试题 试卷说明: 1. 笔试卷面总分100分,取卷面成绩的70%计入总分; 2. 综合成绩为平时成绩(10%)和实验成绩(20%)之和,占总分的30%; 3. 答题时禁止拆开试卷钉,试卷背面即为草稿纸; 4. 答题时间120分钟。 一、单项选择题。将正确答案填入下面框中。 (本题16分,每小题1分) 1. 有以下程序 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 )。 A) 0 B) 1 C) 2 D) 3 2. 有以下定义:int a; long b; double x,y;则下列正确的是( A )。 A) a%(int)(x-y) B) a=x!=y C) (a*y)%b D) y=x+y=x 3. 若有定义 int (*p)[3];则下列说法正确的是( C )。 注意行为规范 遵守考试纪律

A) 定义了基类型为int的三个指针变量 B) 定义了一个名为*pt、具有三个元素的整型数值 C) 定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组 D) 定义了基类型为int的具有三个元素的整型数组 4. 有以下程序段 main() { int x=10; while(x--); printf("x=%d\n",x);} 则最后的输出结果是:( B)。 A) x=0 B) x= -1 C) x=1 D)while构成无限循环 5. 有以下程序: int fun() {static int x=1; x *= 2; return x;} main( ) { int i,s=1 ; for(i=1 ;i<=2 ;i++) s=fun() ; printf(“%d\n ”,s) ;} 执行后的输出结果为( D)。 A) 0 B) 1 C) 8 D) 4 6. void main( ){ int k=011; printf("%d\n",k++); } }程序输出结果是( D ) A)12 B) 11 C) 10 D) 9 7. 以下C语言标识符中,不合法的是( C)。 A) _2 B) a_b C) a--b D) AaBc 8. C语言允许函数类型默认定义,此时该函数值隐含的类型是( B)。 A) float B) int C) long D) double 9. 以下程序段运行结果是( B)。 enum weekday{aa,bb=2,cc,dd,ee}week=ee;

C语言程序设计期末考试题及答案

装订线

装订线

装订线

订 线

庄子云:“人生天地之间,若白驹过隙,忽然而已。”是呀,春秋置换,日月交替,这从指尖悄然划过的时光,没有一点声响,没有一刻停留,仿佛眨眼的功夫,半生已过。 人活在世上,就像暂时寄宿于尘世,当生命的列车驶到终点,情愿也罢,不情愿也罢,微笑也罢,苦笑也罢,都不得不向生命挥手作别。 我们无法挽住时光的脚步,无法改变人生的宿命。但我们可以拿起生活的画笔,把自己的人生涂抹成色彩靓丽的颜色。 生命如此短暂,岂容随意挥霍!只有在该辛勤耕耘的时候播洒汗水,一程风雨后,人生的筐篓里才能装满硕果。 就算是烟花划过天空,也要留下短暂的绚烂。只有让这仅有一次的生命丰盈充实,才不枉来尘世走一遭。雁过留声,人过留名,这一趟人生旅程,总该留下点儿什么! 生活是柴米油盐的平淡,也是行色匆匆的奔波。一粥一饭来之不易,一丝一缕物力维艰。 前行的路上,有风也有雨。有时候,风雨扑面而来,打在脸上,很疼,可是,我们不能向生活低头认输,咬牙抹去脸上的雨水,还有泪水,甩开脚步,接着向前。 我们需要呈现最好的自己给世界,需要许诺最好的生活给家人。所以,生活再累,不能后退。即使生活赐予我们一杯不加糖的苦咖啡,皱一皱眉头,也要饮下。 人生是一场跋涉,也是一场选择。我们能抵达哪里,能看到什么样的风景,能成为什么样的人,都在于我们的选择。 如果我们选择面朝大海,朝着阳光的方向挥手微笑,我们的世界必会收获一片春暖花开。如果我们选择小桥流水,在不动声色的日子里种篱修菊,我们的世界必会收获一隅静谧恬淡。 选择临风起舞,我们就是岁月的勇者;选择临阵脱逃,我们就是生活的懦夫。 没有淌不过去的河,就看我们如何摆渡。没有爬不过去的山,就看我们何时启程。 德国哲学家尼采说:“每一个不曾起舞的日子,都是对生命的辜负。”让我们打开朝着晨光的那扇窗,迎阳光进来,在每一个日出东海的日子,无论是鲜衣怒马少年时,还是宠辱不惊中年时,都活出自己的明媚和精彩。 时间会带来惊喜,只要我们不忘记为什么出发,不忘记以梦为马,岁月一定会对我们和颜悦色,前方也一定会有意想不到的惊喜。 人生忽如寄,生活多苦辛。 短暂的生命旅程, 别辜负时光,别辜负自己。 愿我们每一个人自律、阳光、勤奋,

程序设计部分试题及答案

第1题/*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:从键盘为一维整型数组输入10个整数,调用fun 函数找出其中最小的数,并在main函数中输出。 请编写fun函数。 -------------------------------------------------*/ #include "" void wwjt(); int fun(int x[],int n) { /**********Program**********/ /********** End **********/ } main() { int a[10],i,min; for(i=0;i<10;i++) scanf("%d",&a[i]); for(i=0;i<10;i++) printf("%3d",a[i]); printf("\n"); min=fun(a,10); printf("%d\n",min); wwjt(); } void wwjt() {

FILE *IN,*OUT; int iIN[10],i; int iOUT,iCOUNT; IN=fopen("","r"); if(IN==NULL) { printf("Please Verify The Currernt Dir..it May Be Changed"); } OUT=fopen("","w"); if(OUT==NULL) { printf("Please Verify The Current Dir.. it May Be Changed"); } for(i=0;i<10;i++) { for(iCOUNT=0;iCOUNT<10;iCOUNT++) fscanf(IN,"%d",&iIN[iCOUNT]); iOUT=fun(iIN,10); fprintf(OUT,"%d\n",iOUT); } fclose(IN); fclose(OUT); } 参考答案 ---------------------- int min,i; min=x[0]; for(i=1;i

相关文档
最新文档