当前位置:文档之家› 《C语言程序设计》第1章 C语言概述练习题答案

《C语言程序设计》第1章 C语言概述练习题答案

《C语言程序设计》第1章 C语言概述练习题答案
《C语言程序设计》第1章 C语言概述练习题答案

第一章 C语言概述练习题

一、选择题

1.C语言是一种( )。

A) 机器语言B) 汇编语言C) 高级语言D) 低级语言

2.下列各项中,不是C语言的特点是( )。

A) 语言简洁、紧凑,使用方便B) 数据类型丰富,可移植性好

C) 能实现汇编语言的大部分功能D) 有较强的网络操作功能

3.下列叙述正确的是( )。

A) C语言源程序可以直接在DOS环境中运行

B) 编译C语言源程序得到的目标程序可以直接在DOS环境中运行

C) C语言源程序经过编译、连接得到的可执行程序可以直接在DOS环境中运行

D) Turbo C系统不提供编译和连接C程序的功能

4.下列叙述错误的是()。

A) C程序中的每条语句都用一个分号作为结束符

B) C程序中的每条命令都用一个分号作为结束符

C) C程序中的变量必须先定义,后使用

D) C语言以小写字母作为基本书写形式,并且C语言要区分字母的大小写

5.一个C程序的执行是从()。

A) 本程序的main函数开始,到main函数结束

B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束

C) 本程序文件的第一个函数开始,到本程序main函数结束

D) 本程序的main函数开始,到本程序文件的最后一个函数结束

6.以下叙述不正确的是()。

A) 一个C源程序必须包含一个main函数

B) 一个C源程序可由一个或多个函数组成

C) C程序的基本组成单位是函数

D) 在C程序中,注释说明只能位于一条语句的后面

7.C语言规定:在一个源程序中,main函数的位置( )。

A)必须在程序的开头B)必须在系统调用的库函数的后面

C)可以在程序的任意位置D)必须在程序的最后

8.一个C语言程序是由( )。

A)一个主程序和若干个子程序组成B) 函数组成

C) 若干过程组成D) 若干子程序组成

9.以下有4组用户标识符,其中合法的一组是()。

A) For B) 4d C) f2_G3 D) WORD

-sub DO IF void

Case Size abc define

10. 一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误的是

()。

A) 有零个或多个输入B) 有零个或多个输出C) 有穷性D) 可行性

二、填空题

1.汇编语言属于面向( 面向机器的 )语言,高级语言属于(面向问题的)语言。

2.用高级语言编写的程序称为(源)程序,它可以通过解释程序翻译一句执行一句的方式

执行,也可以通过编译程序一次翻译产生(目标)程序,然后执行。

3.C语言词类主要分为(常量 )、变量、运算符、函数调用、表达式和( 保留字 )等6类。

4.C语言的语句主要分为数据定义语句、(赋值)语句、函数调用语句、(表达式)

语句、流程控制语句、复合语句、空语句、其它语句等8类。

5.C语言程序的注释可以出现在程序的任何地方,它总是以(/* ) 符号作为开始标记,以

( */ )符号作为结束标记。

6.各类计算机语言的发展历程大致为:先有(机器)语言,再有汇编语言,最后出现中

级语言和(高级)语言。

7.C语言的字符集就是(ASCII)字符集。‘ A ’的ASCII 值是(65)。

8.C语言符号集包括(英文字母)、(数字)和一些有特殊含义的标点符号。

9.结构化设计中的三种基本结构是(顺序结构)、(分支结构)和循环结构。

10.C语言源程序文件的后缀是(C),经过编绎后生成文件的后缀是(OBJ),

经过连接后生成文件的后缀是.exe。

三、简答题

1.简述C语言的主要特点。

1.语言简洁、紧凑,使用方便、灵活。 C语言一共只有32个关键字,9种控制语句,程序书写形式自由,主要用小写字母表示,压缩了一切不必要的成分。

2.运算符丰富。C语言的运算符包含的范围很广泛,共有34种运算符。C语言把括号、赋值、强制类型转换等都作为运算符处理。从而使C语言的运算类型极其丰富,表达式类型多样化。灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。

3.数据结构丰富,具有现代语言的各种数据结构。C的数据类型有整型、实型、字符型、数组类型、指针类型、结构体类型和共用体类型等。能够用来实现非常复杂的数据结构。如线性表、链表、栈、队列、树、图等。

4.C语言是一种结构化语言。具有结构化的控制语句(如if else语句、whi1e语句、do whi1e语句、for语句)。C 语言是以函数形式提供给用户的, 这些函数可方便的调用,用函数作为程序模块以实现程序的模块化,易于调试和维护,适合大型软件的研制和调试。

5.语法限制不大严格,程序设计自由度大。一般的高级语言语法检查比较严,能检查出几乎所有的语法错误。而C语言允许程序编写者有较大的自由度,因此放宽了语法检查。

6.C语言允许直接访问物理地址。能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作,因此C语言既具有高级语言的功能,又具有低级语言的许多功能,可用来写系统软件。C语言的这种双重性,使它既是成功的系统描述语言,又是通用的程序设计语言。有人把C称为“高级语言中的低级语言”,也有人称它为“中级语言”意为兼有高级和低级语言的特点。

7.生成目标代码质量高,程序执行效率高。一般只比汇编程序生成的目标代码效率低10~20%。

8.用C语言写的程序可移植性好(与汇编语言比)。基本上不作修改就能用于各种型号的计算机和各种操作系统。

2.简述标识符的构成规则。

C 语言规定,标识符只能是字母(A~Z,a~z)、数字(0~9)和下划线(_)组成的字符串,并且其第一个字符必须是字母或下划线。

