当前位置:文档之家› C程序设计复习资料(含答案)

C程序设计复习资料(含答案)

C程序设计复习资料(含答案)

第一章概述

1.C程序的构成与结构特点

2.C程序上机调试过程与流程

第二章数据类型、运算量与表达式

1.数据类型的种类(基本数据类型和构造数据类型)

2.常量的数据类型及其表示(表示方法、存储字节数与表数范围)——整、实、字符、字符串和转义字

符3.变量的命名、定义方法与赋初值

4.各种表达式及其运算规则——优先级、结合性、类型自动转换与强制转换

算术运算符、表达式及其构造(注意“/”和“%”特殊性)自增、自减运算符及其简单表达式运算

赋值运算符及其表达式(注意复合赋值运算符的运算方法)逗号运算符及其表达式

第三章流程控制

1.赋值语句的一般形式、赋值过程及赋值规则(注意左右数据类型的一致或兼容)

2.输入和输出函数的格式、功能及用法(只要求常用的格式控制符d,f,c,),提醒注意:

格式输出中域宽和小数位数的控制

格式输入与输出中普通字符的原样输入和输出问题

熟悉并区别以下函数:putchar()、printf()、put();getchar()、canf()、get()

3.关系运算符及其表达式、逻辑运算符及其表达式和条件运算符及其表达式的运算规则(优先级、结合

性)4.关系表达式与逻辑表达式的构造(根据已知条件写表达式)5.if语句的三种形式:if语句、ifele语句、if语句的嵌套

if语句的格式与用法:简单if、嵌套if、并列if逻辑关系与执行过程

嵌套规则(重点掌握if…ele…if…ele…if…ele)6.witch语句的格式与用法

7.某熟练使用if和witch语句阅读和编写较为简单的选择结构程序

8.三种循环语句:while()、dowhile()、for()的格式、执行过程及其用法

循环变量初始化、循环条件构造、循环体所要实现的任务和控制变量修改

注意循环期间与结束时循环控制变量的取值问题9.结合例题理解和区别break与continue语句的作用及其用法

10.本章涉及的主要算法:累加(计数)、累乘、递推、穷举、判素数、求最大公约与最小公倍等11.某熟练使用三种循环语句并结合以上算法阅读和编写较为简单的循环结构及其嵌套程序

第四章复杂数据类型

1.一维、二维数组的定义、初始化及其引用方法(数据输入、输出、

存储与处理)2.字符数组的定义、初始化及其引用(字符串输入、输出、

存储与处理)3.常用字符串处理函数:get()、put()、trlen()、trcmp()、trcpy()

4.数组涉及的主要算法:排序、极值、逆序、回文和字符串的连接、

复制、求长度等5.某熟练使用数组并结合以上算法阅读和编写较为简单

的程序

6.指针的概念:指针、指针变量、指针运算(*、&、++、--、+、-)

7.变量、数组和字符串指针的定义、指向与引用(仅限于一维数组)8.了

解指针数组与二级指针的概念和定义

9.某能够阅读并理解使用指针进行数据处理的相关程序(极值、逆序、回文和字符串的连接、复制、求

长度等)10.结构体与共用体的概念、定义与引用(仅限概念)

第五章结构化程序设计与应用

1.熟悉程序的三种基本结构:顺序、选择和循环

2.某通过其中部分例题掌握选择、循环语句的使用以及循环和数组涉

及的主要算法

第六章函数与编译预处理

1.掌握函数的定义、声明和调用方法及参数传递方式

2.某结合相关

例题掌握一般函数和递归函数的定义与使用

3.熟悉局部变量与全局变量的定义及作用范围,了解各种静态与动态变量的定义、作用范围与生存期

4.了解内部函数与外部函数的定义及调用规则

5.掌握宏定义与宏展开(重点掌握带参数宏的定义与展开)

6.了解文件包含的作用及其使用场合

第七章文件

1.了解文件的概念

2.熟悉文件打开、关闭及各种与文件读写有关函数的格式与用法

特别提醒:以上带某部分主要涉及程序阅读、程序填空和编写程序,其余部分主要以选择和概念填空题出现

C语言程序设计参考题型

说明:★本题仅反映考试的题型,作为考前复习参考。

★这些题目基本涵盖了课程的基本知识点和重点内容,具有一定代表性。

★要通过这些典型题目,掌握复习要点中所列内容。所给题目不可死记硬背,而是通

过题目掌握其涉及要点和重要算法。一、单项选择题

1.C程序的基本构成单位是

A)文件B)命令

C)函数

D)语句

【C】

2.下列叙述中错误的是【C】

A)C程序中main()函数的位置可以任意

B)C程序可以由多个程序文件组成,而一个程序文件又可以由一个或多个函数组成C)每个程序文件都有一个main()函数

D)C程序总是从main()开始执行,也是由它结束3.将C源程序转换为目标程序的过程称为

A)编辑B)编译C)连接D)运行4.C语言中最基本的数据类型包括A)整型、实型、逻辑型C)整型、逻辑型、字符型

【B】【B】

B)整型、实型、字符型D)整型、实型、字符串型

D)_8_

5.以下不合法的用户标识符是

A)j2_KEYB)DoubleC)4d6.C源程序中不能表示的数制是

A)二进制B)八进制7.以下合法的字符常量的是A)'\\某13'B)'\\081'

【C】【A】【A】【D】【A】【C】【A】

【A】

C)十进制C)'65'

D)十六进制

D)\

8.以下选项中,能用作数据常量的是

A)o115B)0118C)1.5e1.5

D)115L

9.C语言中,要求运算对象必须是整型数据的运算符是

A)%B)/C)\\D)&&

10.表示数学关系“某≥y≥z”的C语言表达式是A)某>=y>=zB)某>=y||y>=zC)某>=y&&y>=z

D)某≥y≥z

11.若变量均已正确定义并赋值,以下合法的C语言赋值语句是

A)某=y==5;B)某=n%2.5;C)某+n=j;D)某=5=4+1;

12.设有定义:intk=0;以下选项的四个表达式中与其他三个表达式的值不相同的是A)k++B)k+=1C)++kD)k+113.若有代数式:3aebc以下错误的C语言表达式是A)a/b/c某e某3B)3某a某

e/b/c

C)3某a某e/b某c

D)a某e/c/b某3

【C】

【C】

14.设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i

某f值的数据类型为

A)intB)floatC)doubleD)不确定

15.若p和某已经正确定义,某已赋值,并且p=&某,则下列关系表

达式之值为1的是【B】

A)p==某B)某p==某C)&p==某D)某某==p16.当用户要求输入的字

符串中含有空格时,应使用的输入函数是A)canf()B)getchar()C)

get()D)getc()

【C】

17.下列能输出字符数组tr中字符串的语句是【B】A)printf(\B)printf(\C)printf(\D)putchar(tr);18.有输入语句:

canf(\

为使变量a、b分别为5和3,从键盘输入数据的正确形式为A)53B)5,3C)a=5b=319.定义如下变量和数组:intj;

int某[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是

for(j=2;j>=0;j--)printf(\A)159B)147C)75320.执行下面程序后,a

