当前位置:文档之家› C++Primer Plus第六章编程练习

C++Primer Plus第六章编程练习

C++Primer Plus第六章编程练习
C++Primer Plus第六章编程练习

第六章编程练习

1、

#include

#include

int main()

{

using namespace std;

char ch;

cin.get(ch);

while(ch!='@')

{

if(isdigit(ch))

cin.get(ch);

else

{

if(islower(ch))

ch=toupper(ch);

else

ch=tolower(ch);

cout<

cin.get(ch);

}

}

system("pause");

return 0;

}

2、

#include

int main()

{

using namespace std;

double sum=0;

double average=0;

double num[10];

int i=0,total=0;

double tmp;

while(cin>>tmp&&i<10)

{

num[i]=tmp;

sum+=num[i];

++i;

}

if(i!=0)

average=sum/i;

for(int j=0;j

if(num[j]>average)

++total;

cout<<"这些数字的平均值为"<

cout<<"并且共有"<

system("pause");

return 0;

}

3、

#include

int main()

{

using namespace std;

cout<<"Please enter one of the following choices:\n"

<<"c)carnivore p)pianist\n"

<<"t)tree g)game\nf\n";

cout<<"Please enter a c, p, t, or g: ";

char ch;

cin>>ch;

while(ch!='c'&&ch!='p'&&ch!='t'&&ch!='g')

{

cout<<"Please enter a c, p, t, or g: ";

cin>>ch;

}

switch(ch)

{

case 'c':

cout<<"A maple is a tree.\n";

break;

case 'p':

cout<<"A maple is a pianist.\n";

break;

case 't':

cout<<"A maple is a tree.\n";

break;

case 'g':

cout<<"A maple is a game.\n";

}

system("pause");

return 0;

}

4、

#include

const int strsize=20;

struct bop

{

char fullname[strsize];

char title[strsize];

char bopname[strsize];

int preference;

};

int main()

{

std::cout<<"Benevolent Order of Programmers Report\n"

"a. display by name b. display by title\n"

"c. display by bopname d. diplay by preference\n"

"q. quit";

char ch;

bop member[5]={{"Wimp Macho","English Teacher","DEMON",0}, {"Raki Rhodes","Junior Programmer","BOOM",1},

{"Celia Laiter","Super Star","MIPS",2},

{"Hoppy Hipman","Analyst Trainee","WATEE",1},

{"Pat Hand","Police","LOOPY",2}};

std::cout<<"Enter your choice:";

while(std::cin>>ch&&ch!='q')

{

switch(ch)

{

case 'a':

for(int i=0;i<5;i++)

std::cout<

break;

case 'b':

for(int i=0;i<5;i++)

std::cout<

break;

case 'c':

for(int i=0;i<5;i++)

std::cout<

break;

case 'd':

for(int i=0;i<5;i++)

{

if(member[i].preference==0)

std::cout<

else

if(member[i].preference==1)

std::cout<

else

if(member[i].preference==2)

std::cout<

}

}

std::cout<<"Next choice: ";

}

std::cout<<"Bye!\n";

system("pause");

return 0;

}

5、

#include

int main()

{

using namespace std;

double income,revenue;

cout<<"请输入你的收入:";

while(cin>>income&&income>=0)

{

if(income<=5000)

revenue=0.0;

else if(income>5000&&income<=15000)

revenue=0.1*(income-5000);

else if(income>15000&&income<=35000)

revenue=0.1*(15000-5000)+0.15*(income-15000);

else

revenue=0.1*(15000-5000)+0.15*(35000-15000)+0.2*(income-35000);

cout<<"你的所得税为"<

cout<<"请输入你的收入:";

}

system("pause");

return 0;

}

6、

#include

#include

struct patron{

std::string name;

double money;

};

int main()

{

using namespace std;

int num,tmp=0;

cout<<"请输入捐款的人数:";

cin>>num;

cin.get();

patron *ps=new patron[num];

for(int i=0;i

{

cout<<"请输入第"<

getline(cin,ps[i].name);

cout<<"请输入第"<

cin>>ps[i].money;

cin.get();

}

cout<<"Grand Patrons:\n";

for(int i=0;i

if(ps[i].money>10000)

{

cout<

++tmp;

}

if(tmp==0)

cout<<"none\n";

cout<<"Patrons:\n";

for(int i=0;i

if(ps[i].money<=10000)

{

cout<

++tmp;

}

if(tmp==0)

cout<<"none\n";

delete [] ps;

system("pause");

return 0;

}

7、

#include

#include

int main()

{

using namespace std;

int vowel,consonant,other;

vowel=consonant=other=0;

char word[15];

cout<<"Enter words (q to quit):\n";

while(cin>>word)

{

if(isalpha(word[0]))

{

if(word[0]=='q'&&strlen(word)==1)

break;

else if(word[0]=='a'||word[0]=='i'||

word[0]=='u'||word[0]=='e'||word[0]=='o')

++vowel;

else

++consonant;

}

else

++other;

}

cout<

cout<

cout<

system("pause");

return 0;

}

8、

#include

#include

#include

int main()

{

using namespace std;

int sum=0;

ifstream inFile;

inFile.open("abc.txt");

if(!inFile.is_open())

{

cout<<"Could not open the file \n";

cout<<"Program terminating.\n";

exit(EXIT_FAILURE);

}

inFile>>ch;

while(inFile.good())

{

++sum;

inFile>>ch;

}

if(inFile.eof())

cout<<"End of file reached.\n";

else if(inFile.fail())

cout<<"Input terminated by data mismatch.\n";

else

cout<<"Input terminated for unkonwn reason.\n";

cout<<"总共有"<

system("pause");

return 0;

}

9、

#include

#include

#include

struct member

{

char name[20];

double donation;

};

{

using namespace std;

int num;

int count1=0;

int count2=0;

ifstream fin;

char file[20];

cout<<"Enter name of data file: ";

cin.getline(file,20);

fin.open(file);

if(!fin.is_open())

{

cout<<"Could not open the file-"<

cout<<"Program terminating.\n";

exit(EXIT_FAILURE);

}

fin>>num;

fin.get();

member *pd=new member[num];

for(int i=0;i

{

fin.getline(pd[i].name,20);

fin>>pd[i].donation;

fin.get();

}

cout<<"Grand Patrons:\n";

for(int i=0;i

if(pd[i].donation>=10000)

{

cout<

count1++;

}

if(count1==0)

cout<<"none\n";

cout<<"Patrons:\n";

for(int i=0;i

if(pd[i].donation<10000)

{

cout<

count2++;

}

if(count2==0)

cout<<"none\n";

delete []pd;

system("pause");

return 0;

}

c语言程序设计期末试题A(含答案)

c语言程序设计期末试题A(含答案) 一、单项选择题(选择一个最佳答案,每题2分,共20分) 1. 一个C程序的执行是从(A )。 A) 本程序的main函数开始,到main函数结束 B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C) 本程序的main函数开始,到本程序文件的最后一个函数结束 D) 本程序文件的第一个函数开始,到本程序main函数结束 2. 下列选项中,不能用作标识符的是(D )。 A) _1234_ B) _1_2 C) int_2_ D) 2_int_ 3. 以下定义语句中正确的是( C)。 A) char a='A'b='B'; B) float a=b=10.0; C) int a=10,*b=&a; D) float *a,b=&a; 4. 设有以下定义:#define d 2 int a=0; double b=1.25; char c=’A’; 则下面语句中错误的是(B)。 A) a++; B) b++ C) c++; D) d++; 5. 以下4个选项中,不能作为一条C语句的是(D)。 A) {;} B) a=0,b=0,c=0; C) if(a>0); D) if(b==0) m=1;n=2; 6. 有以下定义语句double a,b; int w; long c; 若各变量已正确赋值,则下列选项中正确的表达式是( C)。 页脚内容1

