文档库 最新最全的文档下载
当前位置:文档库 › C语言习题

C语言习题

C语言习题
C语言习题

第一章C语言概述

一、选择题:

(1) 一个C程序总是从()开始执行。

A. 程序的第一条执行语句

B. 主函数

C. 子程序

D. 主程序

(2) 以下叙述正确的是()。

A. C语言允许直接访问物理地址,可以直接对硬件进行操作

B. C语言程序不必编译,即可在计算机上运行

C. C语言不允许直接访问物理地址,不可直接对硬件进行操作

D. C语言程序只需编译,不需要连接即可在计算机上运行

(3) 在一个C程序中()。

A. main函数出现在所有函数之前。C程序不必都有main函数

B. main函数可以在任何地方出现。一个C程序必须有且仅有一个main函数

C. main函数必须出现在所有函数之后。一个C程序只能有一个main函数

D. main函数出现在固定位置。一个C程序可以有多个main函数

(4) C语言程序由()组成。

A.子程序

B.主程序和子程序

C.函数

D.过程

(5) 源程序要正确地运行,必须要有()函数。

A. printf函数

B.自定义的函数

C. main函数

D.不需要函数

(6) 要把高级语言编写的源程序转换为目标程序,需要使用( )。

A. 编辑程序

B.驱动程序

C.诊断程序

D. 编译程序*

(7) 以下叙述正确的是( )。

A. C语言比其他语言高级

B. C语言可以不用编译就能被计算机识别执行

C. C语言以接近英语国家的自然语言和数学语言作为语言的表达形式

D. C语言出现的最晚、具有其他语言的一切优点

(8) 能将高级语言编写的源程序转换成目标程序的是( )。

A.链接程序

B. 解释程序

C.编译程序

D. 编辑程序

(9) 用C语言编写的代码程序( )。

A.可立即执行

B.是一个源程序

C.经过编译即可执行

D.经过编译解释才能执行

(10) 以下叙述中正确的是()。

A.用C程序实现的算法必须要有输入和输出操作

B. 用C程序实现的算法可以没有输出但必须要有输入

C. 用C程序实现的算法可以没有输入但必须要有输出

D. 用C程序实现的算法可以既没有输入也没有输出

(11) C语言是一种( )。

A. 机器语言

B.汇编语言

C.高级语言

D.低级语言

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

A.语言简洁、紧凑,使用方便

B.数据类型丰富,可移植性好

C.能实现汇编语言的大部分功能

D.有较强的网络操作功能

(13) 下列叙述正确的是( )。

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

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

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

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

(14) 下列叙述错误的是()。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

A.必须在程序的开头

B.必须在系统调用的库函数的后面

C.可以在程序的任意位置

D.必须在程序的最后

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

A.一个主程序和若干个子程序组成

B.函数组成

C.若干过程组成

D.若干子程序组成

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

()。

A.有零个或多个输入

B.有零个或多个输出

C.有穷性

D.可行性

(20) 以下叙述正确的是()。

A. C语言的源程序不必通过编译就可以直接运行。

B. C语言中的每条可执行语句最终都将被转换成二进制的机器指令。

C. C语言源程序经编译形成的二进制代码可以直接运行。

D. C语言中的函数不可以单独进行编译。

(21) 为解决某一特定问题而设计的指令序列称为( )。

A. 文档

B. 语言

C. 程序D系统

(22) 用高级程序设计语言编写的程序称为()。

A. 目标程序

B.可执行程序

C.源程序

D.伪代码

(23) 能将高级语言编写的源程序转换成目标程序的是( )。

A. 编辑程序

B. 编译程序

C. 驱动程序

D.链接程序

(24) 下列叙述中正确的一条是()。

A. 计算机语言中,只有机器语言属于低级语言。

B. 高级语言源程序可以被计算机直接执行。

C. C语言属于高级语言。

D. 机器语言与所用机器无关的。

(25)设有以下定义:

int a=0; double b=1.25; char c=’A’;

#define d 2 则下面语句中,错误是()。

A. a++;

B. b++;

C. c++;

D. d++;

(26) 以下对C语言的描述中正确是( )。

A. C语言源程序中可以有重名的函数。

B. C语言源程序要求每行只能书写一条语句。

C. 注释可以出现在C语言源程序中的任何位置。

D. 最小的C语言源程序中没有任何内容

(27) 以下说法中正确的是()。

A. #define和printf都是C语句。

B. #define是C语句,而printf不是。

C. printf是C语句,但#define不是。

D. #define和printf都不是C语句。

(28) C 语言是在( )语言的基础上产生的。

A. A

B. B

C. D

D.E

(29) 在C 语言中,每个语句必须以( )结束。

A.回车符

B. 冒号

C. 逗号

D. 分号

(30) 用C语言编写的源文件经过编译,若没有产生编译错误,则系统将( )。

A.生成可执行目标文件

B.生成目标文件

C.输出运行结果

D.自动保存源文件

(31) 下列说法中正确的是( )。

A. 由于C 源程序是高级语言程序,因此一定要在TC 软件中输入

B. 由C 源程序是字符流组成,因此可以作为文本文件在任何文本编辑的软件中输入

C. 由于C 程序是高级语言程序,因此输入后即可执行

D. 由于C 程序是高级语言程序,因此它由命令组成

(32) 下列说法中正确的是( )。

A. C 语言程序由主函数和0 个或多个函数组成

B. C 语言程序由主程序和子程序组成

C. C 语言程序由子程序组成

D. C 语言程序由过程组成

(33) 下列说法中错误的是( )。

A. 主函数可以分为两个部分:主函数说明部分和主函数体

B. 主函数可以调用任何非主函数的其他函数

C. 任何非主函数可以调用其他任何非主函数

D. 程序可以从任何非主函数开始执行

(34) 标识符和关键字间,要用( )隔开。

A.回车符

B.冒号

C.空格

D.分号

(35) 完成C源文件编辑后、到生成执行文件,C语言处理系统必须执行的步骤依次为

( )。

A.连接、编译

B.连接、运行

C.编译、运行

D.编译、连接

(36)以下并非C语言的特点的是()。

A. C语言简洁和紧凑

B. 能够编制出功能复杂的程序

C. C语言可以直接对硬件进行操作

D. C语言移植性好

(37)下列说法正确的是()。

A.在执行C程序时不是从main()函数开始的

B. C程序书写格式限制严格,一行内必须写一个语句

C. C程序书写格式比较自由,一个语句可以分行写在多行上

D. C程序书写格式严格要求一行内必须写一个语句,并要求行

(38) C程序中能直接让机器执行的文件是()。

A. 编辑后的.c源文件

B.通过编译的.obj文件

C. 通过连接的.exe文件

D. 编辑后的.bak文件

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

A. C程序由函数构成

B.一个C程序至少包含一个main函数

C. main函数可以调用main函数

D. main函数是每个程序执行的起始点

(40) 下列语言中,CPU能直接识别的是( )。

A. 自然语言

B. 高级语言

C. 汇编语言

D.机器语言

二、判断题:

(1) C语言程序总是从main函数第一条可执行语句开始执行,在main函数结束。()

(2) main函数必须写在一个C程序的最前面。(×)

(3) 一个C程序可以包含若干个函数。(√)

(4) C程序的注释部分可以出现在程序的任何位置,它对程序的编译和运行不起任何作用。

但是可以增加程序的可读性。(√)

(5) C程序的注释只能是一行。(×)

(6) C程序的注释不能是中文文字信息。(×)

(7) 可以使用Turbo C来编译和连接一个C程序。(√)

(8)可以使用Turbo C来运行一个C程序。(√)

(9) 可以使用Turbo C来实时调试(即动态调试)一个C程序。(√)

(10) Vasual c++6.0中可以使用“//”和“/* */”注释程序,注释部分不编译。(√)

(11) 将C程序编译成目标文件,其扩展名为EXE。(×)

(12) C语言具有简洁明了的特点。(√)

(13) 预处理命令的前面必须加一个“#”号。(√)

(14) C语言是一种具有某些低级语言特征的高级语言。(√)

(15) C语言的应用比较广泛,不仅能够用来编写应用软件,而且能够编写系统软件。(√)

