文档库 最新最全的文档下载
当前位置:文档库 › C语言程序设计题库及答案

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

第1次客观题作业

一、单选题(共30题,每题3分)

1 .下面表示正确的是__A___。

A.C语言中的逗号是一种运算符

B.在C语言中,一行只能有一个语句

C.C中的变量不区分大小写

D.c中的关键字可以做为变量名

2 .字符型常量在内存中存放的是__A____代码值。

A.ASCII B.二进制

C.十进制D.八进制

3 .以下不正确的C语言标识符是(C )。

A.AB1 B._ab3 C.4ab D.a2_b

4 .以下运算符中优先级最低的运算符是_D____。

A.&& B.& C.|| D.=

5 .在C语言中,要求运算数必须是整型的运算符是___A___。A.% B./ C.< D.!

6 . C语言程序的基本单位是__C_____。

A.程序行B.语句C.函数D.字符

7 .将高级语言编写的程序翻译成目标程序的是___B____程序。A.解释程序B.编译程序C.汇编程序D.源程序8 .以下选项中,与k=n++完全等价的表达式是__A___。

A.k=n,n=n+1 B.n=n+1,k=n C.k=++n D.k+=n+1

9 .下列(A )不属于结构化程序设计的循环结构。

A.For B.While C.if-else D.do-while

10 .以下叙述中错误的是__A___。

A.用户所定义的标识符允许使用关键字

B.用户所定义的标识符应尽量做到“见名知意

C.用户所定义的标识符必须以字母或下划线开头

D.用户定义的标识符中,大、小写字母代表不同标识

11 .若有输入语句scanf( %d%d%d,&x,&y,&z);则不能使x值为5,y值为6,z值为7的输入是__A____。

A.5,6 ,7 B.5回车换行 6 7 C.5 6 7 D.5,6,7

12 .若i,j已定义为int类型,则下程序段中内循环体的总的执行次数是( B )。 for (i=3;i>0;i--) for (j=0;j<=4;j++){...}

A.12 B.15 C.16 D.20

13 .下列选项中,合法的C语言关键字是_D___。

A.VAR B.Cher C.Integer D.default

14 .C语言中___A____。

A.能使用do-while语句构成的循环

B.do-while语句构成的循环必须用break语句才能退出

C.do-while语句构成的循环,当while语句中的表达式为非零时结束循环D.do-while语句构成的循环,当while语句中的表达式值小于零时结束循环15 .以下__D_____不是高级语言。

A.Basic语言

B.C语言

C.JAVA语言

D.汇编语言

16 .已知int x=2,y=3;则计算表达式y+=x-=x*=y后,x和y分别为(B )。

A.6,5 B.0,3 C.0,5 D.-4,2

17 .在C语言中,函数的数据类型是指__A_____。

A.函数返回值的数据类型

B.函数形参的数据类型

C.调用该函数时的实参的数据类型

D.任意指定的数据类型

18 .若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是_C___。A.1 B.3 C.2.0 D.2.5

19 . func(exp1,(exp2,exp3),(exp4,exp5,exp6));含有(C )个实参。

A.1

B.2

C.3

D.6

20 .有int x=3,y=4,z=5;则下面表达式中值为 0 的是__B____。

A.x&&y

B.! (x<y&&!z||1)

C.x||y+z&&y-z

D.x<=y

21 .已定义c为字符型变量,则下列语句中正确的是____C__。

A.c=''97'';

B.c='97';

C.c=97;

D.c="a";

22 .一个字长的二进制位数是_D__。

A.8 B.16 C.32 D.随机计算机系统而不同的

23 . C语言中规定函数的返回值的类型是由( D)。A.return语句中的表达式类型所决定

B.调用该函数时系统临时决定

C.调用该函数时的主调用函数类型所决定

D.在定义该函数时所指定的函数类型所决定

24 . C语言程序中,下列( C)组标识符是合法。

A.abc、2id、while

B.4d、DO、oodb

C.str_1、print、aBc

D.WORD、oodb、I\amm

25 .下面正确的函数定义形式是__C____。

A.double fun(int x,int y)

B.double fun(int x;int y)

C.double fun(int x,int y);

D.double fun(int x,y);

26 .下列______A______数据类型属于构造类型。

A.数组类型

B.指针类型

C.整型

D.字符型

27 . C语言对嵌套if语句的规定是:else总是和__D___配对。A.其之前最近的if B.第一个if

C.缩进位置相同的if D.其前面最近且尚未配对的if

28 .二进制语言是属于面向___A__的语言。

A.机器B.过程C.问题D.对象

29 .设 int a=12,则执行完语句 a+=a-=a*a后,a的值是_D___。

A.552 B.264 C.144 D.-264

30 .int a=3,b=2;printf(“%d,%d\n”,--a,b++);输出结果是(A )。

A.2,2 B.2,3 C.3,2 D.3,3

判断题(共5题,每题 2分)

1 .只能在循环体内和switch语句体内使用break语句。(对)

2 .一个算法应该具备有穷性、确定性、输入、输出和有效性。(对)

3 . C语言中,每个程序都必须要有一个且只有一个main函数。(对)

4 .调用函数时,实参是一个数组名,则向函数传递的是数组的首地址。(对)

5 .表达式16/8*sqrt(4.0)/2值的数据类型为double双精度实型。(对)

第二套试题

单选题(共20题,每题4分)

1 .若有输入语句scanf( %d%d%d,&x,&y,&z);则不能使x值为5,y值为6,z 值为7的输入是___A___。

A.5,6 ,7 B.5回车换行 6 7

C.5 6 7 D.5,6,7

2 .设 int a=12,则执行完语句 a+=a-=a*a后,a的值是__D__。

A.552 B.264 C.144 D.-264

3 .若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值___D____。

A.3 B.-3 C.-6 D.-12

4 .一个字长的二进制位数是_D__。

A.8 B.16 C.32 D.随机计算机系统而不同的