A) a=a+b=b++ B) w%(int)a+b) C) (c+w)%(int)a D) w=a==b; 7. 设有定义:int n=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是(D)。 A) p=1; B) *q=2; C) q=p; D) *p=5; 选D. A.p是一个指针,不能给它赋一个整型的值1 B.*q仍然是一个指针,*q就是p.所以也不能给它赋一个整型的值. C.q=p;q是个二级指针,p是一级指针,不能把一级指针赋给二级指针. *p=5,即给n赋值为5,正确. 8. 设有定义:int a,*pa=&a; 以下scanf语句中能正确为变量a读入数据的是( A)。 A) scanf(“%d”,pa) ; B) scanf(“%d”,a) ; C) scanf(“%d”,&pa) ; D) scanf(“%d”,*pa); 9. 若有说明:char *language[]={”FORTRAN”,”BASIC”,”PASCAL”,”JAVA”,”C”};则表达式 *language[1]>*language[2]比较的是(A)。 A)字符B和字符P B) 字符串FORTRAN和字符串BASIC C)字符F和字符B D) 字符串BASIC和字符串PASCAL 10. 执行语句for(i=1;i++<4;);后变量i的值是(C )。 A) 3 B)4 C) 5 D) 不定 一、填空题(每空2分,共18分) 1. 若有定义:int a=7;float x= 2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值为2.5。 页脚内容2