(16) C语言可以中可以有多个函数,但只能有一个主函数。(√)

(17) 一个C程序可以由多个源程序文件构成,但其中只能有一个main()函数。(√)

(18) C语言采用解释方式将源程序转换为二进制的目标代码。(×)

(19) 用C语言可直接进行位运算和取地址等运算,因此C语言是一种低级语言。(×)

(20)C程序是由函数构成的,每一个函数完成相对独立的功能。(√)

(21) 在C源程序中,之间的注释信息也被编译,但对程序运行运果不发生影响。(×)

(22) 在C语言中,字母的大小写不被区分。(×)

(23) C语言中没有依存于硬件的I/O语句。(√)

(24) 按现代风格设计的C程序中,main中对函数声明的信息与定义此函数时第一行的信息

完全相同。(√)

(25) 对C语言中用到的任何一个变量都要规定其类型。(√)

(26) 计算机的一切操作都是由程序控制的,离开了程序,计算机将一事无成。(√)

(27) 由于计算机能直接识别和接受机器指令,所以机器语言是最适合人们编程的语言。(×)

(28) 编译程序可以把用高级语言写的程序转换为机器指令的程序。(√)

(29) 一般而言,我们把用高级语言编写的程序称为目标程序。(×)

(30) C语言源程序在生成可执行程序前,应该先编译再连结。(√)

(31) 高级语言之所以高级,就在于用它来编写程序可以不遵循任何形式。(×)

(32) 语言程序设计自由度大,所以属于非结构化语言。(×)

(33) C语言属于高级语言,不允许直接访问物理地址。(×)

(34) 所谓程序就是一组计算机能识别和执行的指令。(√)

(35) 函数是C程序的主要组成部分。(√)

(36) C语言俗称"低级语言的高级形式",这说明C语言的功能不强。(×)

(37) C语言是一种结构化程序设计语言。(√)

(38) C语言是一种面向对象的程序设计语言。(×)

(39) C程序总是从程序的第一条语句开始执行。

(40) C语言的祖先是B语言。(√)

第二章数据类型、运算符与表达式

一、选择题

(1)下列叙述正确的是()。

A. C语言中既有逻辑类型也有构造类型数据

B. C语言中没有逻辑类型,但有构造类型

C. C语言中有逻辑类型,但没有构造类型

D. C语言中既没有逻辑类型也没有构造类型

(2) 下列关于C语言用户标识符的叙述中正确的是()。

A. 用户标识符中可以出现下划线和中划线(减号)

B. 用户标识符中不可以出现中划线,但可以出现下划线

C. 用户标识符中可以出现下划线,但不可以放在标识符开头

D. 用户标识符中可以出现下划线和数字,他们都可以放在标识符开头

(3) 下列转义字符中,错误的是()。

A. …\0xa5?

B. …\031?

C. …\b?

D. …\”?

(4) 字符串“\\\\1234\\\\\n”在内存中占用的字节数是()。

A. 14

B. 9

C. 10

D. 1

(5) 已知梯形的上底为a, 下底为b,高为h,用C语言写的正确的面积公式是()。

A.1/2*(a+b)*h

B. 1.0/2*(a+b)*h

C. 1.0/2.0(a+b)h

D. 1.0/2*a+b*h

(6) 与k=n++完全等价的表达式是()。

A. n=n+1, k=n

B. k+=n+1

C. K=++n

D. k=n, n=n+1

(7) 在C语言中int, char和short int三种类型变量所占用的内存大小是()。

A. 均为2个字节

B.由用户自己定义

C.由所用机器的字长决定

D.是任意的(8)若有以下类型说明语句char a; int b; float c; short int d; 则表达式c*b+a*d的结果类型是 ()。

A.char

B.int

C.double

D.float

(9)若有说明语句int w=1,x=2,y=3,z=4; 则表达试w>x?w:z>y?z:x的值是()。

A.4

B.3

C.2

D.1

(10)设x,y 为int型变量,则执行下列语句后y的值是()。

x=5; y=x++*x++; y=--y*--y;

A.625

B.2401

C.1209

D.529

(11)下面的符号常量定义中,正确的是()。

A.#define PI 3.14;

B.#include PI 3.14;

C.#define PI=3.14

D.#define PI 3.14

(12) 指出下面合法的标识符()。

A. 3ab

B. int

C. ABC

D.#abc

(13) 指出下面()是保留字。

A.char

B. abc

C. printf

D.Int

(14) 下面()个数据类型不是C语言的基本数据类型。

A. 整型

B. 枚举型

C. 指针型

D. 字符型

(15) 这段程序中,不是常量的有()。

#define PI 3.14

void main()

{

int sum;

sum = 10 + 15;

printf("sum=%d\n",sum);

printf("result is 25\n");

}

A. 10

B. sum

C. 15

D. PI

(16)如果要把常量327存入变量a中,a不能定义成()类型

A. int

B. char

C. long

D. float

(17)下面哪个表达式的值为4。

A. 11/3

B. 11.0/3

C. (float)11/3

D. (int)(11.0/3+0.5)

(18)设正x、y均为整型变量,且x=10 y=3,则以下语句的输出结果是()。

printf(”%d,%d\n”,x--,--y);

A. 10,3

B. 9,3

C. 9,2

D. 10,2

(19) 指出下面错误的表达式( )。

A. 5.6+6.2%3.1

B. 2

C.a=4

D. a=5,b=6,c=7

(20) 已知a为整型变量,那么与表达式a!=0 真假值情况不相同的表达式有( )。

A. a>0||a<0

B. a

C. !a==0

D. !a

(21)下面()是非法的C语言转义字符。

A. '\t'

B. '\08'

C. '\xaf'

D. '\\'

(22)若有以下说明语句:

char s='\\\092';

则下面()是正确的.

A. 使s的值包含2个字符

B. 说明语句不合法

C. 使s的值包含6个字符

D. 使s的值包含4个字符

(23)若k,g均为int型变量,则以下语句的输出为()。

int k,g;

k=o17;

g=111;

printf("%d,",k);

printf("%x\n",g);

A. 15,6f

B. f,6f

C. f,111

D. 15,111

(24) 请从下面的选项中选出不正确的C语言的转义字符。( )

A. '\t'

B. '\''

C. '//'

D. '\n'

(25)()是C语言提供的合法的数据类型关键字。

A.Float

B. signed

C. integer

D.Char

(26) 在C语言中,要求参加运算的数必须时整数的运算符是( ) 。

A./

B.*

C.%

D. =

(27) 在C语言中,字符型数据在内存中以( )形式存放。

A.原码

B.BCD码

C.反码

D.ASCII码

(28) 在C语言中,整型数据在内存中以( )形式存放。

A.原码

B.BCD码

C.反码

D.补码

(29) 下列选项中,合法的C语言关键字是( )。

A. V AR

B. cher

C. integer

D. default

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

A. For

B.4d

C.f2_G3

D.WORD

sub DO IF void

Case Size abc define

(31)以下选项中,非法的字符常量是()。

A.‘\t’

B.‘\17’

C.“n”

D.‘\xaa’

(32)以下选项中合法的字符常量是( )。

A.“B”

B.‘\010’

C. 68

D. A

(33)在C语言中,合法的长整型常数是()。

A. 0L

B. 4962710

C. 324562&

D. 216D

(34) 下列变量定义中合法的是( )。

A. short _a=1-.le+1;

B. double b=1+5e2.5;

C. long do=0xfdaL;

D. float 2_and=1-e-3;

(35)以下所列的C语言常量中,错误的是()。

A. 0xFF

B.1.2e0.5

C. 2L

D.‘\72’

(36)设有说明语句:char a=’\72’,则变量a()。

A. 包含1个字符

B.包含2个字符

C.包含3个字符

D.说明不合法(37)下列不正确的转义字符是( )。

A. '\\'

B. '\' '

C. '074'

D. '\0'

(39)以下选项中属于C语言的数据类型是( )。

A.复数型

B.逻辑型

C.双精度型

D.集合型

(40) 设有int x=11; 则表达式(x++ * 1/3) 的值是

A. 3

B. 4

C.11

D. 12

(41) 下列程序的输出结果是( )。

A. 3

B.3.2

C.0

