C语言程序设计题目集合

C语言程序设计题目集合
C语言程序设计题目集合

一、A类、

①长整数四则运算(最多限1人)

【问题描述】设计任意两个长正整数(小于80位)的加法函数add()和乘法函数mult(),并求任意整数(≤58)的阶乘。

【实现提示】用无符号整型或字符型数组存储任意长整数。

【测试数据】

6!=720

9!=362880

19!=1216451004088320000

39!=20397882081197443358640281739902897356800000000

②单词统计(最多限1人)

【问题描述】统计某篇英文小说中某些单词的出现次数。

【实现提示】英文小说存储在一个文本文件中。待统计的词汇集合要一次输入完毕,即统计工作必须在程序的一次运行之后全部完成。输出的每个单词的出现次数。约定小说中的词汇一律不跨行,这样每从文本文件中读入一行,就统计每个单词在这行中出现的次数,直到文件结束。

要求在程序运行时才输入文本文件名和要统计的词汇。

【测试数据】以C/C++语言源程序模拟英文小说。统计某些保留字(如:if, else, for, while等)的出现次数。

③保龄球计分

【问题描述】打保龄球是用一个滚球去撞击10个站立的瓶,将瓶击倒。一局分10 轮,每轮可滚球1 次或多次,以击到的瓶数为依据计分,一局得分为10轮得分之和,而每轮的得分不仅与本轮的滚球情况有关,还可能与后一轮或两轮的滚球情况有关,即:某轮某次滚球击倒的瓶数不仅要计入本轮得分,还可能会计入前一轮或两轮得分。计分规则如下:

a)若某一轮的第一次滚球就击倒全部10个瓶,则本轮不再滚球(若是第10轮还

需加2次滚球),该轮得分为本次击倒瓶数10与以后2次滚球所击倒瓶数之和。

b)若某一轮的第一次滚球未击倒全部10个球,则对剩下未击倒的瓶再滚球一次,

如果这2次滚球击倒全部10个瓶,则本轮不再滚球(若是第10轮还需加1

次滚球),该轮得分为这2次击倒瓶数10与以后1次滚球所击倒瓶数之和。

c)若某一轮2次滚球未击倒全部10个瓶,则本轮不在滚球,该轮得分为这2次

滚球所击倒瓶数之和。

【实现提示】

a)模拟10个人各打一局保龄球比赛过程,统计每局各轮得分和累计总分。

b)逐人逐轮逐次输入一次滚球击倒的瓶数。

c)对10人的得分由低到高排序并显示。

d)最后,把排序的存入文件中。

【测试数据】自定模拟数据

④学生成绩统计

【问题描述】学期考试结束,统计有N个班某班每个人的平均成绩,每门课的平均成绩,并按个人平均成绩从高到低的顺序输出成绩,输出不及格人名单。输入、输出格式自定。

【实现提示】假设某班有:30人(姓名自定)。考试课程有:高等数学、物理、外语、

C语言、德育5门课程。将所有同学的成绩保留在文件中,对文件中的数据处理,输出所要求的内容,程序的功能主要包括3方面:

a)输入成绩到文件中

b)输出成绩

c)输出不及格学生名单

d)成绩排序

e)修改记录

f)删除记录

g)插入记录等

主函数中对3个功能选择(菜单),调用对应的函数完成。

【测试数据】自定模拟数据

⑤README软件的制作

【问题描述】在现代的一些软件中,常常有这样一个程序,它主要是显示某些软件的使用方法及注意事项。比如:TC2.0下README等。设计制作一个有自己特色的说明软件。

【实现提示】

a)某软件的使用方法及注意事项等内容存储在文件README.TXT中。

b)使用编写的程序README.EXE能方便地阅读README.TXT中的内容。

c)能实现上翻一页、下翻一页、下一行、下一行等操作。

【测试数据】以某个语言源程序模拟README.TXT文件。

⑥编制一个学生的选课及学籍管理程序

【问题描述】现有若干个班级的学生,进行下学期课程的选课,假设已经通过文件储存了选课内容的数据库,数据库中包括7门课(课程内容由学生自己定)

第i门课程的接纳的学生数为10×i,i为课程的序号,如第一门课的接纳的学生数为10×1,第二门课为10×2,...... 依此类推,每门课的学分数分别为1、2、3、4、5、6、7,现要求每一个学生至少选3门课,最多不超过5门。

【实现提示】

a) 显示课程内容供学生选择,并能进行选课的操作。

b) 随着学生选课工作的进行,动态更新数据库的内容。

c) 进行学生的最少选课量和最多选课量的控制。

d) 显示所有学生的选课的结果。

e) 把学生所选课按学分总积分由小到大排列,同样学分按姓名的英文字母排序。

f) 录入学生的各科成绩。

g) 学生的参数有:姓名、学号、性别、总学分、各科成绩,补考情况,请把一门

和三门功课不及格的学生的姓名列出,并自动生成补考通知书,通知书中要求有学生的姓名、学号、不及格的科目及补考时间(由编程者自定)。

【测试数据】自定模拟数据

⑦一个用于医院门诊候诊的队列管理程序

【问题描述】要求采用先来先就诊的排队方式(就诊顺序与挂号单编号无关),假设挂号时编码是连续的,但由于同一个门诊科目有3个诊室,其中35(含35)岁以上的在第一诊室,35岁以下男患者进第二诊室,其它的进第三诊室,程序启动后显示下列菜单:

1--挂号

2--叫号

3--分诊室

4--显示各诊室队列信息

5--统计当天就诊患者情况(要求按性别进行统计和按任意年龄区段进行统计)

6--结束程序

【实现提示】

选1时,提示用户在一行内输入姓名及挂号单编号;

选2时,显示排在队列中第一位患者姓名、挂号单编号,将其从挂号序列中删除;

选3时,进行诊室分配;

选4时,按队列顺序显示个诊室排队人的姓名、挂号单编号及所在诊室;

选5时,进行两种统计方法的选择,并进行必要的统计计算;

选6时,退出程序的运行。

要求1~5中每一个步骤完成后都能重新显示此选择菜单。

【测试数据】自定模拟数据

⑧个人通讯录管理系统

【问题描述】建立一通讯录,输入姓名、电话号码、住址等信息,然后对通信簿进行显示、查找、添加、修改及删除。

【实现提示】

