C++习题

合集下载

c练习题(带答案)

c练习题(带答案)

一、选择题1.C++语言属于( C )。

A)自然语言B)机械语言C)面向对象语言D)汇编语言2.下面选项中不属于面向对象程序设计特点的是(C) 。

A)继承性B)多态性C)相似性D)封装性3.可用作C++语言用户标识符的一组标识符是( B )。

A)void define +WORD B)a3_b3 _123 YNC)for -abc Case D)2a DO sizeof4.假定一个二维数组的概念语句为“int a[3][4]={{3,4},{2,8,6}};”,那么元素a[2][1]的值为(A)。

A)0 B)4 C)8 D)65.以下情形中,哪一种情形可不能挪用拷贝构造函数( B )A)用派生类的对象去初始化基类对象时B)将类的一个对象赋值给该类的另一个对象时C)函数的形参是类的对象,挪用函数进行形参和实参结合时D)函数的返回值是类的对象,函数执行返回挪用者时6.以下哪一关键字可用于重载函数的区分(C)A)extern B)static C)const D)virtual7.以下有关数组的表达中,正确的选项是( B )A)C++中数组的存储方式为列优先存储B)数组名能够作为实参赋值给指针类型的形参C)数组下标索引从1开始,至数组长度n终止D)数组指针的语法形式为:类型名*数组名[下标表达式];8.以下有关继承和派生的表达中,正确的选项是( C)A)派生类不能访问通过私有继承的基类的珍惜成员B)多继承的虚基类不能够实例化C)假设是基类没有默许构造函数,派生类就应当声明带形参的构造函数D)基类的析构函数和虚函数都不能够被继承,需要在派生类中从头实现9.实现运行时多态的机制是( A )A)虚函数B)重载函数C)静态函数D)模版函数10.如有下面的函数挪用:fun(a+b, 3, max(n-1, b));其中实参的个数是(A)A)3 B)4 C)5 D)611.以下关于this指针的说法正确的选项是(B)A)this指针存在于每一个函数当中B)在类的非静态函数中this指针指向挪用该函数的对象C)this指针是指向虚函数表的指针D)this指针是指向类的函数成员的指针12.在以下关于C++函数的表达中,正确的选项是(C)A)每一个函数至少要有一个参数B)每个函数都必须返回一个值C)函数在被挪用之前必需先声明D)函数不能自己调用自己13.以下运算符中,不能重载的是(C)A)&& B)!= C). D)->14.下面程序的输出结果是(B)#include <iostream>using namespace std;int i = 0;int fun(int n){static int a = 2;a++;return a+n;}void main(){int k = 5;{int i = 2;k += fun(i);}k += fun(i);cout << k;}A)13 B)14 C)15 D)1615.下面的程序段的运行结果为(D)char str[] = "job", *p = str;cout << *(p+2) << endl;A)98 B)无输出结果C)字符’b’的地址D)字符’b’16.下面程序的输出结果是( C )#include <iostream>using namespace std;class A{public:A (int i) { x = i; }void dispa () { cout << x << “,”; }private :int x ;};class B : public A{public:B(int i) : A(i+10) { x = i; }void dispb() { dispa(); cout << x << endl; } private :int x ;};void main(){B b(2);();}A)10,2 B)12,10 C)12,2 D)2,2 17.下面程序的输出结果是(C)#include <iostream>using namespace std;class Base{public:Base(int i) { cout << i; }~Base () { }};class Base1: virtual public Base{public:Base1(int i, int j=0) : Base(j) { cout << i; } ~Base1() {}};class Base2: virtual public Base{public:Base2(int i, int j=0) : Base(j) { cout << i; }~Base2() {}};class Derived : public Base2, public Base1{public:Derived(int a, int b, int c, int d) : mem1(a), mem2(b), Base1(c),Base2(d), Base(a){ cout << b; }private:Base2 mem2;Base1 mem1;};void main() { Derived objD (1, 2, 3, 4); }A)134122 B)123412 C)D)14321218.下面程序的输出结果是(C)#include <iostream>using namespace std;class Base{public:virtual void f() { cout << “f0+”; }void g() { cout << “g0+”; }};class Derived : public Base{public:void f() { cout << “f+”; }void g() { cout << “g+”; }};void main() { Derived d; Base *p = &d; p->f(); p->g(); }A)f+g+ B)f0+g+ C)f+g0+ D)f0+g0+19.下面程序的输出结果是( C )#include <iostream>using namespace std;class Sample{friend long fun (Sample s){if < 2) return 1;return * fun(Sample);}public:Sample (long a) { x = a; }private:long x;};void main(){int sum = 0;for (int i=0; i<4; i++){sum += fun(Sample(i));}cout << sum;}A)12 B)16 C)10 D)3420.以下程序的输出结果是:(D)#include <iostream>using namespace std;int fun(char *s){ char *p=s;while (*p!='\0') p++;return (p-s);}void main(){cout<<fun("abc")<<endl;}A.0 B. 1 C. 2 D. 3 21.有如下程序段:int i=1;while(1){i++;if (i==10) break;if(i%2==0) cout<<’*’;}执行那个程序段输出字符*的个数是(C)A. 10B. 3C. 422.以下关于虚基类的描述中,错误的选项是(C)A. 使用虚基类可以消除由多继承产生的二义性B. 构造派生类对象时,虚基类的构造函数只被调用一次C. 声明class B:virtual public A 说明类B为虚基类D. 建立派生类对象时,首先调用虚基类的构造函数23.有下类概念Class A {Char *a;Public:A():a(0){}A(char *aa) {new char[strlen(aa)+1] B. char[strlen(aa)+1]C. char[strlen(aa)]D. new char[sizeof(aa)-1]24.假定AA为一个类,a为该类私有的数据成员,GetValue( )为该类公有函数成员,它返回a的值,x为该类的一个对象,那么访问x对象中数据成员a的格式为(X)。

c编程练习题(打印版)

c编程练习题(打印版)

c编程练习题(打印版)C语言编程练习题一、基础练习1. 编写一个程序,计算并输出两个整数的和、差、乘积和商。

提示:使用scanf函数输入两个整数,使用算术运算符进行计算。

2. 编写一个程序,计算并输出一个圆的面积。

提示:圆的面积公式为A = π * r * r,其中 r 是圆的半径。

3. 编写一个程序,计算并输出一个矩形的周长和面积。

