C语言课堂练习

合集下载

C语言初学者练习题目10条

C语言初学者练习题目10条

C语言初学者练习题目10条1. 关于C语言初学者练习题目10条在学习编程语言的过程中,练习题目是一个重要的环节,可以帮助初学者巩固基本知识和提升解决问题的能力。

本文将介绍10个适合C语言初学者的练习题目,并分析每个题目的解题思路。

题目一:输出Hello, World!这是C语言中最基础的练习题目,通过编写一个简单的程序来输出"Hello, World!",帮助初学者熟悉C语言的基本语法和编译运行过程。

题目二:计算两个整数之和编写一个程序,接收用户输入的两个整数,并输出它们的和。

这个练习可以让初学者熟悉C语言的基本输入输出操作和基本的数学运算。

题目三:判断一个数是否为素数编写一个程序,接收用户输入的一个整数,并判断该数是否为素数。

这个练习可以让初学者熟悉使用循环和条件语句进行判断,并学习如何优化算法以提高判断效率。

题目四:计算数组元素的平均值编写一个程序,接收用户输入的一个整型数组,并计算出数组元素的平均值。

这个练习可以让初学者熟悉数组的基本使用和循环的结合运用。

题目五:查找数组中的最大值和最小值编写一个程序,接收用户输入的一个整型数组,并找出数组中的最大值和最小值。

这个练习可以让初学者学习如何定义和使用函数,并加深对数组的理解。

题目六:实现简单的字符串翻转编写一个程序,接收用户输入的一个字符串,并将其翻转输出。

这个练习可以让初学者学习如何处理字符串类型的数据,并锻炼对数组和循环的综合运用能力。

题目七:实现简单的冒泡排序编写一个程序,接收用户输入的一个整型数组,并使用冒泡排序算法对数组进行排序。

这个练习可以让初学者深入理解冒泡排序算法的原理,并学习如何进行数组的元素交换。

题目八:实现简单的查找算法编写一个程序,接收用户输入的一个整型数组和一个目标值,在数组中查找目标值并输出其下标。

这个练习可以让初学者学习不同查找算法的实现原理,并熟悉如何使用循环进行遍历操作。

题目九:实现简单的递归算法编写一个程序,使用递归算法计算斐波那契数列的第n项值,并将其输出。

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语言程序设计课后习题及答案

c语言程序设计课后习题及答案C语言程序设计是计算机科学与技术专业的核心课程之一,它不仅教授了编程语言的基本知识,还培养了学生的逻辑思维能力和问题解决能力。

课后习题是巩固课堂学习内容的重要手段,以下是一些C语言程序设计的典型课后习题及答案。

习题1:基本数据类型编写一个程序,输入一个整数和一个浮点数,然后输出它们的和。

```c#include <stdio.h>int main() {int a;float b, sum;printf("请输入一个整数:");scanf("%d", &a);printf("请输入一个浮点数:");scanf("%f", &b);sum = a + b;printf("它们的和是:%f\n", sum);return 0;}```习题2:条件语句编写一个程序,根据输入的成绩判断学生的等级。

```c#include <stdio.h>int main() {float score;printf("请输入学生的成绩:");scanf("%f", &score);if (score >= 90) {printf("等级:A\n");} else if (score >= 80) {printf("等级:B\n");} else if (score >= 70) {printf("等级:C\n");} else if (score >= 60) {printf("等级:D\n");} else {printf("等级:F\n");}return 0;}```习题3:循环结构编写一个程序,计算1到100的整数之和。

C语言练习题(山东科技大学吐血整理)

C语言练习题(山东科技大学吐血整理)

数学11—1 C语言平时训练题1、算术基本运算Description计算两整数x和y(0〈x,y<1000)的和、差、积、商、余数、x的平方和y的三次方。

Input输入只有一行.Output输出为多行,按顺序每行输出x,y的和、差、积、商、余数、x的平方和y的三次方。

Sample Inputx = 11, y = 3Sample Outputx + y : 14x - y : 8x * y : 33x / y quotient: 3, remainder: 2x ^ 2 : 121y ^ 3 : 27Answer#include 〈stdio.h>int main(){int x,y,a,b,c,d,e,f,g;0<x〈1000,0<y<1000;scanf(”x = %d, y = %d”,&x,&y);a=x+y;b=x-y;c=x*y;d=x/y;e=x%y;f=x*x;g=y*y*y;printf(”x + y : %d\n”,a);printf("x - y :%d\n",b);printf("x * y : %d\n”,c);printf("x / y quotient: %d, remainder: %d\n”,d,e);printf(”x ^ 2 : %d\n”,f);printf(”y ^ 3 : %d\n”,g);return 0;}2、求圆的面积和周长Description从键盘输入圆的半径,求圆的面积和周长,圆周率取3.14。

Input输入一个浮点型数据,有效数字不会超过十进制的6位。

Output输出为两行。

第一行为圆的面积,第二行为圆的周长,格式见sample。

Sample Input3Sample OutputArea: 28。

260000Perimeter: 18.840000Answer#include〈stdio。