c++primerplus中文版第六版源代码

C++ primer plus 中文版第六版源代码 第二章到第四章,后续继续更新……… 第二章 1:#include void main() { using namespace std; int carrots; carrots=25; cout<<"I have "; cout<

2:#include int stonetolb(int); int main() { using namespace std; int stone; cout<<"Enter the weight in stone: "; cin>>stone; int pounds=stonetolb(stone); cout< void main()

{ using namespace std; int carrots; carrots=25; cout<<"How many carrots do you have?"<>carrots; cout<<"Here are two more."; carrots=carrots+2; cout<<"Now you have "< using namespace std; void main() { cout<<"Come up and C++ me some time.";

C语言程序设计期末考试选择题题库

第一章1、一个C程序可能出现的错误有(A)A,以上都包括 B,逻辑错误 C,运行错误 D,语法错误 2、C程序中一般可以包含几个函数(D) A.1个 B.多个 C.0个 D.至少一个 3.C语言属于程序设计语言的哪个类别(B) A.机器语言 B.高级语言 C.面向对象语言 D.汇编语言 4.以下关于C语言描述错误的是(B) A.一个C程序总是从main函数开始执行 B.一个C程序可以包含多个main函数 C.每个语句的最后必须有一个分号 D.C语言的注释符是以"/*"开始并以"*/"结束

5、在调试过程中,逻辑错误是指(C) A.所书写的语句,不符合C的语法。 B.在从obj生成exe文件的过程中,如果函数名书写错误,可能产生的错误。 C.程序的运行结果不符合题目要求。 D.在exe文件的执行过程中,产生运行异常。 第二章 1、16位的二进制数可以表示的整数的范围是(C) A.[-32768,32768] B.[-32767,32768] C.[-32768,32767] D.[-32767,32767] 2、C语言中的实型数据包括(A) A.float和double B.int和float C.float和char D.int和double 3、以下不合法的字符常量是(C) A.'2' B.'A' C.'ab'

4、在以下各组标识符中,均是合法的C语言标识符是(A) A.abc,A_4d,_student,xyz_abc B.auto,12-a,a_b,ab5.x C.A_4d,_student,xyz_abc,if D.abc,a_b,union,scan 5、若有定义:chara;intb;floatc;doubled; 则表达式a*b+d-c值的类型为(A) A.char B.float C.double D.int 6、类型修饰符unsigned不能修饰(D) A.char B.longint C.int D.float 7、若有定义:doublex=1,y; 执行语句,则y的值是(B) A,1 B,2.0

C Primer Plus第6版编程练习答案

Chapter 2 Programming Exercises PE 2--‐1 /* Programming Exercise 2-1 */ #include <> int main(void) { printf("Gustav Mahler\n"); printf("Gustav\nMahler\n"); printf("Gustav "); printf("Mahler\n"); return 0; } PE 2--‐3 /* Programming Exercise 2-3 */ #include <> int main(void) { int ageyears; /* age in years */ int agedays; /* age in days */ /* large ages may require the long type */ ageyears = 101; agedays = 365 * ageyears; printf("An age of %d years is %d days.\n", ageyears, agedays); return 0; } PE 2--‐4 /* Programming Exercise 2-4 */ #include <> void jolly(void); void deny(void); int main(void) { jolly(); jolly(); jolly(); deny(); return 0; } void jolly(void) { printf("For he's a jolly good fellow!\n"); } void deny(void) { printf("Which nobody can deny!\n"); } PE 2--‐6 /* Programming Exercise 2-6 */ #include <> int main(void) { int toes; toes = 10; printf("toes = %d\n", toes);

c语言程序设计期末试题B(含答案)

c语言程序设计期末试题B(含答案) 一单项选择题(每小题1分,共10分) 1. A 2. C 3. D 4. A 5. B 1.以下4组用户定义标识符中,全部合法的一组是() A)_total clu_1 sum B)if -max turb C)txt REAL 3COM D)int k_2 _001 2.以下程序的输出结果是() #include main( ) { int a = 1, b = 2, c = 3; printf(“%d”, c>b>a); } A) 2 B) 1 C) 0 D) 3 3.以下正确的叙述是() A) 在C语言中,main函数必须位于文件的开头 B) C语言每行中只能写一条语句 C) C语言本身没有输入、输出语句 D) 对一个C语言进行编译预处理时,可检查宏定义的语法错误 4.设有定义:int a,*pa=&a; 以下scanf语句中能正确为变量a读入数据的是() A)scanf("%d",pa); B)scanf("%d",a); C)scanf("%d",&pa); D)scanf("%d",*pa); 5.若有以下程序段, int c1=1,c2=2,c3; c3=1.0/c2*c1; 则执行后,c3中的值是() A) 0 B) 0.5 C) 1 D) 2 6. D 7. D 8. A 9. C 10. D 6.能正确表示逻辑关系:“a≥=10或a≤0”的C语言表达式是() A) a>=10 or a<=0 B)a>=0|a<=10 C)a>=10 &&a<=0 D)a>=10‖a<=0 7.执行下面的程序时,将1、2、3、4分别赋给a、b、c、d,正确的输入是() main( ) { int a,b,c,d; scanf(“%d,%d,%d%d”,&a,&b,&c,&d); … } A)1 2 3 4 B)1 2 3,4 C) 1,2,3,4 D) 1,2,3 4