提示:矩形的周长公式为 P = 2 * (l + w),面积公式为 A = l * w,其中 l 是长度,w 是宽度。

4. 编写一个程序,判断一个整数是奇数还是偶数。

提示:使用模运算符 % 来判断。

二、控制结构练习1. 编写一个程序,根据用户输入的分数,输出对应的等级。

提示:90分以上为 A,80-89分为 B,70-79分为 C,60-69分为D,60分以下为 F。

2. 编写一个程序,实现简单的猜数字游戏。

提示:程序随机生成一个1到100之间的整数,用户输入猜测的数字,程序根据用户输入给出提示(太高、太低或正确)。

3. 编写一个程序,实现一个简单的计算器。

提示:程序提示用户输入运算符(+、-、*、/)和两个操作数,然后输出计算结果。

三、数组练习1. 编写一个程序,实现对一个整数数组的排序。

提示:可以使用冒泡排序、选择排序或插入排序算法。

2. 编写一个程序,找出一个字符串数组中最长的字符串。

提示:遍历字符串数组,比较每个字符串的长度。

3. 编写一个程序,实现字符串的反转。

提示:可以使用数组的索引特性来实现。

四、函数练习1. 编写一个函数,计算一个数的阶乘。

提示:使用递归或循环来实现。

2. 编写一个函数,实现字符串的复制。

提示:不使用库函数,手动复制字符串。

3. 编写一个函数,判断一个字符串是否为回文字符串。

提示:回文字符串是指正读和反读都一样的字符串。

五、指针练习1. 编写一个程序,使用指针交换两个整数的值。

提示:注意指针变量的赋值和解引用。

2. 编写一个程序,实现字符串的连接。

C习题及答案

C习题及答案

第一、二章习题1.关于C++语言,下列说法不正确的是A.C++具有简洁、高效和接近汇编语言的特点B.C++本身几乎没有支持代码重用的语言结构C.C++语言不是一种纯面向对象的语言D.C++支持面向对象的程序设计,这是它对C的重要改进B2.使用关键字________说明的函数为内联函数。

inline3.C++支持两钟多态性,即________和________。

编译时的多态性运行时的多态性4.在下面横线处填上适当字句,使程序输出结果为5,10 # include <iostream.h>void main(){________int n=5;int& ________=n;ref=ref+5;cout<<n<<”,”<<ref;}const ref5.const int *p;表明A.p本身是常量B.p指向一个固定的int类型的地址,而p的内容可以修改C.p只能指向一个整型常量D.p只能指向一个被const修饰的int类型的常量C6.数据封装给数据提供了与外界联系的________,只有通过这些________,使用规范的方式,才能访问数据。

标准接口接口7.在下面横线处填上适当字句,使程序完整。

int arr[]={1,2,3,4,5};________index(int i){return a[i];}void main(){index(3)= ________;//将a[3]改为6}int & 68.#include <iostream.h>void main(){int *p,i,j;cin>>j;//输入4p=new int[j];if(!p){cout<<”Allocation error\n”;} for(i=0;i<j;i++)p[i]=i;for(i=0;i<j;i++)cout<<p[i]<<““; cout<<endl;delete []p;}输出为:4(这是输入的数据)0 1 2 39.#include <iostream.h>void comp(const int&,int&);int main(){int n=6,t=10;cout<<”n=”<<n<<”,t=”<<t<<endl;comp(n,t);cout<<”n=”<<n<<”,t=”<<t<<endl;return 0;}void comp(const&in1,int &in2){in2=in1*10+in2;}输出为:n=6, t=10n=6,t=7010.下列属于C++头文件约定使用的扩展名的是i..cppii..hppiii..civ..c++B11.C++提供了一种新的注释方式:从“//”开始,直到________,都被计算机当做注释。

c练习题(1)

c练习题(1)

1.下面是一个加法程序,程序运行时等待拥护从键盘输入两整数,然后求出它们的和并输出之。

观察运行结果(程序输出),上机验证该程序。

#include <stdio.h>void main(){int a,b,c;printf(“Please input a,b;”);scanf(“%d,%d”,&a,&b);c=a+b;printf(“%d+%d=%d\n”,a,b,c);}2.下面的程序用来求三个数的平均值,上机验证该程序。

main(){float a,b,c,average;printf(“Please input a b c:”);scanf(“%f%f%f”,&a,&b,&c);average=(a+b+c)/3;printf(“The average value is :%f\n”,average);}练习题C语言基本语法知识一、选择题(1)以下叙述中错误的是A)用户所定义的标识符允许使用关键字B)用户所定义的标识符应尽量做到“见名知意”C)用户所定义的标识符必须以字母或下划线开头D)用户定义的标识符中,大、小写字母代表不同标识(2)以下叙述中错误的是A)C语句必须以分号结束B)复合语句在语法上被看作一条语句C)空语句出现在任何位置都不会影响程序运行D)赋值表达式末尾加分号就构成赋值语句(3)以下能正确定义且赋初值的语句是A)int n1=n2=10; B)char c=32;C)float f=f+1.1; D)double x=12.3E2.5;(4)设有定义:int k=1,m=2; float f=7;,则以下选项中错误的表达式是A)k=k>=kB)-k++C)k%int(f) D)k>=f>=m(5)有以下程序段int k=0,a=1,b=2,c=3; k=ac ? c:k;执行该程序段后,k的值是A)3 B)2 C)1 D)0(6)以下选项中可作为C语言合法常量的是A)-80.B)-080C)-8e1.0D)-80.0e(7).以下不能定义为用户标识符的是A)MainB)_0C)_intD)sizeof(8)以下选项中,不能作为合法常量的是A)1.234e04 B)1.234e0.4C)1.234e+4 D)1.234e09)有以下程序main(){int m=12,n=34;printf("%d%d",m++,++n); 12 35 m=13 printf("%d%d\n",n++,++m); 35 14}程序运行后的输出结果是A)12353514 B)12353513C)12343514 D)12343513(10)有以下程序main(){int m=3,n=4,x;x=-m++; x= 3 m =4x=x+8/++n; x= 3+8/4= 5printf("%d\n",x);}程序运行后的输出结果是A) 3 B) 5 C) -1 D) -2(11)以下符合C语言语法的实型常量是A) 1.2E0.5B) 3.14.159EC) .5E-3D) E15(12) 若以下选项中的变量已正确定义,则正确的赋值语句是A) x1=26.8%3B) 1+2=x2C) x3=0x12D) x4=1+2=3;(13) 设有以下定义int a=0;double b=1.25;char c=‟A‟;#define d 2则下面语句中错误的是A) a++; B) b++ C) c++; D) d++;实验二整型、浮点型、字符型数据使用1.编程序,输出如下图形:*********************#include <stdio.h>int main(){int i;int j;for(i=1;i<=5;i++){for(j = 1;j<=i;j++){printf("*");}printf("\n");}}2.编写程序,实现下面的输出格式和结果:a= 5,b= 7,a-b=-2,a/b= 71%c1=COMPUTER,c2=COMP ,c3= COMPx=31.19,y= -31.2,z=31.1900s=3.11900e+001,t= -3.12e+001#include <stdio.h>int main(){int a = 5;int b = 7;printf("%d\n",a-b);printf("%2.0f%%\n",(float)a/b*100);char c1[] = "COMPUTER",c2[]="COMP",c3[]="COMP";printf("%s %s %s\n",c1,c2,c3);float x = 31.19,y=-31.2,z=31.1900;printf("%5.2f %4.1f %7.4f",x,y,z);}3.编写程序,输入变量x值,输出变量y的值,并分析输出结果。