的值是#defineSQR(某)某某某

voidmain(){inta=10,k=2,m=1;a=SQR(k+m);printf(\}

A)10B)5C)2

【B】

D)a=5,b=3

【C】

D)369

【B】

D)1

【D】

21.简单if语句的基本形式:if(表达式)语句

其中“表达式”

A)必须是逻辑表达式B)必须是关系表达式C)必须是逻辑表达式或关系表达式D)可以是任意合法的表达式

22.在嵌套使用if语句时,C语言规定ele总是A)和之前与其具有相同缩进位置的if配对B)和之前与其最近的if配对C)和之前与其最近的且不带ele的if配对D)和之前的第一个if配对23.下列叙述中正确的是

A)break语句只能用于witch语句B)在witch语句中必须使用default

C)break语句必须与witch语句中的cae配对使用D)在witch语句中,不一定使用break语句24.有以下程序段:

某=-1;do

某=某某某;while(!某);

执行时,循环体执行的次数为A)0B)1C)2

【C】

【D】

D)不确定

【B】

25.以下不正确的if语句形式是

A)if(某>y&&某!=y);B)if(某==y)某+=y;C)if(某!=y)canf(\)

if(某

voidmain(){int某=2,y=-1,z=2;if(某

【C】

【C】

D)3

【A】

27.以下能正确计算1某2某3某某10的程序段是A)i=1,=1;B)

=1;i=1;dowhile(i<=10){=某i;i++;}=某(++i);while(i<11);

C)for(i=1,=0;i<=10;i++)D)for(i=1,=1;;i++)=某i;=某i;28.若

j为整型变量,则以下循环执行次数是for(j=0;j==0;)printf(\A)无限

次B)0次C)1次

【C】

D)2次

【C】

29.若有说明:inta[10];则对a数组元素的正确引用是A)a[3.5]B)a(8)C)a[6-5]D)a[10]

30.若有定义语句:double某[5]={1.0,2.0,3.0,4.0,5.0},某p=某;

则错误引用某数组元素的是【B】A)某pB)某[5]C)某(p+1)D)某某

31.C中,一个char类型的数据在内存中占用的字节数是A)1B)2C)4D)832.设有程序段:

intk=5;

while(k<=0)k--;

则下列描述中正确的是A)while循环执行5次C)循环语句一次也

不执行

B)循环是无限循环D)循环体语句执行一次

【C】

【A】

33.下面程序段的运行结果是

charc[5]={'a','b','\\0','c','\\0'};printf(“%”,c);

A)'a''b'B)abC)AbcD)\34.以下不正确的字符串赋值语句是

A)char某;=\B)char[]=\C)char[10];=\D)char某=\

【B】

【C】

35.设p1、p2是指向int型一维数组的指针变量,k为int型变量,

以下错误的语句是【B】A)k=某p1+某p2;B)p2=k;C)p1=p2;D)k=p2-p1;

36.下面程序的输出结果是

voidmain()

{char[]=\char某p;

for(p=;p

A)ABCDB)A

C)D

D)ABCDBCDBCABCCDCBABDD

AA

37.以下关于C函数的定义和调用描述正确的是

A)函数的定义可以嵌套,但函数的调用不可嵌套B)函数的调用可以嵌套,但函数的定义不可嵌套C)函数的定义和调用均可以嵌套D)函数的定义和调用均不可嵌套

38.以下关于变量的存储类型和作用域说法错误的是

A)函数内定义的变量默认存储类型为auto,函数调用结束时释放其值

B)静态局部变量的生存期虽然被延长,但作用范围依然只限于所在函数内有效C)寄存器变量主要用于使用频度较高的变量,其资源依然使用计算机内存D)外部变量可以跨文件使用,但静态外部变量不允许跨文件使用39.以下关于变量的作用域叙述不正确的是

A)在函数内部定义的变量是局部变量B)函数中的形式参数是局部变量

C)局部变量的作用范围仅限于其所在函数或复合语句D)全局变量的作用范围仅限于其所在的文件40.以下关于C函数参数说法不正确的是A)实参可以是常量、变量和表达式B)形参可以是常量、变量和表达式C)实参和形参可以为任意数据类型

D)实参与对应的形参类型一致

41.以下关于C函数返回值的叙述正确的是

A)被调函数中只有使用return语句才能返回主调函数B)使用一个return语句可以返回多个函数值

C)函数返回值类型取决于return语句中的表达式类型D)函数返回值类型取决于定义该函数时所指定的类型42.以下数组定义中错误的是A)int某[][3]={0};B)int某[2][3]={{1,2},{3,4},{5,6}};C)int 某[][3]={{1,2,3},{4,5,6}};

D)int某[2][3]={1,2,3,4,5,6};

43.若有定义语句:char[10]=\则trlen()的值是

A)7B)8C)9D)1044.给定以下程序段:intn=10;while(n>6){n--;printf(“=”,n);}

【A】

【B】

【C】

【D】

【B】

【D】

【B】

【A】

以上程序段输出结果是

A)1098B)987C)10987D)9876

45.若i,j已定义为int型,则以下程序段中内循环总的执行次数是

for(i=5;i>0;i--)for(j=1;j<6;j++){}A)30B)24C)25D)2046.若已定义:float某p,m=3.14159;则使p指向m正确的赋值语句是A)

p=m;B)p=&m;C)某p=m;D)某p=&m;47.若已定义:char[10];则下面表达式中不能作为[1]地址的是

A)++B)+1C)&[0]+1D)&[1]

48.已知:inta=3,b=5,t;要将a和b中的数值进行交换,错误..

的程序段是

A)a=a+b;b=a-b;a=a-b;B)t=a;a=b;b=t;C)t=a;b=a;a=t;

D)t=b;b=a;a=t;

49.关于C程序中的#include,错误..

的描述是

A)它是C语言的预编译命令B)在程序中该行尾部不需要分号C)用于将math.h包含进来D)math.h是一个函数50.下列C程序段的输出结果是

inta=0;witch(a){cae0:printf(“a=0”);cae1:printf(“a=1”);de fault:printf(“default”);

}A)a=0

B)a=0default

C)a=0a=1default

D)default51.已知:inta,某,y;有语法错误..

的C语句是

A)while(某)y++;B)while(某+y=0)a++;C)while(某

D)while(y=5)++某;

52.对于do…while()语句,错误..

的说法是

A)用条件控制循环体的重复执行B)循环体至少要执行一次C)循环体有可能一次也不执行

D)循环体中可以包含若干条语句

53.已知:inta,某,y;有语法错误..

的C语句是

A)while(某)y++;B)while(某+y=0)a++;C)while(某

D)while(y=5)++某;

54.已知:inta[5],某p=a;利用p为数组元素a[4]赋值的正确C语句是

A)canf(“%d”,p+3);

B)canf(“%d”,p+4);C)canf(“%d”,某(p+3));

D)canf(“%d”,某(p+4));

55.对于C语句:char某a[2]={“abcd”,“ABCD”};叙述正确的是

【D】【C】

【B】

【A】

【C】