在标识符中,大小写是有区别的。例如BOOK和Book 是两个不同的标识符。

由于标识符主要用来命名,因此,命名应尽量有相应的意义,以便阅读理解,作到“顾名思义”。

C语言规定,用户选取的标识符不能是C语言规定的保留字。

3.书写程序应该遵循哪些规则?

C程序的书写格式很灵活,在一行上可以书写多个语句,一个语句也可以写在多行上。在程序清单的任何一处都可以插入空格符号或回车符号。但是,从书写清楚,便于阅读,理解,维护的角度出发,在书写程序时应遵循以下规则:

一个说明或一个语句占一行。

用{} 括起来的部分,通常表示了程序的某一层次结构。{}一般与该结构语句的第一个字母对齐,并单独占一行。

低一层次的语句或说明可比高一层次的语句或说明缩进若干空格后书写。以便看起来更加清楚,增加程序的可读性。在编程时应力求遵循这些规则,以养成良好的编程风格。

4.C语言程序的总体结构是怎样的?举例说明。

1.C程序是由函数构成的。

函数是C程序的基本组成单位。一个C源程序中仅有一个main()函数,除main函数之外可以有若干个其它的函数。每个函数实现某一特定的操作。因此,函数是C程序的基本单位。

C程序总是从main函数开始执行的,与main函数的位置无关。其它函数可被主函数调用或相互调用。其它函数可为C语言函数库中的函数(使用时用#include文件包含命令将其包含进来),也可为用户自己定义的函数。

2.每个函数(包括主函数)的定义分为两个部分:函数由函数首部和函数体组成,函数的一般结构如下:

[函数返回值类型] 函数名(函数参数表) /*函数首部*/

{

变量定义部分; /*函数体部分*/

执行语句部分;

}

3.C程序中的语句最后总要有一个“分号(;)”,作为每个语句的结束。C语言中,分号是程序语句的结束标志,也是C语句的必要组成部分。但预处理命令、函数首部和最后一个花括号"}"之后不能有分号。

4.可以用“/*”和“*/”括住任意字符,称为“注释”。注释可以出现在程序的任何位置上,通常放在一段程序的开始,用于说明该段程序的功能;或者放在某个语句的后面,对该语句进行说明程序编译时,注释将不参加编译,也不会出现在目标程序中。

5.C程序的书写格式很灵活,在一行上可以书写多个语句,一个语句也可以写在多行上。在程序清单的任何一处都可以插入空格符号或回车符号。但是,从书写清楚,便于阅读,理解,维护的角度出发,在书写程序时应遵循以下规则:

(1)一个说明或一个语句占一行。

(2)用{} 括起来的部分,通常表示了程序的某一层次结构。{}一般与该结构语句的第一个字母对齐,并单独占一行。

(3)低一层次的语句或说明可比高一层次的语句或说明缩进若干空格后书写。以便看起来更加清楚,增加程序的可读性。在编程时应力求遵循这些规则,以养成良好

的编程风格。

5.简述C程序的在TC环境及VC环境下的实现步骤。

运行一个C语言程序的一般过程为:

(1)启动TC/ Visual C,进入TC/ Visual C集成环境。

(2)编辑源程序。编辑后文件的扩展名为:.c或.cpp。

(3)对源程序进行编译。编译成功后文件的扩展名为:.obj 。

(4)与库函数进行连接。连接成功后的可执行文件的扩展名为: .exe 。

(5)运行可执行的目标程序。

四、编程题

1. 编写一个C程序,输出以下信息:

**************************

Hello World!

**************************

/* 显示“Hello World!” */

# include

int main( )

{

printf(“Hello World! \n”);

}

2. 设计一个算法,输入二个数,输出这二个数中的大者,用N-S图表示算法,并编程实现。

# include

int main( )

{ int x,y;

scanf(“%d”,&x);

scanf(“%d”,&y);

if(x>y) printf(“%d”,x);

else printf(“%d”,y);

}

输入 x 的值

输入 y 的值

x > y?

是否

输出x 输出y

c语言复习题(有答案)●

思考题 不仅要会做这些题,更重要的是要掌握其相关知识点一、一般填空题 1-1、调用fopen函数打开一文本文件,在“打开模式”这一项中,为输出(写)而打开需填入【1】. 1-2、调用fopen函数打开一文本文件,在“打开模式”这一项中,为追加而打开需填入【1】. 1-3、fopen函数的原形在头文件【1】中. 1-4、getchar函数的原形在头文件【1】中. 1-5、sqrt函数的原形在头文件【1】中. 1-6、如果函数不要求带回值,可用【1】来定义函数返回值为空. 答案:w或w+;a或a+;stdio.h ; stdio.h ; math.h ;void . 2-1、字符串“\1011234\\at”的长度(字符数)是【1】. 2-2、字符串“abc\103\\bcd”的长度(字符数)是【1】. 2-3、字符串“1\\t\x43\abx44”的长度(字符数)是【1】. 2-4、“a“在内存中占【1】个字节. 2-5、‘a’在内存中占【1】个字节. 2-6、“\71“在内存中占【1】个字节. 2-7、一维数组下标的最小值是【1】;数组char a[]=“china” ;在内存应占【1】个字节。 答案:8; 8; 9; 2;1;2 ;0;6. 3-1、设x=(5>1)+2, x的植为【1】. 3-2、表达式‘B’+15+‘\x41’+011+0x10的值是【1】. 3-3、表达式‘b’+5+‘\x42’+011+0x10的值是【1】. 答案:3;171;194; 4-1、假设所有变量都为整型,表达式(a=2,b=5,a>b?a++:b++,a+b)的值是【1】. 4-2、if(!a)中的表达式!a等价于【1】. 4_3、已知a=1,b=2,c=3,执行if(a>b>c) b=a;else b=c;a=4;b=8;后,b的值是【1】. 答案:8;a==0;8; 5-1、若所用变量都已定义,下列程序段的执行结果是【1】. for(i=1;i<=5;i++);printf(“OK\n”); 5-2、执行语句char s[3]=”ab”,*p;p=s;后,*(p+2)的值是【1】. 5-3、若有以下定义和语句:int a[4]={0,1,2,3},*p; p=&a[2]; ,则*--p的值是【1】. 5-4、下列程序的输出结果是【1】,main(){int a=011;printf(“%d\n”,++a);} 答案:OK;’\0’;1;10 6-1、若宏定义为:#define y(x) 2+x, 则表达式a=3*y(3)的值为【1】. 6-2、若宏定义为:#define y(x) 2+x, 则表达式a=4*y(2)的值为【1】. 6-3、若宏定义为:#define y(x) 2/x, 则表达式a=4+3*y(3)的值为【1】. 答案:9;10;6 . 二、单项选择题 1-1、若以"a+"方式打开一个已存在的文件,则以下叙述正确的是()。 A:文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可作添加和读操作 B:文件打开时,原有文件内容不被删除,位置指针移到文件开头,可作重写和读操作 C:文件打开时,原有文件内容被删除,只可作写操作 D:以上各种说法皆不正确 1-2、若执行fopen函数时发生错误,则函数的返回值是()。

函数练习题(C语言)带答案

C语言函数练习题 一、选择题 1. 一个完整的C源程序是【】。 A)要由一个主函数或一个以上的非主函数构成 B)由一个且仅由一个主函数和零个以上的非主函数构成 C)要由一个主函数和一个以上的非主函数构成 D)由一个且只有一个主函数或多个非主函数构成 2. 以下关于函数的叙述中正确的是【】。 A)C语言程序将从源程序中第一个函数开始执行 B )可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行 C)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束 D)m ain可作为用户标识符,用以定义任意一个函数 3. 以下关于函数的叙述中不正确的是【】。 A)C程序是函数的集合,包括标准库函数和用户自定义函数 B)在C语言程序中,被调用的函数必须在main函数中定义 C)在C语言程序中,函数的定义不能嵌套 D)在C语言程序中,函数的调用可以嵌套 4. 在一个C程序中,【】。 A)main函数必须出现在所有函数之前 B)main函数可以在任何地方出现 C)m ain函数必须出现在所有函数之后 D)m ain函数必须出现在固定位置 5. 若在C语言中未说明函数的类型,则系统默认该函数的数据类型是【】 A)float B)long C)int D)double 6. 以下关于函数叙述中,错误的是【】。 A)函数未被调用时,系统将不为形参分配内存单元 B)实参与形参的个数应相等,且实参与形参的类型必须对应一致 C)当形参是变量时,实参可以是常量、变量或表达式 D )形参可以是常量、变量或表达式 7. 若函数调用时参数为基本数据类型的变量,以下叙述正确的是【】。 A)实参与其对应的形参共占存储单元 B)只有当实参与其对应的形参同名时才共占存储单元 C)实参与对应的形参分别占用不同的存储单元 D)实参将数据传递给形参后,立即释放原先占用的存储单元 9. 函数调用时,当实参和形参都是简单变量时,他们之间数据传递的过程是【】。 A)实参将其地址传递给形参,并释放原先占用的存储单元 B)实参将其地址传递给形参,调用结束时形参再将其地址回传给实参 C)实参将其值传递给形参,调用结束时形参再将其值回传给实参