C程序设计(数组)习题与答案

C程序设计(数组)习题与答案

C程序设计(数组)习题与答案C程序设计(数组)习题与答案数组是C语言中常用的数据结构之一,它可以存储多个相同类型的元素。

掌握数组的使用对于C程序设计至关重要,下面将为大家介绍一些关于C数组的习题及其答案。

1. 习题一:计算数组元素的和题目描述:编写一个程序,计算给定数组中所有元素的和,并输出结果。

解题思路:```c#include <stdio.h>int main() {int arr[5] = {1, 2, 3, 4, 5}; // 定义一个包含5个元素的整型数组int sum = 0; // 用于存储和的变量// 遍历数组,累加每个元素的值for (int i = 0; i < 5; i++) {sum += arr[i];}printf("数组元素的和为:%d\n", sum);return 0;}```2. 习题二:查找数组中的最大值题目描述:编写一个程序,找出给定整型数组中的最大值,并输出结果。

解题思路:```c#include <stdio.h>int main() {int arr[7] = {4, 7, 2, 9, 1, 5, 8}; // 定义一个包含7个元素的整型数组int max = arr[0]; // 假设第一个元素为最大值// 遍历数组,比较每个元素的值与当前最大值的关系for (int i = 1; i < 7; i++) {if (arr[i] > max) {max = arr[i];}}printf("数组中的最大值为:%d\n", max);return 0;}```3. 习题三:查找数组中的特定元素题目描述:编写一个程序,在给定整型数组中查找是否存在指定元素,并输出结果。

解题思路:```c#include <stdio.h>int main() {int arr[6] = {3, 6, 9, 2, 5, 8}; // 定义一个包含6个元素的整型数组 int target = 2; // 指定要查找的元素int found = 0; // 用于标记是否找到目标元素的变量// 遍历数组,比较每个元素的值与目标值的关系for (int i = 0; i < 6; i++) {if (arr[i] == target) {found = 1;break;}}if (found) {printf("数组中存在目标元素:%d\n", target);} else {printf("数组中不存在目标元素:%d\n", target);}return 0;}```4. 习题四:数组元素逆序排列题目描述:编写一个程序,将给定整型数组的元素逆序排列,并输出结果。

C语言习题及解答

C语言习题及解答

第1部分课后练习题第1章C语言概述一、选择题1.一个C程序的执行是从。

A)本程序的main函数开始,到main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束2.以下叙述正确的是。

.在C程序中,main函数必须位于程序的最前面A)C程序的每行中只能写一条语句B)C语言本身没有输入输出语句C)在对一个C程序进行编译的过程中,可发现注释中的拼写错误3.以下叙述不正确的是。

A)一个C源程序可由一个或多个函数组成B)一个C源程序必须包含一个main函数C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面4.C语言规定:在一个源程序中,main函数的位置。

A) 必须在最开始 B) 必须在系统调用的库函数的后面C) 可以任意 D) 必须在最后5.一个C语言程序是由。

A) 一个主程序和若干子程序组成 B) 函数组成C) 若干过程组成 D) 若干子程序组成6.C语言中的语句需要符号作为结尾。

A) : B) ; C)。

D) //7.C 语言程序中可以对程序进行注释,注释部分用符号_____括起来。