(1) 通讯录的每一条信息包括姓名、单位、固定电话、移动手机、分类(如同事、

朋友、同学、家人等)、EMAIL、QQ等。

(2) 输入功能:可以一次完成若干条信息的输入。

(3) 显示功能:完成全部通讯录信息的显示(一屏最多显示10条,超过十条应能够

自动分屏显示)

(4) 查找功能:可以按姓名等多种方式查找通讯信息

(5) 增加、删除、修改功能:完成通讯录信息的多种更新

【测试数据】自定模拟数据

⑨学生综合测评系统

【问题描述】每个学生的信息为:学号、姓名、性别、家庭住址、联系电话、语文、数学、外语三门单科成绩、考试平均成绩、考试名次、同学互评分、品德成绩、任课教师评分、综合测评总分、综合测评名次。考试平均成绩、同学互评分、品德成绩、任课教师评分分别占综合测评总分的60%,10%,10%,20%。

【实现提示】

A、学生信息处理

(1) 输入学生信息、学号、姓名、性别、家庭住址、联系电话,按学号以小到大的顺序存入文件中。

提示:学生信息可先输入到数组中,排序后可写到文件中。

(2) 插入(修改)同学信息:

提示:先输入将插入的同学信息,然后再打开源文件并建立新文件,把源文件和输入的信息合并到新文件中(保持按学号有序)若存在该同学则将新记录内容替换源内容,

(3) 删除同学信息:

提示:输入将删除同学号,读出该同学信息,要求对此进行确认,以决定是否删除将删

除后的信息写到文件中。

(4) 浏览学生信息:

提示:打开文件,显示该文件的学生信息。

B、学生数据处理:

(1) 按考试科目录入学生成绩并且按公式:考试成绩=(语文+数学+外语)/3 计算考试成绩,并计算考试名次,提示:先把学生信息读入数组,然后按提示输入每科成绩,计算考试成绩,求出名次,最后把学生记录写入一个文件中。

(2) 学生测评数据输入并计算综合测评总分及名次。

提示:综合测评总分=(考试成绩)*0.6+(同学互评分)*0.1+品德成绩*0.1+任课老师评分*0.2。

(3) 学生数据管理

提示:输入学号,读出并显示该同学信息,输入新数据,将改后信息写入文件

(4) 学生数据查询:

提示:输入学号或其他信息,即读出所有数据信息,并显示出来。

C、学生综合信息输出

提示:输出学生信息到屏幕。

【测试数据】自定模拟数据

10:五子棋

程序要求:1.由两个玩家分别下棋,当某一玩家五子相连,则赢。

2.界面要求:初始状态——显示棋盘,并显示两个玩家的操作键及初始玩家号;游戏进行状态——动态显示棋盘,不同玩家的棋子用不同符号显示,屏幕上显示当前玩家号,结束时显示赢家号。

15:井子棋

程序要求:1.计算机为一方,人为一方,交替下棋,谁先连成一条直线谁胜;允许人选择先下还是后下。

2.界面要求:初始状态——显示棋盘,并显示玩家的操作键;游戏进行状态——动态显示棋盘不同玩家的棋子用不同符号显示,屏幕上显示当前玩家号,结束时显示赢家号。

3.提示计算机自动下棋的规则:计算机下时,应考虑所有空位,并按行、列、对角线计算每个空位的分值,若在某行(列、对角线)上,(设计算机画X,人画O)已有XX 加50分

已有OO 加25分

已有X空加10分

已有O空加8分

都是空加4分

然后选分值最高的位置画X。

11:迷宫游戏

程序要求:1.随机生成迷宫,找出由入口经过迷宫到达出口的一条路径,允许选择人或计算机找出路。

2.界面要求:初始状态——显示迷宫的图面;用箭头指出入口外和出口外;游戏进行状态——选择人找出路时,显示每一步的结果,到边了和遇上障碍,发出“嘟”的叫声。走到出口处,应给出“胜利”的字样;选择计算机找出路时,用一条有颜色的线画出路径,若找不出

出口就显示“无出路”的字样。

3.计算机找出路部分可选做。

12 .贪吃蛇算法

程序要求:游戏时,一条蛇在密闭的围墙内,围墙内会随机出现一个食物通过键盘上的4个光标键控制蛇向上下左右4个方向移动,蛇头接到食物,则表示食物被蛇吃掉,这时蛇的身体加长一节,同时计10分。接着又出现食物等待被蛇吃掉。如果蛇在移动过程中,撞到墙壁或身体交叉(蛇头撞到自己的身体),则游戏结束。

13.猜数字游戏,

有一定的容错功能,界面友好,功能齐全。

游戏规则:

a,一个四位数,各位上的数字不重复,从1到9。

b,按以下提示猜出这个四位数。

c,每次猜测输入的数据给出类似的提示*A*B。

d,其中A前的*代表你本次猜对了多少个数字。

e,其中B前的*代表你本次猜对的数字并且位置正确的个数。

14. 模拟计算器程序

设计一个程序来模拟一个简单的手持计算器。程序支持算术运算+、-、*、/、=、以及C(清除)、A(全清除)操作。

基本要求

程序运行时,显示一个窗口,等待用户输入,用户可以从键盘输入要计算的表达式,输入的表达式显示在窗口中,用户键入’=’ 符号后,窗口显示出结果。(不用考虑运算符的优先级) 测试数据

程序输入不少于5种不同的表达式进行测试。

15.日历显示

1).输入任一年将显示出该年的所有月份日期,对应的星期

2).注意闰年情况

其显示格式要求如下:

1)月份:中文英文都可以,

2)下一行显示星期,从周日到周六,中英文都可以

3)下一行开始显示日期从1号开始,并按其是周几实际情况与上面的星期数垂直对齐

当输入2004显示如下:

Input the year:2004

Input the file name:a

The calendar of the year 2004.

Januray 1 February 2

Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat

1 2 3 1 2 3 4 5 6 7

4 5 6 7 8 9 10 8 9 10 11 12 13 14

11 12 13 14 15 16 17 15 16 17 18 19 20 21

18 19 20 21 22 23 24 22 23 24 25 26 27 28

25 26 27 28 29 30 31 29

=========================== ===========================

March 3 April 4

Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat

1 2 3 4 5 6 1 2 3

7 8 9 10 11 12 13 4 5 6 7 8 9 10

14 15 16 17 18 19 20 11 12 13 14 15 16 17

