最新c语言答案

最新c语言答案
最新c语言答案

第二部分习题篇

第一章C语言概述

一.单项选择题

1.A)2.A)3.A)4.B)5.C)6.D)7.C)8.A)

9.D)10.C)11.C)12.D)13.B)14.D)15.A)

二.填空题

1.高级语言2.main( ) 3.main( ) 4.{ } 5.分号

6.换行7.*/ 8.函数9.编译10..exe

三.判断题

1.(对)2.(对)3.(错)4.(对)5.(对)6.错)7.(对)8.(错)9.(对)10.对)

第二章数据类型与表达式

一.单项选择题

1.A)2.C 3.D)4.A)5.C)6.D)7.C)

8.C)9.A)10.A)11.B)12.C)13.C)

14.D)15.B)16.B)17.C)

二.填空题

1.Double 2.不同3.27 4.35 5.5 6.double 7.43

8.53 9.12,10,18 10.12.20 11.1,3,3,1 12.4,8

三.判断题

1.(对)2.(对)3.(错)4.(对)5.(对)6.(错)7.(对)8.(错)9.(对)10.(对)

第三章顺序结构程序设计

一.单项选择题

1.D)15.0,25.0,35.0

2.C)x=1.23,y=1.26

3.B)scanf(“%d%d%d”,&a,&b,&c);

4.A)scanf("%f",&a);

5.D)程序输出小写字母d

6.B)3

二.填空题

1.5.5

2.c+25

3.1,2,A,a

4.2D

三.判断题

1.顺序结构、选择结构和循环结构可以组成所有的各种复杂程序。(对)

2.复合语句就是多条语句,不必须用花括号括起来。(错)

3.在变量说明中,允许连续给多个变量赋初值。(错)4.scanf函数和printf函数的原型在头文件“stdio.h”中。(对)5.printf函数格式字符串中%4d表示输出一定是四位十进制整数。(错)6.putchar 函数的功能是在显示器上输出一个字符。(对)

7.在scanf函数的格式串中,如果是“%d%d%d”,在输入三个十进制整数时要用一个以上的空格键、回车键和Tab键作为每两个输入数之间的间隔。(对)

8.在scanf函数的格式串中,如果是“%c%c%c”,在输入三个字符时要用一个以上的空格键、回车键、Tab键和逗号作为每两个输入字符之间的间隔。(错)9.scanf("%5.2f",&a);是合法的,目的是输入小数为2位的实数。(错)10.getchar函数的功能是从终端输入一个字符。(对)

第四章选择结构程序设计

一.单项选择题

1.C)算术运算、关系运算、逻辑运算

2.A)%

3.B)x= =0

4.B)!、&&、||

5.D)(x<=y)&&(y<=z)

6.D)(x<=-10)||(x>=7)

7.A)6

8.D)(x>='A')&&(x<='Z')

9.A)0,0

10.C)1,0

11.C)2

12.B)1,0,0,1

13.C)1

14.A)0,0

15.B)2323

16.B)10,20,#

17.B)x=3,y=5

二.填空题

1.x=-x

2.7

3.$$$

4.default

5.2,3,3

三.判断题

1.关系运算符的优先级低于算术运算符,高于赋值运算符。(对)2.关系表达式的值是“真”和“假”,用“T”和“F”表示。(错)3.关系表达式3>2>1的值为真。(错)4.逻辑非运算符!为单目运算符,具有右结合性。(对)5.逻辑运算符和其它运算符优先级的关系从高到低为:

!(非)→算术运算符→关系运算符→&&和||→赋值运算符(对)

6.if(表达式) 语句1;

else 语句2;

其语义是:如果表达式的值为真,则执行语句1,否则执行语句2。(对)

7.在if关键字之后均为表达式。该表达式可以是任意表达式,但不能是变量。(错)8.当程序中有多对if和else时,它们是按照顺序配对的。如第一个if与第一个else配对,

第二个if与第二个else配对,以此类推。(错)

9.条件运算符的结合方向是自左至右。(错)10.在switch多分支语句中,break语句用于跳出switch语句。(对)

四.改错题

1、下面程序的功能是判断输入的一个整数是否能被5和7同时整除,若能整除,输出“YES”,否则,输出“NO”。

错误语句:if(x%5==0||x%7==0)

正确语句:if(x%5==0&&x%7==0)

2.下面程序的功能是输出一个4位整数的后两位数值,例如输入5678,输出78。

错误语句:scanf("%d",x);

正确语句:scanf("%d",&x);

3.下面程序的功能是从键盘输入三个整数,输出其中最小的数。

错误语句:min=(temp>c)?temp:c ;

正确语句:min=(temp

4.下面程序的功能是判断某一年是否为闰年。

错误语句:if (year%400!=0)

正确语句:if (year%400==0)

第五章循环结构程序设计

一.单项选择题

1.C)21

2.D)for(表达式1;1;表达式3)

3.D)在do-while循环中,当while后的表达式为0时结束循环

4.C)do-while的循环体至少无条件执行一次

5.A)60

6.C)1

7.B)1

8.A)-1

9.C)5050

二.填空题

1.i++

2.0

3.1.0/i

4.num++

5.||

6.e

7.A

8. 23

9.month

10.sum=0

三.判断题

1、“当型”循环是先判断表达式后执行循环体,“直到型”循环是先执行循环体后判断表达

式。(对)

2、如果循环体内包含一个以上的语句,应该用花括弧括起来,组成复合语句。(对)

3、do-while语句和while语句可以互相转换,运行结果相同。(错)

4、for(循环变量赋初值;循环条件;循环变量增值)中的循环条件不允许省略。(错)

5、for (f=1,i=1;i<=10; f=f*i,i++) ;是非法语句。(错)

6、三种循环while循环、do-while循环和for循环可以互相嵌套。(对)

7、在循环结构中,break语句可以使流程跳出循环体,即提前结束循环。(对)

8、在循环结构中,continue语句是结束本次循环,即跳过循环体中下面未执行的语句,接着进行循环条件的判定。(对)9、continue语句和break语句的区别是break语句只结束本次循环,继续进行下一次循环,而continue语句则是结束整个循环,不再判断循环条件是否成立。(错)

10、goto语句能构成循环,可以随意使用。(错)四.改错题

1.下面程序的功能是求10!。

错误语句:for (i=10; i>=0; i++)

正确语句:for (i=10; i>0; i--)

2.下面程序的功能是输出1~100之间所有能被3整除的数。

错误语句:if(i%3) beeak;

正确语句:if(i%3) continue;

3.下面程序的功能是求1!+2!+…+n!。

错误语句:while(i>=n);

正确语句:while(i<=n);

4.下面程序的功能是利用公式π/4≈1-1/3+1/5-1/7+…求π的近似值,直到某一项的绝对值小于10-7为止。

错误语句:while(fabs(temp)>10-7)

正确语句:while(fabs(temp)>1e-7)

第六章数组

一.单项选择题

1.D)数组的首地址

2.D)在程序运行时,如果数组元素的下标超出了所定义的下标范围时,系统将给出“下标越界”的出错信息

3.C)x[2][1]

4.B)scanf("%d%s",&x,y);

5.D)#define N 50;

6.A)int a[2][ ]={{1,2},{3,4}};

