文档库 最新最全的文档下载
当前位置:文档库 › C语言第三章习题带答案

C语言第三章习题带答案

C语言第三章习题带答案
C语言第三章习题带答案

练习3-1答案

一、选择题

1.在C语言库函数中,可以输出double型变量x值的函数是( D )。

A.getchar B.scanf C.putchar D.printf 2.执行语句:printf("The program\'s name is c:\\tools\book.txt");后输出是( D )。

A.The program's name is c:tools book.txt

B.The program's name is c:\tools book.txt

C.The program's name is c:\\tools book.txt

D.The program's name is c:\toolook.txt

3.以下程序的输出结果是( D )。(注:□表示空格)

main()

{printf("\n*s1=%15s*", "chinabeijing");

printf("\n*s2=%-5s*", "chi");

}

A.*s1=chinabeijing□□□* B.*s1=chinabeijing□□□*s2=**chi* *s2=chi□□*

C.*s1=*□□chinabeijing* D.*s1=□□□chinabeijing* *s2=□□chi* *s2=chi□□*

4.选择程序的运行结果,①是( B )、②是( B )、③是( D )、④是( C )。

#include

main()

{int a=-10, b=-3;

printf("%d\n", a%b); /*输出①*/

printf("%d\n", a/b*b); /*输出②*/

printf("%d\n", -a%b); /*输出③*/

printf("%d\n", a-=b+++1); /*输出④*/

}

①A.-2 B.-1 C.0 D.1

②A.-10 B.-9 C.-8 D.0

③A.-2 B.-1 C.0 D.1

④A.-10 B.-9 C.-8 D.-7

5.以下C程序正确的运行结果是( D )。(注:□表示空格)

main()

{int y=2456;

printf("y=%3o\n", y);

printf("y=%8o\n", y);

printf("y=%#8o\n", y);

}

A.y=□□□2456 B.y=□□□4630

y=□□□□□□□□2456 y=□□□□□□□□4630

y=#########2456 y=#########4630

C.y=2456 D.y=4630

y=□□□□2456 y=□□□□4630

y=□□□02456 y=□□□04630

二、填空题

6.以下程序的输出结果为( i:dec=-4, otc=177774, hex=fffc, unsigned=65532 )。

main()

{short i;

i=-4;

printf("\ni:dec=%d, otc=%o, hex=%x, unsigned=%u\n", i, i, i, i);

}

7.以下程序的输出结果为( c:dec=120, oct=170, hex=78, ASCII=x )。

main()

{char c='x';

printf("c:dec=%d, oct=%o, hex=%x, ASCII=%c\n", c, c, c, c);

}

8.已有定义int d=-2;,执行以下语句后的输出结果是:

( *d(1)=-2*d(2)=□-2*d(3)=-2□*

*d(4)=177776*d(5)=□177776*d(6)=177776□*

*d(4)=fffe*d(5)=□□fffe*d(6)=ffffe□□* )。(注:□表示空格)

printf("*d(1)=%d*d(2)=%3d*d(3)=%-3d*\n", d, d, d, d);

printf("*d(4)=%o*d(5)=%7o*d(6)=%-7o*\n", d, d, d, d);

printf("*d(4)=%x*d(5)=%6x*d(6)=%-6x*\n", d, d, d, d);

9.以下程序的输出结果是:

( a=374 a=0374

a=fc a=0xfc )。

#include

main()

{int a=252;

printf("a=%o a=%#o\n", a, a);

printf("a=%x a=%#x\n", a, a);

}

练习3-2答案

选择题

1.已知:int x, y, z, w;,为使以下语句的输出为:1234+123+12+1,正确的输入形式应当为( C )。

scanf("%4d-%3d-%2d-%1d", &x, &y, &z, &w);

printf("%4d+%3d+%2d+%1d\n", x, y, z, w);

A.1234123121 B.1234 123 12 1 C.1234-123-12-1 D.1234+123+12+1 2.已知:int x; float y;,所用的scanf调用语句格式为:

scanf("x=%d, y=%f", &x, &y);

为了将数据10和66.6分别赋给x和y,正确的输入应当使( A )。

A.x=10, y=66.6<回车> B.10,66.6<回车>

C.10<回车>66.6<回车> D.x=10<回车>y=66.6<回车>

3.已知:int x, y; double z;,以下语句中错误的函数调用是( D )。