5 .以下叙述中错误的是__D____。

A.C程序中的 #include和 #define行均不是C语句

B.除逗号运算符外,赋值运算符的优先级最低

C.C程序中,j++;是赋值语句

D.C程序中,+、-、*、/、%号是算术运算符,可用于整型和实型数的运算

6 .与十进制数87相等的十六进制数是(C )。

A.3F

B.214

C.57

D.127

7 .下面说法错误的是__B____。

A.整型变量可以存放字符型数据

B.字符型变量可以存放任意整型常量的值

C.变量必须限定以后使用

D.字符串的长度不等于它占的字节数

8 .设x和y均为int 型变量,则以下语句:x+=y;y=x-y;x-=y;的功能是_D___。A.把x和y按从大到小排列

B.把x和y按从小到大排列

C.无确定结果

D.交换x和y中的值

9 .已定义c为字符型变量,则下列语句中正确的是___C___。

A.c=''97'';

B.c='97';

C.c=97;

D.c="a";

10 .以下选项中属于C语言的数据类型的__C___。

A.复数型

B.逻辑型

C.双精度型

D.集合型

11 .设有语句char a=’\72’;则变量a_A___。

A.包含1个字符

B.包含2个字符

C.包含3个字符

D.说明不合法

12 .以下说法不正确的是__D___。

A.在C程序中,逗号运算符的优先级最低

B.在C程序中,aph和aPh是两个不同的变量

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

D.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数

13 . C语言程序的基本单位是_C______。

A.程序行

B.语句

C.函数

D.字符

14 . C语言程序中,下列(C )组符合变量命名规则。

A.for、-sub、xy

B.4x、float、size

C.stu_2、if3、s

D.stu-2、int、d

15 .下列__C____属于C语言中字符常量。

A.abc'

B.”\n”

C.'a'

D.'a\0'

16 .不属于低级语言的是__D_____。

A.符号语言

B.二进制语言

C.汇编语言

D.C语言

17 . C语言程序中,下列__C____组用户标识符是合法。A.For、-sub、Case

B.4d、DO、Size

C.f2_G3、IF、abc

D.WORD、void、define

18 .以下不正确的C语言标识符是( C)。

A.AB1

B._ab3

C.4ab

D.a2_b

19 .以下叙述中错误的是__A___。

A.用户所定义的标识符允许使用关键字

B.用户所定义的标识符应尽量做到“见名知意

C.用户所定义的标识符必须以字母或下划线开头

D.用户定义的标识符中,大、小写字母代表不同标识

20 . C语言程序中,下列( C)组标识符是合法。

A.abc、2id、while

B.4d、DO、oodb

C.str_1、print、aBc

D.WORD、oodb、I\amm

判断题(共10题,每题 2分)

1 .在if-else语句中,配对规则是else总是与最近的未配对的if配对。参考答案:对

2 .表达式16/8*sqrt(4.0)/2值的数据类型为double双精度实型。

参考答案:对

答案解析:暂无

3 . C语言中,每个程序都必须要有一个且只有一个main函数。

参考答案:对

4 . c语言中,每个函数都必须要有一个且只有一个main函数。

参考答案:错

答案解析:暂无

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

参考答案:对

答案解析:暂无

6 .表达式a=a+b可以写成a+=b。

参考答案:对

答案解析:暂无

7 .在C语言中,变量不区分大小写。

参考答案:错

8 . C程序一般由一个或者多个函数组成,它们可以集中放在一个文件中,也

可分散放在几个文件中。

参考答案:对

答案解析:暂无

9 . x的绝对值大于5的条件表达式是x-5。

参考答案:错

答案解析:暂无

10 .假定x和y为double型,则表达式x=2,y=x+3/2的值是3。

参考答案:错

答案解析:因为x和y是double型,x被赋值2时应该是2.0,3/2两个整数相除结果仍为整数1,然后运算x+3/2=2.0+1两个数据类型不一致,进行类型转换都转为double型,运算结果为3.0,所以判断此句为错

第二次作业

单选题(共20题,每题4分)

1 .有以下程序段执行后,b的值是_____。int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b;b=p[4];

A.5

B.6

C.8

D.9

•B.

a[a[2]+1]

•C.

a[a[2]]

a[3]+1

•C.str1=str2;

•D.strcpy(str2,str1);•

A.a[2] B.a[a[2]+1] C.a[a[2]] D.a[2]+1

•D.有语法错误

•B.函数形参的数据类型

•C.调用该函数时的实参的数据类型

•D.任意指定的数据类型

•B.k=fun(10,12.5);

•C.fun(x,n)

•D.void fun(n,x);

•B.说明函数时必须明确其参数类型和返回类型

•C.函数可以返回一个值,也可以什么值也不返回

•D.空函数不完成任何操作,所以在程序设计中没有用处•

•B.15

•C.16

•D.20

•B.10,2

•C.9,1

•D.10,1

•B.可以对字符型数组进行整体输入、输出

•C.可以对整型数组进行整体输入、输出

•D.不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值•

二、判断题(共10题,每题2分)

1 .调用函数时,实参是一个数组名,则向函数传递的是数组的首地址。

第三阶段作业--客观题

单选题(共20题,每题4分)

1 .下列叙述中错误的是______。

•A.主函数中定义的变量在整个程序中都是有效的•B.在其它函数中定义的变量在主函数中也不能使用•C.形式参数也是局部变量

•D.复合语句中定义的变量只在该复合语句中有效•

2 .下列关于#include命令的叙述中,错误的是()。

•A.一个#include命令中只能指定一个被包含文件

•B.一个#include命令中可以指定多个被包含文件

•C.一个被包含文件中又可以包含另一个被包含文件

•D.#include命令中,文件名可以用双引号或尖括号括起来

3 .要打开一个已存在的非空文件"file"用于修改,选择正确的语句____。

•A.fp=fopen("file", "r");

•B.fp=fopen("file", "a+");

•C.fp=fopen("file", "w");

