C语言作业

合集下载

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语言作业

作业一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语言练习作业及参考答案

C语言练习作业及参考答案
(5)输入圆的半径r,计算并输出圆的周长和面积,要求将 定义为符号常量。
二、选择题
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语言基础知识作业(含解答)

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语言作业

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题

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。

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

菱形#include<stdio.h>int main(){int i,j;for(i=1;i<=4;i++){for(j=1;j<=4-i;j++) printf(" ");for(j=1;j<=2*i-1;j++)printf("*"); printf("\n");}for(i=1;i<=3;i++){for(j=1;j<=i;j++)printf(" ");for(j=1;j<=7-2*i;j++)printf("*"); printf("\n");}return 0;}三角形#include<stdio.h>int main(){int i,j;for(i=1;i<=5;i++){for(j=1;j<=24-i;j++) printf(" ");for(j=1;j<=2*i-1;j++)printf("*"); printf("\n");}return 0;}乘法口诀#include<stdio.h>int main(){int i,j;for(i=1;i<=9;i++){for(j=1;j<=9;j++)if(j<=i)printf("%d*%d=%d ",j,i,i*j); printf("\n");}return 0;}统计大写字母#include<stdio.h>#include<ctype.h>int main(){char c;int num[26]={0},i;while((c=getchar())!='#')if(isupper(c))num[c-'A']+=1;for(i=0;i<26;i++)if(num[i])printf("%c:%d\n",i+'A',num[i]);return 0;}最小公倍数,最大公约数#include<stdio.h>int main(){int m,n,p,r,t;scanf("%d,%d",&n,&m);if(n<m){t=n;n=m;m=t;}p=n*m;while(m!=0){r=n%m;n=m;m=r;}printf("%d,%d,%d\n",n,p/n); return 0;}n位a相加#include<stdio.h>int main(){int i,t,s,a,n;a=2;t=0;s=0;scanf("%d",&n);for(i=1;i<=n;i++){t=t+a;s=s+t;a=a*10;}printf("s=%d\n",s);return 0;}求和#include<stdio.h>int main(){double a,b,c,i,j,k;a=0;b=0;c=0;for(i=1;i<=100;i++)a=a+i;for(j=1;j<=50;j++)b=b+j*j;for(k=1;k<=10;k++)c=c+1/k;printf("s=%10.6f\n",a+b+c);return 0;}球落地#include<stdio.h>int main(){double h,n,s;s=100;h=50;for(n=2;n<=10;n++){s=s+2*h;h=h/2;}printf("%f\n%f\n",s,h);return 0;}猴子吃桃#include<stdio.h>int main(){int n,k;k=1;for(n=1;n<=9;n++){k=(k+1)*2;}printf("%d\n",k);return 0;}计算天数#include<stdio.h>int main(){int year,month,day,s;scanf("%d %d %d",&year,&month,&day);switch(month){case 1: s=0;break;case 2: s=31;break;case 3: s=59;break;case 4: s=90;break;case 5: s=120;break;case 6: s=151;break;case 7: s=181;break;case 8: s=212;break;case 9: s=243;break;case 10: s=273;break;case 11: s=304;break;case 12: s=334;break;}if(year%400==0||(year%4==0&&year%100!=0)) {if(month<=2)printf("%d\n",s+day);elseprintf("%d\n",s+day+1);}elseprintf("%d\n",s+day);return 0;}杨辉三角形#include<stdio.h>int main(){int a[10][10];int i,j;for(i=0;i<10;i++){a[i][i]=1;a[i][0]=1;}for(i=2;i<10;i++){for(j=1;j<=i-1;j++)a[i][j]=a[i-1][j-1]+a[i-1][j];}for(i=0;i<10;i++){for(j=0;j<i;j++)printf("%6d",a[i][j]);printf("\n");}return 0;}矩阵对角线和#include<stdio.h>int main(){int a[3][3];int i,j,s=0;for(i=0;i<3;i++){for(j=0;j<3;j++)scanf("%d",&a[i][j]);}for(i=0;i<3;i++){s=s+a[i][i];}printf("%d\n",s); return 0;}倒叙数组#include<stdio.h>int main(){int a[5];int i,j;for(i=0;i<5;i++){scanf("%d",&a[i]);}for(i=0;i<3;i++){j=a[i];a[i]=a[5-i-1];a[5-i-1]=j;}for(i=0;i<5;i++){printf("%d ",a[i]);}return 0;}插数排列#include<stdio.h>int main(){int a[6]={1,3,5,7,9};int i,j,k,x,t;printf("x=");scanf("%d",&x);if(x>a[4])a[5]=x;elsefor(i=0;i<5;i++){if(a[i]>x){t=a[i];a[i]=x;for(j=i+1;j<6;j++){k=a[j];a[j]=t;t=k;}break;}}for(i=0;i<6;i++)printf("%d ",a[i]); return 0;}单词相加#include<stdio.h>int main(){char a[100],b[100];int i=0,j=0;scanf("%s",a);scanf("%s",b);while(a[i]!='\0')i++;while(b[j]!='\0')a[i++]=b[j++];printf("%s",a);return 0;}统计字母#include<stdio.h>int main(){char text[3][10];int i,j,A,a,n,s,o;A=0;a=0;n=0;s=0;o=0;for(i=0;i<3;i++){gets(text[i]);for(j=0;j<80&&text[i][j]!='\0';j++){if(text[i][j]>='A'&&text[i][j]<='Z')A++;else if(text[i][j]>='a'&&text[i][j]<='z')a++;else if(text[i][j]>='0'&&text[i][j]<='9')n++;else if(text[i][j]==' ')s++;elseo++;}}printf("´óд×Öĸ:%d\nСд×Öĸ:%d\nÊý×Ö:%d\n¿Õ¸ñ:%d\nÆäËû:%d\n",A,a,n,s,o); return 0;}字符串差#include<stdio.h>{int i=0,s;char a[100],b[100];gets(a);gets(b);while((a[i]==b[i])&&(a[i]!='\0')) i++;if(a[i]=='\0'&&b[i]=='\0')s=0;elses=a[i]-b[i];printf("%d\n",s);return 0;}字符串倒输出#include<stdio.h>int main(){char a[100];int i=0,j,t;gets(a);while(a[i]!='\0')i++;for(j=0;j<i/2;j++){t=a[j];a[j]=a[i-j-1];a[i-j-1]=t;}printf("%s\n",a);return 0;}函数字符反输出#include<stdio.h>#include<string.h>int main(){void fun(char a[]);char a[100];scanf("%s",a);printf("%s\n",a);return 0;}void fun(char a[]){char t;int i,j;for(i=0,j=strlen(a);i<(strlen(a)/2);i++,j--){t=a[i];a[i]=a[j-1];a[j-1]=t;}}数列找大小#include<stdio.h>int main(){int a[5][5]={{1,2,3,4,5},{6,7,8,9,10},{11,12,13,14,15},{1,2,3,4,5},{1,2,3,4,5}};int i,j,maxrow=0,maxcloum=0,minrow=0,mincloum=0;float max,min,sum;max=a[0][0];min=a[0][0];sum=0;for(i=0;i<=4;i++){for(j=0;j<=4;j++)if(a[i][j]>max){max=a[i][j];maxrow=i;maxcloum=j;}}printf("max=%.6f,maxrow=%d,maxcloum=%d\n",max,maxrow,maxcloum);for(i=0;i<=4;i++){for(j=0;j<=4;j++)if(a[i][j]<min){min=a[i][j];minrow=i;mincloum=j;}}printf("min=%.6f,minrow=%d,mincloum=%d\n",min,minrow,mincloum);for(i=0;i<=4;i++){for(j=0;j<=4;j++)if(i+j<=4){sum=sum+a[i][j];}}printf("sum=%.6f\n",sum);return 0;}解二元一次方程#include<stdio.h>#include<math.h>float x1,x2,p,q,z;int main(){void app(float,float);void bpp(float,float);void cpp(float,float);float a,b,c;printf("a,b,c:");scanf("%f,%f,%f",&a,&b,&c);printf("%fx^2+%fx+%f=0\n",a,b,c);z=b*b-4*a*c;if(z>0){app(a,b);printf("x1=%f\nx2=%f\n",x1,x2);}else if(z==0){bpp(a,b);printf("x1=%f\nx2=%f\n",x1,x2);}{cpp(a,b);printf("x1=%f+%fi\nx2=%f+%fi\n",p,q,p,q); }return 0;}void app(float a,float b){x1=(-b+sqrt(z))/(2*a);x2=(-b-sqrt(z))/(2*a);}void bpp(float a,float b){x1=x2=(-b)/(2*a);}void cpp(float a,float b){p=-b/(2*a);q=sqrt(-z)/(2*a);}函数判断素数#include<stdio.h>int main(){int fun(int);int a;scanf("%d",&a);if(fun(a))printf("%d is a prime\n",a);elseprintf("%d is not a prime\n",a); return 0;}int fun(int a){int i,j=1;for(i=2;i<a/2&&j==1;i++)if(a%i==0)return(j);}插入空格#include<stdio.h>#include<string.h>int main(){void fun(char []);char a[100];scanf("%s",a);fun(a);return 0;}void fun(char a[]){int i;for(i=strlen(a);i>0;i--){a[2*i]=a[i];a[2*i-1]=' ';}printf("%s\n",a);}编号#include<stdio.h>#include<string.h>int main(){void A(int[],char name[][8]);void B(int[],char name[][8]);int num[10];char name[10][8];A(num,name);B(num,name);return 0;}void A(int num[],char name[10][8]) {int i;for(i=0;i<10;i++){printf("input name:");getchar();gets(name[i]);printf("input NO.");scanf("%d",&num[i]);}}void B(int num[],char name[10][8]) {int i,j,min,t;char a[8];for(i=0;i<9;i++){min=i;for(j=i;j<10;j++)if(num[min]>num[j])min=j;t=num[i];strcpy(a,name[i]);num[i]=num[min];strcpy(name[i],name[min]);num[min]=t;strcpy(name[min],a);}for(i=0;i<10;i++)printf("\n%5d%10s\n",num[i],name[i]); }冒泡法排字母#include <stdio.h>int main(){int i,j,t;char a[10];for(i=0;i<10;i++){scanf("%c",&a[i]);}for(j=0;j<9;j++)for(i=0;i<9-j;i++)if(a[i]>a[i+1]){t=a[i];a[i]=a[i+1];a[i+1]=t;}for(i=0;i<10;i++)printf("%c",a[i]);return 0;}指针排序#include<stdio.h>int main(){int t,a,b,c,*p1,*p2,*p3;scanf("%d %d %d",&a,&b,&c);p2=&b;p3=&c;if(*p1<*p2){t=*p1;*p1=*p2;*p2=t;}if(*p1<*p3){t=*p1;*p1=*p3;*p3=t;}if(*p2<*p3){t=*p2;*p2=*p3;*p3=t;}printf("%d %d %d\n",c,b,a);}。

相关文档
最新文档