C++程序设计(上)练习-答案

合集下载

《C语言程序设计》练习题及答案

《C语言程序设计》练习题及答案

《C语言程序设计》练习题及答案1. 单选题1. 设有定义:int n=0,*p=&n,**q=&p,则下列选项中正确的赋值语句是A. p=1;B. *q=2;C. q=p;D. *p=5;正确答案:D2. 设有int x=11;则表达式(x++*1/3)的值是A. 3B. 4C. 11D. 12正确答案:A3. 下面程序的输出结果是main(){ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf("%d\n",*(p+2));}A. 3B. 4C. 1D. 2正确答案:A4. sizeof(float)是A. 一个双精度型表达式B. 一个整型表达式C. 一种函数调用D. 一个不合法的表达式正确答案:B5. 在16位C编译系统上,若定义long a;,则能给a赋40000的正确语句是A. a=20000+20000;B. a=4000*10;C. a=30000+10000;D. a=4000L*10L正确答案:D6. 请选出以下语句的输出结果printf("%d\n",strlen("\t\"\065\xff\n"));A. 5B. 14C. 8D. 输出项不合法,无正常输出正确答案:A7. 若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为A. 4B. 16C. 32D. 52正确答案:C8. 下面能正确进行字符串赋值操作的是A. char s[5]={"ABCDE"};B. char s[5]={ ′A′, ′B′, ′C′, ′D′, ′E′};C. char *s;s="ABCDE";D. char *s;char a; scanf("%s",&s);正确答案:C9.以下程序的输出结果是#include "stdio.h"void reverse(int a[],int n){int i,t;for(i=0;i<n/2;i++){t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}}main(){int b[10]={1,2,3,4,5,6,7,8,9,10};int i,s=0;reverse(b,8);for(i=6;i<10;i++) s+=b[i];printf("%d\n",s);}A. 22B. 10C. 34D. 30正确答案:A10. 以下不正确的叙述是A. 在C程序中,逗号运算符的优先级最低B. 在C程序中,APH和aph是两个不同的变量C. 若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变D. 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值正确答案:D2. 多选题11. 以下______是正确的转义字符。

C语言程序设计-第1-7章选择、填空习题及答案

C语言程序设计-第1-7章选择、填空习题及答案

习题一一、选择题1.C程序的基本单位是(A)。

A.函数B.文件C.语句D.字符2.C程序中的变量(B)。

A.不用说明B.先说明后引用C.先引用后说明D.引用和说明顺序无关3.变量的说明在(B)。

A.执行语句之后B.执行语句之前C.执行语句当中D.位置无关4.C语言是一种(C)。

A.机器语言B.符号语言C.高级语言D.面向对象的语言二、填空题1.一个C程序总是从主函数开始执行。

2.结构化程序由顺序、选择、循环三种基本结构构成。

3.一个C程序只有一个名为main的主函数。

4.C程序中的每个语句以分号结束。

5.C程序中,函数由函数首部和函数体组成。

6.每个基本结构有一个入口和一个出口,没有死循环和死语句。

7.算法是计算机解决问题所依据的步骤。

习题二一、选择题1.下列数据中属于字符串常量的是( B)。

A.ABC B."ABC" C.'abc' D.'A'2.在计算机内存中,'\n'占用的字节数是( C)。

A.4 B.3 C.1 D.23.字符串"ABC"在内存中占用的字节数是( D)。

A.6 B.8 C.3 D.44.在C语言中,合法的长整型常数是( B)。

A.568701400 B.0L C.0.03546287 D.2.654e115.char型常量在内存中存放的是( A)。

A.ASCII代码值B.BCD代码值C.十进制代码值D.内码值6.下列各项中正确的标识符是( D)。

A.?bb B.a=8 C. b.βD.b_47.下列不正确的转义字符是( D)。

A.\\ B.\ 0 C.\" D.0x48.设整型变量a、b的值均为5,则表达式(m=n=a++)/(n=b-2)的值为( B)。

A.0 B.1 C.2 D.39.设a的值为5,执行下列语句后,b的值不为2的是( C)。

A.b=a/2 B.b=6-(--a) C.b=a%2 D.b=(float)a/2 10.执行语句x=(a=3,b=a--)后,x、a、b的值依次是( C)。

(完整版)C语言程序设计练习及答案

(完整版)C语言程序设计练习及答案
int num[N];
C、int num[0..10];D、int num[];
33、下列语句中,不能正确定义二维数组的是(A)。
A、int a[2][]={{1,2},{3,4}};B、int a[2][2]={{1}, 2,3};
C、int a[][2]={1,2,3,4};D、int a[2][2]={{1},{2}};
C、指针数组,指针函数D、数组指针,函数指针
26、在说明语句:int *f();中,标识符f代表的是(C)。
A、一个用于指向一维数组的指针变量
B、一个用于指向整型数据的指针变量
C、一个返回值为指针型的函数名
D、一个用于指向函数的指针变量
27、使用结构体struct的目的是(A)。
A、将一组相关的数据作为一个整体,以便程序使用
main( )
{ static int a[ ]={1, 3, 5}, b[ ]={2, 6, 10};
int i, s=0;
for(i=0; i<3; i++) s+=a[i] / b[i];
printf("%d", s); }
A、0B、1
C、1.5D、2
49、下列程序段的输出结果为(A)。
int a=4,b=3,c=2,d=1;
C、1D、3
20、在一个表达式中含下列运算符,优先级最高的是(B)。
A、赋值运算符B、算术运算符
C、条件运算符D、关系运算符
21、下列语句组中,正确的是(C)。
A、char *s; s={"Beijing"};B、char s[8]; s={"Beijing"};
C、char *s; s="Beijing";D、char s[8]; s="Beijing";