21 22 23 24 25 26 27 18 19 20 21 22 23 24

28 29 30 31 25 26 27 28 29 30

=========================== ===========================

16.钟表显示程序

要求:能模拟机械钟表行走,还要准确地利用数字显示日期和时间,在屏幕上显示一个活动时钟,按任意键时程序退出。(如下图)

二、B类

1.设计程序以打印任意一年的日历,要求每个季度的三个月并排打印,每个

月的一个星期在一行打印。

2.设计一套有关链表程序所需要的函数,提供建立链表、求链表中的结点数、

逐个显示链表元素的值、按序号查询结点、按值查询结点、在指定序号的位

置上插入结点和删除指定序号的结点等功能。在此基础上编写应用程序。

3.设计一个学生注册管理系统,能对学生注册信息(学号、姓名、性别、出

生年月、所在系、专业、电话号码)进行查询(要求可以使用模糊查询和条

件组合查询)、修改、增加、删除和存储等。

4.设计一个课程信息管理系统,能对课程信息(课程编号、课程名称、学分、

先修课号、任课教师)进行查询(要求可以使用模糊查询和条件组合查询)、

修改、增加、删除和存储等。

5.设计一个图书管理系统,能对图书信息(图书编号、书名、ISBN、出版社、

作者、价格)进行查询(要求可以使用模糊查询和条件组合查询)、修改、增加、删除和存储等。

6.模拟时钟程序

要求:能准确地利用数字显示日期和时间,在屏幕上显示一个运行的电子时钟,按任意键时程序退出。

7.编程实现文件的基本操作:1)显示当前目录下有哪些文本文件;2)由用户

输入选中的一个或多个文件名;3)由用户选择文件操作功能:复制、删除、移动(到指定文件夹下),并实现相应的功能;

三、C类

1.设计一种结构能表示最多1000位的大整数(正、负均可),并实现这类数

的加、减运算。

2.设计一种结构能表示最多1000位的大整数(正、负均可),并实现这类数

的乘运算。

3.已知一类用于表示集合的数组的元素是递增有序的,试分别编程实现这类

集合的交集和并集。

4.设计程序将两个递增有序的数组合并为一个递增有序的数组。

5.编程实现将选中的若干个文件的内容依次复制插入到一个新文件new.txt

中。

6.剧场座位使用 N*N的二维数组表示,元素值为1,代表票已售出,为0代表

尚未售出,用户要求购买剧场中一块连续的num*num个座位,返回座位的起始行列坐标,找不到返回-1。