A.scanf("%d,%x,%1e", &x, &y, &z); B.scanf("%2d*%d%1f", &x, &y, &z);

C.scanf("%x%*d%o", &x, &y); D.scanf("%x%o%6.2f", &x, &y, &z); 4.已有如下定义和输入语句,若要求a1、a2、c1、c2的值分别为10、20、A和B,当从第一列开始输入数据时,正确的数据输入方式是( AC )。(注:□表示空格,表示回车)

int a1, a2; char c1, c2;

scanf("%d%c%d%c", &a1, &c1, &a2, &c2);

A.10A□20B B.10□A□20B

C.10A20B D.10A20□B

5.已有定义int x; float y;,且执行scanf("%3d%f", &x, &y);语句时,输入数据12345□678,则x的值为( ①B ),y的值为( ②B )。(注:□表示空格)

①A.12345 B.123 C.45 D.345

②A.无定义B.45.000000 C.678.000000 D.123.000000 6.阅读以下程序,当输入数据的形式为:25,13,10,正确的输出结果为( D )。

main()

{int x, y, z;

scanf("%d%d%d", &x, &y, &z);

printf("x+y+z=%d\n", x+y+z);

}

A.x+y+z=48 B.x+y+z=35 C.x+z=35 D.不确定值

7.根据题目中已经给出的数据的输入和输出形式,程序中输入输出语句的正确内容是( B )。

main()

{int x;

float y;

printf("enter x, y: ");

输入语句

输出语句

}

输入形式:enter x, y: 23.4

输出形式:x+y=5.40

A.scanf("%d,%f", &x, &y); B.scanf("%d%f", &x, &y);

printf("\nx+y=%4.2f", x+y); printf("\nx+y=%4.2f", x+y); C.scanf("%d%f", &x, &y); D.scanf("%d%3.1f", &x, &y);

printf("\nx+y=%6.1f", x+y); printf("\nx+y=%4.2f", x+y);

C语言第三章复习题及答案

C语言复习题1 一、选择题 1.C语言提供的合法的数据类型关键字是(B)。 (A)Double (B)short (C)integer (D)Char 2.在C语言中,合法的长整型常数是(A )。 (A)0L (B)4962710 (C)0.054838743 (D)2.1869e10 3.若有说明和语句: int a=5; a++; 此处表达式a++的值是( C)。 (A)7 (B)6 (C)5 (D)4 4.C语言中最简单的数据类型包括(B )。 (A)整型、实型、逻辑型 (B)整型、实型、字符型 (C)整型、字符型、逻辑型 (D)整型、实型、逻辑型、字符型 5.以下说法中正确的是( C)。 (A)C语言程序总是从第一个定义的函数开始执行 (B)在C语言程序中,要调用的函数必须在main()函数中定义 (C)C语言程序总是从main()函数开始执行 (D)C语言程序中的main()函数必须放在程序的开始部分 6.在C语言中,要求运算数必须是整型的运算符是( A )。 (A) % (B) / (C) < (D) ! 7.以下有4个用户标识符,其中合法的一个是(C )。 (A) for (B) 4d (C) f2_G3 (D) short 8.假定x和y为double型,则表达式x=2,y=x+3/2的值是( D )。 (A) 3.500000 (B) 3 (C) 2.000000 (D) 3.000000 9.下面程序的输出是( C )。 (A) 0 (B) 1 (C) 3 (D) 不确定的值 main() { int x=10,y=3; printf("%d\n",y=x/y);} 10.执行下面程序中输出语句后,a的值是( C )。 (A) 65 (B) 20 (C) 15 (D) 10 main() {int a; printf("%d\n",(a=3*5,a*4,a+5));} 11.C语言提供的合法的关键字是( D )。 (A)Switch (B)cher (C)Case (D)default 12.在C语言中,合法的字符常量是( B )。 (A)'\084' (B)'\x43' (C)'ab' (D)"\0" 13.若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是( C )。 (A)1 (B)2 (C)2.0 (D)2.5 14.以下叙述中错误的是( B )。 (A)算法正确的程序最终一定会结束 (B)算法正确的程序可以有零个输出 (C)算法正确的程序可以有零个输入

C语言练习题-第三章参考答案(已勘误)

