C语言练习题精选
C语言100练习题

C语言百道练习题一、填空题1.C源程序的基本单位是【函数】。
2.一个C源程序至少应该包含一个【main函数】。
3.在一个C源程序中,注释用的分界符是【//】或【/* */】。
4.在C语言中,标准输入操作的库函数是由【scanf()】完成的,标准输出操作的库函数是由【printf()】完成的。
5.在C语言中,标识符只能由【字母】、【数字】和【下划线】组成,且首字符必须是【字母或下划线】。
6.x为double类型,代数式的C语言表达式是【sqrt(pow(sin(x),2.5))】。
7.数学中一元二次议程的求根公式的C语言表达式为(-b+sqrt(b*b-4*a*c) )/(2*a) 或(-b-sqrt(b*b-4*a*c) )/(2*a) 。
8.梯形的面积公式的C语言表达式为 1.0/2*(a+b)*h 。
9.已知:char a=' a',b=' b',c=' c',i;(已知a的ASCII码值为97)则表达式i=a+b+c的值为294 。
10.C语言中,指针运算符有* 和& 两个。
11.已知int a=12,n=5;则:表达式运算后a和n的值各为0,0 。
a+=aa-=2a*=2+3a/=a+an%=(n%=2)a+=a-=a*=a12.复合语句是用一对{ } 界定的语句块。
13.一般地,调用标准字符或格式输入输出库函数时,文件开头应有以下预编译命令:#include <stdio.h> 。
14.C语言提供三种逻辑运算符,按优先级高低它们分别是! ,&& ,|| 。
15. 将条件“y能被4整除但不能被100整除,或y能被400整除”写成逻辑表达式(y%4==0&&y%100!=0) ||(y%400==0) 。
16. 已知A=7.5,B=2,C=3.6,表达式A>B && C>A || A<B && !C>B的值是F/假。
C语言各章节练习题(含答案)

一、C语言概述练习题选择1.一个C程序的执行是从。
本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序文件的第一个函数开始,到本程序main函数结束D) 本程序的main函数开始,到本程序文件的最后一个函数结束2.以下叙述不正确的是。
A) 一个C源程序必须包含一个main函数 B)一个C源程序可由一个或多个函数组成C) C程序的基本组成单位是函数在C程序中,注释说明只能位于一条语句的后面3.以下叙述正确的是。
A) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误B) 在C程序中,main函数必须位于程序的最前面语言本身没有输入输出语句 D) C程序的每行中只能写一条语句4.一个C语言程序是由。
A)一个主程序和若干个子程序组成函数组成 C) 若干过程组成 D) 若干子程序组成二、数据类型、运算符与表达式选择. 1.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为。
x=(i=4,j=16,k=32) A) 4 B) 16 D) 522.下列四组选项中,均不是C语言关键字的选项是。
C) include case scanf D) while go pow3.下列四组选项中,均是不合法的用户标识符的选项是。
int C) float la0 _A D) -123 abc TEMP4.下列四组选项中,均是合法转义字符的选项是。
\”’‘\\’‘\n’ B)‘\’‘\017’‘\”’ C)‘\018’‘\f’‘xab’ D)‘\\0’‘\101’‘xlf’5.下面不正确的字符常量是。
“c”B) ‘\\’’C) ‘’D) ‘K’6.以下叙述不正确的是。
A) 在C程序中,逗号运算符的优先级最低 B) 在C程序中,MAX和max是两个不同的变量C) 若a和b类型相同,在计算了赋值表达式a=b后,b中的值将放入a中,而b中的值不变当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值7.以下叙述正确的是。
(完整版)C语言程序设计练习题(含程序及参考答案)

(完整版)C语⾔程序设计练习题(含程序及参考答案)C语⾔练习题(所提供的源程序均采⽤⾃定义函数⽅式解决,如不采⽤函数⽅式,也可直接在main函数中借鉴该思想编程,因时间有限,所有程序未能⼀⼀验证,仅供参考使⽤)1、定义⼀个函数int fun(int a,int b,int c),它的功能是:若a,b,c能构成等边三⾓形函数返回3,若能构成等腰三⾓形函数返回2,若能构成⼀般三⾓形函数返回1,若不能构成三⾓形函数返回0。
#includeint fun(int a,int b,int c){if(a+b>c && b+c>a && a+c>b){if(a==b && b==c )return 3;else if(a==b||b==c||a==c)return 2;else return 1;}else return 0;}void main(){int a,b,c,shape;printf("\nInput a,b,c: ");scanf("%d%d%d",&a,&b,&c);printf("\na=%d, b=%d, c=%d\n",a,b,c);shape =fun(a,b,c);printf("\n\nThe shape : %d\n",shape);}2、编写⼀个程序,将两个变量的值交换, 例如变量a中的值原为 3,b中的值原为8,程序运⾏后 a 中的值为8,b中的值为3。
#includevoid fun(int *x,int *y){int t;t=*x;*x=*y;*y=t}void main(){int a=3,b=8;printf("%d %d\n",a,b);fun(&a,b);printf("%d %d\n",a,b);}3、从键盘输⼊3个数,将最⼤值放在变量a中,最⼩值放在变量c中。
C语言题目及答案.