C语言练习题(带答案)

一、单项选择题 1.(A)是构成C语言程序的基本单位。 A、函数 B、过程 C、子程序 D、子例程 2.C语言程序从C开始执行。 A) 程序中第一条可执行语句B) 程序中第一个函数 C) 程序中的main函数D) 包含文件中的第一个函数 3、以下说法中正确的是(C)。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是(B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C)。 A.-a1 B.a[i] C.a2_i D.int t 6.下列C语言用户标识符中合法的是(B)。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是(C)。 A)%x B)a+b C)a123 D)123 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 9.C语言中的简单数据类型包括(D)。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是C。 A)2.5 B)2 C)1 D)3 11.如果int a=3,b=4;则条件表达式"a

C语言基础练习100题(含答案)

C语言基础练习100题(含答案) 欧阳学文 雷柳青编排 1、下面程序的输出是________ #include void main() { int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k); } A) k=11,k=12,k=11 B) k=11,k=13,k=13 C) k=11,k=013,k=0xb D) k=11,k=13,k=b 2、在下列选项中,不正确的赋值语句是________. A) ++t; B) n1=(n2=(n3=0)); C) k=i=j; D) a=b+c=1; 3、下面合法的C语言字符常量是__________. A) '\t' B) "A" C) 65 D) A 4、字符(char)型数据在微机内存中的存储形式是____. A) 反码B) 补码C) EBCDIC码D) ASCII码 5、设int a=12,则执行完语句a+=a=a*a 后,a的值是________ A) 552 B) 264 C) 144 D) 264 6、执行下面程序中的输出语句后,输出结果是______. #include void main() {int a; printf("%d\n",(a=3*5,a*4,a+5)); } A) 65 B) 20 C) 15 D) 10 7、下面程序的输出是__________. #include void main() {int x=023; printf("%d\n",x); } A) 17 B) 18 C) 23 D) 24 8、下面程序的输出是___________. #include void main() {char ch1,ch2; ch1='A'+'5''3'; ch2='A'+'6''3'; printf("%d,%c\n",ch1,ch2); } A) 67,D B) B,C C) C,D D) 不确定的值 9、以下程序的输出结果是________. #include void main() { int x=10,y=10; printf("%d %d\n",x,y); } A) 10 10 B) 9 9 C) 9 10 D) 10 9 10、若x和y都是int型变量,x=100,y=200,且有下面的程序片段: printf("%d",(x,y)); 上面程序片段的输出结果是_______.

