《明解C语言》第2章 运算和数据类型练习题答案

合集下载

(完整word)1、c语言-数据类型与运算符(含答案)详解,推荐文档

(完整word)1、c语言-数据类型与运算符(含答案)详解,推荐文档

(完整word)1、c语言-数据类型与运算符(含答案)详解,推荐文档一、选择题1. 可用作C语言用户标识符的一组标识符是( B )。

A. void define +WORDB. a3_b3 _123 YNC. for -abc CaseD. 2a DO sizeof2. 存储以下数据,占用存储字节最多的是(D )。

A. 0B. ‘0’C. “0”D. 0.03. 程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用( D )符号作为分隔符。

A. 空格或逗号B. 逗号或回车C. 逗号或分号D. 空格或回车4. 设”int a=12;”,则执行完语句”a+=a*a;”后,a的值是( C )。

A. 12B. 144C. 156D. 2885. 假设在程序中a、b、c 均被定义成整型,所赋的值都大于1,则下列能正确表示代数式1/abc的表达式是( A)。

A. 1.0/a*b*cB. 1/(a*b*c)C. 1/a/b/(float)cD. 1.0/a/b/c6. 设”int a=15,b=26;”,则”printf(“%d,%d”,a,b);”的输出结果是(C )。

A. 15B. 26,15C. 15,26D. 267. 设x是一个int型的,y的值为10,则表达式x && y的值为(C )。

A. 1B. 0C. 与x值相同D. 与x值相反8. x>0 && x<=10的相反表达式为( A )。

A. x<=0 || x>10B. x<=0 && x>10C. x<=0 || x<=10D. x>0 && x>109. x>0 || y==5的相反表达式为( B )。

A. x<=0 || y!=5B. x<=0 && y!=5C. x>0 || y!=5D. x>0 && y==510. 下面的哪个保留字不能作为函数的返回类型?( C ) 。

c语言与程序设计-第2章课后习题参考答案

c语言与程序设计-第2章课后习题参考答案

2.1 下列哪些是词法记号?关键字(是)注释空白符八进制常量(是)三字符序列字符串常量(是)括号(是)2.2 C编译器可将下列每一个源字符串分解为哪些记号?(不必考虑记号组合是否合法)(1)x+++y x, ++, +, y(2)-0xabL -, 0xabL(3) 2.89E+12L 2.89E+12L(4)"String+\"FOO\"" " String+ \"FOO\""(5)x**2 x, *, *, 2(6)"X??/" "X??/"(7)a?b a, ?, b(8)x--+=y x, --, +=, y(9)intx=+10 intx, =, +, 10(10)"String""FOO" "String", "FOO"(这道题当时改的时候有几个小题改得有错误,注意!)2.3 下列哪些不是标识符,为什么?标识符由字母、数字和下划线组成,但首字符必须是字母或下划线。

4th 不是,以数字开头;sizeof 不是(标准C的关键字)_limit 是_is2 是xYshould 是x*y 不是,* 非法o_no_o_no 是temp-2 不是,- 非法isn't 不是,' 非法enum 不是(标准C的关键字。

注:关键字也称为保留字,是被系统赋予特定含义并有专门用途的标识符。

关键字不能作为普通标识符,但可以作为宏名。

所有预处理均发生在识别这些关键字之前。

)2.4 在下列表示中,哪些是合法常数,哪些是非法常数?对于合法常数,指出其类型;对于非法常数,说明其错误原因。