7.A)a[0][0]=0,a[0][1]=1,a[1][0]=2,a[1][1]=3

8.D)char a[ ]={1,2,3,4,5,6};

9.C)数组a的长度大于数组b的长度

10.D)把字符串str2复制到字符串str1中再把字符串str3连接到字符串str1之后11.D)对于字符型数组,可以在赋值语句中通过运算符“=”进行整体赋值

二.填空题

1. 同一个

2.方括号

3.连续

4.0 19

5.行

6.一

7.\0

8. 字符数组名

9.10,6

10.2

11.fibonacci[i-1]+fibonacci[i-2];

12.y[j][i]=x[i][j]

13.98

14.-21

15.i

16.i—

17.str[i]=str[i+1]

18.string2[i]=string1[i];

19. j++;

三.判断题

1.在C语言中,数组属于构造类型的数据。(对)

2.一个数组的各个元素的数据类型可以不完全相同。(错)

3.数组在内存中占有连续的存储单元,数组名表示数组在内存中的首地址。(对)4.使用语句int a[5];定义了一个一维数组a,其中有5个元素,为a[1],a[2],a[3],a[4],a[5]。(错)

5.数组名后是用方括号或圆括号括起来的常量表达式。(错)6.C语言编译程序不对数组作边界检查,如果程序中出现了下标越界,可能会造成程序运行结果的错误。因此要注意下标不能过界。(对)

7.C语言允许对数组的长度作动态定义,即数组长度可以是变量。(错)

8.在C语言中,使用数值型数组时,只能逐个引用数组元素而不能一次引用整个数组。(对)

9.为数组元素赋值时,若所有元素值全部相同,则可以给数组整体赋初值。(错)10.对数组的全部元素赋初值时,也可以不指定数组长度。(对)11.C语言中二维数组的元素在内存中排列的顺序是按行存放。(对)12.如果对二维数组中全部元素赋初值,则数组的第一维和第二维长度均可以省略。(错)13.在C语言中,字符串是借助于字符数组来存放的。(对)14.在字符串常量的末尾,系统会自动加一个‘\0’作为结束符。(对)15.用字符串常量对字符数组初始化时,数组的长度至要与字符串长度相同。(错)16.在printf函数中用“%s”格式符输入字符串时,空格和回车可以被读入。(错)17.在printf函数中使用格式说明“%s”可以实现字符串的整体输出。(对)18.gets函数的功能是从终端读入字符串到字符数组,直到遇到一个空格符。(错)19.使用strcat函数时,字符数组1的长度要足够大,以保证全部装入被连接的字符。(对)20.strcpy 函数中的“字符数组1”和“字符串2”,可以是字符串常量也可以是已赋值的字

符数组名。(错)四.改错题

1.下面程序的功能是为数组输入数据并输出结果。

错误语句:scanf("%d",&a);

正确语句:scanf("%d",&a[i]);

2.下面程序的功能是求矩阵a的主对角线元素之和。

错误语句:if(i<=j) sum=sum+a[i][j];

正确语句:if(i==j) sum=sum+a[i][j];

3.下面程序的功能是输出字符串StringStringStringStringStringString。

错误语句:printf("%c",c[i]);

正确语句:printf("%s",c);

4.下面程序的功能是输入3个字符串,然后找出其中最小者。

错误语句:if (str[2]

正确语句:if (strcmp(str[2],string)<0)

第七章函数

一.单项选择题

1.C)函数

2.D)文件

3.B)int

4.D)实参和形参分别占用一个独立的存储单元

5.C)单向值传递

6.D)数组的首地址

7.A)定义该函数时所指定的函数类型决定

8.D)函数调用可以作为一个函数的形参

9.B)2

10.C)函数不可以嵌套定义,但可以嵌套调用

11.C)称为函数的间接递归调用

12.A)允许直接递归调用,允许间接递归调用

13.D)在一个函数内的复合语句中定义的变量只在本函数范围内有效

14.A)从定义该变量的位置开始至本文件结束

15.D)auto和register

16.D)extern

17.D)函数的类型可以是整型、实型、字符型,但不可以是指针型

18.C)16

19.A)5

20.B)3

21.D)10

22.D)15.000000

二.填空题

1.用户自定义函数

2.嵌套

3.类型

4.嵌套调用

5.递归调用

6.局部变量

7.源程序文件

8.static

9.extern

10.max(a,b)

11.int min(int x, int y)

12.93

三.判断题

1.C语言中,函数既可以嵌套定义,也可以嵌套调用。(错)2.如果在定义函数时不指定函数类型,系统会隐含指定函数类型为int型。(对)3.简单变量做实参时,实参对形参的数据传送是单向的“值传递”。(对)4.实参和形参不能同名,以免相互影响。(错)5.当一个函数中有多个return语句时,第一个return语句起作用。(错)6。如果函数值的类型和return语句中表达式的值不一致,则以函数类型为准。(对)

7.只要被调用函数的定义出现在主调函数之后,就必须声明。(错)8.C语言允许函数嵌套调用,也允许函数递归调用。(对)9.数组元素作函数实参时,其用法与普通变量完全相同,实现单向“值传送”。(对)10.数组名作函数实参时,其用法与普通变量完全相同,实现单向“值传送”。(错)11.用数组名作函数实参时,从本质上说是把实参数组的地址传递给形参数组。(对)12.在一个函数内部定义的变量是内部变量,它只在该函数范围内有效。(对)13.形参变量是内部变量,实参变量则是外部变量。(错)14.在主函数中的复合语句中定义的变量,其作用域在主函数范围内。(错)15.C语言中,主函数比其它函数级别高,可以使用其它函数中定义的局部变量。(错)16.全局变量的作用域是从定义位置开始,到本文件结束为止。(对)17.当全局变量和局部变量同名时,全局变量起作用,局部变量不起作用。(错)18.静态存储方式是指在程序运行期间分配固定的存储空间的方式。而动态存储方式则是在程序运行期间根据需要进行动态的分配存储空间的方式。(对)19.在程序执行期间,静态局部变量始终存在,其它函数也可以引用它们。(错)20.静态局部变量是在编译时赋初值的,即只赋初值一次,以后每次调用它们所在的函数时,不再重新赋初值,只是保留上次调用结束时的值。(对)

四.改错题

1.下面程序的功能是用递归法计算n!。

错误语句:else f=n*f(n-1);

正确语句:else f=n*fac(n-1);

2.下面程序的功能是输出1到5的阶乘。

错误语句:int f=1;

正确语句:static int f=1;

第八章指针

一.单项选择题

1.B)变量的地址

2.D)int *pointer=&x;

3.B)pointer=&x;

4.B)相加

5.A)能直接访问,能间接访问

6.C)指向包含5个整型元素的一维数组的指针

7.A)指针数组名字,包含5个指向整型数据的指针8.C)最多允许2个

9.A)指向函数的指针,函数返回值为一个整数10.A)返回值为指针的函数名字

11.A)-1

12.D)a=3,b=2

13.C)12,11

14.A)16,48,80,

15.C)6,2,4

16.C)yyzzqq

17.D)IHGFEDCBA

二.填空题

1.基类型

2.地址

3.scanf ("%d",p);

4.入口

5.指针数组