A)‘{‘ 和’}’ B)‘[‘和’]’C)“/*”和”*/” D)“*/”和”/*”8.C语言中注释的位置。

A) 必须在程序的最开始 B) 必须在程序的结尾C) 可以在程序的任何位置 D) 不可以写到main函数里面9.C语言程序能够在不同的操作系统下面运行,这说明c语言具有很好的。

1A) 适应性 B)移植性 C)兼容性 D) 操作性10.C语言经过编译后生成的文件的后缀是。

A).c B) .cpp C) .exe D) .obj11.C语言编译程序的首要工作是。

A) 检查C语言程序的语法错误 B) 检查C语言程序的逻辑错误C)检查程序的完整性 D) 同时检查语法和逻辑错误12. C语言经过链接后生成的文件的后缀是。

C语言练习题(带详解答案)

1、编程题1.输入2个整数,求两数的平方和并输出。

#include <stdio.h>int main(void){ intt a ,b,s;printf("please input a,b:\n");scanf("%d%d”,&a,&b);s=a*a+b*b;printf("the result is %d\n",s);return 0;}2. 输入一个圆半径r,当r>=0时,计算并输出圆的面积和周长,否则,输出提示信息。

#include <stdio.h>#define PI 3.14int main(void){ double r ,area , girth;printf("please input r:\n");scanf("%lf",&r);if (r>=0){ area =PI*r*r;girth =2*PI*r ;printf("the area is %.2f\n", area);printf("the girth is %.2f\n", girth);}elseprintf("Input error!\n");return 0;}3、已知函数y=f(x),编程实现输入一个x值,输出y值。

2x+1 (x<0)y= 0 (x=0)2x-1 (x>0)#include <stdio.h>void main(){ int x,y;scanf(“%d”,&x);if(x<0) y=2*x+1;else if(x>0) y=2*x-1;else y=0;printf(“%d”,y);}4.从键盘上输入一个百分制成绩score,按下列原则输出其等级:score≥90,等级为A;80≤score<90,等级为B;70≤score<80,等级为C;60≤score<70,等级为D;score<60,等级为E。

C 习题与答案

第一章习题一、选择填空1.下列各种高级语言中,()是面向对象的程序设计语言。

A.BASIC;B.PASCAL;C.C++D.Ada2.下列各种高级语言中,()是最早提出了对象的概念。

A.Algol60;B.Simula67;C.Smalltalk;D.C++3.下述面向对象抽象的原理中,()是不对的。

A.数据抽象;B.行为共享;C.进化;D.兼容;4.()不是面向对象系统所包含的要数。

A.重载;B.对象;C.类;D.继承;5.关于C++与C语言的关系的描述中,()是错误的。

A.C语言是C++的一个子集;B.C语言与C++是兼容的;C.C++对C语言进行了一些改进;D.C++和C语言都是面向对象的;6.下面关于对象概念的描述中,()是错误的。

A.对象就是C语言中的结构变量;B.对象代表着正在创建的系统中的一个实体;C.对象是一个状态和操作(或方法)的封装体;D.对象之间的信息传递是通过消息进行的;7.下面关于类概念的描述中,()是错误的。

A.类是抽象数据类型的实现;B.类是具有共同行为的若干对象的统一描述体;C.类是创建对象的样板;D.类就是C语言中的结构类型;8.C++对C语言作了很多改进,下列描述中()使得C语言发生了质变,即从面向过程变成为面向对象。

A.增加了一些新的运算符;B.允许函数重载,并允许设置缺省参数;C.规定函数说明必须用原型;D.引进了类和对象的概念;9.按照标识符的要求,()符号不能组成标识符。

A.连接符;B.下划线;C.大小写字母;D.数字字符;10.下列符号中,()不可作为分隔符。

A.,;B.:;C.?;D.;二、判断下列描述的正确性,对者划√,错者划×。

1.C++引进了引用的概念,对编程带来了很多方便。

Y2.C++允许使用友元,但是友元会破坏封装性。

Y3.C++中使用了新的注释符(//),C语言中注释符(/*…*/)不能在C++中使用。

X4.C++中为了减轻使用者的负担,与C语言相比较C++中减少了一些运算符。

C练习题(有答案)

1循环控制:2数组:3函数4宏定义5指针6文件1循环控制:(一)选择题1.设有程序段int k=10;while(k=0)k=k-1;这下面描述中正确的是_________.a)while循环执行10次 b)循环是无限循环c)循环体语句一次也不执行 d)循环体语句执行一次2.语句while(!E);中的表达式!E等价于________. a)E==0 b)E!=1 c)E!=0 d)E==1 3.下面程序段的运行结果是__________.int n=0;while(n++<=2);printf("%d",n);a)2 b)3 c)4 d)有语法错4.下面程序的运行结果是____.#include<stdio.h>main(){int num=0;while(num<=2){num++;printf("%d\n",num); } }a)1 b)1 c)1 d)12 2 23 345.以下程序段________.x=-1;do{x=x*x;}while(!x);a)是死循环 b)循环执行二次c)循环执行一次 d)有语法错误6.若有如下语句int x=3;do{printf(""%d\n",x-=2);}while(!(--x));则上面程序段______.a)输出的是1 b)输出的是1和-2 c)输出的是3和0 d)是死循环7.下面程序的运行结果是______.#include<stdio.h>main(){int y=10;do{y--;}while(--y);printf("%d\n",y--);}a)-1 b)1 c)8 d)08.若i为整型变量,则以下循环执行次数是_____.for(i=2;i==0;)printf("%d",i--);a)无限次b)0次 c)1次 d)2次9.执行语句for(i=1;i++<4; );后变量i的值是______.a)3 b)4 c)5 d)不定10.以下正确的描述是_______.a)continue语句的作用是结束整个循环的执行b)只能在循环体内和switch语句体内使用break语句c)在循环体内使用break语句或continue语句的作用相同d)从多层循环嵌套中退出时,只能使用goto语句(二)填空题1.下面程序段是从键盘输入的字符中统计字符的个数,用换行符结束循环。

C练习题库及答案