•D.fp=fopen("file", "r+");

4 .若有以下定义和语句:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则不能表示a数组元素的表达式是____。•A.*p

•B.a[10]

•C.*a

•D.a[p-a]

5 .已知:int **p;,则变量p是( )。

•A.指向int的指针

•B.指向指针的指针

•C.int型变量

•D.以上三种说法均是错误的

6 .设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为_____。•A.EOF

•B.非0值

•C.0

•D.1

7 .已知:int a[]={1,2,3,4,5,6,7,8,9,10,11,12},*p=a+2 ;则值为3 的表达式是______。

•A.*(p++)

•B.*p++

•C.*++p

•D.++*p

8 .若要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要求的函数调用

是_____。

•A.fopen("A:\user\abc.txt","r")

•B.fopen("A:\\user\\abc.txt","r+")

•C.fopen("A:\user\abc.txt","rb")

•D.fopen("A:\\user\\abc.txt","w")

9 .有如下说明int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为9的表达式是_____。

•A.*p+9

•B.*(p+8)

•C.*P+=9

•D.P+8

10 .在一个C源程序文件中,•若要定义一个只允许在该源文件中所有函数使用的变量,则该变量需要使

用的存储类别是______。

•A.extern

•B.register

•C.auto

•D.static

11 .当调用函数时,实参是一个数组名,则向函数传递的是_____。

•A.数组的长度

•B.数组的首地址

•C.数组每一个元素的地址

•D.数组每个元素中的值

12 .在C语言中,形参的缺省存储类型是______。

•A.auto

•B.register

•C.static

•D.extern

13 .在c语言中,函数中定义的参数的隐含存储类别是____。

•A.auto

•B.static

•C.extern

•D.无存储类别

14 .要为读/写操作打开一个字符文件,其正确的打开方式为____。•A.wr

•B.r+

•C.rb+

•D.rw

15 .若有定义:#define f(x) (x*x),则执行int y; y=f(4)/f(2+2);后y=_____。•A.2

•B.4

•C.8

•D.16

16 .以下叙述中正确的是_____。

•A.全局变量的作用域一定比局部变量的作用域范围大

•B.静态(static)类别变量的生存期贯穿于整个程序的运行期间•C.函数的形参都属于全局变量

•D.未在定义语句中赋初值的auto变量和static变量的初值都是随机值

17 .fwirte函数的一般调用形式是_____。

•A.fwrite(buffer,count,size,fp);

•B.fwrite(fp,size,count,buffer);

•C.fwrite(fp,count,size,buffer);

•D.fwrite(buffer,size,count,fp);

18 .如果一个变量在整个程序运行期间都存在,但是仅在说明它的函数内是可见的,这个变量的存储类

型应该被说明为_______。

•A.静态变量

•B.动态变量

•C.外部变量

•D.内部变量

19 .有以下程序,执行后输出得结果是_____。mian( ){ char *p[10]={“abc”, “aabdfg”, “dcdbe”, “abbd”,

“cd” }; printf(“%d\n”,strlen(p[3]));}

•A.2

•B.3

•C.4

•D.5

20 .有以下语句,下面描述中正确的是_____。typedef struct S { int g; char h;} T;

•A.可用S定义结构体变量

•B.可用T定义结构体变量

•C.S是struct类型的变量

•D.T是struct S类型的变量

判断题(共5题,每题4分)

1 .在定义结构体变量时可以嵌套定义的。

2 .free函数只能释放malloc()函数分配的存储空间。

C语言程序设计基础试题及答案

第一部分C语言基础 一、选择题 1.以下正确的C语言标识符是 A.%X B.a+b C.a123 D.test 2.已定义int a,b;则以下不正确的C语句是 A.a=5; B.b/=2; C.a+=1.75; D.b&&=a; 3.若x、i、j和k都是整型变量,则执行下面表达式后x的值为 x=i=4,j=16,k=32 A.4 B.16 C.32 D.52 4.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符 A.必须是字母B.必须为下划线 C.必须为字母或下划线D.可以是字母、数字、下划线中的任一字符 5.下面正确的字符常量是 A.“c” B.’\\”C.‘w’D.” 6.设int a=2,b=0,c;则执行语句c+=b&&a--后, c的结果为 ; A.0,1 B.1,0 C.2,0 D.不确定 7. 以下不正确的C语言标识符是 A int B a_1_2 C ab1exe D _x 8.以下是正确的C语言标识符是 ; A define B _123 C %d D \n 9.下列四组字符串中都可以用作C语言程序标识符的一组是 ; A print B i\am C Pxq D str_l

_3d one_half My->book Cpp ••• oodbs tart$it line pow 10.下面各选项组中,均是C语言关键字的组是 ; A auto,enum,include B switch,typedef,continue C signed,union,scanf D if,struct,type 11.下列不属于C语言关键字的是 ; A default B register C enum D external 12.C语言程序从main函数开始执行,所以这个函数要写在 ; A 程序文件的开始 B 程序文件的最后 C 它所调用的函数的前面 D 程序文件的任何位置 13.下列关于C语言的叙述错误的是 A 大写字母和小写字母的意义相同 B 不同类型的变量可以在一个表达式中 C 在赋值表达式中等号=左边的变量和右边的值可以是不同类型 D 同一个运算符号在不同的场合可以有不同的含义 14.在C语言中,错误的int类型的常数是 ; A 32768 B 0 C 037 D 0xAF 15.将字符g赋给字符变量c,正确的表达式是 ; A c=\147

大学_C语言程序设计试题及参考答案