2L 合法,long长整型''' 不合法,单引号组中的单引号前需要转义字符.12 合法,double双精度浮点型0x1ag 不合法,g不是16进制数中的符号,也不表示任何类型33333 合法,int整形"a" 合法,字符串常量"" 合法,字符串常量0.L 合法,long double长双精度浮点型E20 不合法,缺少尾数部分0377UL 合法,unsigned long无符号长整型'\18' 不合法,存在非8进制位'\0xa' 不合法,不符合十六进制字符码表示规则\xhh0x9cfU 合法,unsigned int无符号整形'\45' 合法,char字符型1.E-5 合法,double双精度浮点型'\0' 合法,char字符型3.F 合法,float浮点型"3'4"" 不合法,缺少转义符'"' 合法,char字符型(P35,双引号作为字符常量时既可用图形符号也可用转义序列表示)'\a' 合法,char字符型2.6 以下的变量声明语句中有什么错误?(1)int a; b = 5; 第一个分号改为逗号int a, b=5;(2)doubel h; 关键字错误double h;(3)int x = 2.3; 类型错误float x = 2.3;(4)const long y; 需要赋初值const long y = 0;(5)float a = 2.5*g; g未定义变量int g = 1; float a = 2.5*g;(6)int a = b = 2; b未定义变量int a = 2, b = 2;2.7 设变量说明为:int a = 1, b = 2, c = 3, d;double x = 2.0; y = 7.7;请给出下列表达式的值。

C语言课后习题参考答案(前5章)

C语言课后习题参考答案(前5章)

《C语言程序设计基础》书后习题参考答案(无编程题答案,红色为书上错误)第二章习题一、选择题。

1、在C语言中,要求参加运算的数必须是整数的运算符是()A)% B)/ C)!D)*2、若已定义x和y为double类型,则表达式“x=1.0,y=x+3/2”的值是()A)1 B)2 C)2.0 D) 2.53、若变量已正确定义并赋值,符合C语言语法的表达式是()A)a=a+7; B) a=7+b+c,a++ C) int (12.3/4 ) D) a=a+7=c+b4、若有定义:int x=3,y=2;float a=2.5,b=3.5;则表达式(x+y)%2+(int)a/(int)b的值为()A)1.0 B)1 C) 2.0 D)25、若x和n均是int型变量,且x的初值为12,n的初值为5 ,则执行表达式x%=(n%=2) 后x 的值为()A) 0 B)1 C) 2 D)36、假设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为()A)7 B)8 C)9 D)107、指出下列哪一个选项的程序是错误的()A)#include<stdio.h> B) #include<stdio.h>void main( ) void main( ){int x,y,z; {int x,y,z;x=0;y=x+1; x=0,y=x+1;z=x+y; z=x+y;} }C) #include<stdio.h> D) #include<stdio.h>void main( ) void main( ){int x,y,z; {int x,y,z;x=0;y=x+1, x=0,y=x+1;z=x+y; z=x+y,} }8、若a为整型变量,则以下语句( )a=-2L;printf(“%d\n”,a);A)赋值不合法B)输出值为-2 C)输出为不确定值D)输出值为29、若变量a,i已经正确定义,且i已正确赋值,则合法的语句是()A)i=int(a) B) ++i; C)a=a++=5; D) a=int(i);10、若执行以下程序段后,c3的值为()int c1=1,c2=2,c3;c3=1.0/c2*c1;A)0 B)0.5 C)1 D)211、如下程序的运行结果是()#include<stdio.h>void main( ){ int y=3,x=3,z=1;printf(“%d%d\n”,(++x,y++),z+2);}A) 3 4 B) 4 2 C) 4 3 D) 3 312、以下程序的输入结果为()#include<stdio.h>void main( ){int i=4,a;a=i++;printf(“a=%d,i=%d’,a,i);}A)a=4,i=4 B)a=5,i=4 C)a=4,i=5 D)a=5,i=513、以下程序的输出结果是()#include <stdio.h>void main( ){ int a=5,b=4,c=6,d;printf(“%d\n”,d=a>b?(a>c?a:c):( b); //多了(}A) 5 B) 4 C) 6 D) 不确定14、在C语言中,如果下面的变量都是int类型,则输出的结果是()sum=pad=5;pad=sum++,pad++,++pad;printf(“%d\n”,pad);A)7 B)6 C)5 D)415、已知int i;float f;,正确的语句是()A)(int f)%i; B)int(f)%i; C) int(f%i); D)(int)f%i;16、已知int j,i=1;执行语句j=-i++;后,j的值是()A)1 B)2 C)-1 D)-217、已知各变量的类型说明如下:int k,a,b;unsigned long w=5;double x=1.42;则以下不符合C语言语法的表达式是()A)x%(-3) B)w+=-2 C)k=(a=2,b=3,a+b) D)a+=a-=a*(a=3)18、C语言中运算对象必须是整型的运算符是( )A) %= B) / C) = D)<=19、有以下程序main(){ int m=12,n=34;printf("%d%d",m++,++n);printf("%d%d\n",n++,++m);}程序运行后的输出结果是( )A)12353514 B)12353513 C)12343514 D)1234351320、下面程序的输出结果是()#include<stdio.h>main( ){int x=5,y=3;printf(“%d\n”,y=x/y); }A)0 B)1 C)3 D)不确定的值21、执行下列程序中的输出语句后,a的值是()#include<stdio.h>void main( ){int a;printf(“%d\n”,(a=3*5,a*4,a+5)); }A) 65 B)20 C)15 D)1022、执行下列程序时输入1234567,程序的运行结果为()#include<stdio.h>main( ){int x,y;scanf (“%2d%2ld”,&x,&y);printf(“%d\n”,x+y); }A)17 B)46 C)15 D)923 、已知char a;int b;float c;double d; 则表达式a*b+c-d结果类型为()A) double B)int C)float D) char二、填空题1、若i为int整型变量且赋值为6,则运算i++后的表达式的值是__6__,变量i的值是___7___。

河南理工大学C语言课后习题答案精解第二章

河南理工大学C语言课后习题答案精解第二章

(15)sizeof(float)是 B
A.一个双精度型表达式 B一个整型表达式;
C.一个函数调用
D. 一个不合法的表达式
第二章 基本数据类型、运算符与表达式
2.填空题 (1)C语言中的标识符只能由三种字符组成,它们是 字母 、
数字 和 下划线 。
(2)以下程序的输出结果是 0 。
main() {
第二章 基本数据类型、运算符与表达式
3.编程题
(2)从键盘输入公里数,屏幕输出其英里数。已知1英里= 1.60934公里(用符号常量)。 #include <stdio.h> #define PARA 1.60934 main() { float x,y; printf(“输入公里数:"); scanf("%f",&x); y=x*PARA; printf("%f公里=%f英里",x,y); }
C. -.18 , 123e4, 0.0
D.-e3, .234, 1e3
(4)在C语言中,char型数据在内存中的存储形式是 D
A.补码
B. 反码
C.原码
D.ASCII码
(5)若有说明语句:char c=‘\72’;则变量c A
A. 包含一个字符
B. 包含2个字符
C. 包含3个字符
D.不合法,c的值不确定
A
{
double d; float f; long l; int i;
i=f=l=d=20/3;
printf(“%d%ld%f%f\n”, i, l , f, d);
}
A. 6 6 6.0 6.0
B. 6 6 6.7 6.7
C. 6 6 6.0 6.7

C语言答案(删减版)

C语言答案(删减版)

C语言答案()第一章C语言程序设计基础习题参考答案1-1 冯·诺依曼体系结构的基本原理:五大构成部分:输入、输出、CPU、控制器、存储器;程序存储、自动执行、逻辑判断功能;二进制的信息表示。

1-6 编辑、编译、链接、执行。

1-7 必须有一个主函数,它是程序执行的起点;一个C语言程序由函数构成;每一条可执行语句都必须由分号结束;函数的代码段必须由花括号对括住。

一个函数中的语句组由声明区和可执行语句区两部分构成。

1-8 三个一缩;每遇到一个结构时均缩格,每结束一个结构时回退;缩格格式必须对齐。

1-9 试给出以下问题的程序设计过程描述:1) 求两个数中之最大者。

#include<stdio.h>int main(void){float fA,fB;clrscr();printf("Please input two values(fA,fB)::"); /*输入要比较的两个数fA,fB*/scanf("%f,%f",&fA,&fB); /*格式化输入fA,fB*/if(fA>=fB) printf("the max is %f",fA);if(fA<fB) printf("the max is %f",fB);return 0;} /*main()函数结束*/2) 求三个数中之最大者。

#include<stdio.h>int main(void){float fA,fB,fC,fMax;printf("Please input three values(fA,fB,fC)::");/*fA,fB,fC是输入的3个数,fMax存放最大值*/scanf("%f,%f,%f",&fA,&fB,&fC);fMax=fA;/*假定fA最大*/if(fMax<fB) fMax=fB;if(fMax<fC) fMax=fC;printf("The max is %f\n",fMax);/*输出最大值*/return 0;} /*main()函数结束*/3) 求1+2+3+…+100,即。

c程序设计第二版习题答案

c程序设计第二版习题答案

c程序设计第二版习题答案C程序设计第二版习题答案第一章:C语言概述1. 描述C语言的特点。

- C语言是一种结构化编程语言,以其高效性、灵活性和可移植性而闻名。

它支持过程式编程和低级内存操作,适合编写系统软件、操作系统和嵌入式系统。

2. 解释C语言的编译过程。

- C语言的编译过程通常包括预处理、编译、汇编和链接四个步骤。

预处理阶段处理宏定义和条件编译指令,编译阶段将源代码转换为汇编代码,汇编阶段将汇编代码转换为目标代码,链接阶段将目标代码与库函数链接生成可执行文件。

第二章:数据类型、运算符和表达式1. 列举C语言的基本数据类型。

- C语言的基本数据类型包括整型(int)、字符型(char)、浮点型(float和double)以及枚举型(enum)。

2. 说明赋值运算符的用法。

- 赋值运算符(=)用于将一个值赋给一个变量。

例如,`a = 5;`表示将整数5赋给变量a。

第三章:控制语句1. 描述if语句的语法结构。

- if语句的基本语法是:`if (条件) { 语句; }`。

如果条件为真,则执行花括号内的语句。

2. 解释while循环的工作原理。

- while循环在每次迭代之前都会检查条件是否为真。

如果条件为真,循环体内的语句将被执行,然后再次检查条件。

这个过程会一直重复,直到条件为假。

第四章:函数1. 函数的定义和声明。

- 函数定义是创建函数的主体,包括函数名、参数列表和函数体。

函数声明是告诉编译器函数的原型,包括函数名、返回类型和参数列表。

2. 函数的调用过程。

- 函数调用包括函数名和参数列表。

调用时,实际参数的值将传递给形式参数,函数执行完毕后,返回值(如果有的话)将返回给调用者。

第五章:数组和指针1. 数组的基本概念。

- 数组是一种数据结构,可以存储固定大小的同类型元素的集合。

数组的元素可以通过索引访问。

2. 指针的用途。

- 指针用于存储内存地址,可以直接操作内存。

指针可以指向基本数据类型、数组、结构体等。

C语言程序设计教程课后答案(第2版)杨路明

C语言程序设计教程课后答案(第2版)杨路明

第一章 C语言程序设计概述-习题答案1算法的描述有哪些基本方法?1、自然语言2、专用工具 2C语言程序的基本结构是怎样的?举一个例子说明。

1、C语言程序由函数构成;2、“/*”与“*/”之间的内容构成C语言程序的注释部分;3、用预处理命令#include、#define可以包含有关文件或预定义信息;4、大小写字母在C语言中是有区别的;5、除main()函数和标准库函数外,用户也可以自己编写函数,应用程序一般由多个函数组成,这些函数指定实际所需要做的工作。

3C语言有什么特点?1、具有结构语言的特点,程序之间很容易实现段的共享;2、主要结构成分为函数,函数可以在程序中被定义完成独立的任务,独立地编译代码,以实现程序的模块化;3、运算符丰富,包含的范围很广;4、数据类型丰富;5、允许直接访问物理地址,即可直接对硬件进行损伤,实现汇编语言的大部分功能;6、限制不太严格,程序设计自由度大,这样使C语言能够减少对程序员的束缚;7、生成的目标代码质量,程序执行效率高,同时C语言编写的程序的可移植性好。

4★指出合法与不合法的标识符命名。

AB12--√leed_3-- a*b2--× 8stu--× D.K.Jon--× EF3_3--√ if--× XYZ43K2--√ AVE#XY--× _762--√ #_DT5--×PAS--√C.D--×说明下列 Turbo C 热键的功能。

F2: 源文件存盘F10: 调用主菜单F4: 程序运行到光标所在行(用于调试程序) Ctrl+F9:编译并链接成可执行文件 Alt+F5:将窗口切换到 DOS 下,查看程序运行结果。

6说明下列 Turbo C 方式下输入并运行下列程序,记录下运行结果。

①main() {printf("********************\n");printf(" welcome you \n"); printf(" very good \n);printf("********************\n");}②main(){ int a,b,c,t;printf("please input three numbers;");scanf("%d,%d,%d",&a,&b,&c); /* 教材 S 是错误的 */t=max(max(a,b),c);printf("max number is:%d\n",t);}int max(int x, int y){ int z;if(x>y)z=x;else z=y; return(z);}答运行结果:welcome youvery good运行结果: please input three numbers;3,1,4 /*左侧下划线内容为键盘输入*/ max number is:4一个 C 程序是由若干个函数构成的,其中有且只能有一个___函数。

《C语言程序设计》教材习题答案第2章

《C语言程序设计》教材习题答案第2章

一、思考题1、常量和变量有什么区别?它们分别是如何定义的?常量是指在C程序运行过程中其值不变的量,变量是一个值的存放处,其值在程序运行过程中可以被改变。

常量有两种形式:字面常量与符号常量,C语言可以使用以下两种形式定义符号常量(1)用关键字const定义定义格式为:const 类型名常量名=值;(2)用编译预处理命令#define定义格式为:#define <常量名> <值常量>变量的定义格式为:数据类型变量名1,变量名2,…,变量名n;或数据类型变量名1=初值1,变量名2=初值2,…,变量名n=初值n;2、变量的要素有哪些?请用一个例子说明?名字、类型、值和地址int a = 1;int是类型,a是名字,1是值,地址是编译器给a变量分配的内存空间3、变量在整个程序中能有相同的值吗?为什么?请举例说明。

可以,因为变量的值可以被改变,但不是一定被改变。

如果程序中没有其它不同的赋值,变量将保持不变。

4、为什么程序需要有短整型(short)和长整型(long)?整型的值集理论上是所有整数,但由于受到计算机存储单元的限制,C语言的整型只能表示所有整数的一个有限子集,因此,整数有它的表示范围限制,且不同的C语言系统可表示整数的范围可能不同。

不同范围的整型数据所占有的内存空间大小不同。

程序开发人员通过选择能够满足范围要求的类型(short或long),可以减少数据存储空间。

比如,当短整型可以满足数据范围要求时,就没有必要选择需要更多存储空间的长整型。

5、字符’8’和数字8有何不同?字符’8’是字符型,数字8是整型6、C语言有字符串变量吗?没有7、C语言中的运算符“/”和“%”有何区别?C语言中除法运算符“/”与数学中的运算符“÷”的用法和功能完全一样吗?“/”是除法,“%”是取余数,“/”与“÷”的用法和功能不完全一样,“÷”得到的是两数相除后得到的真实值,“/”得到的是两数相除后取整的值。

明解c语言入门篇答案第二章

明解c语言入门篇答案第二章

明解c语言入门篇答案第二章一、判断题(20题每题1分,选择“对”或“错”)1、高级语言只有C++语言 [判断题] *对错(正确答案)2、机器语言能被计算机直接识别,因为它是二进制指令 [判断题] *对(正确答案)错3、C++中每一句正常语句后面都要有中文分号“;” [判断题] *对错(正确答案)4、C++语言需要通过编译生成exe可执行文件,然后才能被计算机运行 [判断题] *对(正确答案)错5、#include <iostream>是头文件 [判断题] *对(正确答案)错6、常见的数据可以分为数值型数据和非数值型数据 [判断题] *对(正确答案)错7、常见的整数类型包括int和long long (int)等等 [判断题] *对(正确答案)错8、常见的实数类型包括double,float等等 [判断题] *对(正确答案)错9、char代表布尔型数据,bool代表字符型数据 [判断题] *对错(正确答案)10、C++中a和'a'是一样的含义,都是变量 [判断题] *对错(正确答案)11、ASCII码中,数字字符'0'后面不是大写字母'A' [判断题] *对(正确答案)错12、ASCII码中,大写字母'Z'后面是小写字母'a' [判断题] *对错(正确答案)13、在ASCII码运算中,'A'+3='D','p'+2='r','3'+6='9' [判断题] *对(正确答案)错14、在ASCII码运算中,'F'-'E'=1,'z'-'x'=2,'7'-'4'=3 [判断题] *对(正确答案)错15、在ASCII码运算中,'0'+10='10' [判断题] *对错(正确答案)16、在C++中,3/2的结果是1.5 [判断题] *对错(正确答案)17、在数学上, [判断题] *对(正确答案)错18、实数可以分为有理数和无理数 [判断题] *对(正确答案)错19、实数与数轴上的点一一对应 [判断题] *对(正确答案)错20、程序设计的三种基本结构主要为顺序结构、分支结构和循环结构 [判断题] *对(正确答案)错二、单选题(10题每题2分)1、若X、 Z为真,Y为假,下列逻辑表达式的值为真的是() [单选题] *A、(X||Y)&&(!Z)B、(X&&Y)&&(!Z)C、(X||Y)&&(Y||Z)(正确答案)D、(X&&Y)||(Y&&Z)2、对于char x,x-'a'+'A'的含义是() [单选题] *A、将小写字母转化为大写字母(正确答案)B、将大写字母转化为小写字母C、将数字字符转化为大写字母D、将小写字母转化为数字字符3、将数字字符x转化为对应的整型数字,下列代码中正确的是() [单选题] *A、x-'a'+'A'B、x-'0'(正确答案)C、x-'9'D、 x-'A'+'a'4、下列语句中,与x=x+5是一个意思(等价)的是() [单选题] *A、x+=5(正确答案)B、x=+5C、x++5D、5++x5、定义int x,y,t;,则t=x;x=y;y=t;是在做()操作 [单选题] *A、排序B、交换(正确答案)C、赋值D、比较6、若定义数组int a[10],则该数组下标的范围为()[单选题] *A、1~10B、0~10C、1~11D、0~9(正确答案)7、下列不属于<algorithm>库的函数是() [单选题] *A、sortB、abs(正确答案)C、max与minD、swap8、若发现累乘器的结果始终是0,问题最有可能出在() [单选题] *A、没有初始化为1(正确答案)B、中间计算过程C、没有定义D、没有初始化为09、数组a[101]中使用下标1~n存储了n个元素,则对于某一位置k,for(int i=k+1;i<=n;i++) a[i-1]=a[i];是在对数组a做()操作 [单选题] *A、排序B、插入C、删除(正确答案)D、查找10、“从前有座山,山里有座庙,庙里有个老和尚给小和尚讲故事,讲的什么呢?从前有座山,山里有座庙,庙里有个老和尚给小和尚讲故事,讲的什么呢?……”体现了()的程序设计思想 [单选题] *A、递归(正确答案)B、模拟C、排序D、分治三、阅读程序写结果(6题每题5分)注意事项:1、行前行末不要出现任何的空格,否则视为0分。

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

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

《C语言程序设计教程》习题参考答案C语言程序设计教程习题参考答案1. 基本概念与数据类型1.1 什么是C语言程序设计?C语言程序设计是一种计算机编程语言,它是一种结构化,通用的程序设计语言。

1.2 C语言的主要特点有哪些?C语言具有代码简洁、执行速度快、可移植性好等特点。

1.3 C语言的数据类型有哪些?请简要介绍。

C语言的数据类型包括基本数据类型和派生数据类型。

基本数据类型包括整型、浮点型、字符型和布尔型;派生数据类型包括数组、结构体、枚举和指针等。

2. 变量与运算符2.1 什么是变量?怎样定义和使用变量?变量是计算机内存中的一块存储空间,用于存储数据。

在C语言中,变量需要先定义后使用。

定义变量使用关键字"int"、"float"等,然后指定变量名,并可选地赋初值。

2.2 C语言中的运算符有哪些?请简要介绍。

C语言中的运算符包括算术运算符、关系运算符、逻辑运算符、赋值运算符、位运算符等。

算术运算符用于基本的数学运算;关系运算符用于比较两个变量的关系;逻辑运算符用于逻辑判断;赋值运算符用于将一个值赋给一个变量;位运算符用于对二进制数进行逐位操作。

3. 控制语句3.1 C语言中的条件语句有哪些?请简要介绍。

C语言中的条件语句包括if语句、switch语句等。

if语句用于根据条件执行不同的代码块;switch语句用于根据不同的表达式值选择不同的分支。

3.2 C语言中的循环语句有哪些?请简要介绍。

C语言中的循环语句包括while循环、do-while循环和for循环等。

while循环用于根据条件重复执行一段代码;do-while循环和while循环类似,但它会首先执行一次代码;for循环用于固定次数的循环。

4. 函数与数组4.1 什么是函数?怎样定义和调用函数?函数是一段完成特定任务的代码块,它可以接收输入参数,并返回一个值。

在C语言中,可以使用关键字"void"定义无返回值的函数,使用其他数据类型定义有返回值的函数。

c语言第二章课后习题答案

c语言第二章课后习题答案

c语言第二章课后习题答案第3章数据类型、运算符与表达式习题答案一、选择题1.以下表示正确常量的是()。

(A) E-5 (B) 1E5.1 (C) 'a12' (D) 32766L【答案】D2.若有定义:int a=1,b=2,c=3,d=4,x=5,y=6; 则表达式(x=a>b)&&(y=c>d) 的值为()。

(A)0 (B) 1 (C) 5 (D) 6【答案】A3.以下()是正确的字符常量。

(A)"c" (B) '\\'' (C) 'W' (D) "\32a"【答案】C4.以下()是不正确的字符串常量。

(A) 'abc' (B) "12'12" (C) "0" (D) " "【答案】A5.以下是正确的浮点数的是()。

(A)e3 (B) .62 (C) 2e4.5 (D) 123【答案】B6.若有定义:int a=2; 则正确的赋值表达式是()。

(A)a-=(a*3) (B) double(-a) (C) a*3 (D) a*4=3【答案】A7.若有定义:int x=1111,y=222,z=33;则语句printf("%4d+%3d+%2d", x, y, z);运行后的输出结果为()。

(A) (B)1111,222,33(C)1111 222 33 (D)1111+222+33【答案】D8.已有如下定义和输入语句:int a,b;scanf("%d,%d",&a,&b);若要求a、b的值分别为11和22,正确的数据输入是哪一个?()(A)11 22 (B)11,22 (C)a=11,b=22 (D)11;22【答案】B9.已有如下定义和输入语句,int a; char c1,c2;scanf("%d%c%c",&a,&c1,&c2);若要求a、c1、c2的值分别为40、A和A,正确的数据输入是()。

《明解C语言》第2章运算和数据类型练习题答案

《明解C语言》第2章运算和数据类型练习题答案

【个人观点】练习2-1 #include <stdio.h> int main( void ){int no1,no2;printf( " 请输入两个整数:");scanf( "%d%d,"&no1,&no2);printf( " 前者是后者的%.0f%%\n",(( double )no1/ no2) * 100);return (0);}【note 】(1)no1/ no2 是整数,因此要对其中一个浮点化,使得该结果为小数;(2)(( double )no1/ no2) * 100 的结果是:小数点后的位数为0练习2-2#include <stdio.h> int main( void ){int vx,vy;puts( " 请输入两个整数。

");printf("整数vx :");scanf( "%d",&vx);printf("整数vy : ");scanf( "%d",&vy);printf("它们的和是%d 积是%d\n" ,vx + vy,vx * vy);return (0);} 练习2-3 #include <stdio.h>int main( void ){double no;puts( " 请输入一个实数: "); scanf( "%lf" ,&no);printf( "您输入的实数是%f\n" ,no);return (0);}练习2-4#include <stdio.h>int main( void ){int n1,n2,n3,n4;double d1,d2,d3,d4;n1 = 5 / 2;n2 = 5.0 / 2.0;n3 = 5.0 / 2;n4 = 5 / 2.0;d1 = 5 / 2;d2 = 5.0 / 2.0;d3 = 5.0 / 2;d4 = 5 / 2.0;printf( "n1 = %d\n" ,n1); printf( "n2 = %d\n" ,n2); printf( "n3 = %d\n" ,n3); printf( "n4 = %d\n" ,n4);printf( "d1 = %f\n" , d1);printf( "d2 = %f\n" ,d2);printf( "d3 = %f\n" ,d3);printf( "d4 = %f\n" ,d4);return (0);}练习2-5#include <stdio.h>int main( void ){int no1,no2;printf( " 请输入两个整数:");scanf( "%d%d,"&no1,&no2);printf( " 前者是后者的%f%%\n",(( double )no1/ no2) * 100);return (0);}练习2-6#include <stdio.h>int main( void ){int high; double weight;printf( " 请输入您的身高:"); scanf( "%d",&high);printf("您的标准体重是%.1f 公斤\n" ,( double )(high -100) * 0.9); }。

《C语言程序设计》第2章数据类型与运算练习题及解答

《C语言程序设计》第2章数据类型与运算练习题及解答

第2章数据类型和运算符习题及解答一.选择题。

A)_w1 B)3_xy C)int D)LINE-3答案:A解析: C语言规定用户标识符由英文字母、数字和下划线组成,且第一个字符必须是字母或下划线,由此可见选项B),D)是错的;此外,C语言不允许用户将关键字作为标识符,而选项C)选项项中的int 是C语言的关键字。

2.C语言中最简单的数据类型包括A)整型、实型、逻辑型 B)整型、实型、字符型C)整型、字符型、逻辑型 D)字符型、实型、逻辑型答案:B解析:本题考查C语言的数据类型。

在C语言中,没有专门的逻辑型数据类型,可以用0和1来表示逻辑值。

所以,在本题的选择答案中,不应该包括逻辑型。

int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是A)3 B)6 C)10 D)20答案:D解析: x数组共有10个元素,在花括弧内只提供3个初值,这表示只给前面的3个成员赋值,后7个元素的值为0,所以,一共有20个字节。

D)234e-2答案:B解析:实型常量表示时字母E或e前必须有数字,其后数字必需为整数,故B错。

5.若变量已正确定义并赋值,以下符合C语言语法的表达式是A)a:=b+1 B)a=b=c+2 C)int 18.5%3 D)a=a+7=c+b答案:B解析:选项A)中包含一个不合法的运算符“:=”;选项C)应改为(int)18.5%3;选项D)可理解为两个表达式:a+7=c+b和a=a+7,其中第一个是错的,因为C语言规定赋值号的左边只能是单个变量,不能是表达式或常量等。

因此,正确答案是选项B),它实际上相当于a=(b=c+2),进而可分解为两个表达式:b=c+2和a=b。

C语言用户标识符的一组是A)void, define, WORD B)a3_b3, _123,CarC)For, -abc, IF Case D)2a, DO, sizeof答案:B解析: C语言规定标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须为字母或下划线,排除选项C)和D)。

C语言课后习题解析及答案

C语言课后习题解析及答案

第二章数据类型课后习题1.下列哪些是合法的变量名?如果合法,你认为它是一个好的助记符(能提醒你它的用途)吗?(a) stock_code 合法、好的助记符(b) money$ 非法,$为非法字符(c) Jan_Sales 合法、好的助记符(d) X-RAY 非法,–为非法字符(e) int 非法,int为关键字(f) xyz 合法、不是好的助记符(g) 1a 非法,变量名必须以字母或下划线打头(h) invoice_total合法、好的助记符(i) john's_exam_mark非法,’为非法字符(j) default 非法,default为关键字2.请确定下列常量的数据类型:(a) 'x' char(b) -39 int(c) 39.99 double(d) -39.0 double3.下列哪些是合法的变量定义?(a) integer account_code ; 非法,无integer类型(b) float balance ; 合法(c) decimal total ; 非法,无decimal类型(d) int age ; 合法(e) double int ; 非法,int为关键字,不能作为变量名(f) char c ; 合法4.写出下列各小题中的变量定义:(a) 整型变量number_of_transactions和age_in_yearsint number_of_transactions, age_in_years;(b) 单精度浮点型变量total_pay,tax_payment,distance和averagefloat total_pay, tax_payment, distance, average;(c) 字符型变量account_typechar account_type;(d) 双精度浮点型变量gross_paydouble gross_pay;5. 为下列各小题写出最合适的变量定义:(a) 班级中的学生人数int number_of_students;(b) 平均价格float average_price;(c) 自1900年1月1日以来的天数int days_since_1900;(d) 利率百分比float interest_rate;(e) 本页中最常出现的字符char most_common_char;(f) 中国的人口总数(在2010年11月大约为1,339,724,852)int population_of_china;6. 假定有如下定义:int i ;char c ;下面哪些是合法的C语句?c = 'A' ; 合法i = "1" ; 非法,字符串不能赋值给整型i = 1 ; 合法c = "A" ; 非法,”A”为字符串,存储为’A’和’\0’两个字符c = '1'; 合法7. 写一个C程序,给第4题中的变量各赋一个值,然后以每行一个变量的形式显示这些变量的值。

C语言课后习题答案

C语言课后习题答案

C语言课后习题答案第1章 C语言概述一、选择题答案: 1.A 6.B 二、填空题答案: 1.函数一、选择题答案: 1.B 6.C 11.B 16.C2.D 7.C 12.B 17.B3.D 4.B 8.B 9.A 13.D 14.D 18.D 19.A5.D 10.D 15.A 20.C2.目标3.编译程序4.分号2.B 7.D3.C 8.B4.C5.D第2章数据类型、运算符和表达式二、填空题答案: 1.2 度6.307.4,2一、选择题答案: 1.C 6.A 二、填空题答案:1.scanf printf 2.顺序、选择、循环 3.1 4.3 5.9,10 6.10,20 7.213 8.空格、Tab键、回车键2.C 7.D3.C 4.A 8.D 9.C5.A 10.D8.42.6,4,23.184.5 5.double或双精第3章顺序结构第4章选择结构一、选择题答案:1.B 6.C2.D 7.C3.D 8.B4.B 9.B5.B二、程序改错题1.输入两个实数,在fun()函数中按数值由小到大输出它们。

(保留2位小数)答案:=======(答案1)======= float t;=======(答案2)======= if(a>b)=======(答案3)=======printf(\2.编写一个程序计算某年某月有几天。

(注意要区分闰年)答案:=======(答案1)======= switch(mm)=======(答案2)======= break;=======(答案3)======= default : 三、程序填空题1.功能:输出a、b、c三个变量中的最小值。

答案:=======(答案1)======= &c=======(答案2)======= c:t1四、程序设计题1.功能:对任意输入的x,用下式计算并输出 y 的值。

说明:因为关于函数调用的知识在第7章讲解,所以在现阶段本程序的设计可以改用一个主函数来完成。

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

【个人观点】
练习2-1
#include<stdio.h>
int main(void)
{
int no1,no2;
printf("请输入两个整数:");
scanf("%d%d",&no1,&no2);
printf("前者是后者的%.0f%%\n",((double)no1/ no2) * 100);
return (0);
}
【note】(1)no1/ no2是整数,因此要对其中一个浮点化,使得该结果为小数;(2)((double)no1/ no2) * 100的结果是:小数点后的位数为0
练习2-2
#include<stdio.h>
int main(void)
{
int vx,vy;
puts("请输入两个整数。

");
printf("整数vx:");scanf("%d",&vx);
printf("整数vy:");scanf("%d",&vy);
printf("它们的和是%d,积是%d\n",vx + vy,vx * vy);
return (0);
}
练习2-3
#include<stdio.h>
int main(void)
{
double no;
puts("请输入一个实数:");
scanf("%lf",&no);
1
printf("您输入的实数是%f\n",no);
return (0);
}
练习2-4
#include<stdio.h>
int main(void)
{
int n1,n2,n3,n4;
double d1,d2,d3,d4;
n1 = 5 / 2;
n2 = 5.0 / 2.0;
n3 = 5.0 / 2;
n4 = 5 / 2.0;
d1 = 5 / 2;
d2 = 5.0 / 2.0;
d3 = 5.0 / 2;
d4 = 5 / 2.0;
printf("n1 = %d\n",n1);
printf("n2 = %d\n",n2);
printf("n3 = %d\n",n3);
printf("n4 = %d\n",n4);
printf("d1 = %f\n", d1);
printf("d2 = %f\n",d2);
printf("d3 = %f\n",d3);
printf("d4 = %f\n",d4);
return (0);
}
练习2-5
#include<stdio.h>
int main(void)
{
int no1,no2;
printf("请输入两个整数:");
2
scanf("%d%d",&no1,&no2);
printf("前者是后者的%f%%\n",((double)no1/ no2) * 100);
return (0);
}
练习2-6
#include<stdio.h>
int main(void)
{
int high;
double weight;
printf("请输入您的身高:");
scanf("%d",&high);
printf("您的标准体重是%.1f公斤\n",(double)(high - 100) * 0.9); }
3。

相关文档
最新文档