C语言习题总结

合集下载

C语言课后习题及答案

C语言课后习题及答案

三、根据下列条件写一个 C/C++表达式。 1.a 和 b 中有一个大于 d:a>d||b>d 2.将 x、y 中较大的值送给 z:z=x>y?x : y 3.将直角坐标系中点(x,y)表示在第 3 象限内:x<0&&y<0 4.3 个数据 x、y、z 能组成三角形:x+y>z||y+z>z||x+z>y 5.将含有 3 位小数的实型变量 x 的值,四舍五入到百分位:(int)(x*100+0.5)/100. 6.d 是不大于 100 的偶数:d>0&&d<=100&&d%2==0 7.x、y 中至少有一个是 5 的倍数:x%5==0||y%5==0 8.对 n(>0)个人进行分班,每班 k(>0)个人,最后不足 k 人也编一个班,问要编几个班: n%k==0?n/k : n/k+1 四、编程题: 1 编程序求半径为 r、高为 h 的圆柱体的体积。 #include "iostream.h" void main() {float r,h,v; cin>>r>>h; v=3.1416*r*r*h; cout<<v; } 2.任意输入 3 个数据,输出它们的平均值和最小的一个数。 #include "iostream.h"
5.在 cout 命令中,使用 ( )格式控制符可以把一个数据以十六进制的形式输出。hex 6.在 C/C++中,头文件的扩展名一般为( ) 。.h 7.程序的错误一般分两种: ( )和( ) 。前者是编译器可以发现的,而后者编译器则无 法发现。语法错误和逻辑错误 8.在 Visual C++中调试程序时,可以使用快捷菜单中的 ( )命令来插入断点和清除断 点。Insert/Remove Breakpoint 9.C++源程序的扩展名为( ) 。.cpp 10. 在 Visual C++中, 浏览当前项目中的所有源程序文件应在工作区的 ( ) 选项卡。 Fileview 三、 简答题

《C语言》练习题及答案解析

《C语言》练习题及答案解析

《C语言》练习题及答案解析一.选择题1.下列字符序列中,不可用作C语言标识符的是(B)。

A.abc123 B.no.1 C._123_ D._ok2.一个C语言源程序是由(B)。

A.一个主程序和若干子程序组成B.一个或多个函数组成C.若干过程组成D.若干子程序组成3. 正确的C语言标识符是(A )。

A._buy_2 B.2_buy C.?_buy D.buy?4.已知字母A的ASCII码为十进制数65,且S为字符型,则执行语句S=’A’+’6’-’3’;后,S中的值为(A)。

A.’D’B.68 C.不确定的值D.’C’5.下列说法中,错误的是(A)。

A.每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号B.每个函数都有一个函数头和一个函数体,主函数也不例外C.主函数只能调用用户函数或系统函数,用户函数可以相互调用D.程序是由若干个函数组成的,但是必须有且仅有一个主函数6.有如下程序段,从键盘输入数据的正确形式应是(B)。

(注:└┘代表空格)float x,y,z;scanf(“x=%d,y=%d,z=%d”,&a,&y,&z);A.123 B.x=1,y=2,z=3C.1,2,3 D.x=1└┘ y=2└┘ z=37.在C语言中,char型数据在内存中的存储形式是(D)。

A.补码B.反码C.原码D.ASCII码8. 下列符号中,不属于转义字符的是(B )。

A.\\ B.\0xAA C.\t D.\09. 不属于C语言关键字的是(D)。

A.int B.break C.while D.character10. 以下说法中正确的是(C)。

A.C语言程序总是从第一个定义的函数开始执行B.在C语言程序中,要调用的函数必须在main( )函数中定义C.C语言程序总是从main( )函数开始执行D.C语言程序中的main( )函数必须放在程序的开始部分11. C语言程序的基本单位是(C)。

c语言期末考试题库大题及详解答案

c语言期末考试题库大题及详解答案

c语言期末考试题库大题及详解答案C语言期末考试题库大题及详解答案一、简答题1. 请简述C语言的基本数据类型及其特点。

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

整型用于存储整数,浮点型用于存储小数,字符型用于存储单个字符,枚举型用于定义一组命名的常量。