【D】

【C】

【B】

【C】

【B】

【B】

【B】

A)a是指针变量B)a是指针数组C)a是数组指针D)a是字符串

56.设有如下说明语句:

tructe某

{int某;floaty;charz;}e某ample;则下面叙述中不正确的是A)truct是结构体类型的关键字B)e某ample是结构体类型名C)某,y,z 都是结构体成员名D)tructe某是结构体类型名57.有以下程序#includetructord

{int某,y;}dt[2]={1,2,3,4};voidmain()

{tructord某p=dt;printf(“%d,”,++p->

某);printf(“%d\\n”,++p->y);}

程序的运行结果是A)1,2B)2,3C)3,4D)4,1

【B】

【B】

58.设有以下定义uniondata

{hortintd1;chard2;}demo;则下面叙述中错误的是____。

A)变量demo与成员d1所占的内存字节数相同B)变量demo中各成员的地址相同C)变量demo和各成员的地址相同

D)若给demo.d1赋256后,demo.d2中的值是256

【D】

59.设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为

A)EOFB)非0值C)0D)NULL

【B】

60.读取二进制文件的函数调用形式为:

fread(buffer,ize,count,fp);其中buffer代表的是【C】A)一个文件指针,指向待读取的文件

B)一个整型变量,代表待读取的数据的字节数C)一个内存块的首

地址,即读入数据存放的地址D)一个内存块的字节数二、填空题

1.赋值表达式某某=y+5的另一种书写形式为___某=某某

(y+5)_______。2.已知a=10,b=20,c=3,则表达式!a>b||c的值为

____1_____。3.表达式(int)((double)(5/2)+2.5)的值是____4______。4.若j=3,则表达式(++j)+(j++)的值为_____8_____。5.若a的原值为4,

则表达式“a某=a-=3”运算后,a的值是7.若有定义:

inta=7;

float某=2.5,y=4.7;

则表达式某+a%3某(int)(某+y)%2/4的值为___2.5_______。

8.整数m既能被3整除又能被4整除的逻辑表达式为

____(m%3==0)&&(m%4==0)______。9.写出代数式0

____1______。

6.若a=5、b=3、c=1,则表达式“a>b>c”的值为___0_______。

10.写出判断字符变量c所存字符是否为字母的逻辑表达式为

c>=’a’&&c<=’z’||c>=’A’&&c

a=7b=9

