C语言程序设计基础谭浩强习题.docx
- 文档编号:4875923
- 上传时间:2023-05-07
- 格式:DOCX
- 页数:46
- 大小:64.40KB
C语言程序设计基础谭浩强习题.docx
《C语言程序设计基础谭浩强习题.docx》由会员分享,可在线阅读,更多相关《C语言程序设计基础谭浩强习题.docx(46页珍藏版)》请在冰点文库上搜索。
C语言程序设计基础谭浩强习题
第一章C语言概述
、选择题
1.
c语言规定,必须用作为主函数名。
2•—个C程序可以包含任意多个不同名的函数,但有且仅有一个,一个C程
序总是从开始执行。
A)过程B)主函数C)函数D)include
3.是C程序的基本构成单位。
A)函数B)函数和过程C)超文本过程D)子程序
4.下列说法正确的是。
A)一个函数的函数体必须要有变量定义和执行部分,二者缺一不可
B)一个函数的函数体必须要有执行部分,可以没有变量定义
C)一个函数的函数体可以没有变量定义和执行部分,函数可以是空函数
A)在执行C程序时不是从main函数开始的
B)C程序书写格式严格限制,一行内必须写一个语句
C)C程序书写格式自由,一个语句可以分写在多行上
D)C程序书写格式严格限制,一行内必须写一个语句,并要有行号
7.在C语言中,每个语句和数据定义是用结束。
A)句号B)逗号C)分号D)括号
&下列字符串是合法的自定义标识符的是。
A)_HJB)9_studentC)intD)LINE1
9.不是C语言提供的合法关键字。
A)switchB)printC)caseD)default
10.C语言提供的合法关键字是。
A)breakB)printC)funitonD)end
11.
C语言提供的合法关键字是。
、填空题
1.一个C程序至少包含一个,即。
2.一个函数由两部分组成,它们是和
3.函数体的范围是—
4.函数体一般包括和。
5.C语言是通过来进行输入输出的。
6•在C语言中,凡在一个标识符后面紧跟着一对圆括弧,就表明它是一个
7•主函数名后面的一对圆括号中间可以为空,但一对圆括号不能_
第一章答案
选择题
6~10CCABA
1~5CBACD
11A
填空题
1.主函数main函数
2.函数的说明部分函数体
3.最外层的一对大括弧内的部分
4.变量定义部分执行部分
5.输入和输出函数
6.函数
7.省略
第二章数据类型、运算符与表达式
、选择题
1•在C语言中,下列数据类型属于基本类型的是。
A)整型、浮点型、字符型B)共用体类型、整型
C)结构体类型、浮点型D)指针类型、字符型
2.C语言中不能表示的整型常量进制是。
A)十进制B)十六进制C)八进制D)二进制
3.在C语言中,转义字符回车换行符是。
A)\nB)\tC)\rD)\b
4.在ASCII码表中可以看到每个小写字母的ASCII码比相应的大写字母
A)大32B)大64C)小32D)小64
5.设d为字符变量,下列表达式能够完整正确赋值的是。
A)d=297B)d='a'C)d=“a”D)d='abc'
6.10+'a'+1.5-567.34的结果是'b'型数据。
A)charB)doubleC)intD)float
7.语句
inti=3;
k=(i++)+(i++)+(i++);
执行过后
k的值为,
i的值为
。
A)9,6
B)12,5
C)18,6
D)15,5
&inti=3;
printf(
“%d”,-i++);
的输出结果为,输出后i的值为。
A)-3,4B)-4,4C)-4,3D)-3,3
9.已知在ASCII字符集中,数字0的序号为48,下面程序的输出结果为
#include
voidmain()
{
charx,y;
x='0'y='9';
printf(“%d,%c\n”,x,y);
}
A)因输出格式不合法,输出错误信息B)48,9
C)0,9D)0,57
10.已知在ASCII集中,字母A的序号为65,下面程序的输出结果为。
#include
voidmain()
{
charc1=Y',c2=B';
printf(“%c,%d\n"。
2++口,
A)Y,66
B)Z,65
C)Z,66
D)Y,65
11.C语言中,运算对象必须是整型数的运算符是
。
A)*
B)/
C)%和/
D)%
12.下列常数中,合法的
C语言常量是
。
A)'\n'
B)e-310
C)abc
D)'1
13.下面程序的输出结果是。
#include
voidmain()
{
intx=2,y=0,z;
x*=3+2;printf(“%d”,x);
x*=y=z=4;printf(“%d”,x);
}
A)840B)1040C)10,4D)8,4
14.若已定义x和y为double类型,则表达式x=1,y=x+3/2的值为。
A)1B)2C)2.0D)2.5
15.表达式(int)2.1416的值为。
A)2B)2.1C)0D)3
16.C语言规定标识符由等字符组成.
A)字母数字下划线B)中划线字母数字
C)字母数字逗号D)字母下划线中划线
17.若有如下定义:
inta=2,b=3;floatx=3.5,y=2.5;则表达式:
(float)(a+b)/2+(int)x%(int)y的值是。
A)2.500000B)3.500000C)4.500000D)5.000000
18.已知字母A的ASCII码为十进制65,下面程序段的运行结果为:
charch1,ch2;
ch仁'A'+2ch2='D'-3;
printf(“%cdn”ch1,ch2);
A)67,65B)C,AC)C,DD)67,A
19.设x、y均为float型变量,则以下不合法的赋值语句是^
A)++x;B)y=(x%2)/10;
C)x*=y+8;D)x=y=0;
20.设有以下定义,则能使值为3的表达式是:
。
intk=7,x=12;
A)x%=(k%=5)B)x%=(k-k%5)
C)x%=kD)(x%=k)-(k%=5)
、填空题
1.在C语言中,程序运行期间,其值不能被改变的量叫—。
2.在C语言中,要求对所有变量,遵循先定义后的原则。
3.可以用来表示C的整常数的进制是、、。
4.浮点型变量分为和,即float和double型。
5.C的字符常量是用括起来的一个字符,字符串常量用括起来的一组字符。
6.在一个变量定义语句中可以同时定义多个变量,变量之间用隔开。
7.下面的程序运行结果为。
#include
voidmain()
{
charc1,c2;
c1='a';c2='b';
c1=c1-32;c2=c2-32;
printf(%%c,c1,c2);
}
&表达式10+'a'+1.5-0.5*'b'的结果。
9•在C语言中,可以利用,将一个表达式的值转换成指定的类型。
10.#include
voidmain()
{
inti,j,m,n;
i=8;j=10;
m=++i;n=j++;
printf(“%d,%d,%d,%d”,i,j,m,n);
}
运行后i,j,m,n的值是。
第二章答案
、选择题
1~5A
6~10B
11-15D
16~20A、填空题
1.常量
2.使用
DAABAABCABCABCBA
3.八进制十进制十六进制
4.单精度双精度
5.单引号双引号
6.逗号
7.AB
8.59.5
9.强制类型转换
10.9,11,9,10
1.
2.
3.
4.
第三章顺序结构程序设计
、选择题
下列说法正确的是。
A)输入项可以是一个浮点型常量,如scanf(“%f”;,4.8)
B)只有格式控制,没有输入项也能进行正确输入,如scanf(“a=%d,b=%d”)
C)当输入一个浮点型数据时,格式控制部分应规定小数点后的位数,如scanf(“%5.3f;”,&f)
D)当输入数据时,必须指明变量的地址,如根据题目中已给出的数据的输入和输出形式,
#include
voidmain(
{
inta;float
printf(
输入语句
输出语句
scanf(
程序中输入
“%f”;,&f)
/输出语句的正确是
x;
“iaput”);
输入形式
inputa,x:
32.1
输出形式
a+x=5.10
A)scanf(
“%d,%f”,&a,&x);
B)scanf(
“%%d,&a,&x);
printf(
“\na+x=%4.2f”
a+x);
printf(
“\na+x=%4.2f”
a+x);
C)scanf(
“%fd,&a,&x);
D)scanf(
“%3d1f”,&a,&x);
printf(
“\na+x=%6.1f”
a+x);
printf(
“\na+x=%4.2f”
a+x);
}
O
以下程序的输出结果是
#include
{
inti=O1O,j=1O,k=Ox1O;
printf(“%d,%d,%d\n”
}
A)8,10,16B)8,10,10
以下程序的输出结果是
#include
C)10,10,10
D)10,10,16
voidmain()
{
charc1='6',c2='O:
printf(“%c,%c,%d,%d\n
}
A)因输出格式不合法,输出出错信息
C)6,0,7,6
设有如下定义
c1,c2,c1-c2,c1+c2);
B)6,0,6,102
D)6,0,5,7
intx=10,y=3,z;
则语句
printf(“%d\n”,z=(x%y,x/y));
的输出结果是。
A)3B)0C)4D)1
6.设有如下定义
intx=10,y=5,z;
则语句
printf(“%d\n”,z=(x+=y,x/y));
的输出结果是。
A)1B)0C)4D)3
7.根据定义和数据的输入方式,输入语句的正确形式为:
。
已有定义:
floata1,a2;
输入4.523
3.52
A)scanf('%%f“&a1,&a2);B)scanf(“%%f"a1,a2);
C)scanf(“%%.2f“&a1,&a2);D)scanf(“%%3f2f“,a1,a2);
二、填空题
1.putchar函数的作用是,getchar函数的作用是。
2.printf函数的”格式控制”包括两部分,分别是和
3.不同类型的输出内容有不同的格式字符,其中是用来按十进制整数形式输出一
个整型数,是用来按小数形式输出一个浮点数,是用来输出一个字符。
4.符号”&是运算符,&a是指。
5.复合语句是由一对括起来的若干语句组成。
6.分析下面程序:
#include
{
intx=2,y,z;
x*=3+2;
printf(
“%dc);
x*=y=z=4;
printf(
“%dc);
x=y=z;
printf(
“%dc);
x=(y=z);
printf(
“%4);
}
程序的输出结果为■
7.编制程序对实数a与b进行加,减,乘,除计算,要求显示如下结果。
jia=70
jian=30
cheng=1000
chu=2
程序:
#include
voidmain()
a=50;b=20;
printf(“iia=%d\n⑵,);
printf(“jian=%d\n(3));
printf(“cheng=%d\n⑷);
printf(“chu=%);
}
将缺少的部分填在空白处。
8.以下程序的输出结果为:
。
#include
voidmain()
{
charc1,c2;
c1=‘a';
c2='b';
printf(“%c\n%c”,c1-32,c2);
}
三、编程题
1.请编写一个程序,能显示出以下两行文字。
Iamastudent.
IloveChina.
2.请编写一个程序,从键盘上输入a=2,b=3.4,c=,向屏幕输出对应的a,b,c的值。
第三章答案
一、选择题
1-5DBABA6-7DA
二、填空题
1.向终端输出一个字符从终端输入一个字符
2.格式说明普通字符
3.%d%f%c
4.取地址a在内存中的地址
5.大括号
6.104044
7.
(5)a/b
(1)intbbba,b;
(2)a+b(3)a-b(4)a*b
8.A
b
三、编程题
1.#include
voidmain()
{
printf(a“mIastudent.\n”);
printf(lo“veIChina.\n”);
}
2.#include
voidmain()
{
inta;
floatb;
charc;
scanf(“%d%f%c”,&a,&b,&c);
printf(“a=%d,b=%f,c=%c\n”,a,b,c);
第四章选择结构程序设计
、选择题
1.以下关于运算符优先级的描述中,正确的是。
A)!
(逻辑非)>算术运算>关系运算>&&(逻辑与)>||(逻辑或)>赋值运算
B)&&(逻辑与)>算术运算>关系运算>赋值运算
C)关系运算>算术运算>&&(逻辑与)>||(逻辑或)>赋值运算
D)赋值运算>算术运算>关系运算>&&(逻辑与)>||(逻辑或)
2•逻辑运算符的运算对象的数据类型。
A)只能是0或1B)只能是.true或.false.
C)只能是真或假D)任何类型的数据
3.能正确表示x的取值范围在[0,100]和(-10,-5)的表达式是
A)(x>=-10)&&(x<=-5)||(x>0)&&(x<100)
B)(x>-10)&&(x<-5)||(x>=0)&&(x<=100)
C)(x>=-10)&&(x<=-5)&&(x>=0)&&(x<=100)
D)(x>-10)&&(x<-5)&&(x>=0)&&(x<=100)
4•以下程序的运行结果是。
#include
voidmain()
intc,x,y;
x=1;y=1;c=0;
c=x++||y++;
printf(“\n%d%d%d\n”,x,y,c);}
A)110B)211C)011D)001
5•判断字符型变量ch为大写字母的表达式是—
A)'A'<=ch<='Z'B)(ch>=A)&&(ch<=Z)
C)(ch>='A')&&(ch<='ZD))A<=ch<=Z
A)if(x=0;)printf(elseprintf(
C)if(x>0);{x=x+1;printf(elseprintf(
%f”
a
B)if(x>0)
x);{x=x+1;printf(
%f”,-x);elseprintf(
D)if(x>0)
“%f”,x);}{x=x+1;printf(
%f”,-x);elseprintf(
。
C
“%f”,x);}%f”,-x);
“%;”,x)%f”,-x);
7.若已知a=10,b=20,则表达式!
a
6.以下if语句书写正确的是。
A)10B)20C)1D)0
&写出下面程序的执行结果。
#include
if(y=1)
x=5;
printf(
“%d\t”,x);
if(y=0)
x=3;
else
x=4;
printf(
“%d\t\n”,x);}
A)63
B)54
C)53
D)65
if(!
a)
x=-1;
else
if(b);
if(c)
x=3;
else
x=4;
A)-1
B)4
若有以下函数关系
「
y=2x
x<0时
y=x+1
x=0时
L
y=x
x>0时
C)35
D)3
A)y=2*x;
if(x!
=O)
if(x>0)y=x;elsey=x+1;
C)if(x>=0)
if(x>0)y=x;
elsey=x+1;
9•下列程序段运行后x的值是
a=b=c=O;x=35;
F面程序段能正确表示以上关系的是
B)y=2*x;
if(x<=0)
if(x==0)y=x+1;
elsey=x;
D)y=x+1;
if(x<=0)if(x<0)y=2*x;
else
y=2*x;
elsey=x;
11•若有变量定义
float
x;inty
「:
则正确的switch语句是
。
A)switch(x)
B)switch(x)
{case
1:
printf(
“*\n”);{case1~2:
printf(
“*\n
case
2:
printf(
*\n*”});case3~4:
printf(
*\“*”
});
C)switch(y)
D)switch(y)
{case
1*y:
printf(
“*\n”);{case1:
printf(
“*\n
case
2*y:
printf(
*“*”});case2:
printf(
*\“*”
});
12•当a=1,b=3
c=5,
d=4时,
执行完下面程序段后x的值为
■。
if(a
if(c else if(a if(b elsex=6; elsex=7; A)1B)2C)3D)6 13.设有如下定义: charch=',则执行下面语句后变量ch: A)A B)aC)ZD)z ch=('A'<=ch&&ch<='Z')? (ch+32): ch 14.已知intx=30,y=50,z=80;以下语句执行后变量x、y、z的值分别为: if(x>y||x z=x;x=y;y=z; A)x=50,y=80,z=80B)x=50,y=30,z=30 C)x=30,y=50,z=80D)x=80,y=30,z=50 15.switch(表达式c)括号内表达式c的类型: 。 A)可以是任意类型B)只能为整型 C)可以是整型或字符型D)可以为整型或浮点型 、填空题 1. 在C语言中,对于if语句,else子句与if子句的配对规则是 2. 以下两条if语句可合并成一条if语句。 if(a<=b)x=1; elsey=2; if(a>b)printf( ***”); elseprintf( ###”); 3. 设有程序片段如下: switch(class) {case'A': printf( “GREAT! \n”); case'B': printf( “GOOD! \n”); caseC: printf( “OK! \n”); case'D': printf( “NO! \n”); default: printf( “ERROR! 'n”);} 若class的值为C,则输出结果是 4.x是0~100之间的整数,根据以下if语句写出等价的switch语句。 if(x<60)m=1; elseif(x<70)m=2; elseif(x<80)m=3; elseif(x<90)m=4; elsem=5; switch(⑴) { (2)m=5;break; case6: m=2;break; case7: m=3;break; case8: m=4;break; (3)m=1;} 5.输入3个实数a,b,c要求按从大到小顺序输出三个数。 #include voidmain() {floata,b,c,t; scanf(“%f,%f,%f”,&a,&b,&c); if(a {t=a;(1^b=t;} if(_(2^) {t=a;a=c;c=t;} if(b {—b=c;c=t;} printf(“%f,%f,%f”,a,b,c);} 6.输入一个字符,如果是大写字母,则把其变成小写字母;如果是小写字母,则变成大写字母;其它字符不变。 请在括号内填入缺少的内容。 #include voidmain() {charch; scanf(“%c”,&ch); if( (1)) ch=ch+32; else if(ch>='a'&&ch<=‘z') ( (2)) printf(“%c\n”}ch); 7.用C语言描述 1)a小于b或小于c, 2)a和b都大于c 3)a或b中有一个小于c 4)a是奇数 三、编程题 1•编程实现;输入长方形的两个边长a,b和一个整数k。 k=1时,输出长方形的周长 l;k=2时,输出长方形的面积s;当k=3时,输出长方形的周长I和面积s。 2.试编程输入x,输出对应的y。 { x2(x<0) -
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 基础 谭浩强 习题
![提示](https://static.bingdoc.com/images/bang_tan.gif)