每种数据类型都有其特定的取值范围和占用内存大小。

2. 请解释C语言中的数组和指针的区别。

答案:数组是一种数据结构,用于存储固定数量的相同类型元素,可以通过下标访问元素。

指针是一个变量,它存储另一个变量的内存地址。

数组名可以作为指向数组第一个元素的指针使用,但数组本身是一个固定大小的内存块,而指针可以被赋值为不同的地址,具有动态性。

二、编程题1. 编写一个C语言程序,实现输入三个整数,找出其中的最大值并输出。

答案:```c#include <stdio.h>int main() {int num1, num2, num3, max;printf("请输入三个整数:");scanf("%d %d %d", &num1, &num2, &num3);max = (num1 > num2) ? ((num1 > num3) ? num1 : num3) : ((num2 > num3) ? num2 : num3);printf("最大值是:%d\n", max);return 0;}```2. 编写一个C语言程序,实现字符串的反转。

答案:```c#include <stdio.h>#include <string.h>int main() {char str[100];printf("请输入一个字符串:");fgets(str, sizeof(str), stdin); // 使用fgets以包含空格int len = strlen(str) - 1; // 减去换行符长度for (int i = len; i >= 0; --i) {printf("%c", str[i]);}printf("\n");return 0;}```三、综合题1. 请编写一个C语言程序,实现一个简单的计算器,能够进行加、减、乘、除四种基本运算。

c语言经典题目100题

c语言经典题目100题

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.字符串搜索31.字符串替换32.字符串分割33.字符串反转34.字符串大小写转换35.字符串修剪36.计算字符串长度37.字符串格式化38.链表创建39.链表插入40.链表删除41.链表搜索42.链表反转43.链表排序44.链表合并45.链表复制46.链表释放47.树创建48.树插入49.树删除50.树搜索51.树反转52.树排序53.树合并54.树复制55.树释放56.堆创建57.堆插入58.堆删除59.堆搜索60.堆反转61.堆排序62.堆合并63.堆复制64.堆释放65.图创建66.图插入67.图删除68.图搜索69.图反转70.图排序71.图合并72.图复制73.图释放74.队列创建75.队列插入76.队列删除77.队列搜索78.队列反转79.队列排序80.队列合并81.队列复制82.队列释放83.栈创建84.栈插入85.栈删除86.栈搜索87.栈反转88.栈排序89.栈合并90.栈复制91.栈释放92.哈希表创建93.哈希表插入94.哈希表删除95.哈希表搜索96.哈希表反转97.哈希表排序98.哈希表合并99.哈希表复制100.哈希表释放。

C语言复习题整理

C语言复习题整理

第2部分C语言程序设计习题与解答题解1 绪论1.1 习题一、选择题1.一个完整的可运行的C源程序中(B )。

A.可以有一个或多个主函数B.必须有且仅有一个主函数C.可以没有主函数D.必须有主函数和其他函数2.构成C语言源程序的基本单位是(D )。

A.子程序B.过程C.文本D.函数3.某C程序由一个主函数main( )和一个自定义函数max( )组成,则该程序( D )。

A.总是从max( )函数开始执行B.写在前面的函数先开始执行C.写在后面的函数先开始执行D.总是从main( )函数开始执行4.C语言规定,一个C源程序的主函数名必须为(C )。

A.program B.include C.main D.function5.下列说法正确的是(C)。

A.在书写C语言源程序时,每个语句以逗号结束B.注释时,'/'和'*'号间可以有空格C.无论注释内容的多少,在对程序编译时都被忽略D.C程序每行只能写一个语句6.C语言源程序文件的后缀是( C ),经过Compile后,生成文件的后缀是( A ),经过Build后,生成文件的后缀是(B)。

A..obj B..exe C..c D..doc7.Visual C++ 6.0 IDE的编辑窗口的主要功能是(A ),输出窗口的主要功能是(D ),调试器(Debug)的主要功能是(C)。