C选择题部分〔共200题〕1、下面程序的输出是___D______#include<stdio.h>void main(){ int k=11;printf("k=%d,k=%o,k=%x\n",k,k,k);}A) k=11,k=12,k=11 B) k=11,k=13,k=13 C) k=11,k=013,k=0xb D) k=11,k=13,k=b2、在以下选项中,不正确的赋值语句是__D______.A) ++t; B) n1=(n2=(n3=0));C) k=i=j; D) a=b+c=1;3、下面合法的C语言字符常量是______A____.A) '\t' B) "A" C) 65 D) A4、表达式: 10!=9的值是________D____.A) true B) 非零值C) 0 D) 15、C语言提供的合法的数据类型关键字是_____B____.A) Double B) short C) integer D) Char6、字符(char)型数据在微机内存中的存储形式是__D__.A) 反码B) 补码C) EBCDIC码D) ASCII码7、C语言程序的基本单位是_____C______.A) 程序行B) 语句C) 函数D) 字符8、设int a=12,则执行完语句a+=a-=a*a后,a的值是____D____A) 552 B) 264 C) 144 D) -2649、执行下面程序中的输出语句后,输出结果是____B__.#include<stdio.h>void main(){int a;printf("%d\n",(a=3*5,a*4,a+5));}A) 65 B) 20 C) 15 D) 1010、下面程序的输出是____B______.#include<stdio.h>void main(){int x=023;printf("%d\n",--x);}A) 17 B) 18 C) 23 D) 2411、下面程序的输出的是_____C____.#include<stdio.h>void main(){int x=10,y=3;printf("%d\n",y=x/y);}A) 0 B) 1 C) 3 D) 不确定的值12、已知字母A的ASCII码为十进制的65,下面程序的输出是______A_____.#include<stdio.h>void main(){char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}A) 67,D B) B,C C) C,D D) 不确定的值13、假设要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为____D__. A) a<>0 B) !a C) a=0 D) a14、以下程序的输出结果是____D_____.#include<stdio.h>void main(){ int x=10,y=10;printf("%d %d\n",x--,--y);}A) 10 10 B) 9 9 C) 9 10 D) 10 915、设有如下定义:int x=10,y=3,z;则语句printf("%d\n",z=(x%y,x/y));的输出结果是_____D_____.A) 1 B) 0 C) 4 D) 316、为表示关系x≥y≥z,应使用C语言表达式___A___.A) (x>=y)&&(y>=z) B) (x>=y)AND(y>=z) C) (x>=y>=z) D) (x>=y) & (y>=z)17、C语言中非空的基本数据类型包括____B____.A) 整型,实型,逻辑型B) 整型,实型,字符型C) 整型,字符型,逻辑型D) 整型,实型,逻辑型,字符型18、假设x和y都是int型变量,x=100,y=200,且有下面的程序片段:printf("%d",(x,y));上面程序片段的输出结果是____A___.A) 200 B) 100C) 100 200 D) 输出格式符不够,输出不确定的值19、阅读下面的程序#include<stdio.h>void main(){char ch;scanf("%3c",&ch);printf("%c",ch);}如果从键盘上输入abc<回车>则程序的运行结果是__A_____.A) a B) b C) c D) 程序语法出错20、阅读下面的程序#include<stdio.h>void main(){int i,j;i=010;j=9;printf("%d,%d",i-j,i+j);}则程序的运行结果是____D____.A) 1,19 B) -1,19 C) 1,17 D) -1,1721、阅读下面的程序#include<stdio.h>void main(){int i,j,m,n;i=8;j=10;m=++i;n=j++;printf("%d,%d,%d,%d",i,j,m,n);}程序的运行结果是______C____. A) 8,10,8,10 B) 9,11,8,10C) 9,11,9,10 D) 9,10,9,1122、已知a=12,则表达式a+=a-=a*=a的结果是_____A__.A) 0 B) 144 C) 12 D) -26423、假设已定义int a,则表达式a=10,a+10,a++的值是__B_.A) 20 B) 10 C) 21 D) 1124、阅读下面的程序#include<stdio.h>void main(){int i,j;scanf("%3d%2d",&i,&j);printf("i=%d,j=%d\n",i,j);}如果从键盘上输入1234567<回车>,则程序的运行结果是____D____.A) i=123,j=4567 B) i=1234,j=567C) i=1,j=2 D) i=123,j=4525、下面程序的输出结果是____D____.#include<stdio.h>void main(){int a=-1, b=4, k;k=(++a<=0)&&(b--<=0);printf("%d,%d,%d\n",k,a,b);}A) 1,1,2 B) 1,0,3 C) 0,1,2 D) 0,0,326、下面程序的输出结果是____A____.#include<stdio.h>void main(){int a=5,b=3;float x=3.14, y=6.5;printf("%d,%d\n",a+b!=a-b,x<=(y-=6.1));}A) 1,0 B) 0,1 C) 1,1 D) 0,027、执行下面程序段后,输出结果是____A____.int a;int b=65536;a=b;printf("%d\n",a);A) 65536 B) 0 C) -1 D) 128、假设有以下定义和语句:int a=010, b=0x10, c=10;printf("%d,%d,%d\n",a,b,c);则输出结果是____B_____.A) 10,10,10 B) 8,16,10 C) 8,10,10 D) 8,8,1029、已知有double型变量x=2.5,y=4.7,整型变量a=7, 则表达式x+a%3*(int)(x+y)%2/4 的值是_____B____.A) 2.4 B) 2.5 C) 2.75 D) 030、假设已定义x和y是整型变量,x=2;,则表达式y=2.75+x/2的值是____C____.A) 5.5 B) 5 C) 3 D) 4.031、以下程序的输出结果是____D____.#include<stdio.h>void main(){int a=12, b=12;printf("%d,%d\n",--a,++b);}A) 10,10 B) 12,12 C) 11,10 D) 11,1332、设有以下语句:int x=10;x+=3+x%(3),则x的值是.____A_____A) 14 B) 15 C) 11 D) 1233、假设d为double型变量,则表达式d=1,d+5,d++的值是_____D__.A) 1 B) 6.0 C) 2.0 D) 1.034、表达式5!=3的值是____D____.A) T B) 非零值C) 0 D) 135、假设有定义int a=12,n=5,则表达式a%=(n%2)运算后,a的值______A____.A) 0 B) 1 C) 12 D) 636、假设有定义int x=3,y=2和float a=2.5,b=3.5,则表达式:(x+y)%2+(int)a/(int)b的值是__D__.A) 0 B) 2 C) 1.5 D) 137、在C语言中,以下表达不正确的选项是_____A____.A) 在C程序中,无论是整数还是实数,都能被准确无误的表示B) 在C程序中,变量名代表存储器中的一个位置C) 静态变量的生存期与整个程序的生存期相同D) C语言中变量必须先定义后引用38、C语言中的变量名只能由字母,数字和下划线三种字符组成,且第一个字符____C____.A) 必须为字母B) 必须为下划线C) 必须为字母或下划线D) 可以是字母,数字或下划线中的任意一种39、设有说明:char w; int x; float y; double z; 则表达式: w*x+z-y值的数据类型是___D____.A) float B) char C) int D) double40、一个C语言的执行是从_____A______.A) 本程序的主函数开始,到本程序的主函数结束B) 本程序的第一个函数开始,到本程序的最后一个函数结束C) 本程序的主函数开始,到本程序的最后一个函数结束D) 本程序的第一个函数开始,到本程序的主函数结束41、设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是____A____.A) 10<a<15 B) a==11||a==12||a==13||a==14 C) a>10&&a<15 D) !(a<=10)&&!(a>=15)42、以下程序执行后的输出结果是_____C____.#include <stdio.h>void main( ){ int a=5,b=60,c;if (a<b){c=a*b;printf("%d*%d=%d\n",b,a,c);}else{c=b/a;printf("%d/%d=%d\n",b,a,c);}}A) 60/5=12 B) 300 C) 60*5=300 D) 1243、如果c为字符型变量,判断c是否为空格不能使用____A____.(假设已知空格ASCII码为32)A) if(c=='32') B) if(c==32)C) if(c=='\40') D) if(c==' ')44、运行下面程序时,假设从键盘输入"3,5<CR>",则程序的输出结果是____D____.#include <stdio.h>void main( ){int x,y;scanf("%d,%d",&x,&y);if (x==y)printf("x==y");else if (x>y)printf("x>y");elseprintf("x<y");}A) 3<5 B) 5>3 C) x>y D) x<y45、运行下面程序时,假设从键盘输入数据为"6,5,7<CR>",则输出结果是____C___.#include <stdio.h>void main( ){ int a,b,c;scanf("%d,%d,%d",&a,&b,&c);if (a>b)if (a>c)printf("%d\n",a);elseprintf("%d\n",c);elseif (b>c)printf("%d\n",b);elseprintf("%d\n",c);}A) 5 B) 6 C) 7 D) 不定值46、执行下面程序时,假设从键盘输入"2<CR>",则程序的运行结果是____A____.#include <stdio.h>void main( ){ int k; char cp;cp=getchar( );if (cp>='0' && cp<='9')k=cp-'0';else if (cp>='a' && cp<='f')k=cp-'a'+10;else k=cp-'A'+10;printf("%d\n",k);}A) 2 B) 4 C) 1 D) 1047、运行下面程序时,从键盘输入"2.0<CR>",则输出结果是___B_____.#include <stdio.h>void main( ){ float a,b;scanf("%f",&a);if (a<0.0) b=0.0;else if ((a<0.5) && (a!=2.0)) b=1.0/(a+2.0);else if (a<10.0) b=1.0/2;else b=10.0;printf("%f\n",b);}A) 0.000000 B) 0.500000C) 1.000000 D) 0.25000048、执行下面程序后,运行结果是____A____.#include <stdio.h>void main( ){ int x=41,y=1;if (x%3==0 && x%7==0){ y+=x;printf("y=%d\n",y);}else{y=x;printf("y=%d",y);}}A) y=41 B) y=43 C) y=42 D) y=149、运行下面程序时,从键盘输入"12,34,9<CR>",则输出结果是___A___.#include <stdio.h>void main( ){ int x,y,z;scanf("%d,%d,%d",&x,&y,&z);if (x<y)if (y<z)printf("%d\n",z);else printf("%d\n",y);else if (x<z)printf("%d\n",z);else printf("%d\n",x);}A) 34 B) 12 C) 9 D) 不确定的值50、运行下面程序时,从键盘输入字母H,则输出结果是_____C___.#include <stdio.h>void main( ){ char ch;ch=getchar( );switch(ch){ case 'H':printf("Hello!\n");case 'G':printf("Good morning!\n");default:printf("Bye_Bye!\n");}}A) Hello! B) Hello!Good Morning!C) Hello! D) Hello!Good morning! Bye_Bye!Bye_Bye!51、执行以下程序段后的输出结果是_____A____.int x=1,y=1,z=1;x+=y+=z;printf("%d\n",x<y?y:x);A) 3 B) 2 C) 1 D) 452、设ch是char型变量,值为'A',则表达式ch=(ch>='A' && ch<='Z')?ch+32:ch的值是__B___.A) Z B) a C) z D) A53、下面程序的输出结果是____C____.#include <stdio.h>void main( ){ int x=8,y=-7,z=9;if (x<y)if (y<0) z=0;else z-=1;printf("%d\n",z);}A) 8 B) 1 C) 9 D) 054、运行下面程序时,假设从键盘输入"5 <CR>",则程序的输出结果是_____B___.#include <stdio.h>void main( ){ int a ;scanf("%d",&a);if (a++>5)printf("%d\n",a);else printf("%d\n",a--) ;}A) 7 B) 6 C) 5 D) 455、运行下面程序时,假设从键盘输入"3,4 <CR>",则程序的输出结果是____B___.#include <stdio.h>void main( ){ int a,b,s;scanf("%d,%d",&a,&b);s=a;if (s<b) s=b;s=s*s;printf("%d\n",s) ;}A) 14 B) 16 C) 18 D) 20 56、以下程序的执行结果是_____D____.#include <stdio.h>void main( ){ int x=0,y=1,z=0;if (x=z=y)x=3;printf("%d,%d\n",x,z);}A) 3,0 B) 0,0 C) 0,1 D) 3,157、假定等级和分数有以下对应关系:等级:A 分数:85~100等级:B 分数:60~84等级:C 分数:60 以下对于等级grade输出相应的分数区间,能够完成该功能的程序段是____D____.A) switch (grade){case 'A':printf("85--100\n");case 'B':printf("60--84\n");case 'C':printf("60以下\n");default:printf("等级错误!\n");}B) switch (grade){case 'A':printf("85--100\n");break;case 'B':printf("60--84\n");case 'C':printf("60以下\n");default:printf(" 等级错误!\n");}C) switch (grade){case 'A':printf("85--100\n");break;case 'B':printf("60--84\n");break;case 'C':printf("60以下\n");default:printf("等级错误!\n");}D) switch (grade){case 'A':printf("85--100\n");break;case 'B':printf("60--84\n");break;case 'C':printf("60以下\n");break;default:printf("等级错误!\n");}58、能够完成如下函数计算的程序段是__B____.┌-1 x<0y= ┤0 x=0└ 1 x>0A) y=1; B) if (x>=0)if(x!=0) if(x>0) y=1;if(x>0) y=1; else y=0;else y=0; else y=-1;C) y=0; D) y=-1;if (x>=0) if (x>0) y=1;if (x>0) y=1; else y=0;else y=-1;59、有如下程序#include <stdio.h>void main( ){ float x=5.0,y;if(x<0.0) y=0.0;else if (x<10.0) y=1.0/x;else y=1.0;printf("%f\n",y);}该程序的输出结果是____C_____.A) 0.000000 B) 0.50000C) 0.200000 D) 1.00000060、以下程序的执行结果是___B_____.#include <stdio.h>void main( ){ int x=1,y=0;switch (x){case 1:switch (y){case 0:printf("first\n");break;case 1:printf("second\n");break;}case 2:printf("third\n");}}A) first B) firstsecond thirdC) first D) secondthird61、以下程序的执行结果是____A____.#include <stdio.h>void main( ){ int a,b,c,d,x;a=c=0;b=1;d=20;if (a) d=d-10;else if(!b)if (!c) x=15;else x=25;printf("d=%d\n",d);}A) d=20 B) d=10 C) d=15 D) 2562、有如下程序:#include <stdio.h>void main( ){ int a=2,b=-1,c=2;if (a<b)if (b<0) c=0;else c++;printf("%d\n",c);}该程序的输出结果是___C_____.A) 0 B) 1 C) 2 D) 363、以下程序执行后的输出结果是____B____.#include <stdio.h>void main( ){ int x,y=1,z;if ((z=y)<0) x=4;else if (y==0) x=5;else x=6;printf("%d,%d\n",x,y);}A) 4,1 B) 6,1 C) 5,0 D) 出错信息64、有如下程序#include <stdio.h>void main( ){ int x=1,a=0,b=0;switch(x){case 0: b++;case 1: a++;case 2: a++;b++;}printf("a=%d,b=%d\n",a,b);}该程序的输出结果是______A____.A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=265、下面程序的输出结果是____C_____.#include <stdio.h>void main( ){ int a=-1,b=1,k;if ((++a<0) && (b--<=0))printf("%d %d\n",a,b);elseprintf("%d %d\n",b,a);}A) -1 1 B) 0 1 C) 1 0 D) 0 066、假定w、x、y、z、m均为int型变量,有如下程序段:w=1;x=2;y=3;z=4;m=(w<x)?w:x; m=(m<y)?m:y; m=(m<z)?m:z;则该程序段执行后,m的值是____D_____.A) 4 B) 3 C) 2 D) 167、以下程序的输出结果是___D______.main( ){ int a=100;if (a>100) printf("%d\n",a>100);else printf("%d\n",a<=100);}A) a<=100 B) 100 C) 0 D) 168、假设执行下面的程序从键盘上输入9,则输出结果是.______B________#include <stdio.h>void main( ){int n;scanf("%d",&n);if (n++<10) printf("%d\n",n);else printf("%d\n",n--);}A) 11 B) 10 C) 9 D) 869、以下程序输出结果是_____D_____.#include <stdio.h>void main( ){ int m=4;if (++m>5) printf("%d\n",m--);else printf("%d\n",--m);}A) 7 B) 6 C) 5 D) 470、假设执行下面的程序从键盘上输入5,则输出结果是.#include <stdio.h>void main( ){int x;scanf("%d",&x);if (x++>5) printf("%d\n",x);else printf("%d\n",x--);}A) 7 B) 6 C) 5 D) 471、以下程序段运行结果是____A____.int x=1,y=1,z=-1;x+=y+=z;printf("%d\n",x<y?y:x);A) 1 B) 2 C) 4 D) 不确定的值72、有以下程序#include <stdio.h>void main( ){ int a,b,c=246;a=c/100%9;b=(-1)&&(-1);printf("%d,%d\n",a,b);}输出结果是____A____.A) 2,1 B) 3,2 C) 4,3 D) 2,-173、运行下面程序时,假设从键盘输入数据为"123",则输出结果是___C____.#include "stdio.h"void main(){ int num,i,j,k,place;scanf("%d",&num);if (num>99)place=3;else if(num>9)place=2;elseplace=1;i=num/100;j=(num-i*100)/10;k=(num-i*100-j*10);switch (place){ case 3: printf("%d%d%d\n",k,j,i);break;case 2: printf("%d%d\n",k,j);break;case 1: printf("%d\n",k);}}A) 123 B) 1,2,3 C) 321 D) 3,2,174、执行以下程序后的输出结果是___D____.#include <stdio.h>void main( ){ int k=4,a=3,b=2,c=1;printf("%d\n",k<a?k:c<b?c:a);}A) 4 B) 3 C) 2 D) 175、以下条件表达式中能完全等价于条件表达式x的是____B___.A) (x==0) B) (x!=0) C) (x==1) D) (x!=1)76、假设运行下面程序时,给变量a输入15,则输出结果是___A___.#include <stdio.h>void main( ){ int a,b;scanf("%d",&a);b=a>15?a+10:a-10;printf("%d\n",b) ;}A) 5 B) 25 C) 15 D) 1077、运行下面程序后,输出是___D___.#include <stdio.h>void main( ){ int k=-3;if (k<=0) printf("****\n");else printf("####\n")}A) ####B) ****C) ####****D) 有语法错误不能通过编译78、执行下面程序的输出结果是____C____.#include <stdio.h>void main( ){ int a=5,b=0,c=0;if (a=a+b) printf("****\n");else printf("####\n");}A) 有语法错误不能编译B) 能通过编译,但不能通过连接C) 输出****D) 输出####79、为了防止嵌套的if-else语句的二义性,C语言规定else总是与___C___组成配对关系. A) 缩排位置相同的ifB) 在其之前未配对的ifC) 在其之前尚未配对的最近的ifD) 同一行上的if80、设x 、y 、z 、t均为int型变量,则执行以下语句后,t的值为____C_____.x=y=z=1;t=++x || ++y && ++z;A) 不定值B) 4 C) 1 D) 081、以下程序段____C______.x=-1;do{x=x*x;} while (!x);A)是死循环B)循环执行两次C)循环执行一次D)有语法错误82、对下面程序段描述正确的选项是___B____.int x=0,s=0;while (!x!=0) s+=++x;printf("%d",s);A) 运行程序段后输出0B) 运行程序段后输出1C) 程序段中的控制表达式是非法的D) 程序段循环无数次83、下面程序段的输出结果是____C____.x=3;do { y=x--;if (!y) {printf("*");continue;}printf("#");} while(x=2);A) ## B) ##* C) 死循环D)输出错误信息84、下面程序的运行结果是____B____.#include<stdio.h>void main( ){ int a=1,b=10;do{ b-=a;a++;} while(b--<0);printf("%d,%d\n",a,b);}A) 3,11 B) 2,8 C) 1,-1 D) 4,985、下面程序段的运行结果是____B______.int n=0;while (n++<=2)printf("%d",n);A) 012 B) 123 C) 234 D) 错误信息86、下面程序段的运行结果是___D_____.int x=0,y=0;while (x<15) y++,x+=++y;printf("%d,%d",y,x);A) 20,7 B) 6,12 C) 20,8 D)8,2087、下面程序的运行结果是___B_____.#include<stdio.h>void main(){ int s=0,i=1;while (s<=10){ s=s+i*i;i++;}printf("%d",--i);}A) 4 B) 3 C) 5 D) 688、函数pi的功能是根据以下近似公式求π值:____C______(π*π)/6=1+1/(2*2)+1/(3*3)+..+1/(n*n)请填空,完成求π的功能。

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