C语言练习题---第三章 1、有以下程序 #include<stdio.h> main() {short c=124; c=c_______; printf(“%d\n”,C); } 若要使程序的运行结果为248,应在下划线处填入的是 A)>>2 B)|248 C)&0248 D)<<1 2、以下程序运行后的输出结果是2008。 #include<stdio.h> main() {int a=200,b=010; printf(”%d%d\n”,a,b); } 3、有以下程序 #include<stdio.h> main() {int x,y; Scanf(“%2d%ld”,&x,&y);printf(“%d\n”,x+y); } 程序运行时输入:程序的运行结果是34579。 4、有以下程序 #include Void main() { char a,b,c,d; scanf(”%c%c”,&a,&b); c=getchar(); d=getchar(); printf(”%c%c%c%c\n”,a,b,c,d); } 当执行程序时,按下列方式输入数据(从第一列开始,代表回车,注意:回车是一个字符) 12

34 则输出结果是:() A、1234 B、12 C、12 D、12 3 34 5、有以下程序,其中k的初值为八进制数 #include main() {int k=011; printf(”%d\n”,k++); } 程序运行后的输出结果是D (A)12 (B)11 (C)10 (D)9 6、有以下程序(暂不做) #include void fun (char*c,int d) {*c=*c+1;d=d+1; printf(”%c,%c,”,*c,d); } main() {char b=’a’,a=’A’; fun(&b,a); printf(”%c,%c\n”,b,a); } 程序运行后的输出结果是A A)b,B,b,A B)b,B,B,A C)a,B,B,a D)a,B,a,B 7、以下程序 #include #define SUB(a) (a)-(a) main() {int a=2,b=3,c=5,d; d=SUB(a+b)*c; printf(”%d\n”,d); } 程序运行后的结果是C A)0 B)-12 C)-20 D)10 8、有以下程序 #include main()

C语言第三章习题带答案-2012.10.9更新

练习3-1答案 一、选择题 1.在C语言库函数中,可以输出double型变量x值的函数是( D )。 A.getchar B.scanf C.putchar D.printf 2.执行语句:printf("The program\'s name is c:\\tools\book.txt");后输出是( D )。 A.The program's name is c:tools book.txt B.The program's name is c:\tools book.txt C.The program's name is c:\\tools book.txt D.The program's name is c:\toolook.txt 3.以下程序的输出结果是( D )。(注:□表示空格) main() {printf("\n*s1=%15s*", "chinabeijing"); printf("\n*s2=%-5s*", "chi"); } A.*s1=chinabeijing□□□* B.*s1=chinabeijing□□□*s2=**chi* *s2=chi□□* C.*s1=*□□chinabeijing* D.*s1=□□□chinabeijing* *s2=□□chi* *s2=chi□□* 4.选择程序的运行结果,①是( B )、②是( B )、③是( D )、④是( C )。 #include main() {int a=-10, b=-3; printf("%d\n", a%b); /*输出①*/ printf("%d\n", a/b*b); /*输出②*/ printf("%d\n", -a%b); /*输出③*/ printf("%d\n", a-=b+++1); /*输出④*/ } ①A.-2 B.-1 C.0 D.1 ②A.-10 B.-9 C.-8 D.0 ③A.-2 B.-1 C.0 D.1 ④A.-10 B.-9 C.-8 D.-7 5.以下C程序正确的运行结果是( D )。(注:□表示空格) main() {int y=2456; printf("y=%3o\n", y); printf("y=%8o\n", y); printf("y=%#8o\n", y); } A.y=□□□2456 B.y=□□□4630 y=□□□□□□□□2456 y=□□□□□□□□4630 y=#########2456 y=#########4630

c语言习题及答案

第一章1.1 题目内容: 使用printf()在屏幕上输出hello world! 提示: #include int main() { printf("hello world!\n"); return 0; } 输入格式: 无 输出格式: 输出提示信息:"hello world!\n" 输入样例: 输出样例: hello world! #include int main() { printf("hello world!\n"); return 0; } 1.2 在屏幕上输出多行信息(3分) 题目内容: 使用printf()函数在屏幕上输出以下多行信息: hello world! hello hit! hello everyone! 提示: 在printf()函数中转义字符‘\n’表示换行。

