C语言上机实验试题Word格式.docx
- 文档编号:7116658
- 上传时间:2023-05-07
- 格式:DOCX
- 页数:29
- 大小:25.23KB
C语言上机实验试题Word格式.docx
《C语言上机实验试题Word格式.docx》由会员分享,可在线阅读,更多相关《C语言上机实验试题Word格式.docx(29页珍藏版)》请在冰点文库上搜索。
floaty=26.75;
%f"
x+y);
实验二
C程序的调试及运算符
1.指出下面的是标识符、关键字还是常量。
abc,2,new,struct,″opiu″,′k′,″k″,false,bnm,true,0xad,045,if,goto
解:
abc是标识符,2是整型常量,new、struct是关键字,″opiu″是字符串常量,′k′是字符常量,″k″是字符串常量,false是布尔常量,bnm是标识符,true是布尔常量,0xad是十六进制的整型常量,045是八进制的整型常量,if、goto都是关键字。
2.指出下面的标识符是否是合法的。
2op,Fm,void,short,Dfe,fr-r,s*u
2op不是合法的标识符因为它是以数字开头的;
Fm是合法的标识符;
void,short不是合法的标识符,因为它们是系统保留的关键字;
Dfe是合法的标识符;
fr-r和s*u不是合法的标识符,因为它们分别包含不允许的字符-和*。
3.判断对错:
①如果a为flase,b为true,则a&
&
b为true;
②如果a为flase,b为true,则a||b为true。
由表2.3可知,①错。
②对。
4.请指出下面的表达式是否合法,如合法,则指出是哪一种表达式。
%hb*/c3+4o+p3>
=(k+p)z&
(k*3)!
mp5%ka==b(d=3)>
k
%h和b*/c不是合法的表达式,其余的都是合法的表达式。
3+4,o+p是算术表达式;
3>
=(k+p)是关系表达式;
z&
(k*3),!
mp是逻辑表达式;
5%k是算术表达式;
a==b是关系表达式;
(d=3)>
k是关系表达式。
5.若x为int型变量,则执行以下语句后x的值是(-14
x=7;
x+=x-=x+x;
实验三
顺序结构程序设计
1.编程序,用getchar函数读入两个字符c1,c2,然后分别用putchar函数和printf函数输出这两个字符。
并思考以下问题:
(1)变量c1,c2应定义为字符型或整型?
还是二者皆可?
(2)要求输出c1和c2的ASCII码,应如何处理?
用putchar函数还是printf函数?
(3)整型变量和字符型变量是否在任何情况下都可以互相代替?
(谭浩强书:
3.10)
2.设圆半径r=2,圆柱高h=3,求圆周长,圆柱底面积,圆柱体积。
用scanf输入数据,用printf输出计算结果,输出时要求有文字说明,取小数点后两位数字。
3.8)
实验四各种分支结构
一.填空题
1.有intx=3,y=4,z=5;
则
A)表达式!
(x>
y)+(y!
=z)||(x+y)&
(y-z)的值为【1
】。
B)表达式x+y>
y==z的值为【
0
】
C)表达式x||y+z&
y-z的值为【
1
D)表达式!
y)&
!
z||1的值为【
E)表达式!
(x==y)&
(y==z)||0的值为【0
F)表达式!
(x+y)+z-1&
y+z/2的值为【
2.如下程序要求输入整数a和b,若a2+b2大于100,则输出a2+b2百位以上的数字,否则输出两数之和,请在【
】内填入正确内容。
main()
{inta,b,【x
】,y;
scanf("
%d%d"
a,&
x=a*a+b*b;
if(【x>
100】)
{y=【x/100
】;
\na2+b2>
100,%d"
y);
elseprintf("
\na2+b2<
=100%d"
a+b);
3.如下程序完成判断输入的正整数是否既是5又是7的整数倍。
若是,则输出yes,否则输出no,请在【
main()
{intx;
printf("
\npleaseinputadata:
"
);
%d"
x);
if(【x%5==0
】&
【x%7==0
】)
yes"
else【printf("
no"
4.下面程序的执行结果是(3
{
intc,a;
a=(float)(7/2)>
3.5?
(c=2,c+2):
3;
%d\n"
a);
5.下面程序的执行结果是(14,4
inta=10,b=0;
if(a==12)
a=a+1;
b=b+1;
else
a=a+4;
b=b+4;
%d,%d"
a,b);
二.编程题
1.根据以下函数关系,对输入的每个x值,计算出相应的Y值。
X
Y
X<
0
0
0<
=x<
10
X
10<
20
10
20<
40
30
要求用两种方法实现
1)用if-else实现(自己编程)。
2)用switch语句实现(填空完成程序)
intx,i;
floaty;
if(x<
0)i=-1;
elseif(x>
=40)i=4;
elsei=x/10;
switch(i)
case-1:
y=0;
break;
case
0:
【y=x
1:
y=10;
3:
2:
y=30;
【break
default:
errorinput\n"
printf("
y=%f"
2.编程实现以下的功能:
输入两个运算数(data1和data2)及一个运算符(op),计算表达式data1opdata2的值,其中op可为+,-,*,/。
3.有三个整数a,b,c,由键盘输入,输出其中最大的数。
4.给一个不多于3位的正整数,要求:
(1)求出它是几位数;
(2)分别打印出每一位数字。
实验五循环结构程序设计
作业题:
选择题
1.以下程序输出结果是()。
#include“stdio.h”
{
inta=2,b=-1,c=2;
if(a<
b)
if(b<
0)c=0;
elsec+=1;
c);
(A)0
(B)1
(C)2
(D)3
2.以下程序输出结果是()。
intw=4,x=3,y=2,z=1;
(w<
x?
w:
z<
y?
z:
x));
(A)1
(B)2
(C)3
(D)4
3.以下程序输出结果是()。
#inclued“stdio.h”
intx=0,y=2,z=3;
switch(x)
{
case0:
switch(y==2)
case1:
*"
break;
case2:
%"
}
switch(z)
$"
case2:
default:
#"
(A)*%
(B)*%$
(C)*#
(D)*$*#
4.以下程序段输出结果是()。
intk,j,s;
for(k=2;
k<
6;
k++,k++)
{s=1;
for(j=k;
j<
j++)s+=j;
s);
(A)9
(B)1
(C)11
(D)10
5.以下程序段输出结果是()。
intx=3;
do
%3d"
x-=2);
}while(!
(--x));
(B)3
(C)1
-2
(D)死循环
6.以下程序段输出结果是()。
inty=10;
for(;
y>
0;
y--)
if(y%3==0)
{printf("
--y);
continue;
(A)741
(B)852
(C)963
(D)875421
填空题
1.下面程序的运行结果是
。
#include“stdio.h”
main()
inti=1;
while(i<
=-1)
{printf(“$$$$”);
printf(“\n%d”,i);
2.下面程序的运行结果是
。
#include“stdio.h”
inti=5;
do{
i――;
printf(“$$$$”);
}while(i);
printf(“\n%d”,i)
3.下面程序的运行结果是
main()
inti=3;
10)
if(i<
6)
i+=2;
continue;
else
printf(“%d”,++i)
4.下面程序的运行结果是
inti,sum=0;
for(i=0;
i<3;
++i)
printf(“%d%d\n”,i,sum+=i);
}
实验六
数组
作业与练习
一、选择题
1.若有说明:
int
a[10];
则对数组元素的正确引用是【A
A)a[10];
B)a[3.5]
C)a(5)
D)a[10-10]
2.若有说明语句:
int[3][4];
则对a数组元素的正确引用是【C
A)a[2][4]
B)a[1,3]
C)a[1+1][0]
D)a
(2)
(1)
二、填空题
1.若有说明:
inta[][3]={1,2,3,4,5,6,7};
则a数组第一维的大小是【3】
2.下面程序的运行结果是【11235813213455】
main()
{inti,f[10];
f[0]=1;
f[1]=1;
for(i=2;
i<
10;
i++)
f[i]=f[i-2]+f[i-1];
for(i=0;
{if(i%4==0)
\n"
f[i]);
三、编程题
1.用选择法对10个整数按升序排序
#defineN10
{int
i,j,min,temp;
staticinta[N]={5,4,3,2,1,9,8,7,6,0};
\nThearrayis:
/*输出数组元素*/
i<
N;
i++)
%5d"
a[i]);
N-1;
i++)
/*排序操作*/
min=【0
】;
for(j=i+1;
j<
j++)
if
(a[min]>
a[j])
min=j;
【{temp=a[min];
a[min]=a[j];
a[j]=temp}】;
/*数据交换*/
\nThesortednumbers:
\n"
/*输出排序结果*/
2.有15个数存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的值。
如果该数不在数组中,则打印出“无此数”。
读懂下面的程序,并填空。
变量说明:
top,bott:
查找区间两端点的下标;
loca:
查找成功与否的开关变量。
#include<
stdio.h>
#defineN15
{inti,j,number,top,bott,min,loca,a[N],flag;
charc;
Input15numbers(a[i]>
a[i-1])\n"
/*由大到小*/
a[0]);
/*输入第1个数据*/
i=1;
while(i<
N)
a[i]);
/*输入下一个数据*/
if(a[i]>
=a[i-1])
/*是否大于前一个数*/
i++;
else
Repeatinputnumbera[i]"
must>
=%d\n"
a[i-1]);
Inputthefindednumber:
/*输入需要查找的数*/
number);
loca=0;
top=0;
bott=N-1;
if((number<
a[0])||(number>
a[N-1]))
loca=-1;
/*不在范围内*/
while((loca==0)&
(top<
=bott))
{min=【(top+bott)/2】;
if(number==a[min])
{loca=min;
Theserialnumberis
%d.\n"
loca+1);
else
if(number<
a[min])
bott=min-1;
elsetop=min+1;
if(loca==0||loca==-1)
%disn'
tintabel\n"
number);
四、自测题
(一)选择题
1.若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为【A】。
(假设a[0][0]位于数组的第一个位置上。
A)i*m+j
B)j*m+i
C)i*m+j-1
D)i*m+j+1
2.在C语言中,引用数组元素时,其数组下标的数据类型允许是【A
A)整型常量
B)整型表达式
C)整型常量或整型表达式
C)任何类型的表达式
(二)填空题
1.以下是个评分统计程序,共有8个评委打分,统计时,去掉一个最高分和一个最低分,其余6个分数的平均分即是最后得分,程序最后应显示这个得分,显示精度为1位整数,2位小数,程序如下,请将程序补充完整。
(99年北京水平试题)
{floatx[8]={9.2,9.5,9.8,7.4,5.,9.1,9,0,}
float【aver】,max,min;
inti;
for(【i=0】;
8;
aver+=x[i];
max=x[0];
min=max;
for(i=1;
{if(max<
x[i])max=x[i];
if(【min>
x[i]】)min=x[i];
aver=【(aver-min-max)/6】;
Average【%f】\n"
aver);
2.程序读入20个整数,统计并输出非负数个数以及非负数的和。
#include"
stdio.h"
{inti,a[20],s,count;
s=count=0;
for(i=0;
20;
{scanf("
if(a[i]<
0)
【continue
s+=a[i];
count++;
s=%dcount=%d\n"
s,count);
}
实验七
字符数组
1.有下面的程序段
char
a[3],b[]="
china"
a=b;
%s"
则【D】
A)运行后将输出china
B)运行后将输出ch
C)运行后将输出chi
D)编译出错
2.判断字符串s1是否大于字符串s2,应当使用【D
A)if(s1>
s2)
B)if(strcmp(s1,s2))
C)if(strcmp(s2,s1)>
0)
D)if(strcmp(s1,s2)>
3.
下述对C语言字符数组的描述中错误的是【C】
A)字符数组可以存放字符串
B)字符数组的字符串可以整体输入、输出
C)可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值
D)不可以用关系运算符对字符数组中的字符串进行比
1.
编写一个程序,将字符数组s2中的全部字符拷贝到字符数组s1中,不用strcpy函数。
拷贝时,‘\0'
也要拷贝过去。
‘\0'
后面的字符不拷贝。
{charfrom[80],to[80];
inti,len;
\npleaseinputstring:
from);
【len=strlen(from)】;
/*得到字符串长度*/
=len;
【to[i++]=from[i++]】;
/*逐个字符复制*/
New
string
is:
%s\n"
to);
实验八函数
1.C语言中,若对函数类型无说明,则函数的默认类型是【A
A)整型
B)float
C)double
D)指针类型
2.C语言规定,在一个源程序中,main函数的位置(
C
A)必须在最开始
B)必须在系统调用的库函数的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 上机 实验 试题
![提示](https://static.bingdoc.com/images/bang_tan.gif)