D.3.07

void main()

{ double d=3.2;

int x,y;

x=1.2;

y=(x+3.8)/5.0;

printf("%d \n", d*y);

}

(42) 设int x=1, y=1; 表达式(!x||y--)的值是( )。

A. 0

B. 1

C. 2

D.–1

(43) 若变量已正确定义并赋值,下面符合C语言语法的表达式是( )

A. a:=b+1

B. a=b=c+2 C int 18.5%3 D. a=a+7

(44) C语言中运算对象必须是整型的运算符是()。

A. %=

B. /

C. =

D.<=

(45) 若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是()。

A. 1

B. 2

C. 2.0

D. 2.5

(46) 若变量a、i已正确定义,且i已正确赋值,合法的语句是

A. a==1

B. ++i;

C. a=a++=5; D) a=int(i);

(47) 若有以下程序段,int c1=1,c2=2,c3; c3=1.0/c2*c1; 则执行后,c3中的值是

A. 0

B. 0.5

C. 1

D. 2

(48) 能正确表示逻辑关系:“a≥=10或a≤0”的C语言表达式是()。

A. a>=10 or a<=0

B. a>=0|a<=10

C. a>=10 &&a<=0

D. a>=10‖a<=0

(49) 设x、y、t均为int型变量,则执行语句:x=y=3; t=++x||++y;后,y的值为()。

A.不定值

B. 4

C. 3 D 1

(50) 若变量c为char类型,能正确判断出c为小写字母的表达式是()。

A. ‘a’<=c<= ‘z’

B. (c>= ‘a’)||(c<= ‘z’)

C. (‘a’<=c)and (‘z’>=c)

D. (c>= ‘a’)&&(c<= ‘z’)

二、判断题

(1)C语言程序的变量必须先定义再使用。(√)

(2)C语言认为名为Student和student的变量是不同变量。(√)

(3)C语言中,字符常量可以用单引号或双引号括起来。(×)

(4)设一个C系统的float型有效数字是7位,则超过7位数的运算是不准确的。(√)(5)C语言与其他高级语言一样具有结构化的控制语句。(√)

(6)在C程序中对用到的所有数据都必须指定其数据类型。(×)

(7)一个变量在内存中占据一定的存储单元。(√)

(8)一个实型变量的值肯定是精确的。(×)

(9)对几个变量在定义时赋初值可以写成:int a=b=c=3;(×)

(10)自增运算符(++)或自减运算符(--)只能用于变量,不能用于常量或表达式。(√)(11)在C程序的表达式中,为了明确表达式的运算次序,必须使用括号“()”。(×)(12)%运算符要求运算数必须是整数。(√)

(13)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数。(×)(14)在C程序中,逗号运算符的优先级最低。(√)

(15)C语言不允许混合类型数据间进行运算。(×)

(16)数据是操作的对象,操作的结果会改变数据的状况。(√)

(17)字符型变量用来存放字符常量,注意只能放2个字符。(×)

(18)C语言中可以把一个字符串赋给一个字符变量。(×)

(19)在C语言中的实型变量分为两种类型,它们是float(实型)和double(双精度实型)。

(×)

(20)在C语言中,要求参加运算的数必须是整数的运算符是% 。(√)

(21)若有以下定义,则执行下面表达式y+=y-=m*=y后,y的值为-6。int m=5,y=2; (√)(22)输入语句的格式为:scanf("%d%d%d",a,b,c);是正确的。(×)

(23)在scanf("%d,%d",&a,&b)函数中,可以使用一个或多个空格作为两个输入数之间的间隔。(×)

(24) getchar函数的功能是接收从键盘输入的一串字符。(×)

(25) 在变量说明中给变量赋初值的方法是:int a=10,b=10; (√)

(26) printf函数是一个标准库函数,它的函数原型在头文件"stdio.h"中。(√)

(27)printf函数称为格式输入函数,它的函数原型在头文件"stdio.h"中。(×)

(28)若int x=3; printf("%d",&x);则系统会报错,没有任何结果。(×)

(29) 逻辑运算符的优先级别高于算术运算符。(×)

(30) 在C语言中,表示逻辑"真"值用1。(√)

(31) 表达式pow(2.8,sqrt(double(x)))值的数据类型为double。(√)

(32) 假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是7。(×)

(33) C语言中数据有常量与变量之分。(√)

(34) 一般一个字符变量在内存中占一个字节。(√)

(35) 凡是表达式都有一个值。(√)

(36) int a=0,b=1,c=2;则表达式a||b+c&&b==c的值为0。(√)

(37) C语言规定标识符只能由字母、数字和小数点三种字符组成。(×)

(38) 二元运算符均可以和赋值运算符构成复合的赋值运算符。(√)

(39) C语言中,不能在变量名、函数名、关键字中插入空格和空行。(√)

(40) C语言中,在进行混合运算时,数据类型由高级向低级转换。(×)

(41) 整数在存储时不会产生误差,实数在存储时也不会产生误差。(×)

(42) 逗号表达式的值是第一个表达式的值。(×)

(43) C语言中,强制类型转换后,原变量的值和数据类型不变。(√)

(44) 字符数据在内存以ASCII码存储,占2个字节,用7位二进制表示。(×)

(45)在Turbo C中,各种类型的整型数据在内存中占2个字节。(×)

(46) 在C语言中,表达式的1/2的值为0.5。(×)

(47) 表达式(j=3,++j) 的值是4。(√)

(48) sizeof(float)的结果是一个整型表达式。(√)

(49) 运算符的级别由高向低依次为!->算术运算符->关系运算符->逻辑运算符->赋值运算

符。(√)

(50) ASCII码基本集共包括127个字符。(×)

第三章最简单的C程序设计—顺序程序设计

一、选择题

(1)已定义char s1, s2;, 下面正确的语句是()。

A. scanf(“%s%c”, s1,s2);

B. scanf(“%s%c”, s1, &s2);

C. scanf(“%c%c”, &s1,&s2);

D. scanf(“%c%c”, s1,s2);

(2)为某个程序输入数据,使得i=10, k=’a’, j=15, 正确的键盘输入方法是()。

A.10,a,15<回车>

B. 10<回车>a<回车>15<回车>

C.10’a’15<回车>

D. 10a15<回车>

(3)已知float x=2.23, y=4.35;, 根据下面的输出结果,正确的程序段是()。

x=2.230000,y=4.350000

y+x=6.58,y-x=2.12

A. printf(“x=%8.2f,y=%8.2f”,x,y); printf("y+x=%4.2f,y-x=%4.2f\n",y+x,y-x);

B. printf(“x=%8.6f,y=%8.6f\n”,x,y); printf("y+x=%4.2f,y-x=%4.2f\n",y+x,y-x);

C. printf(“x=%7.2f,y=%7.2f\n”,x,y);printf("y+x=%3.2f,y-x=%3.2f\n",y+x,y-x);

D. printf(“x=%f,y=%f”,x,y); printf("y+x=%f,y-x=%f\n",y+x,y-x);

(4) 下列表达式中,值为0的表达式是()。

A. 3 !=0

B. 3 !=3>4

C. 3>4==0

D. 6>5>4

(5) 下列表达式中,结果为1的表达式是()。

A. !0==1

B. !6

C. !2>=3

D. !3!=0

(6) 设int a=3; 则表达式a<1&&--a>1的运算结果和a的值分别是()。

A. 0和2

B. 0和3

C. 1和2

D. 1和3

(7)下面源程序执行后,屏幕上显示( )。

void main()

{

int a;

float b;

a=4;

b=9.5;

printf("a=%d,b=%4.2f\n",a,b);

}

A. a=%d,b=%f\n

B. a=%d,b=%f

C. a=4,b=9.50

D. a=4,b=9.5

(8) 下列程序,如果运行时,输入18,18 ,那么b的值为()。

void main()

{

int a,b;

scanf("%d,%o",&a,&b);

b+=a;

printf("%d",b);

}

A. 36

B. 34

C. 输入错误,b的值不确定

D. 18

(9)不属于C程序的基本结构的选项是( )。

A.顺序结构

B.循环结构

C.程序结构

D.选择结构

(10)请问:下面这个程序段的输出是()。

int a,b,c;