C语言题目及答案.目录1.Climb the Taishan Mountain(II)2.Peach3.逆序输出数列4.逆序数5.计算高度6.分解质因数7.输出数字8.Problem B:数字之和9.换零钱10.素数求和11.求阶乘和11.Problem F:求一批正整数中的偶数和12.统计各种字符个数13.求最大公约数14.求最大公约数15.零起点学算法101——统计字母数字等个数16.网站泄密17.老外买瓷砖18.堆瓷砖19.新年大酬宾20.定制瓷砖21.句子比较大小22.鹦鹉学舌3——C语言初学者百题大战之十三23.鹦鹉学舌2——C语言初学者百题大战之十二24.百鸡问题25.零起点学算法89——程序设计竞赛26.零起点学算法89——程序设计竞赛27.Problem A:计算数列和28.找钱问题29.Median30.素月31.输入任意N个数,求和32.多项式求和33.人口问题34.数字菱形Climb the Taishan Mountain(II)Time Limit:1000MS Memory Limit:65536KTotal Submit:753 Accepted:495DescriptionLabor day is coming.Since the holiday is long,Many students are planning to have a tour. The Taishan Mountain is very beautiful, so WangPeng and his classmates want to climb the Taishan Mountain. Mountaineering sports is WangPeng's avocation, so he is very excited. Suddenly, a very amusing idea comes to him. The Taishan Mountain has many stairs, and he can climb the mountain one step by 2 stairs or by 1 stairs. How many ways does he have to climb the mountain? For example, the stairs is 2, he has 2 ways.The first one is the first step by 1 stair, and the next step by 1 stair.And the second way is only one step by 2 stairs.InputThe input is including many test cases. Every line is one test case with a integer number N(N<=40). N is the stairs of the Taishan Mountain.OutputYou should output how many ways WangPeng can climb the mountain, each case output a line.Sample Input123Sample Output123#includeint main(){int n,i,j,a[41];while(scanf("%d",&n)!=EOF){a[0]=1;a[1]=2;{a[i]=a[i-1]+a[i-2];}printf("%d\n",a[n-1]);}}PeachTime Limit:1000MS Memory Limit:65536KTotal Submit:689 Accepted:495DescriptionAlmost all young man know Monkey Sun whose name is Sun Wukong. One day he steals many peaches from the kingdom of heaven. First day, he ate a half of the peaches, then ate another one of the left peaches.The next day, he ate a half of the leftpeaches, then another one.Until the n-th day ,before he ate he found only one peach. Please help Sun Wukong to calculate how many peaches he took from the kingdom of heaven.InputThe input file contains one or more test cases, each line is the days N(1 < n < 30). OutputFor each test case, output a line indicating the number of peaches Monkey Sun had the first day.Sample Input24Sample Output422#includeint main(){int n,t,i,s;while(scanf("%d",&n)!=EOF){t=1;s=0;{s=(t+1)*2;t=s;}printf("%d\n",t);}}循环练习a+b——C语言初学者百题大战之二十二Time Limit:1000MS Memory Limit:65536KTotal Submit:3739 Accepted:2513Description终于到循环结构了。
C语言基础练习100题(含答案)