C语言程序设计试题及参考答案 C语言程序设计试题及答案(一) 1. 若有定义"float x=1.5;int a=1,b=3,c=2;",则正确的switch语句是() (2分) A.switch(x) { case 1.0: printf("__ "); case 2.0 printf("____ "); } B.switch((int)x) { case 1.0: printf("__ "); case 2.0 printf("____ "); } C.switch(a+b) { case 1: printf("__ "); case 2+1: printf("____ ");

} D.switch(a+b) { case 1: printf("__ ") case c: printf("____ "); } 标准答案:C 2. 若有宏定义如下: #define X 5 #define Y X+1 #define Z Y__X/2 则执行以下printf语句后,输出的结果是( ) int a; a=Y; printf("%d ",Z); printf("%d",--a); (2分) A.7,6 B.12,6 C.12,5 D.7,5 标准答案:D 3. 下面的.符号常量定义中,正确的是 ( ) (2分) A.#define PI 3.14; B.#include PI 3.14;

C.#define PI=3.14 D.#define PI 3.14 标准答案:D 4. 以下程序的输出结果是( ) int a, b; void fun() { a=100; b=200; } main() { int a=5, b=7; fun(); printf("%d%d ", a,b); } (2分) A.100200 B.57 C.00 D.75 标准答案:D 5. 若有以下调用语句,则不正确的fun函数的首部是( ) main() { … int a[50],n; … fun(n, a[9]);

C语言程序设计期末复习题及参考答案

C语言程序设计期末复习题及参考答案 1. 若变量a的值为10,b的值为20,则表达式a++ + ++b的结果是多少? 答案:32 解析:在表达式a++ + ++b中,a++表示先使用变量a的值,然后再对a的值进行自增操作;++b表示先对变量b的值进行自增操作,然后再使用变量b的值。因此,a++ + ++b相当于10 + 21,结果为32。 2. 字符串连接函数strcat()的原型和功能是什么? 答案:strcat()函数的原型为char *strcat(char *str1, const char *str2),其功能是将字符串str2追加到字符串str1的末尾,并返回拼接后的字符串起始地址。 3. 请简述switch语句的用法及其与if语句的异同点。 答案:switch语句用于根据不同的情况执行不同的代码分支。其语法结构为: ```c switch (表达式) { case 值1: 代码块1;

break; case 值2: 代码块2; break; ... default: 默认代码块; break; } ``` switch语句与if语句的异同点如下: - 相同点:都用于根据条件执行不同的代码分支; - 不同点: 1)switch语句的条件表达式只能是整型或字符型,而if语句的条件表达式可以是任意的关系表达式; 2)switch语句针对的是多个离散的取值,if语句则根据条件的真假执行对应的代码; 3)switch语句执行完一个匹配的分支后会跳出整个switch语句,而if语句在执行条件为真的分支后会继续执行后续的代码。

4. 请写出一个函数,实现将字符串中的大写字母转换为小写字母的功能。 答案:示例代码如下: ```c void convertToLower(char *str) { int i; for (i = 0; str[i] != '\0'; i++) { if (str[i] >= 'A' && str[i] <= 'Z') { str[i] += 'a' - 'A'; } } } // 使用示例: int main() { char str[] = "Hello World";

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

第1次客观题作业 一、单选题(共30题,每题3分) 1 .下面表示正确的是__A___。 A.C语言中的逗号是一种运算符 B.在C语言中,一行只能有一个语句 C.C中的变量不区分大小写 D.c中的关键字可以做为变量名 2 .字符型常量在内存中存放的是__A____代码值。 A.ASCII B.二进制 C.十进制D.八进制 3 .以下不正确的C语言标识符是(C )。 A.AB1 B._ab3 C.4ab D.a2_b 4 .以下运算符中优先级最低的运算符是_D____。 A.&& B.& C.|| D.= 5 .在C语言中,要求运算数必须是整型的运算符是___A___。A.% B./ C.< D.! 6 . C语言程序的基本单位是__C_____。 A.程序行B.语句C.函数D.字符 7 .将高级语言编写的程序翻译成目标程序的是___B____程序。A.解释程序B.编译程序C.汇编程序D.源程序8 .以下选项中,与k=n++完全等价的表达式是__A___。 A.k=n,n=n+1 B.n=n+1,k=n C.k=++n D.k+=n+1 9 .下列(A )不属于结构化程序设计的循环结构。 A.For B.While C.if-else D.do-while

10 .以下叙述中错误的是__A___。 A.用户所定义的标识符允许使用关键字 B.用户所定义的标识符应尽量做到“见名知意 C.用户所定义的标识符必须以字母或下划线开头 D.用户定义的标识符中,大、小写字母代表不同标识 11 .若有输入语句scanf( %d%d%d,&x,&y,&z);则不能使x值为5,y值为6,z值为7的输入是__A____。 A.5,6 ,7 B.5回车换行 6 7 C.5 6 7 D.5,6,7 12 .若i,j已定义为int类型,则下程序段中内循环体的总的执行次数是( B )。 for (i=3;i>0;i--) for (j=0;j<=4;j++){...} A.12 B.15 C.16 D.20 13 .下列选项中,合法的C语言关键字是_D___。 A.VAR B.Cher C.Integer D.default 14 .C语言中___A____。 A.能使用do-while语句构成的循环 B.do-while语句构成的循环必须用break语句才能退出 C.do-while语句构成的循环,当while语句中的表达式为非零时结束循环D.do-while语句构成的循环,当while语句中的表达式值小于零时结束循环15 .以下__D_____不是高级语言。 A.Basic语言 B.C语言 C.JAVA语言 D.汇编语言 16 .已知int x=2,y=3;则计算表达式y+=x-=x*=y后,x和y分别为(B )。 A.6,5 B.0,3 C.0,5 D.-4,2

C语言程序设计试题及答案

C语言程序设计试题及答案 在计算机科学与技术领域中,C语言是一种非常重要的编程语言。 作为一门高级编程语言,C语言广泛应用于操作系统、嵌入式系统、 图形界面开发等领域。为了帮助广大学习者更好地掌握C语言的相关 知识,以下是一些C语言程序设计的试题及其答案。 一、基础知识题 1. C语言中的关键字有哪些?请列举至少5个。 答案: 在C语言中,关键字是具有特殊含义的保留字,不可以被用作变量 名或函数名等标识符。常见的C语言关键字有:int、float、char、if、while等。 2. 请解释一下C语言中的指针是什么?如何声明一个指针变量? 答案: 指针是一种特殊的变量,它存储了一个变量的内存地址。通过指针,我们可以直接访问或修改所指向的变量的值。在C语言中,可以通过 使用"*"来声明一个指针变量。例如,声明一个指向整数类型的指针变 量可以使用以下代码: ```c int *ptr; ```

3. 请编写一个C语言函数,实现两个整数的交换。 答案: ```c void swap(int *a, int *b) { int temp = *a; *a = *b; *b = temp; } ``` 二、语法题 1. 请编写一个C语言程序,计算并输出1到100之间所有整数的和。答案: ```c #include int main() { int sum = 0; for (int i = 1; i <= 100; i++) { sum += i; }