7.判断一个串中的三类括号( { [是否匹配。

8.函数 f(char *s,char del),将非空字符串str分割成若干个子字符串并输

出,del表示分割时的标志字符。如:str为“33123333435”,del的值为‘3’,调用此函数后,将输出3个子字符串,分别为“12”,“4”,“5”。

9.13个人围成一圈,从第一个人开始顺序报数1,2,3。凡报到3者退出圈子。

找出最后留在圈子中的人原来的序号。(用数组分别实现)。

10.设计销售管理系统

某公司有四个销售员(编号:1-4),负责销售五种产品(编号:1-5)。每个销售员都将当天出售的每种产品各写一张便条交上来。每张便条包含内容:销售员的代号、产品的代号、这种产品的当天的销售额。

每位销售员每天可能上缴0-5张便条。假设,收集到了上个月的所有便条,编写一个处理系统,读取上个月的销售情况(自己设定),进行如下处理。

1、计算上个月每个人每种产品的销售额。

2、按销售额对销售员进行排序,输出排序结果(销售员代号)

3、统计每种产品的总销售额,对这些产品按从高到底的顺序,输出排序结果(需输出产品的代号和销售额)

4、输出统计报表

销售统计报表

产品代号销售之和

销售员代

号 1 2 3 4 5

1

2

3

4

每种产品之和总和

四、D类(画出流程图)

1.设计程序在屏幕上显示一个文本文件的内容,要求:将所有大写英文字母

改为小写字母输出,其它字符原样输出。

2.输入一个正整数,再输入任意n个整数,计算并输出这n个整数的和及平

均值。使用动态内存分配方法为这n个整数分配空间。

3.编程实现由用户输入若干字符串,使用指向若干字符串的指针数组,实现

字符串的字典序输出。

4.实现一个简易职工工资管理系统,工资项目包括编号,姓名、基本工资、

奖金、保险、实发工资。输入一个正整数,再输入n个职工前5项工资,计算其实发工资。职工工资信息用文件保存。

5.输入10个学生的学号、姓名和成绩,输出学生的成绩等级和不及格人数。

每个学生的记录包括学号、姓名、成绩和等级。要求定义和调用函数,该函数实现根据学生成绩给出等级并统计不及格人数和优秀(A)人数。85~100为A,70~84为B,60~69为C,0~59为D,用文件实现。

6.使用程序模拟汉诺塔运行过程,由用户输入盘子数,输出搬运步骤。

7.建立一个学生成绩信息的单向链表,学生记录按学号由小到大排列,要求

实现对成绩信息的插入、修改、删除和遍历。

8.成绩记录簿。编制一个C语言成绩记录簿,每个学生信息包括:学号、姓名、

C语言成绩。具体功能:创建信息链表并以磁盘文件保存

9.链表的合并和复制,有两个单向链表,头指针分别为pList1和pList2,链

表中每个结点信息为学号、姓名、年龄和成绩。(1)编写函数把链表pList2合并到链表pList1中;(2)编写函数将合并后的链表复制到新链表New 上(链表结点信息与上面相同)。

10.编程实现两个文本文件内容的复制,文件的名称由输入确定。

11.编写程序读取一个指定的文本文件,显示在屏幕上,如果有大写字母,则

改成小写字母再输出,并统计行数。根据回车符统计文件的行数,要处理的文件名通过键盘输入字符串指定。

12、不少于3000字的论文,《C语言程序设计与单片机C语言相关性、差异性分析》

《C语言教学建议及学习心得分析》

五专业类 E类

《单片机C语言程序设计》编程

1、十字路口交通信号灯控制系统、交通灯的硬件和软件设计

类似于此类的软硬件结合的题目,作出实物及编写源代码。

1.编程使8个发光二极管按不同的方式循环点亮。采用外部

中断1方式来控制循环点亮,即按一下中断按键时更换一种点这方式。每次循环在LED数码管上显示P1,P2…代表不同的方式,同时循环结束后蜂鸣器发出一声报警声音。

2.采用定时器1按方式1工作,每100ms则T1中断溢出一

次,要求编写程序模拟一个循环彩灯(实验板中的发光二极管),变化花样自行设计,间隔1s变化一次。每次循环在LED数码管上显示P1,P2…代表不同的方式,同时循环结束后蜂鸣器发出一声报警声音。

3.编写程序完成键盘与LED数码管的动态显示,上电初始状

态为“- - - -”,当键盘输入相应的数字时或字符时在数码管上显示出来,当数字或者字符超过4位时,从LED数码管从左到右循环显示。

4.编写M+(M+1)+(M+2)+…N(N>M)的程序,M,N值从

键盘中输入(如M=1,N=50),并在LED数码管上显示输入的M、N数值,程序运行结果在LED数码管上显示出来。

C语言程序设计试题及答案

C语言程序设计 一、选择题(共40分,每小题2分) 1、以下叙述不正确的是(D) A、一个C源程序可由一个或多个函数组成 B、一个C源程序必须包含一个main函数 C、C程序的基本组成单位是函数 D、在C程序中,注释说明只能位于一条语句的后面 2、下列四个选项中,是不合法的用户标识符的选项是(B) A、abc B、12AC C、sun D、A 3、设有语句inta=4;则执行了语句a+=a-=a*a后,变量a的值是(A) A、-24 B、0 C、4 D、16 4、下列运算符中优先级最高的是(B) A、< B、+ C、&& D、== 5、在C语言中,运算对象必须是整型数的运算符是(A) A、% B、/ C、%和/ D、+ 6、以下关于运算符的优先顺序的描述正确的是(C) A、关系运算符<算术运算符<赋值运算符<逻辑与运算符 B、逻辑与运算符<关系运算符<算术运算符<赋值运算符 C、赋值运算符<逻辑与运算符<关系运算符<算术运算符 D、算术运算符<关系运算符<赋值运算符<逻辑与运算符 7、在C语言中,如果下面的变量都是int类型,则输出的结果是(C) sum=pad=5;pAd=sum++,pAd++,++pAd; printf(“%d\n”,pad); A、7 B、6 C、5 D、4 8、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是(B)

A、INPUTx、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); 9、假定从键盘输入23456<回车>,下面程序的输出结果是:(C)voidmain() {intm,n; scanf(“%2d%3d”,&m,&n); printf(“m=%dn=%d\n”,m,n); } A、m=23n=45 B、m=234n=56 C、m=23n=456 D、语句有错误 10、若运行时,给变量x输入12,则以下程序的运行结果是(A)main() {intx,y; scanf(“%d”,&x); y=x>12?x+10:x-12; printf(“%d\n”,y); } A、0B、22C、12D、10 11、C语言中while和do-while循环的主要区别(A) A、do-while的循环体至少执行一次 B、while的循环控制条件比do-while的循环控制条件严格 C、do-while允许从外部转到循环体内 D、do-while的循环体不能是复合语句 12、以下对二维数组的正确说明的语句是(C) A、inta[3][] B、floata(3,4) C、doublea[3][4] D、floata(3)(4) 13、以下程序的输出结果是(C) main()

C语言程序设计第三版习题库答案

C 语言程序设计(第三版)习题库 1、设圆半径r=,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf 输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。请编程序。 #include<> main(){ floatr,h,C1,Sa,Sb,Va,Vb; scanf(__”%f ”__,&r); scanf(”%d ”,__&h _);; C1=2**r; Sa=*r*r; Sb=4*Sa; Va=4**r*r*r/3; Vb=Sa*h; printf(___”Cl=%.2fSa=%.2fSb=%.2fVa=%.2fVb=%.2f ”,Cl,Sa,Sb,Va,Vb ); } 2、输入一个华氏温度,要求输出摄氏温度。公式为c=5(F-32)/9 输出要求有文字说明,取位2小数。 #include<> main(){ floatF,c; scanf("%f",&F); ____c=5*(F-32)/9______; printf("c=%.2f",c); } 3、有一函数:?? ???≥-<≤-<=10113101121x x x x x x y 写一程序,输入x 值,输出y 值。 #include<> main(){ intx,y; printf("输入x :"); scanf("%d",&x); if(x<1){/*x<1*/ y=x; printf("x=%3d,y=x=%d\n",x,y);

}elseif(____x<10_______){/*1≤x-10*/ _____y=2*x-1_______; printf("x=%3d,y=2*x-1=%d\n",x,y); }else{/*x≥10*/ y=3*x-11; printf("x=%3d,y=3*x-11=%d\n",x#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d\n",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }scanf("%d",&x);

C语言程序设计部分习题及例题参考程序

《C语言程序设计》部分例题及课后习题参考程序1.编程计算如下分段函数: y={2x+3 x≥10 4x 0≤x<10 5x?6 x<0 [参考程序] #include int main() { float x,y; printf("input x:"); scanf("%f",&x); if(x>=10) y=2*x+3; else if(x>=0) y=4*x; else y=5*x-6; printf("y=%.2f\n",y); } 2.编程将从键盘输入的百分制成绩转换为等级分,转换方法如下:90以上(大于或等于90,下同)为A,80分以上为B,70分以上为C,60分以上为D,60分以下,即低于60分为E。[参考程序] #include int main() { float score; char rank; printf("input a score:"); scanf("%f",&score); if(score>100||score<0) { printf("invalid score input\n"); exit(-1); } switch((int)score/10) { case 10: case 9: rank='A';break; case 8: rank='B';break; case 7: rank='C';break;

rank='D';break; default: rank='E'; } printf("%.2f:%c\n",score,rank); return 0; } 3.编程判断以从键盘输入的三个数为边长,是否能构成三角形。 [参考程序] #include int main() { float a,b,c; printf("input a,b,c:"); scanf("%f%f%f",&a,&b,&c); if(a>0 && b>0 && c>0 && a+b>c && a+c>b && b+c>a) printf("(%.2f,%.2f,%.2f)能围成三角形\n",a,b,c); else printf("(%.2f,%2.2f,%.2f)不能围成三角形\n",a,b,c); } 4.编程实现将从键盘输入的一个正整数逆序输出,如输入1234,输出3421 [参考程序] #include int main() { int n; printf("input a number:"); scanf("%d",&n); do { printf("%d",n%10); n/=10; } while(n!=0); return 0; } 5.输入一个1~10范围内的整数,计算该数的阶乘。 [参考程序] #include int main() { int n,s=1,i; printf("input a number(1~10):"); scanf("%d",&n); for(i=2;i<=n;i++) s*=i;

C语言程序设计试题集

第一章基础知识 一.填空 1. 每个C程序都必须有且仅有一个________ 函数。 2. C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。 3. 软件是程序,以及______、使用和维护所需要的所有文档。 4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。 5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。 6. C语言是由________组成的。 7. C语言的函数可分为主函数main、标准库函数和_________。 8. 一个函数是由两部分组成的,即:________和函数体。 9. 编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。

程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作 的要求。不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。 11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。 12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对 象,也可以用标号和符号来代替地址、常量和变量。 13. 在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。 14. C程序的执行均是由执行_________开始。 15. 函数体即为包含在{}内的部分。它分为________和为完成功能任务由若干个C 语句 组成的执行部分。 16. C语言程序中一条简单语句是以________字符作为结束符的。 17. C语言是结构化、________的程序设计语言。

C语言程序设计程序填空题库及答案

程序填空题 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【】下面程序的功能是不用第三个变量,实现两个数的对调操作。#include <> main() { int a,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b); a= ①; b= ②; a= ③; printf("a=%d,b=%d\n",a,b); }

【】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。 #include <> double pi(long n) { double s=; long i; for(i=1;i<=n;i++) s=s+ ①; return( ②); } 【】下面的程序的功能是求一维数组中的最小元素。 findmin(int *s,int t,int *k) { int p; for(p=0,*k=p;p

C语言程序设计试题集与答案解析

一.填空 1. 每个C程序都必须有且仅有一个________ 函数。 2. C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。 3. 软件是程序,以及______、使用和维护所需要的所有文档。 4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。 5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。 6. C语言是由________组成的。 7. C语言的函数可分为主函数main、标准库函数和_________。 8. 一个函数是由两部分组成的,即:________和函数体。 9. 编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。 10. 程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作 的要求。不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。 11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。 12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对 象,也可以用标号和符号来代替地址、常量和变量。

13. 在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。 14. C程序的执行均是由执行_________开始。 15. 函数体即为包含在{}内的部分。它分为________和为完成功能任务由若干个C 语句 组成的执行部分。 16. C语言程序中一条简单语句是以________字符作为结束符的。 17. C语言是结构化、________的程序设计语言。 18. 由于计算机硬件不能直接识别高级语言中的语句,因此,必须经过“_______程序”,将用高级语言编写的程序翻译成计算机硬件所能识别的机器语言程序方可执行。 19. 用高级语言编写的程序需翻译成计算机硬件所能识别的机器语言程序方可执行。所以 说,用高级语言进行程序设计,其编程效率高,方便易用,但_______没有低级语言高。 20.

C语言程序设计习题集(3)

指针 一单项选择题(每题2分,共40分) 1 以下叙述中错误的是_B__。 A 在程序中凡是以“#”开始的语句行都是预处理命令行 B 预处理命令行的最后不能以分号表示结束 C #define MAX是合法的宏定义命令行 D C程序对预处理命令行的处理是在程序执行的过程中进行的 2 若程序中有宏定义行:#define N 100 ,则以下叙述中正确的是__B_。 A 宏定义行中定义了标识符N的值为整数100 B 在编译程序对C源程序进行预处理时用100替换标识符N C 对C源程序进行编译时用100替换标识符N D 在运行时用100替换标识符 3 若有如下宏定义: #define N 2 #define y(n) ((N+1)*n) 则执行下列语句:z=4*(N+y(5));后的结果是_B__。 A 语句有错误 B z值为68 C z值为60 D z值为180 4 以下程序运行后的输出结果是_A__。 #define F(X,Y) (X)*(Y) main() { int a=3,b=4; printf("%d\n",F(a++,b++)); } A 12 B 15 C 16 D 20 5 以下程序运行后的输出结果是_C__。 #define f(x) (x*x) main() { int i1,i2; i1=f(8)/f(4); i2=f(4+4)/f(2+2); printf("%d,%d\n",i1,i2); } A 64,28 B 4,4 C 4,3 D 64,64 6 若已定义a为int型变量,则__D_是对指针变量p的正确说明和初始化。 A int p=&a; B int *p=a; C int *p=*a; D int *p=&a; 7 已知下列说明语句: static int a[]={2,4,6,8} static int *p[]={a,a+1,a+2,a+3}; int **q; q=p; 则表达式**(q+2)的值是_A__。 A 6 B 2 C 4 D 8 8 下面是一个初始化指针的语句:int *px=&a;,其中指针变量的名字应该__C_。 A *px B a C px D &a 9 若指针px为空指针,则_B__。。

C语言程序设计 复习题库

一、填空 1. break 语句通常用于switch // 循环中。 2. C 语言对数组下标的引用一般从0 开始。 3. C 语言中,一个函数一般由两个部分组成,它们是函数首部和函数体。 4. C 标准库函数中,字符串的处理函数包含在string.h 头文件中,数学函数包含在 math.h 头文件中。 5. C 程序的运行需要经过编译和链接两步进行。 6. C 程序中用/**/ 括起来的内容是程序的注释语句。 7. C 语言函数是由函数首部和函数体两部分组成。其中,函数首部包括函数类型、函数 名和函数参数。 8. C 语言提供的三种逻辑运算符是& ,// ,!。 9. C 语言源程序经过编译后,生成文件的后缀名是.c 。 10. C 语言源程序经过连接后,生成文件的后缀名是.exe 。 11. C 语言中,关系表达式和逻辑表达式的值是1//0 。 12. C 语言中的标识符只能由三种字符组成,他们是字母,数字,下划线。 13. C 语言中的每条基本语句以;作为结束符,每条复合语句以} 作为结束符。 14. C 语言中函数返回值的类型是由函数类型决定的。 15. C 源程序的基本单位是函数。 16. int a = 2, b = 3; 表达式 a > b ? a ++ : ++ b 的值为 4 。 17. int x=1,y=1,z=1; x+=y+=z; 则表达式xb>c 的值是0 。 19. 定义一个指针p,它指向一个有 6 个整型元素的一维数组,定义语句为int *p=a[6] ; 。 20. 定义一个指针数组p ,它有 4 个元素,每个指针指向一个整型数据,定义语句为int *p[4]; 。 21. 赋值语句是由= 加上一个分号构成。 22. 构成数组的各个元素必须具有相同的类型。 23. 关系表达式x+y>5 的相反表达式为x+y !>5 。 24. 函数strlen("1234\0xy") 的值为:9 。 25. 函数的形参在未被调用前不分配空间,函数形参的数据类型要和实参相同。 26. 函数体用{ 开始,用} 结束。 27. 结构化设计中的三种基本结构是顺序,选择,循环。

C语言程序设计期末考试试题(含答案)

C语言程序设计 期末考试试题及其答案 一、单项选择题(本大题共20题,每题2 分,共40分) 1、以下不是C语言的特点的是( ) A、C语言简洁、紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件进行操作 D、C语言移植性好 2、以下不正确的C语言标识符是( ) A、ABC B、abc C、a_bc D、ab.c 3、一个C语言程序是由( ) A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( ) A、有零个或多个输入 B、有零个或多个输出 C、有穷性 D、可行性 5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( ) A、int B、float C、double D、不确定 6、在C语言中,char型数据在内存中的存储形式是( ) A、补码 B、反码 C、源码 D、ASCII码 7、有如下程序,输入数据:12345M678<cR>后(表示回车),x的值是( ) 。 #include main(){ int x; float y; scanf("%3d%f",&x,&y); } A、12345 B、123 C、45 D、345 8、若有以下定义int a,b; float x,则正确的赋值语句是( ) A、a=1,b=2 B、b++; C、a=b=5 D、b=int(x); 9、以下程序的执行结果是( )

#include { int i=10,j=10; printf("%d,%d\n",++i,j--); } A、11,10 B、9,10 C、11,9 D、10,9 10、巳知字母A的ASCII码是65,以下程序的执行结果是( ) #include main() { char c1='A',c2='Y'; printf("%d,%d\n",c1,c2); A、A,Y B、65,65 C、65,90 D、65,89 11、下列运算符中优先级最高的是( ) A、< B、十 C、% D、!= 12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。 A、’x’&&’y’ B、x<=y C、x||y+z&&y-z D、!((x<y)&&!z ||1) 13、判断char型变量cl是否为小写字母的正确表达式为( ) A、’a’<=c1<=f’z’ B、(c1>=a)&&(c1<=z) C、(‘a’>=c1) (‘z’<=c1) D、(c1>=’a’)&&(c1<=’z’) 14、字符串"a"在内存中占据的字节个数为( ) A、0 B、 1 C、 2 D、 3 15、下面有关for循环的正确描述是( ) A、for循环只能用于循环次数已经确定的情况 B、for循环是先执行循环体语句,后判定表达式 C、在for循环中,不能用break语句跳出循环体 D、for循环体语句中,可以包含多条语句,但要用花括号括起来 16、下面程序的运行结果是( ) #include main() {int num=0; while(num<=2) {num++; printf(“%d ,num); } } A、 1 B、 1 2 C、 1 2 3

C语言程序设计期末考试卷及答案

C 语言程序设计期末考试卷及答案 一、单项选择题。从A 、B 、C 、D 四个选项中,选择一个最佳答案填入括号内( 每小题1分,共计30分)。 1.一个C 语言程序的执行是从( )。 A )本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 B )本程序的main 函数开始,到main 函数结束 C )本程序的main 函数开始,到本程序文件的最后一个函数结束 D )本程序文件的第一个函数开始,到本程序的main 函数结束 2.下列选项中不属于...C 语言关键字的是( ) 。 A )switch B )printf C )default D )case 3.设有语句 int a = 4; ,则执行了语句 a += a -= a * a; 后,变量a 的值是( )。 A )24 B ) -24 C )4 D )16 4.已知int i;float d;,则正确的表达式是( )。 A )(int d) B )int(d)%i C )(int)d%i D )int(d%i) 5.已知int i,a;,执行语句i=(a=3*9,a/5),a+11; 后,变量i 的值是( )。 A )5 B )16 C )27 D )38 6.下列选项中合法的字符型常量是( )。 A )"a" B )'\n' C )"\n" D )a 7.下面程序的运行结果是( )。 #include void main( ) { int k = 15; printf("k = %d,k = %o,k = %x\n",k,k,k); } A )k = 15,k = 15,k = 15 B )k = 15,k = 17,k = 17 C )k = 15,k = 017,k = 0xf D )k = 15,k = 17,k = f 8.已知a,b,c 为int 类型,执行语句:scanf ("%d%d%d",&a,&b,&c );使得a 为10,b 为20,c 为30,以下不正确... 的输入形式是( )。 A )10 B )10 C )10,20,30 D )10 20 20 20 30 30 30 9.已知int x=1,y=2,z=3;,执行下列程序段后,输出的结果是( )。 if(x>y) z=x;x=y;y=z; printf("%d,%d,%d",x,y,z); A )1,2,3 B )2,3,3 C )2,3,1 D )2,3,2 10.若变量c 为char 类型,能正确判断出c 为大写字母的表达式是( )。 A )'A'<=c<='Z' B )('A'<=c)||(c<='Z') C )(A<=c)&&(c<=Z) D )('A'<=c)&&(c<='Z') 11.有以下程序段: int k=0; while(k=1) k++; while 循环执行的次数是( )。 ------------------------------------------ 第 ----------------------------2----------------------------装 ---------------------------------------线--------------------------------------------- 班级 姓名 学号 ------------------------------------------ 第 ----------------------------1----------------------------装

