C语言练习题谭浩强第四版附有答案.docx
- 文档编号:9506353
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:27
- 大小:23.55KB
C语言练习题谭浩强第四版附有答案.docx
《C语言练习题谭浩强第四版附有答案.docx》由会员分享,可在线阅读,更多相关《C语言练习题谭浩强第四版附有答案.docx(27页珍藏版)》请在冰豆网上搜索。
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、abc
B、5n
C、_4m
D、x3
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语言中,5种基本数据类型的存储空间长度的排列顺序为:
A、char1高级语言程序设计综合练习一
学号:
姓名:
printf(“%d,%c\\n”,c2-c1,c2-‘a’+’A’);则输出结果是:
A、2,M
B、3,E
C、2,E
D、输出项与相应的格式控制不一致,输出结果不确定1
1、以下合法的赋值语句是:
A、x=y=100
B、d--;
C、x+y
D、c=int(a+b);
12、在以下一组运算符中,优先级最高的是:
A、=10ora=0
C、a>=10||a=10&&a10&&a=15)
16、已知x=43,ch=’A’,y=0;则表达式的值是:
A、0
B、语法错
C、1
D、“假”
17、表达式17%4/8的值为:
A、0
B、1
C、2
D、3
18、一个可执行的C程序的开始执行点是:
A、程序中的第一个语句
B、包含文件中的第一个函数
C、名为main的函数
D、程序中的第一个函数
19、组成C语句的一个必不可少的符号是:
A、逗号
B、引号
C、冒号
D、分号
20、若将int、long、float等类型的数据进行混合运算,其结果的数据类型是:
A、变量可以不定义直接使用
B、一个说明语句只能定义一个变量
C、几个不同类型的变量可在同一语句中定义
D、变量可以在定义时进行初绐化
22、与x*=y+z等价的赋值表达式是:
2)高级语言程序设计综合练习一
学号:
姓名:
A、x=y+z
B、x=x*y+z
C、x=x*(y+z)
D、x=x+y*z
23、当代电子计算机能够自动地处理指定的问题是因为:
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、、exe
B、、c
C、、obj
D、、cpp3
1、C程序编译、连接后最终产生(即计算机执行)的文件的扩展名为(
)
A、、exe
B、、c
C、、obj
D、、cpp
32、构成C语言源程序的基本单位是:
A、子程序
B、过程
C、文本
D、函数
33、下列叙述正确的是:
A、C语言源程序可以直接在DOS环境中运行
B、编译C语言源程序得到的目标文件可以直接在DOS环境中运行
C、C语言源程序经过编译、连接得到的可执行程序可以直接在DOS环境中运行
D、C语言源程序可以直接在VC++环境中运行
34、某C程序一个主函数main()和一个自定义函数max()组成,则该程序:
3高级语言程序设计综合练习一
学号:
姓名:
A、写在前面的函数先开始执行
B、总是从main()函数开始执行
C、总是从max()函数开始执行
D、写在后面的函数先开始执行
35、以下叙述不正确的是:
A、分号是C语句的必要组成部分
B、C程序的注释可以写在语句的后面
C、函数是C程序的基本单位
D、主函数的名字不一定用mian表示
36、以下为C语句的是:
A、a=8
B、a++;
C、if(a>8)
D、#include
37、以下所列语句中,合法的语句是:
(
)
A、a=1,b=2
B、++a;
C、a=a+1=5
D、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、1
1、(F)C语言中放在“”之间的内容都被视为字符串的一个构成部分,都可以在屏幕上原样显示。
12、(T)计算机程序的执行过程实际上是对程序所表达的数据进行处理的过程。
13、(T)目前程序设计的理念已经从“面向过程的程序设计”向“面向对象的程序设计”方面转变。
14、(T)有人曾提出:
计算机程序=算法+数据结构。
15、(T)在程序设计中提到的算法就是“解决问题的方法和步骤”
16、(T)在程序设计中提到的数据结构就是“程序处理的对象的表示方法”
17、(T)计算机程序的算法就是解决“做什么”和“怎么做”的问题。
18、(T)结构化程序设计的基本理念是:
将一个较大的问题细分成若干个较小问题的组合。
19、(F)C程序的执行是从程序的第一行开始,一直到程序的最后一行结束。
20、(T)C程序的执行是从主函数的第一行开始,一直到主函数的最后一行结束。
2
1、(T)设x、t均为int型变量,则执行语句\后,t的值为0
22、(T)若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变
23、(T)在C程序中,%是只能用于整数运算的运算符
24、(T)在C语言中,逻辑“真”等价于不等于0的数
25、(F)C语言中字符型、整型、实型都能用八进制表示
26、(T)变量的三要素是:
变量名、变量类型、变量的值。
书上必会的题:
课后题:
第三章P83-4,6,74高级语言程序设计综合练习一
学号:
姓名:
一、选择题
1、以下说法正确的是。
A)C语言程序总是从第一个的函数开始执行B)在C语言程序中,要调用函数必须在main函数中定义C)C语言程序总是从main函数开始执行D)C语言程序中的main函数必须放在程序的开始部分
2、算法是指为解决某个特定问题而采取的确定且有限的步骤,下面不属于算法的五个特性的是。
A)有零个输入或多个输入
B)高效性C)有穷性
D)确定性
3、C语言中用于结构化程序设计的3种基本结构是A)顺序结构、选择结构、循环结构
B)if,switch,breakC)for,while,do-while
D)if,for,continue
4、一个C程序的执行是从。
A)main()函数开始,直到main()函数结束B)第一个函数开始,直到最后一个函数结束C)第一个语句开始,直到最后一个语句结束D)main()函数开始,直到最后一个函数结束
5、组成C程序的基本单位是。
A)函数
B)标识符C)表达式D)语句
6、若有语句scanf;要使变量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,Car5高级语言程序设计综合练习一
学号:
姓名:
C)For,32767至32768
D)
12;printf;}A)0B)22C)12D)106高级语言程序设计综合练习一
学号:
姓名:
19、已知charch=′C′;则以下表达式的值是ch=?
:
ch;A)AB)aC)ZD)c
20、请阅读以下程序:
main{inta=5,b=0,c=0;
ifprintf;elseprintf;}以上程序A)有语法错不能通过编译
B)可以通过编译但不能通过连接C)输出***
D)输出$$$2
1、若intk=8;则执行下列程序后,变量k的正确结果是main{intk=8;switch{case9:
k+=1;case10:
k+=1;case11:
k+=1;break;default:
k+=1;}printf;}A)12B)11C)10D)9
22、阅读如下程序段#include\main{inta=45,b=40,c=50,d;d=a>30?
b:
c;switch{case30:
printf;case40:
printf;case50:
printf;default:
printf;}}则输出的结果是A)40,50,B)50,#C)40,#D)40,50,#
二、填空题
1、用高级语言编写的程序称为程序,它可以通过解释程序翻译一句执行一句的方式执行,也可以通过编译程序一次翻译产生目标程序,然后执行。
2、C语言中的标识符只能字母、下划线和组成。
3、C语言源程序注释符号有两种,用于块注释,用于行注释。
7高级语言程序设计综合练习一
学号:
姓名:
4、源程序经编译产生的目标文件是:
;经连接处理后,产生的可执行文件是:
。
5、C标准库函数中,数学函数的原型在头文件中。
6、如下语句printf;在执行后的输出结果是。
7、下列程序的输出结果是(,)
。
#include#includeintmain{floata=-;b=;printf,fabs);
return0;}
8、将以下程序写成三目运算表达式是。
ifmax=a;elsemax=b;
9、若从键盘输入58,则以下程序输出的结果是(585858)
。
main{inta;scanf;ifprintf;ifprintf;ifprintf;}
10、阅读下面的程序,当程序在执行时,如果输入的是′A′,则输出结果为(#include\main{chara;a=getchar;switch{case65:
printf;
case66:
printf;default:
printf;}}
三、判断题
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”和“sum”相同。
ABother)
。
8高级语言程序设计综合练习一
学号:
姓名:
第三章顺序结构
一、选择题
1、下面程序的输出是:
main()
{
intk=11;printf(\
}A)
k=11,k=12,k=13
B)
k=11,k=13,k=13C)
k=11,k=013,k=oXb
D)
k=11,k=13,k=b
2、以下合法的C语言赋值语句是:
A)a=b=58
B)k=int(a+b)
;
C)a=58,b=58
D)--i;
3、以下程序的输出结果是:
main()
{intx=10,y=3;printf(“%d\\n”,y=x/y);}A)0
B)1
C)3
D)不确定
4、若变量已正确说明为int类型,要给a,b,c输入数据,以下正确的输入语句是:
read(a,b,c);
B)scanf(“%d%d%d”,a,b,c);C)scanf(“%D%D%D”,%a,%b,%c);
D)scanf(“%d%d%d”,&a,&b,&b);
5、执行下面程序段后,c3中的值是:
intc1=1,c2=2,c3;c3=c1/c2;A)0
B)1/2
C)
D)1
6、以下程序段的输出是:
floata=;printf(“*%*\\n”,a);A)*57*B)*58*
C)**D)**
7、若有以下定义和语句:
inta=5,b
b=a++;此处b的值是:
A)
7
B)
6
C)
5
D)
4
8、以下程序的输出结果是:
main()
{intx=10,y=10;)9高级语言程序设计综合练习一
学号:
姓名:
printf(\
}A)
1010
B)
99
C)
910
D)
109
9、已知字符A的ASCII码为进制的65,下面程序的输出是:
main()
{charch1,ch2;
ch1=A+5-3;
ch2=A+6-3;printf(\}A)
67,D
B)
B,CC)
C,D
D)
不确定的值
10、两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是:
main()
{inta,b,s;scanf(\
s=a;if(aprintf(\
}A)
14
B)
16
C)
18
D)
20
12、设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值scanf(\为了把100和分别赋给i和f,则正确的输入为:
A)
100
B)
i=100,f=C)
100
D)
x=100,y=)10高级语言程序设计综合练习一
学号:
姓名:
已知head指向一个带头结点的单向链表,链表中每个结点包含数据域和指针域,数据域为整型。
下面的sum函数是求出链表中所有结点数据域值的和,作为函数值返回。
请填空完善程序。
structlink{intdata;structlink*next;}main()
{structlink*head;
ints;┆s=sum(head);/*head是指向已知单向链表的头结点*/┆}intsum(
【1】
)
{structlink*p;ints=0;p=head->next;while(p)
{s+=
【2】
;p=
【3】
;}return(s);}
二、程序填空答案:
【1】
structlink*head
【2】
p->data
【3】
p->nextC语言程序设计练习题7第10章文件
一、单选题
1、利用C语言的文件操作,可以把数据永久保存在:
A、磁盘
B、内存
C、屏幕
D、键盘
2、若有程序片段FILE*fp;fp=fopen(“”,”r”);则以下说法中正确的是:
A、fp指向磁盘文件的地址
B、fp指向磁盘文件所对应的FILE结构
C、如果fp不为NULL,表示文件打开失败
D、可以利用fp指针对文件进行写操作
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)0
C)1
D)EOF
7、若要用fopen函数打开一个新的二进制文件,该文件要求既能读也能写,则打开方式字符串应是_______。
A)”ab+”
B)”wb+”
C)”rb+”
D)”ab”
8、若以“a+”方式打开一个已存在的文件,则以下叙述正确的是______________。
A)文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可作添加和读操作
B)文件打开时,原有文件内容不被删除,位置指针移到文件开头,可作重写和读操作
C)文件打开时,原有文件内容删除,只可作写操作D)以上各种说法皆不正确
9、当顺利执行了文件关闭操作时,fclose函数的返回值是_______________。
A)-1
)TURE
C)0
D)1
10、已知函数的调用形式:
fread(buffer,size,count,fp);其中buffer代表的是____________。
A)一个整型变量,代表要读入的数据项总数
B)一个文件指针,指向要读的文件C)一个指针,指向要读入数据的存放地址D)一个存储区,存放要读的数据项
11、fscanf函数的正确调用形式是_________________。
A)fscanf(fp,格式字符串,输出表列);B)fscanf;C)
fscanf(格式字符串,文件指针,输出表列)
D)fscanf
12、fwrite函数的一般调用形式是______________。
A)fwrite(butter,count,sizefp);
B)
fwrite(fp,size,count,butter);C)
fwrite(fp,count,size,butter);D)
fwrite(butter,size,count,fp);
13、fgetc函数的作用是从指定文件读入一个字符,该文件的打开方式必须是____________。
A)只写
B)追加
C)读或读写
D)答案B和C都正确
14、若调用fputc函数输出字符成功,则其返回值是___________。
32高级语言程序设计综合练习一
学号:
姓名:
A)EOF
B)1
C)0
D)输出的字符
15、fclose函数的作用是:
A、删除文件
B、删除文件中的数据
C、释放与该文件相关联的FILE结构体变量
D、清空文件缓冲区
二、判断题
1、
2、
3、
4、()C语言中,认为键盘是标准输入文件stdin()C语言中,认为显示器是标准输出文件stdout()C语言中,文件存取是以字节为单位的。
()fopen(“c:
\\”,”r”)的作用是打开一个磁盘文件,此文件可以被执行写操作
5、()fopen(“”,”r”)表示为写操作打开一个二进制文件
6、()使用文件前必须先打开文件
7、()文件使用结束后必须关闭文件
8、()fputc函数的作用是把一个字符写到磁盘文件中去。
9、()如果文件以二进制形式打开,用fread和fwrite函数就可以读写任何类型的信息。
10、()当文件操作完成后必须使用fclose命令关闭文件()。
参考答案
一、单选题1A2B3C4B
6B7B8A9C10C11D12D13C14D15C
二、判断题1T2T
3T4F5F6T7T8T
9T10T三、填空
1、以下程序终端键盘输入一个文件名,然后从键盘输入一些字符,并依次把它们存放到该文件中,用#作为用户输入结束的标志。
#include#includeintmain()
{FILE*fp;charch,filename[10];printf(\请输入所用的文件名:
\scanf(\if((fp=fopen(filename,“w”))==NULL)
{printf(\无法打开此文件\\n\33高级语言程序设计综合练习一
学号:
姓名:
exit(0);
}ch=getchar();printf(“请输入一个字符串(以#结束):
\ch=getchar();
while(ch!
=‘#’)
{fputc(ch,fp);
putchar(ch);
ch=getchar();
}fclose(fp);
putchar(10);
return0;}34高级语言程序设计综合练习一
学号:
姓名:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 练习题 谭浩强 第四 附有 答案