printf("1到100之间所有整数的和为:%d\n", sum); return 0; } ``` 2. 请编写一个C语言函数,判断一个整数是否为素数(质数)。答案: ```c #include int isPrime(int n) { if (n <= 1) { return 0; } for (int i = 2; i * i <= n; i++) { if (n % i == 0) { return 0; } } return 1; }

《C语言》程序设计题库及答案

《C语言》程序设计题及答案1.【程序设计】 -------------------------------------------------- 功能:对长度为7个字符的字符串,除首、尾字符外,将其余5个字符按降序排列。 例如:原来的字符串为CEAedca,排序后输出为CedcEAa。 ------------------------------------------------*/{ /**********Begin**********/ int i,j; char t; for(i=1;i

for(i=3;i<=n;i=i+3) {t=1; for(j=1;j<=i;j++) t=t*j; s=s+t;} return(s); /********** End **********/ 3./*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:判断一个整数w的各位数字平方之和能否被5整除,可以被5整除则返回1,否则返回0。 ------------------------------------------------*/ /**********Begin**********/ int k,s=0; do {s=s+(w%10)*(w%10); w=w/10; }while(w!=0); if(s%5==0)k=1; else k=0; return(k);

C语言程序设计考试试题(附答案)

C语言程序设计考试试题(附答案) C语言程序设计考试试题(附答案) 一、选择题(共30题,每题2分,共60分) 1. 下列哪个是C语言关键字? A. print B. variable C. while D. calculate 答案:C 2. 在C语言中,下列哪个是合法的变量名? A. 1_hello B. _world C. v-ariable D. continue 答案:B 3. 下列哪个是正确的C语言注释方式? A. // This is a comment B. # This is a comment

C. /* This is a comment */ D. 答案:C 4. 下列哪个是正确的C语言函数定义格式? A. void addNumbers() B. addNumbers() C. function addNumbers() D. int addNumbers() 答案:D 5. 执行下面的C语言代码,输出的结果是什么?```c #include int main() { int x = 5; int y = 2; float result = x / y; printf("%f", result); return 0;

} ``` A. 2.5 B. 2 C. 2.000000 D. 5 答案:B 6. 在C语言中,下列哪个是正确的if语句格式? A. if (x > 4) then B. if (x > 4) { } C. if x > 4 D. if (x > 4) 答案:D 7. 下列哪个是C语言中的逻辑运算符? A. ++ B. && C. % D. = 答案:B

C语言程序设计试题附答案3篇

C语言程序设计试题附答案3篇 C语言程序设计试题附答案1 1. 用C语言编写的代码程序( B ) A)可立即执行 B)是一个源程序 C)经过编译即可执行 D)经过编译解释才能执行 2. C语言中用于结构化程序设计的三种基本结构是( A ) A)顺序结构、选择结构、循环结构 B)if、switch、break C)for、while、do-while D)if、for、continue 3. 以下定义语句中正确的是( C ) A)char a='A'b='B'; B float a=b=10.0;C)int a=10,b= D)float a,b= 4.下列选项中,不能用作标识符的是( D ) A)_1234_ B)_1_2 C) int_2_ D)2_int_ 5.在函数调用过程中,如果函数funA调用了函数 funB,函数funB又调用了函数funA,则 ( B ) A)称为函数的直接递归调用 B)称为函数的间接递归调用 C)称为函数的循环调用 D)C语言中不允许这样的递归调用 6.以下叙述中正确的是 ( A ) A)局部变量说明为static存储类,其生存期将得到延长 B)全局变量说明为static存储类,其作用域将被扩大 C)任何存储类的变量在未赋初值时,其值都是不确定的

D)形参可以使用的存储类说明符与局部变量完全相同 7.若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是( B) A)for(i=1,p=1;i=0_______;i--) {if(____i%17==0____④________) break;} printf("%d\n",__⑤_i____); } 3.以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和。 main() { int i,a[20],sum,count; sum=count=0; for(i=0;i0) ?? { count++; ?? sum+= _a[i]__③___ ; ?? } ? } printf("sum=%d,count=%d\n",__sum④___,__⑤__count___); } 4.以下程序的功能是调用函数fun计算:m=1+2+3+4+…+9+10,并输出结果。请填空。 int fun( int n)