(推荐下载)C语言程序设计练习题(含程序及参考答案)

(完整word版)C语言程序设计练习题(含程序及参考答案) 编辑整理: 尊敬的读者朋友们: 这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整word版)C语言程序设计练习题(含程序及参考答案))的内容能够给您的工作和学习带来便利。同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。 本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整word版)C语言程序设计练习题(含程序及参考答案)的全部内容。

1、定义一个函数int fun(int a,int b,int c),它的功能是:若a,b,c能构成等边三角形函数返回3,若能构成等腰返回2,一般三角形返回1,若不能构成三角形返回0。 #include 〈stdio.h〉 int 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);

C语言程序设计考试题库

一、判断题 1、所谓常量,就是在程序运行过程中其值可以改变的量。() 2、一个C程序可以由多个源程序文件构成,但其中只能有一个main()函数。() 3、在C语言中do-while 语句和for循环均是先执行循环体语句,再判断表达式。() 4、在函数调用中将变量的地址作为实参传递给对应形参时,实现的是单向的值传递。() 5、C语言中所有字符串都是以‘\0’结束的。() 6、do-while构成的循环语句中的循环体最少执行1次。() 7、数组名在C语言中表示的是数组的首地址。() 8、使用gets()函数输入字符串时可以在字符串中输入空格。() 9、算术运算符中‘/’的优先级高于‘%’。() 10、char a[5];该语句表明数组a中的第五个元素为a[5]。() 11、C语言源程序文件的扩展名均为.c。() 12、char a[5];数组a中有a[1]、a[2]、a[3]、a[4]、a[5]共5个元素。() 13、C语言程序区分大小写,字符常量必须定义为大写。() 14、若int i=10,j=2;则执行i*=j+8;后i的值为28。() 15、若int x=100,y=200;则语句printf("%d",(x,y));输出结果为100。() 16、c语言中的标识符只能由字母,数字和下划线三种字符组成。() 17、函数getchar()的作用是:输出一个字符。() 18、一个C语言程序总是从第一个函数开始执行。() 19、在c语言中,char型数据在内存中是以ASCII码形式存储的。() 20、在C语言中switch语句必须使用break语句。() 二、选择题 1、以下说法正确的是()。 A、C语言程序总是从第一个函数开始执行。 B、C语言程序中要调用的函数必须在main()函数中定义。 C、C语言程序总是从main()函数开始执行。