6.指向函数的指针变量

7.7, a[1][0]

8.a,apple

9.apple

pple

ple

le

e

10.2,a[2]

11.&sub_result , &add_result

12.len++

13.*p2++

14.**p

15.(*p)(a,b,c)

16.english_name[n]

三.判断题

1.指针就是地址,指针变量就是存放变量地址的变量。(对)2.对变量的访问可以用直接访问方式和间接访问方式。(对)3.可以给指针变量赋一个整数。(错)4.指针变量能指向任意类型的变量。(错)

5.多个指针变量不能指向同一个变量。(错)6.*运算符和取地址运算符& 互逆。(对)7.使用指针类型变量做函数的参数,实际向函数传递的是变量的地址。(对)8.当指针变量p指向一个整型数组时,p+1是指p的地址加1字节。(错)9.C语言中,数组名和指针变量均可分别做实参和形参。(对)10.int *pa[10];这个语句是定义一个指针,该指针可以指向有10个元素的数组。(错)

四.改错题

1.某一个班级有n个学生,开设m门课程。使用指针的方法编写程序,查找有课程不及格的学生,并且打印他们的成绩。

错误语句:if (j

正确语句:if (j

2.使用指针编写程序,从键盘输入的n个整数中找出其中最大值和最小值。调用一个函数只能得到一个返回值,要得到多个返回值则用全局变量在函数之间“传递”数据。

错误语句:int *p,array_end;

正确语句:int *p, *array_end;

3.使用指针编写程序,从键盘输入一个字符串,然后统计字符串中字符的个数。

错误语句:scanf ("%s", &string);

正确语句:scanf ("%s",string);

4.使用指针编写程序,在输入的字符串中查找是否存在字符‘x’。

错误语句:if (p[i]!='\0')

正确语句:if (p[i]=='\0')

5.使用指针数组编写程序,从键盘输入一个星期几(例如7),则程序输出对应星期几的英文名字(Sunday)。

错误语句:if (n<1&&n>7)

正确语句:if (n<1||n>7)

第九章结构体与共用体

一.单项选择题

1.D)student1是结构体类型名

2.C)共用体类型

3.A)各成员所需内存字节数的总和

4.D)三种形式均可表示

5.D)成员中占内存字节数最大的

6.B)16

7.B)80

8.C)student1.birthday.month=6;

student1.birthday.day=10;

student1.birthday.year=2003;

9.B)printf("%c", school[1].name[0]);

10.B)scanf("%s",&https://www.360docs.net/doc/f27922950.html,);

11.A)1001,650

12.C)zzxxyy

13.B)1102,550,"Li"

14.D)Tao

15.D)使用typedef可以增加新类型

16.D) typedef char * STR;

二.填空题

1.指向结构体成员,结构体成员

2.duoble *

3.地址

4.256

5.A

6.1002,1003,1004;

7.p->age

8.p=head

三.判断题

1.“结构体”是一种构造类型,它是由若干相互关联的“成员”组成的。每一个成员可以是一个基本数据类型,也可以是数组、指针,或者又是一个构造类型。(对)

2.结构体变量的总长度为各个成员长度的总和。(对)3.在定义结构体变量时成员名不可以与程序中其它变量同名。(错)4.结构体变量名是结构体变量的首地址。(错)5.C语言中不允许用结构体变量作函数参数进行整体传送。(错)6.malloc函数的功能是在内存的动态存储区中分配一块长度为"size"字节的连续区域。(对)7.链表中的每个结点都分为两个域,一个是数据域,存放各种实际的数据;另一个域为指针域,存放下一结点的首地址。(对)8.“共用体”类型变量只能存储相同类型数据的变量,不能存储不同类型数据的变量。(错)

9.共用体的长度是成员列表中最大长度的成员长度。(对)10.共用体类型的多个成员在内存中是首地址相同的,因此可以同时访问共用体成员。(错)

四.改错题

1.下面程序的功能是求学生成绩的总和。

错误语句:struct stu p=student;

正确语句:struct stu *p=student;

2.下面程序的功能是输出链表中所有结点的数据。

错误语句:p=head->next;

正确语句:p= p->next

第十章文件

一.单项选择题

1.D)可以顺序存取,也可以随机存取

2.D)文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件3.B)文本文件

4.B)对文件操作时需要先打开文件

5.D)fopen("wr.dat","wb");

6.B)fopen("D:\\program\\my.txt","r+")

7.D)非零值

8.B)一个指针,指向要读入数据的存放地址

9.C)把buf起始的内存中长度为size的count个数据项输出到fp所指向的文件中10.A)从fp所指向的文件中读取长度不超过n-1的字符串存入指针buf起始的内存11.C)从buf起始的内存中读取一个字符串输出fp所指向的文件中

12.D)FILE *fp;

13.D)将c盘xxx子目录下file.c文件拷贝到d盘根目录下file.c文件中

14.B)使文件位置指针重新返回文件的开始位置

15.C)将读写位置指针从文件开始处向文件末尾处移动6个字节

16.C)x^y

17.C)~,>,^,&&

18.D)0 7 7 3

19.C)15 15 0 0

二.填空题

1.ASCII

2.非缓冲文件系统

3.fclose(fp);

4.feof

5.fp

6.w

7.6

8.Fine,thank you!

9.11110000

10.31

三.判断题

1.C语言中,根据文件内部编码方式,文件可分为ASCII文件和二进制文件。(对)

2.缓冲文件系统是通过文件名与相应文件建立起联系的。(错)3.fp=fopen(“file.txt”,“r”);是以读的方式打开文件。(对)4.文件使用后不必关闭文件,因为文件可以自动关闭。(错)

5.fputc函数的功能是向一个已将打开方式指定为写或读写的文件中写入一个字符。(对)

6.fgetc函数的功能是从一个已将打开方式指定为读或读写的文件中读取一个字符串。(错)

7.fgets函数的功能是从一个已将打开方式指定为读或读写的文件中读取一个字符。(错)

8.函数fread和fwrite可以对数组或结构体等类型的数据进行一次性读写。(对)

9.rewind(fp)函数的作用是使文件位置指针移到文件的结尾处。(错)10.fseek( )函数可以准确定位文件位置指针以实现对文件的随机读写。(对)

四.改错题

1.下面程序的功能是统计一个已存在c盘xxx子目录下filename1.txt文本文件中含有英文字母的个数。

错误语句:fclose( );

正确语句:fclose(fp);

C语言试题及答案