第一章:C语言基础训练1、有两个整数变量a和b,它们的值分别为8和3,计算它们的和、差、积、商。

#include <stdio.h> main(){ int a=0,b=0,sum=0,m=0,t=0; float s=0.0; a=8;b=3; sum=a+b; m=a-b; t=a*b; printf("%d+%d=%d\n",a,b,sum); printf("%d-%d=%d\n",a,b,m); printf("%d*%d=%d\n",a,b,t); printf("%d/%d=%d\n",a,b,s); }扩展:计算并输出a除b的余数和ab的值#include <stdio.h> main(){ int a=8,b=3,m=0,t=0; m=a%b; t=a*a*a;printf("%d%%d=%d\n",a,b,m); printf("%d^%d=%d\n",a,b,t); }训练2:假设圆柱体的底面半径为r(=2.5),高为h(=3.5),计算该圆柱体的体积(体积=底面积*高,底面积=πr2#include <stdio.h> main(){ float r=2.5,h=3.5,v=0.0; v=3.14*r*r*h;printf("半径:%.2f,高:%.2f,体积:%.2f\n",r,h,v); }扩展:输入半径和高,计算圆柱体的体积。

数据输入使用scanf函数。

#include <stdio.h> main(){ float r=0,h=0,v=0.0;scanf("%f%f",&r,&h); v=3.14*r*r*h;printf("半径:%.2f,高:%.2f,体积:%.2f\n",r,h,v); }第二章:顺序结构程序设计补充实验:1、输入一个三位十进制整数,将其按逆序转换为新的整数后输出。