C语言试题与答案

大学C语言考试题库 第1章 C语言概述习题 1. 单项选择题 (1) C 语言是在 B 语言的基础上产生的。 A. A B. B C. D D. E (2) 在 C 语言中,每个语句必须以 D 结束。 A. 回车符 B. 冒号 C. 逗号 D. 分号 (3) 标识符和关键字间,要用 C 隔开。 A. 回车符 B. 冒号 C. 空格 D. 分号 (4) 用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( B )。 A. 生成可执行目标文件 B. 生成目标文件 C. 输出运行结果 D.自动保存源文件 (5) 下列说法中正确的是( B )。 A. 由于 C 源程序是高级语言程序,因此一定要在 TC 软件中输入 B. 由 C 源程序是字符流组成,因此可以作为文本文件在任何文本编辑的软件中输入 C. 由于C 程序是高级语言程序,因此输入后即可执行 D. 由于 C 程序是高级语言程序,因此它由命令组成 (6) 下列说法中正确的是( A )。 A. C 语言程序由主函数和 0 个或多个函数组成 B. C 语言程序由主程序和子程序组成 C. C 语言程序由子程序组成 D. C 语言程序由过程组成 (7) 下列说法中错误的是( D )。 A. 主函数可以分为两个部分:主函数说明部分和主函数体 B. 主函数可以调用任何非主函数的其他函数 C. 任何非主函数可以调用其他任何非主函数 D. 程序可以从任何非主函数开始执行 2. 填空题 (1) C 语言只有 32 个关键字和 9 种控制语句。 (2) C 语言是一种“中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系

C语言思考题

1、机器语言:机器语言及其指令是计算机能够直接识别的执行的一组二进制代码。一条机器指令通常由操作码和操作数两部分构成。 2、汇编指令:是机器语言的符号化表示MOV 3、汇编语言:由汇编指令、汇编伪指令及汇编语言的语法规则组成。 4、汇编语言源程序:用汇编语言编写的程序 5、汇编程序:把汇编语言源程序翻译成目标程序的加工程序MASM 6、二、十、十六进制转换(掌握<256)练习1:117=(1110101)B练习2:1000 1011 B=(139)D练习3:1011 1000 0000 0101 B=(B805)H 7、机器数:是指计算机中的数据,可以分为无符号数和有符号数字长为N位时无符号数表示范围0≤N≤2N-1 当N=8时0≤N≤255 8、原码(8位):最高位为符号位(正数用0表示,负数用1表示),其他位为数值位 如X=+45=+0010 1101B [X]原=0010 1101B 如X=-45=-0010 1101B [X]原=1010 1101B 9、补码(8位):正数的补码与原码相同,负数的补码是将符号位取1,数值位逐位取反,未位加1。如X=+45=+0010 1101B [X]补=0010 1101B 如X=-45=-0010 1101B [X]补=1101 0011B 10、补码运算:是指对一个补码表示的数按位求反后再在末尾加1,可以得到与此数相应的符号相反的数的补码。例、已知[117]补=0111 0101B,[-117]补=1000 1011B,对[117]补作补码运算。解:因为[117]补=0111 0101B,按位求反后得1000 1010B,末尾加1得1000 1011B=[-117]补。[X+Y]补=[X]补+[Y]补[X-Y]补=[X]补+[-Y]补 12、BCD码:BCD码用4位二进制数表示1位十进制数。常用8421BCD码例:写出十进制314所对应的BCD码 13、8086/8088CPU:16位微处理器和16位数据总线,20位地址总线(寻址空间为1MB)。8088微处理器内部16位数据,外部8位数据,也称准16位机。8086/8088CPU的组成(功能方面):运算器、控制器、寄存器组 14、寄存器是CPU内部临时存放数据的部件,速度比内存快。(1)数据寄存器4个16位寄存器AX,BX,CX,DX,每个寄存器还可以拆成2个8位寄存器使用。 AX累加器:算术运算寄存器,用于存放操作数或运算结果。I/O指令中通过AX与外部交换数据。在乘除运算中指定存放被乘数与被除数,系统功能调用号。AX累加器可以分为AH、AL分别使用。 BX基址寄存器:可作为通用寄存器使用。在计算内存地址是,常作基址寄存器,作为通用寄存器还可以分为BH、BL分别使用。 CX数据寄存器:可作为通用寄存器使用。在循环和串操作指令中作隐含计数器。作为通用寄存器还可以分为CH、CL分别使用。 DX数据寄存器:可作为通用寄存器使用。在I/O操作中,DX用来存放I/O端品地址。在乘除法运算中与AX组合一起存放双字型数据。作为通用寄存器还可以分为DH、DL 分别使用。 (2)变址寄存器(2 个16位):SI 源变址寄存器.DI 目的变址寄存器 BP基址寄存器:用于存放栈中的操作数的偏移地址。SP堆栈指针寄存器:用来指示栈顶的当前位置(偏移地址)。 IP 指令指针寄存器(程序计数器):用于存放下一条指令所在偏移地址。与CS配合,用来确定程序中下一条指令的物理地址。 15、PSW程序状态字寄存器(标志寄存器):8088微处理器使用16位中的9位设置了9个标志。标志位SF、OF、CF、ZF的含义0010 1001B+1110 1000B=1 0001 0001B CF=1 OF=0 SF=0 ZF=0 16、段地址寄存器:段表示一块内存空间(大小可变),最大为64K字节,最小为16字