C语言程序设计期末考试试题及答案知识分享

C语言程序设计试题 (2008 /2009 学年第二学期) 一.选择题(满分30分,每题2分) 1.若a、b、c都定义为int类型且初值为0,则以下不正确的赋值语句是 D 。 A. a=b=c+8; B. a+=y+3; C. c++; D. a+b+c 2. 已知int j,i=1;执行语句“j=i++;”后,变量i的值是 B 。 A. 1 B. 2 C. –1 D. -2 3.执行下面程序: #include "stdio.h" void main() { int a=1,b=2,c=3; c=(a+=a+2),(a=b,b+3); printf(“%d,%d,%d”,a,b,c); } 则输出结果是: A 。 A. 2,2,4 B. 4,2,3 C. 5,5,3 D. 4,2,5 4.若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为 D 。 A. a< >0 B. !a C. a=0 D. a 5. for (j=0;j<11;j++);循环结束后,j的值是 B 。 A. 12 B. 11 C. 10 D. 9 6. C语言中函数返回值的类型由 D 决定的。 A. return语句中的表达式类型 B. 调用该函数的主调函数的类型 C. 调用函数时临时决定 D. 定义函数时所指定的函数类型 7. 下列说法中正确的是 B 。 A 在调用用户自定义函数时,必须对其进行声明。 B 函数可以返回一个值,也可以什么值也不返回。 C 说明函数时,必须明确参数的类型和返回值。 D 在程序设计中空函数没有什么作用。8. 若int i=10;执行下列程序后,变量i的正确结果是 D 。 switch ( i ) {case 0: i+=1; case 10: i+=1; case 11: i+=1; default: i+=1; } A. 10 B. 11 C. 12 D. 13 9. 下列语句中不正确的字符串赋值或初始化的是 C 。 A. char str[10]={"strings"}; B.char str[8]={'s','t','r','i','n ','g','s','\0'}; C. char str[10]; str= "strings"; D. char str[]= "strings"; 10. 有如下程序: #include void main() { int a=1,b=0,c=0; if (a

C Primer Plus (第六版)中文版 6.16编程练习

//******************6.15复习题************************** //*********** 6 ************************** #include int main(void) { int i, j; for (i = 0; i < 4; i++) //外层循环控制行内层循环控制列 { for (j = 0; j < 8; j++) { printf("$"); } printf("\n"); } return 0; } //******************6.16 编程练习 ************************** //****************** 一 ************************** #include #define SIZE 26 int main(void) { char array[SIZE]; int index = 0; array[0] = 'a'; printf("%c", array[0]); for (index = 1; index < SIZE; index++) { array[index] = 'a' + index; printf("%c", array[index]); } return 0; } //****************** 二 ************************** #include int main(void)

