广西科技大学工科类专业C语言复习练习题.docx
- 文档编号:14759261
- 上传时间:2023-06-27
- 格式:DOCX
- 页数:47
- 大小:63.42KB
广西科技大学工科类专业C语言复习练习题.docx
《广西科技大学工科类专业C语言复习练习题.docx》由会员分享,可在线阅读,更多相关《广西科技大学工科类专业C语言复习练习题.docx(47页珍藏版)》请在冰点文库上搜索。
广西科技大学工科类专业C语言复习练习题
第2部分补充练习题
第1、2章C语言概述及数据类型与表达式
一、单项选择题
1.C语言源程序名的后缀是。
A.exe
B.c
C.obj
D.cpp
2.以下叙述中错误的是。
A.计算机不能直接执行用C语言编写的源程序
B.C程序经C编译程序编译后,生成后缀为.obj的文件是一个二进制文件
C.后缀为.obj的文件,经连接程序生成后缀为.exe的文件是一个二进制文件
D.后缀为.obj和.exe的二进制文件都可以直接运行
3.可在C程序中作为用户标识符的一组是。
A.and
B.Date
C.Hi
D.case
_2007
y-m-d
Dr.Tom
Bigl
4.以下关于long、int和short类型数据占用内存大小的叙述中正确的是。
A.均占4个字节
B.根据数据的大小来决定所占内存的字节数
C.由用户自己定义
D.由C语言编译系统决定
5.若变量均已正确定义并赋值,以下合法的C语言赋值语句是。
A.x=y==5;
B.x=n%2.5;
C.x+n=i;
D.x=5=4+1;
6.以下正确的字符串常量是。
A."\\\"
B.'abc'
C.OlympicGames
D.""
7.已知字符'A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D'。
执行语句printf("%d,%d",c1,c2-2);后输出结果是。
A.A,B
B.A,68
C.65,66
D.65,68
8.执行scanf("a=%d,b=%d",&a,&b);语句,若要使变量a和b的值分别为3和4,则正确的输入方法为.
A.3,4
B.a:
3b:
4
C.a=3,b=4
D.34
9.设变量均已正确定义,若要通过scanf("%d%c%d%c",&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。
以下所示的输入形式中正确的是(注:
□代表空格字符)。
A.10□X□20□Y<回车>
B.10□X20□Y<回车>
C.10□X<回车>
D.10X<回车>
20□Y<回车>
20Y<回车>
10.转换说明符%x的输出形式是。
A.十六进制数
B.八进制数
C.十进制数
D.二进制数
11.若有以下类型说明语句:
charw;
intx;
floaty;
doublez;
则表达式w*x+z-y的结果为类型。
A.float
B.double
C.int
D.char
12.将int型变量n转换成float型变量的方法是。
A.floatn
B.(float)n
C.float(n)
D.intn
13.以下不能正确计算代数式
值的C语言表达式是。
A.1/3*sin(1/2)*sin(1/2)
B.sin(0.5)*sin(0.5)/3
C.pow(sin(0.5),2)/3
D.1/3.0*pow(sin(1.0/2),2)
14.C语言中运算对象必须是整型的运算符是。
A./
B.%
C.!
D.*
15.运行以下程序段时编译出错,其原因是。
charc1='a',c2='123';
printf("%c,%d\n",c1,c2);
A.字符串要用"123"表示
B.'123'只能赋值给字符数组
C.c2是字符变量,不能用%d格式输出
D.c2是字符变量,只能赋以字符常量,不能赋以字符串常量
16.设有定义:
intk=0;以下选项的四个表达式中与其他三个表达式的值不相同的是。
A.k++
B.k+=1
C.++k
D.k+1
17.已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,以下不能将变量c中的大写字母转换成对应小写字母的语句是。
A.c=(c-'A')%26+'a'
B.c=c+32
C.c=c-'A'+'a'
D.c=('A'+c)%26-'a'
18.有以下程序:
#include
voidmain()
{intx,y,z;
x=y=1;
z=x++,y++,++y;
printf("%d,%d,%d\n",x,y,z);
}
程序运行后的输出结果是。
A.2,3,3
B.2,3,2
C.2,3,1
D.2,2,1
19.指出下面输入函数正确的是。
A.scanf("a=b=%d",&a,&b);B.scanf("a=%d,b=%f",&m,&f);
C.scanf("%3c",c);D.scanf("%5.2f",&f);
20.有以下程序:
#include
voidmain()
{charc1,c2,c3,c4,c5,c6;
scanf("%c%c%c%c",&c1,&c2,&c3,&c4);
c5=getchar();
c6=getchar();
putchar(c1);
putchar(c2);
printf("%c%c\n",c5,c6);
}
程序运行后,若从键盘输入(从第1列开始)
123<回车>
45678<回车>
则输出结果是。
A.1267
B.1256
C.1278
D.1245
21.以下程序的功能是:
给r输入数据后计算半径为r的圆面积s。
#include
voidmain()
/*Beginning*/
{intr;
floats;
scanf("%d",&r);
s=π*r*r;
printf("s=%f\n",s);
}
程序在编译时出错,出错的原因是。
A.注释语句书写位置错误
B.存放圆半径的变量r不应该定义为整型
C.输出语句中格式描述符非法
D.计算圆面积的赋值语句中使用了非法变量
22.以下程序的输出结果是。
#include
voidmain()
{intm=3,n=4,x;
x=-m++;
x=x+8/++n;
printf("%d\n",x);
}
A.3
B.5
C.-1
D.-2
23.以下程序的输出结果是。
#include
voidmain()
{intx=4,y=8;
x+=y;
y+=x;
printf("%d%d\n",x,y);
}
A.1220
B.48
C.1212
D.84
24.下列程序的执行结果是。
#include
voidmain()
{intx='c';
printf("%c\n",'B'+(x-'b'+1));
}
A.D
B.H
C.I
D.J
25.下列程序的执行结果是。
#include
voidmain()
{inta=5;
floatx=2.14;
a*=x*('D'-'A');
printf("%f\n",(float)a);
}
A.32.100000
B.32
C.32.000000
D.33.000000
26.数字字符0的ASCII值为48,以下程序运行后的输出结果是。
#include
voidmain()
{chara='1',b='2';
printf("%c,",b++);
printf("%d\n",b-a);
}
A.3,2
B.50,2
C.2,2
D.2,50
27.有以下程序:
#include
voidmain()
{chara1='M',a2='m';
printf("%c\n",a1,a2);
}
以下叙述中正确的是。
A.程序输出大写字母M
B.程序输出小写字母m
C.格式说明符不足,编译出错
D.程序运行时产生出错信息
28.有以下程序:
#include
voidmain()
{charc1='1',c2='2';
c1=getchar();
c2=getchar();
putchar(c1);
putchar(c2);
}
当运行时输入:
a<回车>后,以下叙述正确的是。
A.变量c1被赋予字符a,c2被赋予回车符
B.程序将等待用户输入第2个字符
C.变量c1被赋予字符a,c2中仍是原有字符2
D.变量c1被赋予字符a,c2中将无确定值
二、填空题
1.一个C源程序是由若干个函数构成,其中必须有一个是main函数。
2.两整数相除的结果为int类型。
3.函数体由{开始,由符号}结束。
函数体的前面是定义语句部分,其后是执行语句部分。
4.在C语言中整数可用二进制进制数、十六进制数和十进制进制数三种数制表示。
5.在C语言程序中,整型数据占4字节,用关键字float定义单精度实型变量,字符型数据占1字节。
6.执行以下程序后的输出结果是14。
#include
voidmain()
{inta=10;
a=(3*5,a+4);
printf("a=%d\n",a);
}
7.设有定义:
floatx=123.4567;则执行以下语句后的输出结果是123.460000。
printf("%f\n",(int)(x*100+0.5)/100.0);
8.已知字母A的ASCII码为65。
以下程序运行后的输出结果是67G。
#include
voidmain()
{chara,b;
a='A'+'5'-'3';
b=a+'6'-'2';
printf("%d,%c\n",a,b);
}
9.有以下程序,当运行时输入:
12<回车>后,输出结果是12。
#include
voidmain()
{charch1,ch2;
intn1,n2;
ch1=getchar();
ch2=getchar();
printf("%c%c\n",ch1,ch2);
n1=ch1-'0';
n2=n1*10+(ch2-'0');
printf("%d\n",n2);
}
10.执行以下程序后的输出结果是。
#include
voidmain()
{intx,y,z;
x=y=2;
z=3;
y=z++-1;
printf("%d\t%d\t",x,y);//x=2y=2z=4
y=++x-1;
printf("%d\t%d\n",x,y);//x=3,y=2,z=4
y=z---1;
printf("%d\t%d\t",z,y);//x=3,y=3,z=3
y=--z-1;
printf("%d\t%d\n",z,y);//x=3,y=1,z=2
}
11.执行以下程序后的输出结果是。
#include
voidmain()
{intx;
x=-3+4*5-6;
printf("%d,\t",x);//11,
x=3+4%5-6;
printf("%d,\t",x);//1,
x=(7+6)%5%2;
printf("%d\n",x);//1
}
12.执行以下程序后的输出结果是。
#include
voidmain()
{inta,b=97;
a=-3;
printf("\ta=%d\tb=\'%c\'\t\"end\"\n",a,b);//-3a
}
13.以下程序输入1.2345.6789
请填空完成程序。
注:
#include
voidmain()
{doublex,y;
scanf();//"%4lf%7lf",&x,&y
printf("x=%lf,y=%lf\n",x,y);
}
14.以下程序的运行结果是。
#include
voidmain()
{inti=5,j=9;
floatx=2.3,y=4.5;
printf("%8.2f\n",i%(int)(x+y)*j/2/3+y);//11.5
}
第3章算法的基本控制结构
一、单项选择题
1.以下叙述中错误的是。
A.C语句必须以分号结束
B.复合语句在语法上被看作一条语句
C.空语句出现在任何位置都不会影响程序运行
D.赋值表达式末尾加分号就构成赋值语句
2.当把以下四个表达式用作if语句的控制表达式时,有一个选项与其它三个选项含义不同
这个选项是。
A.k%2
B.k%2==1
C.(k%2)!
=0
D.!
k%2==1
3.有以下程序段
intk=0,a=1,b=2,c=3;
k=a
b:
a;k=k>c?
c:
k;
执行该程序段后,k的值是。
A.3
B.2
C.1
D.0
4.设变量a、b、c、d和y都已正确定义并赋值。
若有以下if语句
if(a
if(c==d)y=0;
elsey=1;
该语句所表示的含义是。
0a
A.y=
1a≥b
0a
B.y=
1a≥b且c≠d
0a
C.y=
1a
0a
D.y=
1c≠d
5.以下程序运行后的输出结果是。
#include
voidmain()
{inta,b,d=25;
a=d/10%9;b=a&&(-1);
printf("%d,%d\n",a,b);
}
A.6,1
B.2,1
C.6,0
D.2,0
6.以下程序运行后的输出结果是。
#include
voidmain()
{inta=1,b;
for(b=1;b<=10;b++)
{if(a>=8)break;
if(a%2==1)//b=1a=1a=6b=2a=3b=3a=8b=4break;
{a+=5;
continue;
}
a-=3;
}
printf("%d\n",b);
}
A.3
B.4
C.5
D.6
7.设变量已正确定义,则以下能正确计算f=n!
的程序段是。
A.f=0;
for(i=1;i<=n;i++)
f*=i;
B.f=1;
for(i=1;i f*=i; C.f=1; for(i=n;i>1;i++) f*=i; D.f=1; for(i=n;i>=2;i--) f*=i; 8.设a为整型变量,不能正确表达数学关系:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 广西 科技大学 工科 类专业 语言 复习 练习题