C语言程序设计《习题集》

第二章 练习一 一.选择题 1.以下说法中正确的是 A)C语言程序总是从第一个的函数开始执行 B)在C语言程序中,要调用的函数必须在main()函数中定义 C)C语言程序总是从main()函数开始执行 D)C语言程序中的main()函数必须放在程序的开始部分 2.以下说法中正确的是 A)#define和printf都是C语句B)#define是C语句,而printf不是 C)printf是C语句,但#define不是D)#define和printf都不是C语句 3.在C语言提供的合法的关键字是 A)swicth B)cher C)Case D)default 4.以下选项中属于C语言的数据类型是 A)复数型B)逻辑型C)双精度型D)集合型 5.C语言中最简单的数据类型包括 A)整型、实型、逻辑型B)整型、实型、字符型 C)整型、字符型、逻辑型D)整型、实型、逻辑型、字符型 6.C语言提供的合法的数据类型关键字是 A)Double B)short C)integer D)Char 7.在C语言中,不正确的int类型的常数是 A)32768 B)0 C)037 D)0xAF 8.在C语言中,合法的长整型常数是 A)0L B)4962710 C)0.054838743 D)2.1869e10 合法的C语言中,合法的字符型常数是 A)'\t' B)"A" C)65 D)A 9.在C语言中,合法的字符常量是 A)'\084' B)'\x43' C)'ab' D)"\0" 10.下列不正确的转义字符是 A)'\\' B)'\" C)'074' D)'\0' 11.若有以下定义: char a; int b; float c; double d; 则表达式a*b+d-c值的类型为 A) float B) int C) char D) double 12.设x和y均为int 型变量,则以下语句:x=x+y;y=x-y;x=x-y;的功能是 A把x 和y按从大到小排列 B把x和y按从小到大排列 C无确定结果