c语言练习题带答案)-绝对经典题目不看后悔

1单选题 1.(A)是构成C语言程序的基本单位。 A、函数 B、过程 C、子程序 D、子例程 2.C语言程序从C开始执行。 A) 程序中第一条可执行语句B) 程序中第一个函数 C) 程序中的main函数D) 包含文件中的第一个函数 3、以下说法中正确的是(C)。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是(B)。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C)。 A.-a1 B.a[i] C.a2_i D.int t 5~8题为相同类型题 考点:标识符的命名规则 (1)只能由字母、数字、下划线构成 (2)数字不能作为标识符的开头 (3)关键字不能作为标识符 选项A中的“-” ,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3) 6.下列C语言用户标识符中合法的是(B)。 A)3ax B)x C)case D)-e2 E)union 选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1); 7.下列四组选项中,正确的C语言标识符是(C)。 A)%x B)a+b C)a123 D)123 选项A中的“%” ,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2) 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 选项B中的“\”,”$” ,选项D中“>”,”#”,”.”,”-”不满足(1);选项C中的while为关键字,不满足(3) 9.C语言中的简单数据类型包括(D)。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是C。 A)2.5 B)2 C)1 D)3 详见教材P52~53.

C语言试题-选择题及答案

C语言试题 ★第1 题: 阅读程序,选择程序的运行结果___A___。 #include main() { int x; x=try(5); printf(“%d\n”, x); } try(int n) { if(n>0) return(n*try(n-2)); else return(1); } A. 15 B. 120 C. 1 D. 前面3个答案均是错误的 第2 题: 在下列结论中,只有一个是正确的,它是___A___。 A. 递归函数中的形式参数是自动变量 B. 递归函数中的形式参数是外部变量 C. 递归函数中的形式参数是静态变量 D. 递归函数中的形式参数可以根据需要自己定义存储类型 ★第3 题: 阅读程序,选择程序的输出结果__A___。 #include f(int x, int y) { return(y-x); } main() { int (*g)(int,int); int a=5, b=6, c=2; g=f; c=(*g)(a,b); printf(“%d\n”, c); } A. 1 B. 2 C. 3 D. 前面3个答案均是错误的 第4 题: 阅读程序,选择程序的输出结果__D___。 #include

char *p=”abcdefghijklmnopq”; main() { while(*p++!=?e?) ; printf(“%c\n”, *p); } A. c B. d C. e D. f ★第6 题: 阅读程序,选择程序的输出结果___D___。 #include void prtv(int *x) { printf(”%d\n”, ++*x); } main() { int a=25; prtv(&a); } A. 23 B. 24 C. 25 D. 26 第7 题: 阅读程序,选择程序的输出结果___B___。 #include main() { static char a[ ]= ”language”, b[]=”program”; char *ptr1=a, *ptr2=b; int k; for(k=0; k<7; k++) if(*(ptr1+k)==*(ptr2+k)) printf(”%c”, *(ptr1+k)); } A. gae B. ga C. language D. 有语法错误 ★第8 题: 函数调用strcat(strcpy(str1, str2), str3)的功能是__C___。 A. 将串str1复制到串str2中,然后再连接到str3之后 B. 将串str1连接到串str2之后,再复制到str3之中 C. 将串str2复制到串str1中,然后再将串str3连接到串str1之后

C语言课后习题答案(最终)

第0章习题 1. 将下列十进制数分别转化为二进制数、八进制数和十六进制数: (1)128 (2)511 (3)1024 (4)65535 (5)1048575 答: (1)10000000、200、80 (2)111111111、777、1FF (3)10000000000、2000、400 (4)1111111111111111、177777、FFFF (5)11111111111111111111、3777777、FFFFF 2. 将下列二进制数转化为十进制数和十六进制数: (1)1100110101B (2)101101.1011B 答: (1)821、335 (2)45.6875、2D.B 3. 写出下列数的原码、反码、补码:15、-20、-27/32 答: (1)00001111、00000000、00001111 (2)10010100、11101011、11101100 (3)1.1101100、1.0010011、1.0010100 4. 16位无符号定点整数的数值表示范围为多少?8位补码的表示范围是多少?16位补码的表示范围是多少? 答: 0~65535、-128~127、-32768~32767 5.1968年Dijkstra提出结构化程序设计的思想的原因是什么?简要回答结构化程序设计的经典定义。 答: 结构化程序设计概念的提出主要是源于程序结构的层次性与模块化使得构造出来的软件具有良好的可理解性和可维护性,随着软件规模的扩大与复杂性的提高,程序的可维护性成为程序设计者们关注的重要问题之一。 如果一个程序的代码块仅仅通过顺序、选择和循环这3种基本控制结构进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。 6.C程序在内存中存储在哪儿?计算机的内存空间是如何分区的?分区存放不同类型的数据的目的是什么? 答:

C语言试题选择题及答案

★第1 题: 阅读程序,选择程序的运行结果___A___。 #include main() { int x; x=try(5); printf(“%d\n”, x); } try(int n) { if(n>0) return(n*try(n-2)); else return(1); } A. 15 B. 120 C. 1 D. 前面3个答案均是错误的 第2 题: 在下列结论中,只有一个是正确的,它是___A___。 A. 递归函数中的形式参数是自动变量 B. 递归函数中的形式参数是外部变量 C. 递归函数中的形式参数是静态变量 D. 递归函数中的形式参数可以根据需要自己定义存储类型 ★第3 题: 阅读程序,选择程序的输出结果__A___。 #include f(int x, int y) { return(y-x); } main() { int (*g)(int,int); int a=5, b=6, c=2;