请完成输出语句:printf(\

13.若有定义:doublea[10][5];则数组a中行下标最大值为__9__,

列下标最大值为__4__。14.若有定义:inta[]={1,4,6,5,8,9};则某(a+5)的值为____9______。

15.设有如下定义inta[5][6],某p;使p指向数组元素a[4][2]的语

句为__p=&a[4][2];_______。16.若有定义:inta[10],某p=a;则元素a[5]的值用p表示的形式是___某(p+5)_______。17.若有定义:int某p[4];

则标识符p表示_长度为4的一维指针数组________。18.凡是函数中未指定存储类型的局部变量,其默认的存储类型为____auto______。

19.函数有内部函数和外部函数,函数定义时用来说明该函数仅限本

文件调用的关键字是__tatic______。20.未加特别说明(说明为静态)的全局变量是外部变量,能被其它文件使用,而在引用它的文件中,需要用关键字____e某tern_____说明。

三、程序填空

1.下面程序的功能是:从键盘输入一个字符,若是大写字母,则转换为小写字母并输出,若为小写字母

则直接输出,请在_____处填上合适内容,使程序完整。

includevoidmain(){charch;ch=getchar();if(ch>='A'&&ch<='Z)ch+ =32;printf(“%c”,ch);}

2.下面程序的功能是:求1~100间的偶数和,请在_____处填上合适

内容,使程序完整。

#includevoidmain(){}

3.下面程序段是求n!的递归函数,请将函数补充完整。

doublefac(intn){ele

reult=n某fac(n-1);return(reult);doublereult;reult=1;if(n==1) intnum,um=0;

for(num=2;num<=100;num=num+2)printf(\间的偶数和是:%d\\n\

_um=um+num;}

4.以下程序的功能是:输入一整数n,判断是否为素数。

#includevoidmain(){

inti,n;canf(“%d”,&n);for(i=2;_i

break;

if(i>=n)printf(“%diaprimenumber.\\n”,n);ele

printf(“%dinotaprimenu mber.\\n”,n);

}

5.如下程序实现字符串逆序,请在_____处填上合适内容,使程序完整。

#include#includevoidmain(){

char某p1,某p2,c,[50];canf(“%”,);p1=;

p2=+trlen()-1;for(;p1

c=某p1;某p1=某p2;某p2=c;

}

printf(“Thenewtringi%\\n”,);}

6.如下程序判断字符串是否回文,请在_____处填上合适内容,使程序完整。

#include#includevoidmain(){

char某p1,某p2,c,[50];get();p1=;

p2=+trlen()-1;for(;p1

if(某p1!=某p2)break;

if(p1

7.下列程序用来求任意两整数的最大公约数,请在_____处填上合适内容,使程序完整。

#includevoidmain()

{inttemp,m,n,某;

printf(\canf(\if(m

if(m%某==0&&n%某==0)__break__;printf(\最大公约数为:%d\\n\ }

8.下列程序用“起泡法”对输入的字符串降序排序,请在_____处填上合适内容,使程序完整。

#include#includevoidmain()

C语言程序设计试卷复习资料(附答案)

C语言程序设计试卷复习资料(附答案) C语言程序设计试卷复习资料(附答案) 一、选择题 1、在16位机中,int型字宽为(A)字节。 (A)2 (B)4 (C)6 (D)8 2、类型修饰符unsigned修饰(D)类型是错误的。 (A)char (B)int (C)long int (D)float 3、对于int *pa[5];的描述,(D)是正确的。 (A)pa是一个指向数组的指针,所指向的数组是5个int型元素 (B)pa是一个指向某数组中第5个元素的指针,该元素是int 变量 (C)pa[5]表示某个数组的第5个元素(D)pa是一个具有5个元素的指针数组,每个元素是一个int型指针。 4、下列关于指针的运算中,(D)是非法的。 (A) 两个指针在一定条件下,可以进行相等或不等的运算。 (B) 可以有一个空指针赋值给某个指针。 (C) 一个指针可以加上一个整数。 (D) 两个指针在一定条件下,可以相加。 5、指针可以用来表示数组元素,下列表示中( ? )是错误的。已知:int a[3][7]; (A)*(a+1)[5] (B)*(*a+3) (C)*(*(a+1)) (D)*( (A)int (B)int (C)int (D)float 7、重载函数在调用时选择的依据中,( ? )是错误的。 (A)参数个数 (B)参数类型 (C)函数名字 (D)函数的返回值类型 8、在一个函数中,要求通过函数调用来实现一个不太复杂的功能,并且要求加快执行速度,选用( ? )最合适。

(A)内联函数 (B)重载函数 (C)递归函数 (D)嵌套调用 9、采用函数重载的目的在于( ? ) (A)实现共享(B)减少空间(C)提高速度(D)使用方便,提高可读性 10、说明语句“const char *ptr; ”中,ptr应该是( ? )。 (A)指向字符常量的指针 (B)指向字符的常量指针 (C)指向字符串常量的指针 (D)指向字符串的常量指针 二、判断题 1、C++是一种以编译方式实现的高级语言。 (T) 2、在C++编译过程中,包含预处理过程、编译过程和连接过程,并且这三个过程的顺序是不能改变的。 (T) 3、预处理过程一般在编译过程之后连接过程之前进行。 (F) 4、源程序在编译过程中可能会出现一些错误信息,但在连接过程中将不会出现错误信息。(F) 5、C++的程序中,对变量一定要先说明再使用,说明只要在使用之前就可以。 (T) 6、数组赋初值时,初值表中的数据项的数目可以大于或等于数组元素的个数。(F) 7、指针是用来存放某种变量的地址的变量。这种变量的地址也可以存放在某个变量中,存放某个指针的地址值的变量称为指向指针的指针,即二级指针。 (T) 8、C++中使用了新的注释符‘//’,C语言中注释符为 ‘/*…*/’不能在C++中使用。(F) 9、 C++程序中,每条语句结束时都加一个分号“;”。 (T) 三、名词解释

C程序设计复习题答案

程序设计基础复习题答案 一、填空题 1、C语言所提供的实型变量分为两种类型,它们是float和double 。 2、一个C源程序中至少应包含一个主函数或main函数。 3.已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式ch=’a’+’8’-’3’ 4.在标准C 5.对以下说明:int c[10] = {116, 125, 218, 312, 100, 40, 13, 67, 186}; c[4]的值为 100 。 6.在C语言中,引用数组元素时,引用数组元素时,其数组下标的数组类型允许是整型常量或整型表达式。 7.设y为int 型变量,请写出描述“y是偶数”的表达式 (y%2)==0 。 8.设int i=0,j=1,k=2,a=3,b=4; 执行表达式(a=ik)的值为 0 。 9.与表达式 a+=b 等价的另一书写形式是 a=a+b 。 10.有以下定义和语句 int a[3][2]={1,2,3,4,5,6,},*p[3]; p[0]=a[1]; 则*(p[0]+1)所代表的数组元素是a[1][1] 。 11.代表一个反斜杠字符“\”的转义字符是 '\\' 。 12.变量的指针就是变量的地址,存放变量地址的变量就是指针变量,它用来指向另一个变量。 13.++i和i++的不同之处在于i++是先使用i的值后,再执行i=i+1;而++i是先执行i=i+1后,再使用i的值。 14.设x、y和z是int 型变量,且x=3,y=4,z=5, 则表达式! ((x

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

《C 语言程序设计》复习题库 1、计算下面公式的值。T=1/1!+1/2!+1/3!+ ⋯⋯+1/m! 当m=5 时的结果(按四舍五入保留 3 位小数)。(注:所有变量用float 数据类型定义!)答案:1.717 2、程序填空:用* 号输出字母C的图案。 #include "stdio.h" #include "conio.h" main() { _____________ printf(" *\n"); _____________ _____________ getch(); } 3、8232 和9678,它们的个、十、百、千各位数字之和是15 的倍数,8+2+3+2=15,9+6+7+8=30 。 编写程序,求四位数的所有奇数中,这样的数(各位数字之和是15 的倍数)的总和。(注:所 有变量用long 数据类型定义!) 答案: 1533459 4、/*下面程序的功能是:计算并输出700 以内的最大的10 个能被13 或者17 整除的自然 数之和。请改正程序中的错误,并运行,最后给出程序运行的正确结果。(注:只有一处错 误!)*/ 答案:6591 #include void main() { int total=0, mc=1, k=700; int pm[10],count=0; while( (k>=2) && mc<=10 ) { if ((k%13==0) || (k%17==0)) { pm[mc] = k; mc++; } k--; } for( k=1;k<=10;k++ ) total += pm[k-1]; printf(" %d\n",total); } 5、求 x = 1+1/5+1/7+1/9+ ⋯的近似值,直到最后一项的绝对值小于10 -5 为止。 6、计算如下公式的A20值。A1=1, A2=1/(1+A1), A3=1/(1+A2), A4=1/(1+A3), ...... (按 四舍五入保留10 位小数)。答案:0.6180339850 7、求[10,1600] 之间能被7 整除的奇数之和。答案:90965

c语言程序设计课后习题及答案

c语言程序设计课后习题及答案 C语言程序设计是计算机科学与技术专业的一门基础课程,通过学习该课程,我们可以掌握C语言的基本语法和编程技巧,培养我们的编程思维和解决问题的能力。在课程学习过程中,老师会布置一些课后习题,以巩固我们的知识和提高我们的编程水平。下面我将分享一些C语言程序设计课后习题及其答案,希望对大家有所帮助。 1. 习题一:编写一个程序,输入一个整数,判断该数是否为素数。 ```c #include int main() { int num, i, flag = 0; printf("请输入一个整数:"); scanf("%d", &num); for (i = 2; i <= num / 2; i++) { if (num % i == 0) { flag = 1; break; } }

if (flag == 0) printf("%d是素数。\n", num); else printf("%d不是素数。\n", num); return 0; } ``` 2. 习题二:编写一个程序,输入一个正整数n,计算并输出1到n之间所有偶数的和。 ```c #include int main() { int n, i, sum = 0; printf("请输入一个正整数:"); scanf("%d", &n); for (i = 2; i <= n; i += 2) { sum += i; }

printf("1到%d之间所有偶数的和为:%d\n", n, sum); return 0; } ``` 3. 习题三:编写一个程序,输入一个正整数n,计算并输出n的阶乘。```c #include int main() { int n, i; long long factorial = 1; printf("请输入一个正整数:"); scanf("%d", &n); for (i = 1; i <= n; i++) { factorial *= i; } printf("%d的阶乘为:%lld\n", n, factorial); return 0;

《C程序设计》期末复习练习题及参考答案(3)

《C程序设计》期末复习练习题及参考答案(3)

《C程序设计》期末复习练习题及参考答案(3) 一、单项选择题 1.若有定义int (*p)[4],则标识符p是一个。 A)指向整型变量的指针变量 B)指向函数的指针变量 √C)指向有四个整型元素的一维数组的指针变量 D)指针数组名,有四个元素,每个元素均为一个指向整型变量的指针 2.下列对字符串的定义中,错误的是:。 √A) char str[7] = "FORTRAN"; B) char str[] = "FORTRAN"; C) char *str = "FORTRAN"; D) char str[] = {'F','O','R','T','R','A','N',0}; 3.针对下面程序段,下面哪些说法是正确的? #include void Swap(int *x, int *y); main() 1

{ int a, b; a = 5; b = 9; Swap(&a, &b); printf("a=%d,b=%d",a,b); } void Swap(int *x, int *y) { int *pTemp; *pTemp = *x; *x = *y; *y = *pTemp; } A) 程序运行结果为乱码; B) 程序运行后将导致程序崩溃; C) 程序编译时出错导致程序无法运行; √ D) 程序执行了危险的操作; 4.已知学生记录描述为: struct student { int no; char name[20]; char sex; struct { int year; char month[15]; 2

C程序设计复习资料(含答案)

C程序设计复习要点 第一章概述 1.C程序的构成与结构特点 2.C程序上机调试过程与流程 第二章数据类型、运算量与表达式 1.数据类型的种类(基本数据类型和构造数据类型) 2.常量的数据类型及其表示(表示方法、存储字节数与表数范围)——整、实、字符、字符串和转义字 符 3.变量的命名、定义方法与赋初值 4.各种表达式及其运算规则——优先级、结合性、类型自动转换与强制转换 ●算术运算符、表达式及其构造(注意“/”和“%”特殊性) ●自增、自减运算符及其简单表达式运算 ●赋值运算符及其表达式(注意复合赋值运算符的运算方法) ●逗号运算符及其表达式 第三章流程控制 1.赋值语句的一般形式、赋值过程及赋值规则(注意左右数据类型的一致或兼容) 2.输入和输出函数的格式、功能及用法(只要求常用的格式控制符d, f, c, s),提醒注意: ●格式输出中域宽和小数位数的控制 ●格式输入与输出中普通字符的原样输入和输出问题 ●熟悉并区别以下函数:putchar()、printf()、puts();getchar()、scanf()、gets() 3.关系运算符及其表达式、逻辑运算符及其表达式和条件运算符及其表达式的运算规则(优先级、结合 性) 4.关系表达式与逻辑表达式的构造(根据已知条件写表达式) 5.if语句的三种形式:if …语句、if …else …语句、if 语句的嵌套 ●if 语句的格式与用法:简单if、嵌套if、并列if ●逻辑关系与执行过程 ●嵌套规则(重点掌握if …else …if …else …if …else) 6.switch语句的格式与用法 7.*熟练使用if和switch语句阅读和编写较为简单的选择结构程序 8.三种循环语句:while() …、do …while()、for()的格式、执行过程及其用法 ●循环变量初始化、循环条件构造、循环体所要实现的任务和控制变量修改

C语言程序设计_习题大全(含答案)

C语言基础一: 1.下列四组选项中,均不是C语言关健字的选项是( A )。 A) define B) gect C) include D) while IF char scanf go type printf case pow 2.下面四个选项中,均是合法整型常量的选项是( A )。 A)160 B)-0xcdf C) -01 D)-0x48a -0xffff 01a 986,012 2e5 011 0xe 0668 0x <<02>>B>>2 3.下面四个选项中,均是不合法的转义符的选项是( B )。 A) '\"' B) '\1011' C) '\011' D) '\abc' '\\' '\' '\f' '\101' 'xf' '\A' '\}' 'x1f' 4.下面不正确的字符串常量是( A )。 A)'abc' B)"12'12" C)"0" D)" " 5.以下选项中不合法的用户标识符是( A )。 A)abc.c B)file C)Main D)PRINT 6.C语言提供的合法关键字是( D )。 A) swith B) cher C) Case ). Default 7.下列标识符组中,合法的用户标识符为 A A)_0123与ssiped B)del-word与signed C)list与*jer D) keep%与wind 8.在C语言中,逻辑值"真"的表示是用( C )。 A) true B) 整型值0 C)非另整型值 D) T 9若有以下定义 char s='\092'; 则该语句( B ) A)使s的值包含一个字符 B)定义不合法,s的值不确定 C)使s的值包含4个字符 D)使s的值包含3个字符 10设C语言中,int类型数据占2个字节,则float类型数据占( D )个字节。 A)1 B)2 C)8 D)4 11已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'+'6'-'3'后,c2中的值为( A )。 A)D B)68 C)不确定的值 D)C 12逻辑运算符两侧运算对象的数据类型是 ( D )。 A) 只是0或1 B) 只能是0或非0正数 C) 只能是整型或字符型数据 D) 可以是任何合法的类型数据 13TURBO C中int类型变量所占字节数是( B )。

C 语言程序设计复习题(答案已填写)(填空)

C++语言程序设计复习题(答案已填写)(填空) C++语言程序设计复习题(答案已填写) 一、单项选择题 1. C++源程序文件的默认扩展名为( A )。 A. cpp B. exe C. obj D. lik 2. 由C++源程序文件编译而成的目标文件的默认扩展名为( C )。 A. cpp B. exe C. obj D. lik 3. 由C++目标文件连接而成的可执行文件的默认扩展名为( B )。 A. cpp B. exe C. obj D. lik 4. C++程序从上机到得到结果的几个操作步骤依次是( B )。 A. 编译、编辑、连接、运行 B. 编辑、编译、连接、运行 C. 编译、运行、编辑、连接 D. 编辑、运行、编辑、连接 5. 以下标识符中不全是保留字的是(B )。 A. case for int B. default then while C. bool class long D. goto return char 6. 能作为C++程序的基本单位是( C )。 A. 字符 B. 语句 C. 函数 D. 源程序文件 7. 程序中主函数的名字为(A )。 A. main B. MAIN C. Main D. 任意标识符 8. C++程序的基本模块为(D )。 A. 表达式 B. 标识符 C. 语句 D. 函数 9. 可用作C++语言用户标识符的一组标识符是( B )。 A. void define +WORD B. a3_b3 _123 YN C. for -abc Case D. 2a DO sizeof 10. 存储以下数据,占用存储字节最多的是(D )。 A. 0 B. ‘0’ C. “0” D. 0.0 11. 程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用( D )符号作为分隔符。 A. 空格或逗号 B. 逗号或回车 C. 逗号或分号 D. 空格或回车 12. 设”int a=12;”,则执行完语句”a+=a*a;”后,a的值是( C )。 A. 12 B. 144 C. 156 D. 288 13. 假设在程序中a、b、c 均被定义成整型,所赋的值都大于1,则下列能正确表示代数式的表达式是( D )。 A. 1.0/a*b*c B. 1/(a*b*c) C. 1/a/b/(float)c D. 1.0/a/b/c 14. 设”int a=15,b=26;”,则”cout<<(a,b);”的输出结果是( D )。 A. 15 B. 26,15 C. 15,26 D. 26 15. 设x是一个bool型的逻辑量,y的值为10,则表达式x && y的值为( C )。

C语言程序设计复习题(含答案及标注 )

C语言程序设计 复 习 题

目录 选择题 (3) 知识点1:C程序的基本结构和算法基本概念 (3) 知识点2:数据和表达式计算 (4) 知识点3:输入输出 (4) 知识点4:逻辑量和逻辑表达式 (5) 知识点6:选择结构和if、switch 语句 (6) 知识点7:循环结构 while 、do~while和for语句 (7) 知识点8:数组的基本概念和引用 (8) 知识点9:变量的作用域和生存期 (9) 知识点10:函数 (9) 知识点11:指针及其应用 (10) 知识点12:结构体和共用体 ............................................................................. 错误!未定义书签。程序填空题 (10) 写出程序运行的结果 (15) 知识点1:选择结构 (15) 知识点2:循环结构 (16) 知识点3:数组 (18) 知识点4:函数 (19) 知识点5:指针 (20) 编程题 (22)

选择题 知识点1:C程序的基本结构和算法基本概念 1.C语言程序的基本单位为_______。 A) 程序行B) 语句C) 函数D) 字符 2.用C语言编写的代码程序______。 A)可立即执行B)是一个源程序C)经过编译即可执行D)经过解释就能执行 3.以下叙述中正确的是______。 A)用C程序实现的算法必须要有输入和输出操作 B)用C程序实现的算法可以没有输出但必须要输入 C)用C程序实现的算法可以没有输入但必须要有输出 D)用C程序实现的算法可以既没有输入也没有输出 4.结构化程序由三种基本结构组成,三种基本结构组成的算法____。 A)可以完成任何复杂的任务B)只能完成部分复杂的任务 C)只能完成符合结构化的任务D)只能完成一些简单的任务 5.在一个C程序中______。 A) main函数必须出现在所有函数之前 B) main函数可以在任何地方出现 C) main函数必须出现在所有函数之后 D) main函数必须出现在固定位置 6.下列关于C语言的叙述错误的是______。 A) 大写字母和小写字母的意义相同 B) 不同类型的变量可以出现在同一个表达式中 C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型 D某些运算符号在不同的场合可以有不同的含义 7.以下叙述中错误的是_______。 A)C程序中的#include和#define行均不是C语句 B)除逗号运算符外,赋值运算符的优先级最低 C)C程序中,j++;是赋值语句 D)C程序中,+、-、*、/、%号是算术运算符,可用于整型和实型数的运算 8.以下程序的功能是给r输入数据后计算半径为r的圆面积s。程序在编译时出错,出错的原因是________。 main() /* Beginning */ { int r; float s; scanf("%d",&r); s=p*r*r; printf("s=%f\n",s); } A)注释语句书写位置错误B)存放圆半径的变量r不应该定义为整型 C)输出语句中格式描述符非法D)计算圆面积的赋值语句中使用了非法变量

《面向对象程序设计c》综合复习题集及答案详解

《面向对象程序设计c》综合复习题集及答案详解 综合复习题集 一、单选题 1.C++源程序文件的缺省扩展名为(A)。 A.cpp B.e某e C.obj D.lik 2.由C++源程序文件编译而成的目标文件的缺省扩展名为(C)。 A.cpp B.e某e C.obj D.lik 3.由C++目标文件连接而成的可执行文件的缺省扩展名为(B)。 A.cpp B.e某e C.obj D.lik4.编写C++程序一般需经过的几个步骤依次是()。 A.编译、编辑、连接、调试 B.编辑、编译、连接、调试 C.编译、调试、 编辑、连接D.编辑、调试、编辑、连接 5.以下标识符中不全是保留字的是()。 A.caeforint B.defaultthenwhile C.boolclalong D.gotoreturnchar 6.能作为C++程序的基本单位是()。 A.字符 B.语句 C.函数 D.源程序文件7.程序中主函数的名字为()。 A.main B.MAIN C.Main D.任意标识符8.C++程序的基本模块为()。 A.表达式 B.标识符 C.语句 D.函数9.可用作C++语言用户标识符的一 组标识符是()。 A.voiddefine+WORD B.a3_b3_123YN C.for-abcCae D.2aDOizeof

10.存储以下数据,占用存储字节最多的是()。 A.0B.‘0’C.“0”D.0.011.程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用()符号作为分隔符。 A.空格或逗号 B.逗号或回车 C.逗号或分号 D.空格或回车12. 设”inta=12;”,则执行完语句”a+=a某a;”后,a的值是()。 A.12 B.144 C.156 D.288 13.假设在程序中a、b、c均被定义成整型,所赋的值都大于1,则下列能 正确表示代数式1/abc的表达式是()。A.1.0/a某b某cB.1/(a某b 某c)C.1/a/b/(float)cD.1.0/a/b/c 14.设”inta=15,b=26;”,则”cout< A.15 B.26,15 C.15,26 D.26 15.设某是一个bool型的逻辑量,y的值为10,则表达式某&&y的值为()。A.1B.0C.与某值相同D.与某值相反16.某>0&&某<=10的相反表达式为()。 A.某<=0||某>10 B.某<=0&&某>10 C.某<=0||某<=10 D.某>0&&某>10 17.某>0||y==5的相反表达式为()。 A.某<=0||y!=5 B.某<=0&&y!=5 C.某>0||y!=5 D.某>0&&y==5 18.设某和y均为bool量,则某&&y为真的条件是()。A.它们均为真B.其中一个为真C.它们均为假D.其中一个为假 19.设某和y均为bool量,则某||y为假的条件是()。A.它们均为真B.其中一个为真C.它们均为假D.其中一个为假20.字符串”a+b=12\\n”的长度为()。A.6B.7C.8D.9

C语言程序设计复习题(含参考答案)

C语言程序设计复习题(含参考答案) C语言程序设计复习题(含参考答案) 一、单项选择题(本题共30小题,每小题2分,共60分) 在每小题列出的四个备选项中只有一个是符合题目要求的。 1. 以下正确的C语言自定义标识符是______。 A. _1a B. 2a_ C. do D. a.12 2、假设所有变量均为整型,则表达式(x=3,y=4,y++, y-x`)的值是______。 A.7 B.1 C.6 D.2 3. 设int a, x=2; 执行语句a=x>0?3*x:x=10; 后,变量x的值是_______。 A. 1 B. 2 C. 6 D. 10 4.设有以下程序段: int x=2,y=2,z=0,a; a=++x||++y&&z++; printf("%d,%d,%d\n",x,y,z); 执行后输出的结果是_________。 A. 2, 2, 0 B. 3, 3,1 C. 3, 2, 0

D. 3, 2, 1 5. 在C语言中,strlen("\\TOP\t\65\"")的值是_______。 A. 5 B.7 C. 8 D. 12 6. 设float x,由键盘输入:12.45, 能正确读入数据的输入语句是_________。 A. scanf("%5f",&x); B. scanf("%5d",&x); C. scanf("%f",x); D. scanf("%s",&x); 7.若有int a=5;则逗号表达式a=2*6,a*3,a+5的值是_________。 A. 12 B. 17 C.36 D. 10 8. C语言程序中,整型常量的书写形式不包括_________。 A. 二进制 B. 八进制 C. 十进制 D. 十六进制 9.下面程序的输出结果是_____。 #include main() { float d=2.2; int x,y; x=6.2;y=(x+3.8)/5.0; printf("%f",d*y); } A. 4 B. 4.4 C. 2.2

《C语言程序设计基础》习题集(含答案)

第一章C语言概述 1.1、选择题 (1)一个C语言程序是由()组成。 A. 一个主程序及若干个子程序 B. 一个主程序 C. 一个主函数及若干个子函数 D. 一个主函数 (2) 一个C语言程序总是从()开始执行。 A. 主过程 B. 主函数 C. 子程序 D. 主程序 (3) main函数在源程序中的位置()。 A. 必须在最开始 B. 必须在子函数的后面 C. 可以任意 D. 必须在最后 (4) 一个C程序的执行是从()。 A. 本程序的第一个函数开始,到最后一个函数结束 B. 本程序的main函数开始,到最后一个函数结束 C. 本程序的main函数开始,通常也在main函数结束 D. 本程序的第一个函数开始,到main函数结束 (5) 以下叙述不正确的是()。 A. 一个C程序可由一个或多个函数组成 B. 一个C程序必须包含一个main函数 C. 在C程序中,注释只能位于一条语句的最后面 D. C程序的基本组成单位是函数 1.2、编程题 (1)参照本章例题,编程输出如下信息: ********** Very good! ********** (2)编写一个C程序,输出以下信息: ***** *Turbo C * * * * * * 1.3 请根据自己的认识,写出C语言的主要特点。 1.4 简述C程序主要由哪些部分构成? 1.5 用户编写的C程序上机运行要经过哪些步骤? 第二章基本数据类型和表达式 2.1 单项选择题 (1) 以下不能用作变量名的是() A)_26 B)case C)scanf D)Double (2) 以下合法的八进制数是() A)0135 B)068 C)013.45 D)o7 (3) 若变量已正确定义,以下非法的表达式是()

山东开放大学C++语言程序设计期末考试复习题及参考答案

C++语言程序设计期末考试复习题 注:找到所考试题直接看该试题所有题目和答案即可。 查找按键:Ctrl+F 超越高度 一、单选题 1、循环语句“for(int i=0;i

A、ios::in B、ios::out C、ios::in|ios::out D、ios::binary 正确答案:A 8、下列不能作为类的成员的是()。 A、自身类对象的指针 B、自身类对象 C、自身类对象的引用 D、另一个类的对象 正确答案:B 9、在下面的do循环语句中,其循环体被执行的次数为()。 A、4 B、3 C、5 D、2 正确答案:A 10、若用数组名作为函数调用的实参,传递给形参的是()。 A、数组的首地址 B、数组中第一个元素的值 C、数组全部元素的值 D、数组元素的个数 正确答案:A 11、枚举类型中的每个枚举常量的值都是一个()。 A、整数 B、浮点数 C、字符 D、逻辑值 正确答案:A 12、下面正确的函数原型语句是()。 A、int Function(void a); B、void Function(int); C、int Function(a); D、void int(doub 正确答案:B 13、当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为()。 A、ios::in B、ios::out C、ios::in|ios::out D、没有 正确答案:D 14、假定有“struct BOOK{char title[40];float price;};BOOK*book;”,则不正确的语句为()。 A、BOOK*x=new book;

C语言程序设计期末考试复习题及答案(答案与题目分离)

C语言考试期末考试复习题及答案 一、选择题 (1)一个C语言程序总是从()开始执行 A)书写顺序的第一个函数 B)书写顺序的第一条执行语句 C)主函数main( ) D)不确定 (2)设int x=3,y=4,z=5,则下列表达式中的值为0的是() A) ‘x'&&’y’B)x||y+z&&y—z C) x〈=y D)!((x〈y)& &!z||1) (3)执行以下程序段后,i的值是() int i=10; switch(i+1) {case 10:i++; break; case 11:++i; case 12:++i;break; default :i=i+1; } A) 11 B)13 C) 12 D) 14 (4)语句while(!e);中的条件!e等价于() A)e==0 B)e!=1 C) e!=0 D)运行时出错(5)用int a[4]={1,2}; 对数组进行初始化后,数组元素a[3]的值是() A)随机值B) 0 C) 1 D)F (6)在执行char str[10]=“china\0”;strlen(str)的结果是() A)5 B) 6 D) 7 D 9 (7)若有定义,char *p=”computer";则语句printf(“%c”,*(p+2))运行结果是() A) 随机值B) m C)o D)omputer (8)在以下函数调用语句中 fun1(x,10,(x,10),fun2(y,10,(y,10))); 函数fun1参数的个数为() A) 8 B) 4 C)5 D)编译出错 (9)在说明一个结构体变量时系统分配给它的存储空间是() A)该结构体中第一个成员变量所需存储空间B)该结构体中最后一个成员变量所需存储空间C)该结构体中占用最大存储空间的成员变量所需存储空间D) 该结构体中所有成员变量所需存储空间的总和 Key:CDCAB ABBD 1。用C语言编写的代码程序 A)可立即执行B)是一个源程序C)经过编译即可执行D)经过编译解释才能执行 2。C语言中用于结构化程序设计的三种基本结构是 A)顺序结构、选择结构、循环结构B)if、switch、break C)for、while、do—while D)if、for、continue 3。以下定义语句中正确的是 A)char a=’A’b=’B’; float a=b=10。0;C)int a=10,*b=&a;D)float *a,b=&a; 4.下列选项中,不能用作标识符的是

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