a=7;b=8;c=9;

if(a>b)

a=b;b=c;c=a;

printf("a=%d b=%d c=%d\n",a,b,c);

A. a=7 b=8 c=7

B. a=7 b=9 c=7

C. a=8 b=9 c=7

D. a=8 b=9 c=8

(11)C语言中用于结构化程序设计的三种基本结构是()。

A.顺序结构、选择结构、循环结构

B. if、switch、break

C. for、while、do-while

D. if、for、continue

(12) putchar函数可以向终端输出一个()。

A.整型变量表达式值

B.实型变量值

C.字符串

D.字符或字符变量值

(13) 以下程序运行后的输出结果是()。

void main()

{ int a=0,b=0;

a=10; b=20; printf("a+b=%d\n",a+b);

}

A. a+b=10

B. a+b=30

C. 30

D. 出错

(14) 以下程序运行后的输出结果是()。

void main()

{double d=3.2; int x,y;

x=1.2; y=(x+3.8)/5.0;

printf("%d\n",d*y);

}

A.3

B.3.2

C.0

D. 3.07

(15) 以下程序运行后的输出结果是( )。

void main()

{ double d; float f; long l; int i;

i=f=l=d=20/3;

printf("%d %ld %.1f %.1f\n",i,l,f,d);

}

A. 6 6 6.0 6.0

B. 6 6 6.7 6.7

C. 6 6 6.0 6.7

D. 6 6 6.7 6.0

(16) 以下程序运行后的输出结果是()。

void main()

{ int a=1,b=2;

a=a+b; b=a-b; a=a-b;

printf("%d,%d\n",a,b);

}

A. 1,2

B. 1,1

C. 2,2

D.2,1

(17) 以下程序运行后的输出结果是()。

void main()

{ int x,y,z;

x=y=2; z=3;

y=x++-1; printf("%d %d ",x,y);

y=++x-1; printf("%d %d\n",x,y);

y=z---1; printf("%d %d ",z,x);

y=--z-1; printf("%d %d\n",z,x);

}

A .3 1 4 3 B. 3 1 3 3 C. 3 1 4 3 D. 2 1 3 2

2 4 1 4 2 4 2 2 2 4 1 2 1

3 1 2 (18) 以下程序运行后的输出结果是()。

void main()

{ int x,y,z;

x=y=1;

z=x++,y++,++y;

printf("%d,%d,%d\n",x,y,z);

}

A. 2,3,3

B. 2,3,2 C .2,3,1 D. 2,2,1

(19) 以下程序运行后的输出结果是()。

void main()

{ int x=4,y=7;

x-=y; y+=x;

printf("%d %d\n",x,y);

}

A. 4 7

B. -3 -3

C. -3 11

D. -3 4

(20) 以下程序运行后的输出结果是()。

void main()

{ unsigned short a=65536; int b;

printf("%d\n",b=a);

}

A .65536 B. 0 C. 1 D. -1

(21)以下程序:

#include

void main()

{char c1,c2,c3,c4,c5,c6;

scanf("%c%c%c%c",&c1,&c2,&c3,&c4);

c5=getchar(); c6=getchar();

putchar(c1); putchar(c2);

printf("%c%c\n",c5,c6);

}

程序运行后,若从键盘输入(从第1列开始)

123<回车>

45678<回车> 则输出结果是( )。

A.1267

B.1256

C.1278

D.1245

(22) 设a、b和c都是int型变量,且a=3,b=0,c=5,则以下值为0的表达式是()。

A .'a'&&'b' B. a&&b||c C. a&&b&&c D. a||b&&c

(23) 已知各变量的类型说明如下:

int k,a,b;

unsigned long w=5;

double x=1.42

则以下不符合C语言语法的表达式是( )。

A.x%(-3)

B.w+=-2

C.k=(a=2,b=3,a+b)

D.a+=a-=(b=4)*(a=3)

(24) 若t为double类型,表达式t=1,t+5,t++的值是( )。

A. 1

B. 6.0

C. 2.0

D. 1.0

(25) 设n=10,i=4,则赋值运算n%=i+1执行后,n的值是( )。

A. 0

B. 3

C. 2

D.1

(26) 设Int n=3;则有表达式++n,n的结果是( )。

A.2

B.3

C.4

D.5

(27) 用十进制形式输入有符号整数时,在scanf函数语句里格式字符为( )。

A.d

B.f

C.n

D.u

(28) 在scanf函数语句中用于输入双精度浮点数的修饰符是( )。

A.*

B. h

C. l

D. 宽度

(29) 设Int n=3;则n++的结果是( )。

A.2

B.3

C.4

D.5

(30) 用小数或指数形式输入实数时,在scanf函数语句里格式字符不正确的为( )。

A. i

B.f

C. e

D.g

(31) 可以使用( )输入字符型数据。

A. putchar(c)

B. getchar(c);

C. getchar();

D. scanf("%s",&c);

(32) 以下结果为整型的表达式(设有int i; char c; float f;)是()。

A. i+f

B. i*c

C. c+f

D. i+c+f

(33) 设有逗号表达式(a=3*5,a*4),a+15,a的值为( )。

A.60

B.30

C.15

D.90

(34) 若在scanf函数语句中没有非格式字符作输入数据的间隔,除了( )都可以作为输

入数据的间隔。

A. 空格

B. 逗号

C. TAB

D. 回车

(35) 使用scanf函数时,在源程序开头( )。

A. 书写#define "stdio.h"

B. 书写#include

C. 不必写#include

D. 书写#include "scanf.h"

(36) 下列程序的输出结果是()。

main()

{

int k=-1;

printf("%d,%u\n",k,k);

}

A. -1,-1

B. -1,32767

C. -1,32768

D. -1,65535

(37) 设已定义x为double类型变量

x=213.82631;

printf("%-6.2e\n",x);

则以上语句( )。

A. 输出格式描述符的域宽不够,不能输出

B. 输出为21.38e+01

C. 输出为2.14e+002

D. 输出为-2.14e2

(38) 以下的变量定义中,合法的是( )。

A. float 3_four = 3.4 ;

B. int _abc_= 2 ;

C. double a = 1 + 4e2.0

D. short do =15;

(39) 若有int k = 11;则表达式(k++ * 1/3)的值是( )。

A. 0

B. 3

C. 11

D. 12

(40) 以下不正确的语句(设有int p,q)是( )。

A. p*=3;

B. p/=q;

C. p+=3;

D. p&&=q;

(41) 如果a=9,b=5,c=3,d=4,则条件表达式a

A.9

B. 3

C. 5

D. 4

(42) 设int n=2;则++n+1= =4的结果是( )。

A. true

B. false

C. 1

D. 0

(43) 若输入4位整数到整型变量a中,可用( )。

A. scanf("%4d");

B. scanf("%4d",&a);

C. scanf("%4d",a);

D. scanf("%d",&a);

(44) 对于scanf("a=%d",&a),设a为整型变量,输入:5<回车>,其输出可为( )。

A. a=5

B. 5

C.无法预料

D. a=a=5

(45) 经过下述赋值后,变量x的数据类型是()。

int x=2;

double y;

y=(int)(float)x;

A. 整数

B.单精度浮点数

C.双精度浮点数

D.都不对

(46) 若s是int型变量,且s=6,则下面表达式的值为( )。

s%2+(s+1)%2

A.1

B. 2

C.0

D.3

(47) 已知字母a的ASCII码的十进制代码为97,且设ch为字符型变量,则表达式

ch='a'+'8'-'3'的值为()。

A.F

B. f

C. a

D. g

(48) 表达式1 /2*3的计算结果是( )。

A. 1.500000

B. 0

C. 0.166667

D.都不对

(49) 当a=3,b=2,c=1时,表达式f=a>b>c的值是()。

A.0

B.1

C. 3

D.2

(50) 若k为int 整型变量且赋值7,x为double型变量且赋值8.4,赋值表达式x = k的运

算结果是()。

A.8.4

B.7.000000

C. 7

D.8

二、判断题:

(1)C语言程序的三种基本结构是嵌套结构、递归结构、顺序结构。(×)