C语言基础练习100题(含答案)雷柳青编排1、下面程序的输出是________#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=13C)k=11,k=013,k=0xb D)k=11,k=13,k=b2、在下列选项中,不正确的赋值语句是________。
A) ++t;B) n1=(n2=(n3=0));C)k=i=j;D)a=b+c=1;3、下面合法的C语言字符常量是__________。
A)’\t' B)"A" C) 65 D)A4、字符(char)型数据在微机内存中的存储形式是____。
A)反码B)补码C)EBCDIC码D)ASCII 码5、设int a=12,则执行完语句a+=a—=a*a后,a的值是________A)552 B) 264 C)144 D)-2646、执行下面程序中的输出语句后,输出结果是______.#include<stdio。
h>void main(){int a;printf("%d\n",(a=3*5,a*4,a+5));}A) 65 B)20 C) 15 D) 107、下面程序的输出是__________。
#include〈stdio。
h〉void main(){int x=023;printf("%d\n",—-x);}A)17 B) 18 C)23 D)24 8、下面程序的输出是___________。
#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)不确定的值9、以下程序的输出结果是________。
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语言基础知识1.1 选择题1. 以下不是C语言的特点的是()。
BA、语言简洁紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件操作D、C语言移植性好2. 下列字符序列中,不可用作C语言标识符的是()。
BA.abc123 B. C._123_ D._ok 3. 正确的C语言标识符是()。
AA._buy_2 B.2_buy C._buy D.buy4. 请选出可用作C语言用户标识符的一组标识符()。
BA.void B.a3_b3 C.For D.2a define _123 -abc DOWORD IF Case sizeof5. 下列符号中,不属于转义字符的是()。
BA.\\ B.\0xAA C.\t D.\06. 不属于C语言关键字的是()。
dA.int B.break C.while D.character 7. 是C语言提供的合法关键字的是()。
bA.Float B.signed C.integer D.Char8. 以下不能定义为用户标示符的是()。
bA.scanf B.Void C._3com_ D.int9. 一个C程序是由()。
bA.一个主程序和若干子程序组成B.一个或多个函数组成C.若干过程组成D.若干子程序组成10. C语言程序的基本单位是()。
cA.程序行 B.语句 C.函数 D.字符11. 下列说法中,错误的是()。
aA.每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号B.每个函数都有一个函数头和一个函数体,主函数也不例外C.主函数只能调用用户函数或系统函数,用户函数可以相互调用D.程序是由若干个函数组成的,但是必须有、而且只能有一个主函数12. 以下说法中正确的是()。
cA.C语言程序总是从第一个定义的函数开始执行B.在C语言程序中,要调用的函数必须在main( )函数中定义C.C语言程序总是从main( )函数开始执行D.C语言程序中的main( )函数必须放在程序的开始部分13. C编译程序是()。
C语言200道练习试题和答案
A)<=
B)=
C)%
D)&&
26.表达式(a=2,3) , a+1的值是【 C 】。
A)0 B)2
C)3
D)4
27.若执行printf("%d\n", strlen("a\n\"\x41"))语句其输 出结果是【 D 】。
A)8 B)7 C)6
D)4
28.在循环语句的循环体中执行break语句, 其作用是【 A 】。 A)跳出该循环体,提前结束循环 B)继续执行break语句之后的循环体各语句 C)结束本次循环,进行下次循环 D)终止程序运行
则输出是【 d 】 A)1234.56 1234 B)1234.57 1235 C)1234.56 1235 D)1234.57 1234
43.如果有
int a, b; scanf(“%d,%d”, &a, &b);语句,
则输入数据时,只可以用【 d 】作为输入的分隔符
A)TAB键 B)空格
C)回车
C)20,10 D)20,20
24.若有以下定义和语句 char c1='b',c2='e'; printf("%d,%c\n",c2-c1,c2-'a'+"A"); 则输出结果是【 B 】。
A)2,M B)3,E C)2,E D)输出项与对应的格式控制不一致,输出结果不确定
25.在以下一组运算符中,优先级最高的运算符是【 C 】
int i,j,k; scanf(“%d,%3d%d”,&i,&j,&k); printf(“%d,%d,%d\n”,i,j,k); A)12345678 B)123,456,78 C)123,45678 D)123,*45678
c语言试卷集(10套)-试题及答案
c语言试卷集(10套)-试题及答案C语言试卷集(10套)-试题及答案试卷一一、选择题(每题2分,共20分)1. C语言中,用于表示逻辑“真”的值是()。
A. 0B. 1C. -1D. 任意非零值答案:B2. 下列哪个选项是C语言中的合法变量名?()A. 2variableB. variable2C. variable_2D. variable!答案:C3. C语言中,用于定义一个整型数组的语句是()。
A. int array[10];B. int [10] array;C. int 10 array;D. int array=10;答案:A4. 下列哪个选项是C语言中的合法字符串常量?()A. "Hello"B. 'Hello'C. "HelloD. Hello答案:A5. C语言中,用于表示逻辑“假”的值是()。
A. 0B. 1C. -1D. 任意非零值答案:A6. 下列哪个选项是C语言中的合法浮点数常量?()A. 3.14B. 314.C. .314D. 3.14E答案:A7. C语言中,用于定义一个整型变量的语句是()。
A. int x;B. var x;C. x int;D. int = x;答案:A8. 下列哪个选项是C语言中的合法字符常量?()A. 'A'B. "A"C. 'AB'D. "AB"答案:A9. C语言中,用于定义一个字符数组的语句是()。
A. char array[10];B. char [10] array;C. char 10 array;D. char array=10;答案:A10. C语言中,用于表示字符常量的是()。
A. 'A'B. "A"C. AD. "A"答案:A二、填空题(每题3分,共15分)1. C语言中,用于定义一个整型变量并初始化为0的语句是()。
C语言编程题带答案
C语言编程题带答案题目 1:求两个整数的最大值```cinclude <stdioh>int max(int num1, int num2) {if (num1 > num2) {return num1;} else {return num2;}}int main(){int num1 = 10, num2 = 20;int maxValue = max(num1, num2);printf("最大值为: %d\n", maxValue);return 0;}```分析:在这个程序中,我们定义了一个名为`max` 的函数,它接受两个整数参数`num1` 和`num2` 。
通过使用条件判断语句`if` 来比较这两个数的大小,如果`num1` 大于`num2` ,则返回`num1` ,否则返回`num2` 。
在`main` 函数中,我们给定了两个整数`num1` 和`num2` 的值,并调用`max` 函数来获取它们中的最大值,最后使用`printf` 函数将最大值输出到控制台。
题目 2:计算一个整数数组的平均值```cinclude <stdioh>float average(int arr, int size) {int sum = 0;for (int i = 0; i < size; i++){sum += arri;}return (float)sum / size;}int main(){int arr ={10, 20, 30, 40, 50};int size = sizeof(arr) / sizeof(arr0);float avg = average(arr, size);printf("平均值为: %2f\n", avg);return 0;}```分析:在这个程序中,首先在`average` 函数里,我们初始化一个变量`sum` 为 0 ,用于存储数组元素的总和。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言练习题精选1. 从键盘上输入两个整数,求出它们的和#include "stdio.h"void main(){int x,y,s;scanf("%d",&x);scanf("%d",&y);s=x+y;printf("\\n s=%d",s);}2. 已知三角形的底和高,求出三角形的面积。
#include "stdio.h"void main(){int x,y;float s;x=4;y=5;s=x*y/2.0;printf("\\n s=%f",s);}3. 从键盘上输入三角形的底和高,求出三角形的面积。
#include "stdio.h"void main(){int x,y;float s;scanf("%d",&x);scanf("%d",&y);s=x*y/2.0;printf("\\n s=%f",s);}4. 已知三角形的三边长,求出三角形的面积。
#include "stdio.h"#include "math.h"void main(){int a,b,c;float p,s;a=3;b=4;c=5;p=(a+b+c)/2.0;s=sqrt(p*(p-a) *(p-b) *(p-c));printf("\\n s=%f",s);}5. 已知二元一次方程的三个系数,求方程的一个根。
#include "stdio.h"#include "math.h"void main(){int a,b,c;float root;a=3;b=4;c=5;root=(-b-sqrt(pow(b,2)-4*a*c))/(2.0*a);printf("\\n root=%f",root);}6. 编程实现符号函数。
当x <0 ,则sgn(x)=-1, 当x >0 ,则sgn(x)=+1, 当x =0 ,则sgn(x)=0 #include "stdio.h"void main(){float x;int y;scanf("%f",&x);if (x>0);y=1;if (x==0);y=0;if (x<0);y=-1;printf("\\n x=%f ,sgn(x)=%d",x,y);}或者:#include "stdio.h"void main(){float x;int y;scanf("%f",&x);if (x>0);y=1;else if (x==0);y=0;else;y=-1;printf("\\n x=%f ,sgn(x)=%d",x,y);}或者:#include "stdio.h"void main(){float x;int y;scanf("%f",&x);y=(x>0) ? 1: (x==0) ? 0 : -1;printf("\\n x=%f ,sgn(x)=%d",x,y);}7. 从键盘上输入数字星期,在屏幕上显示英文星期。
#include "stdio.h"void main(){float x;scanf("%f",&x);switch( x ){case0:printf("Sunday.\\n");break;case1:printf("Monday.\\n");break;case2:printf("Tuesday.\\n");break;case3:printf("Wednesday.\\n");break;case4:printf("Thursday.\\n");break;case5:printf("Friday.\\n");break;case6:printf("Saturday.\\n");break;default:printf("不存在这个星期!\\n");}}8. 从键盘输入三角形的三边长,判断出这三边能否构成三角形#include "stdio.h"void main(){int a,b,c;scanf("%d",&a);scanf("%d",&b);scanf("%d",&c);if ((a+b>c) && (a+c)>b) && (b+c)>a )printf("这三边能构成三角形!");elseprintf("这三边不能构成三角形!");}9. 从键盘输入三个整数,将这三个数按从大到小的顺序排列起来#include "stdio.h"void main(){int a,b,c,temp;scanf("%d",&a);scanf("%d",&b);scanf("%d",&c);if ((a>b) && (a>c) && (b>c))printf("这三数从大到小的顺序为:%d,%d,%d",a,b,c);if ((a>b) && (a>c) && (b<C))printf("这三数从大到小的顺序为:%d,%d,%d",a,c,b);if ((b>a) && (b>c) && (a>c))printf("这三数从大到小的顺序为:%d,%d,%d",b,a,c);if ((b>a) && (b>c) && (c>a))printf("这三数从大到小的顺序为:%d,%d,%d",b,c,a);if ((c>b) && (c>a) && (a>b))printf("这三数从大到小的顺序为:%d,%d,%d",c,a,b);if ((c>b) && (c>a) && (b>a))printf("这三数从大到小的顺序为:%d,%d,%d",c,b,a); }或者这样写:#include "stdio.h"void main(){int a,b,c,temp;scanf("%d",&a);scanf("%d",&b);scanf("%d",&c);if (a<B){temp=a;a=b;b=temp;}if (a<C){temp=a;a=c;c=temp;}if (b<C){temp=b;b=c;c=temp;}printf("这三数从大到小的顺序为:%d,%d,%d",a,b,c); }10. 从键盘输入二个整数,求出最大值。
#include "stdio.h"void main(){int a,b,temp;scanf("%d",&a);scanf("%d",&b);if (a>b)temp=a;elsetemp=b;printf("这二个整数最大值为%d",temp);}11. 从键盘输入三个实数,求出最大值。
#include "stdio.h"void main(){float a,b,c,temp;scanf("%f",&a);scanf("%f",&b);scanf("%f",&c);if (a>b)temp=a;elsetemp=b;if (temptemp=c;printf("这三数最大值为%f",temp);}12. 从键盘输入三个整数,在一个程序中既要求出最大值,还要求出最大值。
#include "stdio.h"void main(){int a,b,c,max,min;scanf("%d",&a);scanf("%d",&b);scanf("%d",&c);if (a>b){max=a; min=b;}else{max=b;min=a;}if (maxmax=c;if (min>c)min=c;printf("这三个整数最大值为:%d,最小值为:%d.",max,min);}13. 使用for循环编程求出1到100的和#include "stdio.h"void main(){int i,s=0;for (i=1;i<=100;i++)s=s+i;printf("\\ns= %d",s);}14. 使用当循环编程求出1到100的和#include "stdio.h"void main(){int i=1,s=0;while (i<=100){s=s+i;i++;}printf("\\ns= %d",s);}15. 使用当循环编程求出1到100的和#include "stdio.h"void main(){int i=1,s=0;do{s=s+i;i++;}while (i<=100);printf("\\ns= %d",s);}16. 从键盘输入10个实数,求出最大值#include "stdio.h"void main(){int i;float x,max;scanf("%f",&x);max=x;for (i=0;i<9;i++){scanf("%f",&x);if (max<X)max=x;}printf("这十数中的最大值为:%f",max); }15. 从键盘输入10个整数,求出最小值#include "stdio.h"void main(){int i x,min;scanf("%d",&x);min=x;for (i=0;i<9;i++){scanf("%d",&x);if (min>x)min=x;}printf("这十整数中的最小值为:%d",min); }16. 从键盘输入10个整数,求出它们的平均值#include "stdio.h"void main(){int i a[10],s=0;float aver=0.0;for (i=0;i<10;i++){scanf("%d",&a[i]);s=s+i;}aver=s/10.0;printf("这十整数中的平均值为:%f",aver); }17. 编程在屏幕上输出具有7行的正三角形*************************************************#include "stdio.h"void main(){int i ,j;for (i=0;i<7;i++){for (j=0; j<6-i; j++)printf(" ");for (j=0; j<=2*i+1; j++)printf("*");printf("\\n");}}18. 求出8的阶乘。