{ int i, j;//i控制行,j控制列计数作用 for (i = 0; i < 5; i++) { for (j = 0; j < =i ; j++) { printf("$"); } printf("\n"); } return 0; } //****************** 三 ************************** #include int main(void) { int i;//外层循环控制行 int j;//内层循环控制列 char ch = 'F'; for (i = 0; i < 6; i++) { for (j = 0; j <= i; j++) printf("%c", ch-j ); printf("\n"); } return 0; } //****************** 四 ************************** #include int main(void) { int i;//外层循环控制行 int j;//内层循环控制列 char ch = 'A'; for (i = 0; i < 6; i++) { for (j = 0; j <= i; j++) printf("%c", ch++ ); printf("\n");

C语言程序设计期末考试样卷

2008年C语言程序设计期末考试样卷 一、填空题 1、C语言程序从函数开始执行。 2、关系运算的结果得一个整数值:或者。 3、已知int a[ ]={0,1,2,3,4,5}; ,则它的最大下标是。 4、结构化程序的3种基本结构是,和。 5、若a1和a2都是double型变量,且a1的初值为3.0,a2的初值为2.0,则表达式pow(a2,fabs(a1))的值为。 6、表达式“8.2-2/3”的计算结果是。 7、若有定义:int a=25, b=14, c=19; 则表达式(a=bb?c:d):c)的值是。 8、设有以下结构体定义 struct emp { char name[8]; int age; char sex; }staff; 则用户定义的结构体类型名为。 9、表达式5>3&&2||8<4-!1的值。 10、已知int a[10]; ,则a占用内存个字节的存储单元,代表他们的首地址是 。 11、将str定义为字符数组并初始化为“Lei”的语句是。 12、设有定义:int n, *k=&n; ,以下语句利用指针变量k读写变量n中的内容,请将下列语句补充完整。scanf(“%d”, ); printf(“%d\n”, ); 13、设y是int型变量,请写出判断y为奇数的关系表达式:。 14、设有以下变量定义,并已赋确定值 char w; int x; float y; double z; 则表达式w*x+z-y所求得的数据类型为。 15、设i、j、k均为int型变量,则执行完下面的for循环后,k的值为。 for(i=0, j=10; i<=j; i++, j--) k=i+j; 16、语句:x++; ++x; x=x+1; x=1+x; 执行后都使变量x中的值增1,请写出一条相同功能的赋值语句(不得与列举的相同):。 17、设a,b,c均为整型数,且a=1,b=2,c=3,则语句a-=a+(++b)+(c--);被执行后a的值是。 18、若有定义“int a[2][3] = {1,3,5,7,9,11}; ”则a[1][0]的值是,*(*(a +1)+2))的值是。 19、设X为int型变量,请写出描述“X是偶数”的表达式是:。 20、C语言提供的三种逻辑运算符是、和!; 二、选择题 (1) 以下非法的赋值语句是 A) n=(i=2,++i); B)j++; C) ++(i+1); D)x=j>0; (2) 设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是

CPrimerPlus第6版中文版勘误表

注意:下面的勘误中,红色字体为修改后的文字,提请各位读者注意。 第 6 页,” 1.6 语言标准”中的第 3 行,将 1987 年修改为 1978 年。 第 22 页,” 2. main ()函数”中的第 1 行, int main (void ) 后面的分号( ; )删除。 第 24 页,“5. 声明”的第 10 行,也就 是一个变量、函数或其他实体的名称。 第 27 页,图 2.3 中,下划线应该只包含括号中的内容;第 2 段的第 4 行,而不是存储 在 源代码 中的指令。 第 30页,“2.5.4 打印多个值”的第 4行,双引 号后面的第 1 个变量。 第 34页,“2.7.3 程序状态”第 2段的第 4 行,要尽量忠实 于代码来模拟。 第 35页,“2.10 本章小结”第 2段的第 1句,声明 语句为变量指定变量名, 并标识该变量中存 储的数据类型;本页倒数第 2 行,即 检查程序每执行一步后所有变量的值。 第37页,“2.12编程练习”中第1题,把你的名和姓打印在一行……把你的 名和姓分别打印在 两行……把你的 名和姓打印在一行……把示例的内容换成你的 名字。 第 40 页,第 1 行,用于把英 磅常衡盎司转换为… … 第44页,“3.4 C 语言基本数据类型”的第 1句,本节将 详细介绍C 语言的基本属性类型…… 第 46页,“5. 八进制和十六进制”的第 4句,十六进制数 3的二进制数 是 0011,十六进制数 5 的二进制数 是 0101;“6. 显示八进制和十六进制”的第 1 句,既可以使用 也可以 显示不同进制 的数;将“回忆一下……程序在执行完毕后不会立即关闭执行窗口”放到一个括号里。 第 47页,“2. 使用多种整数类型的原因”第 3句,过去的一台运行 Windows 3.x 的机器上。 第 53 页,图 3.5 下面的第 4 行“上面最后一个例子( printf ( “ ” a \\ is a backslash. ” \n ” ); )” 第 56页,正文的第 2行和第 4行应该分别为 printf ( “me32 = %““d”“\n ”, me32); printf ( “me32 = %d\n ” , me32); 第 61 页,“无符号类型”的最后 1 句,相当于 unsigned int (即两者之间添加一个空格 )。 第 62 页,程序清单 3.8 中的第 1 行,将 //* typesize.c -- 打印类型大小 */ 中的第一个斜杠删 除。 第 63页,“3.6 参数和陷阱”第 2行, printf ( “ Hello,pal. ” )(即 Hello, 和 pal. 之间没有空 格)。 第 64 页,程序清单 3.10 中的第 1 行,使用 转义序列。 第 75 页,倒数第 8行, 何时使用圆括号 取决于运算对象是类型还是特定量。 第82页,第11行, . 格式字符串包含了两个待打印项 number 和pies 对应的 ..... 第83页,表4.4中的“ L”修饰符的含义介绍中,应该是示例: ” %L ”、“%10.4Le” 第 84 页,表 4.5 中的第 1 行,即,从字段的左侧开始打印该 项(即,应该只保留一个 项);在 “ 0”标记的含义中,添加一行: 示例:"%010d"和"%08.3f"。 第86页,第1段的第2行,……字段宽度是容纳 待打印数字所需的……; 倒数第4段中,根据%x 打印出1f,根据%打印出1F 第87页,“4.4.4转换说明的意义”第 2段,……读者认为原始值 被替换成转换后的值。 第89页,“参数传递”第2行,把变量n1、n2、n3和n4的值传递给程序(即,保留一个顿号)。 第 93页,第 5行的 2121.45 的字体应该与第 4行的 42 的字体保持一致;表 4.6 上面的最后一 行,对于 double 类型要使用 1 修饰符。 第 94 页,表中的第 3 行,把对应的数值存储为 unsigned short int 类型;把“ j ”转换说明的 示例 放到“ z ”转换说明中;在“ j ”转换说明的含义中添加:示例:” %jd”、” %ju”。 第95页,“3.scanf () 的返回值”上面一段的倒数第 3行,如果在格式字符串中把空格放到 %c 的前面 。 第98页,倒数第2段,strlen () 函数(声明在string.h 头文件中)可用于 ... 。 第 100 页,” 4.8 编程练习”中的第 2 题,将该题中的“名和姓”统一替换为“名字” ;并执行 以下 操作;第 3题,将 a 、 b 项中的“输入”替换为” The input is ”,将“或”替换为“ or”, 将末尾1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30.