c语言入门练习题

c语言入门练习题

C语言入门练习题一、基础知识篇1.1 变量与常量1. 定义一个整型变量并赋值为10。

2. 声明一个浮点型常量,其值为3.14。

3. 将字符型变量 'A' 赋值给另一个字符型变量。

1.2 数据类型1. 将一个整型变量转换为浮点型变量。

2. 将一个长整型变量赋值给一个短整型变量。

3. 编写一个程序,输出不同数据类型所占的字节数。

1.3 运算符1. 计算5加3乘2的结果。

2. 判断两个整型变量是否相等。

3. 使用自增运算符使变量i的值增加1。

二、控制结构篇2.1 顺序结构1. 编写一个程序,输出1到10的整数。

2. 输出用户输入的两个整数中的较大值。

3. 计算并输出圆的面积(给定半径)。

2.2 选择结构1. 判断一个整数是正数、负数还是零。

2. 根据用户输入的成绩,输出对应的等级(A、B、C、D、E)。

3. 编写一个程序,实现石头剪刀布的游戏。

2.3 循环结构1. 计算1到100所有整数的和。

2. 输出所有的水仙花数(一个三位数,其各位数字的立方和等于该数本身)。

3. 使用循环结构输出九九乘法表。

三、函数篇3.1 函数定义与调用1. 编写一个函数,计算两个整数的和。

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

3. 创建一个函数,判断一个数是否为素数。

3.2 递归函数1. 使用递归函数计算斐波那契数列的第n项。

2. 编写一个递归函数,实现字符串的逆序输出。

3. 利用递归函数求解汉诺塔问题。

四、数组篇4.1 一维数组1. 初始化一个包含10个整数的数组,并输出其元素。

2. 计算一维数组中所有元素的和。

3. 找出一维数组中的最大值和最小值。

4.2 二维数组1. 创建一个3行4列的二维数组,并输出其元素。

2. 计算二维数组对角线元素的和。

3. 实现矩阵的转置。

五、指针篇5.1 指针基本操作1. 声明一个整型变量和一个指向该变量的指针,并输出指针所指向的值。

2. 使用指针实现两个整数的交换。

3. 编写一个函数,通过指针参数修改传入的字符串。

C语言上课编程练习题

C语言上课编程练习题
8
1! 2! 3! 4! i! 1 ... 2 3 3 5 3 5 7 3 5 7 9 3 5 ... (2 i 1)
输入一个整数 n,要求将其逆向输出。例如,输 输入两个正整数 a 和 n,求 a+aa+aaa+…+aa…a(n 验证哥德巴赫猜想: 任何一个不小于 6 的偶数均
money loan rate(1 rate) month (1 rate) month 1 (注:最新
5 年期以上贷款年
利率为 6.55%) 55. if、switch 题:输入月薪 salary,输出应缴的个人 所得税 tax (保留 2 位小数) 。 按照 2011 年实行的最 新 的 个 人 所 得 税 法 , 计 算 公 式 为 : tax=rate(salary-3500)-deduction。 当 salary<=3500 时,rate=0,deduction=0; 当 3500<salary<=5000 时,rate=3%,deduction=0; 当 5000<salary<=8000 时, rate=10%, deduction=105; 当 8000<salary<=12500 时, rate=20%, deduction=555; 当 当 12500<salary<=38500 38500<salary<=58500 时 , rate=25% , 时 , rate=30% , deduction=1005; deduction=2755;
14.
从键盘上输入一个秒数, 将其转换成对应的小时
数、分钟数和秒数。例如,输入 5000,则输出应为 “ 1 小时 23 分钟 20 秒 ” 。 15. 从键盘上输入一个天数, 将其转换成对应的年数、

C语言程序设计课堂练习题7-9章-学生用2

C语言程序设计课堂练习题第7章指针一、选择题1.已知p是一个整型指针变量,且p指向的是整型变量a的地址,则下列哪个语句是错误的?()A.*p=a;B. p=&a;C.p=&*p;D.p=*&p;2.下列哪一项是不正确的字符串赋值或不正确的赋初值的方式?()A. char *str;str=“string“;B.char str[7]={‟s‟, ‟t‟, ‟r‟, ‟i‟, ‟n‟, ‟g‟ };C. char str1[10];str1= “string“;D.char str1[]=“string“,*str2=”1234567”;3.对于类型相同的指针变量,不能进行()运算。

A. +B. -C. =D.==4.已知p是一个整型指针变量,a为一个一维整型数组,且p=a;则下列哪个语句是错误的?()A.*p=a[0];B. *p=*a;C. p=a+1;D.p=*a;5.若有以下说明语句,则p2-p1的值为()int a[10],*p1,*p2;p1=a;p2=&a[5];A. 5B. 6C. 10D.没有指针与指针的减法6.下列定义中不正确的是()A.int *p;B. int p[10];C.int (*p)()D.int *(p(n));7.以下程序的输出结果是()main(){int a[]={1,2,3,4,5,6},*p;p=a;printf(“%d,%d\n”,*p,*(p+4));}A. 0,5B.1,5C.0,6D.1,68.若有以下说明和语句,且0<=i<10,则下面哪个不是对数组元素地址的正确表示()。

int a[]={1,2,3,4,5,6,7,8,9,10},*p,i;p=a;A.&(a+1)B.a++C. &pD.&p[i]二、写出程序的输出结果1.main(){int a=10,b=20,s,t,m,*pa,*pb;pa=&a;pb=&b;s=*pa+*pb;t=*pa-*pb;m=*pa**pb;printf“s=%d\nt=%d\nm=%d\n“,s,t,m);}2.int a[][3]={9,7,5,3,1,2,4,6,8};int i,j,s1=0,s2=0;for(i=0;i<3;i++)for(j=0;j<3;j++){if (i==j) s1=s1+a[i][j];if(i+j==2) s2=s2+a[i][j];}printf(“%d\n%d\n”,s1,s2);}3.main(){int a[5]={1,3,5,7,9},*p,**k;p=a;k=&p;printf(“%d”,*(p+2));printf(“%d”,**k);}4.main(){int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23};int (*p)[4],i=2,j=2;p=a;printf(“%d”,*(*(p+i)+j)+*((a+i)+j)+**(p+i)+**p);}三、填空1.在空格地方填上语句,以实现字符串复制的功能。