如输入127,输出721 #include <stdio.h> main(){ int a=0,b=0;printf("pleass enter a 3-bit integer:"); scanf("%d",&a);printf("old:%d\n",a); /* 如127 */ b=a%10; /* 获取a的个位数,7 */ a=a/10; /*求得原a数值的百十位,12 */b=b*10+a%10; /*将得到的第一个数扩大10倍再加当前a的个位数70+2=72 */a=a/10; /* 获取当前a的十位数, 1 */b=b*10+a%10; /* 将当前b值扩大10倍+当前a, 720+1=721 */ printf("new:%d\n",b); }2、将本人缩写拼音名字译成密码,密码规律是用原来的字母后面第3个字符代替原来的字母。

如刘欣鹏的缩写拼音名字为lxp,密码为o{s。

#include <stdio.h> main(){ char c1='l',c2='x',c3='p'; c1=c1+3; c2=c2+3; c3=c3+3;printf("%c%c%c\n",c1,c2,c3); } 训练2.1 :下面的程序可以把摄氏温度c转化为华氏温度f,转化公式为3259cf,程序中有多处错误,请改正错误后运行正确的程序。

#include <stdio.h>main(){float c=0,F=0;printf("input c:");scanf("%f", c);f=(9/5)·c+32;print("c=%f,f=%f\n",&c,&f);}扩展:把程序功能改为:输入华氏温度f,计算摄氏温度c。

#include <stdio.h> main()答:#include <stdio.h>main(){float c=0,f=0;printf("input c:");scanf("%f",&c);f=((float)9/5)*c+32;printf("c=%f,f=%f\n",c,f);{float c=0,f=0; printf("input f:"); scanf("%f",&f); c=(f-32)*5/9;printf("c=%.2f,f=%.2f\n",c,f); }训练2.2:下面程序是把500分钟用小时和分钟显示,程序中有多处错误,请改正错误后运行正确的程序。

#include <stdio.h> main() { int m=0; h=500/60; m=500%60; Printf("500 minutes:%d hoursand %d minutes," h,m); }扩展:不用500这一特殊数据,而改为输入的任意整数,实现相同功能。

#include <stdio.h> main(){ int a=0,m=0,h=0; scanf("%d",&a); h=a/60; m=a%60;printf("%d minutes:%d hours and %d minutes,",a,h,m); }第三章:选择结构程序设计补充实验:1、输入一个字符,若该字符为小写字母,将其转换为对应大写字母;若为数字字符,则转换为对应数字,其他字符按原样输出。

#include <stdio.h> main(){ char c='\0';scanf("%c",&c); if(c>='a'&&c<='z')printf("upper letter:%c\n",c-32); else if( c>='0'&&c>='9')printf("digit:%d\n",c-'\0'); else printf("letter:%c\n",c); }2、编写程序,求下面分段函数的值,要求x的值从键盘输入。

时)(当时)(当时)(当时)当10101053x502x0(0y2xxxx答:#include <stdio.h> main() { int m=0,h=0;/*未定义变量h*/ h=500/60; m=500%60; printf("500 minutes:%d hours and %d minutes,",h,m); /*printf中的p应小写,且双引号后缺少逗号*/ }#include <stdio.h>#include <stdio.h> main(){ double x=0.0,y=0.0; int k=0;scanf("%lf",&x);k=1*(x<0)+2*(x>=0&&x<5)+3*(x>=5&&x<10)+4*(x>=10); switch(k){ case 1: y=0;break; case 2: y=x+2;break; case 3: y=x*x-3;break; case 4: y=10;break; }printf("x=%lf,y=%lf\n",x,y); }训练3.1:输入一个字符,如果是数字字符,则转换成对应的数字。

#include <stdio.h> main(){ char ch='\0'; int a=-1; ch=getchar();if(ch>='0'&&ch<='9') { a=ch-'0';printf("charter %c ,digit:%d\n",ch,a); }else printf("%c is not digit\n",ch); }扩展:将程序的功能改为:如果所输入的字符为大写字母,则将其转换为小写字母。

请使用库函数判断和转换。

#include <stdio.h> #include <ctype.h> main(){ char ch='\0'; ch=getchar();printf("the input charter is %c \n",ch); if(isupper(ch)) { ch=tolower(ch); printf("The corresponding lowercase letter is %c\n",ch); }else printf("It is not the capital letter!\n"); }训练3.2:求一元二次方程ax2+bx+c=0的实根(要求a,b,c的值从键盘输入,a≠0)#include <stdio.h> #include <math.h> main(){ int a=0,b=0,c=0;float delta=0,x1=0,x2=0;scanf("%d%d%d",&a,&b,&c); delta=b*b-4*a*c;if(delta<0) printf("这方程无实根\n"); else{ x1=(-1*b+sqrt(delta))/(2*a); x2=(-1*b-sqrt(delta))/(2*a);printf("这方程的根是:x1=%.2f,x2=%.2f\n",x1,x2); } }扩展:完善程序的功能,如果a的值为0,显示不是合法的一元二次方程的信息,否则,计算两个实根。

相关文档
最新文档