g=f; c=(*g)(a,b); printf(“%d\n”, c); } A. 1 B. 2 C. 3 D. 前面3个答案均是错误的 第4 题: 阅读程序,选择程序的输出结果__D___。#include char *p=”abcdefghijklmnopq”; main() { while(*p++!=’e’) ; printf(“%c\n”, *p); } A. c B. d C. e D. f ★第6 题: 阅读程序,选择程序的输出结果___D___。#include void prtv(int *x) { printf(”%d\n”, ++*x); } main() { int a=25; prtv(&a); } A. 23

c语言第1章练习题答案

第一章 C语言概述练习题 一、选择题 1.C语言是一种( )。 A) 机器语言B) 汇编语言C) 高级语言 D) 低级语言 2.下列各项中,不是C语言的特点是( )。 A) 语言简洁、紧凑,使用方便B) 数据类型丰富,可移植性好 C) 能实现汇编语言的大部分功能D) 有较强的网络操作功能 3.下列叙述正确的是( )。 A) C语言源程序可以直接在DOS环境中运行 B) 编译C语言源程序得到的目标程序可以直接在DOS环境中运行 C) C语言源程序经过编译、连接得到的可执行程序可以直接在DOS环境中运行 D) Turbo C系统不提供编译和连接C程序的功能 4.下列叙述错误的是()。 A) C程序中的每条语句都用一个分号作为结束符 B) C程序中的每条命令都用一个分号作为结束符 C) C程序中的变量必须先定义,后使用 D) C语言以小写字母作为基本书写形式,并且C语言要区分字母的大小写 5.一个C程序的执行是从()。 A) 本程序的main函数开始,到main函数结束 B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C) 本程序文件的第一个函数开始,到本程序main函数结束 D) 本程序的main函数开始,到本程序文件的最后一个函数结束 6.以下叙述不正确的是()。 A) 一个C源程序必须包含一个main函数 B) 一个C源程序可由一个或多个函数组成 C) C程序的基本组成单位是函数 D) 在C程序中,注释说明只能位于一条语句的后面 7.C语言规定:在一个源程序中,main函数的位置( )。 A)必须在程序的开头B)必须在系统调用的库函数的后面 C)可以在程序的任意位置D)必须在程序的最后 8.一个C语言程序是由( )。 A)一个主程序和若干个子程序组成B) 函数组成 C) 若干过程组成D) 若干子程序组成 9.以下有4组用户标识符,其中合法的一组是()。 A) For B) 4d C) f2_G3 D) WORD -sub DO IF void Case Size abc define 10. 一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误的是 ()。

(完整版)C语言程序设计选择题库及答案

单项选择题 导读:单项选择题要求从给出的四个备选答案中,选出一个最符合题意的答案。本类习题主要检查对C语言基本概念的掌握情况,读者可根据学习进度选做部分习题。在完成习题的过程中,不但要选出正确的答案,而且要清楚不正确的选项错在何处,以加深对概念的理解。对于掌握不准的问题, 应该通过上机实验来检验。 【1.1】以下不正确的C语言标识符是____。 A) int B) a_1_2 C) ab1exe D) _x 【1.2】以下是正确的C语言标识符是____。 A) #define B) _123 C) %d D) \n 【1.3】下列四组字符串中都可以用作C语言程序标识符的一组是。 ??? A) print B) i\am C) Pxq D) str_l ??? _3d one_half My->book Cpp ??? oodb start$it line# pow ??? aBc 3pai His.age while

【1.4】下面各选项组中,均是C语言关键字的组是。 A) auto,enum,include B) switch,typedef,continue C) signed,union,scanf D) if,struct,type 【1.5】下列不属于C语言关键字的是。A) default B) register C) enum D) external 【1.6】C语言程序从main()函数开始执行,所以这个函数要写在____。 A) 程序文件的开始B) 程序文件的最后 C) 它所调用的函数的前面D) 程序文件的任何位置 【1.7】下列关于C语言的叙述错误的是____ A) 大写字母和小写字母的意义相同 B) 不同类型的变量可以在一个表达式中 C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型 D) 同一个运算符号在不同的场合可以有不同的含义

(完整版)C语言选择题(附答案)

第一单元C语言概述 一、选择题 1、C语言中主函数的个数为(A)个。 A)1 B)2 C)无穷个D)任意个 2、以下关于C语言描述错误的是(D)。 A)一个C程序总是从main函数开始执行T B)每个语句和数据声明的最后必须有一个分号T C)C语言的注释符是以“/*”开始并以“*/”结束的T D)一个C程序可以包含多个main函数F 3、C 语言源程序文件后缀为(C )。 A).EXE B).OBJ C).C D).ASM 4、C语言是由(C )组成的。 A)子程序B)主程序与子程序C)函数D)过程 5、C语言属于(B )语言 A)机器语言B)汇编语言C)高级语言D)面向对象语言 第二单元C语言基础 一、选择题 1、C语言中普通整型变量int在内存中占(B )字节。 A)1 B)2 C)3 D)4 2、下列不是C语言基本数据类型的是(A )。 A)字符型B) 整型 C) 浮点型D) 结构体 3、有关自增、自减运算,以下只有(D )是正确的。 A) ---f B) ++78 C) a—b++ D) d++ 4、已知A=7.5,B=2,C=3.6,表达式(A>B && C>A) || (AB)的值是(A )。 A)0 B)10 C)1 D)5