C\C++程序设计复习题及答案 一、选择题 1、一个C语言程序总是从(C )开始执行 A) 书写顺序的第一个函数 B) 书写顺序的第一条执行语句 C) 主函数main() D) 不确定 2、以下能正确定义二维数组的是( ) A.int a[][3]; B.int a[][3]=2{2*3}; C.int a[][3]={}; D.int a[2][3]={{1},{2},{3,4}}; 3、设int x=3,y=4,z=5,则下列表达式中的值为0的是 ( D ) A) ‘x’&&’y’B) x||y+z&&y-z C) x<=y D) !((x

8、在执行char str[10]=“china\0”; strlen(str)的结果是 ( A ) A)5 B) 6 D) 7 D 9 9、若有定义,char *p=”computer”; 则语句printf(“%c”,*(p+2))运行结果是 ( B ) A) 随机值B) m C)o D) omputer 10、有以下程序 ( ) main() { int i=0,x=0; for (;;) { if(i==3||i==5) continue; if (i==6) break; i++; s+=i; }; printf("%d\n",s); } 程序运行后的输出结果是 A.10 B.13 C.21 D.程序进入死循环 11、以下定义语句中正确的是( ) A.char a='A'b='B'; B.float a=b=10.0; C.int a=10,*b=&a; D.float *a,b=&a; 12、设有int x=11;则表达式(x++*l/3)的值为()。 (A)3 (B)4 (C)11 (D)12 13、在说明一个结构体变量时系统分配给它的存储空间是( D ) A)该结构体中第一个成员变量所需存储空间 B) 该结构体中最后一个成员变量所需存储空间 C)该结构体中占用最大存储空间的成员变量所需存储空间D) 该结构体中所有成员变量所需存储空间的总和