(2)C语言中,字符数据用格式说明"%c"来输出,字符串数据用格式说明"%s"来输出。(√)(3)C语言中,关键字及编译预处理命令用小写字母书写。(√)

(4)C语言中,格式说明"%10.4f"中,10表示数据输出的最小宽度,4表示小数位数。(√)(5)C语言中,为了区别一般的变量,符号常量必须用大写字母表示。(×)

(6)执行语句++i ; i=3;后变量i的值为4。(×)

(7)程序中的“=”是赋值号,与数学中等号的功能相同。(×)

(8) 用float定义的实型变量在内存占8个字节,输入/输出格式符是%f。(×)

(9) C语言中语言中,putchar函数的功能是把一字节代码输出到标准输出设备。(√)

(10) 字符数据与整型数据可互相赋值。(√)

(11) 增1(或自增)、减1(或自减)运算符都是双目运算符。(×)

(12) C程序的书写格式比较自由,一行内可写一个语句,也可以写多个语句。(√)

(13) 若x是int型变量,则执行下面表达式后,x=(a=4,6*2),x的值为12。(√)

(14) 若k为int整型变量且赋值7,请写出赋值表达式k *= k + 3的运算结果52。(×)

(15) scanf函数是一个标准库函数,它的函数原型在头文件stdio.h中。(√)

(16) getchar函数可以接收单个字符,输入数字也按字符处理。(√)

(17) 在语句中,给变量赋值时,赋值语句必须以分号结尾。(√)

(18) 当a=3,b=2,c=1时,表达式f=a>b>c 的值是1。(×)

(19) 设x,y均为int型变量,描述"x,y中有一个为负数"的表达式x<0&&y>=0||y<0&&x>=0。

(√)

(20) 若a=6,b=4,c=3,则表达式a&&b||b-c的值是0。(×)

(21) 设x=3,y=-4,z=5,则表达式!(x>y)+(y!=z)||(x+y)&&(y=z)的值是1。(√)

(22) C语言规定,可以在定义变量时,同时为变量初始化。(√)

(23) 把k1、k2定义成基本整型变量,并赋初值0的定义语句是int k1=k2=0; 。(×)

(24) 如果i的原值为3,则:j = ++ i,j的值为3。(×)

(25) 输入语句的格式为:scanf("%d,%d,%d",&a,&b,&c);是正确的。(√)

(26) 在scanf("%d,%*d,%d",&a,&b)函数中,当输入为1,2,3时,将1赋给a,将2赋

给b。(×)

(27) getchar函数的功能是接收从键盘输入的一个整数。(×)

(28) printf函数是一个标准库函数,它的函数原型在头文件"string.h"中。(×)

(29) 在printf函数中,格式字符d的意义是:以十进制形式输出带符号整数。(√)

(30) 在printf函数中,输出表列的各输出项之间可用冒号分隔。(×)

(31) 若int x=3; printf("%d",&x);则系统不会报错,会输出x的地址。(√)

(32) 若a和b类型相同,在计算了赋值表达式a=b后,b中的值将放入a中,而b中的值不变。

(√)

(33) a=(b=4)+(c=6) 是一个合法的赋值表达式。(√)

(34) 若有int i=10,j=2;则执行完i*=j+8;后ⅰ的值为28。(×)

(35) 若i =3,则printf("%d",-i++);输出的值为-4。(×)

(36) int x=2;z=x++-1; 则x的值为3。(√)

(37) 整型变量在全部范围内可以用字符格式输出。(×)

(38) 格式字符%e以指数形式输出实数数字部分小数位数7位。(×)

(39) 逻辑表达式-5&&!8的值为1。(×)

(40) 标准格式输入函数scanf()可以从键盘上接受不同数据类型的数据项。(√)

(41) C语言的书写格式不会影响程序的可读性。(×)

(42) 表达式语句和表达式没有什么区别。(×)

(43) 任何表达式语句都是表达式加分号组成的。(√)

(44) C语言中的标准输入函数是getchar()。(×)

(45) C语言中允许使用goto语句。(√)

(46) 格式输入函数scanf( ) 的格式控制中不能没有格式控制字符。(√)

(47) 语句int x= -1; printf ("%u",x) ;的输出结果为65535。(√)

(48) C语言中,任一种表达式都可构成语句。(×)

(49) #include和#define都不是C语句。(√)

(50) C 语言中空语句是合法的C语句。(√)

第四章选择结构程序设计

一、选择题

(1)在C语言的if语句中,用作判断的表达式为()。

A. 关系表达式

B. 逻辑表达式

C. 算术表达式

D. 任意表达式

(2)该程序的运行结果是( )。

void main()

{

int a,b,c;

a=2;b=7;c=5;

switch (a>0)

{

case 1:

switch(b<10)

{

case 1:printf("^");break;

case 0:printf("!");break;

}

case 0:

switch(c==5)

{

case 0: printf("*");break;

case 1: printf("#");break;

default:printf("%%");break;

}

default:

printf("&");

}

printf("\n");

}

A. ^#&

B. ^

C. &

D. ^!*#%&

(3) 在嵌套使用if语句时,C语言规定else总是()。

A.和之前与其具有相同缩进位置的if配对

B.和之前与其最近的if配对

C.和之前与其最近不带else的if配对

D.和之前的第一个if配对

(4) 若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为

( )。

A. a<>0

B. !a

C. a=0

D. a

(5) 以下程序运行后的输出结果是( )。

void main()