输入格式: 输出格式: 输出提示信息: "hello world!\n" "hello hit!\n" "hello everyone!\n" 输入样例: 输出样例: hello world! hello hit! hello everyone! #include int main() { printf("hello world!\n"); printf("hello hit!\n"); printf("hello everyone!\n"); return 0; } 1.3 计算半圆弧的周长及半圆面积(3分) 题目内容: 编程并输出半径r=5.3的半圆弧的周长及该半圆的面积,的取值为3.14159。要求半径r和必须利用宏常量表示。输入格式: 无 输出格式: 半圆的面积输出格式: "Area=%f\n" 半圆弧的周长输出格式: "circumference=%f\n" 输入样例: 输出样例: Area=44.123632 circumference=16.650427 #include #define PI 3.14159 #define R 5.3 int main() { printf("Area=%f\n", R*R*PI/2); printf("circumference=%f\n", 2*R*PI/2); return 0; }

C语言谭浩强版本第三章课后练习题答案

第三章课后练习题 一、单项选择题 1.根据C语言的语法规则,不能做变量名的是: A)do B)Name C)R5 D)_exam 2.下列四组选项中,全是C语言关键字的选项是:感觉没有答案 A)define IF type B)getc char printf :printf是函数名 C)include case scanf :同上 D)while go pow :同上 3.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符: A)必须为字母 B)必须为下划线 C)必须为字母或下划线 D)可以是字母、数字和下划线中任一种字符 4.在C语言中,合法的字符常量是: A) 3 B)‘S’ C)'ab' D)"A" 5.若已定义x和y为double类型,则表达式:x=1,y=x+3/2中y的值是: A) 1 B) 2 C) 3 D) 2.5 6.C语言提供的不合法的数据类型关键字是: A)double B)short C)integer D)char 7.合法的C语言中,合法的字符串是: A)'\t' B)"A" C)‘a’ D)‘a\t’ 8.执行语句int a=5; a++;后,a的值是: A)7 B) 6

C) 5 D) 4 A) 9.以下选项中属于C语言的数据类型是: A)复合型 B)双精度型 C)数学型 D)集合型 10.Vc6.0下各种基本数据类型的存贮空间正确的长度排列是: A)int< Char<=float

c语言第三、四章(习题册答案)

第三章数据类型、运算符和表达式 一、选择题: 1、以下选项中,不正确的C 语言浮点型常量是(C)。 A. 160. B. 0.12 C. 2e4.2 D. 0.0 2、以下选项中,(D)是不正确的C 语言字符型常量。 A. 'a' B. '\x41' C. '\101' D. "a" 3、在C 语言中,字符型数据在计算机内存中,以字符的(C)形式存储。 A. 原码 B. 反码 C. ASCII 码 D. BCD码 4、若x、i、j和k都是int型变量,则计算下面表达式后,x的值是(C)。 x=(i=4,j=16,k=32) A. 4 B. 16 C.32 D.52 5、算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为(B)。 A. 算术运算、赋值运算、关系运算 B. 算术运算、关系运算、赋值运算 C. 关系运算、赋值运算、算术运算 D. 关系运算、算术运算、赋值运算 6、表达式!x||a==b 等效于(D)。 A. !((x||a)==b) B. !(x||y)==b C. !(x||(a==b)) D. (!x)||(a==b) 7、设整型变量m,n,a,b,c,d 均为1,执行(m=a>b)&&(n=c>d)后, m,n 的值是(B)。 A. 0,0 B. 0,1 C. 1,0 D. 1,1 8、设有语句int a=3;,则执行了语句a+=a-=a*=a;后,变量a 的值是(B)。 A. 3 B. 0 C. 9 D. -12 9、在以下一组运算符中,优先级最低的运算符是(D)。 A. * B. != C. + D. = 10、设整型变量i 值为2,表达式(++i)+(++i)+(++i)的结果是(B)。 A. 6 B. 12 C. 15 D. 表达式出错 11、若已定义x 和y为double 类型,则表达式x=1,y=x+3/2 的值是(C)。 A. 1 B. 2 C. 2.0 D. 2.5 12、设a=1,b=2,c=3,d=4,则表达式:a10 && a<15 D. !(a<=10) && !(a>=15) 14、设f是实型变量,下列表达式中不是逗号表达式的是(D)。 A. f= 3.2, 1.0 B. f>0, f<10 C. f=2.0, f>0 D. f=(3.2, 1.0) 15、表达式18/4*sqrt(4.0)/8值的数据类型是(C)。 A. int B. float C. double D. 不确定 16、已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句 C2=’A’+’6’-‘3’;后c2中的值是(A)。 A. D B. 68 C. 不确定的值 D. C 17、以下用户标识符中,合法的是(B)。 A. int B. nit C. 123 D. a+b 18、C 语言中,要求运算对象只能为整数的运算符是(A)。

