P3C语言初级练习手册.docx
《P3C语言初级练习手册.docx》由会员分享,可在线阅读,更多相关《P3C语言初级练习手册.docx(69页珍藏版)》请在冰点文库上搜索。
P3C语言初级练习手册
第一天C语言概述
一、单选题
1、为了得到某种结果,通过计算机语言表达的指令序列,我们称之为()
A、软件B、程序C、程序设计D、语言
2、一个完整的函数是由哪两部分组成的()(多选)
A、执行体B、函数首部C、函数体D、函数语句
3、构成C语言的基本单位是()
A、框架B、预处理C、函数D、语句
4、C语言是一种程序设计语言,它属于()语言
A、面向对象B、面向过程C、面向函数D、面向程序
5、计算机程序设计语言的发展过程正确的是()
A、机器语言汇编语言高级语言
B、低级语言高级语言汇编语言
C、汇编语言机器语言高级语言
高级语言汇编语言低级语言
二、填空题
1、C源程序的执行步骤_______________、______________、_____________、_____________
2、一个C源程序中只能包括一个。
3、在一个C源程序中,多行注释部分两侧的分界符分别为和。
4、在C语言中,一个函数的函数体一般包括__和__。
5、在每个C语句和数据定义的最后必须有一个。
三、简答题
1、解释面向对象、面向过程?
2、列举C程序的特点?
(至少3点)
3、手写代码:
写出”helloworld”小程序
四、编程题
1、
(必做录屏)在主函数中,打印下面图案
2、
(必做录屏)在主函数中,打印下面图案
3、
(必做录屏)在主函数中,打印下面图形
4、
(必做录屏)在主函数中,完成下面界面的打印
(必做)完成下面界面的打印
6.完成下面界面的打印(必做录屏)
7.完成下面界面的打印(必做录屏)
第二天算法和流程图(拓展)
一、单选题
1、已知直角三角形两直角边长为a,b,求三角形的面积S,算法分下列三步:
(1)计算S=1/2ab;
(2)输入直角三角形两直角边长a,b的值;(3)输出三角形的面积,其中正确的顺序是()
A.
(1)
(2)(3)B.
(2)(3)
(1)C.
(1)(3)
(2)D.
(2)
(1)(3)
2、将大象装进冰箱,算法分为下列三步:
(1)开冰箱
(2)关冰箱(3)放大象,正确的步骤()
A.
(1)
(2)(3)B.
(2)(3)
(1)C.
(1)(3)
(2)D.
(2)
(1)(3)
3、下列程序框中,出口可以有两个流向的是()
A处理框内B判断框内C终端框内D输入输出框内
二、填空题
1、程序=________+________
2、算法三种基本结构包括________、________、________
三、简答题
1、写出流程图各种符号的含义
2、画流程图:
三种结构(顺序、选择、循环)的流程图
3、画流程图:
输入数据判断该数据是否大于100
4、画流程图:
输入边长计算正方形的面积.(面积=边长*边长)
四、编程题
1、
输出如下图形(必做录屏)
2、
输出如下图形(必做录屏)
3、输出如下图形(必做录屏)
4、输出如下内容(必做录屏)
第三天常量和变量
一、单选题
1、下面是十进制整型常量的是()
A、eB、2.3C、345D、a1
2、变量的命名规范不包含()
A变量名中字母不区分大小写B变量名必须以字母或下划线开头
C变量名不允许使用关键字D变量名只能由字母、数字和下划线组成
3、C语言中不符合命名规范的是()
Awj_1BM_JC3_eD_te3
4、不属于C语言中基本数据类型的是()
A数组B整型C字符型D实型
5、下面关于基本数据类型描述错误的是()
A浮点型float在内存中占用8字节B字符型char在内存中占用1个字节
C整型int在内存中占用4字节D长整型占用8个字节
二、填空题
1.C语言的常量有_______、__________、___________、__________、___________
2.C语言的基本数据类型___________、___________、____________
3.定义一个整型变量num并赋值为200______________________________
4.C语言中的变量必须先____________后____________
5.C语言的字符常量是用________括起来的一个字符,字符串常量是用________括起来的字符序列
三、简答题
1、在C语言中,数据类型可分为?
2、解释常量和变量的概念?
3、解释标识符的概念?
4、手写代码:
在显示器上输出一句你想对老师说的话(内容随意)
5、手写代码:
以字符形式和整数形式分别输出‘A’和‘b’
四、编程题
1、(必做录屏)以字符形式和整数形式分别输出’A’+32和’b’-32
2、
(必做录屏)输出如效果图的产品信息描述表
要求:
(1)产品编号输出整数
(2)产品登记输出字符
(3)产品价格输出小数
3、
(必做录屏)按要求完成案例
要求:
(1)显示超市管理界面
(2)超市管理分为四个模块分别是1采购2库存3.销售0退出
(3)图中数字,要用格式符进行输出
4、
(必做录屏)输出如效果图的进货明细清单
要求:
1)定义3个编号整型变量;为变量赋值;
2)定义3个产品等级字符变量,等级分为(A,B,C);为变量赋值;
3)定义3个价格浮点型变量;为变量赋值;
4)定义3个数量整型变量;初始化变量
5)定义3个总价浮点型变量;计算每个等级产品的总价格
6)定义一个采购款总金额浮点型变量,计算本次采购款总金额
5、使用C程序在dos窗口中输出“5+1*3*40+8/2”的结果(必做录屏)
6、假设现有变量a=5,b=1,c=3,d=40,e=40,f=8,g=2,使用C程序求出”a+1*3*40+8/2”的结果(必做录屏)
第四天算术运算符和赋值运算符
一、单选题
1.已知intx=3,y=2;则表达式x*=y+8的值是()
A.3B.2C.30D.10
2.在C语言中,要求运算数必须是整型的运算符是()
A./B.=C.++D.%
3.若有定义intx=5,y=2;则表达式x/y的结果是为()
A.2.5B.2C.2.0D.3
4.设x,y均为float型变量,则以下不合法的赋值语句是()
A.x=0.0B.y=(x%2)/10C.x*=y+8D.x=y=0
5.若有inta=7,b=12;则以下表达式中值为3的是()
A.b%=(a%=5)B.b%=(a-a%5)C.b%a-a%5D.(b%=a)-(a%=6)
6.已知各变量的类型说明如下
inta=2,b;
floatx=2.56;
则以下不符合C语言语法的表达式的是()
A.x%(-3)B.a+=2C.a+=(b=4)D.x/=(b=3)
二、填空题
1、printf("%d",5/3);输出的结果是_______,printf("%d",5%3);输出的结果是_______
2、写出条件运算符格式________列举三个逻辑运算符________
3、(优先级排列)下列运算符:
+,||,!
>=,*=,
4、inta=10,b=3;printf("%d",a/b+4);请填写结果_________
5、inta=10,b=20,c=30;printf("%d",(a+b)*a+c);输出的结果是_________
三、简答题
1、手写代码:
定义2个字符型变量,给这两个变量分别赋值为’A’和’b’,分别以字符形式和整数形式输出这2个字符
2、手写代码:
定义浮点型变量,初始化为3.21538,以默认小数位的形式输出这个小数,以保留2位小数点的形式输出这个形式
四、编程题
1、(必做录屏)设:
有梯形,上底长2.5厘米,下底长3.5厘米,高3厘米,编写程序,计算梯形的面积。
梯形面积计算公式:
(上底+下底)*高÷2
2、(必做录屏)编写程序,计算表达式F=ax²+bx+c的值。
其中,a=3,b=4,c=5,x=2
3、(必做录屏)顾客逛商场购买5件商品,他们的价格和顾客购买商品的数量如下表
商品编号
商品价格
商品数量
A
56
2
B
78.5
4
C
4.5
7
D
34.8
9
E
8
3
编程实现对顾客商品的总消费的计算,并给与顾客7折优惠,并计算7折后的优惠价是多少?
要求显示:
产品编号、产品价格、产品数量、消费总额、打折后价格。
4、(必做录屏)小明去超市购物,买了2瓶矿泉水和2个面包,矿泉水3.5元一瓶,面包8元一个,编写程序,计算并输出小明结账金额。
5、(选做)定义变量代表π、圆半径、圆周长和圆面积,给变量π赋值3.14,半径赋值2计算圆周长和圆面积。
第五天顺序程序设计
一、单选题
1、a被定义为char型变量并赋值为‘A’,正确的输出语句是()
A、OUTPUTa B、putchar(a)C、getchar(a) D、a=putchar();
2、设x为int型变量,则执行语句x=10;x+=x-2;后x的值为()
A、18 B、19 C、20 D、30
3、在下列叙述中错误的一条是()
A、printf函数可以向终端输出若干个任意类型的数据
B、putchar函数只能向终端输出字符,而且只能是一个字符
C、putchar函数能用来输出多个字符
D、printf函数可以向终端输出整型类型的数据
4、以下程序的输出结果为()
main(){
charc1=‘a’,c2=‘b’,c3=‘c’;
printf(“a%cb%c\tc%c\n”,c1,c2,c3);
}
A、abcabcabc B、aabbcc C、abc D、aaaabb
5、以下程序的输出结果是()
main(){
charc=’A’;
printf(“c=%d,%c\n”,c,c);
}
A、c=65,a B、c=97,aC、c=65,A D、c=97,A
6、下面程序执行后的结果是()
#include
main()
{
floata=3.4;
intb;
b=a*3;
printf("%d",b);
}
A.10.2B.10C.11D.11.2
二、填空题
1、在printf格式字符中,只能输出一个字符的格式字符是;用于输出字符串的格式字符是;以小数形式输出实数的格式字符是。
2、单字符输出函数一般形式为:
__________________。
三、简答题
1、读程序写结果
#include
voidmain()
{
inta=10,b;
b=a++;
printf(“%d,%d”,a,b);
}
2、补充下面代码
#include
voidmain()
{
floatnum=5.8;
charc1=’a’,c2=’b’;
printf(,num,c1,c2);
}
3、设inta=12,则执行完语句a+=a-=a*a后,输出a的值
4、手写代码:
有整数235,分别输出该数的个位、十位、百位上的数字
5、手写代码:
第一小组有4名组员,定义4名组员的成绩变量,现在给4名组员成绩赋值为:
99.9分、98.5分、95分和100分,计算并输出第一小组的总成绩和平均成绩。
四、编程题
1、(必做录屏)定义两个字符c1,c2给两个变量赋值,以字符形式输出一次,以整数形式输出一次
2、(必做录屏)现有两个学生,张三命名为stu1,李四命名为stu2,张三的年龄为18,李四的年龄为20,将两个学生的年龄输出
3、(必做录屏)定义三个学生的成绩,张三的成绩为99.9李四的成绩为88.7,王五的成绩为77.9,分别输出三位同学的成绩
4、(必做录屏)现有变量a=’a’,变量b=’b’,以整数形式输出a+b的值
5、(必做录屏)现有字符型变量ch1=’a’,ch2=’b’,实现交换两个变量的值并输出
6、(必做录屏)假设定义inta=3,b=5;编程实现a=5,b=3(两数交换)
7、(选做)假设吉利大学图书馆有图书3500册,其中,计算机类图书1000本,文学类图书800本,建筑类图书460本,其余为汽车类图书。
编程计算并输出汽车类图书在图书馆藏书所占比例。
第六天格式输入函数
一、单选题
1、a被定义为char型变量,若从键盘给a输入数据,正确的输入语句是()
A、INPUTa; B、a=putchar();C、a=getchar(); D、a=read();
2、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是()
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);
3、若变量定义为float类型,要通过语句scanf("%f%f%f",&a,&b,&c);给a赋于10.0,b赋予22.0,c赋予33.0,不正确的输入形式是()
A、10<回车>22<回车>33<回车> B、10.0,22.0,33.0<回车>
C、10.0<回车>22.033.0<回车> D、1022<回车>33<回车>
4、下面程序的空白处应填写()
main(){
chara;intb,c;
scanf(“%c,%d,%d”,______________)
printf("%c%d%d\n",a,b,c);
}
A、a,b,c B、a,&b,&c C、&a,&b,&c D、&a&b&c
5、在下列叙述中,错误的一条是()
A、printf函数可以向终端输出若干个任意类型的数据
B、putchar函数只能向终端输出字符,而且只能是一个字符
C、getchar函数只能用来输入字符,但字符的个数不限
D、scanf函数可以用来输入任何类型的多个数据
二、填空题
1.若想通过以下输入语句使a=5.0,b=4,c=3,则输入数据的形式应该是。
intb,c;floata;
scanf("%f,%d,c=%d",&a,&b,&c);
2.在scanf格式字符中,输入一个字符的格式字符是;用于输入整型的格式字符是;用于输入小数形式的格式字符是
三、简答题
1、若输入字符a和c,读程序写结果
#include"stdio.h"
voidmain(){
charc1,c2;
scanf(“%c%c”,&c1,&c2);
printf("c1=%c,c2=%c\n",c1,c2);
printf("c1=%d,c2=%d\n",c1,c2);
}
2、修改下面代码(1处错误)
#include"stdio.h"
voidmain(){
intnum;
scanf(“%d”,num);
printf(“%d”,num+3);
}
3、修改下面代码(2处错误)
#include"stdio.h"
voidmain(){
floatx,y,z;
scanf(“%5.2f%5.2f”,&x,&y);
z=x+y;
printf(“%F+%F=%F\n”,x,y,z);
}
4、手写代码:
随机输入一个整数,实现输出这个整数百位上的数字
5、手写代码:
随机输入一个大写字母,将大写字母转成小写字母,分别以字符和整数形式输出
四、编程题
1、(必做录屏)键盘输入长方形的长和宽,求长方形的周长及面积
2、(必做录屏)键盘输入梯形的上底和下底及高,求梯形的面积
3、(必做录屏)计算表达式f=ax²+bx+c的值,其中a=2,b=4,c=6,x的值由键盘输入
4、(必做录屏)键盘输入面包的单价和数量,计算并输出面包的总价
5、(必做录屏)键盘输入圆的半径r,求出圆的面积(S=3.14*r*r)
6、(必做录屏)键盘输入圆柱的半径r和高h,求出圆柱的体积(3.14*r*r*h)
7、(选做)键盘输入商品的单价和数量,总价大五折优惠,输出打折后的价钱
8、
(选做)计算小明同学的平均成绩
第七天逻辑运算符和关系运算符
一、单选题
1.下列选项中不属于逻辑运算符的是()
A.&&B.!
C.|D.||
2.设intx=1,y=1;表达式(!
x||y)的值是()
A.0 B.1 C.2 D.-1
3.能正确表示逻辑关系:
“a≥10或a≤0”的C语言表达式是()
A.a>=10ora<=0B.a>=10|a<=0C.a>=10&&a<=0D.a>=10||a<=0
4.执行下面程序后的输出结果是()
#include“stdio.h”
voidmain()
{
intx=12,y=13,z;
y--;
z=x>=y||y<12;
printf(“%d”,z);
}
A.trueB.falseC.0D.1
5.下面关于逻辑运算符描述正确的是()
A.逻辑与的规则是条件中有一个为假结果即为假.
B.逻辑或的规则是条件必须都为真结果才为真.
C.逻辑非的规则是遇真为真,遇假为假。
D.表达式!
(2+3)的结果是-5
6.执行下面程序后的结果是()
#include“stdio.h”
main()
{
intx=23,y=11;
printf(“%d”,x>10?
(x*y):
(x-y));
}
A.23B.11C.253D.110
7.能正确表示成绩score的取值范围[60,100]的表达式是()
A.score>60||score<100B.score>=60||score<=100
C.score>60&&score<100D.score>=60&&score<=100
二、填空题
1、逻辑运算符包括___________
关系运算符包括
三、简答题
1、读程序写结果
#include“stdio.h”
main()
{
inta=10,b=11,c=10,d=12,m=1,n=1;
(m=a>b)&&(n=c>d);
printf(“m=%d,n=%d”,m,n);
}
2、读程序写结果
include“stdio.h”
voidmain()
{
intx=4,y=4,z;
y++;
z=xprintf(“%d”,z);
}
3、写出下列条件的C语言表达式
变量x小于1000
变量x大于等于500
变量x能被5整除
变量x是奇数的条件
变量x的取值范围在50(包括50)到100(不包括100)之间
变量x能被4整除并且不能被100整除或者能被400整除
变量x同时被5和7整除
变量x的取值范围是两位数(10~99),并且能被7整除
4、手写代码:
输入两个整数,用条件运算符找出这两个数中的最大值
5、手写代码:
输入正方形的边长,计算面积
四、编程题
1、(必做录屏)键盘输入三角形的底和高,计算面积
2、(必做录屏)键盘随机输入两个整数,实现交换输出
3、(必做录屏)键盘输入小组人员年龄,计算并输出本组平均年龄(结果保留两位小数)
4、(必做录屏)某小区有写字楼3栋,每月底收费,帮助电力公司编写程序,计算并输出每月度电费收费总额(每栋写字楼电费表读数由键盘输入,商业用电5元/度)
5、(必做录屏)键盘输入三个整数,使用条件运算符输出最大值
6、(必做录屏)键盘输入一个整数,输入个位数、十位数、百位数
(选做)键盘输入一个整数,若这个数满足大于60的条件则加20之后输出,否则减10输出(用条件运算符)
第八天if、if…else
一、单选题
1、下面程序执行后如果输入的值是58则输出的结果为()
#include“stdio.h”
voidmain()
{
inta;
scanf(“%d”,&a);
if(a>50)
{
printf(“%d”,a);
}
if(a>40)
{
printf(“%d”,a);
}
if(a>30)
{
printf(“%d”,a);
}
}
A.58B.40C.30D.585858
2、丽家宝贝前台结算平台,下面是该管理系统中的部分代码,如果输入的值是1则显示结果是( )
#include“stdio.h”
voidmain()
{
intn;
printf(“请确认是否是会员1/0:
”);
scanf(“%d”,&n);
if(n==1)
{
printf(“会员顾客,结算享受九折优惠政策”);
}
else
{
printf(“非会员顾客,实价支付”);
}
}
A.会员顾客,结算享受九折优惠政策B.非会员顾客,实价支付
C.会员顾客,结算享受九折优惠政策非会员顾客,实价支付D.编译出错
3、下面程序执行后,如果输入的数值是2则输出结果是()
#include“stdio.h”
voidmain()
{
intn;
scanf(“%d”,&n);
if(n%2==0)
{
printf(“%d”,n*n*n);
}
else
{
printf(“%d”,n*n);
}
}
A.8B.4C.2D.6
4、下面代码实现输入一个数判断能否被2与7整除,空白处应填入()
#include“stdio.h”
voidmain()
{
intn;
printf(“输入一个整数:
”);
scanf(“%d”,&n);
if(___________)
{
printf(“yes\n”);
}
else
{
printf(“no\n”);
}
}
A.n%7==0||n%2==0B.n%2==0&&n%7==0C.n%2=0||n%7=0D.n%2=0&&