A.建立并修改程序B.将C源程序编译成目标程序C.跟踪分析程序的执行D.显示编译结果信息(如语法错误等)8.在Visual C++ 6.0开发环境下,C程序按工程(project)进行组织,每个工程可包括(D)C/CPP源文件,但只能有( A )main 函数。

A.1个B.2个C.3个D.1个以上(含1个)9.调试程序时,如果某个语句后少了一个分号,调试时会提示错误,这种情况一般称之为(A )。

而某个“计算2的平方”的程序在调试时没有提示出错,而且成功执行并计算出了结果,只是结果等于5,这种情况一般称之为(D)。

C语言必考100题解析

C语言必考100题解析
48.编程将若干字符串按字母顺序由小到大排序后输出。(二维数组和指针数组均可) 。
49.编程输入一个班的某课程的学生成绩,计算其平均分,然后输出,班级人数由键盘 输入。
50.编程实现从键盘输入一个字符串,将其字符顺序颠倒后重新存放,并输出这个字符 串(要求:使用头指针和尾指针来实现) 。
51.编程判断输入的一串字符是否为 “回文”。所谓回文是指顺读和倒读都一样的字符串, 如“ABCCBA”是回文。
44.从键盘任意输入两个整数,利用指针变量作为函数参数,编程实现两数互换功能, 然后将交换后的数据重新输出。
45.用字符指针编程实现字符串复制函数。
46.用字符指针编程实现求字符串长度函数。
47.编写一个程序,可以实现在一个数组中删除指定的元素。如:数组元素为1,2,3,
输入3,便删除3,输出1,2;若输入4,则继续输出1,2,3。
为止,要求统计总共累加了多少项。
19.编程输出正三角格式的九九乘法表。
20.编程输出下三角格式的九九乘法表。
21.从键盘任意输入一个正整数,编程判断它是否是素数, 若是素数,输出“YES”,
否则输出“NO!”。
22.编写一个程序实现输出1—100之间所有素数。
23.编写一个程序实现输出任意指定m、n之间的所有素数。
分析给出了以下按“体指数”对肥胖程度的划分:体指数t=w/h*h(w为体重,
单位为kg,h为身高,单位为m)。当t<18时,为低体重;当t介于18和25之间时,为正常体重;当t介于25和27之间时,为超重体重;当t仝27时, 为肥胖。编程从键盘输入你的身高h和体重w,根据上式,判断体重类型。
12.利用switch语句将百分制成绩转化为五分制成绩。
52•用指针数组编程实现: 从键盘任意输入一个数字表示月份值n,程序输出该月份的英 文 表 示 ,若n不 在1~12之 间 , 则 输 出 “Illegal month”。 ("January","February","March","April","

C语言课后习题参考答案

C语言课后习题参考答案

C语言课后习题参考答案第一章:基础知识问题1:C语言的发展历史及特点C语言是由贝尔实验室的肯·汤普逊和丹尼斯·里奇在20世纪70年代初开发的一种高级程序设计语言。

它以其简洁、高效和可移植性而闻名。

C语言被广泛应用于系统级编程、嵌入式系统和科学计算等领域,并成为其他编程语言的基础。

问题2:C语言的基本数据类型及其存储范围C语言的基本数据类型包括字符型(char)、整型(int)、浮点型(float)、双精度浮点型(double)和空类型(void)。

它们的存储范围如下:- char:-128 到 127 或 0 到 255- int:-32,768 到 32,767 或 0 到 65,535- float:3.4E-38 到 3.4E38- double:1.7E-308 到 1.7E308- void:无特定存储范围问题3:如何在C语言中输出语句?在C语言中,可以使用printf函数来输出语句。

它的基本语法为:```cprintf("要输出的内容");```问题4:定义变量的语法规则在C语言中,定义变量的语法规则如下:```c数据类型变量名;```例如,定义一个整型变量x:```cint x;```问题5:如何进行变量的赋值?变量的赋值可以使用赋值运算符(=)。

例如,将一个整型常量10赋值给变量x:```cx = 10;```第二章:控制结构问题1:if语句的语法结构if语句用于根据条件执行不同的代码块。

它的基本语法结构如下:```cif (条件) {// 条件为真时执行的代码}```问题2:switch语句的用法及语法结构switch语句用于根据不同的表达式值执行相应的代码块。

它的基本用法及语法结构如下:```cswitch (表达式) {case 值1:// 当表达式的值等于值1时执行的代码break;case 值2:// 当表达式的值等于值2时执行的代码break;default:// 当表达式的值与所有case都不匹配时执行的代码break;}```问题3:循环语句的分类及语法结构C语言中的循环语句包括for循环、while循环和do-while循环。

c语言题库及详解答案百度文库

c语言题库及详解答案百度文库

c语言题库及详解答案百度文库C语言作为一门广泛应用的编程语言,其题库及详解答案在百度文库中有着丰富的资源。

以下内容将对C语言题库中的一些典型题目进行简要的介绍,并提供相应的详解答案。

1. 基础语法题- 题目:请写出一个C语言的Hello World程序。

- 解答:C语言中最基本的程序是打印"Hello World"。

以下是一个简单的示例:```c#include <stdio.h>int main() {printf("Hello, World!\n");return 0;}```2. 变量和数据类型题- 题目:如何声明一个整型变量并赋值?- 解答:在C语言中,声明一个整型变量并赋值可以通过以下方式实现:```cint number = 10;```3. 控制结构题- 题目:使用if语句判断一个数是否为正数。

- 解答:if语句用于条件判断,以下是一个示例代码:```cint num = 5;if (num > 0) {printf("%d is positive.\n", num);}```4. 循环结构题- 题目:使用for循环打印1到10的数字。

- 解答:for循环可以用于重复执行代码块。

以下是打印1到10的示例代码:```cfor (int i = 1; i <= 10; i++) {printf("%d ", i);}printf("\n");```5. 数组和字符串题- 题目:如何声明并初始化一个整型数组?- 解答:在C语言中,声明并初始化一个整型数组可以通过以下方式:```cint numbers[] = {1, 2, 3, 4, 5};```6. 函数题- 题目:编写一个函数,计算两个整数的和。

- 解答:函数是C语言中实现代码复用的一种方式。

以下是一个计算两个整数和的函数示例:```cint add(int a, int b) {return a + b;}```7. 指针题- 题目:使用指针交换两个变量的值。

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

1.定义3个整型变量x,y,z和一个实型变量averge,计算并输出3个整数的平均值averge,其中x=y=1,z=0。

#include <stdio.h>int main(){int x,y,z;float average=0;x=1,y=1,z=0;average=1.0*(x+y+z)/3;printf("%f\n",average);return 0 ;}2.针对上一题要求,采用从键盘用scanf()函数输入x,y,z的值。

要求输出结果的形式为averge=…。

#include <stdio.h>int main(){float x,y,z;float average=0;scanf("%f,%f,%f",&x,&y,&z);average=1.0*(x+y+z)/3;printf("averge=%f\n",average);return 0 ;}3.输入3个整数给a,b,c,然后交换它们中的数,把a中原来的值给b,把b 原来的值给c,把c中原来的值给a。

#include <stdio.h>int main(){int a,b,c;int m,n;scanf("%d,%d,%d",&a,&b,&c);m=b;n=c;b=a;c=m;a=n;printf("a=%d,b=%d,c=%d\n",a,b,c);return 0;}4.计算某个数x的平方y,并以算术公式的形式输出x和y的值#include <stdio.h>#include <math.h>int main(){float x,y;scanf("%f",&x);y=pow(x,2);printf("x=%f,y=%f",x,y);return 0;}5.把百分制成绩转换成5级记分制,要求用switch语句。

90分以上(包括90): A80至90分(包括80):B70至80分(包括70):C60至70分(包括60):D60分以下:E输入输出示例:Input Score: 86 86的等级为B。

#include <stdio.h>int main(){float score;printf("Score :");scanf("%f",&score);if(score>=90)printf("A");else if(score>=80)printf("B");else if(score>=70)printf("C");else if(score>=60)printf("D");elseprintf("E");return 0;}6.输入2005年的任一个月,输出这个月的天数,要求使用switch语句。

输入输出示例:Input month of 2005: 10 2005年10月有31天。

#include <stdio.h>int main(){int month;printf("Month:");scanf("%d",&month);switch(month){case 1:printf("31\n");break;case 2:printf("28\n");break;case 3:printf("31\n");break;case 4:printf("30\n");break;case 5:printf("31\n");break;case 6:printf("30\n");break;case 7:printf("31\n");break;case 8:printf("31\n");break;case 9:printf("30\n");break;case 10:printf("31\n");break;case 11:printf("30\n");break;case 12:printf("31\n");break;}return 0;}7.输入x,计算并输出下列分段函数f(x)的值。

#include <stdio.h>int main(){float x,y;printf("x: ");scanf("%f",&x);if(x<1)y=x;else if((1<=x&&x<10)y=2*x-1;elsey=3*x-11;printf("y=%f\n",y);return 0;}8.输入任意三个数n1,n2,n3,求其中最大的一个数。

#include <stdio.h>int main(){float a,b,c;scanf("%f, %f , %f ",&a,&b,&c);if(a<b)if(b<c)printf("%d\n",c);elseprintf("%d\n",b);elseif(a<c)printf("%d\n",c);elseprintf("%d\n",a);return 0;}9、输入两个数,要求均为正数,如果为负数,继续输入,否则跳出循环。

#include <stdio.h>int main(){int x,y;do{scanf("%d,%d",&x,&y);if(x*y>0&&x+y>0){printf("%d,%d",x,y);break;}elsecontinue;}while(1);return 0;}10、计算...21117113191511+-+-+-=s前20项的和,要求保留8位小数。

#include<stdio.h> #include<math.h>int main(){int sign;float n,x,s;x=1,s=0;n=1.0;sign=1;while(fabs(n)<=77) /*判断最后一项是否小于等于77*/{s=s+x;n=n+4;sign=-sign;x=sign/n;}printf("s=%.8f\n",s);return 0;}11、输入一个正整数,求它的各位数字之和及位数。

例如123的各位数字之和是6,位数是3.#include <stdio.h>int main(){int x,y,z;z=1,y=0;scanf("%d",&x);for(;;z++){y=y+x%10;x=(x-x%10)/10;if(x<1)break;}printf("Digit is%d\n",z);printf("Peace is%d",y);return 0;}12、输出101-115之间不能被3整除的数,每行输出5个。

要求使用continue语句。

#include <stdio.h>int main(){int a,b,c,d;a=101,b=1,c=0;for(;a<=115;a++){if(a%3!=0)printf("%d\n",a);c=c+1;d=c%5;if(d=0)printf("\n");}return 0;}13、找出200以内的所有完数,并输出其因子。

一个数如恰好等于它的因子之和,这个数称为完数,如6=1+2+3,其中1、2、3为因子,6为因子和。

#include <stdio.h>int main(){int x,m,n,i,j;for(x=0,i=1;i<=200;i++){for(j=1;j<i;j++){if(i%j==0)x=x+j;}if(x==i)printf("%d",i);}return 0;}14、输出如下图形:11231234512345671234567891234567123451231#include <stdio.h>int main(){int m,i,j,a,b,c;for(i=1;i<=5;i++){for(j=1;j<=5-i;j++)printf(" ");for(j=1;j<=2*i-1;j++)printf("%d",j);printf("\n");}for(i=6;i<=9;i++){for(j=1;j<=i-5;j++)printf(" ");for(j=1;j<=2*(5-i%5)-1;j++)printf("%d",j);printf("\n");}return 0;}15、输出以下图形:MMMMMMMMMMMMMMMMMMMMMMMMM#include <stdio.h>int main(){int x,y;for(x=1;x<=5;x++){if(x==5)printf("MMMMM");else if(x!=5)printf("MMMMM\n");}return 0;}16、用递归函数计算Xn的值。

#include <stdio.h>int f(int n, int x){if(n==0)return 1;elsereturn x*f(n-1, x);}int main(){int n,x;printf("Please input n,x:");scanf("%d,%d",&n,&x);printf("x^n=%d",f(n,x));return 0;}17、输出Fibonacci数列1,1,2,3,5,8,…的前20个数,每行输出5个。

相关文档
最新文档