c语言程序设计第三章课后答案

/*习题3 2*/ #include main() { int rate; double salary,tax; printf("enter salary:\n"); scanf("%lf",&salary); if(salary<=850) rate=0; else if(salary>850&&salary<=1350) rate=5; else if(salary>1350&&salary<=2850) rate=10; else if(salary>2850&&salary<=5350) rate=15; else rate=20; tax=rate*(salary-850)/100; printf("tax=%.2lf\n",tax); } /*习题3 4*/ #include main() { int n,i,A=0,B=0,C=0,D=0,E=0; double grade,sum=0,ave; printf("enter n:\n"); scanf("%d",&n); printf("enter n ge grade\n"); for(i=1;i<=n;i++) { scanf("%lf",&grade); sum=sum+grade; if(grade>=90&&grade<=100) A=A+1; else if(grade>=80&&grade<=89) B=B+1; else if(grade>=70&&grade<=79) C=C+1; else if(grade>=60&&grade<=69) D=D+1; else E=E+1;

数据结构(C语言版)第三章习题解答

第三章习题解答1.分别写出对链栈的入栈和出栈操作的算法。 链栈的结点类型定义如下: Typedef struct stacknode { SElemtype data; struct stacknode *next; }stacknode, *linkstack; 入栈操作: Status push( linkstack &S, SElemtype e) { p=(linkstack)malloc(sizeof(stacknode)); If (!p) return ERROR; p->data=e; p->next=S; S=p; return OK; } 出栈操作: Status pop(linkstack &S, SElemtype &e) { if (!S) return ERROR; p=s; s=p->next; free(p); return OK; }

P24/3.15 假设以顺序存储结构实现一个双向栈,即在一维数组的存储空间中存在着两个栈,它们的栈底分别设在数组的两个端点。试编写实现这个双向栈tws的三个操作:初始化inistack(tws),入栈push(tws,i,x)和出栈pop(tws,i)的算法,其中i为0或1,用以分别指示设在数组两端的两个栈,并讨论按过程(正/误状态变量可设为变参)或函数设计这些操作算法各有什么优缺点。 双栈的结构类型定义如下: typedef struct{ Elemtype *base[2]; Elemtype *top[2]; }BDStacktype; //双向栈类型 栈的初始化操作: status Init_Stack(BDStacktype &tws,int m) //初始化一个大小为m的双向栈tws { tws.base[0]=(Elemtype*)malloc(m*sizeof(Elemtype)); tws.base[1]=tws.base[0]+m-1; tws.top[0]=tws.base[0]; tws.top[1]=tws.base[1];

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

高等院校计算机基础教育规划教材《C++程序设计》课后习题参考答案 ――武汉大学出版社 习题1参考答案 一、选择题 1. A 2. D 二、填空题 1. BASIC、FORTRAN、AL_GOL60和COBOL 2. 8 3. 关键字 4. 编辑、编译、链接和运行 三、简答题 1.答: (1)C语言具有结构化的控制语句。C语言提供了结构化程序所必需的基本控制语句,实现了对逻辑流的有效控制。 (2)C语言具有丰富的数据结构类型。C语言除提供整型、实型、字符型等基本数据类型外,还提供了用基本数据类型构造出的各种复杂的数据结构,如数组、结构、联合等。C语言还提供了与地址密切相关的指针类型。此外,用户还可以根据需要自定义数据类型。(3)C语言具有丰富的运算符。C语言提供了多达34种运算符,丰富的数据类型与丰富的运算符相结合,使C语言的表达力更具灵活性,同时也提高了执行效率。 (4)C语言简洁、紧凑,使用方便、灵活,程序书写自由,有9种控制语句。 (5)C语言既具有高级语言的功能,又具有低级语言的许多功能,通常被称为中级计算机语言。它既是成功的系统描述语言,又是通用的程序设计语言。 (6)C语言与汇编语言相比,可移植性好。 (7)功能强大。C语言具有低级语言的一些功能,所以,生成目标代码质量高,程序执行效率高。现在许多系统软件都用C语言来描述,可以大大提高了编程效率。 2.答:运行一个C语言程序,一般需要经过如下几个步骤:①上机输入并编辑源程序;②编译源程序;③与库函数连接;④生成可执行目标程序;⑤运行目标程序。 3.答: (1)操作系统的设计与实现。C语言是一种应用非常广泛的结构化高级程序设计语言,既适合编写应用软件,又适合编写系统软件。