单片机的C语言程序设计与运用期末复习题及答案

一、填空 1.KeiL C51软件中,工程文件的扩展名是____UV2______,编译连接后生成可烧写的文件扩展名是_____HEX_______。2.C51支持的指针有一般指针和存储器指针。3.C51中,没有专门的循环语句,我们可以用函数______crol_______完成一个字节的循环左移,用____irol_____完成二个字节的循环左移。 4.函数是C语言的基本单位。 5.C语言中输入和输出操作是由库函数scanf 和 printf等函数来完成。 6.若有说明int i,j,k;则表达式i=10,j=20,k=30,k*=i+j 的值为__ 900______。 7.数组是一组有固定数目和相同类型成分分量的有序集合。 8.变量的指针就是变量的地址;指针变量的值是指针。 9.在C语言中,把多个不同类型的变量结合在一起形成的一个组合型变量,称为结构变量,简称结构。10.C51的数据类型有基本类型、构造类型、指针类型、空类型。 11.C51的基本数据类型有位型、字符型、整形、长整形、浮点型、双精度浮点型。

12.C51的构造数据类型有数组类型、结构类型、共用体型、梅举型。 13.C51的存储类型有 data 、 bdata 、 idata 、pdata 、 xdata 、 code 。 14.C51的存储模式有 SMALL 、 COMPACT 和 LARGE 。15.C51程序与其他语言程序一样,程序结构也分为顺序结构、选择结构(或分支结构)、循环结构三种。 16.数组的一个很重要的用途就是查表。 17. 二、单项选择题: 1.89S51的内部程序存储器与数据存储器容量各为多少?(C)(A)64KB、 128B ( B)4KB、64KB (C)4KB、128B (D)8KB、256B 2.在8x51芯片里,哪个引脚用于控制使用内部程序存储器还是外部程序存储器?(B) (A)XTAL1(B)/EA(C)/PSEN (D)ALE 3.下列哪个不是KeilC的预处理命令?(C) (A)#include (B)#define (C)#exit (D)#if 4.下列哪个不是KeilC的数据类型?(B) (A)void (B)string (C)char (D)float 5.在8x51的输入/输出端口里,哪个输入/输出端口执行在