C语言程序设计期末考试及答案

第一次试验1.编写一个程序,求出给定半径r的圆的面积和周长,并且输 出计算结果。其中:r的值由用户输入,用浮点型数据处理。 #include<> voidmain() { floatPI=; floatr,area,perim; printf("请输入圆的半径:\n"); printf("r="); scanf("%f",&r); } 2.给一百分制成绩,要求输出成绩等 级’A’、’B’、’C’、’D’、’E’。90分以上 为’A’,80~89分为’B’,70~79分为’C’,60~69分为’D’,60分以下为’E’。 #include<> voidmain() { intiNum; printf("请输入分数:"); scanf("%d",&iNum); switch(iNum/10) { case10: case9:printf("学生成绩A\n");break; case8:printf("学生成绩B\n");break; case7:printf("学生成绩C\n");break; case6:printf("学生成绩D\n");break; default:printf("学生成绩E\n");break; } }

3. 输入两个正整数m 和n ,求其最大公约数和最小公倍数。 #include<> intmain() { intp,r,n,m,temp; 4. printf("请输入两个正整数n,m:");.a (n 个a )之值,其中a 是一个数字。例如:2+22+222+2222+22222(此时n=5),n 由键盘输入。 #include<> intmain(void) { intsum=0; intsun=0; inta; intn; inti=0; printf("请入入a 值(整数):\n"); printf("a="); scanf("%d",&a); printf("请入入n 值:\n"); printf("n="); scanf("%d",&n); while(i

C Primer Plus第6版中文版勘误表教学提纲

C P r i m e r P l u s第6版中文版勘误表