C语言程序设计(第3版)第3章习题参考答案

习题三参考答案 (1)从键盘输入一个年份值,判断是否闰年。设iYear为某一年份,iYear为闰年的条件为:iYear可以被4整除且不可以被100整除,或者iYear可以被400整除。 #include "Stdio.h" #include "Conio.h" int main(void) { int iYear; printf("please input the year:"); scanf("%d",&iYear); if(iYear%400==0||(iYear%4==0&&iYear%100!=0)) printf("%d is leap",iYear); else printf("%d is not leap",iYear); getch(); return 0; } (2)从键盘输入三个整数,按由小到大的顺序输出。 #include "stdio.h" main() {int i,j,k,max; scanf("%d%d%d",&i,&j,&k); max=i>j?i:j; max=max>k?max:k; printf("max=%d",max); getch(); } (3)假设星期一至星期五每工作一小时的工资是20元,星期六和星期日每工作一小时的工资是平时的3倍,其中工资的4.5%是税金。试编一程序从键盘输入星期序号(1,2,3,4,5,6,7,分别表示星期一至星期天)和工作小时数,计算该日的工资及应交税金。 #include "Stdio.h" #include "Conio.h" int main(void) { int iWeek,iHours ; float fSalary,fTaxes;

数据结构(c语言版)习题集答案第三章

习题三 (1)给定操作序列P1P2P3…P i…P n(P k为S或X,k=1,2,…n )是合法 的,当且仅当满足下列条件: a. 序列中包含的S的个数和X的个数相等; b. 对于任意的j(1≤j≤n);有P1P2P3…P j子序列中所包含的S 的个数大于等于X的个数; (2) 证明:设P1P2P3…P i…P n ,Q1Q2Q3…Q i…Q n是两个不同的合法序列; ∵两者不同, ∴ k=min{i| P i≠Q i , 1≤i≤n }且k>1,P k≠Q k(因P1,Q1肯定是S,否则不合法!) 即,P1P2P3…P k-1 和Q1Q2Q3…Q k-1是相等的,但P k≠Q k 由此可知:两个操作序列在前k-1步操作后输出序列和栈中所剩元素均相同,由于P k≠P k不妨设P k=X,而Q k=S; 这样,在操作序列P1P2P3…P i…P n中的第k-1步后输出的第一个元素是目前栈中的元素,而对于操作序列Q1Q2Q3…Q i…Q n中的第k-1步后输出的第一个元素是目前还在栈外的元素。所以输出序列不同。 即两个不同的合法操作序列,不可能得到相同的输出序列。 证毕!

用反证法 证明:假设存在这样的输出序列,P1…P i…P j…P k…Pn,满足i

c语言程序设计(第3版)的习题答案

1.5请参照本章例题,编写一个C程序,输出以下信息: ************ Very Goodj! ************ 解: main() { printf(" ************ \n"); printf("\n"); printf(" Very Good! \n"); printf("\n"); printf(" ************\n"); } 1.6编写一个程序,输入a b c三个值,输出其中最大者。 解:main() {int a,b,c,max; printf("请输入三个数a,b,c:\n"); scanf("%d,%d,%d",&a,&b,&c); max=a; if(max

《明解C语言》第3章 分支结构程序练习题答案

【个人观点】 练习3-1 #include int main(void) { int vx,vy; printf("请输入两个数vx、vy:"); scanf("%d%d",&vx,&vy); if(vx % vy) puts("vy不是vx的约数\n"); else puts("vy是vx的约数\n"); return (0); } 练习3-2 #include int main(void) { int vx,vy; puts("请输入两个整数:"); printf("整数:");scanf("%d",&vx); printf("整数:");scanf("%d",&vy); if(vx == vy) printf("它们相等"); else printf("它们不相等"); printf("\n"); return (0); } #include

int main(void) { int vx,vy; puts("请输入两个整数:"); printf("整数:");scanf("%d",&vx); printf("整数:");scanf("%d",&vy); if(vx > vy) printf("前者大于后者"); else printf("前者不大于后者"); printf("\n"); return (0); } 练习3-3 #include #include int main(void) { int vx,vy; puts("请输入一个整数:\n"); printf("整数:");scanf("%d",&vx); vy = fabs(vx); printf("它的绝对值是%d",vy); printf("\n"); return (0); } 【注】:用数学函数时,加上头文件#include 练习3-4 #include #include int main(void) { int vx,vy;

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.5 3、若变量已正确定义并赋值,符合C语言语法的表达式是() A)a=a+7; B) a=7+b+c,a++ C) int (12.3/4 ) D) a=a+7=c+b 4、若有定义: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)2 5、若x和n均是int型变量,且x的初值为12,n的初值为5 ,则执行表达式x%=(n%=2) 后x 的值为() A) 0 B)1 C) 2 D)3 6、假设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为() A)7 B)8 C)9 D)10 7、指出下列哪一个选项的程序是错误的() A)#include B) #include 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 D) #include 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)输出值为2 9、若变量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)2