C程序设计课后习题1-3(答案)

C程序设计课后习题1-3(答案)

C程序设计课后习题第一章习题1.选择题(1)C语言程序的执行总是从(A)开始。

A.main函数的入口 B.编译预处理命令C.源程序的第一个函数D.源程序的第一行语句(2)在C语言的源程序中,主函数的位置(C)。

A.必须在编译预处理命令的后面B.必须在源程序的最后C.任意D.必须在源程序的开头(3)下列变量名中合法的是(C)。

A. B.C.Tom B.3a6bC._6a7bD.$ABC(4)下面两对用户定义标识符哪个可读性更强:(C)A.checkqualityB.salarytotalC.check_quality C.sal_ary_tot_al(5)C程序是由(D)组成。

A.若干个过程B.若干子程序C.一个主程序和若干子程序D.若干函数2.填空题(1)一个函数一般由两部分组成,它们分别是_函数首部______和__函数体____。

(2)编译预处理命令___是_____(填“是”或“不是”)C语言文本的一部分。

(3)一个C语言程序至少应包含一个__主函数或main()__。

(4)C语言的标准输入函数是_scanf()__,标准输出函数是___printf()____。

(5)函数体用___{______符号开始,用_____}______符号结束。

(6)注释的开始和结束标志分别为__/*____和____*/____。

为增强程序的__可读性___,应该为程序写上清晰的注释。

3.编程题:参考本章例题,编写一个C程序,输出以下信息。

***********************The data is ** 2005-03-23 ***********************程序如下:#include <stdio.h>Void main(){printf(“**********************\n”);printf(“*The data is *\n”);printf(“* 2005-03-23 *\n”);printf(“**********************\n”);}第二章习题1.选择题(1)设int m=10 ,则下列表达式的值不等于零的有(A F)。

(完整版)C语言程序设计练习题(含程序及参考答案)

(完整版)C语言程序设计练习题(含程序及参考答案)

(完整版)C语⾔程序设计练习题(含程序及参考答案)C语⾔练习题(所提供的源程序均采⽤⾃定义函数⽅式解决,如不采⽤函数⽅式,也可直接在main函数中借鉴该思想编程,因时间有限,所有程序未能⼀⼀验证,仅供参考使⽤)1、定义⼀个函数int fun(int a,int b,int c),它的功能是:若a,b,c能构成等边三⾓形函数返回3,若能构成等腰三⾓形函数返回2,若能构成⼀般三⾓形函数返回1,若不能构成三⾓形函数返回0。

#includeint fun(int a,int b,int c){if(a+b>c && b+c>a && a+c>b){if(a==b && b==c )return 3;else if(a==b||b==c||a==c)return 2;else return 1;}else return 0;}void main(){int a,b,c,shape;printf("\nInput a,b,c: ");scanf("%d%d%d",&a,&b,&c);printf("\na=%d, b=%d, c=%d\n",a,b,c);shape =fun(a,b,c);printf("\n\nThe shape : %d\n",shape);}2、编写⼀个程序,将两个变量的值交换, 例如变量a中的值原为 3,b中的值原为8,程序运⾏后 a 中的值为8,b中的值为3。

#includevoid fun(int *x,int *y){int t;t=*x;*x=*y;*y=t}void main(){int a=3,b=8;printf("%d %d\n",a,b);fun(&a,b);printf("%d %d\n",a,b);}3、从键盘输⼊3个数,将最⼤值放在变量a中,最⼩值放在变量c中。

C语言程序设计_第一阶段练习参考答案

C语言程序设计_第一阶段练习参考答案

江南大学现代远程教育第一阶段练习题考试科目:《C语言程序设计》第一章至第四章(总分100分)学习中心(教学点)批次:层次:专业:学号:身份证号:姓名:得分:一单选题 (共20题,总分值40 ,下列选项中有且仅有一个选项符合题目要求,请在答题卡上正确填涂。

)1. 有以下程序main(){ int i=1,j=1,k=2;if((j++‖k++)&&i++) printf("%d,%d,%d\n",i,j,k);}执行后输出结果是()。

(2 分)A. 1,1,2B. 2,2,1C. 2,2,2D. 2,2,32. 已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 && y+z/2的值是()。

(2 分)A. 6B. 0C. 2D. 13. 执行以下程序段后,变量a,b,c的值为()。

int x=11,y=10,a,b,c;a=(--x==y++)?--x:++y;b=x++; c=y; (2 分)A. a=10,b=10,c=9B. a=9,b=9,c=12C. a=9,b=9,c=11D. a=1,b=9,c=114. 以下程序的输出结果是用()表示。

main( ){ int k=17;printf("%d,%o,%x \n",k,k,k);} (2 分)A. 17,021,0x11B. 17,17,17C. 17,0x11,021D. 17,21,115. 已知i、j、k为int型变量,若从键盘输入:1,2,3<回车> ,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是()。

(2 分)A. scanf(“%2d%2d%2d”,&i,&j,&k);B. scanf(“%d %d %d”,&i,&j,&k);C. scanf(“%d,%d,%d”,&i,&j,&k);D. scanf(“i=%d,j=%d,k=%d”,&i,&j,&k);6. 以下非法的赋值语句是()。

C语言程序设计_第一阶段练习参考答案