一、单项选择题 1. 软件危机具有下列表现( d )。 I. 对软件开发成本估计不准确II. 软件产品的质量往往靠不住 III. 软件常常不可维护IV. 软件成本逐年上升 A. I、II和III B. I、III和IV C. II、III和IV D. 以上都正确 2. 软件生命周期一般都被划分为若干个独立的阶段,其中占用精力和费用最多的阶段往往是( A )。 A. 运行和维护阶段 B. 设计阶段 C. 代码实现阶段 D. 测试阶段 3. 下列属于软件的特点的是( D )。 A. 软件是一种逻辑实体,具有抽象性 B. 软件在使用过程中没有磨损、老化的问题 C. 软件不同于一般程序,它的一个显着特点是规模庞大,复杂程度高 D. 以上都正确 4. 软件工程的出现是由于( D )。 A. 软件危机的出现 B. 计算机硬件技术的发展 C. 软件社会化的需要 D. 计算机软件技术的发展 5. 软件开发技术不包含( d )。 A. 软件开发方法学 B. 软件工程环境 C. 软件工具 D. 软件质量度度量 6. 软件工程的课程特点( D )。 I. 学科理论及其知识应用的多维性 II. 工程化 III. 浓厚的方法学色彩 IV. 实践性、指导性强 A. I、II和III B. I、III和IV C. II、III和IV D. 以上都正确 7. 下列属于应用软件的是( b )。 I. 计算机辅助教学软件II. 软件测试工具 III. 办公自动化软件IV. 工程与科学计算软件 A. I、II和III B. I、III和IV C. II、III和IV D. 以上都正确 8. 需求分析阶段最重要的技术文档是( b )。

c语言程序设计第二章课后参考答案

第二章:C程序的基本结构 一、单项选择题 1、以下不是C语言的特点的是________。 A)语言的表达能力强B)语言定义严格 C)数据结构系统化 D)控制流程结构化 2、TC编译系统提供了对C程序的编辑、编译、连接和运行环境,以下可以不在该环境下进行的环节是________。 A)编辑和编译 B)编译和连接 C)连接和运行D)编辑和运行 3、以下不是二进制代码文件是________。 A)标准库文件 B)目标文件C)源程序文件 D)可执行文件 4、下面个选项组中,均属于C语言关键字的一组是________。 A)auto,enum,include B)switch,typedef,continue C)signed,union,scanf D)if,struct,type 5、下面四组字符串中,都可以用作C语言标识符的是________。 A)print B)I \am C)signed D)if _maf scanf 3mf ty_pr mx_2d mx_ a.f x1# aMb6 AMB A&B 5XY 6、以下不属于流程控制语句的是_________。 A)表达式语句 B)选择语句 C)循环语句 D)转移语句 7、下面描述中,不正确的是________。 A)C语言的函数体由一系列语句和注释组成。 B)注释内容不能单独写在一行上。 C)C程序的函数说明部分包括对函数名、函数类型、形式参数等的定义和说明。 D)scanf和printf是标准库函数而不是输入和输出语句。 8、下面描述中,正确的是________。 A)主函数的花括号必须有,而子函数中的花括号是可有可无的。 B)一个C程序行只能写一个语句。 C)主函数是程序启动时的唯一入口。 D)函数体包含了函数说明部分。 二、填空题 1、一个完整的C程序至少要有一个________函数。(主函数) 2、标准库函数不是C语言本身的组成部分,它是由__________提供的功能函数。(编译系统) 3、C语言是以________为基本单位、整个程序由________组成。(函数函数) 4、常用的标准库函数有数学函数、字符函数和字符串函数、动态分配函数、随机函数和________函数等几个大类。(输入输出) 5、标准库函数存放在________文件中。(函数库) 6、目标程序文件的扩展名是________。(.obj) 7、程序连接过程是将目标程序、________或其它目标程序连接装配成可执行文件。(库函数) 8、因为源程序是________类型文件,所以用具有文本编辑功能的任何编辑软件程序完成编辑。(文本)

《C语言程序设计教程》(第三版)李凤霞 主编——第一章习题答案

第一章:程序设计基础知识 一、单项选择题 1、面向过程的程序设计语言是________。 A)机器语言 B)汇编语言 C)高级语言 D)第四代语言 2、程序设计一般包含以下四个步骤,其中其中首先应该完成的是_________。 A)设计数据结构和算法B)建立数学模型 C)编写程序 D)调试和运行程序 3、以下常用算法中适合计算等差级数的算法是_________。 A)枚举法B)递推法 C)分治法 D)排序法 4、以下不属于算法基本特征的是__________。 A)有穷性 B)有效性C)可靠性 D)有一个或多各输出 5、以下描述中不正确的是___________。 A)程序就是软件,但软件不仅仅是程序。 B)程序是指令的集合,计算机语言是编写程序的工具。 C)计算机语言都是形式化的语言,它有一个语法规则和定义。 D)计算机语言只能编写程序而不能表示算法。 6、下面描述中,正确的是_____________。 A)结构化程序设计方法是面向过程程序设计的主流。 B)算法就是计算方法。 C)一个正确的程序就是指程序书写正确。 D)计算机语言就是编写程序的工具而不是表示算法的工具。 7、下面描述中,不正确的是______________。 A)递归法的关键是必须有一个递归终止的条件。 B)递归算法要求语言具有反复自我调用子程序的能力。 C)对于同一个问题,递推算法比递归算法的执行时间要长。 D)递推算法总可以转换为一个递归算法。 8、N-S图与传统流程图比较,主要优点是_________。 A)杜绝了程序的无条件转移。 B)具有顺序、选择和循环三种基本结构。 C)简单、只管。 D)有利于编写程序。 A)B)C)D) 二、填空题 1、在流程图符号中,判断框中应该填写的的是________。(判断条件) 2、结构化程序设计是__________应遵循的方法和原则。(面向过程编程) 3、结构化程序必须用__________程序设计语言来编写。(具有结构化控制语句) 4、可以被连续执行的一条条指令的集合称为计算机的________。(程序) 5、只描述程序应该“做什么”,而不必描述“怎样做”的语言被称为________。(面向对象) 6、任何简单或复杂的算法都是由_____和_____这两个要素组成。(功能操作流程控制) 7、算法的_______特征是指:一个算法必须在执行有限个操作步骤后终止。(有穷性) 8、在三种基本结构中,先执行后判断的结构被称为_________。(直到型循环结构) 9、在程序设计中,把解决问题确定的方法和有限的步骤称为______。(算法) 10、程序设计风格主要影响程序的________。(可读性)

C语言习题级参考答案

测试题11 1.以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是(B)。 A、char s[10];strcpy(s,"abcdefg"); B、char s[10];s="abcdefg"; C、char s[10]="abcdefg"; D、char t[]="abcdefg",*s=t 2.下列语句的输出结果是(B)。 printf("%d\n",(int)(2.5+3.0)/3); A、2 B、1 C、有语法错误不能通过编译 D、0 3.以下程序段的输出结果是 A main() { char ch1, ch2; ch1 = …A? + …5? - …3?; ch2 = …A? + …5? - …3?; printf(“%d,%c\n”, ch1,ch2); } A、67, C B、B,C C、不确定的值 D、C,D 4.以下程序段的输出结果为(B)。 char c[]="abc"; int i=0; do ;while(c[i++]!='\0');printf("%d",i-1); A、abc B、3 C、ab D、2 5.相同结构体类型的变量之间,可以(C)。 A、比较大小 B、地址相同 C、赋值 D、相加 6. C语言源程序文件经过C编译程序编译连接之后生成一个后缀为(B)的可执行文件 A、.obj B、.exe C、.c

