C语言程序设计基础谭浩强习题.docx
- 文档编号:27797939
- 上传时间:2023-07-05
- 格式:DOCX
- 页数:44
- 大小:32KB
C语言程序设计基础谭浩强习题.docx
《C语言程序设计基础谭浩强习题.docx》由会员分享,可在线阅读,更多相关《C语言程序设计基础谭浩强习题.docx(44页珍藏版)》请在冰豆网上搜索。
C语言程序设计基础谭浩强习题
第一章 C语言概述
一、选择题
1.C语言规定,必须用 作为主函数名。
A)Function B)include C)main D)stdio
2.一个C程序可以包含任意多个不同名的函数,但有且仅有一个 ,一个C程序总是从 开始执行。
A)过程 B)主函数 C)函数 D)include
3. 是C程序的基本构成单位。
A)函数 B)函数和过程 C)超文本过程 D)子程序
4.下列说法正确的是 。
A)一个函数的函数体必须要有变量定义和执行部分,二者缺一不可
B)一个函数的函数体必须要有执行部分,可以没有变量定义
C)一个函数的函数体可以没有变量定义和执行部分,函数可以是空函数
D)以上都不对
5.下列说法正确的是 。
A)main函数必须放在C程序的开头
B)main函数必须放在C程序的最后
C)main函数可以放在C程序中间部分,执行C程序时是从程序开头执行的
D)main函数可以放在C程序中间部分,执行C程序时是从main函数开始的
6.下列说法正确的是 。
A)在执行C程序时不是从main函数开始的
B)C程序书写格式严格限制,一行内必须写一个语句
C)C程序书写格式自由,一个语句可以分写在多行上
D)C程序书写格式严格限制,一行内必须写一个语句,并要有行号
7.在C语言中,每个语句和数据定义是用 结束。
A)句号 B)逗号 C)分号 D)括号
8.下列字符串是合法的自定义标识符的是 。
A)_HJ B)9_student C)int D)LINE1
9. 不是C语言提供的合法关键字。
A)switch B)print C)case D)default
10.C语言提供的合法关键字是 。
A)break B)print C)funiton D)end
11.C语言提供的合法关键字是 。
A)continue B)procedure C)begin D)append
二、填空题
1.一个C程序至少包含一个 ,即 。
2.一个函数由两部分组成,它们是 和 。
3.函数体的范围是 。
4.函数体一般包括 和 。
5.C语言是通过 来进行输入输出的。
6.在C语言中,凡在一个标识符后面紧跟着一对圆括弧,就表明它是一个 。
7.主函数名后面的一对圆括号中间可以为空,但一对圆括号不能 。
第一章 答案
一、选择题
1~5 C B A C D 6~10 C C ABA
11 A
二、填空题
1.主函数 main函数
2.函数的说明部分 函数体
3.最外层的一对大括弧内的部分
4.变量定义部分 执行部分
5.输入和输出函数
6.函数
7.省略
第二章 数据类型、运算符与表达式
一、选择题
1.在C语言中,下列数据类型属于基本类型的是 。
A)整型、浮点型、字符型 B)共用体类型、整型
C)结构体类型、浮点型 D)指针类型、字符型
2.C语言中不能表示的整型常量进制是 。
A)十进制 B)十六进制 C)八进制 D)二进制
3.在C语言中,转义字符回车换行符是 。
A)\n B)\t C)\r D)\b
4.在ASCII码表中可以看到每个小写字母的ASCII码比相应的大写字母 。
A)大32 B)大64 C)小32 D)小64
5.设d为字符变量,下列表达式能够完整正确赋值的是 。
A)d=297 B)d=’a’ C)d=“a” D)d=’abc’
6.10+’a’+1.5-567.345/’b’的结果是 型数据。
A)char B)double C)int D)float
7.语句
inti=3;
k=(i++)+(i++)+(i++);
执行过后k的值为 ,i的值为 。
A)9,6 B)12,5 C)18,6 D)15,5
8.inti=3;
printf(“%d”,-i++);
的输出结果为 ,输出后i的值为 。
A)-3,4 B)-4,4 C)-4,3 D)-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,9 D)0,57
10.已知在ASCII集中,字母A的序号为65,下面程序的输出结果为 。
#include
voidmain()
{
charc1=’Y’,c2=’B’;
printf(“%c,%d\n”,++c1,c2--);
}
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)’1234’
13.下面程序的输出结果是 。
#include
voidmain()
{
intx=2,y=0,z;
x*=3+2;printf(“%d”,x);
x*=y=z=4;printf(“%d”,x);
}
A)840 B)1040 C)10,4 D)8,4
14.若已定义x和y为double类型,则表达式x=1,y=x+3/2的值为 。
A)1 B)2 C)2.0 D)2.5
15.表达式(int)2.1416的值为 。
A)2 B)2.1 C)0 D)3
16.C语言规定标识符由 等字符组成.
A)字母 数字 下划线 B)中划线 字母 数字
C)字母 数字 逗号 D)字母下划线中划线
17.若有如下定义:
int a=2,b=3;float x=3.5,y=2.5;则表达式:
(float)(a+b)/2+(int)x%(int)y的值是 。
A)2.500000 B)3.500000 C)4.500000 D)5.000000
18.已知字母A的ASCII码为十进制65,下面程序段的运行结果为:
。
char ch1,ch2;
ch1=‘A’+2; ch2=‘D’-3;
printf(“%d,%c\n”,ch1,ch2);
A)67,65 B)C,A C)C,D D)67,A
19.设x、y均为float型变量,则以下不合法的赋值语句是 。
A)++x; B)y=(x%2)/10;
C)x*=y+8; D)x=y=0;
20.设有以下定义,则能使值为3的表达式是:
。
int k=7,x=12;
A)x%=(k%=5) B)x%=(k-k%5)
C)x%=k D)(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%c”,c1,c2);
}
8.表达式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~5 A D A A B
6~10 B A A B C
11-15 D A B C A
16~20 A B C B A
二、填空题
1.常量
2.使用
3.八进制十进制十六进制
4.单精度 双精度
5.单引号 双引号
6.逗号
7.AB
8.59.5
9.强制类型转换
10.9,11,9,10
第三章 顺序结构程序设计
一、选择题
1. 下列说法正确的是 。
A)输入项可以是一个浮点型常量,如scanf(“%f”,4.8);
B)只有格式控制,没有输入项也能进行正确输入,如scanf(“a=%d,b=%d”);
C)当输入一个浮点型数据时,格式控制部分应规定小数点后的位数,如scanf(“%5.3f”,&f);
D)当输入数据时,必须指明变量的地址,如scanf(“%f”,&f);
2. 根据题目中已给出的数据的输入和输出形式,程序中输入/输出语句的正确是 。
#include
voidmain()
{
inta;floatx;
printf(“inputa,x:
”);
输入语句
输出语句
}
输入形式 inputa,x:
3 2.1
输出形式 a+x=5.10
A)scanf(“%d,%f”,&a,&x); B)scanf(“%d%f”,&a,&x);
printf(“\na+x=%4.2f”,a+x); printf(“\na+x=%4.2f”,a+x);
C)scanf(“%d%f”,&a,&x); D)scanf(“%d%3.1f”,&a,&x);
printf(“\na+x=%6.1f”,a+x); printf(“\na+x=%4.2f”,a+x);
3. 以下程序的输出结果是 。
#include
voidmain()
{
inti=010,j=10,k=0x10;
printf(“%d,%d,%d\n”,i,j,k);
}
A)8,10,16 B)8,10,10 C)10,10,10 D)10,10,16
4. 以下程序的输出结果是 。
#include
voidmain()
{
charc1='6',c2='0';
printf(“%c,%c,%d,%d\n”,c1,c2,c1-c2,c1+c2);
}
A)因输出格式不合法,输出出错信息 B)6,0,6,102
C)6,0,7,6 D)6,0,5,7
5. 设有如下定义
intx=10,y=3,z;
则语句
printf(“%d\n”,z=(x%y,x/y));
的输出结果是 。
A)3 B)0 C)4 D)1
6. 设有如下定义
intx=10,y=5,z;
则语句
printf(“%d\n”,z=(x+=y,x/y));
的输出结果是 。
A)1 B)0 C)4 D)3
7. 根据定义和数据的输入方式,输入语句的正确形式为:
。
已有定义:
float a1, a2;
输入4.523
3.52
A)scanf(“%f%f“,&a1,&a2); B)scanf(“%f,%f“,a1,a2);
C)scanf(“%4.3f,%3.2f“,&a1,&a2); D)scanf(“%4.3f%3.2f“,a1,a2);
二、填空题
1. putchar函数的作用是 ,getchar函数的作用是 。
2. printf函数的”格式控制”包括两部分,分别是 和 。
3. 不同类型的输出内容有不同的格式字符,其中 是用来按十进制整数形式输出一个整型数, 是用来按小数形式输出一个浮点数, 是用来输出一个字符。
4. 符号”&”是 运算符,&a是指 。
5. 复合语句是由一对 括起来的若干语句组成。
6. 分析下面程序:
#include
voidmain()
{
intx=2,y,z;
x*=3+2; printf(“%d“,x);
x*=y=z=4; printf(“%d“,x);
x=y=z; printf(“%d“,x);
x=(y=z); printf(“%d“,x);
}
程序的输出结果为 。
7. 编制程序对实数a与b进行加,减,乘,除计算,要求显示如下结果。
jia=70
jian=30
cheng=1000
chu=2
程序:
#include
voidmain()
{
(1)
a=50;b=20;
printf(“jia=%d\n”,
(2) );
printf(“jian=%d\n” (3) );
printf(“cheng=%d\n”, (4) );
printf(“chu=%d\n”, (5) );
}
将缺少的部分填在空白处。
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=’D’,向屏幕输出对应的a,b,c的值。
第三章 答案
一、选择题
1-5 D B A B A
6-7 D A
二、填空题
1. 向终端输出一个字符 从终端输入一个字符
2. 格式说明 普通字符
3. %d %f %c
4. 取地址 a在内存中的地址
5. 大括号
6. 104044
7.
(1)intbbba,b;
(2)a+b (3)a-b (4)a*b (5)a/b
8. A
b
三、编程题
1.#include
voidmain()
{
printf(“Iamastudent.\n”);
printf(“IloveChina.\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或1 B)只能是.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()
{
int c,x,y;
x=1;y=1;c=0;
c=x++||y++;
printf(“\n%d%d%d\n”,x,y,c);
}
A)110 B)211 C)011 D)001
5.判断字符型变量ch为大写字母的表达式是 。
A)’A’<=ch<=’Z’ B)(ch>=A)&&(ch<=Z)
C)(ch>=’A’)&&(ch<=’Z’) D)A<=ch<=Z
6.以下if语句书写正确的是 。
A)if(x=0;) B)if(x>0)
printf(“%f”,x); {x=x+1;printf(“%f”,x);}
else printf(“%f”,-x); else printf(“%f”,-x);
C)if(x>0); D)if(x>0)
{x=x+1;printf(“%f”,x);} {x=x+1;printf(“%f”,x);
else printf(“%f”,-x); else printf(“%f”,-x);}
7.若已知a=10,b=20,则表达式!
a
C
A)10 B)20 C)1 D)0
8.写出下面程序的执行结果 。
#include
voidmain()
{int x=6,y=0;
if(y=1) x=5;
printf(“%d\t”,x);
if(y=0) x=3;
else x=4;
printf(“%d\t\n”,x);}
A)6 3 B)5 4 C)5 3 D)6 5
9.下列程序段运行后x的值是 。
a=b=c=0; x=35;
if(!
a) x=-1;
else if(b);
if(c) x=3;
else x=4;
A)-1 B)4 C)35 D)3
10.若有以下函数关系
y=2x x<0时
y=x+1x=0时
y=x x>0时
下面程序段能正确表示以上关系的是 。
A)y=2*x; B)y=2*x;
if(x!
=0) if(x<=0)
if(x>0) y=x; if(x==0) y=x+1;
elsey=x+1; else y=x;
C)if(x>=0) D)y=x+1;
if(x>0) y=x; if(x<=0)
e
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 基础 谭浩强 习题