C语言编程题及答案

) (*)(*)(*c s b s a s s ---C 语言编程题 1.(*)求分数序列:1/2,2/3,3/5,5/8,8/13,13/21...... 前20项的和。 main() {float i=1,j=2,t=0,s,n,m; for(n=1;n<=20;n++) s=i/j,m=i,i=j,j=m+j,t=t+s; printf("t=%f",t); } 2.(*)从键盘输入一个字符串,再将其逆序输出。(如:输入abcde ,输出edcba ) main() {int i; char c[10]; scanf("%s",c); for(i=9;i>=0;i--) printf("%c",c[i]); } 3.(*)已知abc+cba=1333,其中a 、b 、c 均为一位数,例如:617+716=1333, 518+815=1333, 试编程求出符合这一规律的a 、b 、c ,并输出结果。 main() {int a,b,c,x,y; for(a=1;a<=9;a++) for(b=0;b<=9;b++) for(c=1;c<=9;c++) { x=100*a+10*b+c; y=100*c+10*b+a; if(x+y==1333) printf("x=%d,y=%d",x,y);} } 4.(*)利用海伦公式求三角形面积,三边长a,b,c 由键盘输入。若输入的三边长不能构成 三角形,输出相应提示信息。海伦公式如下:其中s=(a+b+c)/2 三角形面积= #include"math.h" main() { float a,b,c,s,area; scanf("%f,%f,%f",&a,&b,&c); s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c)); if(a+b>c&&a+c>b&&b+c>a) printf("area=%f",area);

C语言程序设计试题及答案解析

C语言程序设计试题 第1、2、3章概述、类型、表达式 一、选择题 一个C程序由若干个C函数组成,各个函数在文件中的位置顺序为:() A、任意 B、第一个函数必须是主函数,其他函数任意 C、必须完全按照执行的顺序排列 D、其他函数可以任意,,主函数必须在最后 答案:A 下列四个叙述中,正确的是:() A、 C程序中的所有字母都必须小写 B、 C程序中的关键字必须小写,其他标示符不区分大小写 C、 C程序中的所有字母都不区分大小写 D、C语言中的所有关键字必须小写 答案:D 下列四个叙述中,错误的是:() A、一个C源程序必须有且只能有一个主函数 B、一个C源程序可以有多个函数 C、在C源程序中注释说明必须位于语句之后 D、 C源程序的基本结构是函数 答案:C 下面不是C语言合法标识符的是:() A、abc B、5n C、_4m D、x3 答案:B 以下叙述不正确的是:() A.分号是C语句的必要组成部分 B.C程序的注释可以写在语句的后面 C.函数是C程序的基本单位 D.主函数的名字不一定非用main来表示答案:D C语言中允许的基本数据类型包括:() A. 整型、实型、逻辑型 B. 整型、实型、字符型 C. 整型、字符型、逻辑型 D. 整型、实型、逻辑型、字符型 答案:B C语言中能用八进制表示的数据类型为:() A、字符型、整型 B、整形、实型 C、字符型、实型、双精度型 D、字符型、整型、实型、双精度型 答案:A 下列属于C语言合法的字符常数是:() A、’\97’ B、”A” C、’\t’ D、”\0” 答案:C 在C语言(VC环境)中,5种基本数据类型的存储空间长度的排列顺序为:() A、char

C语言程序设计_习题大全(含答案)

C语言程序设计_习题大全(含答案) C语言程序设计_习题大全(含答案) C语言程序设计是计算机科学与技术领域中非常重要的一门课程,对于学习和掌握程序设计的基本原理和方法具有重要意义。在学习这门课程过程中,习题的练习和掌握是至关重要的一环。本文将向大家介绍一份包含答案的C语言程序设计习题大全,帮助读者拓宽思路,加深对C语言程序设计的理解。 第一章:基础知识练习 习题1:请编写一个C程序,输出"Hello, World!"。 答案: ```c #include int main() { printf("Hello, World!\n"); return 0; } ``` 习题2:请编写一个C程序,将两个整数相加并输出结果。 答案:

```c #include int main() { int num1, num2, sum; printf("请输入两个整数:"); scanf("%d %d", &num1, &num2); sum = num1 + num2; printf("%d + %d = %d\n", num1, num2, sum); return 0; } ``` 第二章:条件语句练习 习题3:请编写一个C程序,判断某年份是否为闰年。答案: ```c #include int main() { int year; printf("请输入年份:");

scanf("%d", &year); if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) { printf("%d年是闰年\n", year); } else { printf("%d年不是闰年\n", year); } return 0; } ``` 习题4:请编写一个C程序,判断用户输入的整数是否为正数、负数或者零。 答案: ```c #include int main() { int num; printf("请输入一个整数:"); scanf("%d", &num); if (num > 0) {

C语言程序设计试题及答案完整版

C语言复习资料5元 必须清楚的: 1)程序结构是三种: 顺序结构, 循环结构(三个循环结构), 选择结构(if 和switch) 2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择)。 3)计算机的数据在电脑中保存是以二进制的形式. 数据存放的位置就是他的地址. 4)bit是位是指为0 或者1。byte 是指字节, 一个字节= 八个位. 5)一定要记住二进制如何划成十进制。 概念常考到的: 1、编译预处理不是C语言的一部分,不再运行时间。C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。 2、每个C语言程序中main函数是有且只有一个。 3、在函数中不可以再定义函数。 4、算法的是一定要有输出的,他可以没有输入。 5、break可用于循环结构和switch语句。 6、逗号运算符的级别最低。 第一章 1)合法的用户标识符考查: 合法的要求是由字母,数字,下划线组成。有其它元素就错了。 并且第一个必须为字母或则是下划线。第一个为数字就错了。 关键字不可以作为用户标识符号。main define scanf printf 都不是关键字。迷惑你的地方If是可以做为用户标识符。因为If中的第一个字母大写了,所以不是关键字。 2)实型数据的合法形式: 2.333e-1 就是合法的,且数据是2.333×10-1。 考试口诀:e前e后必有数,e后必为整数。. 3)字符数据的合法形式:: '1' 是字符占一个字节,"1"是字符串占两个字节(含有一个结束符号)。 '0' 的ASCII数值表示为48,'a' 的ASCII数值是97,'A'的ASCII数值是65。 4)整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节: 考试时候一般会说,在16位编译系统,或者是32位系统。碰到这种情况,不要去管,一样做题。掌握整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节就可以了。 5)转义字符的考查: 在程序中int a = 0x6d,是把一个十六进制的数给变量a 注意这里的0x必须存在。 在程序中int a = 06d, 是一个八进制的形式。 在转义字符中,’\x6d’ 才是合法的,0不能写,并且x是小写。 ‘\141’ 是合法的,0是不能写的。 ‘\108’是非法的,因为不可以出现8。 6)算术运算符号的优先级别: 同级别的有的是从左到右,有的是从右到左。 7)强制类型转换: 一定是(int)a 不是 int(a),注意类型上一定有括号的。 注意(int)(a+b)和(int)a+b 的区别。前是把a+b转型,后是把a转型再加b。 8)表达式的考查:

c语言程序设计课后习题及答案

c语言程序设计课后习题及答案 C语言程序设计是计算机科学与技术专业的一门基础课程,通过学习该课程,我们可以掌握C语言的基本语法和编程技巧,培养我们的编程思维和解决问题的能力。在课程学习过程中,老师会布置一些课后习题,以巩固我们的知识和提高我们的编程水平。下面我将分享一些C语言程序设计课后习题及其答案,希望对大家有所帮助。 1. 习题一:编写一个程序,输入一个整数,判断该数是否为素数。 ```c #include int main() { int num, i, flag = 0; printf("请输入一个整数:"); scanf("%d", &num); for (i = 2; i <= num / 2; i++) { if (num % i == 0) { flag = 1; break; } }

if (flag == 0) printf("%d是素数。\n", num); else printf("%d不是素数。\n", num); return 0; } ``` 2. 习题二:编写一个程序,输入一个正整数n,计算并输出1到n之间所有偶数的和。 ```c #include int main() { int n, i, sum = 0; printf("请输入一个正整数:"); scanf("%d", &n); for (i = 2; i <= n; i += 2) { sum += i; }