C语言上机练习

第1次上机练习:根据课堂所讲的三个例题,完成如下功能:0.将三个例题录入编程环境,编译并运行。

1.修改例题2,从键盘读入三个整数,计算三个整数的和与积,并输出。

2.修改例题3,用子函数计算两个整数中的小值,主函数输出结果。

3.修改例题3,用子函数计算两个整数的差的绝对值(提示:先求解,后根据大小取相反数。

或者先比较大小,再相减)。

4.编写一个程序,从键盘读入一个字符,并输出。

("%c" 选作)5.编写一个程序,从键盘读入两个double类型数,计算并输入二者之和。

("%lf"选作)第2次上机练习:1.编写程序完成:从键盘读入10个整数,输出大于20的整数的个数。

2.编写程序完成:使用循环,计算1至5的和与积,并输出。

3.从键盘读入两个正整数x和y,计算x与y之间的整数和(含x和y),并不知道x,y中哪个大。

4.编写程序完成:从键盘读入20个整数,它们都是0-9之间的个位数,输出0-9元素的个数(例如0:1个,1:2个...9:1个)。

5.完成教材141页,11题。

(参考答案:第10次落地经过299.609375米,第10次弹起距离0.097656米,选作)。

6.思考教材141页,12题。

(参考答案:total=1534)第3次上机练习:1.从键盘读入10个整数(包括正数、负数和0),输出其中的最大值和最小值。

2.从键盘读入一个正整数,输出各个位数字之和。

(用%取余数,用x/10获取下次循环的数值)3.从键盘读入n,求解1!+2!+3!+...+n!。

(n不要太大否则可能溢出)4.从键盘读入整数,当读入0时结束循环,输出正数和负数各有多少个。

5.输入一行字符,分别统计其中字母、数字和空格的个数。

(用while((ch1=getchar())!='\n')来判断是否结束输入,用&&表示并且,例如if(ch1>='a'&&ch1<='z')。

c语言入门100题

c语言入门100题C语言是一种广泛应用于计算机编程的高级编程语言,它简洁、高效、灵活,被广泛应用于软件开发、嵌入式系统、游戏开发等领域。

对于初学者来说,掌握C语言的基本语法和常用函数是非常重要的。

下面将介绍一些C语言入门的100道题目,帮助初学者快速入门。

1. 输出"Hello, World!"。

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. 输入一个字符串,将其中的标点符号移到字符串的开头。

C语言课件第05章选择结构课堂练习

=n) { printf("请输入第%d个人的成绩:",i); scanf("%d",&score); if (score>100 || score<0) { printf("成绩不合法,请重新输入\n"); continue; } grade=score/10; switch(grade) { case 10: case 9: a_count++;break; case 8: b_count++;break; case 7:c_count++;break; case 6:d_count++;break; default:f_count++; } i++; }
9
求完数
一个数如果恰好等于它的因子之和,这个数 称为“完数”,编写程序找出1000以内的 所有完数。
10
#include <stdio.h> void main() { int i,n,s; for(n=1;n<=1000;n++) { s=0; for (i=1;i<n;i++) { if(n%i==0) s+=i; } if(n==s) printf("%d is a perfect digit\n",n); } } 11
4
switch (rank) { case 0: reward=profit*0.1; break; case 1: reward=100000*0.08+(profit-100000)*0.075; break; case 2: case 3: reward=100000*0.08+100000*0.06+(profit-200000)*0.05; break; case 4: case 5: reward=100000*0.08+100000*0.06+200000+0.04+(profit400000)*0.03; break; case 6: reward=100000*0.08+100000*0.06+200000*0.04+200000*0.03+ (profit-600000)*0.015; } printf("该员工的利润为%.2f元,应得奖金%.2f元 \n",profit,reward); 5 }
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档