程序设计基础-c语言-第三章程序结构-教材习题答案-科学出版社

程序设计基础-C语言(科学出版社教材) 第三章-程序结构教材习题答案 1.0编写程序使整形变量:a=3,b=4,c=5,p=0xfffe,q=0xffff;浮点型变量:x=1.2,y= 2.4,z= 3.6;无符号型变量:u=5127486,n=128765,字符型变量:c1=’a’,c2=’b’; #include void main() { int a,b,c,p,q; float x,y,z; unsigned int u,n; char c1,c2; a=3;b=4;c=5;p=0xfffe;q=0xffff; x=1.2;y=2.4;z=-3.6; u=5127486;n=128765; c1='a';c2='b'; printf("a=%d b=%d c=%d\n",a,b,c); printf("p=%#x q=%#x\n",p,q); printf("x=%f,y=%f,z=%f\n",x,y,z);

printf("x+y=%.2f y+z=%.2f x+z=%.2f\n",x+y,y+z,x+z); printf("u=%8u n=%8u\n",u,n); printf("c1='%c' or %d\n",c1,c1); printf("c2='%c' or %d\n",c2,c2); } 2.0 读入三个双精度数,求出它们的平均值并保留此平均值小数点后二位,最后输出结果。 #include void main() { double a,b,c,d; printf("请输入三个双精度数:"); scanf("%lf,%lf,%lf",&a,&b,&c); d=(a+b+c)/3; printf("d=%.2lf",d ); } 3.0 编写一个程序,要求输入三个整数值a,b,c,把c中的值赋给b, 把b中的值赋给a, 把a中的值赋给c,最后输出a,b,c.

c语言第3章练习题答案

第3章练习题 (一)标识符 1.下列可用于C语言用户标识符的一组是( )。C A) void, define, WORD B) a33,123,Car C) For, -abc, IFCase D) 2a, DO, sizeof 2.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是( )。B A) 大写字母B) 连接符C) 数字字符D) 下划线 3.下面各选项中,均是C语言合法标识符的选项组是( )。B A) 33 we auto B) _23 me _3ew C) _43 3e else D) ER -DF 32 4.以下叙述中错误的是( )。A A) 用户所定义的标识符允许使用关键字 B) 用户所定义的标识符应尽量做到"见名识意" C) 用户所定义的标识符中,大、小写字母代表不同标识 D) 用户所定义的标识符必须以字母或下划线开头 5.下面四个选项中,均是不合法的用户标识符的选项是( )。C A) c_b goto int B) A P0 do C) float la0A D) 123 temp goto 6.下列是用户自定义标识符的是( )。A A) w1 B) 3xy C) int D) LINE-3 7.以下选项中合法的标识符是( )。B A) 1_2 B) _12 C) 2-1 D) 12_ 8.以下可用作C语言用户标识符的是( )。C A) void,define,WORD B) a3b3,123,IF C) FOR,_abc,Case D) 2a,Do,Sizeof 9.正确的标识符是( )。A A) y2 B) x=8 C) z.2 D) !at 10.以下能作为C语言变量名的是( )。D A) float B) char C) do D) Double 11.请选出可用做C语言用户标识符的一组标识符( )。B A) int B) a3b3 C) For D) 2a define _123 3a DO WORD IF switch sizeof 12.下列定义变量的语句中错误的是( )。B A) int i; B) double int; C) char a; D) float cup; (二)数据类型 1.以下符合C语言语法的实型常量是( )。A A) 8E-2 B) 3.14.159E C) E14 D) 2.2E0.5 2.以下选项中不属于字符常量的是( )。A A) "E" B) 'E' C) '\xCC' D) '\072' 3.以下不合法的字符常量是( )。B A) '\"' B) '\018' C) '\xcc' D) '\\' 4.以下合法的十六进制数是( )。B A) 0x B) 0x4de C) 0x1h D) oX77 5.若有说明语句:char c='\72';则变量c( )。A