printf("1到%d之间所有偶数的和为:%d\n", n, sum); return 0; } ``` 3. 习题三:编写一个程序,输入一个正整数n,计算并输出n的阶乘。```c #include int main() { int n, i; long long factorial = 1; printf("请输入一个正整数:"); scanf("%d", &n); for (i = 1; i <= n; i++) { factorial *= i; } printf("%d的阶乘为:%lld\n", n, factorial); return 0;

C语言程序设计试题及参考答案

C语言程序设计 一、选择题(共40分,每小题2分) 1、以下叙述不正确的是(D) A、一个C源程序可由一个或多个函数组成 B、一个C源程序必须包含一个main函数 C、C程序的基本组成单位是函数 D在C程序中,注释说明只能位于一条语句的后面 2、下列四个选项中,是不合法的用户标识符的选项是(B) A、abc B、12ACC sunD A 3、设有语句inta=4 ;则执行了语句a+=a-=a*a后,变量a的值是(A) A -24B、OC 4D 16 4、下列运算符中优先级最高的是(B) A、<B +C &&D == 5、在C语言中,运算对象必须是整型数的运算符是(A) A、% B、/ C、%和/ D + &以下关于运算符的优先顺序的描述正确的是(C) A、关系运算符<算术运算符<赋值运算符<逻辑与运算符 B逻辑与运算符<关系运算符<算术运算符<赋值运算符 C、赋值运算符V逻辑与运算符<关系运算符<算术运算符 D算术运算符<关系运算符<赋值运算符<逻辑与运算符 7、在C语言中,如果下面的变量都是int类型,则输出的结果是(C) sum=pad=5 pAd=sum++ pAd++, ++pAc;printf(“%d\n ”,pad); A 7 B 6C、5D 4 8、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是(B) A INPUTx、y、z; B、scanf(“%d%d%d ”,&x,&y,&z); C scanf(“%d%d%d, x,y,z); D read(“ %d%d%d, &x,&y,&z); 9、假定从键盘输入23456<回车>,下面程序的输出结果是:(C) voidmai n() {intm ,n; scanf(“ %2d%3”,&m &n); printf(“ m=%dn=%d\n,m, n); } A m=23n=45 B m=234n=56 C m=23n=456 D 语句有错误 10、若运行时,给变量x输入12,则以下程序的运行结果是(A) mai n() {intx ,y; scanf(“ %d ,&x);

C语言程序设计_习题大全(含答案)

C语言基础一: 1.下列四组选项中,均不是C语言关健字的选项是( A )。 A) define B) gect C) include D) while IF char scanf go type printf case pow 2.下面四个选项中,均是合法整型常量的选项是( A )。 A)160 B)-0xcdf C) -01 D)-0x48a -0xffff 01a 986,012 2e5 011 0xe 0668 0x <<02>>B>>2 3.下面四个选项中,均是不合法的转义符的选项是( B )。 A) '\"' B) '\1011' C) '\011' D) '\abc' '\\' '\' '\f' '\101' 'xf' '\A' '\}' 'x1f' 4.下面不正确的字符串常量是( A )。 A)'abc' B)"12'12" C)"0" D)" " 5.以下选项中不合法的用户标识符是( A )。 A)abc.c B)file C)Main D)PRINT 6.C语言提供的合法关键字是( D )。 A) swith B) cher C) Case ). Default 7.下列标识符组中,合法的用户标识符为 A A)_0123与ssiped B)del-word与signed C)list与*jer D) keep%与wind 8.在C语言中,逻辑值"真"的表示是用( C )。 A) true B) 整型值0 C)非另整型值 D) T 9若有以下定义 char s='\092'; 则该语句( B ) A)使s的值包含一个字符 B)定义不合法,s的值不确定 C)使s的值包含4个字符 D)使s的值包含3个字符 10设C语言中,int类型数据占2个字节,则float类型数据占( D )个字节。 A)1 B)2 C)8 D)4 11已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'+'6'-'3'后,c2中的值为( A )。 A)D B)68 C)不确定的值 D)C 12逻辑运算符两侧运算对象的数据类型是 ( D )。 A) 只是0或1 B) 只能是0或非0正数 C) 只能是整型或字符型数据 D) 可以是任何合法的类型数据 13TURBO C中int类型变量所占字节数是( B )。

C语言程序设计(选择题专项练习)及答案

