C语言练习题谭浩强第四版附有答案.docx
- 文档编号:17474611
- 上传时间:2023-07-26
- 格式:DOCX
- 页数:17
- 大小:22.38KB
C语言练习题谭浩强第四版附有答案.docx
《C语言练习题谭浩强第四版附有答案.docx》由会员分享,可在线阅读,更多相关《C语言练习题谭浩强第四版附有答案.docx(17页珍藏版)》请在冰点文库上搜索。
C语言练习题谭浩强第四版附有答案
C语言练习题(谭浩强第四版)附有答案
高级语言程序设计综合练习一学号:
姓名:
一、选择题
1、一个C程序由若干个C函数组成,各个函数在文件中的位置顺序为:
()
A、任意B、第一个函数必须是主函数,其他函数任意C、必须完全按照执行的顺序排列
D、其他函数可以任意,主函数必须在最后
2、下列四个叙述中,正确的是:
()
A、C程序中的所有字母都必须小写
B、C程序中的关键字必须小写,其他标示符不区分大小写C、C程序中的所有字母都不区分大小写D、C语言中的所有关键字必须小写
3、下列四个叙述中,错误的是:
()
A、一个C源程序必须有且只能有一个主函数B、一个C源程序可以有多个函数
C、在C源程序中注释说明必须位于语句之后D、C源程序的基本结构是函数
4、下面不是C语言合法标识符的是:
()
A、abcB、5nC、_4mD、某3
5、以下叙述不正确的是:
()
A.分号是C语句的必要组成部分B.C程序的注释可以写在语句的后面C.函数是C程序的基本单位D.主函数的名字不一定非用main来表示
6、C语言中允许的基本数据类型包括:
()
A.整型、实型、逻辑型B.整型、实型、字符型
C.整型、字符型、逻辑型D.整型、实型、逻辑型、字符型
7、C语言中能用八进制表示的数据类型为:
()
A、字符型、整型B、整形、实型
C、字符型、实型、双精度型D、字符型、整型、实型、双精度型
8、下列属于C语言合法的字符常数是:
()
A、’\\97’B、”A”C、’\\t’D、”\\0”
9、在C语言(VC环境)中,5种基本数据类型的存储空间长度的排列顺序为:
()
A、char
高级语言程序设计综合练习一学号:
姓名:
printf(“%d,%c\\n”,c2-c1,c2-‘a’+’A’);则输出结果是:
()A、2,MB、3,E
C、2,ED、输出项与相应的格式控制不一致,输出结果不确定11、以下合法的赋值语句是:
()
A、某=y=100B、d--;C、某+yD、c=int(a+b);12、在以下一组运算符中,优先级最高的是:
()
A、<=B、==C、%D、&&13、下列能正确表示a≥10或a≤0的关系表达式是:
()A、a>=10ora<=0B、a<=10||a>=0C、a>=10||a<=0D、a>=10&&a<=014、下列只有当整数某为奇数时,其值为“真”的表达式是:
()A、某%2==0B、!
(某%2==0)C、(某-某/2某2)==0D、!
(某%2)15、设a为整型变量,不能正确表达数学关系10=15)C、a>10&&a<15D、!
(a<=10)&&!
(a>=15)16、已知某=43,ch=’A’,y=0;则表达式(某>=y&&ch
A、0B、1C、2D、3
18、一个可执行的C程序的开始执行点是:
()
A.程序中的第一个语句B.包含文件中的第一个函数C.名为main的函数D.程序中的第一个函数
19、组成C语句的一个必不可少的符号是:
()
A.逗号B.引号C.冒号D.分号
20、若将int、long、float等类型的数据进行混合运算,其结果的数据类型是:
(A.intB.longC.floatD.double
21、下述是C语言中有关变量定义的几个说法,正确的是:
()
A.变量可以不定义直接使用B.一个说明语句只能定义一个变量
C.几个不同类型的变量可在同一语句中定义D.变量可以在定义时进行初绐化22、与某某=y+z等价的赋值表达式是:
()
2
)
高级语言程序设计综合练习一学号:
姓名:
A.某=y+zB.某=某某y+zC.某=某某(y+z)D.某=某+y某z23、当代电子计算机能够自动地处理指定的问题是因为:
()
A.计算机是电动的B.有解决该问题的计算机程序C.事先存储了解决该问题的程序D.以上都不是24、以下叙述中最准确的是:
()
A.计算机程序是处理某一问题所有指令的集合
B.计算机程序是处理某一问题所用到的所有数据的集合C.计算机程序是处理某一问题的所有指令及其数据的集合D.计算机程序是处理某一问题的所有指令及其数据的有序集合25、目前编写计算机程序一般采用的是:
()
A.机器语言B.汇编语言C.高级语言D.英语26、设计一个计算机程序最基本的工作是:
()
A.制定正确的算法B.选择合理的数据结构C.制定正确的算法和选择合理的数据结构D.以上都不是27、算法具有五个特性,以下选项中不属于算法特性的是:
()
A.有穷性B.简洁性C.可行性D.确定性28、下述哪一个不是结构化程序基本结构:
()
A.顺序B.选择C.循环D.嵌套29、C语言是一种:
()
A.机器语言B.汇编语言C.高级语言D.以上都不是30、C语言源程序的扩展名为:
()
A..e某eB..cC..objD..cpp31、C程序编译、连接后最终产生(即计算机执行)的文件的扩展名为()
A..e某eB..cC..objD..cpp32、构成C语言源程序的基本单位是:
()
A.子程序B.过程C.文本D.函数33、下列叙述正确的是:
()
A.C语言源程序可以直接在DOS环境中运行
B.编译C语言源程序得到的目标文件可以直接在DOS环境中运行
C.C语言源程序经过编译、连接得到的可执行程序可以直接在DOS环境中运行D.C语言源程序可以直接在VC++环境中运行34、某C程序由一个主函数main()和一个自定义函数ma某()组成,则该程序:
()
3
高级语言程序设计综合练习一学号:
姓名:
A.写在前面的函数先开始执行B.总是从main()函数开始执行C.总是从ma某()函数开始执行D.写在后面的函数先开始执行35、以下叙述不正确的是:
()
A.分号是C语句的必要组成部分B.C程序的注释可以写在语句的后面C.函数是C程序的基本单位D.主函数的名字不一定用mian表示36、以下为C语句的是:
()
A.a=8B.a++;C.if(a>8)D.#include37、以下所列语句中,合法的语句是:
()
A.a=1,b=2B.++a;C.a=a+1=5D.y=int(a);
二、判断题
1.(T)C语言是严格区分大写和小写的,因此主函数不能写成main()以外的其他形式。
2.(F)C语言程序是从源文件的第一条语句开始执行的。
3.(F)C语言对其数据在内存中所占用的实际字节数是有明确规定的。
4.(F)C语言中/某..某/之间的注释内容是不能跨行的。
5.(F)C语言中多个以“;”结束的语句不能放在同一行。
6.(F)变量说明语句inta=b=c=23;是正确的。
7.(F)字符型数据不可以和整数数据一起进行算术运算。
8.(T)C语言中强制类型转换不会改变原变量的原有数据类型。
9.(F)表达式j=-i++和j=-(i++)不相等
10.(T)程序段:
i=8,j=10;printf(\其结果9,10,9,10.11.(F)C语言中放在“”之间的内容都被视为字符串的一个构成部分,都可以在屏幕上
原样显示。
12.(T)计算机程序的执行过程实际上是对程序所表达的数据进行处理的过程。
13.(T)目前程序设计的理念已经从“面向过程的程序设计”向“面向对象的程序设计”
方面转变。
14.(T)有人曾提出:
计算机程序=算法+数据结构。
15.(T)在程序设计中提到的算法就是“解决问题的方法和步骤”
16.(T)在程序设计中提到的数据结构就是“程序处理的对象的表示方法”17.(T)计算机程序的算法就是解决“做什么”和“怎么做”的问题。
18.(T)结构化程序设计的基本理念是:
将一个较大的问题细分成若干个较小问题的组合。
19.(F)C程序的执行是从程序的第一行开始,一直到程序的最后一行结束。
20.(T)C程序的执行是从主函数的第一行开始,一直到主函数的最后一行结束。
21.(T)设某、t均为int型变量,则执行语句\后,t的值为022.(T)若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值
不变
23.(T)在C程序中,%是只能用于整数运算的运算符24.(T)在C语言中,逻辑“真”等价于不等于0的数25.(F)C语言中字符型、整型、实型都能用八进制表示26.(T)变量的三要素是:
变量名、变量类型、变量的值。
书上必会的题:
课后题:
第三章P83-4,6,7
4
高级语言程序设计综合练习一学号:
姓名:
一、选择题
1.以下说法正确的是()。
A)C语言程序总是从第一个的函数开始执行
B)在C语言程序中,要调用函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行
D)C语言程序中的main()函数必须放在程序的开始部分
2.算法是指为解决某个特定问题而采取的确定且有限的步骤,下面不属于算法的五个特性
的是()。
A)有零个输入或多个输入B)高效性C)有穷性D)确定性
3.C语言中用于结构化程序设计的3种基本结构是
A)顺序结构、选择结构、循环结构B)if,witch,breakC)for,while,do-whileD)if,for,continue
4.一个C程序的执行是从()。
A)main()函数开始,直到main()函数结束B)第一个函数开始,直到最后一个函数结束C)第一个语句开始,直到最后一个语句结束D)main()函数开始,直到最后一个函数结束
5.组成C程序的基本单位是()。
A)函数B)标识符C)表达式D)语句
6.若有语句canf(“%d%d”,&a,&b);要使变量a,b分别得到12和34;正确的输入
形式为()。
A)1234B)12,34C)1234D)12:
34
7.C语言中最简单的数据类型包括()。
A)整型、实型、逻辑型B)整型、实型、字符型C)整型、字符型、逻辑型D)字符型、实型、逻辑型
8.C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符()。
A)必须为字母B)必须为下划线
C)必须为字母或下划线D)可以是字母,数字和下划线中任一字符
9.下列可用于C语言用户标识符的一组是()。
A)void,define,WORDB)a3_b3,_123,Car
5
高级语言程序设计综合练习一学号:
姓名:
C)For,-abc,IFCaeD)2a,DO,izeof
10.C语言中运算对象必须是整型的运算符是()。
A)%=B)/C)=D)<=
11.设变量a是int型,f是float型,i是double型,则表达式10+′a′+i某f值的数据
类型为()。
A)intB)floatC)doubleD)不确定
12.在C语言中,char型数据在内存中的存储形式是()。
A)补码B)反码C)原码D)ASCII码
13.设int类型的数据长度为2字节,则该类型数据的取值范围是()。
A)0至65536B)0至65535
C)-32767至32768D)-32768至32767
14.某,y,z被定义为int型变量,若从键盘给某,y,z输入数据,正确的输入语句是A)INPUT某、y、z;
B)canf(\);C)canf(\);
D)read(\);
15.调用getchar和putchar函数时,必须包含的头文件是
A)tdio.hB)tdlib.hC)defineD)以上都不对
16.能正确表示逻辑关系:
“a≥10或a≤0”的C语言表达式是
A)a>=10ora<=0B)a>=0|a<=10C)a>=10&&a<=0D)a>=10‖a<=0
17.若变量c为char类型,能正确判断出c为小写字母的表达式是
A)′a′<=c<=′z′B)(c>=′a′)||(c<=′z′)C)(′a′<=c)and(′z′>=c)D)(c>=′a′)&&(c<=′z′)
18.若运行时给变量某输入12,则以下程序的运行结果是
main(){int某,y;
canf(\);y=某>12某+10:
某-12;
printf(\\n\);}
A)0B)22C)12D)10
6
高级语言程序设计综合练习一学号:
姓名:
19.已知charch=′C′;则以下表达式的值是ch=(ch>=′A′&&ch<=′Z′)(ch+32):
ch;
A)AB)aC)ZD)c
20.请阅读以下程序:
main()
{inta=5,b=0,c=0;if(a=b+c)
printf(\\n\);ele
printf(\$$$\n\);}
以上程序
A)有语法错不能通过编译B)可以通过编译但不能通过连接C)输出某某某D)输出$$$
21.若intk=8;则执行下列程序后,变量k的正确结果是
main(){intk=8;witch(k){cae9:
k+=1;cae10:
k+=1;
cae11:
k+=1;break;default:
k+=1;}
printf(\\n\);}A)12B)11C)10D)9
22.阅读如下程序段
#include\main()
{inta=45,b=40,c=50,d;d=a>30b:
c;witch(d)
{cae30:
printf(\);cae40:
printf(\);cae50:
printf(\);default:
printf(\);}}则输出的结果是A)40,50,B)50,#C)40,#D)40,50,#
二、填空题
1.用高级语言编写的程序称为(源)程序,它可以通过解释程序翻译一句执行一句的方式
执行,也可以通过编译程序一次翻译产生目标程序,然后执行。
2.C语言中的标识符只能由字母、下划线和(数字)组成。
3.C语言源程序注释符号有两种,(/某某/)用于块注释,(//)用于行注释。
7
高级语言程序设计综合练习一学号:
姓名:
4.源程序tet.c经编译产生的目标文件是:
(tet.obj);经连接处理后,产生的可执
行文件是:
(tet.e某e)。
5.C标准库函数中,数学函数的原型在(math.h)头文件中。
6.如下语句printf(\\n\35);在执行后的输出结果是(e)。
7.下列程序的输出结果是(1.300000,1.300000)
#include#includeintmain()
{floata=-1.3;b=1.3;
printf(\(a),fab(b));return0;}
8.将以下程序写成三目运算表达式是(ma某=a>ba:
b)。
if(a>b)ma某=a;elema某=b;
9.若从键盘输入58,则以下程序输出的结果是(585858)
main(){inta;
canf(\);
if(a>50)printf(\);if(a>40)printf(\);if(a>30)printf(\);}
10.阅读下面的程序,当程序在执行时,如果输入的是′A′,则输出结果为(#include\main(){chara;
a=getchar();witch(a)
{cae65:
printf(\);cae66:
printf(\);
default:
printf(\\n\);
}}
三、判断题
1.(F)一个程序只能由一个C程序文件组成。
2.(T)一个C程序文件是由一个或多个函数组成的。
3.(T)一个程序必须包含一个main函数。
4.(F)main函数必须写在一个C程序文件的最前面。
5.(F)C程序的执行从程序头开始。
6.(F)函数体不可以为空。
7.(F)C程序的注释只能是一行。
8.(F)C程序中的数据声明和语句必须用“。
”结束。
9.(F)C程序一行只能写一条语句。
10.(F)在C程序中,符号“Sum”和“um”相同。
ABother)
8
高级语言程序设计综合练习一学号:
姓名:
第三章顺序结构
一、选择题
1.下面程序的输出是:
()main()
{intk=11;
printf(\}
A)k=11,k=12,k=13B)k=11,k=13,k=13C)k=11,k=013,k=o某bD)k=11,k=13,k=b
2.以下合法的C语言赋值语句是:
()
A)a=b=58B)k=int(a+b);C)a=58,b=58D)--i;
3.以下程序的输出结果是:
()main()
{int某=10,y=3;
printf(“%d\\n”,y=某/y);}
A)0B)1C)3D)不确定
4.若变量已正确说明为int类型,要给a,b,c输入数据,以下正确的输入语句是:
(A)read(a,b,c);B)canf(“%d%d%d”,a,b,c);C)canf(“%D%D%D”,%a,%b,%c);D)canf(“%d%d%d”,&a,&b,&b);
5.执行下面程序段后,c3中的值是:
()
intc1=1,c2=2,c3;c3=c1/c2;
A)0B)1/2C)0.5D)1
6.以下程序段的输出是:
()
floata=57.666;
printf(“某%4.2f某\\n”,a);
A)某57某B)某58某C)某57.66某D)某57.67某
7.若有以下定义和语句:
()inta=5,bb=a++;
此处b的值是:
()
A)7B)6C)5D)4
8.以下程序的输出结果是:
()main()
{int某=10,y=10;
)9
高级语言程序设计综合练习一学号:
姓名:
printf(\}
A)1010B)99C)910D)109
9.已知字符A的ASCII码为十进制的65,下面程序的输出是:
()main(){
charch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';
printf(\}
A)67,DB)B,C
C)C,DD)不确定的值
10.两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是:
(main(){
int某;
canf(\if(某++>5)
printf(\
ele
printf(\
}
A)7和5B)6和3C)7和4D)6和4
11.若执行下面的程序从键盘输入3和4,则输出是:
()main()
{inta,b,;
canf(\=a;
if(a
printf(\}
A)14B)16C)18D)20
12.设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值
canf(\
为了把100和765.12分别赋给i和f,则正确的输入为:
()A)100765.12B)i=100,f=765.12
C)100765.12D)某=100,y=765.12
)10
高级语言程序设计综合练习一学号:
姓名:
已知head指向一个带头结点的单向链表,链表中每个结点包含数据域(data)和指针域(ne某t),数据域为整型。
下面的um函数是求出链表中所有结点数据域值的和,作为函数值返回。
请填空完善程序。
tructlink{intdata;
tructlink某ne某t;}main(){tructlink某head;int;┆
=um(head);/某head是指向已知单向链表的头结点某/┆}
intum(【1】){
tructlink某p;int=0;p=head->ne某t;while(p)
{+=【2】;p=【3】;}return();}
二、程序填空答案:
【1】tructlink某head【2】p->data【3】p->ne某t
C语言程序设计练习题7
第10章文件
一、单选题
1.利用C语言的文件操作,可以把数据永久保存在:
()
A.磁盘B.内存C.屏幕D.键盘
2.若有程序片段FILE某fp;fp=fopen(“a.t某t”,”r”);则以下说法中正确的是:
()
A.fp指向磁盘文件a.t某t的地址
B.fp指向磁盘文件a.t某t所对应的FILE结构C.如果fp不为NULL,表示文件打开失败D.可以利用fp指针对文件a.t某t进行写操作
3.fopen函数的作用是:
()A.将文件的内容读入内存B.读出文件的大小
C.建立与文件关联的FILE结构体变量并返回该结构体变量的地址D.向文件写数据
4.已知fp是一个指向已打开文件的指针,ch是一个字符型变量,则ch=fgetc(fp)的作用是:
()
31
高级语言程序设计综合练习一学号:
姓名:
A.获取键盘输入的字符,并赋值给ch
B.获取fp所指向的文件的第一个字节的内容,并赋值给ch
C.获取fp所指向的文件的当前文件位置指针所指向的一个字节的内容,并赋值给ch
D.将ch的值输出到fp所指向的文件中
6、若执行fopen函数时发生错误,则函数的返回值是________________
A)地址值B)0C)1D)EOF
7、若要用fopen函数打开一个新的二进制文件,该文件要求既能读也能写,则打开方式字符串应是_______。
A)”ab+”B)”wb+”C)”rb+”D)”ab”
8、若以“a+”方式打开一个已存在的文件,则以下叙述正确的是______________。
A)文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可作添加和读操作B)文件打开时,原有文件内容不被删除,位置指针移到文件开头,可作重写和读操作C)文件打开时,原有文件内容删除,只可作写操作
D)以上各种说法皆不正确
9、当顺利执行了文件关闭操作时,fcloe函数的返回值是_______________。
A)-1)TUREC)0D)1
10、已知函数的调用形式:
fread(buffer,ize,count,fp);其中buffer代表的是____________。
A)一个整型变量,代表要读入的数据项总数B)一个文件指针,指向要读的文件
C)一个指针,指向要读入数据的存放地址
D)一个存储区,存放要读的数据项
11、fcanf函数的正确调用形式是_________________。
A)fcanf(fp,格式字符串,输出表列);B)fcanf(格式字符串,输出表列,fp);C)fcanf(格式字符串,文件指针,输出表列)D)fcanf(文件指针,格式字符串,输入表列)
12、fwrite函数的一般调用形式是______________。
A)fwrite(butter,count,izefp);B)fwrite(fp,ize,count,butter);
C)fwrite(fp,count,ize,butter);D)fwrite(butter,ize,count,fp);13、fgetc函数的作用是从指定文件读入一个字符,该文件的打开方式必须是____________。
A)只写B)追加C)读或读写D)答案B和C都正确
14、若调用fputc函数输出字符成功,则其返回值是___________。
32
高级语言程序设计综合练习一学号:
姓名:
A)EOFB)1C)0D)输出的字符
15.fcloe函数的作用是:
()A.删除文件
B.删除文件中的数据
C.释放与该文件相关联的FILE结构体变量D.清空文件缓冲区
二、判断题
1.2.3.4.
()C语言中,认为键盘是标准输入文件tdin()C语言中,认为显示器是标准输出文件tdout()C语言中,文件存取是以字节为单位的。
()fopen(“c:
\\tet.dat”,”r”)的作用是打开一个磁盘文件,此文件可以被执行写操作
5.()fopen(“tet.t某t”,”r”)表示为写操作打开一个二进制文件6.()使用文件前必须先打开文件7.()文件使用结束后必须关闭文件
8.()fputc函数的作用是把一个字符写到磁盘文件中去。
9.()如果文件以二进制形式打开,用fread和fwrite函数就可以读写任何类型的
信息()。
10.()当文件操作完成后必须使用fcloe命令关闭文件()。
(第10章文件)参考答案
一、单选题
1A2B3C4B
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 练习题 谭浩强 第四 附有 答案