D、.bas 7.以下程序的输出结果是 C main() { char s[] = “ABCD”, *p; for(p = s; p < s + 4; p++) printf(“%s\n”, p); } A、 B、 C、 D、 8.当调用函数时,实参是一个数组名,则向函数传送的是(B)。 A、数组每一个元素的地址 B、数组的首地址 C、数组每个元素中的值 D、数组的长度 9.如果int a=2,b=3,c=0,下列描述正确的是(D) A、a>b!=c和a>(b!=c)的执行顺序是一样的 B、a&&b>c的结果为假 C、a||(b=c)执行后b的值为0 D、!a!=(b!=c)表达式的值为1 10.当调用函数时,实参是一个数组名,则向函数传送的是(B)。 A、数组每个元素中的值 B、数组的首地址 C、数组的长度

C语言试卷及答案

《C语言程序设计》考试试卷(答案) 一、填空题(每小空1分,共10分) 1.C语言程序的三种基本结构是顺序结构、选择结构、循环结构。 2.一个C程序有且仅有一个main( ) 函数。 3.C语言描述“x和y都大于或等于z”的表达式是x>=z && y>=z。 4.C语言可以用来实现循环的结构化语句是while、do while、for。 5.数组名表示数组在内存的首地址。 6.int a=3,*p=&a;*p+2的值是5。 二、单项选择题(每小题2分,共70分) 1.__B___是C语言合法的常量。 (A).45(B)078 (C)25.6e3.4 (D)‘xy’2.一个程序的执行是从 A 。 (A)本程序的main函数开始,到main函数结束 (B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。 (C)本程序的main函数开始,到本程序文件的最后一个函数结束。 (D)本程序文件的第一个函数开始,到main函数结束。 3.以下叙述正确的是 C 。 (A)在C程序中,main函数必须位于程序的最前面。 (B)C程序每行中只能写一条语句。 (C)C语言本是没有输入输出语句。 (D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误。 4.以下叙述不正确的是 D 。 (A)逗号运算符的运算级最低。 (B)ABC和abc是两个不同的变量。 (C)若a和b类型相同,在执行a=b后,b的自身值不变。 (D)‘a’和“a”是完全等价的常量。 5.int x=3,y=2;则表达式x+=x*=y+8的值为 C 。 (A)28 (B)30 (C)60(D)17 6.设x=2.7,a=8,y=4.9,算术表达式x+a%3*(int)(x+y)%5/3的值为 B 。 (A)2.7 (B)3.7(C)4.7 (D)4.03 7.执行下面两个语句后,输出的结果为__D___。 char c1=98; printf(“%d %c”,c1,c1-32); (A)97 66 (B)98 b (C)b 66 (D)98 B 8.执行下面语句后的结果为 C 。 y=10;x=y++; (A)x=10,y=10 (B)x=11,y=11 (C)x=10,y=11(D)x=11,y=10 9.Char w;int x;float y;double z;则表达式w*x+z-y值的数据类型是A 。 (A)double (B)char (C)int (D)float 10.C语言中要求操作数必须是整数的运算符是 B 。

C语言PTA平台习题与答案

第二章作业 1 ①.本题要求编写程序,输出一个短句“Welcome to You!” #include int main() { printf("Welcome to You!\n"); return 0; } ②.本题要求编写程序,计算华氏温度100°F对应的摄氏温度。计算公式:C=5×(F?32)/9,式中:C表示摄氏温度,F表示华氏温度,输出数据要求为整型。 fahr = 100, celsius = 计算所得摄氏温度的整数值 #include int main() { int fahr = 100; int celsius = 5*(fahr-32)/9; printf("fahr = 100,celsius = %d\n",celsius); return 0; } 第二章作业2 ①求整数均值本题要求编写程序,计算4个整数的和与平均值。题目保证输入与输出均在整型范围内。 在一行中按照格式“Sum = 和; Average = 平均值”顺序输出和与平均值,其中平均值精确到小数点后一位 #include int main() { int a,b,c,d,Sum; double Average; scanf("%d %d %d %d",&a,&b,&c,&d); Sum = a + b + c + d; Average = (a + b + c + d)/4.0; printf("Sum = %d,Average = %.1f\n",Sum,Average); return 0; } ②整数四则运算本题要求编写程序,计算2个正整数的和、差、积、商并输出。题目保证输入和输出全部在整型范围内 输入在一行中给出2个正整数A和B。 在4行中按照格式“A 运算符 B = 结果”顺序输出和、差、积、商。 #include int main() { int a; int b; scanf("%d %d",&a,&b); printf("%d + %d = %d\n",a,b,a+b); printf("%d - %d = %d\n",a,b,a-b); printf("%d * %d = %d\n",a,b,a*b);

《C语言程序设计》第1章 C语言概述练习题答案

第一章 C语言概述练习题 一、选择题 1.C语言是一种( )。 A) 机器语言B) 汇编语言C) 高级语言D) 低级语言 2.下列各项中,不是C语言的特点是( )。 A) 语言简洁、紧凑,使用方便B) 数据类型丰富,可移植性好 C) 能实现汇编语言的大部分功能D) 有较强的网络操作功能 3.下列叙述正确的是( )。 A) C语言源程序可以直接在DOS环境中运行 B) 编译C语言源程序得到的目标程序可以直接在DOS环境中运行 C) C语言源程序经过编译、连接得到的可执行程序可以直接在DOS环境中运行 D) Turbo C系统不提供编译和连接C程序的功能 4.下列叙述错误的是()。 A) C程序中的每条语句都用一个分号作为结束符 B) C程序中的每条命令都用一个分号作为结束符 C) C程序中的变量必须先定义,后使用 D) C语言以小写字母作为基本书写形式,并且C语言要区分字母的大小写 5.一个C程序的执行是从()。 A) 本程序的main函数开始,到main函数结束 B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C) 本程序文件的第一个函数开始,到本程序main函数结束 D) 本程序的main函数开始,到本程序文件的最后一个函数结束 6.以下叙述不正确的是()。 A) 一个C源程序必须包含一个main函数 B) 一个C源程序可由一个或多个函数组成 C) C程序的基本组成单位是函数 D) 在C程序中,注释说明只能位于一条语句的后面 7.C语言规定:在一个源程序中,main函数的位置( )。 A)必须在程序的开头B)必须在系统调用的库函数的后面 C)可以在程序的任意位置D)必须在程序的最后 8.一个C语言程序是由( )。 A)一个主程序和若干个子程序组成B) 函数组成 C) 若干过程组成D) 若干子程序组成 9.以下有4组用户标识符,其中合法的一组是()。 A) For B) 4d C) f2_G3 D) WORD -sub DO IF void Case Size abc define 10. 一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误的是 ()。 A) 有零个或多个输入B) 有零个或多个输出C) 有穷性D) 可行性 二、填空题 1.汇编语言属于面向( 面向机器的 )语言,高级语言属于(面向问题的)语言。 2.用高级语言编写的程序称为(源)程序,它可以通过解释程序翻译一句执行一句的方式 执行,也可以通过编译程序一次翻译产生(目标)程序,然后执行。

C语言习题全集+答案