C语言程序设计(选择题专项练习)及答案 一、理论基础(每小题1 分,共 20分) 1、设x,y,z,s均为int型变量,且初值均为1,则执行语句s=++x||++y&&++z后,则s的值为: A、不定值 B、2 C、1 D、0 2、下列选项不符合良好程序设计风格的是________。 A、源程序要文档化 B、数据说明的次序要规范化 C、避免滥用goto语句 D、模块设计原则是高耦合、高内聚 3、变量的指针,其含义是指该变量的________。 A、值 B、地址 C、名 D、一个标志 4、若变量a、i已正确定义,且i已正确赋值合法的语句是________。 A、a==1 B、++i C、a=a++=5 D、a=int(i) 5、以下关于注释的叙述中错误的是________。 A、注释的边界符号“/”和“*”之间不允许加入空格 B、C 语言允许注释出现在程序中任意合适的地方 C、注释的内容仅用于阅读,对程序的运行不起作用 D、注释的边界符号“/*”和“*/”必须成对出现且可以嵌套 6、c 语言共用体类型变量在程序运行期间。 A、所有成员一直驻留在内存中 B、只有一个成员驻留在内存中 C、部分成员驻留在在内存中 D、没有成员驻留在内存中 7、在c语言中,能代表逻辑值"真"的是________。 A、True B、大于0的数

C、非0整数 D、非0的数 8、以下选项中属于c语言的数据类型是________。 A、复合型 B、双精度型 C、逻辑型 D、集合型 9、下列关于八进制与十六进制的描述中,错误的是________。 A、八进制是一种逢八进一的机制 B、八进制由0-8这此符号来描述 C、十六进制是一种逢十六进一的机制 D、十六进制由0-9、A-F这些符号来描述 10、以下叙述中不正确的是________。 A、预处理命令行都必须以#号开始 B、在程序中凡是以#号开始的语句行都是预处理命令行 C、C程序在执行过程中对预处理命令行进行处理 D、以下是正确的宏定义#define IBM_PC 11、下列错误的是________。 A、char s[]="China"; B、char s[10]={"China"}; C、char s[10];s="China"; D、char s[10]={'c','h','i','n','a'}; 12、以下合法的赋值语句是______。 A、X=Y=100 B、D-; C、X+Y; D、C=int(A+B) 13、若变量已正确定义为float型,要通过输入语句:scanf("%f%f% f",&a,&b,&c);给a赋值11.0,b赋值22.0,e赋值33.0,不正确的输入形式是________。 A、11 22 33 B、11.0,22.0,33.0 C、11.0 22.0 33.0 D、1122 14、下列四组常数中,均是合法整型常量的一组是________。 A、160 0xffff 011 B、-0xcdf 01a 0xe C、-01 986,012 0668 D、-0x48a 2e5 0x

C语言上机程序设计题库及答案

C语言上机程序设计题库及答案在计算机科学与技术领域中,C语言是一门非常重要的编程语言。 作为高级语言,C语言广泛应用于软件开发、系统编程以及嵌入式系 统等领域。针对C语言的上机程序设计,我整理了一份题库,并提供 了相应的答案,供学习和参考使用。 1. 题目1:求给定整数数组中的最大值 题目描述:给定一个整数数组,编写一个程序找到数组中的最大值,并将其输出。 代码示例: ```c #include int findMax(int arr[], int n) { int max = arr[0]; for (int i = 1; i < n; i++) { if (arr[i] > max) { max = arr[i]; } } return max;

} int main() { int arr[] = {1, 2, 3, 4, 5}; int n = sizeof(arr) / sizeof(arr[0]); int max = findMax(arr, n); printf("The maximum value is: %d\n", max); return 0; } ``` 2. 题目2:判断一个字符串是否为回文字符串 题目描述:给定一个字符串,判断它是否为回文字符串(正读和倒读都相同)。编写一个程序实现此功能。 代码示例: ```c #include #include int isPalindrome(char str[]) { int len = strlen(str); for (int i = 0; i < len / 2; i++) {

(完整版)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 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)

C语言程序设计习题集及参考答案

C语言程序设计习题集及参考答案 C语言程序设计习题集及参考答案 一、简介 C语言是一种广泛使用的程序设计语言,它具有高效、灵活和易于维护的特点。在学习C语言的过程中,通过练习题的方式可以帮助我们加深对语言的理解和应用。本文将提供一些C语言的练习题,并给出参考答案,以帮助读者巩固所学知识。 二、习题集 1、选择题 (1) C语言中的基本数据类型包括哪些? A. int, float, char B. int, float, double C. char, float, double D. int, float, boolean (2) 下列哪个标识符是合法的C语言变量名? A. 123 B. _abc C. ab-c D. a bc (3) 下面哪个运算符的优先级最高? A. + B. && C. ++ D. ! 2、填空题 (1) 在C语言中,整数的默认存储类型是____________。 (2) 写出 计算a和b的最大值的表达式:max = a ______ b; (3) 写出判断一

个数是否为偶数的表达式:num % ______ == 0。 3、编程题 (1) 编写一个程序,输出1到10之间的所有奇数和偶数。 (2) 编写一个程序,判断一个整数是否为素数。如果是素数,输出"Yes",否则输出"No"。 (3) 编写一个程序,输入一个字符串,然后将字符串中的所有字母转换为大写。 三、参考答案 1、选择题 (1) C语言中的基本数据类型包括int、float和char,因此答案为A。 (2) 在C语言中,合法的标识符不能以数字开头,不能包含特殊字符和空格,因此选项A和C是错误的。选项B中使用下划线作为变量名的一部分是合法的,因此是正确的选项。选项D中的a和bc之间没有分隔符,不符合标识符的命名规则,因此也是错误的。因此,答案为B。 (3) 在C语言中,运算符的优先级从高到低依次为:()、[]、.&、!、++、--、~、* &、+ -、% 、/ %、<< >>、< > <= >= 、== !=、& ^ |、&& ||以及所有的逻辑运算符。因此,选项C的++运算符优先级最高,答案为C。

相关文档
相关文档 最新文档