C语言课后习题答案第八章解析

作业八:函数程序设计答案 (一)选择题(30分) 1.以下正确的函数定义形式是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); 2.以下正确的函数形式是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; }(重要) 3.以下正确的说法是A__。 在C语言中A)实参和与其对应的形参各占用独立的存储单元 B)实参和与其对应的形参共占用一个存储单元 C)只有当实参和与其对应的形参同名时才共占用存储单元 D)形参是虚拟的,不占用存储单元 4.若调用一个函数,且此函数中没有return语句,则正确的说法是D__。 该函数A)没有返回值 B)返回若干个系统默认值 C)能返回一个用户所希望的函数值 D)返回一个不确定的值(重要) 5.以下不正确的说法是B__。 C语言规定A)实参可以是常量、变量或表达式 B)形参可以是常量、变量或表达式 C)实参可以为任意类型 D)形参应与其对应的实参类型一致 6.C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是B__。 A)地址传递 B)单向值传递 C)由实参传给形参,再由形参传回给实参 D)由用户指定传递方式 7.以下程序有语法性错误,有关错误原因的正确说法是C__。 main() { int G=5,k; void Prt_char(); ……

最新C语言程序设计第三版谭浩强课后习题答案完整版汇总

C语言程序设计第三版谭浩强课后习题答 案完整版

C语言程序设计第三版谭浩强 课后习题答案完整版 第一章 1.5请参照本章例题,编写一个C程序,输出以下信息: ************************** Very Good! ************************** 解: mian() {printf(“**************************”); printf(“\n”); printf(“Very Good!\n”); printf(“\n”); printf(“**************************”); } 1.6 编写一个程序,输入a、b、c三个值,输出其中最大值。 解: mian() {int a,b,c,max; printf(“请输入三个数a,b,c:\n”); scanf(“%d,%d,%d”,&a,&b,&c); max=a; if(max main() { char c1=’C’,c2=’h’,c3=’i’,c4=’n’,c5=’a’; c1+=4; c2+=4; c3+=4; c4+=4; c5+=4; printf("密码是%c%c%c%c%c\n",c1,c2,c3,c4,c5); } 运行结果: 密码是Glmre

C语言课后习题参考答案

C语言课后习题答案 第一章习题答案 一、选择题 1~5:BDCDA 6~10:DABBB 11~12:CC 二、填空题 1、main() 2、函数首部,函数体 3、函数 4、编辑、编译、连接、运行 5、.cpp、.obj、 .exe 6、; 或分号 三、编程题 #include /* 包含标准库的信息*/ void main() /* 定义名为main 的函数,它不接受参数值*/ { /* main函数的语句都被括在花括号中*/ printf("hello, world\n"); /* main 函数调用库函数printf 以显示字符序列,其中\n代表换行符*/ } 第二章习题答案 一、选择题 1~5:CBABB 6~10:CDCDD 11~15:CADBC 16~20:BDAAD 二、填空题 1、整型,实型,字符型,枚举类型 2、1 3、9 4、12353514 5、2,1 6、2,2 7、10 20 0 8、a=14 9、2,3,1 10、double 第三章习题答案

一、选择题 1~5:CBBBC 6~10:DDDBB 二、填空题 1、控制语句,表达式语句,复合语句 2、; 3、{} 4、1 5、a 6、c:dec=120,oct=170,hex=78,ASCII=x 7、32767,32767 8、10,A,10 9、3 3 10、 (1) 123.456001 (2) □□□□□□□ 123.456 (3) 123.4560 (4) 8765.456700 (5) □□□□□□ 8765.457 (6) 8765.4567 (7) 8765.4567 三、编程题 1、参考答案: #include void main() { int a,b,c; long int u,n; float x,y,z; char c1,c2; a=3;b=4;c=5; x=1.2;y=2.4;z=-3.6; u=51274;n=128765; c1='a';c2='b'; printf("\n"); printf("a=%2d b=%2d c=%2d\n",a,b,c); printf("x=%8.6f,y=%8.6f,z=%9.6f\n",x,y,z); printf("x+y=%5.2f y+z=%5.2f z+x=%5.2f\n",x+y,y+z,z+x);

相关文档
相关文档 最新文档