第一单元程序设计和C语言 一、选择题 1.C语言的基本构成单位是:。 A. 函数 B. 函数和过程 C. 超文本过程 D. 子程序 2.一个C语言程序总是从开始执行。 A. 主过程 B. 主函数 C. 子程序 D.主程序 3.C语言的程序一行写不下时,可以。 A. 用逗号换行 B. 用分号换行 C. 在任意一空格处换行 D. 用回车符换行 4.以下叙述不正确的是:。 A. 在C程序中,语句之间必须要用分号";"分隔 B. 若a是实型变量,C程序中a=10是正确的,因为实型变量中允许存放整型数 C. 在C程序中,无论是整数还是实数都能正确无误地表示 D. 在C程序中,%是只能用于整数运算的运算符 5.以下不正确的C语言标识符是。 A. ABC B. abc C. a_bc D. 6.下列字符串是标识符的是:。 A. _HJ B. 9_student C. long D. LINE 1 7.以下说法中正确的是:。 A. C语言程序总是从第一个定义的函数开始执行 B. 在C语言程序中,要调用的函数必须放在main()函数中定义 C. C语言程序总是从main()函数开始执行 D. C语言程序中的main()函数必须放在程序的开始部分 8.不合法的常量是:。 A. ‘\2’ B. " " C. ‘3’ D. ‘\483’ 9.已知各变量的类型说明如下,则以下不符合C语言语法的表达式是:。 int k,a,b; unsigned long w=5; double x=; A. x%(-3) B. w+=-2 C. k=(a=2,b=3,a+b) D. a+=a=+(b=4)*(a=3) 10.在C语言中,字符型数据在内存中以形式存放。 A. 原码 B. BCD码 C. 反码 D. ASCII码 11.若有定义:int a=7; float x=; y=;

c语言试题及答案

1、以下正确的说法是( B ) (A) 用户若需要调用标准库函数,调用前必须重新定义 (B) 用户可以重新定义标准库函数,若如此,该函数将失去原有含义 (C) 系统根本不允许用户重新定义标准库函数 (D) 用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调 2、以下正确的函数声明形式是( A ) (A) double fun(int x, int y) (B) double fun(int x; int y) (C) double fun(int x, int y); (D) double fun(int x,y); 3、以下正确的函数形式是( D ) (A) double fun(int x, int y) { z=x+y; return z;} (B) fun(int x,y) { int z; return z;} (C) fun(x,y) { int x,y; double z; z=x+y; return z;} (D) double fun(int x, int y) { double z; z=x+y; return z;} 4、以下正确的说法是( A ) 在C语言中 (A) 实参和与其对应的形参各占用独立的存储单元 (B) 实参和与其对应的形参共占用一个存储单元 (C) 只有当实参和与其对应的形参同名时才共占用存储单元 (D) 形参是虚拟的,不占用存储单元 5、若调用一个函数,且此函数中没有return语句,则正确的说法是( A ) 该函数 (A) 没有返回值 (B) 返回若干个系统默认值 (C) 能返回一个用户所希望的函数值 (D) 返回一个不确定的值 6、以下不正确的说法是( B ) C语言规定 (A) 实参可以是常量、变量和表达式 (B) 形参可以是常量、变量和表达式 (C) 实参可以为任意类型 (D) 形参应与其对应的实参类型一致 7、以下正确的说法是( C ) (A) 定义函数时,形参的类型说明可以放在函数体内 (B) return后边的值不能为表达式 (C) 如果函数值的类型与返回值类型不一致,以函数值类型为准 (D) 如果形参与实参的类型不一致,以实参类型为准 8、C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是( B ) (A) 地址传递 (B) 单向值传递 (C) 由实参传给形参,再由形参传回给实参 (D) 由用户指定传递方式

C语言详解(第五版)第二章程序设计项目答案

C语言详解(第五版)程序设计项目答案第二章 1.编写一个程序,以每英里0.35的费率计算一个售货员的里程偿还金。程序中要求与用户进行如下方式的交互。 #include #include int main(void) {float mile_1,mile_2,miles,consume,payment; printf("MILEAGE REIMBURSEMENT CALCULATOR\n"); printf("Enter begainning odometer reading>\n"); scanf("%f",&mile_1); printf("Enter endding odometer reading>\n"); scanf("%f",&mile_2); printf("Enter consume per mile>\n"); scanf("%f",&consume); miles=mile_2-mile_1; payment=miles*consume; printf("You traveled%f miles.At%f per mile,your reimbursement is%f",miles,consume,payment); system("pause"); return(0); } 2.编写一个程序,用于辅助设计水力发电大坝。提示用户输入大坝高度,以及水流量。如果水由重力所做的功有90%转化为电能,测算会有多少M瓦的功率。 #include #include int main(void) {double density,weight,gravitational_acceleration, efficiency,height,water_flow_rate,work,electricity_power; printf("Please type in the density of water>"); scanf("%lf",&density); printf("Please type in the gravitational_acceleration>"); scanf("%lf",&gravitational_acceleration); printf("Please type in the height of the water>"); scanf("%lf",&height); printf("Please type in the efficiency of the transformation\nfrom water to electricity>"); scanf("%lf",&efficiency); printf("Please type in the water_flow_rate>"); scanf("%lf",&water_flow_rate); weight=density*water_flow_rate; work=weight*height*gravitational_acceleration; electricity_power=work*efficiency/1000000; printf("The electric energy production is%fW",electricity_power); system("pause"); return0; }

第一章C语言概述习题附答案

第一章C语言概述 一、单选题 1. C语言程序的执行,总是起始于()。C A.程序中的第一条可执行语句 B.程序中的第一个函数 C.main函数 D.包含文件中的第一个函数 分析:在一个C语言源程序中,无论main函数书写在程序的前部,还是后部,程序的执行总是从main函数开始,并且在main函数中结束。本题正确答案为C。 2、C语言程序的基本单位是()。C A)程序行B)语句C)函数D)字符 3、C语言中规定:在一个源程序中main函数的位置()。C A.必须在最开始 B.必须在系统调用的库函数的后面 C.可以任意 D.必须在最后 4、以下述叙正确的是()。C A.在C程序中,main函数可有可无 B. C程序的每行中只能写一条语句 C. C语言本身没有输入输出语句 D. 在对一个C程序进行编译的过程中,可发现注释中的拼写错误 5、能将高级语言编写的源程序转换为目标程序的是()。C A.链接程序 B.网络程序 C.编译程序 D.WORD字处理程序 6、下列说法中正确的是()。C A)C程序书写时,不区分大小写字母 B)C程序书写时,一行只能写一个语句 C)C程序书写时,一个语句可分成几行书写 D)C程序书写时每行必须有行号 分析:C语言严格区分大小写字母,如"A1"和"a1"被认为是两个不同的标识符,C程序的书写非常灵活,既可以一行多句,又可以一句多行,且每行不加行号。本题正确答案为C。 7、下面对C语言特点,不正确描述的是()。C A)C语言兼有高级语言和低级语言的双重特点,执行效率高 B)C语言既可以用来编写应用程序,又可以用来编写系统软件 C)C语言的可移植性较差 D)C语言是一种结构式模块化程序设计语言 分析:C语言是介于汇编语言和高级语言之间的一种语言,由于它可以直接访问物理地址,对硬件操作,所以C语言既可以编写应用程序,又可以开发系统软件,而且C程序可移植性好于汇编语言,程序清晰具有模块化的特点。本题正确答案为C。 8、C语言源程序的最小单位是()。D A)程序行B)语句C)函数D)字符 分析:程序行、语句、函数都是由字符构成的,字符是C语言的最小单位。本题正确答案为D。 9.计算机内部运算使用的数是()。C A)十进制数B)十六进制数C)二进制数D)八进制数