注意:下面的勘误中,红色字体为修改后的文字,提请各位读者注意。 1.第6页,” 1.6语言标准”中的第3行,将1987年修改为1978年。 2.第22页,” 2. main()函数”中的第1行,int main (void)后面的分号(;)删除。 3.第24页,“5. 声明”的第10行,也就是一个变量、函数或其他实体的名称。 4.第27页,图2.3中,下划线应该只包含括号中的内容;第2段的第4行,而不是存储在源代 码中的指令。 5.第30页,“2.5.4 打印多个值”的第4行,双引号后面的第1个变量。 6.第34页,“2. 7.3 程序状态”第2段的第4行,要尽量忠实于代码来模拟。 7.第35页,“2.10 本章小结”第2段的第1句,声明语句为变量指定变量名,并标识该变量中存 储的数据类型;本页倒数第2行,即检查程序每执行一步后所有变量的值。 8.第37页,“2.12 编程练习”中第1题,把你的名和姓打印在一行……把你的名和姓分别打印在 两行……把你的名和姓打印在一行……把示例的内容换成你的名字。 9.第40页,第1行,用于把英磅常衡盎司转换为…… 10.第44页,“3.4 C语言基本数据类型”的第1句,本节将详细介绍C语言的基本属性类型…… 11.第46页,“5. 八进制和十六进制”的第4句,十六进制数3的二进制数是0011,十六进制数5 的二进制数是0101;“6.显示八进制和十六进制”的第1句,既可以使用也可以显示不同进制的数;将“回忆一下……程序在执行完毕后不会立即关闭执行窗口”放到一个括号里。 12.第47页,“2.使用多种整数类型的原因”第3句,过去的一台运行Windows 3.x的机器上。 13.第53页,图 3.5下面的第4行“上面最后一个例子(printf(“Gramps sez, \”a \\ is a backslash.\”\n”);)” 14.第56页,正文的第2行和第4行应该分别为printf(“me32= %“ “d” “\n”, me32); printf(“me32 = %d\n”, me32); 15.第61页,“无符号类型”的最后1句,相当于unsigned int(即两者之间添加一个空格)。 16.第62页,程序清单3.8中的第1行,将//* typesize.c -- 打印类型大小*/中的第一个斜杠删除。 17.第63页,“3.6参数和陷阱”第2行,printf(“Hello,pal.”)(即Hello,和pal.之间没有空格)。 18.第64页,程序清单3.10中的第1行,使用转义序列。 19.第75页,倒数第8行,何时使用圆括号取决于运算对象是类型还是特定量。 20.第82页,第11行,……格式字符串包含了两个待打印项number和pies对应的…… 21.第83页,表4.4中的“L”修饰符的含义介绍中,应该是示例:”%L f”、“%10.4L e” 22.第84页,表4.5中的第1行,即,从字段的左侧开始打印该项(即,应该只保留一个项); 在“0”标记的含义中,添加一行:示例:"%010d"和"%08.3f"。 23.第86页,第1段的第2行,……字段宽度是容纳待打印数字所需的……;倒数第4段中,根 据%x打印出1f,根据%X打印出1F 24.第87页,“4.4.4转换说明的意义”第2段,……读者认为原始值被替换成转换后的值。 25.第89页,“参数传递”第2行,把变量n1、n2、n3和n4的值传递给程序(即,保留一个顿 号)。 26.第93页,第5行的2121.45的字体应该与第4行的42的字体保持一致;表4.6上面的最后一 行,对于double类型要使用1修饰符。 27.第94页,表中的第3行,把对应的数值存储为unsigned short int类型;把“j”转换说明的示例 放到“z”转换说明中;在“j”转换说明的含义中添加:示例:”%jd”、”%ju”。

C语言程序设计期末考试试卷(A卷)

一、单项选择题(本大题共20题,每题2 分,共40分) 1、以下不是C语言的特点的是。 A、C语言简洁、紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件进行操作 D、C语言移植性好 2、以下不正确的C语言标识符是 A、ABC B、abc C、a_bc D、ab.c 3、一个C语言程序是由。 A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是 A、有零个或多个输入 B、有零个或多个输出 C、有穷性 D、可行性 5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为 A、int B、float C、double D、不确定 6、在C语言中,char型数据在内存中的存储形式是。 A、补码 B、反码 C、源码 D、ASCII码 7、有如下程序,输入数据:12345M678<cR>后(表示回车),x的值是。#include main(){ int x; float y; scanf("%3d%f",&x,&y); } A、12345 B、123 C、45 D、345 8、若有以下定义int a,b; float x,则正确的赋值语句是。 A、a=1,b=2 B、b++; C、a=b=5 D、b=int(x); 9、以下程序的执行结果是。 #include { int i=10,j=10; printf("%d,%d\n",++i,j--); } A、11,10 B、9,10 C、11,9 D、10,9

C语言程序设计期末考试试题(含答案)

C语言程序设计 期末考试试题及其答案 一、单项选择题(本大题共20题,每题2 分,共40分) 1、以下不是C语言的特点的是( ) A、C语言简洁、紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件进行操作 D、C语言移植性好 2、以下不正确的C语言标识符是( ) A、ABC B、abc C、a_bc D、ab.c 3、一个C语言程序是由( ) A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( ) A、有零个或多个输入 B、有零个或多个输出 C、有穷性 D、可行性 5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( ) A、int B、float C、double D、不确定 6、在C语言中,char型数据在内存中的存储形式是( ) A、补码 B、反码 C、源码 D、ASCII码 7、有如下程序,输入数据:12345M678<cR>后(表示回车),x的值是( ) 。 #include main(){ int x; float y; scanf("%3d%f",&x,&y); } A、12345 B、123 C、45 D、345 8、若有以下定义int a,b; float x,则正确的赋值语句是( ) A、a=1,b=2 B、b++; C、a=b=5 D、b=int(x); 9、以下程序的执行结果是( )