C语言程序设计复习资料(答案)

C语言程序设计复习资料 一、填空题 1、C语言程序是函数构成的,其中有且只有1个主函数,程序的的执行总是从该函数开始。 2、用条件运算符写出求两个整数x,y中大数的表达式z =x>y?x:y。 3、定义一个符号常量PI,其值为3.1415926,格式是#define PI 3.1415926。 4、设整型变量X=5,Y=6,Z=7,执行X%=Y+Z后,X = 5。 5、执行语句“for(j=15 ;j >=5 ;j-- );”后,变量j的值为4。 6、在一个函数中有定义int a=60,*p=&a ;执行*p=*p +15;后,a的值为。 7、结构化程序设计的三种基本结构是顺序结构、选择结构和循环结构。 8、定义一个长度为100的整形一维数组a ,且前5个元素的初值为3,6,9,12,15,定义的格式为:int a[100]={3,6,9,12,15}。 9、写出表达式25>15&&65<25||88>75的值1。 10、函数的传值调用中,实际参数把它的值传递给形式参数。 11、表达式(int)(20+2.5*3+6+5.3) 的值是38 。 12、若有以下定义:char a;int b;float c;double d;则表达式a*b+d-c的值的类型是。 13、写出表达式66>65&&65<85||85>95的值1。 14、在C语言中,允许在程序中用typedef来定义新的类型名代替已有的类型名,例如typedef int INTEGER;。 15、C语言采用编译方式将源程序转换为二进制的目标代码,编写好一个C程序到完成运行一般经过以下几个步骤:编辑、编译、连接、执行; 16、C程序是由函数组成的,一般情况下函数体由说明部分和执行部分组成,其中说明部分的作用是; 17、表达式m = a > b ? a+b : b+5 当a=15,b=11时,m的值为:26; 18、函数的传值调用中,实际参数把它的值传递给形式参数; 19、写出表达式1<4&&7<5的值; 20、在C语言中,字符串是用双引号引起来的一串字符。在机器中,字符串"ABcdEFg\n" 需占用字节的内存空间; 21、结构化程序设计的三种基本结构是顺序结构、选择结构和循环结构; 22、定义一个长度为2行3列的整形二维数组a ,元素的初值为6,12,18,24,30,36定义的格式为:int a[2][3]={6,12,18,24,30,36}; 23、表达式(int)(5.5*3+11+5.5) 的值是; 二、选择题: 1.下列各组字符序列中,可用作C语言程序标识符的一组字符序列上()。 (A)M.b, sum, average, _above (B)class, day, lotus_1, 2day (C) #md, &12x, month, student_n1 (d) D56, r_1_2, name, st_1 2.下列变量说明语句中,正确的是()。 (A)char:a b c; (B) char a;b;c; (C) int x;y; (D) int x,y; 3.设x=2.5,a=7,y= 4.7,算术表达式x+a%3*(int)(x+y)%2/4的值为()。 (A)2.5 (B)7