5、若有x=1,y=2,z=3,则表达式(x=‘A’)&(ch<=‘Z’) C) (ch>=‘A’)&&(ch<=‘Z’) D) (‘A’<= ch)AND(‘Z’>= ch) 7、判断整型变量digit是否为数字的正确表达式是(C )。 A) ‘0’<=ch<=‘9’B) (ch>=‘0’)&(ch<=‘9’) C) (ch>=‘0’)&&(ch<=‘9’) D) (‘0’<= ch)AND(‘9’>= ch) 8、一个C程序的执行是从(A )。 A)本程序的main函数开始,到main函数结柬 B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C)本程序的main函数开始,到本程序文件的最后一个函数结束 D)本程序文件的第一个函数开始,到本程序main函数结束 9、在以下标识符中,合法的是(C ) A)if B)0xy C)_xy D)case 10、C语言中各种类型的数据其实决定了占用内存的字节数。float占(C )。 A)一字节B)二字节C)四字节D)八字节 11、下列各选项中,(A )是有效的标识符。 A)ab B)3day C)day-3 D)#abc 12、以下叙述正确的是(C ) A) 在C程序中,每行只能写一条语句 B) 若a是实型变量,C程序中不允许a=10这种赋值。 C) 在C程序中,%是只能用于整数运算的运算符 D) 在C程序中,无论是整数还是实数,没有什么区别 13、有输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,则正确的数据输入方式是( B )。 A)132↙B)1,3,2↙ C)a=1 b=3 c=2↙D)a=1,b=3,c=2↙ 14、设整型变量a为5,使b不为2的表达式是( C )。 A)b = a/2 B)b = 6-(--a) C)b=a%2 D)b=a>3?2:1

C语言试题库(完整版)

C语言试题库 一、单项选择 第一章 C语言概述 (1)一个C程序的执行是从 A、本程序的MAIN函数开始,到MAIN 函数结束。 B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。 C、本程序的MAIN函数开始,到本程序的最后一个函数结束。 D、本程序文件的第一个函数开始,到本程序的MAIN函数结束。(2)以下叙述正确的是 A、在C程序中,MAIN函数必须位于程序的最前面。 B、 C程序的每行中只能写一条语句。 C、 C语言本身没有输入输出语句。 D、在对一个C程序进行编译的过程中,可发现注释中的拼写错误。(3) C语言规定,在一个源程序中,MAIN主函数的位置是在: A、必须在最前面。 B、必须在系统调用的库函数的后面 C、可以在任意位置。

D、必须在最后面 (4)一个C程序是由: A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 (5)以下叙述不正确的是: A、一个C源程序可由一个或多个函数组成 B、一个C源程序必须包含一个MAIN函数 C、 C程序的基本组成单位是函数 D、在C程序中,注释说明只能位于一条语句的后面 第二章数据类型、运算符与表达式 (1)若x, i, j, k都是int型变量,则计算下面表达式后,x的值为x=( i=4, j=16, k=32) A、4 B、16 C、32

D、52 (2)下列四组选项中,均不是C语言键字的选项是 A、define , IF, type B、getc, char, printf C、include, scanf, case E、 if, struct, type (3)下面四个选项中,均是不合法的用户标识符的选项是A、A,P_0,do B、float,1a0, _A C、b-a, goto, int D、_123, temp, INT (4)若有代数式3ae/bc,则正确的C语言表达式是A、a/b/c*e*3 B、3*a*e/bc C、3*a*e/b*c D、a*e/c/b*3 (5)已知各变量的类型说明如下:

C语言选择题(含答案)

C语言选择题(含答案) 选择题 1.以下叙述正确的是_____。 A) 在C程序中,main函数必须位于程序的最前面。 B) C语言本身没有输入输出语句。 C) C程序的每行只能写一条语句。 D) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误。 2.下面四个选项中,均是不合法的用户标识符的选项是。 A) A B) float C) b-a D) _123 P_0 1a0 goto temp do _A int INT 3、下列四个选项中都是合法的转义字符的 A) ‘\’’‘\\’‘\n’B) ‘\’‘\017’‘\”’ C) ‘\018’‘\f’‘xab’D) ‘\\0’‘\101’‘x1f’ 4、设所有变量均为整型,则表达式z=(a=2,b=5,b++,a+b)的值是: A)7 B)8 C)6 D)2 5、若有代数式,则不正确的C语言表达式是: A) a/b/c*e*3 B) 3*a*e/b/c C) 3*a*e/b*c D) a*e/c/b*3 6、若希望当A的值为奇数时,表达式的值为”真”, A的值为偶数时,表达式的值为”假”。则以 下不能满足要求的表达式是_________。 A) A%2==1 B) !(A%2==0) C) !(A%2) D) A%2 7、以下程序的运行结果是 : main() { int m=6;

if(m++> 6) printf(" %d\n",m); e1se printf("%d\n",--m ); } A)4 B)5 C) 7 D) 6 8、当a=1,b=3,c=5,d=4,执行完下面一段程序后x 的值是 : if(a正确的输出结果为 main() { int x,y,z scanf("%d%d%d",&x,&y,&z ); printf(“x+y+z=%d\n” ,x+y+z);。 } A)x+y+z=48 B)x+y+z=35 C)x+y+z=35 D)不确定值 10、已知各变量的类型说明如下 int k,a,b; unsigned long w= 5; double x=1.42; 则以下不符合C语言语法的表达式是 : A) x%(-3) B) w+=-2

C语言期末选择题及答案

第二学期《C 语言程序设计》模考 总共68 题共100分 帐号:2013040431 姓名:刘园 答题时间:2015-7-3 8:26:55/2015-7-3 8:40:12 通过分数:60 考生得分 :1 全部显示 错题显示