C语言课后习题答案(最终)

第0章习题 1. 将下列十进制数分别转化为二进制数、八进制数和十六进制数: (1)128 (2)511 (3)1024 (4)65535 (5)1048575 答: (1)10000000、200、80 (2)111111111、777、1FF (3)10000000000、2000、400 (4)1111111111111111、177777、FFFF (5)11111111111111111111、3777777、FFFFF 2. 将下列二进制数转化为十进制数和十六进制数: (1)1100110101B (2)101101.1011B 答: (1)821、335 (2)45.6875、2D.B 3. 写出下列数的原码、反码、补码:15、-20、-27/32 答: (1)00001111、00000000、00001111 (2)10010100、11101011、11101100 (3)1.1101100、1.0010011、1.0010100 4. 16位无符号定点整数的数值表示范围为多少?8位补码的表示范围是多少?16位补码的表示范围是多少? 答: 0~65535、-128~127、-32768~32767 5.1968年Dijkstra提出结构化程序设计的思想的原因是什么?简要回答结构化程序设计的经典定义。 答: 结构化程序设计概念的提出主要是源于程序结构的层次性与模块化使得构造出来的软件具有良好的可理解性和可维护性,随着软件规模的扩大与复杂性的提高,程序的可维护性成为程序设计者们关注的重要问题之一。 如果一个程序的代码块仅仅通过顺序、选择和循环这3种基本控制结构进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。 6.C程序在内存中存储在哪儿?计算机的内存空间是如何分区的?分区存放不同类型的数据的目的是什么? 答:

C语言试卷及答案

一、选择题(每题 1 分,共 20 分) 1. C 语言程序的三种基本结构是顺序结构、选择结构和结构。 A、循环 B、递归 C、转移 D、嵌套 2. 下列标识符中,合法的是_______ 。 A) unsigned B) 5ab C) INT# D)_num2 3. 若float x ;x = 10/4 ;x的值是。 A、2.5 B、2.0 C、3 D、 2 4. 表达式!x 等价于。 A、x==0 B、x==1 C、x != 0 D、x != 1 5. 算术运算符、赋值运算符和关系运算符的运算优先级按从高到低的顺序依次为。 A、算术运算、赋值运算、关系运算 B、关系运算、赋值运算、算术运算 C、算术运算、关系运算、赋值运算 D、关系运算、算术运算、赋值运算 6. 能将高级语言编写的源程序转换为目标程序的是。 A、链接程序 B、解释程序 C、编译程序 D、编辑程序 7. 下列语句定义pf为指向float类型变量f的指针,是正确的。 A、float f, *pf = f; B、float f, *pf = &f; C、float *pf = &f, f; D、float f, pf = f; 8. 一个C程序的执行是从。 A、本程序的main函数开始,到main函数结束 B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C、本程序的main函数开始,到本程序文件的最后一个函数结束 D、本程序文件的第一个函数开始,到本程序main函数结束 9. 能正确表示“当x的取值在[1,10]或[[200,210]范围内为真,否则为假”的表达式是________。 A、(x>=1)&&(x<=10)&&(x>=200)&&(x<=210) B、(x>=1)||(x<=10)||(x>=200)||(x<=210) C、(x>=1)&&(x<=10)||(x>=200)&&(x<=210) D、(x>=1)||(x<=10)&&(x>=200)||(x<=210) 10. 对两个数组a和b进行如下初始化 char a[]=“ABCDEF”;char b[]={ …A?,?B?,?C?,?D?,?E?,?F?}; 则以下叙述正确的是。 A、a和b数组完全相同 B、a和b长度相同 C、a和b中都存放字符串 D、a数组比b数组长度长 11. 是不正确的字符常量。 A、'\n' B、'1' C、"a" D、'\101' 12. 若变量已正确定义,语句“if(a>b) k=0; else k=1;”和等价。 A、k=(a>b)?1:0; B、k=a>b; C、k=a<=b; D、a<=b ? 0 : 1; 13. 设变量定义为“int x, *p=&x;”,则&*p相当于。 A、p B、*p C、x D、*&x 14. 有两个字符数组a、b,则以下正确的输入语句是。 A)gets(a,b); B) scanf(“%s%s”,a,b); C) scanf(“%s%s”,&a,&b); D) gets(“a”),gets(“b”); 15. C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是。 A、地址传递 B、单向值传递

C语言程序设计第一章参考答案

第一章参考答案 1.3.1 思考: 1.error C2199: syntax error : found 'int (' at global scope (was a declaration intended?) error C2143: syntax error : missing ';' before '{' error C2447: missing function header (old-style formal list?) 在c程序设计中特别要注意每个程序都有且只有一个主函数,切忌不可忘了主函数main. 2. error LNK2001: unresolved external symbol _main fatal error LNK1120: 1 unresolved externals 在c程序设计中要注意区分大小写,相同的字符的大小写所代表的意义可能完全不一样。 3.error C2146: syntax error : missing ';' before identifier 'printf'. 在c程序设计中要注意每个完整的语句后面都必须要有“;”,否则就会出现错误。 4.error C2065: 'printf' : undeclared identifier error C2146: syntax error : missing ';' before identifier 'printf't. 在c程序设计中#include是包含头文件函数库,象标准的输入和输出函数’scanf’和’printf’都是包含定义在#include中的。所以一般的函数都不应缺少这个头文件。 5在例1-1.c中,任何一行的输出语句中少了符号\n,将会使下一条语句的输出紧跟在该行,而不会出现在例1-1.c那样的每行输出一条语句。 在C语言中符号\n的作用是在输出中换行。 6. error C2001: newline in constant error C2146: syntax error : missing ')' before identifier 'printf'’ 1.3.2 思考: 1.error C2065: ’x’ :undeclared identifier error C2065: ’y’ :undeclared identifier 在c程序设计中要注意,任何一个变量都要遵循先定义再使用的原则。 2 .程序运行出错,无法得到结果。 3 能 4. warning C4390: ';' : empty controlled statement found; is this the intent? error C2181: illegal else without matching if 这是因为判断语句if后面必须要有其他语句,这样if语句才有意义,满足if语句的条件后就执行跟在其后的语句,而在if(x>y)后面加分号就是使if(x>y)单独成为一个语句,所以才出现了错误。 5. 因为int、if、else在c语言中都是保留字(也叫关键字),它们是具有特定含义的、用 于构成语句成分或作为存储类型和数据类型说明的一些单词。

(完整版)C语言试题及答案解析