C语言程序设计_第一阶段练习参考答案

江南大学现代远程教育第一阶段练习题考试科目:《C语言程序设计》第一章至第四章(总分100分)学习中心(教学点)批次:层次:专业:学号:身份证号:姓名:得分:一单选题 (共20题,总分值40 ,下列选项中有且仅有一个选项符合题目要求,请在答题卡上正确填涂。

)1. 有以下程序main(){ int i=1,j=1,k=2;if((j++‖k++)&&i++) printf("%d,%d,%d\n",i,j,k);}执行后输出结果是()。

(2 分)A. 1,1,2B. 2,2,1C. 2,2,2D. 2,2,32. 已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 && y+z/2的值是()。

(2 分)A. 6B. 0C. 2D. 13. 执行以下程序段后,变量a,b,c的值为()。

int x=11,y=10,a,b,c;a=(--x==y++)?--x:++y;b=x++; c=y; (2 分)A. a=10,b=10,c=9B. a=9,b=9,c=12C. a=9,b=9,c=11D. a=1,b=9,c=114. 以下程序的输出结果是用()表示。

main( ){ int k=17;printf("%d,%o,%x \n",k,k,k);} (2 分)A. 17,021,0x11B. 17,17,17C. 17,0x11,021D. 17,21,115. 已知i、j、k为int型变量,若从键盘输入:1,2,3<回车> ,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是()。

(2 分)A. scanf(“%2d%2d%2d”,&i,&j,&k);B. scanf(“%d %d %d”,&i,&j,&k);C. scanf(“%d,%d,%d”,&i,&j,&k);D. scanf(“i=%d,j=%d,k=%d”,&i,&j,&k);6. 以下非法的赋值语句是()。

C语言程序设计练习题(答案)

C语言程序设计练习题(答案)

C语言程序设计练习题(答案)1.1上机实训项目实验1实验步骤1、进入VC环境从“开始”→“程序”→“Microsoft Visual Studio 6.0”→“Microsoft Visual C++ 6.0”,这时进入VC集成环境的主菜单窗口,屏幕显示如图1_1所示。

图1-1 VC集成环境的主菜单窗口2、VC环境下C程序的编辑、连接和运行(1)新建一个源程序①在VC环境中选择“文件”菜单,然后单击“新建”菜单项。

如图1-2所示图1-2 选择新建② 在弹出的新建对话框中设置好相应的内容,如图2-2所示。

要事先准备好保存文件的目录,例d:\lx 目录。

在图1-3中“文件”一栏的源程序文件的扩展名一定要输入C 语言程序的扩展名“.c ”。

设置好后,单击“OK ”,就回到了VC++的编辑界面,即将进行输入和编辑的源程序文件example.c 文件存放在D 盘的LX 目录下。

图1-3 新建对话框的设置③ 在图1-4的工作区中,输入源程序2.设置源程序的文件名,扩展名一定要为“.c ”且一定要输入扩展名1.单击该处3.设置存放目录图1-4 输入、编辑源程序④输入源程序文件后可在主菜单栏中选择“文件”(FILE),并在其下拉菜单中选择“保存”(SAVE),如图1-5所示。

图1-5 保存源程序⑤源程序的编译如图2-6所示,单击主菜单的“编译”(Build),在其下拉菜单中选择“编译example.c”(Compile example.c),或者单击工具栏上的“编译”按钮,如图1-6所示。

在单击“编译”后,屏幕上会出现一个如图1-7所示的对话框。

内容是“This build command requires an activeproject worksapce,Would you like to create a default project worksapce?”,要创建一个默认的项目工作区,单击“是(Yes)”,表示同意,将开始编译;单击“No ”,表示不同意,将取消编译。

C++程序设计(上)练习测试-参考答案

C++程序设计(上)练习测试-参考答案

一、单项选择题1. 编写C++程序一般需经过的几个步骤依次是()A. 编辑、调试、编译、连接B. 编辑、编译、连接、运行C. 编译、调试、编辑、连接D. 编译、编辑、连接、运行答案:B2. 设有定义int i;double j=5;,则10+i+j值的数据类型是()A. intB. doubleC. floatD.答案:3.A. C++B.C. C++D. C++答案:4.A. 7.0B. 5/C. 7.0D. 8/答案:5. 在A.B.C.D.答案:6.A.B.C. 调用该函数时的主调用函数类型D. 在定义该函数时所指定的数据类型答案:D7. 在C++中,函数原型不能标识()A. 函数的返回类型B. 函数参数的个数C. 函数参数类型D. 函数的功能答案:D8. 在int a=3,int *p=&a;中,*p的值是()A. 变量a的地址值B. 无意义C. 变量p的地址值D. 3答案:D9. 一个函数功能不太复杂,但要求被频繁调用,则应把它定义为()A. 内联函数B. 重载函数C. 递归函数D. 嵌套函数答案:A10. 适宜采用inline定义函数情况是()A. 函数体含有循环语句B.C.D.答案:11.A.B.C.D.答案:12.A.B.C.D.答案:13.A.B.C.D.答案:14.A. 实参是形参的备份B. 实参与形参无联系C. 形参是实参的备份D. 实参与形参是同一对象答案:D15. 在C++中,使用流进行输入输出,其中用于屏幕输入()A. cinB. cerrC. coutD. clog答案:A16. 若有以下定义,则说法错误的是()int a=100,*p=&a;A. 声明变量p,其中*表示p是一个指针变量B. 变量p经初始化,获得变量a的地址C. 变量p只可以指向一个整型变量D. 变量p的值为100答案:D17. C++对C语言做了很多改进,即从面向过程变成为面向对象的主要原因是()A. 增加了一些新的运算符B. 允许函数重载,并允许设置缺省参数C. 规定函数说明符必须用原型D.答案:18.3.答案:19答案:20.8.21A.循环22A、B、C、D、23.11、在C++中,关于下列设置参数默认值的描述中,正确的是( C ).A. 不允许设置参数的默认值B.设置参数默认值只能在定义函数时设置C.设置参数默认值时,应该是先设置右边的再设置左边的D.设置参数默认值时,应该全部参数都设置二、填空题1. 开发一个C++语言程序的步骤通常包括编辑、___、连接、运行和调试。