{ int a=2,b=-1,c=2;

if(a

if(b<0) c=0;

else c++;

printf("%d\n",c);

}

A. 0

B. 1

C. 2

D. 3

(6) 若k是int型变量,下面的程序段的输出结果是( ) 。

k=-3;

if (k<=0) printf("####")

else printf("&&&&");

A.####

B.&&&&

C.####&&&&

D. 有语法错误,无输

(7) 以下程序运行后的输出结果是( )。

void main()

{ int a=0,b=0,c=0,d=0;

if(a=1) b=1;c=2;

else d=3;

printf("%d,%d,%d,%d\n",a,b,c,d);

}

A. 0,1,2,0

B. 0,0,0,3

C. 1,1,2,0

D. 编译有错

(8) 以下程序运行后的输出结果是( )。

void main()

{ int x1=1,x2=0,x3=0;

if(x1=x2+x3) printf("****");

else printf("####");

}

A. ****

B. 有语法错误C .#### D.无输出结果

(9) 当a=1,b=3,c=5,d=4时,执行下面一行程序后,x的值是()。

if(a

if(c

else if(a

if(b

else x=3;

else x=6;

else x=7;

A. 1

B. 2

C. 3

D. 6 (10)下列叙述中正确的是()。

A. break语句只能用于switch语句

B. 在switch语句中必须使用default

C. break语句必须与switch语句中的case配对使用

D. 在switch语句中不一定使用break语句

(11) 若有定义:float x=1.5; int a=1,b=3,c=2; 则正确的switch语句是( )。

A. switch(x)

B. switch((int)x)

{ case 1.0:printf("*\n"); { case 1:printf("*\n");

case 2.0:printf("**\n"); } case 2:printf("**\n"); }

C. switch (a+b)

D. switch(a+b)

{ case 1:printf("*\n"); { case 1:printf("*\n");

case 2+1:printf("**\n"); } case 2:printf("**\n"); } (12) 以下程序运行后的输出结果是()。

#include

void main()

{ int x=1,y=0,a=0,b=0;

switch(x)

{ case 1:

switch(y)

{ case 0:a++;break;

case 1:b++;break;

}

case 2:a++;b++;break;

}

printf("a=%d,b=%d\n",a,b);

}

A. a=2,b=1

B. a=1,b=1

C. a=1,b=0

D. a=2,b=2

(13) 以下程序输出结果是( )。

void main()

{ int m=5;

if(m++>5) printf("%d\n",m);

else printf("%d\n",m--);

}

A.7

B.6

C.5

D.4

(14) 以下程序的输出结果为( )。

# include

main ( )

{ int i=0, j=0, a=6;

if ((++i>0)&&(++j>0)) a++;

printf ("i=%d, j=%d, a=%d\n", i,j,a);

}

A. i=0, j=0, a=6

B. i=1, j=1, a=7

C. i=1, j=0, a=7

D. i=0, j=1, a=7

(15) 有如下程序

void main()

{ int a=2,b=-1,c=2;

if(a

if(b<0) c=0;

else c++;

printf("%d\n",c);

}

该程序的输出结果是( )

A. 0

B. 1

C.2

D. 3

(16) 若i为int型,且有程序如下,则输出结果是( )。

i=111;

if(i%3==0)

printf("####");

printf("****");

A.####

B. ****

C. ####****

D.无输出结果

(17) 若运行时x=12,则运行结果为( )

{int x, y;

scanf("%d", &x);

y=x>12 ? x+10:x-12;

printf("%d\n", y);}

A.0

B. 22

C. 12

D. 10

(18) 以下程序的输出结果是( )

void main()

{ int i=0, j=0, k=6;

if ((++i>0)||(++j>0)) k++;

printf("%d, %d, %d\n", i, j, k);

}

A. 0, 0, 6

B. 1, 0, 7

C. 1, 1, 7

D. 0, 1, 7

(19) 若变量都已正确说明,则以下程序段输出为( )

int a=1,b=2,c=3;

if(a>b)

a=b;

b=c;

c=a;

printf("a=%d b=%d c=%d\n",a,b,c);

A. a=1 b=2 c=1

B. a=1 b=2 c=3

C.a=1 b=3 c=1

D. a=2 b=3 c=2

(20) 当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是( )

if(a

if(c

else

if(a

if(b

else x=3;

else x=6;

else x=7;

A.1

B.2

C.3

D.6

(21) 以下不正确的语句为( )

A.if(x>y);

B.if(x==y)&&(x!=0)x+=y;

C.if(x!=y)scanf("%d",&x);else scanf("%d",&y);

D.if(x

(22) 有以下程序:

#include"stdio.h"

void main( )

{char i;

for (; (i=getchar ())!='\n';)

{switch (i-'a')

{case 0: putchar (i);

case 1: putchar (i+1);break;

case 2: putchar (i+2);

case 3: break;

default: putchar (i);break;

}

}

printf ("\n");

}

输入下列数据后,程序的输出结果是( )

abcde

A. abcde

B. abcee

C. abbde

D. abccdd

(23) 若a、b、c1、c2、x、y、均是整型变量,正确的switch语句是( )

A. switch (a+b); B) switch(a*a+b*b)

{ case 1:y=a+b; break; {case 3:

case 0:y=a-b; break; case 1:y=a+b;break;

} case 3:y=b-a,break;

}

C. switch a D) switch(a-b)

{ case 1 :y=a-b; break {

case 2: x=a*d; break case c1:case 4:x=a+b;break;

default:x=a+b; case c2:case 11:y=a-b;break;

} default:y=a*b;break;

}

(24) 写出下面程序输出结果( )。

{int x=1, y=0, a=0, b=0;

switch(x)

{case 1:

switch(y)

{case 0: a++;

case 1: b++; }

case 2: a++; b++;

}

printf("a=%d, b=%d\n", a, b) ;

}

A. a=2, b=1

B. a=1, b=1

C. a=1, b=0

D.a=2, b=2

(25) 以下程序的输出结果是( )。

main( )

{ int a=-1,b=1,k;

if((++a<0)&&!(b--<=0))

printf("%d %d\n",a,b);

else

printf("%d %d\n",b,a);

}

A. -1 1

B. 0 1

C. 1 0

D. 0 0

(26) 与y=(x>0?1:x<0?-1:0);的功能相同的if语句是( )。

A. if (x>0) y=1;

B. if(x)

else if(x<0) y=-1; if(x>0) y=1;

else y=0; else if (x<0) y=-1;

else y=0;

C语言题库及答案

C语言题库及答案

姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题吧。加油! 一单项选择题 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’ 若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串 选项B,C,分别用{}和’’标识字符串 选项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 。

计算机C语言趣味的程序设计——题目百例

Contest - 2011级C语言课程大作业 Start Time: 2012-02-19 16:25:00 End Time: 2012-03-01 22:00:00 Current Time: 2012-2-23 15:51:18 Status:Running Public

写在最前: 本文档中的题目;在不不同的编译器中可能会有提示错误,呵呵,小小的动动手改下变量的定义就可以运行了……………….. 由于能力不足..有题目未解决的…或者有错误的我会…认真听取大家的..意见的…. 呵呵……..有一两个….偷了下懒哦……… 提供原题目还有本人自己的解答的源代码。感谢大家的。。。。建议……………. 问题A: 趣味程序设计_狼追兔子 时间限制: 1 Sec 内存限制: 128 MB 提交: 341 解决: 63 [提交][状态][讨论版] 题目描述 一只兔子躲进了n个环形分布的洞的某一个中。狼在第一个洞没有找到兔子,就隔一个洞,到第三个洞去找;也没有找到,就隔两个洞,到第六个洞去找。以后每次多一个洞去找兔子……这样下去,如果一直找不到兔子,请问兔子可能在哪个洞中? 输入 有多组测试数据,读取到文件结尾符为止。每组测试数据输入n(2≤n≤100),即洞穴个数。输入到文件结尾符为止。 输出 兔子可能藏匿的洞。如果不止一个,按从小到大的顺序输出。如果不存在,输出空行。

样例输入 10 8 15 样例输出 2 4 7 9 2 4 5 7 8 9 11 12 14 提示 用一个数组a[10],对应的元素a[0],a[1],a[2]……a[9]对应表示10个洞,初值均置1。通过一个循环用“穷举法”找兔子,第n次查找对应第(n-1)%10个洞,如果在第(n-1)%10个洞中没有找到兔子,因此将数组元素a[(n-1)%10]置0值。循环完成后,检查a数组各元素(各个洞)的值,若其值仍为1,则兔子可能藏身该洞中。 #include #include int ok[110]; int main() { int n,s,i,find; while(scanf("%d",&n)!=EOF) { memset(ok,0,sizeof(ok)); for(i=1;i<=200;i++) if(!ok[find=(i*(i+1)/2)%n]) if(find==0) ok[n]=1; else ok[find]=1; for(s=0,i=1;i<=n;i++) s+=ok[i]; for(i=1,find=0;i<=n;i++) if(!ok[i]) { if(find!=(n-s-1)) { printf("%d ",i);find++;

C语言习题集

1、将一元二次方程的求根公式(-b+判断式的平方根)/(2a)转换为C语言的表达式,转换以后的语句写在函数fun的花括号,fun 函数的其他语句请不要修改,main函数供你调试程序使用也可以任意修改。 #include #include double fun(double a,double b,double c) { double x1=0.0; //--ksstart (注释不能删除)— //考生代码从此开始编写 x1 = (-b+sqrt(b*b-4*a*c))/(2*a); //--ksend--- return x1; } main() { //求一个根 double a=0.0,b=0.0,c=0.0,x1=0.0; int n=0; printf("The a,b,c:"); scanf("%lf %lf %lf",&a,&b,&c); x1=fun(a,b,c); printf("The x1=%lf:\n",x1); } 2、函数 fun 的功能是: 将两个两位数的正整数 a、b 合并形成一个整数放在 c 中。合并的方式是: 将 a 数的十位和个位数依次放在 c 数的个位和百位上, b 数的十位和个位数依次放在 c 数的十位和千位上。 例如, 当 a=45, b=12, 调用该函数后, c=2514 。 注意: 部分源程序存在文件 PROG1.C 中。数据文件 bc.in 中的数据不得修改。请勿改动主函数main 和其它函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。 #include #include long fun(int a, int b) { long c=0; //--ksstart(注释不能删除)— //考生代码从此开始编写 int c1,c2,c3,c4; c1 = b%10; c2 = a%10; c3 = b/10;

大学c语言考试题库含答案

================================================== 题号:1482 执行以下程序段后,输出结果和a的值是()。int a=10; printf("%d",a++); A、11 和10 B、11 和11 C、10 和11 D、10 和10 答案: C 题号:2100 已知字符'A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D'.执行语句printf("%d,%d",c1,c2-2);后,输出结果是 A、65,66 B、A,B C、65,68 D、A,68 答案: A 题号:5055 相同结构体类型的变量之间,可以()。 A、比较大小 B、地址相同 C、赋值 D、相加 答案: C 题号:3217 int a[10];合法的数组元素的最小下标值为()。 A、1 B、0 C、10 D、9 答案: B

能正确表示逻辑关系:" a≥10或a≤0 "的C语言表达式是 A、a>=0 | a<=10 B、a>=10 or a<=0 C、a>=10 && a<=0 D、a>=10 || a<=0 答案: D 题号:157 main() {int x=1,a=0,b=0; switch (x) { case 0: b++; case 1: a++; case 2: a++;b++;} printf("a=%d,b=%d",a,b); }该程序的输出结果是( ) A、2,2 B、2,1 C、1,1 D、1,0 答案: B 题号:4784 设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的 数据类型为()。 A、不确定 B、double C、int D、float 答案: B 题号:1647 以下程序中,while循环的循环次数是______ main() { int i=0;

c语言趣味编程实例

1、编程序求5X+2Y+Z=50 的所有非负整数解。 #include int main() { int x, y, z; int count = 0; for (x = 0; 5 * x <= 50;x++) for (y = 0; 2 * y <= 50; y++) for (z = 0; z <= 50; z++) { if (5 * x + 2 * y + z == 50) { count++; printf("%d :", count); printf("x=%d,y=%d,z=%d", x, y, z); printf("\n"); } } return 0; } 2、把25个字母A、B、C、···、X、Y按如下要求打印出来:从最中间的字母M 开始打印,然后一左一右依次打印出其它字母,即M,L,N,K,O,...。 要求:初始化时按字母表顺序赋值。 #include int main() { char x[] = "ABCDEFGHIJKLMNPQRST"; int k; int n = 0; while (x[n]) { n++; if (x[n] == 'M') { k = n;break; } } printf("%c,",x[k]); for (int i = 1; i <= 12; i++) if (i <= 11) printf("%c,%c,", (x[k] - i), (x[k] + i)); else printf("%c,%c。", (x[k] - i), (x[k] + i)); printf("\n");

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语言考试题库及答案复习整理

C 语言理论上机考试选择题部分(共200题) 1、下面程序的输出是___D______ #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、在下列选项中,不正确的赋值语句是__D______. A) ++t; B) n1=(n2=(n3=0)); C) k=i=j; D) a=b+c=1; 3、下面合法的C 语言字符常量是______A____. A) '\t' B) "A" C) 65 D) A 4、表达式: 10!=9的值是 ________D____. A) true B) 非零值 C) 0 D) 1 5、C 语言提供的合法的数据类型关键字是_____B____. A) Double B) short C) integer D) Char 6、字符(char)型数据在微机内存中的存储形式是__D__. A) 反码 B) 补码 C) EBCDIC 码 D) ASCII 码 7、C 语言程序的基本单位是_____C______. A) 程序行 B) 语句 C) 函数 D) 字符 8、设 int a=12,则执行完语句

a+=a-=a*a 后,a 的值是____D____ A) 552 B) 264 C) 144 D) -264 9、执行下面程序中的输出语句后,输出结果是____B__. #include void main() {int a; printf("%d\n",(a=3*5,a*4,a+5)); } A) 65 B) 20 C) 15 D) 10 10、下面程序的输出是____B______. #include void main() {int x=023; printf("%d\n",--x); } A) 17 B) 18 C) 23 D) 24 11、下面程序的输出的是_____C____. #include void main() {int x=10,y=3; printf("%d\n",y=x/y); } A) 0 B) 1 C) 3 D) 不确定的值 12、已知字母A 的ASCII 码为十进制的65,下面程序的输出是______A_____. #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) 不确定的值 13、若要求在if 后一对圆括号中表示a 不等于0的关系,则能正确表示这一关系的表达式为____D__. A) a<>0 B) !a C) a=0 D) a

C语言经典编程

猴子吃桃 1、题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。 1.程序分析:采取逆向思维的方法,从后往前推断。 2.程序源代码: main() { int day,x1,x2; day=9; x2=1; while(day>0) {x1=(x2+1)*2;/*第一天的桃子数是第2天桃子数加1后的2倍*/ x2=x1; day--; } printf("the total is %d\n",x1); } 回文数问题 题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。 1. 程序分析:学会分解出每一位数,如下解释:(这里是一种简单的算法) 2.程序源代码: main( ) { long a,b,c,d,e,x; scanf("%ld",&x); a=x/10000;/*分解出万位*/ b=x%10000/1000;/*分解出千位*/ c=x%1000/100;/*分解出百位*/ d=x%100/10;/*分解出十位*/ e=x%10;/*分解出个位*/ if (a!=0) printf("there are 5, %ld %ld %ld %ld %ld\n",e,d,c,b,a); else if (b!=0) printf("there are 4, %ld %ld %ld %ld\n",e,d,c,b); else if (c!=0) printf(" there are 3,%ld %ld %ld\n",e,d,c); else if (d!=0) printf("there are 2, %ld %ld\n",e,d); else if (e!=0) printf(" there are 1,%ld\n",e); } 杨辉三角 题目:打印出杨辉三角形(要求打印出10行如下图) 1.程序分析: 1 1 1

CC语言趣味程序设计编程百例精解

C-C++语言趣味程序设计编程百例精解() ?81.角谷猜想 日本一位中学生发现一个奇妙的“定理”,请角谷教授证明,而教授无能为力,于是产生角谷猜想。猜想的内容是:任给一个自然数,若为偶数除以2,若为奇数则乘3加1,得到一个新的自然数后按照上面的法则继续演算,若干次后得到的结果必然为1。请编程验证。 *问题分析与算法设计 本题是一个沿未获得一般证明的猜想,但屡试不爽,可以用程序验证。题目中给出的处理过程很清楚,算法不需特殊设计,可按照题目的叙述直接进行证。 *程序说明与注释 #include<stdio.h> int main() { int n,count=0; printf("Please enter number:"); scanf("%d",&n); /*输入任一整数*/ do{ if(n%2)

n=n*3+1; /*若为奇数,n乘3加1*/ printf("[%d]:%d*3+1=%d\n",++count,(n-1)/3,n); } else { n/=2; /*若为偶数n除以2*/ printf("[%d]: %d/2=%d\n",++count,2*n,n); } }while(n!=1); /*n不等于1则继续以上过程*/ } 82.四方定理 数论中著名的“四方定理”讲的是:所有自然数至多只要用四个数的平方和就可以表示。 请编程证此定理。 *问题分析与算法设计 本题是一个定理,我们不去证明它而是编程序验证。 对四个变量采用试探的方法进行计算,满足要求时输出计算结果。 *程序说明与注释 #include<stdio.h> #include<stdlib.h> int main()

C语言习题集及答案..

目录 第一单元程序设计和C语言 (1) 第二单元顺序程序设计 (3) 第三单元分支程序设计 (7) 第四单元循环程序设计 (14) 第五单元数组..................................................................... 错误!未定义书签。第六单元函数 (23) 第七单元指针..................................................................... 错误!未定义书签。第八单元结构体和共用体..................................................... 错误!未定义书签。第九单元文件..................................................................... 错误!未定义书签。附加题......................................................................................... 错误!未定义书签。模拟试卷一................................................................................. 错误!未定义书签。模拟试卷二................................................................................. 错误!未定义书签。模拟试卷三................................................................................. 错误!未定义书签。

C语言程序设计程序填空题库及答案

程序填空题 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【】下面程序的功能是不用第三个变量,实现两个数的对调操作。#include <> main() { int a,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b); a= ①; b= ②; a= ③; printf("a=%d,b=%d\n",a,b); }

【】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。 #include <> double pi(long n) { double s=; long i; for(i=1;i<=n;i++) s=s+ ①; return( ②); } 【】下面的程序的功能是求一维数组中的最小元素。 findmin(int *s,int t,int *k) { int p; for(p=0,*k=p;p

C语言函数题库及答案

C语言函数题库及答案 Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998

第六部分函数 一、单项选择题 1.C语言中的函数返回值的类型是由(D)决定 A.return语句中的表达式B.调用函数的主调函数 C.调用函数时临时D.定义函数时所指定的函数类型 2.下面不正确的描述是(B)。 A.调用函数时,实参可以是表达式 B.调用函数时,实参和形参可以共用内存单元 C.调用函数时,将形参分配内存单元 D.调用函数时,实参与形参的类型必须一致 3.在C语言中,调用一个函数时,实参变量和形参变量之间的数据传递是 (D) A.地址传递B.值传递 C.由实参传递给形参,并由形参传回给实参D.由用户指定传递方式 4.下面的函数调用语句中含有(A)个实参 inta,b,c; intsum(intx1,intx2); …… total=sum((a,b),c); A.2B.3C.4 D.5 5.在C语言中(C) A.函数的定义可以嵌套,但函数的调用不可以嵌套

B.函数的定义和调用均不可以嵌套 C.函数的定义不可以嵌套,但是函数的调用可以嵌套 D.函数的定义和调用均可以嵌套 6.关于C语言中的return语句正确的是(C) A.只能在主函数中出现 B.在每个函数中都必须出现 C.可以在一个函数中出现多次 D.只能在除主函数之外的函数中出现 7.两个形参中,第一个形参为指针类型、第二个形参为整型,则对函数形参的说明有错误的是(D) (floatx[],intn) (float*x,intn) (floatx[10],intn) (floatx,intn) 8.在C语言中,函数的数据类型是指(A) A.函数返回值的数据类型 B.函数形参的数据类型 C.调用该函数时的实参的数据类型 D.任意指定的数据类型 9.已知如下定义的函数: fun1(a) {printf("\n%d",a); } 则该函数的数据类型是(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

2019二级C语言题库参考答案解析

2019年C语言考题答案 1、程序填空题 给定的程序的功能是调用fun 函数建立班级通讯录。通讯录中记录每位学生的编号、姓名和电话号码班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat 的二进制中。 填空:( 1) STYPE(2)FILE(3)fp 改错:(1) for(i=0;i<=sl;i++)(2)t[2*sl]= 0“ 或t[sl+sl]= 0“ 编程: *c=(a/10)*1000+(b/10)*100+(a%10)*10+(b% 10); 2、程序填空题给定程序的功能是:从键盘输入若干文本 (每行不超过80 个字符),写到文件myfile4.txt 中,用-1 作为字符串输出输入的标志。然后将文件的内容读出显示在屏幕上。文件的读写分别由自定义函数ReadText 和Writetext 实现。 填空:(1)*fw(2)str (3) str 改错:(1)voidfun(longs,long*t)(2) s1=s1*10; 编程:int i,j=0,min=a[0].s; for(i=0;i

else if(min==a[i].s) b[j++]=a[i]; } return j; 3、程序填空题 给定程序中,函数fun 的功能是:讲自 然数1~10 以及它们的平方根写到名为myfile3.txt 的文本中,然后再按顺序读出显示在屏幕上。 填空:( 1) fp( 2)fclose(fp)(3)myfile3.txt 改错:( 1)for(i=j+1;i

趣味c语言编程100例

趣味 c 语言编程100 例 【程序 1】 题目:有 1、2、3、4 个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分析:可填在百位、十位、个位的数字都是1、 2、3、4。组成所有的排列后再去 掉不满足条件的排列。 2.程序源代码: main() { int i,j,k; printf("\n"); for(i=1;i<5;i++) / *以下为三重循环 */ for( j=1;j<5;j++) for (k=1;k<5;k++) { if (i!=k&&i!=j&&j!=k) /* 确保 i 、 j、 k 三位互不相同 */ printf("%d,%d,%d\n",i,j,k); } } 程序 2】 题目:企业发放的奖金根据利润提成。利润 (I) 低于或等于 10 万元时,奖金可提 10% ;利润高于 10 万元,低于 20 万元时,低于 10 万元的部分按 10% 提成,高于 10 万元的部分,可可提成 7.5% ; 20 万到 40 万之间时,高于 20 万元的部分,可提成 5% ; 40 万到 60 万之间时高于

40 万元的部分,可提成 3% ;60 万到 100 万之间时,高于 60 万元的部分,可提成 1.5% ,高于 100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总 数? 1. 程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。 2. 程序源代码: main() { long int i; int bonus1,bonus2,bonus4,bonus6,bonus10,bonus; scanf("%ld",&i); bonus1=100000*0.1;bonus2=bonus1+100000*0.75; bonus4=bonus2+200000*0.5; bonus6=bonus4+200000*0.3; bonus10=bonus6+400000*0.15; if(i<=100000) bonus=i*0.1; else if(i<=200000) bonus=bonus1+(i-100000)*0.075; else if(i<=400000) bonus=bonus2+(i-200000)*0.05; else if(i<=600000) bonus=bonus4+(i-400000)*0.03;

C语言习题全集+答案

第一单元程序设计和C语言 一、选择题 1.C语言的基本构成单位是:。 A. 函数 B. 函数和过程 C. 超文本过程 D. 子程序 2.一个C语言程序总是从开始执行。 A. 主过程 B. 主函数 C. 子程序 D.主程序 3.C语言的程序一行写不下时,可以。 A. 用逗号换行 B. 用分号换行 C. 在任意一空格处换行 D. 用回车符换行 4.以下叙述不正确的是:。 A. 在C程序中,语句之间必须要用分号";"分隔 B. 若a是实型变量,C程序中a=10是正确的,因为实型变量中允许存放整型数 C. 在C程序中,无论是整数还是实数都能正确无误地表示 D. 在C程序中,%是只能用于整数运算的运算符 5.以下不正确的C语言标识符是。 A. ABC B. abc C. a_bc D. 6.下列字符串是标识符的是:。 A. _HJ B. 9_student C. long D. LINE 1 7.以下说法中正确的是:。 A. C语言程序总是从第一个定义的函数开始执行 B. 在C语言程序中,要调用的函数必须放在main()函数中定义 C. C语言程序总是从main()函数开始执行 D. C语言程序中的main()函数必须放在程序的开始部分 8.不合法的常量是:。 A. ‘\2’ B. " " C. ‘3’ D. ‘\483’ 9.已知各变量的类型说明如下,则以下不符合C语言语法的表达式是:。 int k,a,b; unsigned long w=5; double x=; A. x%(-3) B. w+=-2 C. k=(a=2,b=3,a+b) D. a+=a=+(b=4)*(a=3) 10.在C语言中,字符型数据在内存中以形式存放。 A. 原码 B. BCD码 C. 反码 D. ASCII码 11.若有定义:int a=7; float x=; y=;

大学C语言考试题库及答案

精选考试类应用文档,如果您需要使用本文档,请点击下载,另外祝您生活愉快,工作顺利,万事如意! 大学C语言考试题库及答案 姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题库吧。加油! 一单项选择题库 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’ ’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’ 若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串 选项B,C,分别用{}和’’标识字符串 选项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 。

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单选题 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为关键

历年C语言考试题库及答案

C语言理论上机考试选择题部分(共200题,仅针对11级定向专业) 1、下面程序的输出是___D______ #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、在下列选项中,不正确的赋值语句是__D______. A) ++t; B) n1=(n2=(n3=0)); C) k=i=j; D) a=b+c=1; 3、下面合法的C语言字符常量是______A____. A) '\t' B) "A" C) 65 D) A 4、表达式: 10!=9的值是________D____. A) true B) 非零值 C) 0 D) 1 5、C语言提供的合法的数据类型关键字是_____B____. A) Double B) short C) integer D) Char 6、字符(char)型数据在微机内存中的存储形式是__D__. A) 反码 B) 补码 C) EBCDIC码 D) ASCII码 7、C语言程序的基本单位是_____C______.A) 程序行 B) 语句 C) 函数 D) 字符 8、设 int a=12,则执行完语句a+=a-=a*a后,a的值是____D____ A) 552 B) 264 C) 144 D) -264 9、执行下面程序中的输出语句后,输出结果是____B__. #include<> void main() {int a; printf("%d\n",(a=3*5,a*4,a+5)); } A) 65 B) 20 C) 15 D) 10 10、下面程序的输出是____B______. #include<> void main() {int x=023; printf("%d\n",--x); } A) 17 B) 18 C) 23 D) 24 11、下面程序的输出的是_____C____. #include<> void main() {int x=10,y=3; printf("%d\n",y=x/y); }

相关文档