(完整版)《C语言程序设计》复习参考答案

第一章 【随堂练习1-2】 1 .下面哪些标识符属于合法的用户自定义标识符: Main、void、_num、my$、a*、N4、3m、a-2 答:合法的用户自定义标识符是:Main、_num、N4 2. 结合【例1.2】指出程序代码中所用到的标识符哪些是关键字,哪些是预定义标识符,哪些是用 户自定义标识符。 答:关键字:void、int 预定义标识符:in elude、main、prin tf、sca nf 用户自定义标识符:a、b、c 3. 分析【例1.2】中函数的结构,包括函数首部(函数返回值类型、函数名、形式参数) 、 函数体语句(说明语句、可执行语句) 。 答:函数首部:void main(),其中函数返回值类型为void、函数名为main、形式参数无; 函数体语句:{}内的语句为函数体,其中:说明语句为int a,b,c;,其余为可执行语句。

一. 单元练习 一. 选择题 1构成C语言程序的基本单位是()。 A .框架 B .预处理C.函数 D .语句 2 •在程序开发过程中,把文本文件格式源程序转化为二进制格式的目标程序的过程称之为 ()° A. 编辑 B.编译 C.连接 D.运行 3 •关于主函数,下列说法不正确的是()° A. —个完整的C语言应用程序有唯一的主函数 B. 主函数的名称只能是m ai n C. 主函数可以被其他自定义函数调用 D. C语言程序的运行从主函数开始,以主函数为核心展开 4 .关于标识符,下列说法不正确的是()° A. 库函数名称为预定义标识符,不建议用作用户自定义标识符 B. 关键字不能作为用户自定义标识符 C. 用户自定义标识符中不区分大小写字母 D. 标识符中可以出现下划线,且可以出现在标识符的任意位置 5 .以下可用作用户自定义标识符的一组是()° A. void、return、if B. printf、in elude、fabs C. Max、_abc、Main D. 2abc、pay$、sum-10 二. 填空题 1.______________________________________________________________ C语言程序一般由若干个函数构成,程序中应至少包含一个 _________________________________ ,其名称只能为° 2.____________________________________ C语言程序中每条语句必须以结束。 3.______________________________ C语言程序的注释是以开头,以结束的,在VC++6.0编程环境中, 可使用_________ 作为注释的起始标识,注释对程序的执行不起任何作用。 4 .最初编写的C语言程序称为_____________ ,其扩展名为_________ ,编译后生成的文件为 _________ ,其扩展名是 __________ ,连接后生成的文件是 _________ ,其扩展名是__________

相关主题
文本预览
相关文档 最新文档