C语言程序设计习题参考答案

C语言程序设计习题参考答案

C 语言程序设计习题答案习题一 C 语言程序设计概述一、名词解释(1)程序P1 (2)程序设计P1 (3)机器语言P1 (4)汇编程序P2(5)高级语言P2 (6)编译程序P3 (7)解释程序P3 (8)算法P4(9)结构化的程序设计P9二、简述题1. 设计程序时应遵循哪些基本原则?P4答:正确性、可靠性、简明性、有效性、可维护性、可移植性。

2. 算法的要素是什么?算法具有哪些特点?答:算法的要素是:操作与控制结构;算法的特点有:有穷性、确定性、有效性、有零个或多个输入、有一个或多个输出。

3. 算法的表示形式有哪几种?答:算法的表示形式有:自然语言、传统流程图、伪代码、结构化的流程图(N_S 流程图,盒图)。

4. 有哪三种基本结构?答:三种基本结构是:顺序结构、选择结构和循环结构。

5. 传统流程图与N-S 流程图最大的区别是什么?答:N-S 流程图去掉了在传统流程图中常用的流程线,使得程序的结构显得更加清晰、简单。

三、用传统流程图、N-S 图分别表示求解以下问题的算法。

1. 有3个数a ,b ,c ,要求按由大到小的顺序把它们输出。

2. 依次将10个数输入,求出其中最大的数 和最小的数并输出。

3. 求1+2+3+…+100的值。

4. 求1×2×3×…×10的值。

5. 求下列分段函数的值。

6. 求100~200之间的所有素数。

7. 求一元二次方程ax 2+bx+c=0的根。

分别考虑d=b 2-4ac 大于0、等于0和小于0三种情况。

四、注释下面C 程序的各个组成部分。

main() /*主函数 */{ /*程序开始 */int a,k,m; /*定义三个用来存放整数的变量 */a=10; /*将整数10赋值给变量a */k=2; /*将整数2赋值给变量k */m=1; /*将整数1赋值给变量1 */a=(k+m)*k/(k-m); /*先求出算术表达式的值,并将其赋值给变量a */printf("%d\n",a); /*在屏幕上打印出变量a 的值 */} /*程序结束 */习题二 数据类型、运算符与表达式一、选择题1~10:BCDCB DDBCA11~20: ADDAA DBADC21~28: DABAD CDD3X (X<1) 4X-1 (X=1) 5(X-1)+6 (1<X<5) 6-3X (X ≥5)二、填空题1.字母L 或字母l2.字符或%c 、整数或%d3.在程序运行过程中,其值可以在一定的范围内变化的量。

PAT《C语言程序设计》题目集参考答案(上)

PAT《C语言程序设计》题目集参考答案(上)

PAT浙大版《C语言程序设计(第3版)》题目集参考答案(上)目录练习5-1 求m到n之和(10分) (1)练习5-2 找两个数中最大者(10分) (2)练习5-3 数字金字塔(15分) (2)习题5-1 符号函数(10分) (3)习题5-2 使用函数求奇数和(15分) (3)习题5-3 使用函数计算两点间的距离(10分) (4)习题5-4 使用函数求素数和(20分) (4)习题5-5 使用函数统计指定数字的个数(15分) .. 5习题5-6 使用函数输出水仙花数(20分) (6)习题5-7 使用函数求余弦函数的近似值(15分) .. 8习题6-1 分类统计字符个数(15分) (8)习题6-2 使用函数求特殊a串数列和(20分) (9)习题6-3 使用函数输出指定范围内的完数(20分) (10)习题6-4 使用函数输出指定范围内的Fibonacci数(20分) (11)习题6-5 使用函数验证哥德巴赫猜想(20分) (13)练习5-1 求m到n之和(10分)本题要求实现一个计算m~n(m<n)之间所有整数的和的简单函数。

函数接口定义:int sum( int m, int n );其中m和n是用户传入的参数,保证有m<n。

函数返回的是m~n之间所有整数的和。

int sum(int m, int n){int a=0;while(m<=n){a=m+a;m++;}return a;}练习5-2 找两个数中最大者(10分)本题要求对两个整数a和b,输出其中较大的数。

函数接口定义:int max( int a, int b );其中a和b是用户传入的参数,函数返回的是两者中较大的数。

int max(int a,int b){int c;if (a>b)c=a;elsec=b;return c;}练习5-3 数字金字塔(15分)本题要求实现函数输出n行数字金字塔。

函数接口定义:void pyramid( int n );其中n是用户传入的参数,为[1, 9]的正整数。

c语言程序设计上机答案

c语言程序设计上机答案

c语言程序设计上机答案C语言程序设计是一门实践性很强的课程,上机练习是掌握C语言编程技能的重要环节。

以下是一些常见的C语言上机练习题目及其参考答案,供学习者参考。