C语言程序设计复习题

《C语言程序设计》复习题 一、判断题(本大题共60个小题) 1.C程序执行的入口是main()函数,所以main函数必须放在程序的开头。 2.定义一个函数包括数据说明部分和执行语句部分,两者可以交叉出现。 3.注释内容太多会影响程序的执行效率。 4.变量要“先定义,后使用”。 5.字符常量'a'与字符串常量"a"没有区别。 6.数学公式y=-6xz+5[2(a-5)+3]写成C语言表达式是y=-6*x*z+5*[2*(a-5)+3]。 7.数学公式y=|x|+ab-c写成C语言表达式是y=fabs(x)+a*b-c。 8.表达式5/2+5.0/2+7%6 的值为5.5。 9.设int b=7;float a=2.5,c=4.7;则表达式a+(int)(b/2*(int)(a+c)/2)%4 的值为:4.5。 10.设int a=12; 则表达式a/=a+a的值是0.5。 11.在C语言中,运算符!比&&的优先级高。 12.在C语言中,运算符的优先级最小的是逗号运算符。 13.scanf("%d,%d",&x,&y);的输入格式:3,4<回车>。 14.以下程序运行结果是:1,7,0 void main() { int x=1,y=1,z=10; if(z< 0) if(y> 0) x=3; else x=5; printf(" %d," ,x); if(z=y< 0) x=3; else if(y==0) x=5; else x=7; printf(" %d,%d" ,x,z); } 15.该程序运行结果是:BCother void main()

{ char x=‘B’; switch(x) { case ‘A’: printf(“A”); case ‘B’: printf(“B”); case ‘C’: printf(“C”); default: printf(“other”); } } 16.下面程序段运行时输出结果是a=2,b=8 void main() { int x=1,y=1,a=2,b=7; switch(x) { case 1: switch(y) { case 0: a++;break; case 1: b++;break; } case 2: a++;b++;break; case 3: a++;b++; } printf("a=%d,b=%d\n",a,b); } 17.下面程序,当输入为:"abc?" 时,执行结果是:abc void main() { char c; c=getchar(); while (c!='?' ) { putchar(c); c=getchar();} }

C语言程序设计试题及答案

C语言程序设计试题及 答案 内部编号:(YUUT-TBBY-MMUT-URRUY-UOOY-DBUYI-0128)

C语言程序设计 一、选择题(共40分,每小题2分) 1、以下叙述不正确的是() A、一个C源程序可由一个或多个函数组成 B、一个C源程序必须包含一个main函数 C、C程序的基本组成单位是函数 D、在C程序中,注释说明只能位于一条语句的后面 2、下列四个选项中,是不合法的用户标识符的选项是() A、abc B、12AC C、sun D、 A2 3、设有语句int a=4;则执行了语句a+=a- =a*a后,变量a的值是() A、-24 B、0 C、4 D、16 4、下列运算符中优先级最高的是() A、< B、+ C、&& D、== 5、在C语言中,运算对象必须是整型数的运算符是() A、% B、/ C、%和/ D、 + 6、以下关于运算符的优先顺序的描述正确的是() A、关系运算符<算术运算符<赋值运算符<逻辑与运算符 B、逻辑与运算符<关系运算符<算术运算符<赋值运算符 C、赋值运算符<逻辑与运算符<关系运算符<算术运算符 D、算术运算符<关系运算符<赋值运算符<逻辑与运算符 7、在C语言中,如果下面的变量都是int类型,则输出的结果是() sum=pad=5;pAd=sum++,pAd++,++pAd;