C语言 一、选择题(第题2分,共20分) 1.一个C程序的执行是从 A 。 A) 本程序的main函数开始,到main函数结束 B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C) 本程序文件的第一个函数开始,到本程序main函数结束 D) 本程序的main函数开始,到本程序文件的最后一个函数结束 2.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为 C 。 x=(i=4,j=16,k=32) A) 4 B) 16 C) 32 D) 52 3.设C语言中,一个int型数据在内存中占2个字节,则unsigned int 型数据的取值范围为 C 。 A) 0~255 B) 0~32767 C) 0~65535 D) 0~2147483647 4.设有说明:char w; int x; float y; double z;则表达式w*x+z-y值的数据类型为 D 。 A) float B) char C) int D) double 5. putchar函数可以向终端输出一个 D 。 A) 整型变量表达式 B) 实型变量值 C) 字符串 D) 字符或字符型变量值 6. printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式 B ;如果字符串长度小于5,则输出按方式 C 。 A) 从左起输出该字符串,右补空格 B) 按原字符长从左向右全部输出 C) 右对齐输出该字符串,左补空格 D) 输出错误信息 7.判断char型变量ch是否为大写字母的正确表达式是 C 。 A) ‘A’<=ch<=‘Z’ B) (ch>=‘A’)&(ch<=‘Z’) C) (ch>=‘A’)&&(ch<=‘Z’) D) (‘A’<= ch)AND(‘Z’>= ch) 8.已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是 B 。 if(x>y) z=x; x=y; y=z; A) x=10, y=20, z=30 B) x=20, y=30, z=30 C) x=20, y=30, z=10 D) x=20, y=30, z=20 9.以下程序段______C__. x=-1; do{ x=x*x; } while(!x); A)是死循环 B)循环执行二次 C)循环执行一次 D)有语法错误 10.以下正确的描述是___B____. A)continue语句的作用是结束整个循环的执行

C语言第二章习题带答案

1.C语言中的简单数据类型包括( B )。 A.整型、实型、逻辑型B.整型、实型、字符型 C.整型、字符型、逻辑型D.整型、实型、逻辑型、字符型2.在C语言中,错误的short类型的常数是( A )。 A.32768 B.0 C.037 D.0Xaf 3.下列常数中不能作为C的常量的是( D )。 A.0x45 B.2.5e-2 C.3e2 D.0582 4.short类型的数据长度为2个字节,则unsigned short类型数据的取值范围是( B )。 A.0至255 B.0~65535 C.-32768~32767 D.-256~255 5.下面4个选项中,均是合法转义字符的选项是( A )。 A.'\'','\\','\n' B.'\','\017','\' C.'\018','\f','xab' D.'\\0,'101','x1f 6.在C语言中,数字029是一个( D )。 A.八进制数B.十六进制数 C.十进制数D.非法数 7.下列可以正确表示字符型常数的是( B )。 A."a" B.'\t' C."\n" D.297 8.以下( C )是错误的转义字符。 A.'\\' B.'\'' C.'\81' D.'\0' 9.C语言中short类型的变量a的值为-8,则a在内存中的存储形式是( A )。 A.1111 1111 1111 1000 B.100000000000 1000 C.000000000000 1000 D.1111 1111 1111 0111 10.将字符g赋给字符变量c,正确的表达式是( C )。 A.c="g" B.c=101 C.c='\147' D.c='0147' 11.字符串"\\\22a,0\n"的长度是( C )。 A.8 B.7 C.6 D.5 12.为求出s=10!的值,则变量s的类型应当为( C )。 A.short B.unsigned short C.long D.以上三种类型均可13.已知:unsigned short x=65535;,则执行以下语句输出是( D )。 printf("%d\n", x); A.65535 B.1 C.无定值D.-1 14.下面4个选项中,均是合法整型常量的选项是( A )。 A.160,-0xffff,011 B.-0xcdf,01a,0xe C.-01,986,012,0668 D.-0x48a,2e5,0x 15.下面4个选项中,均是不合法的整型常量的选项是( D )。 A.--0f1,-0xffff,0011 B.-0Xcdf,01a,0xe C.-018,999,5e2 D.-0x48eg,-068,03f 16.下面4个选项中,均是合法浮点数的选项是( 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

C语言习题及参考答案

C语言习题集 习题一 一.填空题 1.C程序是由(函数)构成的,一个C程序中至少包含(main函数)。因此,( 函数) 是C程序的基本单位。 2.C程序注释是由( /*) 和( */ ) 所界定的文字信息组成的。3.函数体一般包括( 变量声明) 和( 语句) 。 二.判断题 1.一个C程序的执行总是从该程序的main函数开始,在main函数最后结束。【错】 2.main函数必须写在一个C程序的最前面。【错】 3.一个C程序可以包含若干的函数。【对】 4.C程序的注释部分可以出现在程序的任何位置,它对程序的编译和运行不起任何作用。但是可以增加程序的可读性。【对】 5.C程序的注释只能是一行。【错】 6.C程序的注释不能是中文文字信息。【错】 8.可以使用Visual C++ 6.来编译和连接一个C程序。【对】 9.可以使用Visual C++ 6.来运行一个C程序。【对】 10.可以使用Visual C++ 6.来实时调试(即动态调试)一个C程序。【对】三.简答题 1.写出一个C程序的基本结构。 2.简要叙述使用Visual C++ 6.0编译和运行一个程序的步骤。 四.编程题 1.提高题:参照课本例1.1,试编写一个C程序,输出如下信息。(提示:使用键盘上的一些符号)。 2.提高题:试编写一个C程序,输出如下信息。 ********************** *** @ @ *** *** @ *** ********************** 试试看,可以输出其他组合图案吗?

习题二 一.选择题 1、合法的字符常量是(ACD)。 A)…\t?B) “A” C)…a?D)?\x32? 2、合法的字符常量是( D) 。 A)…\084?B) …\84? C)…ab?D)?\x43? 3、(B)是C语言提供的合法的数据类型关键字。 A)Float B)signed C)integer D)Char 4、在以下各组标识符中,合法的标识符是((4))。 (1)A)B01 B)table_1 C)0_t D)k% (2)A)Fast_ B)void C)pbl D) (3)A)xy_ B)longdouble C)*p D)CHAR ( 4 ) A) sj B) Int C)_xy D)w_y23 5、属于合法的C语言长整型常量的是(BD)。 A)5876273 B)0L C)2E10 D)(long)5876273 6、下面选项中,不是合法整型常量的是(B )。 A)160 B)-0xcdg C)-01 D)-0x48a 7、判断int x = 0xaffbc;x的结果是(D)。 A)赋值非法B)溢出C)为affb D)为affbc 8、下面选项中,均是合法浮点数的是(B)。 A)+1e+1 B)-.60 C)123e D)-e3 A)5e-9.4 B)12e-4 C)1.2e-.4 D).8e-4 A)03e2 B)-8e5 C)+2e-1 D)5.e-0 9、在C语言中,要求参加运算的数必须时整数的运算符是(C)。 A)/ B)* C)% D) = 10、在C语言中,字符型数据在内存中以(D)形式存放。 A)原码B)BCD码C)反码D)ASCII码 11、下列语句中,符合语法的赋值语句是(C)。 A)a=7+b+c=a+7;B)a=7+b++=a+7; C)a=(7+b,b++,a+7);D)a=7+b,c=a+7; 12、是非法的C语言转义字符(B )。 A)…\b?B)…\0xf? C)…\037? D)… \?? 13、对于语句:f=(3.0,4.0,5.0),(2.0,1.0,0.0);的判断中,( B )是正确的。A)语法错误B)f为5.0 C)f为0.0 D)f为2.0 14、与代数式(x*y)/(u*v) 不等价的C语言表达式是(A )。 A)x*y/u*v B)x*y/u/v C)x*y/(u*v) D)x/(u*v)*y 15、在C语言中,数字029是一个(D)。

相关文档
最新文档