1. 打印“Hello, World!”```c#include <stdio.h>int main() {printf("Hello, World!\n");return 0;}```2. 计算两个数的和```c#include <stdio.h>int main() {int a, b, sum;printf("请输入两个整数:");scanf("%d %d", &a, &b);sum = a + b;printf("%d + %d = %d\n", a, b, sum);return 0;}```3. 判断一个数是否为素数```c#include <stdio.h>#include <math.h>int isPrime(int n) {if (n <= 1) return 0;for (int i = 2; i <= sqrt(n); ++i) { if (n % i == 0) return 0;}return 1;}int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (isPrime(num)) {printf("%d 是素数。

\n", num);} else {printf("%d 不是素数。

\n", num); }return 0;}```4. 计算圆的面积```c#include <stdio.h>#include <math.h>double calculateArea(double radius) {return M_PI * radius * radius;}int main() {double radius, area;printf("请输入圆的半径:");scanf("%lf", &radius);area = calculateArea(radius);printf("半径为 %f 的圆的面积是:%f\n", radius, area); return 0;}```5. 字符串反转```c#include <stdio.h>#include <string.h>void reverseString(char str[]) {int length = strlen(str);for (int i = 0; i < length / 2; ++i) {char temp = str[i];str[i] = str[length - i - 1];str[length - i - 1] = temp;}}int main() {char str[100];printf("请输入一个字符串:");scanf("%s", str);reverseString(str);printf("反转后的字符串是:%s\n", str);return 0;}```6. 计算阶乘```c#include <stdio.h>unsigned long long factorial(int n) {if (n == 0) return 1;return n * factorial(n - 1);}int main() {int num;printf("请输入一个非负整数:");scanf("%d", &num);printf("%d 的阶乘是:%llu\n", num, factorial(num)); return 0;}```7. 排序算法(冒泡排序)```c#include <stdio.h>void bubbleSort(int arr[], int n) {for (int i = 0; i < n - 1; ++i) {for (int j = 0; j < n - i - 1; ++j) { if (arr[j] > arr[j + 1]) {int temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;}}}}int main() {int arr[] = {64, 34, 25, 12, 22, 11, 90}; int n = sizeof(arr) / sizeof(arr[0]);bubbleSort(arr, n);printf("排序后的数组是:\n");for (int i = 0; i < n; ++i) {printf("%d ", arr[i]);}printf("\n");return 0;}```8. 寻找最大值```c#include <stdio.h>int findMax(int arr[], int n) {int max = arr[0];for (int i = 1; i < n; ++i) {if (arr[i] > max) { max = arr[i]; }}return max;。

C语言程序设计题目及解答-01

C语言程序设计题目及解答-01

一、判断题 (20分)1. 计算机是信息处理的工具,任何信息必须被转换成二进制形式数据后才能由计算机进行处理、存储和传输。

2分2. C语言采用解释方式将源程序转换为二进制的目标代码。

2分3. 在C源程序中,/*与*/之间的注释信息也被编译,但对程序运行运果不发生影响。

2分4. 在C语言中,字母的大小写不被区分。

2分5. 对C语言中用到的任何一个变量都要规定其类型。

2分6. 字符型数据和整数之间是不可以通用的。

2分7. 转义字符是一种常量。

2分8. C程序中的一个变量可以被定义为两个或多个不同的类型。

2分9. 字符常量是用单撇号括来的一个字符,这个字符可以是任意的。

2分10. C语言中的标识符以字母或下划线开头,可跟任何字符。

2分二、选择题 (60分)1.目前,在微型计算机中普遍采用的符号编码是() [A] 2分A. ASCII码B. EBCDIC码C. GB2312-80 码D. UNICODE码2.下列一组数据表示方式中的最大数是() [D] 2分A. 1234OB. 1FFHC. 1010001BD. 789D3.ASCII码采用的是()位编码方案,在计算机中的表示方式为()。

[C] 2分A. 8,最高位为“0”的2BB. 8,最高位为“1”的2BC. 7,最高位为“0”的1BD. 7,最高位为“1”的1B4.下列字符中,其 ASCII码值最大的是()。

[B] 2分A. AB. aC. 0D. 95.若在一个非零无符号二进制整数右边加两个零形成一个新的数,则新数的值是原数值的()倍。

[A] 2分A. 4B. 2C. 1/4D. 1/26.计算机中,一个浮点数由两部分组成,它们是()。

[C] 2分A. 阶码和基数B. 基数和尾数C. 阶码和尾数D. 整数和小数7.汉字编码与ASCII码在计算机内部的区分方法是()。

[C] 2分A. 两个字节的高八位都为“0”为两个ASCII码B. 两个字节的高八位都为“1”为两个ASCII码C. 两个字节的高八位都为“1”为一个汉字编码D. 两个字节的高八位都为“0”为一个汉字编码8.常用字符的ASCII码值从小到大的排列顺序为()。

C程序设计课后习题1-3(答案)

C程序设计课后习题1-3(答案)

C程序设计课后习题第一章习题1.选择题(1)C语言程序的执行总是从(A)开始。

A.main函数的入口 B.编译预处理命令C.源程序的第一个函数D.源程序的第一行语句(2)在C语言的源程序中,主函数的位置(C)。

A.必须在编译预处理命令的后面B.必须在源程序的最后C.任意D.必须在源程序的开头(3)下列变量名中合法的是(C)。

A. B.C.Tom B.3a6bC._6a7bD.$ABC(4)下面两对用户定义标识符哪个可读性更强:(C)A.checkqualityB.salarytotalC.check_quality C.sal_ary_tot_al(5)C程序是由(D)组成。

A.若干个过程B.若干子程序C.一个主程序和若干子程序D.若干函数2.填空题(1)一个函数一般由两部分组成,它们分别是_函数首部______和__函数体____。

(2)编译预处理命令___是_____(填“是”或“不是”)C语言文本的一部分。

(3)一个C语言程序至少应包含一个__主函数或main()__。

(4)C语言的标准输入函数是_scanf()__,标准输出函数是___printf()____。

(5)函数体用___{______符号开始,用_____}______符号结束。

(6)注释的开始和结束标志分别为__/*____和____*/____。

为增强程序的__可读性___,应该为程序写上清晰的注释。

3.编程题:参考本章例题,编写一个C程序,输出以下信息。

***********************The data is ** 2005-03-23 ***********************程序如下:#include <stdio.h>Void main(){printf(“**********************\n”);printf(“*The data is *\n”);printf(“* 2005-03-23 *\n”);printf(“**********************\n”);}第二章习题1.选择题(1)设int m=10 ,则下列表达式的值不等于零的有(A F)。

《C程序设计》作业参考答案(1-4章)

《C程序设计》作业参考答案(1-4章)

第1章C语言概述习题(P13):1.3 写出一个C程序的构成。

答:C程序由一个main函数和0个或多个自定义函数构成,每个函数的构成如下:函数类型函数名(函数参数列表){说明部分执行部分}1.4 C语言以函数为程序的基本单位,有什么好处?答:一个函数实现一个相对独立的功能,便于实现程序的模块化。

1.5 请参照本章例题,编写一个C程序,输出以下信息:*************************************************Very good!*************************************************答:参照例1.1编程如下# include <stdio.h>void main(){printf("********************************************\n");printf(" Very good!\n");printf("********************************************\n");}1.6 编写一个C程序,输入a、b、c 3个值,输出其中最大者。

答:参照例1.3编程如下法一:修改例1.3的主函数,自定义max函数不变。

# include <stdio.h>void main(){int max(int x,int y); /*函数声明*/int a,b,c,m; /*定义4个变量,m用于存放最大值*/scanf("%d%d%d",&a,&b,&c);/*从键盘上输入3个整数*/m=max(a,b); /*第一次调用max函数求出前两个数的最大值放在m中*/m=max(m,c); /*再调max函数求出m和第三个数的最大数*/printf("max is %d\n",m); /*输出结果*/}int max(int x,int y) /*定义求两个数的最大数的函数max */{int z;if(x>y) z=x;else z=y;return(z);}法二:修改例1.3的主函数和max函数,将max函数改为求3个数的最大数。

C语言程序设计课后习题1-8参考答案

C语言程序设计课后习题1-8参考答案

C语言程序设计课后习题1-8参考答案习题1参考答案一、简答题1、冯诺依曼计算机模型有哪几个基本组成部分各部分的主要功能是什么?答:冯诺依曼计算机模型是由运算器、控制器、存储器、输入设备、输出设备五大功能部件组成的。

运算器又称算术逻辑部件,简称ALU,是计算机用来进行数据运算的部件。

数据运算包括算术运算和逻辑运算。

控制器是计算机的指挥系统,计算机就是在控制器的控制下有条不紊地协调工作的。

存储器是计算机中具有记忆能力的部件,用来存放程序和数据。

输入设备是用来输入程序和数据的部件。

输出设备正好与输入设备相反,是用来输出结果的部件。

2、简述计算机的工作原理。

答:计算机的工作原理可简单地概括为:各种各样的信息,通过输入设备,进入计算机的存储器,然后送到运算器,运算完毕把结果送到存储器存储,最后通过输出设备显示出来。

整个过程由控制器进行控制。

3、计算机软件系统分为哪几类答:软件内容丰富,种类繁多,通常根据软件用途将其分为两大类:系统软件和应用软件。

系统软件是指管理、监控、维护计算机正常工作和供用户操作使用计算机的软件。

这类软件一般与具体应用无关,是在系统一级上提供的服务。

系统软件主要包括以下两类:一类是面向计算机本身的软件,如操作系统、诊断程序等。

另一类是面向用户的软件,如各种语言处理程序(像BC、VC等)、实用程序、字处理程序等。

应用程序是指某特定领域中的某种具体应用,供最终用户使用的软件,它必须在操作系统的基础上运行。

4、什么叫软件说明软件与硬件之间的相互关系。

答:软件是指计算机程序及有关程序的技术文档资料。

两者中更为重要的是程序,它是计算机进行数据处理的指令集,也是计算机正常工作最重要的因素。

在不太严格的情况下,认为程序就是软件。

硬件与软件是相互依存的,软件依赖于硬件的物质条件,而硬件则需在软件支配下才能有效地工作。

在现代,软件技术变得越来越重要,有了软件,用户面对的将不再是物理计算机,而是一台抽象的逻辑计算机,人们可以不必了解计算机本身,可以采用更加方便、更加有效地手段使用计算机。

C语言程序设计上机习题与参考答案

C语言程序设计上机习题与参考答案

C语言程序设计上机习题与参考答案1、给出三角形的三边a、b、c,求三角形的面积(应先判断a、b、c三边是否能构成一个三角形)。

2、某幼儿园只收2~6岁的小孩,2~3岁编入小班,4岁编入中班,5~6岁编入大班,编制程序实现每输入一个年龄,输出该编入什么班。

3、编写程序,输入一个整数,判断它能否被3、5、7整除,并根据情况输出下列信息:(1)能同时被3、5、7整;(2)能同时被3、5、7中的两个数整除,并输出这两个数;(3)只能被3、5、7中的一个数整除;(4)不能被3、5、7中的任何一个数整除。

4、请列出所有的个位数是6,且能被3整除的两位数。

5、求1~500中能被5整除的数的倒数之和。

6、编写程序,输入某门功课的若干个同学的成绩,以-1作为终值,计算平均成绩并输出。

7、若口袋里放入12个球,3个红球,3个白的,6个黑的,从中任取8个,编写程序,列出所有可能的取法。

8、编写一个程序,求2022!的末尾有多少个0?9、一个自然数平方的末几位与该数相同时,称该数为同构数。

例如:252=625,则25为同构数。

编程求出1~1000中的同构数。

10、输入一个较大的整数,求小于该整数的最大5个素数。

n11、求下列数列的近似值:S=1-1/22+1/33-1/44+(-1)/nn.输入精度,当某一项的精度小于该值时停止计算。

floatfun(floatep){}voidmain(){floatep;canf(“%f”,&ep);printf(“%f\n”,fun(ep));}12、编写一个函数change(int某,intr),将十进制整数某转换成r(1<r<10)进制后输出。

13、求1000以内的亲密数对。

亲密数对的定义为:若整数a的所有因子(不包括本身)之和为b,b的所有因子(不包括b本身)之和为a,且a和b不相等,则称a与b为亲密数对。

intfun(int某){}voidmain(){intn,a,b;for(n=1;n<1000;n++){b=fun(n);a=fun(b)if(a!=b&&a==n)printf(“\n%d,%d\n”,a,b);}}14、用递归法求下列问题的解:一对小兔,一个月后长成中兔,第二个月长成大兔,长成大兔,长成大兔后以后每个月生一对小兔。

《C程序设计》练习及答案

《C程序设计》练习及答案

《C程序设计》练习及答案选择题部分第一章c语言概述选择题1、一个c程序的继续执行从______。

a、本程序的main函数开始,到main函数的结束b、本程序文件的第一个函数已经开始,至本程序文件的最后一个函数的完结c、本程序文件的main已经开始,至本程序文件的最后一个函数的完结d、本程序文件的第一个函数已经开始,至本程序文件的main函数的完结2、以下描述恰当的就是______。

a、在c程序中main函数必须位于程序的最前面b、c程序的每行中只能写一条语句c、c语言本身没有输入输出语句d、在对一个c程序展开编程的过程中,可以辨认出注解中的错误3、以下描述不恰当的就是______。

a、一个c源程序可由一个或多个函数组成b、一个c源程序必须包含一个main函数c、c程序的基本组成单位是函数d、在c程序中,注解表明就可以坐落于一条语句的后面4、c语言规定,在一个源程序中,main函数的位置______。

a、必须在最为已经开始b、必须在系统调用的库函数的后面c、可以任一必须在最后5、一个c语言程序是由______。

a、一个主程序和若干子程序共同组成b、函数共同组成c、若干过程共同组成d若干子程序共同组成、、d(acdcb)第三章数据类型、运算符与表达式(红色显示的部分为参考答案)1、如果x、i、j和k都就是int型变量,则排序下面表达式后,x的值______。

x=(i=4,j=16,k=32)a.4b.16c.32d.522、设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是______。

a.7b.8c.6d.23、以下四组选项中,均不是c语言关键字的选项就是______。

a.defineiftypeb.getccharprintfc.includescanfcased.whilegopow4、下列四组选项中,均是c语言关键字的选项是______。

a.autoenumincludeb.switchtypedefcontinuec.signedunionscanfd.ifstructtype5、下列四组选项中,均是不合法的用户标识符的选项是______。

C++程序设计(上)练习-答案

C++程序设计(上)练习-答案

一、单项选择题1。

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

编辑、调试、编译、连接B。

编辑、编译、连接、运行C. 编译、调试、编辑、连接D. 编译、编辑、连接、运行答案:B2。

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

不确定答案:B3. 有关C++编译指令,以下叙述正确的是()A。

C++每行可以写多条编译指令B. #include指令中的文件名可含有路径信息C。

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

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

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

7。

0/2。

0和7。

0/2B。

5/2.0和5/2C. 7.0/2和7/2D. 8/2和6.0/2。

0答案:A5。

在C++中不返回任何类型的函数应该说明为()A. intB. charC. voidD. double答案:C6。

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

return语句中的表达式类型B。

调用该函数时系统随机产生的类型C。

调用该函数时的主调用函数类型D。

在定义该函数时所指定的数据类型答案:D7. 在C++中,函数原型不能标识()A. 函数的返回类型B. 函数参数的个数C。

函数参数类型D. 函数的功能答案:D8. 在int a=3,int *p=&a;中,*p的值是()A。

变量a的地址值B. 无意义C。

变量p的地址值D. 3答案:D9。

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

内联函数B。

重载函数C. 递归函数D。

嵌套函数答案:A10. 适宜采用inline定义函数情况是()A。

函数体含有循环语句B。

函数体含有递归语句C. 函数代码少、频繁调用D。

函数代码多、不常调用答案:C11. 在函数定义中的形参属于()A。

全局变量B。

局部变量C。

静态变量D. 寄存器变量答案:B12. C++语言中所有在函数中定义的变量,连同形式参数,都属于()A. 全局变量B。

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

一、单项选择题1. 编写C++程序一般需经过的几个步骤依次是()A. 编辑、调试、编译、连接B. 编辑、编译、连接、运行C. 编译、调试、编辑、连接D. 编译、编辑、连接、运行答案:B2. 设有定义int i;double j=5;,则10+i+j值的数据类型是()A. intB. doubleC. floatD. 不确定答案:B3. 有关C++编译指令,以下叙述正确的是()A. C++每行可以写多条编译指令B. #include指令中的文件名可含有路径信息C. C++的编译指令可以以#或//开始D. C++中不管#if后的常量表达式是否为真,该部分都需要编译答案:B4. 在下列成对的表达式中,运算结果类型相同的一对是()A. 7.0/2.0和7.0/2B. 5/2.0和5/2C. 7.0/2和7/2D. 8/2和6.0/2.0答案:A5. 在C++中不返回任何类型的函数应该说明为()A. intB. charC. voidD. double答案:C6. 决定C++语言中函数的返回值类型的是()A. return语句中的表达式类型B. 调用该函数时系统随机产生的类型C. 调用该函数时的主调用函数类型D. 在定义该函数时所指定的数据类型答案:D7. 在C++中,函数原型不能标识()A. 函数的返回类型B. 函数参数的个数C. 函数参数类型D. 函数的功能答案:D8. 在int a=3,int *p=&a;中,*p的值是()A. 变量a的地址值B. 无意义C. 变量p的地址值D. 3答案:D9. 一个函数功能不太复杂,但要求被频繁调用,则应把它定义为()A. 内联函数B. 重载函数C. 递归函数D. 嵌套函数答案:A10. 适宜采用inline定义函数情况是()A. 函数体含有循环语句B. 函数体含有递归语句C. 函数代码少、频繁调用D. 函数代码多、不常调用答案:C11. 在函数定义中的形参属于()A. 全局变量B. 局部变量C. 静态变量D. 寄存器变量答案:B12. C++语言中所有在函数中定义的变量,连同形式参数,都属于()A. 全局变量B. 局部变量C. 静态变量D. 函数答案:B13. 下列有关重载函数的说法中正确的是()A. 重载函数必须具有不同的返回值类型B. 重载函数参数个数必须相同C. 重载函数必须有不同的形参列表D. 重载函数名可以不同答案:C14. 使用地址作为实参传给形参,下列说法正确的是()A. 实参是形参的备份B. 实参与形参无联系C. 形参是实参的备份D. 实参与形参是同一对象答案:D15. 在C++中,使用流进行输入输出,其中用于屏幕输入()A. cinB. cerrC. coutD. clog答案:A16. 若有以下定义,则说法错误的是()int a=100,*p=&a;A. 声明变量p,其中*表示p是一个指针变量B. 变量p经初始化,获得变量a的地址C. 变量p只可以指向一个整型变量D. 变量p的值为100答案:D17. C++对C语言做了很多改进,即从面向过程变成为面向对象的主要原因是()A. 增加了一些新的运算符B. 允许函数重载,并允许设置缺省参数C. 规定函数说明符必须用原型D. 引进了类和对象的概念答案:D18.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;答案:B19.如果一个函数没有返回值,则应选择下列说明符中的()。

A. doubleB. voidC. intD. char答案:B20.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--的值为___。

答案:23. 下面程序的输出结果为___。

#include <iostream.h>void main(){int num=2,i=6;do{i--;num++;}while(--i);cout<<num<<endl;}答案:54. 由const修饰的对象称为___。

答案:常对象5. 表达式cout<<end1 还可表示为___。

答案:‘\n’6. 在C++中,访问一个指针所指向的对象的成员所用的指向运算符是___。

答案:->7. C++程序的源文件扩展名为___。

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

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

答案:传地址或引用10. 若函数的定义处于调用它的函数之前,则在程序开始可以省去该函数的___语句。

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

答案:传引用或地址12. 在函数前面用___保留字修饰时,则表示该函数表为内联函数。

答案:inline13. C++是通过引用运算符___来定义一个引用的。

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

答案:全局对象15.布尔类型标识符是()答案:bool16.若要使用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 <iostream.h>void main(){int i,*p;i=10;*p=i;cout<<*p<<endl;}答案:*p=i;指针即地址没有被赋值。

[修改]p=&i;2. 以下程序实现交换a,b变量的值,请用下横线标出错误所在行并给出修改意见。

#include <iostream.h>void swap(int &a,int &b){a=a+b;b=a-b;a=a-b;}void main(){int a=19,b=15;cout<<"a="<<a<<",b="<<b<<endl;swap(&a,&b);cout<<"a="<<a<<",b="<<b<<endl;}答案:swap(&a,&b);函数的形参是变量的引用,调用时的实参应该是地址。

[修改]swap(a, b);四、完成程序题(本大题共5小题,每小题4分,共20分)1. 下面是一个三角形三边,输出其面积C++程序,在下划线处填上正确的语句。

#include <iostream.h>#include <math.h>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:"<<s<<endl;}elsecout<<"Error"<<endl;}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 <iostream>_________;_________;void main(){double rad;cout<<"rad=";cin>>rad;double l=2.0*pi*rad;double s=pi*rad*rad;cout<<"\n The long is:"<<l<<endl;cout<<"The area is:"<<s<<endl;}答案:using namespace std,#define pi 3.14159[解析]进行输入或输出要引入iostream, 所以using namespace std;从标点看没有分号,所以使用宏定义,#define pi 3.14159。

相关文档
最新文档