printf(“%d\n”,pad); A、7 B、6 C、5 D、4 8、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); 9、假定从键盘输入23456< 回车 >,下面程序的输出结果是:() void main ( ) { int m,n; scanf(“%2d%3d”,&m,&n); printf(“m=%d n=%d\n”,m,n); } A、m=23 n=45 B、m=234 n=56 C、m=23 n=456 D、语句有错误 10、若运行时,给变量x输入12,则以下程序的运行结果是() main( ) { int x,y; scanf(“%d”,&x); y=x>12?x+10:x-12; printf(“%d\n”,y); } A、 0 B、 22 C、 12 D、10 11、C语言中while和do-while循环的主要区别()

C语言程序设计作业2答案

第2次作业答案 一、单项选择题答案 1B 2B 3D 4C 5B 6B 7D 8D 9B 10C 11C 12B 13A 14C 15B 16B 17D 18A 19D 20B 一.单项选择题 1.若有以下定义:int a[]={3, 4, 5, 6, 7, 8, 9, 10, 11}, *p=a; 则值为5的表达式是()。 A)p+=5, *(p+1) B)p+=1, * ++p C)p+=4, *p++ D)p+=1, ++ *p 2.下面函数调用语句含有实参的个数为() fun( ( a, b, c, d ), ( m, n ), (f, g ) ); A)1 B)3 C)4 D)2 3.函数形式正确的是()。 A) double myfun( int x, int y) B) int myfun( int x, y) { m=x+y; return m; } { int m; } C) int myfun( int x, int y) D) int myfun( int x, int y) { int x, y; double m; { int m; m=x+y; return m; } m=x+y; return m; } 4.不正确的字符串赋值或赋初值方式是()。 A)char *str; str=”string”; B)char str[7]={‘s’, ‘t’, ‘r’, ‘i’, ‘n’, ‘g’} C) char str[10]; str=”string”; D)char str[]=”string”; str2[]=””; strcpy(str2, str1); 5.以下程序的输出结果是()。 #include main() { char str[]="SSSWLIA", c; int k; for (k=2; (c=str[k])!='\0'; k++) { switch (c) { case 'I': ++k; break; case 'L': continue; default: putchar(c); continue; } } putchar('*'); } A)SSW* B)SW* C)SW*A D)SW 6.以下程序的输出结果是()。 #include int w=3; fun( int k) { if ( k==0) return w; return ( fun(k -1 )*k); }

(完整版)C语言程序设计选择题库及答案

单项选择题 导读:单项选择题要求从给出的四个备选答案中,选出一个最符合题意的答案。本类习题主要检查对C语言基本概念的掌握情况,读者可根据学习进度选做部分习题。在完成习题的过程中,不但要选出正确的答案,而且要清楚不正确的选项错在何处,以加深对概念的理解。对于掌握不准的问题, 应该通过上机实验来检验。 【1.1】以下不正确的C语言标识符是____。 A) int B) a_1_2 C) ab1exe D) _x 【1.2】以下是正确的C语言标识符是____。 A) #define B) _123 C) %d D) \n 【1.3】下列四组字符串中都可以用作C语言程序标识符的一组是。 ??? A) print B) i\am C) Pxq D) str_l ??? _3d one_half My->book Cpp ??? oodb start$it line# pow ??? aBc 3pai His.age while

【1.4】下面各选项组中,均是C语言关键字的组是。 A) auto,enum,include B) switch,typedef,continue C) signed,union,scanf D) if,struct,type 【1.5】下列不属于C语言关键字的是。A) default B) register C) enum D) external 【1.6】C语言程序从main()函数开始执行,所以这个函数要写在____。 A) 程序文件的开始B) 程序文件的最后 C) 它所调用的函数的前面D) 程序文件的任何位置 【1.7】下列关于C语言的叙述错误的是____ A) 大写字母和小写字母的意义相同 B) 不同类型的变量可以在一个表达式中 C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型 D) 同一个运算符号在不同的场合可以有不同的含义

C语言程序设计习题大全(附答案)

C语言基础一: 1.下列四组选项中,均不是C语言关健字的选项是( A )。 A) define B) gect C) include D) while IF char scanf go type printf case pow 2.下面四个选项中,均是合法整型常量的选项是( A )。 A)160 B)-0xcdf C) -01 D)-0x48a -0xffff 01a 986,012 2e5 011 0xe 0668 0x <<02>>B>>2 3.下面四个选项中,均是不合法的转义符的选项是( B )。 A) '\"' B) '\1011' C) '\011' D) '\abc' '\\' '\' '\f' '\101' 'xf' '\A' '\}' 'x1f' 4.下面不正确的字符串常量是( A )。 A)'abc' B)"12'12" C)"0" D)" " 5.以下选项中不合法的用户标识符是( A )。 A)abc.c B)file C)Main D)PRINT 6.C语言提供的合法关键字是( D )。 A) swith B) cher C) Case ).Default 7.下列标识符组中,合法的用户标识符为 A A)_0123与ssiped B)del-word与signed C)list与*jer D) keep%与wind 8.在C语言中,逻辑值"真"的表示是用( C )。 A) true B) 整型值0 C)非另整型值D) T 9若有以下定义 char s='\092'; 则该语句( B ) A)使s的值包含一个字符B)定义不合法,s的值不确定 C)使s的值包含4个字符D)使s的值包含3个字符 10设C语言中,int类型数据占2个字节,则float类型数据占(D )个字节。 A)1 B)2 C)8 D)4 11已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'+'6'-'3'后,c2中的值为( A )。 A)D B)68 C)不确定的值D)C 12逻辑运算符两侧运算对象的数据类型是( D )。 A) 只是0或1 B) 只能是0或非0正数 C) 只能是整型或字符型数据D) 可以是任何合法的类型数据 13TURBO C中int类型变量所占字节数是( B )。

相关文档
最新文档