C语言作业
c语言大作业综合
c语言大作业综合第一章C语言简介及算法一.选择题1.一个C程序可以包含的函数。
A.一个B.多个C.若干D.任意2.下面不可以使用来编译和连接一个C 程序。
A.TurboCB.VC++C.C语言编译器D.BC3.C语言的程序一行写不下时,可以。
A.用逗号换行B.用分号换行C.在任意一空格处换行D.用回车符换行4.C控制语句有种。
A.6B.9C.32D.345.复合语句是用一对界定的语句块。
A.{}B.[]C.()D.”6.一个C程序的执行总是从该程序的函数开始,在函数最后结束。
A.第一个、最后一个B.main、mainC.主函数、最后一个D.第一个、第一个7.C语言提供的合法的数据类型关键字A.FloatB.ignedC.integerD.Char8.在以下各组标识符中,合法的标识符是(1)A.B01B.table_1C.0_tD.k%(2)A.Fat_B.voidC.pblD.(3)A.某y_B.longdoubleC.某pD.CHAR(4)A.jB.IntC._某yD.w_y239.C语言的标识符里不能有A.大小写字母B.数字C..D.下划线二.填空题1.C程序是由构成的,一个C程序中至少包含因此,是C程序的基本单位。
2.C程序注释是由和所界定的文字信息组成的。
3.函数体一般包括和4.算法是解决问题的和的描述。
5.C程序的注释部分可以出现在程序的位置,它对程序的编译和运行作用,但是可以增加程序的第二章C语言数据类型、基本运算及简单程序设计一.选择题1.不合法的字符常量是A.‘\\t’B.“A”C.‘a’D.’\\某32’2.逻辑运算符两侧运算对象的数据类型。
A.只能是0或1B.只能是0或非0正数C.只能是整型或字符型数据D.可以是任何类型的数据3.下列表达式中,不满足“当某的值为偶数时值为真,为奇数时值为假”的要求。
A.某%2==0B.!某%2!=0C.(某/2某2-某)==0D.!(某%2)4.下面选项中,不是合法整型常量的是A.160B.-0某cdgC.-01D.-0某48a5.能正确表示“当某的取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是。
c语言作业
作业一C语言概述一、选择题1-个C程序的执行是从A.本程序的main函数开始,到main函数结束B.本程序文件的第-个函数开始,到本程序文件的最后-个函数结束C.本程序的main函数开始,到本程序文件的最后-个函数结束D.本程序文件的第-个函数开始,到本程序main函数结束2以下叙述正确的是:A.在C程序中,main函数必须位于程序的最前面B.C程序的每行中只能写-条语句C.C语言本身没有输入输出语句D.在对-个C程序进行编译的过程中,可发现注释中的拼写错误3以下叙述不正确的是A.-个C源程序可由-个或多个函数组成B.-个C源程序必须包含-个main函数C.C程序的基本组成单位是函数D.在C程序中,注释说明只能位于-条语句的后面4C语言规定:在-个源程序中,main函数的位置A.必须在最开始B.必须在系统调用的库函数的后面C.可以任意D.必须在最后5-个C语言程序是由A.-个主程序和若干子程序组成B.函数组成C.若干过程组成D.若干子程序组成二、编程题编写一个C程序,输出以下信息:****************************************Hello,world!****************************************作业二程序的灵魂——算法一.填空题1.算法的五个特性是指:有穷性、、、、。
2、三种基本的程序结构是:、、。
3、程序中的子模块在C语言中用来实现。
作业三数据类型、运算符与表达式一、选择题1以下结果为整数的表达式(设有int i;char c;float f;)( ).A.i十f B.i*c C.c十f D.i十c十f2以下不正确的语句(设有int p,q)是( )。
A.P*=3; B.p/=q; C.p十=3; D.p&&=q;3以下使i的运算结果为4的表达式是( )。
A.int i=0,j=0;(i=3,(j十十)十i);B.int i=1,j=0;j=i=((i=3)*2);C.int i=0,j=1;(j==1)?(i=1);(i=3);D.int i=1,j=1;i+=j十=2;4下列四组选项中,均不是C语言关键字的选项是( ).A)define B)getc C)include D)whilei f char sanf gotype printf case pow5下列四个选项中,均是C语言关键字的选项是( )。
C语言练习作业及参考答案
二、选择题
1、在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为____A___。
A) char<int<long int<=float<double
B) char=int <long int<=float<double
B)C程序的每行中只能写一条语句
C)C语言本身没有输入输出语句
D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误
7、以下叙述不正确的是___D_____。
A)一个C源程序可由一个或多个函数组成
B)一个C源程序必须包含一个main函数
C)C程序的基本组成单位是函数
D)在C程序中,注释说明只能位于一条语句的后面
longd=32768;
float e=4.56;
b=a;
a=c=d;
printf("%d,%u,%u,%ld\n",a,b,c,d);
a=e;
printf("%d,%f\n",a,e);
ห้องสมุดไป่ตู้return 0;
}
本题假设int型数据占两个字节。
(提示:%u表示以无符号整型的格式输出;%ld表示以长整型的格式输出)
8、C语言规定:在一个源程序中,main函数的位置是___A_____。
A)必须在最开始
B)必须在系统调用的库函数的后面
C)可以任意
D)必须在最后
习题
一、程序题
1、阅读程序写运行结果
(1)#include <stdio.h>
int main()
c语言作业
1、用下面的scanf函数输入数据,使a=10, b=20, c1='A', c2='a', x=1.5, y=-3.75, z=67.8,请问在键盘上如何输入数据?scanf("%5d%5d%c%c%f%f%*f,%f", &a,&b,&c1,&c2,&x,&y,&z);2、设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。
用scanf函数输入数据,输出计算结果,输出时要求有文字说明,取小数点后2位数字第三次作业1、有3个整数a,b,c,由键盘输入,输出其中最大的数。
2、有一个函数:x x<1y= 2x-1 1<=x<103x-11 x>=10写一段程序,输入x,输出y的值。
3、给出一百分制成绩,要求输出成绩等级A、B、C、D、E。
90分以上为A,80-89分为B,70-79为C,60-69为D,60分以下为E。
4、给一个不多于5位的正整数,输出这个数是几位数。
第四次作业1、给一个不多于5位的正整数,要求:a.求出它是几位数;+b.分别输出每一位数字;c.按逆序输出各位数字,例如:原数为321,应输出123。
2、教材P112页第5.8题(if语句解法创建一个独立文件,switch语句解法创建一个独立文件第五次作业1、输入两个正整数m和n,求其最大公约数和最小公倍数。
(经典题)2、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数,并输出。
3、求s=a+aa+aaa+aaaa+....+(a...a)之值,其中a是一个数字,n表示a的位数。
1、输入两个字符串,使用指针p将两个字符串按次序复制到数组c中。
例:输入“zhe"和"jiang",将"zhejiang"保存在数组c中。
C语言基础知识作业(含解答)
基础知识作业解答(1)一、选择题:1.下面叙述错误的是:a)C程序中,各种括号应成对出现。
b)C程序中,赋值号的左边不可以是表达式。
c)C程序中,变量名的大小是有区别的。
d)C程序中,若未给变量赋初值,则变量的初值自动为0。
答案:d)解答:C程序中,若未给变量赋初值,则变量的初值不一定为0。
按变量被定义的位置来区分,变量可分为局部变量和全局变量;在{ … } 之间定义的变量称为局部变量,编译系统对局部变量是不进行初始化的,即,不赋初值。
未赋初值的局部变量的值为机内随机值。
在{ … } 之外定义的变量称为全局变量,编译系统自动对全局变量进行初始化。
未赋初值的全局部变量的值为0。
2.下面叙述正确的是:a)C程序中的变量定义语句可以写在函数体中任何位置。
b)C程序中不能有空语句。
c)C程序中的变量必须先定义后使用。
d)C程序中所有简单数据类型都可以准确无误的表示。
答案:c)解答:C程序中,变量定义语句的作用是通知编译系统为变量分配存储空间,所以必须先定义后使用。
3.以下合法的用户标识符的是:a)long b)\t c)5a d)user答案:d)解答:C程序中,合法的用户标识符的定义是:以字母或下划线开头的由字母、数字和下划线组成的字符串,不可以使用系统的关键字作为用户的标识符。
常见的关键字有:int, float ,char ,double ,long, short,unsigned,if,switch,case,break, continue ,do ,for ,while ,struct ,union, auto, static, extern, register;标准函数名可以用作用户标识符,但不提倡。
4.C程序中,合法的关键字的是:a)Float b)while c)Int d)Integer答案:b)5.下面选项中,优先级最高的运算符是:a)&& b)/= c) ! d)<=答案:c)6.下面选项中,优先级最低的运算符是:a)!= b) || c)++ d),答案:d)7.C程序中,运算对象必须为整型数据的运算符是a)++ b) % c) / d) *答案:b)8.假设x,y,z为整型变量,且x=2,y=3,z=10,则下列表达式中值为1的是:a)x && y||z b)x>z c) (!x && y)||(y>z) d)x && !z ||!(y && z)答案:a)解答:C程序中,进行逻辑运算时,所有的非0数都处理成逻辑真;0处理成逻辑假。
c语言作业
排序问题 if ( a < b )
两个数排序? { tif=(aa; <a =b )b; b = t; }
!? 三四10个个0个数数数排排排序序序???i{i{i{i{i{i{ifffffff (((((((tttttt{aaaabbb======有t<<<<<<<aababa=;;;;小;;bccdccd点aaaabba)))))));====小==ca儿bccdcca=;;;;;;儿scc…bccdbe==;====科!btttttt;;;;;;=!}}}}}}t; } { t = b; b = d; d = t; } if ( c < d ) { t = c; c = d; d = t; }
语句2;
else
语句3;
语句4;
}
例如:作业 P140.8 求水仙花数。
跳转到第一页
第八节 break 、continue语句
功能 (1)break:强行结束循环,用于跳出循环和switch 结构。 (2)continue:用于结束本次循环。
跳转到第一页
最有代表性的循环算法:穷举与迭代
1、穷举:对问题的所有可能状态一一测试,直到 求解。
循环控制的办法:计数法 与标志法。
计数法,先确定循环次数 ,然后逐次测试,完成测 试次数后,循环结束。
标志法,是达到某一目标 后,使循环结束。
例:int s=0; while(s!=1) { if(条件) s=1; }
…
跳转到第一页
[例6.13]:百钱买百鸡(二重穷举算法) 《算经》:鸡翁一值钱五,鸡母一值钱三,鸡雏三 值钱一。百钱买百鸡,问鸡翁、母、雏各几何? (1)基本解题思路
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、执⾏ int a=10; printf(“%d”,a++); 后输出结果和 a 的值分别是 ( )A. 11 和 10B. 11 和 11C. 10 和 11D. 10 和 102、能正确表达逻辑关系或的C语⽂表达式是 ( );;; D. a >= 10 || a <= 03、 char a[]={'A','B','C'};char b[]="ABC";数组a和数组b 占⽤的内存空间关系是 ( )A. ⼀样B. a的空间⼩于b的空间C. ⽆法⽐较D. a的空间⼤于b的空间4、在C 语⾔中,形参的缺省存储类是()。
A. autoB. registerC. staticD. extern5、C 语⾔源程序的基本单位是 ( ).A. 过程B. 函数C. ⼦程序D. 标识符6、以下标识符中,不能作为合法的C ⽤户定义标识符的是()。
A. answerB. toC. signedD. _if7、算法的有穷性是指 ( )A. 算法程序的运⾏时间是有限的D. 算法只能被有限的⽤户使⽤8、以下选项中可作为C语⾔合法常量的是 ( )A. -80B. -080C. -8e1.0D. -80.0e9、若有语句:char *line[5];, 以下叙述中正确的是 ( )A. line是⼀个数组, 每个数组元素是⼀个基类型为char为指针变量B. line是⼀个指针变量,该变量可以指向⼀个长度为5的字符型数组C. line是⼀个指针数组,语句中的*号称为间址运算符D. line是⼀个指向字符型函数的指针10、下⾯程序的输出结果是 ( )main(){ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;printf("%d\n",*(p+2));}A. 3B. 4C. 1D. 2⼆、填空题(每空 3 分,共 30 分)1、算法是。
c语言作业
作业11、 已知长方体的长a=3,宽b=4,计算并输出长方体的的周长与面积。
#include <stdio.h> main() {int a,b,c,s; a=3; b=4;c=(a+b)*2; s=a*b;printf("c = %d, s= %d\n", c, s); getch();}总结:变量先定义,再赋值,然后引用。
2、根据自由落体运动公式:h=221gt 计算物体10秒后下落的距离。
#include <stdio.h> main() {double g,h,t; g=9.8; t=10;h=g*t*t/2;printf(" h= %lf",h); getch();}总结:注意编写算式时的顺序,符号,特殊要求等。
3、编程计算下列分段函数,请调用sqrt(x)函数求平方根(头文件math.h )。
#include <math.h> int main(void) {double x, y;printf("Enter x:\n"); scanf("%lf", &x); if(x <0)y=x*x*x+2*x*x+x+1;elsey=sqrt(x);printf(" %lf\n", y);getch();}总结:注意用相应的头文件。
第2次作业1、编写程序,输入一个正数n,求 #include <stdio.h>int main(void){int i, n;double sum;printf("Enter n:"); scanf("%d", &n);sum = 0;⎪⎩⎪⎨⎧≥<+++=0,0,1223x x x x x x y ∑=ni i 11for (i = 1; i <= n; i++) {sum = sum +1.0/i; }printf("sum=%lf\n",sum); getch(); return 0; }总结:程序中的算式也遵循先乘除后加减的原则. 2、编写程序,输入一个正数n,求的前n 项之和。
C语言200道练习题及答案
一维数组
题目1
题目2
题目3
题目4
求一维数组中的最大值 和最小值。
将一维数组中的元素逆 序存放。
查找一维数组中指定的 元素,并返回其下标。
求一维数组中所有元素 的和。
二维数组
题目5
题目6
求二维数组中所有元素的最大值和最小值 。
将二维数组转置,即行列互换。
题目7
题目8
查找二维数组中指定的元素,并返回其位 置。
C语言200道练习题 及答案
汇报人:XX
目录
• 基础知识练习题 • 数组与字符串练习题 • 函数与模块化练习题 • 指针与内存管理练习题 • 数据结构与算法练习题 • 综合应用练习题
01
基础知识练习题
变量与数据类型
声明整型变量并赋值
int a = 10;
声明字符型变量并赋值
char c = 'A';
代码优化
通过减少不必要的计算、消 除冗余代码等方式对代码进 行优化。
并行计算与多线程
了解并行计算和多线程的基 本概念,探索在程序中应用 并行计算和多线程技术提高 性能的可能性。
THANKS
感谢观看
掌握如何使用malloc()、calloc() 等函数在堆区动态分配内存空间
。
动态内存释放函数
了解如何使用free()函数释放之前 分配的内存空间,以避免内存泄漏 。
内存分配失败处理
熟悉在动态内存分配过程中,如何 处理分配失败的情况,如检查返回 值是否为NULL等。
05
数据结构与算法练习题
结构体与联合体
01
掌握如何定义指向函数的指针变量,以及如何通过函数指针调
用函数。
c语言作业答案
No.: Name:第1讲C语言概述注:本系列习题中符号表示一串字符中的空格;符号表示下划线;符号ê表示换行回车;即键盘上Enter键..一、选择题1. 一个C程序的执行是从A ..A 本程序main函数开始;到main函数结束B 本程序文件第一个函数开始;到最后一个函数结束C 本程序文件第一个函数开始;到本main函数结束D 本程序main函数开始;到本程序文件最后一个函数结束2. 以下叙述不正确的是D ..A 一个C源程序必须包含一个main函数B 一个C源程序可由一个或多个函数组成C C程序的基本组成单位是函数D 在C程序中;注释说明只能位于一条语句的后面3. 以下叙述正确的是C ..A 在对一个C程序进行编译的过程中;可发现注释中的拼写错误B 在C程序中;main函数必须位于程序的最前面C 语言本身没有输入输出语句D C程序的每行中只能写一条语句4. 一个C语言程序是由B ..A 一个主程序和若干个子程序组成B 函数组成C 若干过程组成D 若干子程序组成5. 以下叙述中正确的是C ..A C语言比其他语言高级B C语言可以不用编译就能被计算机识别执行C C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D C语言出现的最晚;具有其他语言的一切优点6. 下列叙述中正确的是D ..A C语言编译时不检查语法B C语言的子程序有过程和函数两种C C语言的函数可以嵌套定义D C语言的函数可以嵌套调用7. 以下叙述中正确的是A ..A 构成C程序的基本单位是函数B 可以在一个函数中定义另一个函数C main函数必须放在其他函数之前D 所有被调用的函数一定要在调用之前进行定义8. C语言规定;在源程序中;main函数的位置C ..A 必须在最开始B 必须在系统调用的库函数的后面C 可以任意D 必须在最后9. 下列选项中不是结构化程序基本结构的是B ..A 顺序结构B 分支结构C 选择结构D 循环结构10. 下列四组选项中;均不是C语言关键字的是A ..A define IF typeB getc char printfC include case scanfD while go pow11. 下列四组选项中;均是不合法的标识符的是B ..A W P 0 doB b-a goto intC float la0 AD -123 abc TEMP12. 下列可用于C语言标识符的一组是B ..A void; define; WORDB a3 b3; 123; CarC For; -abc; IF CaseD 2a; DO; sizeof13. 以面的C程序中;错误的是D ..A mainB main{ int x;y;z; { int x;y;z;x=0;y=x-1; x=0;y=x+1;z=x+y;} z=x+y;}C mainD main{ int x;z; { int x;y;z;int y; x=0;y=x+1;x=0;y=x+1; z=x+y;}z=x+y;}14. C语言中的标识符只能由字母;数字和下划线三种字符组成;且第一个字符C ..A 必须为字母B 必须为下划线C 必须为字母或下划线D 可以是字母;数字和下划线中任一字符15. 下面各选项中;均是C语言标识符的选项组是B ..A 33 we autoB 23 me 3ewC 43 3e elseD ER -DF 32二、填空题1. 国际上C语言常见的三个标准是:标准C 、ANSI C 和ISO C ..2. C语言源程序的文件格式为.c和.h ..3. 请描述C程序中main函数的作用:接受系统调用;开始程序的执行;直至程序结束..三、程序编写题请在本页背面作答1. 编写一个C程序;输出以下信息Very Good2. 编写程序;实现求整数10、20和35的平均值提示:注意给出的是三个整数;求出的平均值不是整数1No.: Name:第2讲C语言基本数据类型一、选择题1. 若x、i、j、k都是int型变量; 则计算下面表达式后;x的值为C ..x=i=4;j=16;k=32A 4B 16C 32D 522. 下列四组选项中;均是合法转义字符的是A ..A ‘\"’ ‘\\’ ‘\n’B ‘\’ ‘\017’ ‘\"’C ‘\018’ ‘\f’ ‘xab’D ‘\\0’ ‘\101’ ‘xlf’3. 下面正确的字符常量是D ..A "c"B ‘\\’’C ‘’D ‘K’4. 以下叙述不正确的是D ..A 在C程序中;逗号运算符的优先级最低B 在C程序中;MAX和max是两个不同的变量C 若a和b类型相同;在计算了赋值表达式a=b后;b中的值将放入a中;b中的值不变D 从键盘输入数据时;对于整型变量只能输入整型数值;对于实型变量只能输入实型数值5. 以下叙述正确的是C ..A 在C程序中;每行只能写一条语句B 若a是实型变量;C程序中允许赋值a=10;因此实型变量中允许存放整型数C 在C程序中;%是只能用于整数运算的运算符D 在C程序中;无论是整数还是实数;都能被准确无误地表示6. 已知字母A的ASCII码为十进制数65;且c2为字符型;则执行语句c2=‘A’+‘6’-‘3’后;c2的值为A ..A DB 68C 不确定的值D C7. sizeoffloat是B ..A 一个双精度型表达式B 一个整型表达式C 一种函数表达式D 一个不合法的表达式8. 设C语言中;一个int型数据在内存中占2个字节;则unsigned int 型数据的取值范围为C ..A 0~255B 0~32767C 0~65535 D9. 设有说明:char w; int x; float y; double z;则表达式wx+z-y值的数据类型D ..A floatB charC intD double10. 设以下变量均为int类型;则值不等于7的表达式是C ..A x=y=6;x+y;x+1B x=y=6;x+y;y+1C x=6;x+1;y=6;x+yD y=6;y+1;x=y;x+111. C语言中的基本数据类型包括B ..A 整型、实型、逻辑型B 整型、实型、字符型C 整型、字符型、逻辑型D 字符型、实型、逻辑型12. 若变量已正确定义并赋值;以下符合C语言语法的表达式是B ..A a:=b+1B a=b=c+2C int 18.5%3D a=a+7=c+b13. C语言中运算对象必须是整型的运算符是A ..A %=B /C =D <=14. 若变量a;i已正确定义;且i已正确赋值;合法的语句是B ..A a==1B ++i;C a=a++=5;D a=inti;15. int a=7;float x=2.5;y=4.7;则表达式x+a%3intx+y%2/4的值是A ..A 2.500000B 2.750000C 3.500000D 0.00000016. 在16位C编译系统上; 若定义long a;; 则能给a赋40000的正确语句是D ..A a=20000+20000;B a=400010;C a=30000+10000;D a=4000L10L;17. 设有int x=11;则表达式x++1/3的值是A ..A 3B 4C 11D 1218. 下列数据中;不合法的C语言实型数据的是C ..A 0.123B 123e3C 2.1e3.5D 789.019. 若变量a是int类型;并执行了语句:a=‘A’+1.6;;则正确的叙述是D ..A a的值是字符CB 不允许字符型和浮点型相加C a的值是浮点型D a的值是字符‘A’的ASCII值加上120. 设变量n为float类型;m为int类型;则以下能实现将n中的数值保留小数点后两位;第三位进行四舍五入运算的表达式是B ..A n=n100+0.5/100.0B m=n100+0.5;n=m/100.0C n=n100+0.5/100.0D n=n/100+0.5100.021. 下面四个选项中;均是不正确的8进制数或16进制数的选项是D ..A 016 0x8f 018B 0abc 017 0xaC 010 -0x11 0x16D 0a12 7ff -12322. 以下选项中;与k=n++完全等价的表达式是A ..A k=n;n=n+1B n=n+1;k=nC k=++nD k+=n+123. 下面均是合法整型常量的选项是A ..A 160 -0xffff 011B -0xcdf 01a 0xeC -01 986012 0668D -0x48a 2e5 0x24. 假定x和y为double型; 则表达式x=2;y=x+3/2的值是D ..A 3.500000B 3C 2.000000D 3.00000025. 以下变量x;y;z均为double类型且已正确赋值;不能正确表示数学式子x÷y÷z的C语言表达式是A ..A x/yzB x1/yzC x/y1/zD x/y/z26. 已知int k;m=1;执行语句k=-m++;后;k的值是A ..A -1B 0C 1D 227. 已知int m;float k;正确的语句是D ..A int k%mB intk%mC intk%mD intk%m28. 不能进行++和--运算的数据类型为D ..A 指针B 整型C 长整型D 常量2No.: Name:29. putchar函数可以向终端输出一个D ..A 整型变量表达式B 实型变量值C 字符串D 字符或字符型变量值30. printf函数中用到格式符%5s;其中数字5表示输出的字符串占用5列..字符串长度大于5;则输出按方式B ;如果字符串长度小于5;则输出按方式C ..A 从左起输出该字符串;右补空格B 按原字符长从左向右全部输出C 右对齐输出该字符串;左补空格D 输出错误信息31. 阅读以下程序;当输入数据的形式为:25;13;10ê;则正确的输出结果为D ..main{ int x;y;z;scanf "%d%d%d";&x;&y;&z;printf "x+y+z=%d\n";x+y+z;}A x+y+z=48B x+y+z=35C x+z=35D 不确定32. 根据下面的程序及数据的输入和输出形式;程序中输入语句的正确形式应该为A ..main{ char ch1;ch2;ch3;输入语句printf "%c%c%c";ch1;ch2;ch3;}输入形式:A B C输出形式:A BA scanf"%c%c%c";&ch1;&ch2;&ch3;B scanf"%c;%c;%c";&ch1;&ch2;&ch3;C scanf"%c %c %c";&ch1;&ch2;&ch3;D scanf"%c%c";&ch1;&ch2;&ch3;33. 已知ch是字符型变量;下面不正确的赋值语句是A ..A ch=‘a+b’;B ch=‘\0’;C ch=‘7’+‘9’;D ch=5+9;34. 若变量已正确说明为float型;要通过语句scanf "%f%f%f";&a;&b;&c;给a赋予10.0;b赋予22.0;c赋予33.0;下列不正确的输入形式是B ..A 10ê22ê33B 10.0;22.0;33.0êC 10.0ê22.0 33.0êD 10 22ê33ê35. 下列程序段的输出结果是: C ..int a=1234; float b=123.456;double c=12345.54321;printf"%2d;%2.1f;%2.1f";a;b;c;A 无输出B 12;123.5;12345.5C 1234;123.5;12345.5D 1234;123.4;1234.536. 已有定义int a=-2;和输出语句printf"%8lx";a;以下正确的叙述是D ..A 整型变量的输出形式只有%d一种B %x是格式符的一种;可适用于任何一种类型的数据C %x是格式符的一种;其变量的值按十六进制输出;但%8lx是错误的D %8lx不是错误的格式符;其中数字8规定了输出字段的宽度二、填空题1. 若有定义:int m=5;y=2;;则计算表达式y+=y-=m=y后的y值是-16 ..2. 在C语言中;一个int型数据在内存中占2个字节;则int型数据的取值范围为-32768 32767 ..3. 若a是int型变量;则计算表达式a=25/3%3后a的值为2 ..4. 若x和n均是int型变量;且x和n的初值均为5;则计算表达式x+=n++后x的值为10 ;n的值为6 ..5. 若有定义:char c="\0108F\0";则字符串c中包含的字符个数为5 ..6. 定义int a=5;b;;则执行表达式b=++a--a之后;变量b的值为25 ..7. 已知字母a的ASCII码为十进制数97;且设ch为字符型变量;则表达式ch=‘a’+‘8’-‘3’的值为102或‘f’ ..8. 以下程序段的输出结果是i:dec=-4;oct=177774;hex=fffc;unsigned=65532 ..main{ short i; i=-4; printf"\ni:dec=%d;oct=%o;hex=%x;unsigned=%u\n";i;i;i;i;}9. 假设变量a和b均为整型;请填空使得以下语句可以不借助任何变量把a、b中的值进行交换..a+= b ; b=a- b ; a-= b ;10. 有一输入语句scanf"%d";k; 则不能使float类型变量k得到正确数值的原因是:1 k应该加上取地址符号&;成为&k 和2 float型数据不能用%d格式来输入..三、程序编写题请在本页背面作答1. 输入圆半径5和圆心角60_C;输出圆的周长、面积和扇形周长、面积..2. 输入一个华氏温度;要求输出摄氏温度..公式为C _ 59 pF _ 32q;输出要有文字说明;取2位小数..3No.: Name:第3讲算法与程序基本结构一、选择题1. 如下程序的输出结果是A ..main{ int x=1;a=0;b=0;switchx{ case 0: b++;case 1: a++;case 2: a++;b++;}printf"a=%d;b=%d\n";a;b;}A a=2;b=1B a=1;b=1C a=1;b=0D a=2;b=22. 以下程序执行后输出结果是C ..main{ int i=1;j=1;k=2;ifj++||k++ &&i++printf"%d;%d;%d\n";i;j;k;}A 1;1;2B 2;2;1C 2;2;2D 2;2;33. 如下程序的输出结果是C ..main{ float x=2.0;y;ifx<0.0 y=0.0;else ifx<10.0 y=1.0/x;else y=1.0;printf"%f\n";y;}A 0.000000B 0.250000C 0.500000D 1.0000004. 设int x=1;y=1;表达式x||y--的值是B ..A 0B 1C 2D -15. 若运行时给变量x输入12;则以下程序的运行结果是A ..main{ int x;y;scanf"%d";&x;y=x>12x+10:x-12;printf"%d\n";y;}A 0B 22C 12D 106. 在C程序中;判逻辑值时;用”非0”表示逻辑值”真”;又用”0”表示逻辑值”假”..在求逻辑值时;逻辑表达式值为”真”和”假”分别用A 表示..A 1和0B 0和1C 非0和非0D 1和17. 以下4个选项中;不能看做一条语句的是D ..A ;B a=5;b=2.5;c=3.6;C ifa<5 ;D ifb=5 x=2;y=6;8. 能正确表示逻辑关系:"a≥10或a≤0"的C语言表达式是D ..A a>=10 or a<=0B a>=0|a<=10C a>=10&&a<=0D a>=10||a<=09. 如下程序的输出结果是C ..main{ int a=2;b=-1;c=2;ifa<bifb<0 c=0;else c++;printf"%d\n";c;}A 0B 1C 2D 310. 设x;y和z都是int型变量;且x=3;y=4;z=5;则下面表达式中;值为0的表达式D ..A x&&yB x<=yC x||++y&&y-zD x<y&&z||111. 若有条件表达式expa++:b--;则以下表达式中能完全等价于表达式exp 的是B ..A exp==0B exp=0C exp==1D exp=112. 以下程序的输出结果是A ..main{ int a=4;b=5;c=0;d;d=a&&b||c;printf"%d\n";d;}A 1B 0C 非0的数D -113. 设有int a=1;b=2;c=3;d=4;m=2;n=2;执行m=a>b&& n=c>d后n的值是B ..A 1B 2C 3D 414. 下面程序D ..main{ int a=5;b=0;c=0;ifa=b+c printf"\n";else printf"$$$\n";}A 有语法错不能通过编译B 可以通过编译但不能通过连接C 输出D 输出$$$15. 当k的值不为0时;在下列选项中能够将k的值赋给变量m和n的是B ..A m=k=nB m=k&&n=kC m=k||n=kD k=m&&n=k16. 已知int t=0; while t=1 {...}则以下叙述正确的是B ..A 循环控制表达式值为0B 循环控制表达式值为1C 循环控制表达式不合法D 以上说法都不对17. 下面程序输出结果是B ..main{ int n=9;whilen>6 {n--; printf"%d";n;}}A 987B 876C 8765D 987618. 在下列程序段中;没有构成死循环的是D ..A B C Dint i=10; for;;; int k=10; int s=36;while1 do{k++;} whiles{i=i%3+1; whilek>10; --s;ifi>10break;}19. 以下程序段的描述;正确的是C ..x=-1; do { x=xx; }whilex;A 是死循环B 循环执行两次C 循环执行一次D 有语法错误4No.: Name:20. 在下述程序中;判断i>j共执行的次数是D ..main{ int i=0;j=10; k=2; s=0;{ for ;;{ i+=k;ifi>j {printf"%d";s; break;}s+=i;}}A 4B 7C 5D 621. 下面程序的功能是把316表示为两个加数的和;使两个加数分别能被13和11整除;请选择填空..满足题意的选项是B ..include <stdio.h>main{ int i=0;j;k;do{i++;k=316-13i;}while ;j=k/11;printf"316=13%d+11%d";i;j;}A k/11B k%11C k/11==0D k%11==022. 下面程序的运行结果是B ..include <stdio.h>main{ int a=1;b=10;do {b-=a;a++;}whileb--<0;printf"a=%d;b=%d\n";a;b;}A a=3;b=11B a=2;b=8C a=1;b=-1D a=4;b=923. 执行语句fori=1;i++<4;;后变量i的值是C ..A 3B 4C 5D 不定24. 关于程序段int k=10; whilek=0 k=k-1;下面描述中正确的是C ..A while循环执行10次B 循环是无限循环C 循环体语句一次也不执行D 循环体语句执行一次25. 表达式for表达式1; ;表达式3可理解为B ..A for表达式1;0;表达式3B for表达式1;1;表达式3C for表达式1;表达式1;表达式3D for表达式1;表达式3;表达式326. 以下程序的输出结果是B ..main{ int i;j;x=0;fori=0;i<2;i++{ x++;forj=0;j<3;j++ {ifj%2 continue;x++;}x++;}printf"x=%d\n";x;}A x=4B x=8C x=6D x=1227. 以下描述中正确的是C ..A 因do-while循环中循环体语句只能是一条可执行语句;所以循环体内不能使用复合语句B do-while循环由do开始;用while结束;在while表达式后面不能写分号C 在do-while循环体中;先执行一次循环;再进行判断D do-while循环中;根据情况可以省略while28. 针对下列语句说法正确的是A ..int i;x;fori=0;x=0;i<=9&&x=876;i++ scanf"%d";x;A 最多的执行10次B 最多执行9次C 是无限循环D 循环体一次也不执行29. C语言中while 和do-while循环的主要区别是A ..A do-while的循环体至少无条件执行一次B while的循环控制条件比do-while更严格C do-while允许从外部转到循环体内D do-while 的循环体不能是复合语句30. 执行程序段int k=1; while++k<4;后k值为A ..A 4B 5C 6D 8二、填空题1. 执行程序段int a=1234; printf "%2d\n";a;的输出结果是1234 ..2. 以下程序的输出结果是16 ..main{int a=0; a+=a=8; printf"%d\n";a;}三、程序编写题如本页空间不够请在背面作答1. 编写程序求解求和公式S _ 1 12 13 14 . . .的前10项..要求画出流程图ANSI流程图和NS流程图..2. 编写程序实现输入整数n;输出如下所示数字组成的菱形如n=5..要求画出流程图ANSI流程图和NS流程图..11 2 11 2 3 2 11 2 3 4 3 2 11 2 3 4 5 4 3 2 11 2 3 4 3 2 1 1 2 3 2 11 2 11。
c语言的一些作业题
红色代表改的正确答案绿色黄色自己做的1、下列程序的输出结果是:main( ){}A、5B、1C、0D、不确定值2、设int a=12,则执行完语句a+=a-=a*a后,a的值是: A、552B、264C、144D、-264int a=7,b=5; printf("%d ",b=b/a);结果03、当调用函数时,实参是一个数组名,则向函数传送的是: A、数组的长度B、数组的首地址C、数组每以个元素的地址D、数组每个元素的值4、当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b 的是:A、c=b=a;B、(a=c)||(b=c);C、(a=c)&&(b=c);D、a=c=b;5.能正确表示a 和b 同时为正或同时为负的逻辑表达式是: A、(a>=0||b>=0)&&(a<0||b<0) B、(a>=0&&b>=0)&&(a<0&&b<0) C、(a+b>0)&&(a+b<=0)D、a*b>06在一个C程序中: A、main函数必须出现在所有函数之前; B、main函数可以在任何地方出现; C、main函数必须出现在所有函数之后; D、main函数必须出现在固定位置7以下说法中正确的是: A、C语言程序中是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main()函数中定义C、C语言程序总是从main()函数开始执行D、C语程序中的main()函数必须放一在程序的开始部分8、C语言中,调用个函数时,实参变量和形参变量之间的数据传递是: A、单纯值传递B、单纯地址传递C、值传递和地址传递都有可能D、由实参传给形参,然后由形参传回给实参,即是双向传递9、以下程序的输出结果是: #include main(){int a=2,c=5;printf("a=%%d,b=%%d ",a,c); }%%代表输出%A、a=%2,b=%5B、a=2,b=5C、a=%%d,b=%%dD、a=%d,b=%d10.按照c语言规定的用户标识符命名规则,不能出现在标识符中的是: A、大写字母B.连接符C、数字字符D、下划线11.以下定义语句中正确的是: A、char a='A' b='B';B、floata=b=10.0;C、int a=10,*b=&a;B答案没有定义变量bD、float *a,b=&a;12、有以下程序: main(){int y=10; while(y--) ; printf(“y=%d ”,y);}程序执后的输出结果是: A、y=0B、y=-1C、y=1D、while构成无限循环先使用在减小1等于0停止打印时候已经减一13、程序char c[5]={…a‟,‟b‟,‟\0‟,‟c‟,‟\0‟}; printf(“%s”,c); 的运结果是:A、'a''b'B、abcC、ab cD、ab14、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是: A、INPUT x、y、z;B、scanf("%d%d%d",&x,&y,&z);C、scanf("%d%d%d",x,y,z);D、read("%d%d%d",&x,&y,&z);15、下列变量声明正确的是: A、int a = 0 , b = 5; B、float i = j = 3.0; C、char a ='A' b ='B' D、int a = 3 , b = &a;16.以下不正确的if语句形式是: A、if(x>y&&x!=y)t=x++;B、if(x==y) x+=y;C、if(x!=y) scanf("%d",&x) else scanf("%d",&y);D、if(x<0)x++;17、设有定义:int k=0;以下选项的四个表达式中与其他三个表达式的值不相同的是: A、k++B、k+=1C、++kD、k+118、以下结构体类型的变量所占字节数是: struct student{ shortnum; char name[15]; float score; char sex;};A、22B、24C、26D、2819、C语言源程序的基本单位是: A、过程B、函数C、程序D、标识符20若有以下定义和语句: int u=010,v=0x10,w=10;printf("%d,%d,%d ",u,v,w); 则输出结果是:A、8,16,10B、10,10,10C、8,8,10D、8,10,1021、若要求定义具有10个int形元素的一维数组array,则以下的定义语句错误的是: A、#define N 10int a[N]; B、#define n 5int a[2 * n];C、int a[5 + 5];D、int n = 10,a[n] = {0};22、以下程序执行后sum的值是: main(){inti,sum; for(i=1;i<6;i++) sum+=i; printf("%d ",sum);}A、15B、14C、不确定D、0 sum没有赋初值23、设变量定义为int x , *p = &x;则&(*p)相当于: A、*(&x)B、*pC、pD、x24、设已有定义:float x; 则以下对指针变量p进行定义且赋初值的语句中正确的是: A、float *p=1024;B、int *p=(float)x;C、float p=&x;D、float *p=&x;25、以下程序的输出结果为:inti; void prt( ){for(i=5;i<8;i++) printf("%c",'*');printf(" "); } 这个只执行了一次因为内部加到8,在i+1结束main( ) {for(i=5;i<=8;i++) prt( ); }A、***B、*** *** *** ***C、*** ***D、* * *26、定义由n个指向整形数据的指针组成的数组p,其正确的式为:A、int p;B、int (*p)[n];C、int *p[n];D、int (*p)( );27、以下代码的输出结果为: int array[3] = {1,4};for(inti = 0;i < 3;i++){ printf(“%d ”,array[i]); }A、1 4 0B、0 1 4C、1 0 4D、1 4 428、设int x=1, y=1; 表达式(!x||y--)的值是: A、0 B.1C、2 D、-129.以下程序的输出结果是: main(){int x=10,y=10,i; for(i=0;x>8;y=++i) printf("%d %d ",x--,y);}A、10 1 9 2B、9 8 7 6C、10 9 9 0D、10 10 9 1自加是最后进行所以y先打印在进行加减30、若执行下面程序时:int x;scanf("%d",&x);if(x++ > 5){ printf( "%d ",x)}; else{ printf("%d ",++x)};从键盘上输5,则输出是:A、7B、6C、5D、431、下面程序的输出是: fun3(int x){staticint a=3; a+=x; return(a);} main() {int k=2, m=1, n; n=fun3(k); n=fun3(m); printf("%d ",n);}A、3B、4C、6D、932、有定义语句:intb;char c[10];,则正确的输入语句是: A、scanf("%d%s",&b,&c);B、scanf("%d%s",&b,c);C、scanf("%d%s",b,c);D、scanf("%d%s",b,&c);33、函数调用:strcat(strcpy(str1,str2),str3)的功能是: A、将串str1复制到串str2中后再连接到串str3之后B、将串str1连接到串str2之后再复制到串str3之后C、将串str2复制到串str1中后再将串str3连接到串str1之后D、将串str2连接到串str1之后再将串str1复制到串str3中34、若程序中定义了以下函数double myadd(double a,doubleb){ return (a+b); } 并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是:A、double myadd(double a,b);B、double myadd(double,double);C、double myadd(double b,double a);D、double myadd(doublex,double y);35、有以下程序main(){char s[]="abcde"; s+=2;printf("%d ",s[0]);}执行后的结果是: s+=2这是错误的不能更改数组首地址A、输出字符a的ASCII码B、输出字符c的ASCII码C、输出字符cD、程序出错36、现有一个函数的功能是求出一个元素在数组中的索引,以下该函数的声明正确的是: A、intgetIndex(int *a,intcount,int n);B、void getIndex(int a[],intcount,int n);C、intgetIndex(int a[],int count);D、void getIndex(int *a,int count);37、以下程序的输出结果为: main( ){char s1[40]="country",s2[20]="side";inti=0,j=0;while(s1[i]!='') i++;while(s2[j]!='')s1[i++]=s2[j++]; s1[i]=0;printf("%s ",s1); }A、sideB、countryC、sidetryD、countryside38、有以下程序main(){charch[]="uvwxyz",*pc; pc=ch;printf(" %c ",*(pc+5));}程序运行后的输出结果是: A、zB、0C、元素ch[5]的地址D、字符y的地址39、利用宏,求三个数中的最大值,以下宏定义正确的是: A、#define MAX(a,b,c) ((a)>(b)?(a):(b))>c?((a)>(b)?(a):(b)):(c) B、#define MAX(a,b,c) (a>b?a:b)>c?(a>b?a:b):c C、#defineMAX(a,b,c) (a)>(b)?(a):(b)>c?((a)>(b)?(a):(b)):(c) D、#define MAX(a,b,c) a>b?a:b>c?(a>b?a:b):c40、设有如下定义:structjan{inta;float b;}c2,*p;若有p=&c2;则对c2中的成员a的正确引是: A、(*p).c2.aB、(*p).aC、p->c2.aD、p.c2.a※判断题(共10题,每题2分)1、条件运算符?和:是一对运算符,不能分开单独使用。
C语言各章作业及练习题
第二章作业题答案1 进制转换(1)7A.3D (或者7A.3DH)(2)01001011.01010111,4B.57 (二进制最前面的“0”可以省去;十六进制也可4B.57H)2 码制转换(1)原码:01010; 真值:+0.1010(2)原码:10110; 真值:-0.01103 设某机器字长为8位:(1)-1(2)-2-7(还可以进一步计算为:-0.0078125)4.浮点数转换为二进制:(A27F)16= (1010001001111111)2阶码补码为:E补=101000,则阶码真值E = -11000 = -24;尾数补码:M补= 1.001111111,尾数真值M = - 0.110000001;则(A27F)16的十进制真值为:- (2-1+2-2+2-9) x 2-24 = -(2-25+2-26+2-33)上面的结果还可以进一步化简写成分数或小数,只写到这一步也可以。
5将十进制数-7.25转换为IEEE754短浮点格式:(1)转换为二进制:(-7.25)10=(-111.01)2(2)规格化:(-111.01)2 = (-1.1101)2 x22(3)计算阶码(移码表示):E移= 127+2 = (129)10 = (10000001) 2(4)短浮点格式:(11000000111010000000000000000000)2 = (C0E80000)166.(1) 1000H,1006H(2) 1002H,2374H(3) E529H7 设当前堆栈状态如图3所示,按字编址,下列各小题分别执行,写出结果:(1)(SP) = 1003H, (R0) = 32H(2)(SP) = 1001H,(R0)=1000H,存储单元1000H~1002H的值分别是30H、1000H、32H。
第六章作业题一、选择题1.某字符显示器,分辨率为25x80,则第2行第5列(序号均从0开始)字符的代码,应存放在基本显示缓存的第()单元中(从0号单元开始)。
C语言作业——精选推荐
C语⾔作业作业1 数制与编码1.将下列⼗进制实数分别转换为⼆进制、⼋进制和⼗六进制实数:45 195 10.3125 51.8 2.将下列⼋进制和⼗六进制实数转换为⼆进制实数:(42.14)8(10.01)8(3C.24)16(7F.0E)16 3.请写出下列整数的8位⼆进制原码、反码和补码。
0 102 -15 -127 4.请写出下列整数的16位⼆进制补码(以⼗六进制形式书写)。
0 6207 -7225 -32768 5.下列16位⼆进制补码分别表⽰什么整数?00000010 10011010 11101100 010001106.⽤16位⼆进制补码形式完成下列计算:14 + (-9) = 5 (-23) + 15 = -87.下列实数的单精度存储形式是怎样的(根据Intel格式计算)?0.3125 -34.28.请写出空格、数字0、⼤写字母A和⼩写字母a等字符的ASCII码。
9.仔细观察ASCII码表, 怎样将⼩写字母转换为⼤写字母? 怎样将⼤写字母转换为⼩写字母?10.汉字“软”的区位码是4077, “件”区位码是2894, 它们的内码分别是什么?11.字符串"Welcome!"的长度是多少? 需占⽤内存空间多少字节? 最后⼀个字节是什么?12.请将下列字符串按从⼩到⼤的顺序排列:"ABC" "123" "abc""Rate1""Rate2""pen""pencil""1+2"作业2 简单的C 程序1. 物体的位移:输⼊物体的初速度v 0, 加速度a 和时间t , 计算并输出其位移。
2021at t v s += 2. 公汽车票:若乘客⾝⾼低于1.2⽶则免费, 否则收取车费2元。
3. 购物优惠活动(⼀)若顾客购物不⾜100元, 则不优惠; 购物达100元, 按九折优惠。
C语言经典练习题50道(附答案)
1.**打印Hello World**练习:编写一个C程序,打印"Hello,World!"到屏幕上。
#include<stdio.h>int main(){printf("Hello,World!\n");return0;}2.**计算两个整数的和**练习:编写一个程序,接受两个整数,然后计算它们的和并打印结果。
#include<stdio.h>int main(){int a=5,b=7;int sum=a+b;printf("Sum:%d\n",sum);return0;}3.**判断奇数或偶数**练习:编写一个程序,接受一个整数,然后判断它是否为奇数或偶数。
#include<stdio.h>int main(){int num=10;if(num%2==0){printf("%d is even.\n",num);}else{printf("%d is odd.\n",num);}return0;}4.**计算阶乘**练习:编写一个程序,计算给定整数的阶乘。
#include<stdio.h>int main(){int n=5;int factorial=1;for(int i=1;i<=n;i++){factorial*=i;}printf("Factorial of%d is%d\n",n,factorial);return0;}5.**反转字符串**练习:编写一个程序,接受一个字符串,然后反转它并打印出来。
#include<stdio.h>#include<string.h>int main(){char str[]="Hello,World!";int len=strlen(str);for(int i=len-1;i>=0;i--){printf("%c",str[i]);}printf("\n");return0;}6.**检查素数**练习:编写一个程序,判断一个整数是否为素数。
c语言必做100题
c语言必做100题1. 编写一个C程序,输出“Hello, World!”。
2. 编写一个C程序,计算并输出1到100的和。
3. 编写一个C程序,判断一个数是否为素数。
4. 编写一个C程序,将一个字符串反转。
5. 编写一个C程序,实现二分查找算法。
6. 编写一个C程序,实现插入排序算法。
7. 编写一个C程序,实现选择排序算法。
8. 编写一个C程序,实现冒泡排序算法。
9. 编写一个C程序,实现快速排序算法。
10. 编写一个C程序,实现希尔排序算法。
11. 编写一个C程序,将一个二维数组转置。
12. 编写一个C程序,计算一个数的阶乘。
13. 编写一个C程序,实现斐波那契数列。
14. 编写一个C程序,计算两个数的最大公约数。
15. 编写一个C程序,计算两个数的最小公倍数。
16. 编写一个C程序,计算一个数的平方根。
17. 编写一个C程序,计算一个数的立方根。
18. 编写一个C程序,实现矩阵乘法运算。
19. 编写一个C程序,实现字符串的查找和替换。
20. 编写一个C程序,实现栈的基本操作(入栈、出栈、查看栈顶元素)。
21. 编写一个C程序,实现队列的基本操作(入队、出队、查看队首元素)。
22. 编写一个C程序,实现链表的基本操作(插入、删除、倒置)。
23. 编写一个C程序,实现二叉树的前序、中序和后序遍历。
24. 编写一个C程序,实现图的深度优先搜索算法。
25. 编写一个C程序,实现图的广度优先搜索算法。
26. 编写一个C程序,实现最短路径算法(Dijkstra算法或Floyd算法)。
27. 编写一个C程序,实现最小生成树算法(Prim算法或Kruskal算法)。
28. 编写一个C程序,实现拓扑排序算法。
29. 编写一个C程序,实现优先队列。
30. 编写一个C程序,实现哈希表的基本操作(插入、查找、删除)。
31. 编写一个C程序,实现堆的基本操作(插入、删除、查找最大值)。
32. 编写一个C程序,实现最大堆排序算法。
c语言入门100题目
c语言入门100题目
学习C语言对于初学者来说是一个很好的选择。
下面我将列举一些入门级别的C语言练习题目,希望对你有所帮助。
1. 编写一个程序,输出"Hello, World!"。
2. 编写一个程序,接受用户输入的两个整数,然后输出它们的和。
3. 编写一个程序,计算并输出1到100的和。
4. 编写一个程序,判断一个输入的整数是奇数还是偶数。
5. 编写一个程序,接受用户输入的年份,判断该年份是否为闰年。
6. 编写一个程序,找出一个数组中的最大值和最小值。
7. 编写一个程序,将一个字符串反转。
8. 编写一个程序,接受用户输入的数字n,计算并输出1到n
的阶乘。
9. 编写一个程序,接受用户输入的字符,判断该字符是字母、
数字还是其他字符。
10. 编写一个程序,实现一个简单的计算器,能够进行加、减、乘、除运算。
以上是一些入门级别的C语言练习题目,希望能够帮助你开始
学习C语言编程。
如果你对这些题目有任何疑问,欢迎随时向我提问。
祝你学习顺利!。
C语言基础练习100题含标准答案
C语言基础练习100题含标准答案1. 编写一个C语言程序,要求输出"Hello, World!"#include <stdio.h>int main() {printf("Hello, World!\n");return 0;}2. 编写一个C语言程序,要求输出两个整数的和。
#include <stdio.h>int main() {int a, b, sum;printf("请输入两个整数:");scanf("%d %d", &a, &b);sum = a + b;printf("两个整数的和为:%d\n", sum);return 0;}3. 编写一个C语言程序,要求输出一个整数的平方。
#include <stdio.h>int main() {int num, square;printf("请输入一个整数:");scanf("%d", &num);square = num * num;printf("该整数的平方为:%d\n", square);return 0;}4. 编写一个C语言程序,要求输出1到10的所有整数。
#include <stdio.h>int main() {int i;for (i = 1; i <= 10; i++) {printf("%d ", i);}printf("\n");return 0;}5. 编写一个C语言程序,要求输出1到10的所有整数的和。
#include <stdio.h>int main() {int i, sum = 0;for (i = 1; i <= 10; i++) {sum += i;}printf("1到10的所有整数的和为:%d\n", sum);return 0;}6. 编写一个C语言程序,要求输入一个字符串并输出该字符串。
C语言作业
实验一 C程序的运行环境及简单程序编写(一)一、实验目的1. 了解VC++6.0集成环境的基本操作方法。
2。
了解在该系统上如何编辑、编译、连接和运行一个C程序。
3。
通过运行简单的C程序,初步了解C源程序的特点。
二、实验内容1. 打印输出你的姓名,年龄,地址信息。
2。
编写程序,实现输出*********************************************C语言程序设计*********************************************3. 编写程序,求2个整数的和、差、积、商.实验二C程序的运行环境及简单程序编写(二)一、实验目的1。
编写运行简单的C程序,了解C源程序的特点。
二、实验内容1。
编写程序,已知长方形的长为8cm,宽为3cm,求长方形的周长和面积.2。
在上一题的源代码中,用2种注释方法,添加注释内容:这是一个简单的C语言程序。
3。
编写程序,实现输出三行文字,第一行Print:(1)\\\\\\\\\\(2)&&&&&&&&&&(3)||||||||||实验三数据的存储与运算(一)一、实验目的1. 掌握变量的定义及使用2. 掌握整型数据在程序中的表示及使用二、实验内容1.教材P19例2.12。
编写一个程序,要求用户输入一个美金数量,然后显示出如何用最少的面值为20美元、10美元、5美元和1美元钞票来付款。
运行结果:Ener a dollar amount:93Result:$20 bills:4$10 bills:1$5 bills:0$1 bills:33. 输入2个变量的值,交换这2个变量的值后输出。
Input (x,y):2,3output(x,y):3,2实验四数据的存储与运算(二)一、实验目的1. 掌握整型数据在程序中的表示及使用2。
掌握实型数据在程序中的表示及使用。
二、实验内容1.教材P24例2。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一 C程序的运行环境及简单程序编写(一)一、实验目的1. 了解VC++6.0集成环境的基本操作方法。
2. 了解在该系统上如何编辑、编译、连接和运行一个C程序。
3. 通过运行简单的C程序,初步了解C源程序的特点。
二、实验内容1. 打印输出你的姓名,年龄,地址信息。
2. 编写程序,实现输出*********************************************C语言程序设计*********************************************3. 编写程序,求2个整数的和、差、积、商。
实验二C程序的运行环境及简单程序编写(二)一、实验目的1. 编写运行简单的C程序,了解C源程序的特点。
二、实验内容1. 编写程序,已知长方形的长为8cm,宽为3cm,求长方形的周长和面积。
2. 在上一题的源代码中,用2种注释方法,添加注释内容:这是一个简单的C语言程序。
3. 编写程序,实现输出三行文字,第一行Print:(1)\\\\\\\\\\(2)&&&&&&&&&&(3)||||||||||实验三数据的存储与运算(一)一、实验目的1. 掌握变量的定义及使用2. 掌握整型数据在程序中的表示及使用二、实验内容1.教材P19例2.12. 编写一个程序,要求用户输入一个美金数量,然后显示出如何用最少的面值为20美元、10美元、5美元和1美元钞票来付款。
运行结果:Ener a dollar amount:93Result:$20 bills:4$10 bills:1$5 bills:0$1 bills:33. 输入2个变量的值,交换这2个变量的值后输出。
Input (x,y):2,3output(x,y):3,2实验四数据的存储与运算(二)一、实验目的1. 掌握整型数据在程序中的表示及使用2. 掌握实型数据在程序中的表示及使用。
二、实验内容1.教材P24例2.22.教材P46习题13. 编写一个程序,要求用户输入一个两位数,然后逆序打印出这个数。
Enter a two-digit number:28The reversal is :82实验五数据的存储与运算(三)一、实验目的1. 掌握符号常量、字符型数据、字符串的应用2. 掌握强制类型的转换二、实验内容1.给出园半径,求园的体积v=4/3πr32.将小写字母转换为大写字母,并将其按字符和整数两种方式输出。
3.输入从午夜开始的秒数total_sec,请计算出等价的时间,用小时(0 ~23)、分钟(0 ~59)和秒(0 ~59)表示。
(建议使用%运算符)Enter total seconds:2590Time:0:43:104.编程计算1/2+1/3+1/5的结果。
实验六数据的存储与运算(四)一、实验目的1. 掌握字符、字符串和转义字符的应用二、实验内容1. 使用转义字符输出%%%%%%%%%%%%/ “C语言” /%%%%%%%%%%%%2. 教材P47习题3实验七顺序结构程序设计(一)一、实验目的1. 掌握顺序结构程序的思想。
2. 掌握putchar()和getchar()的使用。
二、实验内容1.从键盘输入一个大写字母,要求改用小写字母输出2.从键盘输入一个英文字母在英文字母表中的序号,然后输出相对应的这个字母的大写和小写。
Enter serial number:2Alphabet:B b实验八顺序结构程序设计(二)一、实验目的1. 熟练掌握scanf()和printf()的使用2. 掌握顺序结构的编程二、实验内容1.使用scanf函数读入2个分数,然后计算出这2个分数的和。
Enter first fraction:5/6Enter second fraction :3/4The sum is: 38/242.编写一个程序,对用户录入的产品信息进行格式化。
Enter item number:583Enter unit price:13.5Ente sales profit:25.3Enter purchase date(mm/dd/yyyy):10/11/2011输出结果为:Item Unit Price Sales profit Purchase date 583 $13.50 25.3% 3/24/2010实验九选择结构程序设计(一)一、实验目的1. 熟练使用if编写程序。
二、实验内容1.输入两个学生a和b的成绩,输出其中高的成绩。
2.编写一个程序,从用户输入一个数值,判断此数值是不是只能被3整除,同时不能被7整除。
Enter number:21 Print:NOEnter number: 3 Print:YES3. 编写一个程序,从用户输入一个字符,判断此字符是不是字母。
Enter number: 1 Print:NoEnter number: a Print:YesEnter number: N Print:Yes实验十选择结构程序设计(二)一、实验目的1. 熟练使用if语句编写程序。
二、实验内容1.猜数游戏,假如设定一个整数m=123,然后让其他人从键盘输入所猜的数字,如果猜对,输出“Right”,如果猜错,则输出“Wrong”,并且指出设定的数字比输入的数字大(Too high)还是小(Too low)。
Enter a number : 189Wrong! Too high2.某幼儿园只收2—6岁的小孩,2~3岁编入小班(small class),4岁编入中班(middleclass),5—6岁编入大班(top class),编写程序实现每输入一个年龄。
输出应编入什么班。
Please input age: 3Class: small class3. 编写一个程序,确定一个数的位数。
Enter a number:374The number 374 has 3 digits假设输入的数最多不超过4位。
提示:利用if语句进行数的判定。
例如,如果数在0到9之间,那么位数为1;如果数在10到99之间,那么位数为2。
实验十一选择结构程序设计(三)一、实验目的1. 熟练使用if语句编写程序。
2. 掌握switch语句的应用。
二、实验内容1. 教材P113习题52. 教材P113习题63. 教材P113习题8实验十二选择结构程序设计(四)一、实验目的1. 熟练使用if语句编写程序。
2. 掌握switch语句的应用。
二、实验内容1. 输入某年某月某日,判断这一天是这一年的第几天? 2.教材P114习题10 3.教材P114习题11实验十三 循环结构程序设计(一)一、实验目的1.熟练掌握while 语句和do-while 语句。
二、实验内容1.编写程序,求1+3+5+7+...+195+197+199的和。
2.编写程序,输出100-200之间,能被3整除,但是不能被7整除的数,并逐个输出。
3.编写程序,找出用户输入的一串数中的最大数。
程序需要提示用户逐个输入数值。
当用户输入0或负数时停止输入,并且输出刚刚输入的数值中的最大数。
Enter 1 number :20 Enter 2 number :36 Enter 3 number :21 Enter 4 number :5.6 Enter 5 number :69.2 Enter 6 number :0The largest number is 69.2实验十四 循环结构程序设计(二)一、实验目的1.熟练while 语句和do-while 语句的使用。
二、实验内容1. 求1!+2!+3!+......+n!2. 给出一个不多于5位的正整数,要求:求出其位数,分别打印每一位数字,最后按逆序打印出这个正整数。
如输入6582 ,输出为2 8 5 6 ,4,28563. 编写程序,用下面的公式计算e 的近似值:,这里n 是用户输入的整数。
实验十五 循环结构程序设计(三)一、实验目的1. 熟练掌握for 语句。
二、实验内容1. 求s=a+aa+aaa+aaaa+aa...a 的值,其中a 是一个数字。
例如2+22+222+2222+22222(此时共有5个数相加),由键盘输入a 和需要有几个数相加。
2.判断一个数n 是否完数,是返回1,不是返回0,完数定义:如果一个数等于其所有真因子(不含自身)之和,则该数为完数。
要求在main 函数中求出2……1000中所有的完数,并输出。
3.输入n 个字符,分别统计出其中英文字母、空格、数字和其他字符的个数。
!1...!21!111n ++++实验十六循环结构程序设计(四)一、实验目的1. 熟练掌握for语句。
二、实验内容1.输出所有的“水仙花数”,所谓的”水仙花数”是指一个3位数,其个位数字立方和等于该数本身,例如,153是一”水仙花数”,因为153=1*1*1+5*5*5+3*3*3水仙花数为:153 370 371 4072. 教材P137习题43. 教材P137习题5实验十七循环结构程序设计(五)一、实验目的1. 熟练掌握break语句与continue语句的应用。
2. 掌握嵌套循环的应用。
二、实验内容1. 求1-200间的全部素数2. 请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。
(提示:Monday 星期一Tuesday 星期二Wednesday 星期三Thursday 星期四Friday 星期五Saturday 星期六Sunday 星期日) 运行情况:请输入字母:m判断结果:星期一请输入字母:t不能判断,请再输入一个字母:h判断结果:星期四3. 输出图案:*************************实验十八循环结构程序设计(六)一、实验目的1. 熟练掌握三种基本结构的混合的应用二、实验内容1. 打印杨辉三角11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 12. 打印乘法口诀表。
3. 有1、2、3、4四个数字,它们能组成多少个互不相同且无重复数字的三位数,编程实现,并逐个输出。
4. 有30个人,其中有男人、女人和小孩,在一家饭馆里吃饭共花了50先令,每个男人各花3先令,每个女人各花2先令,每个小孩各花1先令,问男人、女人和小孩各有几人?实验十九数组(一)一、实验目的1. 掌握一维数组的定义和使用方法2. 熟练使用一维数组进行程序设计。
二、实验内容1.从键盘输入10个整数,保存在一个数组中,将这10个数逆序输出并求和。
2.求出数组的最大元素在数组中的下标并输出该最大值。
如输入如下整数:876 675 896 101 301 401 980 431 451 ,则输出结果为6,980 3.编写程序,实现从键盘输入n个整数,求该组整数的平均值,并将大于平均值的整数输出。