是( )。(1分) A.'cd' B.0.1e+6 C."\a" D.'\011' 标准答案:A 考生答案: 本题得分:0 试题解析: 单选题4749单选类 4.以下选项中不合法的标识符是( )。(1分) A.print B.FOR C.&a D._00 标准答案:C 考生答案: 本题得分:0 试题解析: 单选题4773单选类 5.设有语句char a='\72';则变量a( )。(1分) A.包含1个字符 B.包含2个字符 C.包含3个字符 D.说明不合法 标准答案:A 考生答案:B

A.10<x<20 B.x>10‖x<20 C.x>10&&<20 D.(x>10)&&(x<20) 标准答案:D 考生答案: 本题得分:0 试题解析: 单选题4820单选类 12.若定义:int a,b;,则表达式 (a=2,b=5,a++,b++,a+b)的值为()。(1分) A.7 B.8 C.9 D.10 标准答案:C 考生答案: 本题得分:0 试题解析: 单选题4837单选类 13.若有定义:int c1=1,c2=2;,则表达式1.0/c2*c1的值是()。(1分) A.0 B.0.5 C.1 D.2 标准答案:B 考生答案:

试题解析: 单选题4890单选类 14.已有定义int x; f1oat y;且执行 scanf("%3d%f",&x,&y);语句,若从第一列开始输入数据12345 678(回车),则x的值为().(1分) A.12345 B.123 C.45 D.345 标准答案:B 考生答案: 本题得分:0 试题解析: 单选题4882单选类 15. 以下程序的输出结果是() #include<stdio.h> int main() { int k=17; printf(“%d,%o,%x\n”k,k,k); return 0; } (1分) A.17,021,0x11 B.17,17,17 C.17,0x11,021 D.17,21,11 标准答案:D 考生答案: 本题得分:0

c语言选择题及答案

1﹑以下选项中不合法的用户标识符是( C )。 A)_123 B)PP C)A$ D)Dim 2﹑C语言提供的合法数据关键字是( A )。 A)float B) Sagned C) Integer D) ing 3﹑判断char型变量c1是否为小写字母的正确表达式为 ( D )。 A) 'a'<=c1<='z' B) (c1>=A. &&(c1<='z') C) ('a'>=c1)||('z'<=c1) D) (c1>='a')&&(c1<='z') 4﹑C语言可执行程序开始执行点为( C ). A)程序中第一条可执行语句 B) 程序中第一个函数 C)程序中的main函数D) 包含文件中的第一个函数 5﹑以下说法中正确的是( C ). A)C语言程序总是从第一个定义的函数开始执行 B)在C语言程序中,要调用的函数必须在main函数中定义 C)C语言程序总是从main函数开始执行 D) C语言程序中,main函数必须放在程序的开始部分 6﹑设有定义:int a=1,b=2,c=3;,以下语句中执行效果与其它三个不同的是( C )。 A)if(a>b) c=a,a=b,b=c; B)if(a>b) {c=a,a=b,b=c;} C)if(a>b) c=a;a=b;b=c; D)if(a>b) {c=a;a=b;b=c;} 7﹑若有说明和语句: int a=5,b; b=a++; 此处变量b的值是( C )。 A)7 B)6 C)5 D) 8﹑以下程序的输出结果是( D )。 int x=10,y=10; printf("%d %d\n",x--,--y); A) 10 10 B) 9 9 C) 9 10 D) 10 9 9﹑C语言用( C )表示逻辑“真”值。 A)true B)t或y C)非零整数值 D)整数0 10﹑指出下面正确的输入语句( B )。 A) scanf("a=b=%d",&a,&b) ; B) scanf("%d,%d",&a,&b) ; C) scanf("%c",c) ; D) scanf("% f%d\n",&f) ; 11﹑若x=5,y=3 则y*=x+5; y的值为( D )。 A) 10 B) 20 C) 15 D) 30 12﹑设整型变量n的值为2,执行语句"n+=n-=n*n;"后,n的值是( C )。 A)0 B)4 C) - 4 D) 2 13﹑以下程序的运行结果是( D )。 void main() { int a=65; char c=’A’; printf(“%x,%d”,a,c); }

C语言-基本选择题及答案解析

计算机程序设计基础(C语言) 单项选择练习题 说明:带*号的对非信息学院的同学不作要求。 一、基本概念 1. C语言程序是由 C 构成的。 A)一些可执行语言 B)main函数 C)函数 D)包含文件中的第一个函数2.(A)是构成C语言程序的基本单位。 A、函数 B、过程 C、子程序 D、子例程 3.C语言程序从 C开始执行。 A) 程序中第一条可执行语句 B) 程序中第一个函数 C) 程序中的main函数 D) 包含文件中的第一个函数 4.C语言程序从main()函数开始执行,所以这个函数要写在_D___。 A) 程序文件的开始 B) 程序文件的最后 C) 它所调用的函数的前面 D) 程序文件的任何位置 5、以下说法中正确的是(C)。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 6. 下列方法中错误的是(D)。 A.主函数可以分为两个部分:主函数说明部分和主函数体。 B.主函数可以调用任何非主函数的其它函数。 C.任何非主函数可以调用其它任何非主函数。 D.程序可以从任何非主函数开始执行。 7. 下列说法错误的是:(B) A.C程序运行步骤是编辑、编译、连接、执行。 B.C语言的变量名必须用小写,常量用大写。 C.C语言的三种基本结构是顺序、选择、循环。 D. C程序一定由函数构成的。 8.下列关于C语言的说法错误的是( B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行

相关主题
文本预览
相关文档 最新文档