#include { int i=10,j=10; printf("%d,%d\n",++i,j--); } A、11,10 B、9,10 C、11,9 D、10,9 10、巳知字母A的ASCII码是65,以下程序的执行结果是( ) #include main() { char c1='A',c2='Y'; printf("%d,%d\n",c1,c2); A、A,Y B、65,65 C、65,90 D、65,89 11、下列运算符中优先级最高的是( ) A、< B、十 C、% D、!= 12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。 A、’x’&&’y’ B、x<=y C、x||y+z&&y-z D、!((x<y)&&!z ||1) 13、判断char型变量cl是否为小写字母的正确表达式为( ) A、’a’<=c1<=f’z’ B、(c1>=a)&&(c1<=z) C、(‘a’>=c1) (‘z’<=c1) D、(c1>=’a’)&&(c1<=’z’) 14、字符串"a"在内存中占据的字节个数为( ) A、0 B、 1 C、 2 D、 3 15、下面有关for循环的正确描述是( ) A、for循环只能用于循环次数已经确定的情况 B、for循环是先执行循环体语句,后判定表达式 C、在for循环中,不能用break语句跳出循环体 D、for循环体语句中,可以包含多条语句,但要用花括号括起来 16、下面程序的运行结果是( ) #include main() {int num=0; while(num<=2) {num++; printf(“%d ,num); } } A、 1 B、 1 2 C、 1 2 3

C语言程序设计期末考试试题及答案

C 语言程序设计 试 题 (2008 /2009 学年 第 二 学期) 一. 选择题(满分30分,每题2分) 1.若a 、b 、c 都定义为int 类型且初值为0,则以下不正确的赋值语句是 D 。 A. a=b=c+8; B. a+=y+3; C. c++; D. a+b+c 2. 已知int j ,i=1;执行语句“j=i++;”后,变量i 的值是 B 。 A. 1 B. 2 C. –1 D. -2 3.执行下面程序: #include "stdio.h" void main() { int a=1,b=2,c=3; c=(a+=a+2),(a=b,b+3); printf(“%d,%d,%d ”,a,b,c); } 则输出结果是: A 。 A. 2,2,4 B. 4,2,3 C. 5,5,3 D. 4,2,5 4.若要求在if 后一对圆括号中表示a 不等于0的关系,则能正确表示这一关系的表达式为 D 。 A. a< >0 B. !a C. a=0 D. a 5. for (j=0;j<11;j++);循环结束后,j 的值是 B 。 A. 12 B. 11 C. 10 D. 9 6. C 语言中函数返回值的类型由 D 决定的。 A. return 语句中的表达式类型 B. 调用该函数的主调函数的类型 C. 调用函数时临时决定 D. 定义函数时所指定的函数类型 7. 下列说法中正确的是 B 。 A 在调用用户自定义函数时,必须对其进行声明。 B 函数可以返回一个值,也可以什么值也不返回。 C 说明函数时,必须明确参数的类型和返回值。 D 在程序设计中空函数没有什么作用。 8. 若int i=10;执行下列程序后,变量i 的正确结果是 D 。 switch ( i ) {case 0: i+=1; case 10: i+=1; case 11: i+=1; default: i+=1; } A. 10 B. 11 C. 12 D. 13 9. 下列语句中不正确的字符串赋值或初始化的是 C 。 A . char str[10]={"strings"}; B.char str[8]={'s','t','r','i','n ','g','s','\0'}; C. char str[10]; str= "strings"; D. char str[]= "strings"; 10. 有如下程序: #include void main() { int a=1,b=0,c=0; if (a

c++ primer plus(第六版)第二至第六章课后编程练习全部答案

第二章:开始学习C++ //ex2.1--display your name and address #include int main(void) { using namespace std; cout<<"My name is liao chunguang and I live in hunan chenzhou.\n”;} //ex2.2--convert the furlong units to yard uints-把浪单位换位码单位 #include double fur2yd(double); int main() { using namespace std; cout<<"enter the distance measured by furlong units:"; double fur; cin>>fur; cout<<"convert the furlong to yard"< void mice(); void see(); using namespace std; int main() { mice(); mice(); see(); see(); return 0; }

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